IRC logs for #openttd on OFTC at 2023-12-26
            
00:18:39 <truebrain> _glx_: with a simple Manifest you can also tell a DLL is in your local path ๐Ÿ™‚ Even easier ๐Ÿ˜„
00:19:18 <_glx_> oh and we have a manifest
00:19:25 <truebrain> well, I need it for another project
00:19:30 <truebrain> but CMake now supports manifests
00:19:31 <truebrain> so that is easy
00:19:36 <truebrain> well .. "now" .. since 3.4 ๐Ÿ˜›
00:20:09 <_glx_> I mean we have os/windows/openttd.manifest
00:20:28 <truebrain> let me see how I can word this differently ... that is irrelevant to me, as I am not building this manifest in OpenTTD
00:20:30 <truebrain> ๐Ÿ˜›
00:20:42 <truebrain> the DLLs are not made in the OpenTTD repo
00:20:48 <_glx_> oh right, of course
00:30:45 <truebrain> these small errors in those SDKs ...
00:30:56 <truebrain> on Steam it is called `steam_api.so`, instead of `libsteam_api.so`
00:31:09 <truebrain> on Discord it is called `discord_game_sdk.dll.lib` instead of `discord_game_sdk.lib`
00:31:10 <truebrain> grr
00:32:16 <truebrain> but, Steam and Discord work; at least for the simple announcing you are in the main menu
00:32:21 <truebrain> tomorrow we add some more functionality ๐Ÿ˜„
00:32:51 <truebrain> owh, and what is cool, I would be able to distribute these plugins via BaNaNaS, if we so wish ๐Ÿ™‚
00:52:04 *** fairyflossy has quit IRC (Quit: User went offline on Discord a while ago)
01:02:17 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain opened pull request #11628: Feature: Social Presence to integrate with Steam, Discord, GOG, etc https://github.com/OpenTTD/OpenTTD/pull/11628
01:02:20 <truebrain> yet-another-social-presence-PR ๐Ÿ˜›
01:02:22 <truebrain> we now have 3!
01:02:32 *** rau117 has joined #openttd
01:02:32 <rau117> Will there be an option to hide theese โ€œsocial featuresโ€?
01:02:32 <rau117> Let's say I don't mind others knowing that I'm currently playing openttd, but I absolutely don't want them to know on which server or for which company.
01:06:22 <emperorjake> If you actually read the PR, it seems like there are plugins that you will have to install to get the social functionality. So it's an opt-in feature, not opt-out
01:07:14 <truebrain> like all our features! ๐Ÿ˜›
01:09:13 <emperorjake> This will be a fun feature, I already enjoy spying on my friends in Cities Skylines 2
01:09:55 <truebrain> yeah, I really use it a lot to join friends in multiplayer games .. so much easier than figuring out which servers, "owh, you meant that one", and blabla
01:14:41 <truebrain> owh, funny, `dlclose` cannot be found .. wuth? Haha ๐Ÿ˜„ Why does it work locally ..
01:16:34 <truebrain> something for tomorrow; way too late already ๐Ÿ™‚
01:30:42 <DorpsGek> [OpenTTD/OpenTTD] github-advanced-security[bot] commented on pull request #11628: Feature: Social Presence to integrate with Steam, Discord, GOG, etc https://github.com/OpenTTD/OpenTTD/pull/11628#pullrequestreview-1795984291
03:42:14 *** debdog has joined #openttd
03:45:51 *** D-HUND has quit IRC (Ping timeout: 480 seconds)
04:35:11 *** keikoz has joined #openttd
05:54:39 *** Flygon has joined #openttd
06:18:56 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 merged pull request #11627: Codechange: replace NULL with nullptr https://github.com/OpenTTD/OpenTTD/pull/11627
07:30:39 *** tokai has joined #openttd
07:30:39 *** ChanServ sets mode: +v tokai
07:37:35 *** tokai|noir has quit IRC (Ping timeout: 480 seconds)
08:40:56 <georgevb> Hello.
08:40:56 <georgevb> Here https://newgrf-specs.tt-wiki.net/wiki/NML:Random_switch its is written that OpenTTD 14 supports 16 random bits
08:40:56 <georgevb> But here https://newgrf-specs.tt-wiki.net/wiki/NML:Vehicles random_bits is limited only with 8 bits.
08:40:56 <georgevb> How to use the rest 8 random bits in vehicles code?
08:53:59 <andythenorth> peter1138[d]: RGB Flat Railtypes with New Map Array?
08:57:51 <truebrain> wow, you made a PR for that? Cool!
09:10:03 <peter1138[d]> Yes
09:10:17 <truebrain> owh, I thought andythenorth did
09:15:57 <reldred> RGB's pr?
09:16:10 <reldred> <a:eyesshaking:833706919465058355>
09:26:23 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain updated pull request #11628: Feature: Social Presence to integrate with Steam, Discord, GOG, etc https://github.com/OpenTTD/OpenTTD/pull/11628
09:26:26 <truebrain> let's see if the CI likes this more ...
09:31:54 <peter1138[d]> A bit of the RGB CC patch is already a PR ๐Ÿ˜„
09:34:40 <andythenorth> Wonder what the silliest thing we could add in 2024 is?
09:35:05 <peter1138[d]> ^ RGB CC :p
09:35:09 <peter1138[d]> Flat docks.
09:35:12 <peter1138[d]> Paint brush.
09:35:47 <peter1138[d]> 32bpp-to-8bpp. (Why bother / Remove 8bpp / Pointless)
09:36:26 <reldred> Do it. Get rid of 8bpp. If anything just because I want to see everyone who doesn't even know what it means lose their marbles.
09:37:03 <peter1138[d]> Most basesets and most NewGRFs stop working \o/
09:38:10 <reldred> nah I more meant the 8bpp exclusive mode
09:38:44 <LordAro> once 14 is out the survey will tell us how many people actually use the 8bpp blitters :p
09:39:07 <peter1138[d]> Oh dear, my music library has an artist as both "Laetitia" and "Lรฆtitia" :/
09:41:19 <reldred> LordAro: Curious, will that also give you stats on how many people are using JGRPP?
09:42:26 <LordAro> if jgr adds it in, yes
09:42:47 <LordAro> well, i don't know about "number", because opt-in/out etc
09:43:55 <reldred> Yeah but still, would be good to get a read of the room at least. Maybe there's specific metrics that JGR could collect in addition to, so you can see what percentage of the userbase is using a specific JGR feature, etc.
09:44:33 <LordAro> yup
09:45:55 <andythenorth> I could just port all my grfs to 32bpp and continue drawing in a limited palette ๐Ÿ˜›
09:46:09 <reldred> andythenorth: thats what a bunch of people do anyway
09:46:15 <andythenorth> Wonder actually if itโ€™s time to do that
09:46:32 <reldred> All of my stuff for the last few years has been 32bpp except when palette cycles need to be in use.
09:46:52 <andythenorth> Yeah itโ€™s the palette cycles that inhibit me trying ๐Ÿ˜›
09:48:07 <peter1138[d]> Multi-frame sprites.
09:48:23 <peter1138[d]> Just make the game redraw the screen every frame.
09:48:38 <peter1138[d]> Would require "optimizations" to the rendering system.
09:49:13 <andythenorth> I suspect FIRS is already doing that ๐Ÿซค
09:49:46 <locosage> reldred: does it even support collecting custom metrics from patchpacks?
09:50:36 <locosage> as I understood it I'll have to set up my own collection server and send o copy of telemetry there if I want to do any custom metrics
09:52:17 <reldred> locosage: hell if I know, I'm suggesting it might be useful
09:53:17 <reldred> might be, might not be
09:53:35 <reldred> I know my immediate inclination would be to make a grafana wallboard of it lmao
09:57:52 <truebrain> reldred: first one needs a step to make things like traceable, which requires enough samples a day to do so. But other than that, yes, grafana dashboard ๐Ÿ˜›
09:58:29 <truebrain> the data is rather complex, so it is not a normal simple dashboard, sadly
09:59:11 <reldred> Yeah that's a chunk of my day job; trying to track and visualise complex data for a business with a few very different verticals
09:59:33 <reldred> Can't say I really know what I'm doing but I keep finding more money under the sofa cushions
09:59:53 <reldred> Though I have grown up some and started using other systems like metabase
10:00:35 <truebrain> reldred: main issue what JGRPP will have is getting enough samples to make it less traceable. But that is up to the players, ofc ๐Ÿ˜› And whether JGRPP will join the survey system or not, that is up to JGR ๐Ÿ™‚
10:01:00 <reldred> But I helped find a $14k/yr shortfall in billing which has bought me a lot of favors at work now which is nice
10:01:13 <truebrain> haha, nice ๐Ÿ™‚
10:01:17 <andythenorth> Nice
10:01:45 <reldred> truebrain: Yeah I can't speak for all of the jgrpp players but I'd only see it as an enabler not a disabler. Hell I wouldn't even care if my data was anonymised or not.
10:04:07 <truebrain> https://cdn.discordapp.com/attachments/1008473233844097104/1189146617513779230/image.png?ex=659d1a16&is=658aa516&hm=926dfdfda5e4cd68610f5fea04ae9401c92194f674894966c54ab4498d9b269c&
10:04:14 <reldred> ๐Ÿ˜ฎ
10:05:16 <truebrain> now for the wording ...
10:05:19 <truebrain> that will be tricky ๐Ÿ™‚
10:09:36 <xarick> I left 4 OpenTTDs running over the night. By looking at the dates, the one that advanced further is the fastest:
10:09:36 <xarick> 1st place for std::vector<const Vehicle *>, ending at 13-09-1987.
10:09:36 <xarick> 2nd place for std::unordered_set<const Vehicle *>, ending at 15-02-1984.
10:09:36 <xarick> 3rd place for std::unordered_set<VehicleID>, ending at 06-01-1984.
10:09:36 <xarick> 4th place for std::set<VehicleID>, ending at 20-08-1983.
10:11:00 <dwfreed> that is not exactly a good test
10:11:13 <dwfreed> for one, the latter three are within a margin of error
10:11:52 <peter1138> Are they all competing for the same processor time?
10:12:09 <dwfreed> and two, you have no guarantee they received equal CPU time, or that their rendering calls took the same time
10:13:12 <truebrain> and the O() values of std::vector, unordered_set and set are well documented
10:13:33 *** gelignite has joined #openttd
10:16:37 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain updated pull request #11628: Feature: Social Presence to integrate with Steam, Discord, GOG, etc https://github.com/OpenTTD/OpenTTD/pull/11628
10:17:34 <truebrain> right, let's see how the Steam integration is doing .. should work .. in theory ๐Ÿ˜›
10:18:00 <_jgr_> truebrain: The survey code is in my branch ready to go, it just needs the build-time keys
10:18:27 <truebrain> nice! I need to refresh my memory who needs to do what, but I will get back to you on that this week ๐Ÿ™‚
10:18:58 <truebrain> something about private/public keys, but memory fuzzy ๐Ÿ˜›
10:22:58 *** nielsm has joined #openttd
10:24:14 <truebrain> https://cdn.discordapp.com/attachments/1008473233844097104/1189151679304712252/image.png?ex=659d1ecd&is=658aa9cd&hm=ead34424194beb19cb5edb8583201419a495fd31a548ce5564f52a03f1fac2ac&
10:24:14 <truebrain> Also works on Steam \o/
10:25:19 <truebrain> that was for the easy parts .. now the in-game UI etc ๐Ÿ˜›
10:27:09 <truebrain> _jgr_: You are using the workflow as we defined it? So with the part where it uses OpenSSL to sign the survey-key?
10:27:09 <truebrain> https://github.com/OpenTTD/OpenTTD/blob/e0c670cbe8c229f35e206737bf93cce0ce40db06/.github/workflows/release-source.yml#L161
10:27:09 <truebrain> That part?
10:27:46 <truebrain> I can just, you know, look it up .. ugh, I am too lazy ๐Ÿ˜ฆ
10:27:51 <truebrain> ah, yes, you do
10:28:53 <truebrain> _jgr_: please follow https://github.com/OpenTTD/survey-web/blob/main/README.md#patch-pack-support, and let me know if anything is unclear
10:29:36 <LordAro> truebrain: very very nice
10:29:54 <truebrain> that I documented stuff, or Steam integration? ๐Ÿ˜›
10:30:08 <_jgr_> truebrain: Thanks, I'll take a look through things a bit later ๐Ÿ™‚
10:30:27 <truebrain> _jgr_: just important: keep the private key to yourself ๐Ÿ™‚ I do not want to see that ๐Ÿ˜›
10:31:19 <truebrain> it was designed to "just work", so I am very curious if it actually works ๐Ÿ˜„
10:31:50 <truebrain> reminds I should write the collector to combine days of surveys into less-traceable information .. curious if we have enough data a day by now to do so
10:34:38 <truebrain> meh; not that many nightly players ๐Ÿ™‚
10:38:55 <xarick> how will this stuff work with multiple openttd instances running
10:39:03 <xarick> what will it report
10:39:41 <xarick> the social plugin stuff
10:40:03 <reldred> that you've been a very naughty boy or girl
10:41:32 <DorpsGek> [OpenTTD/OpenTTD] nielsmh commented on pull request #11628: Feature: Social Presence to integrate with Steam, Discord, GOG, etc https://github.com/OpenTTD/OpenTTD/pull/11628#issuecomment-1869449015
10:42:11 <xarick> I use discord and I'm scared
10:43:54 <truebrain> jfs: ah, I mostly wrote it down as your PR seems to already have code for that. But that is unfinished, I gather?
10:44:44 <jfs> I think it was mostly skeleton code
10:44:51 <truebrain> yeah, okay, that is fair
10:44:59 <truebrain> right, for another PR it is! ๐Ÿ˜›
10:45:20 <jfs> well there's two situations, one where the game is already running and one where it isn't
10:45:21 <truebrain> that means my Callbacks remain empty, and compilers complain about that! ๐Ÿ˜›
10:45:31 <jfs> and also consider if the game is running, but it's the wrong version of the game
10:45:53 <truebrain> yeah, without being able to launch OpenTTD via an `openttd://` it will be kinda pointless very quickly
10:46:27 <truebrain> will need to read up in the SDKs what they provide for this, if any
10:46:45 <truebrain> I guess if we can make that it only works if you are both running the same game, it might be worth trying, but ... not the focus ๐Ÿ™‚
10:46:48 <truebrain> status reporting first!
10:47:23 <jfs> and another thing is the entire "convert a singleplayer game to multiplayer" idea
10:47:35 <truebrain> yeah ... for 15.0 ๐Ÿ˜›
10:47:38 <truebrain> I still like the idea
10:47:44 <truebrain> but ... that requires effort ๐Ÿ˜„
10:48:09 <truebrain> so many choices to be made here for Rich Presence .. do you put in the status the version of OpenTTD the user is running or not?
10:48:18 <truebrain> there isn't much room .. and it is not all that interesting from a player-perspective ..
10:48:24 <jfs> another thing in the same vein could be being able to start a new game from the scenario editor, "play this scenario now"
10:48:46 <truebrain> the game is almost 20 years old, and we still have fresh ideas ๐Ÿ˜„
10:48:58 <jfs> hmm, there is a "tooltip" string for the game icon, that might be suitable for the version number/name
10:49:17 <truebrain> on Discord, yes. On Steam, no.
10:49:33 <truebrain> but I guess it is the perfect piece of information to put in the callback struct
10:49:54 <truebrain> so every plugin can decide for their own ๐Ÿ™‚
10:50:48 <truebrain> I might skip some other things from my TODO list too, like on what server you are, and what company. Just because that can easily be done in follow-up PRs
10:50:59 <truebrain> adding this all to BaNaNaS also takes a bit of effort ๐Ÿ˜„
10:51:19 <truebrain> especially as there is a new restriction (OpenTTD Developers only)
10:52:19 <truebrain> maybe setting up a second instance of BaNaNaS is easiest ... hmm
10:52:29 <jfs> https://cdn.discordapp.com/attachments/1008473233844097104/1189158789514018927/image.png?ex=659d256c&is=658ab06c&hm=c032ffc234cc5e300d443eabbd926937ed0afba8b14aed4af625245cf96f7d95&
10:52:29 <jfs> using the "simulator" to build an idea
10:52:45 <truebrain> owh, time, I forgot about the start-time Discord has .. which is pretty nice btw
10:53:45 <truebrain> so easy to add ๐Ÿ˜„
10:54:24 <peter1138[d]> Oof
10:55:36 <truebrain> I also like how Steam can show with who you are playing, and with how many you are playing
10:55:41 <peter1138[d]> Sometimes the easiest way to fix past mistakes is to squash it all and then extract it again ๐Ÿ˜ฎ
10:55:50 <truebrain> peter1138[d]: yup!
10:56:19 <peter1138[d]> And maintaining the 10 year old commit history is not 1) useful 2) important 3) wanted, anyway...
10:56:23 <jfs> jfs: _jgr_ I don't think you have a distinct icon for your patchpack, but it might be convenient for this use case. do you have any ideas yourself for what an icon/logo variation could look like?
10:56:53 <truebrain> oof, patch-pack support .. did not think of that ..
10:57:05 <truebrain> the plugin needs to support that ๐Ÿ˜„
10:57:08 <jfs> exactly why the "version to launch" is so important
10:57:41 <truebrain> for Steam, Steam assumes you are launching OpenTTD via Steam
10:57:48 <truebrain> so there is not much room there for something like that
10:58:09 <jfs> yeah but then also only the version running via steam can actually integrate, right?
10:58:14 <truebrain> yes
10:58:19 <truebrain> so either they match, or they do not
10:58:46 <_jgr_> jfs: I'm not really an artist, I wouldn't try to come up with a different/modified icon
10:58:51 <peter1138[d]> But Steam can run different versions. If I set Steam to run a nightly, and someone else is on 14.0...?
10:59:03 <truebrain> you will not be able to join each others game ๐Ÿ™‚
10:59:08 <truebrain> so we need to find a nice way to tell the user that
10:59:11 <truebrain> but that is for another PR ๐Ÿ™‚
10:59:11 <peter1138[d]> Yeah ๐Ÿ™‚
10:59:15 <peter1138[d]> Fair.
11:00:12 <peter1138[d]> I got my mountain bike out at 9am to fix it and then go out on a ride at some point today.
11:00:38 <peter1138[d]> So far I got as far as taking the wheel out and getting the cassette off...
11:00:49 <xarick> what is the .clear() equivalent for std::array
11:01:11 <peter1138[d]> Closest is .fill()
11:01:27 <peter1138[d]> But you need to fill it with a value, so .fill(nullptr) if you have pointers.
11:02:02 <peter1138[d]> If you hadn't noticed, std::array are fixed size, so you might run into memory issues.
11:02:14 <jfs> yeah the thing is that std::array has its size and capacity defined at compile-time
11:03:06 <truebrain> jfs: check out truebrain_test_06206 ; tooltip for version works, and it is funny with custom builds ๐Ÿ˜„
11:03:23 <jfs> yay
11:03:39 <peter1138[d]> That is why Rubidium said it won't help you much.
11:04:28 <xarick> dang ๐Ÿ˜ฆ
11:04:47 <jfs> truebrain: maybe you can use "custom build" as a version string for display in those cases (but still have the actual specific version string internally available for launch links etc)
11:05:03 <truebrain> it is not like a common situation
11:05:07 <jfs> yea
11:05:09 <truebrain> so I don't think it is worth the effort, honestly
11:06:03 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain updated pull request #11628: Feature: Social Presence to integrate with Steam, Discord, GOG, etc https://github.com/OpenTTD/OpenTTD/pull/11628
11:06:20 <truebrain> right ... guess after lunch I look into MacOS support .. should be very similar to Linux, but I need to setup a VMWare for it again ๐Ÿ™‚
11:07:43 <xarick> I think the limit is 5000 vehicles in a group, I think groups are per vehicle type
11:08:01 <xarick> array sized 5000 for each group.... that's very bad for memory
11:08:47 <xarick> max of 64k groups
11:09:07 <xarick> 320ย 000ย 000
11:09:18 <xarick> okay, I better give up before I start
11:09:34 <peter1138[d]> Are you storing VehicleID or Vehicle *?
11:09:38 <jfs> std::array has the same performance characteristics for iteration as std::vector anyway
11:09:56 <xarick> was about to be storing const Vehicle *
11:10:17 <jfs> the difference in performance characteristics is how many memory allocations are involved and whether it can reallocate to different sizes
11:10:31 <peter1138[d]> 8 bytes per entry, so each list is 40000 bytes... and you either need to store the number of items, or iterate every single entry.
11:10:55 <peter1138[d]> Basically, the comment about std::array was a throw-away joke. But you didn't understand that. ๐Ÿ™‚
11:14:31 <peter1138[d]> Compile-time checking for saveload variables was a nice change.
11:14:55 <peter1138[d]> It tripped up some of the old RGB-CC changes ๐Ÿ™‚
11:22:21 <DorpsGek> [OpenTTD/OpenTTD] nielsmh commented on pull request #11628: Feature: Social Presence to integrate with Steam, Discord, GOG, etc https://github.com/OpenTTD/OpenTTD/pull/11628#issuecomment-1869471342
11:24:19 <truebrain> We store a lot more state now about network games, as the UI also shows it. That makes this PR a lot easier now ๐Ÿ™‚
11:52:29 <jfs> hmm, for the joining a game via social, two more ideas:
11:52:29 <jfs> - in perhaps the multiplayer status window/player list, have a toggle or similar for "allow friends to join this game"
11:52:29 <jfs> - similar, if one or more plugins indicate that they support inviting friends to join, offer a button to "invite a friend" where the player can then choose a platform and get a list of eligible friends from the social platform
11:59:20 <Rubidium> shouldn't the social plugin also pass/know which song the jukebox is playing, so they can send "now playing X" on IRC, like people did in the past? ;)
11:59:50 <merni> That works with Spotify and things
12:00:02 <merni> But I doubt anyone would want that for openttd midi music
12:01:06 <Rubidium> why not? Then you co-players can play the same songs so they're in the same mood
12:01:38 <merni> Lol
12:03:12 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1189176587875258458/image.png?ex=659d3600&is=658ac100&hm=f482403ac3586f39d2b263fb0e85a28f78821d064eb4f930365ab2408abd7de9&
12:03:12 <xarick> one last test, std::vector<VehicleID>
12:03:30 <xarick> I need to more scientifically do this
12:03:50 <peter1138[d]> merni: I have actually opened up the game just to play the music before now...
12:03:55 <peter1138[d]> (Same for Doom :))
12:04:44 <peter1138[d]> Hmm, this UI is messy. (Of course it is, it's mine.)
12:05:28 <peter1138[d]> Also it's slow because it draws an HSV gradient pixel by pixel.
12:06:18 <peter1138[d]> The original UI just had 3 sliders for R, G and B, but that sucked.
12:11:15 <xarick> Need do create a more continuous test that involves adding and removing vehicles to groups
12:11:47 <xarick> that will then force vector searching
12:12:54 <xarick> the current test still does that, at the start
12:13:18 <xarick> but once the vehicles are moved to their own group, the rest of the test is just creating lists
12:14:38 <xarick> this is where I expect std::set to beat std::vector, though I might be wrong
12:14:45 <xarick> or std::unordered_set
12:26:20 <talltyler> andythenorth: FIRS is much faster on JGRPP than vanilla, possibly due to this being fixed: https://github.com/OpenTTD/OpenTTD/issues/10192 (see linked JGRPP commits)
12:27:15 <talltyler> Actually _jgr_ regarding your offer to upstream stuff, that would be a good one. I tried but drawing code has diverged and I wasnโ€™t confident Iโ€™d get it right.
12:27:59 <jfs> xarick: the primary use case for std::set and std::unordered_set is when you need to query for membership a lot, "is this vehicle inside this group or not?", over and over again. it's not offering any advantages for simply iterating over members
12:28:44 <_jgr_> talltyler: FIRS performance issues aren't directly related to that issue
12:30:56 <jfs> in the contrary, std::set has worse memory characteristics (number and frequency of allocations) than std::vector will have, and std::unordered_set will probably also have worse iteration characteristics because it's effectively either sparse or bucketed
12:31:10 <talltyler> Huh
12:32:12 *** ahyangyi has joined #openttd
12:32:12 <ahyangyi> continuous arrays offer the fastest possible iteration speed, because our hardware is more or less optimized around this particularly common data structure
12:32:23 <talltyler> Do you know what you changed that improved it? Because your patchpack doesnโ€™t lag nearly as much as when I zoom in or out, unlike vanilla
12:32:46 <talltyler> And for me that only happens with FIRS-based industries
12:32:53 <_jgr_> There isn't a singular change which I can upstream, it's many small things
12:33:03 <talltyler> Fair enough ๐Ÿ™‚
12:35:19 <peter1138[d]> Yup
12:35:43 <peter1138[d]> And difficult to track all the changes to those changes since first introduction.
12:36:04 <peter1138[d]> "Just merge from JGRPP" is almost never that simple ๐Ÿ™‚
12:36:58 <reldred> Yup. Theres a lot of little things all over Iโ€™ve noticed.
12:38:12 <peter1138[d]> The varact2 optimizer looks interesting, and mostly self-contained, but also... potentially error prone, and it would be nice if the GRF compilers would do that themselves.
12:38:22 <peter1138[d]> (Maybe it can be ported to nmlc, somehow)
12:41:48 <jfs> well yes but adding it to nmlc only benefits new releases
12:41:53 *** gelignite has quit IRC (Quit: Stay safe!)
12:42:05 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain commented on pull request #11628: Feature: Social Presence to integrate with Steam, Discord, GOG, etc https://github.com/OpenTTD/OpenTTD/pull/11628#issuecomment-1869520980
12:43:26 <_jgr_> Varact2 optimisation works on the internal representation, so much of it is doing stuff that can't be represented in the serialised format
12:45:21 <andythenorth> FIRS is usually to blame for most things ๐Ÿ™‚
12:45:38 <andythenorth> And itโ€™s been forked a lot now
12:46:15 <peter1138[d]> Yes, but those forks are the fault of FIRS ๐Ÿ™‚
12:48:10 <peter1138[d]> I always wondered if TTDPatch used the byte-stream as is.
12:48:29 <peter1138[d]> Hmm, given the need to link to earlier actions, probably not.
12:58:53 <DorpsGek> [OpenTTD/OpenTTD] nielsmh commented on pull request #11628: Feature: Social Presence to integrate with Steam, Discord, GOG, etc https://github.com/OpenTTD/OpenTTD/pull/11628#issuecomment-1869530194
13:00:04 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain commented on pull request #11628: Feature: Social Presence to integrate with Steam, Discord, GOG, etc https://github.com/OpenTTD/OpenTTD/pull/11628#issuecomment-1869530875
13:00:23 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain updated pull request #11628: Feature: Social Presence to integrate with Steam, Discord, GOG, etc https://github.com/OpenTTD/OpenTTD/pull/11628
13:03:29 <locosage> _jgr_: can't it be added to the format?
13:04:12 <locosage> I'm thinking of adding some code optimizations to grf-py but there isn't really much code using it atm xD
13:04:46 <locosage> and one that does is mostly hand-optimized anyway
13:06:59 <jfs> truebrain: might also be worth adding to the plugin API that strings are nul-terminated UTF-8 unless otherwise specified
13:08:36 <truebrain> hmm, I am also going to versionize the entry point
13:08:41 <truebrain> it just makes things easier
13:09:02 <locosage> though sometimes I feel like things should be removed from the format rather than added
13:09:07 <jfs> yeah I think versioned entry point just makes things simpler
13:09:17 <locosage> all that shift/and/divmod nonsense
13:11:20 <_jgr_> The shift/and part is very useful
13:11:35 <locosage> it's useful like 5% of the time
13:11:37 <jfs> truebrain: the advantage of having versioned entry points is that it can potentially better support both uplevel and downlevel on both the plugin and game side
13:11:45 <locosage> and 95 it's just fffffff
13:12:06 <jfs> the game inits the versions it supports, and the plugin implements the level it can/wants to/knows about
13:12:06 <truebrain> jfs: honestly, for OpenTTD it is all the same. But it makes plugins easier to read
13:12:15 <truebrain> the way I currently did it works fine too
13:12:18 <truebrain> but creates a lot of boilerplate
13:13:10 <_jgr_> locosage: There are a lot of variables where multiple things are packed in, not having this would mean needing even more spills to temporary storage
13:13:40 <jfs> do consider if people have v2 plugins shipped with OTTD 14, and keep those same plugins around (author gone missing?) when OTTD 15 comes out and supports v4, but if v4 is built on top of v2 then OTTD has an easier time supporting the downlevel plugins
13:14:08 <truebrain> I strongly suggest we do not do any compatability in OpenTTD itself
13:14:33 <truebrain> if OpenTTD 15 ships with v4, the plugins need to support v4, otherwise they will not work
13:14:33 <jfs> and a v4 plugin can also be loaded in OTTD 14 but only inited to up to v2 level
13:14:48 <truebrain> and a plugin van support both v2 and v4
13:14:52 <truebrain> but OpenTTD does not deal with any of it
13:14:56 <truebrain> (in my opinion)
13:15:09 <locosage> _jgr_: yeah, I guess. but temporary spills kinda need to be solved too
13:17:27 *** Xaroth92 has quit IRC ()
13:19:14 <jfs> anyway I'll be off for the most of the rest of the day
13:19:17 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain updated pull request #11628: Feature: Social Presence to integrate with Steam, Discord, GOG, etc https://github.com/OpenTTD/OpenTTD/pull/11628
13:19:32 <locosage> actually, packing bunch of stuff into a single variable is quite a waste of cpu usually
13:20:04 <locosage> I don't think nml can optimize var access even if it needs several fields from one
13:20:16 <_jgr_> Having the and mask available on the read instruction makes it easy to not bother populating bits which aren't used
13:20:42 <locosage> that's an interesting idea
13:20:49 <locosage> iirc vanilla doesn't to that though?
13:21:18 <_jgr_> I do it in my branch for expensive variables
13:21:24 <locosage> still, it's kind of backwards way to go about it
13:21:53 <locosage> instead of just requesting var with data you need var has everything and game figures out what actually needed from the mask
13:22:49 <_jgr_> The current format only allows parameters for variables numbered 60 - 7F, so you'd soon run out if you did them separately
13:23:21 <locosage> yeah, that would need to be increased in that case
13:23:39 <locosage> but, like, add 1 byte for var number and remove 5 for shift and mask :p
13:24:52 <locosage> iirc some features already ran out of variables anyway :p
13:25:11 *** nielsm has quit IRC (Ping timeout: 480 seconds)
13:27:30 <xarick> funny
13:27:49 <xarick> afterload wastes most time on GetStringBoundingBox
13:28:24 <ahyangyi> Typography is hard
13:29:38 <ahyangyi> Calculating the bฬดอ†ฬฐoฬถฬ‰ฬผuฬตฬ€ฬฌnฬถฬ†อ”dฬธอ‹อ“iฬดฬ”ฬณnฬดอ„g-bฬฆoฬถฬ€ฬณxฬตฬ‡ฬผ is highly non-trivial
13:30:27 <xarick> Layouter layout(str, INT32_MAX, TC_FROMSTRING, start_fontsize);
13:30:33 <xarick> this one alone is 10%
13:32:09 <xarick> ah, I see, it's updating viewport virtual sign positions, probably station signs
13:32:28 <xarick> yeah, this savegame has 64k stations, ok makes sense
13:32:44 <ahyangyi> 64k stations ๐Ÿ˜ฎ
13:36:31 <Rubidium> and like a million signs?
13:39:30 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1189200822509256724/image.png?ex=659d4c92&is=658ad792&hm=f20b1cccdccfbd8b3df301ec3262f2e3d66a931d0e7f64ec16e89ecd014da596&
13:39:30 <xarick> this is master
13:39:46 <xarick> multiplication is hard
13:40:33 <_glx_> these stats are cached anywy
13:47:48 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1189202911423643739/image.png?ex=659d4e84&is=658ad984&hm=082b2f29b62fd8cc1030475cdca2c4394a4deb1bacaa9000c62c5762ddab8ecc&
13:47:48 <xarick> this is std::vector
13:48:00 <xarick> expected
13:48:13 <xarick> it completely overshadows the multiplication
13:48:46 <_glx_> but you are trying to optimise something called only once when loading ?
13:49:16 <xarick> wait, I'm not done yet, next is std::unordered_set
13:56:52 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1189205192290345091/image.png?ex=659d50a4&is=658adba4&hm=fbef0062dc0cb34ee6fe0fb1b2c1e6a6fc24bbd43f666ae19abd25a07459d33c&
13:57:00 <xarick> cheaper than std::vector
13:57:07 <xarick> oh well...
13:58:36 <xarick> wondering if it makes much of a difference with const Vehicle *
13:58:45 <xarick> requires manual editing, grr
14:09:06 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1189208270326464562/image.png?ex=659d5382&is=658ade82&hm=0310c37b768d225f19da2dec18155f2e91491ae9f2d3da88f9080b76970ce3a1&
14:09:47 <xarick> no difference, it seems
14:16:16 <xarick> think
14:16:53 <xarick> how often are AIs adding/removing vehicles to groups
14:17:21 <xarick> well, by just buying vehicles and so on, they inadvertedly are doing that
14:17:29 <xarick> so, very very often
14:17:42 <_glx_> but players do the same
14:18:45 <xarick> there's the default group, even for players who don't use groups
14:18:58 <xarick> that group always updates groupstatistics
14:18:58 <_glx_> yes, but it's a 1 time cost
14:19:53 <_glx_> at most it's once per tick as you can't buy more than one vehicle per tick
14:20:23 <xarick> introducing AsyncMode
14:20:35 <_glx_> only valid for GS
14:21:15 <_glx_> and GS are not supposed to buy stuff
14:21:41 <xarick> they can enter companymode and asyncmode
14:21:59 <xarick> oh so tempting
14:22:01 <_glx_> then we should disable async if in company mode
14:22:05 <_glx_> that's all
14:23:21 <xarick> I'm about to do a GS that enters company mode
14:23:36 <xarick> mass builds vehicles and then mass sells them
14:23:47 <_glx_> GS in company mode should have same limitation as Companies
14:23:48 <xarick> to trigger std::vector or std::unordered_map
14:23:56 <_glx_> so one command per tick
14:24:17 <xarick> yes, but this is going to be useful for determining what's faster
14:24:43 <xarick> a bit extreme, but... at least it will be clear
14:29:19 <xarick> I'm gonna need 15 companies, can't GSs start a company ? ๐Ÿ˜ฆ
14:29:33 <_glx_> no
14:30:47 <xarick> I know! there's that dummyai dude. he will be useful for this
14:34:31 <locosage> _glx_: would be nice to add more actions to deity mode before doing this ;p
15:00:17 <xarick> hmm got an interesting question
15:00:33 <xarick> when picking up a road type
15:00:56 <xarick> as a GS on a company, is that road type for that company? or is that not how it works?
15:01:16 <xarick> will it keep track which company used which road type?
15:02:37 <xarick> as I'm going to switch from company to company, I wonder
15:08:38 <_glx_> it's local to the script
15:09:13 <_glx_> like the current type is for the client in GUI
15:10:42 <xarick> hmm, seems that a road type that is available to a company, may not be available to another (introduction date of vehicles and so)
15:10:47 <xarick> okay, this is tricky
15:12:18 *** Flygon has quit IRC (Quit: A toaster's basically a soldering iron designed to toast bread)
15:29:44 <xarick> what's the name used for invalid engine for squirrel
15:32:19 <xarick> there isn't!
15:34:46 <xarick> static const EngineID INVALID_ENGINE = 0xFFFF; this exists for OpenTTD, but not for Squirrel
15:36:01 <_glx_> because it uses ScriptEngine::IsValidEngine()
15:36:21 <_glx_> which checks for availability for the company
15:36:44 <_glx_> and engine can be valid for company 1 and not for company 2
15:39:14 <xarick> the constant is missing
15:39:31 <xarick> I wanted to intialize a variable to an invalid engine
15:46:50 *** Wormnest has joined #openttd
15:48:51 <peter1138[d]> So extend var act2 variable to 16 bits and split out the complex cars that calculate multiple things.
15:49:18 <peter1138[d]> I think jgrpp uses 16 bits internally already
16:11:09 <xarick> starting a game paused ruins my GS
16:11:14 <xarick> it can't find companies
16:11:58 <xarick> it can't unpause it either?
16:12:57 <peter1138[d]> It shouldn't assume there are companies when it starts.
16:14:34 <xarick> https://docs.openttd.org/gs-api/classGSGame
16:14:59 <xarick> it's a single player game. I guess "server" is required
16:15:05 <andythenorth> GS is many lessons in defensive coding ๐Ÿ˜›
16:17:58 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1189240698650755193/image.png?ex=659d71b5&is=658afcb5&hm=ce2672c60b2911d98f07b565b9de845b222beda355c27badae71166b832325a7&
16:17:58 <xarick> uh.... nope, you did not!
16:18:43 <xarick> the assertion happens because I expect companies to exist
16:18:53 <_glx_> pause has many levels
16:18:57 <xarick> and the game wasn't unpaused
16:19:21 <_glx_> it was unpaused for GS, but if you manually paused it GS can't unpause
16:19:46 <_glx_> like you can't unpause by clicking the button if GS paused the game
16:20:16 <_glx_> there's also server join pause, and save pause
16:21:43 <xarick> it should tell me it failed to unpause
16:22:25 <xarick> Unpause() returns a bool,
16:22:40 <peter1138[d]> Can GS ask if game is paused by it or something else?
16:23:22 <xarick> it's a setting, start games paused or something
16:23:27 <xarick> let me see
16:23:47 <peter1138[d]> That's not what I'm asking
16:23:53 <xarick> ah, Automatically pause when starting a new game: on
16:24:16 <_glx_> Unpause automatically succeeds, unless some args were wrong
16:24:48 <_glx_> same for pause
16:25:02 <peter1138[d]> Hmm I need food
16:25:15 <peter1138[d]> Kinda skipped today :/
16:25:31 <jfs> Both GS and the player, and the network, and saving the game, need to agree on the game being unpaused for the game to actually be unpaused
16:25:31 <_glx_> and the command just (un)sets bits
16:25:52 <peter1138[d]> Is it lunch time
16:26:26 <jfs> Each of those four components, as far as I remember, all can cause the game to be paused, and the game only runs if none of them ask for pause
16:26:56 <_glx_> there's also GRF errors, which ask for confirmation
16:28:15 <jfs> Either way, the point is that the game can be paused for reasons outside the control of the GS and there is nothing the GS can do about it.
16:28:59 <_glx_> yeah and the return value of the command just says "I (un)set the asked bit"
16:29:02 <jfs> So you need to handle that situation in some way, such as sleeping until next tick if the game is paused and you have nothing better to do.
16:30:03 <_glx_> haha IsPaused() is just `return !!_pause_mode;`
16:38:19 <peter1138[d]> It's not entirely wrong ๐Ÿ™‚
16:45:04 <_glx_> it's totally fine, GameLoop itself does the same check IIRC
16:45:38 <_glx_> paused for any reason or not paused
16:47:56 <peter1138[d]> Yes.
16:48:18 <_glx_> the only thing running while paused is GS
16:48:24 <peter1138[d]> Okay, got the 8bpp and 32bpp colours "fairly" matched now. I had the origin colour use the wrong offset originally.
16:48:33 <peter1138[d]> It's not exact but close enough.
16:48:42 <peter1138[d]> (And the 8bpp originals still work anyway)
16:53:33 <peter1138[d]> Maybe I can use the 32bpp-to-8bpp code to attempt to make a 8bpp remap too.
16:53:59 <xarick> while (GSGame.IsPaused());
16:54:05 <xarick> excelent
16:55:04 <peter1138[d]> Also, how about list of colour names ๐Ÿ˜„
16:57:01 <peter1138[d]> https://cdn.discordapp.com/attachments/1008473233844097104/1189250528761348246/image.png?ex=659d7add&is=658b05dd&hm=8803e640d66464a3eedb789526d90a40d3c34e0920b822f7cd8d27535fcb7584&
16:57:02 <peter1138[d]> Perfect
17:01:17 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1189251601450414111/image.png?ex=659d7bdd&is=658b06dd&hm=b5902883a1749c07b24c33b20a5c7d55cc031f2391e28d32314279aa5f35e646&
17:01:17 <xarick> I got a weird error
17:30:25 <_glx_> yes you are not using it properly
17:31:06 <peter1138[d]> You're treating it as a command, not a scope.
17:31:27 <peter1138[d]> I'm not sure if the system should cope with this though.
17:31:49 <_glx_> remove the 2 `async =` and enclose that in {} with a new local async false
17:32:14 <_glx_> once created you can't modify the scoped objects
17:33:10 <_glx_> company mode is less strict in this area, but command modes are exclusively scoped
17:38:44 <xarick> trying this
17:38:46 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1189261035329298554/image.png?ex=659d84a6&is=658b0fa6&hm=106b9de6d3d80ab502ce0b3e669de5cb6ff5b65c0a1fe9933ba8180353906022&
17:40:10 <xarick> works
17:51:15 *** Artea has quit IRC (Quit: ZNC 1.6.2 - http://znc.in)
18:08:29 <xarick> completed | (1 << c); is this the symbol i want to use to keep a bit set. I am calling it constantly, I hope it doesn't keep toggling the bit 1 to 0 constantly.
18:10:54 <peter1138[d]> | is or, and won't toggle it.. ^ is xor, which would toggle it.
18:11:18 <xarick> ah, ^
18:11:21 <xarick> thx
18:11:44 <xarick> I'm gonna do a benchmark
18:11:56 <xarick> GetSystemTime to the rescue
18:19:41 <alfagamma7> peter1138[d]: My favourite colour: Benadryl!
18:35:38 <peter1138[d]> https://cdn.discordapp.com/attachments/1008473233844097104/1189275346214850702/image.png?ex=659d91fa&is=658b1cfa&hm=709a7a142d1273ee2d9ee0690087b7aafc6b0b7ca51183794ef31758fd19f9b2&
18:35:38 <peter1138[d]> These names :p
18:36:16 <peter1138[d]> Oh, the default "Cream" matches "Cafรฉ au lait"
18:41:25 *** virtualrandomnumber has joined #openttd
18:43:13 *** virtualrandomnumber has quit IRC ()
18:54:01 <peter1138[d]> Hmm, HTML colour names are a bit meh. Not enough range.
18:54:49 <Timberwolf> https://cdn.discordapp.com/attachments/1008473233844097104/1189250528761348246/image.png?ex=659d7add&is=658b05dd&hm=8803e640d66464a3eedb789526d90a40d3c34e0920b822f7cd8d27535fcb7584&
18:55:17 <Timberwolf> Ah, this would be the Windows terminal :)
18:55:20 <peter1138> Exactly :)
18:55:23 <peter1138> Hehe
18:56:56 <peter1138> Hmm, might change the colour selection window.
18:57:59 <peter1138> It's a mess. Company info window -> Colour scheme button -> Colour scheme window -> Drop down list -> Choose "custom" -> RGB Colour Scheme window -> pick a colour.
18:58:33 <locosage> no ctrl-click?
18:58:43 <peter1138> Not yet.
18:59:39 <peter1138> I wonder if it should be a window that lets you define custom colours, and those then get added to the list you can select from.
19:00:59 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1189281723670863963/Brown__Co._2050-02-11.png?ex=659d97ea&is=658b22ea&hm=c8952fd1e43c6376835e69bc3715d7a356f660dce025762f2b831204f37fe2e0&
19:00:59 <xarick> brb, dinner. I have 5 others still running
19:01:27 <peter1138[d]> Running them all at once so they compete for CPU time again?
19:02:38 <locosage> peter1138: that would be quite useful
19:03:15 <locosage> though if there is option to remember favorite colour it covers most of the uses
19:04:05 <locosage> what happens if two companies have the same rgb?
19:07:14 <DorpsGek> [OpenTTD/OpenTTD] JGRennison opened issue #11629: [Crash]: Assertion triggered when getting nearest town of rotated airport https://github.com/OpenTTD/OpenTTD/issues/11629
19:14:15 <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on issue #11629: [Crash]: Assertion triggered when getting nearest town of rotated airport https://github.com/OpenTTD/OpenTTD/issues/11629
19:15:03 <peter1138[d]> Currently only the original 16 colours are tested.
19:15:11 <peter1138[d]> So two companies can have the same RGB colour.
19:15:45 <peter1138[d]> But I could use the colour distance function to check for near colours.
19:17:21 <peter1138[d]> But given liveries let you overlap anyway, not sure I can be bothered ๐Ÿ™‚
19:21:01 <_zephyris> But infrastructure and signs are always the primary colour, right?
19:30:07 <peter1138[d]> Hmm, maybe figure out how to dither 32bpp colours to the 8bpp palette ๐Ÿ˜‰
19:34:15 <xarick> wow, I really failed with that function
19:34:31 <xarick> my creation is a failure
19:34:50 <xarick> AirportGetNearestTown
19:40:05 <peter1138[d]> Always blame the reviewers.
19:42:18 <peter1138[d]> Glad I put the asserts in though, otherwise we'd be none-the-wiser.
19:45:02 <xarick> I remember testing airport rotation
19:45:10 <xarick> but the airport was 6x6... ๐Ÿ™‚
19:45:17 <peter1138[d]> Yes
19:46:00 <peter1138[d]> Hmm, I need a widget to be FR_DARKENED.
19:53:00 <peter1138[d]> Hmm, this colour list has "difficulty" with mauve.
19:55:06 <peter1138[d]> And I guess I need a flag that says if RGB is present or not, currently it just assumes 0,0,0 is not present, but then you can't have pitch black :p
19:55:41 <truebrain> what was I going to do? Ah, yes, get MacOS to work again .. always "fun"
19:58:34 <peter1138[d]> Who even uses MacOS?
20:01:12 <truebrain> not me ๐Ÿ˜›
20:06:41 <peter1138[d]> Might as well remove it ๐Ÿ™‚
20:06:57 <truebrain> pretty sure that won't fly well
20:07:02 <peter1138[d]> How many custom presets is enough... 16?
20:07:15 <peter1138[d]> Oh... remove aircraft as well then!
20:11:00 *** D-HUND has joined #openttd
20:13:40 <peter1138[d]> https://cdn.discordapp.com/attachments/1008473233844097104/1189300015764623390/image.png?ex=659da8f3&is=658b33f3&hm=35d094bb2817d7ddb1b121dfa2f1f701d20e44bb22f9b167658f64184ee28e7d&
20:13:40 <peter1138[d]> Hurr
20:13:46 <peter1138[d]> 16 default colours + 16 presets
20:13:51 <peter1138[d]> And yes, it's ctrl-click to set ๐Ÿ™‚
20:13:58 <truebrain> what am I looking at? ๐Ÿ™‚
20:14:03 <peter1138[d]> (Which is actually a lot more usable than other presets)
20:14:15 <peter1138[d]> A stupid colour picker that nobody wants ๐Ÿ™‚
20:14:24 <truebrain> it looks pretty
20:14:26 *** debdog has quit IRC (Ping timeout: 480 seconds)
20:15:32 <peter1138[d]> That particular colour shows a hue shift that'll mess with authors who assume CCs are just different shades ๐Ÿ˜‰
20:15:45 *** D-HUND is now known as debdog
20:15:54 <truebrain> hmm ... I now have an AMD CPU ... MacOS might be a bit more interesting
20:16:05 <truebrain> I wonder if I shouldn't just rent a Mac In The Cloud
20:16:11 <peter1138[d]> Is it anti-AMD?
20:16:44 <truebrain> 1 dollar an hour
20:19:36 <peter1138[d]> Hmm. Save presets in ini file.
20:19:50 <peter1138[d]> I know an older version of this changeset did that.
20:25:33 <truebrain> right, let's first try to restore my old image from backup ... "just" 60GB .. and let's see if that works with a simple AMD patch
20:25:37 <truebrain> if not ... well, we will see ๐Ÿ˜›
20:27:41 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1189303543283335369/image.png?ex=659dac3c&is=658b373c&hm=626d5c8a178fb016cdc791a98c542f2397164e3affc727e1dca24940f9a4ce07&
20:27:41 <xarick> these results are very strange, in part they contradict my other tests
20:28:15 <truebrain> `Due to license constraints, the minimum lease for Apple silicon-as-a-Service is 24 hours. As a result, a Mac mini M1 can only be deleted after a minimum allocation period of 24 hours.` .. sure "license" .. lol. Also a way to make money ๐Ÿ˜„
20:30:30 <peter1138[d]> Where's andy's MBP when you need it...
20:30:40 <xarick> the list I used was
20:30:42 <xarick> ScriptVehicleList_DefaultGroup::ScriptVehicleList_DefaultGroup(ScriptVehicle::VehicleType vehicle_type)
20:31:31 <truebrain> AWS also has Mac instances .. that might be easier to use ..
20:32:25 <xarick> one thing is certain at least: `for (const Vehicle *v : Vehicle::Iterate()) {` in master was decisively slower than all the others
20:33:40 <truebrain> Mac2-M2 on AWS costs 0.9 dollar per hour; not terrible
20:33:42 <locosage> peter1138[d]: what is controlling that hue shift?
20:33:59 <truebrain> but well, let's hope I can run it locally ๐Ÿ™‚
20:34:48 <peter1138[d]> The brightness adjustment is done in RGB-space, and is simply adding an offset from the base colour then clamping to 0-255.
20:35:26 <truebrain> lol, apple.com is giving me 502 errors. nice.
20:35:38 <peter1138[d]> Although even the HSV chart seems to have a shift, but that's in HSV space.
20:37:05 <truebrain> an Apple Mac Mini M2 costs just over 700 euro .. that is far less than I expected
20:37:19 <peter1138[d]> Yes but the problem is you'd have a โ‚ฌ700 paperweight.
20:37:30 <truebrain> yeah, which you need once in a blue moon
20:37:49 <peter1138[d]> And you have the burden of becoming the MacOS maintainer...
20:38:07 <locosage> peter1138[d]: ah, yeah, that would do it...
20:38:10 <_glx_> xarick: you can't really compare results if you run all the tests in parallel, they will affect each other
20:38:15 <truebrain> 30GB of the 60GB downloaded from backup .. almost there ๐Ÿ˜›
20:38:31 <locosage> peter1138[d]: yeah it really does look like different hue for some reason
20:39:08 <peter1138[d]> I suspect that's a problem with HSV to RGB conversion not using the "correct" colourspace.
20:39:21 <peter1138[d]> But the other thing is ... I like the hue shift.
20:39:34 <_glx_> trying to fix the "something is silently including cassert" ?
20:41:52 <xarick> I see
20:41:58 <xarick> if only I could automate these tests
20:43:16 <xarick> start openttd, launch a newgame, unpause the game (with an unpause that actually works), wait for the GS to die (complete), take a screenshot, close openttd.
20:43:20 <peter1138[d]> If only!
20:43:42 <peter1138[d]> If only we already had AI regression tests that run automatically.
20:44:46 <peter1138[d]> Hmm, so, move HSV conversions to palette.cpp I guess, it's a better place than in the rgb window in company_gui.cpp ๐Ÿ™‚
20:45:43 <_glx_> if only a savegame could work for test reproducability ๐Ÿ˜‰
20:46:39 <locosage> peter1138[d]: I'd guess it's just due to HSV space not being perceptually uniform
20:47:55 <_zephyris> peter1138[d]: I like a hue shift, but it's not quite right artistically... Ideally you'd have warmer for light shades and colder for dark shades, which loosely matches the ttd palette.
20:48:00 <truebrain> if only you could TICC/TOCC code removing the need to run hours and hours of testing to get performance information
20:49:29 <peter1138[d]> I might try doing the brightness in HSV space, but that tends to mean moving towards white.
20:50:24 <_glx_> hmm a catch test could do the TICC/TOCC thing
20:50:43 <truebrain> _glx_: please don't ๐Ÿ˜› Feels wrong ๐Ÿ˜„
20:50:47 <truebrain> tests and performance are 2 different things ๐Ÿ˜„
20:50:56 <_zephyris> peter1138[d]: IMO a better solution, unless you deliberately set some warm/cool shifts
20:51:12 <_glx_> I mean for a local test, it's not worse than writing a GS
20:51:20 <locosage> cc colors mostly differ by value so it implies shifting to white
20:51:25 <truebrain> many many other things to do before using catch, tbfh ๐Ÿ˜›
20:51:48 <locosage> well, not value but HSL lightness to be more precise
20:52:06 <_zephyris> Hmm, deliberate hue shifts could be quite easy in HSL
20:52:13 <xarick> I'm going to use TICC TOCC
20:52:24 <peter1138[d]> Yeah but I'm not trying to recreate the original colours exactly.
20:52:44 <peter1138[d]> _zephyris: Yeah, a control for deliberate hue shifting did corss my mind.
20:52:56 <locosage> you still need to somewhat match them by value otherwise shading breaks
20:53:13 <_glx_> anyway I d'ont think GroupStatistics::CountVehicle really needs specific optimisation
20:53:26 <peter1138[d]> Well stop making assumptions about CCs.
20:53:37 <_glx_> is not called that often in normal conditions
20:54:20 <_zephyris> I'd hard code a hue shift - it's equivalent to trying to make lighting equivalent
20:54:27 <xarick> I'm about to encapsulate TICC/TOCC everywhere!
20:54:41 <xarick> just need a way to log it into a file somehow
20:54:43 <locosage> you can't not make assumptions about CCs, there is no use in having 8 totally random colors
20:58:03 <peter1138[d]> Okay, it's probably safe to assume that 0 is darker than 7.
20:59:33 <locosage> CCs should represent different shading of the same color, so 3d objects can be drawn
20:59:46 <locosage> maybe with some hue shifts for colored lights but nothing too crazy
21:06:19 <locosage> basically one cc = one color of paint irl
21:06:31 <locosage> in different levels of light
21:07:23 <peter1138[d]> https://cdn.discordapp.com/attachments/1008473233844097104/1189313535252107414/175f05a83e791a6beba603da70603a8a.png?ex=659db58b&is=658b408b&hm=89a34710874f66e9bf4328ae8390327a47246c849033a5952885280f36028e3b&
21:07:23 <peter1138[d]> Okay
21:08:05 <locosage> well, yeah, hue shifts can happen with fancy paints
21:08:15 <locosage> but lightness should stay
21:09:55 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1189314170676596736/image.png?ex=659db622&is=658b4122&hm=772dedd9b98c25d9fea0e26bb0586cdbdf4cdb5a01234c9d6293b9512cb66d26&
21:09:55 <xarick> how do I log this stuff into a text file?
21:10:22 <truebrain> right, so basically you need MacOS 12 or older for it to run on an AMD CPU
21:10:26 <truebrain> so yeah ... this won't happen ๐Ÿ˜›
21:13:09 <truebrain> so I guess tomorrow or so I will create an AWS instance and install the stuff there .. let's see how that works out ๐Ÿ™‚
21:17:30 <peter1138[d]> Hah, even with HSV it has a hue shift ๐Ÿ˜ฎ
21:18:22 <truebrain> `Billing for EC2 Mac instances is per second with a 24-hour minimum allocation period to comply with the Apple macOS Software License Agreement. `
21:18:25 <truebrain> omg, that is actually a thing
21:18:28 <truebrain> that ... yeah ....
21:20:37 <truebrain> so I guess I will not be doing the MacOS port ๐Ÿ˜›
21:22:04 <locosage> peter1138[d]: try lch xD
21:23:53 <_zephyris> Genuinely worth watching chunks of this, https://youtu.be/fv-wlo8yVhk?si=Jp83imN4oYAknNus, and try grabbing some code from this, https://acerola.gg/colors.html
21:26:19 <_zephyris> Or, for an artistic angle, this https://youtu.be/hkrK65FPmDI?si=T0NXPP6SBCVNGVpI
21:27:03 <_zephyris> Free choice of CC is nice, but hitting "correct" shading behaviour would be even nicer ๐Ÿ˜‰
21:31:22 <peter1138[d]> "Feature: Choose any company colour you like as long as dP and Zephyris approved it"
21:31:52 <andythenorth> Lol so child #1 ordered a gaming PC for christmas. We set it up today.
21:32:04 <andythenorth> It has no bluetooth
21:32:15 <andythenorth> No USB-C
21:32:18 <peter1138[d]> Desktop PCs generally don't have bluetooth.
21:32:21 <andythenorth> No wifi
21:33:22 <andythenorth> The case has 7 PCI slot apertures, but motherboard only has 1 PCI-E slot, which has the GPU in it
21:33:23 <truebrain> What did you buy that it has no USB?!
21:33:42 <truebrain> andythenorth: That is rather common
21:33:44 <andythenorth> It does have ps/2 though
21:33:54 <peter1138[d]> That...
21:33:59 <andythenorth> Itโ€™s quite lol
21:34:23 <peter1138[d]> Okay, doing the brightness adjustment in HSV land causes its own issues.
21:34:38 <andythenorth> What is the point of a non-expandable gaming PC ๐Ÿคฃ
21:34:50 <xarick> what is the command line you use for regression testing that closes openttd after a while?
21:34:55 <andythenorth> I trusted he had researched it ๐Ÿ˜›
21:34:55 <_zephyris> peter1138[d]: No... Full flexibility is great, you could have each of the 8 shades individually tweakable. just make sure default behaviour looks nice.
21:35:35 <truebrain> andythenorth: We need a Mac for Xmas.. can that be fixed?
21:35:43 <andythenorth> I should just give him my old i9 macbook
21:36:54 <andythenorth> Can he get a gaming PC in the cloud?
21:37:03 <truebrain> Yup
21:37:12 <truebrain> XBox and Nvidia offer that
21:37:18 <truebrain> Both excellent services
21:37:23 <xarick> ah! -vnull:ticks=30000
21:37:43 <xarick> I don't think I need that many ticks
21:38:01 <peter1138[d]> Argh, mouse is doing a thing where it only moves in straight lines... probably a hair on it :/
21:38:51 <xarick> @glx remember that convert.exe file you sent me?
21:39:01 <xarick> it still works!
21:39:48 <DorpsGek> [OpenTTD/OpenTTD] JGRennison opened pull request #11630: Fix: Memory leak in WindowDescTestsFixture https://github.com/OpenTTD/OpenTTD/pull/11630
21:42:25 <truebrain> Okay, I am out of ideas how I can develop for Mac .. we really need to find a developer which enjoys developing on MacOS ๐Ÿ˜›
21:43:34 <peter1138[d]> Hmm, maybe if I do the HSV adjustment properly...
21:43:49 <peter1138[d]> (I was doing it in HSV-space and then.. also doing in RGB-space. Oops.
21:43:58 <truebrain> Lol
21:44:53 <reldred> andythenorth: Your lad is a spud
21:45:06 <reldred> He gone goofed
21:45:23 <reldred> Fortunately, it's probably just a straight motherboard swap. Couple hundred pounds at worst.
21:45:41 <reldred> Probably put a micro atx board in a mid tower
21:45:56 <reldred> Pre-built PC's are cancerous.
21:46:06 <peter1138[d]> Unlikely, if it's got PS/2 ports, it's going to be something pretty old.
21:46:14 <reldred> Not always
21:46:34 <reldred> There's still plenty of boards especially targetted towards industrial/embedded applications that have PS/2
21:46:56 <truebrain> peter1138[d]: Haha, no. Real gamers want PS/2. It is really popular
21:47:02 <truebrain> Less "lag"
21:47:27 <truebrain> (PS/2 isn't a shared bus, where USB is)
21:47:31 <locosage> https://cdn.discordapp.com/attachments/1008473233844097104/1189323635706576947/tmpgsvghsa4.PNG?ex=659dbef3&is=658b49f3&hm=817975edbc9a93cda8d85598d7035623861f946ed34bb3e3907806c8ced0eb92&
21:47:31 <locosage> I tried making CC out of two colors, something went horribly wrong xD
21:48:21 <xarick> question, the -v null driver doesn't start a company?
21:51:10 <peter1138[d]> Okay, so HSV brightness adjustment is working okay now, but the constant I used for contrast is no longer correct for some shades.
21:51:31 <peter1138[d]> So probably need to calculate the brightness range of the default colours as well.
21:51:49 <andythenorth> reldred: PC was only ยฃ690, feeling a return might be in the future
21:52:20 <andythenorth> looking around, they all seem to have PS/2 onboard, and no USB-C
21:52:25 <andythenorth> this is quite lol
21:52:27 <truebrain> Make no mistake, what you described so far is actually a gaming pc
21:52:35 <peter1138[d]> Though I can no longer get the day-glo hue shift colours ๐Ÿ˜ฆ
21:52:37 <locosage> I have mean LCH lightness for all CC colors [27.07510258707097, 34.38502265503816, 42.02402843768756, 49.50112987272844, 57.173277387157796, 65.74123652910247, 74.82268281895817, 83.32566595929231]
21:52:47 <andythenorth> truebrain: I live in a very different world ๐Ÿ˜›
21:53:03 <truebrain> andythenorth: Yeah, I build my own for that very reason
21:53:10 <peter1138[d]> I don't want mean, I want for each CC.
21:53:14 <reldred> andythenorth: probably all the same shite mobo
21:53:29 <locosage> and HSV value: [63.125, 77.875, 95.5, 112.375, 131.5, 153.5, 179.0, 202.5]
21:53:51 <peter1138[d]> I definitely don't need to store that, it's in the palette ๐Ÿ™‚
21:54:13 <locosage> oh, yeah, I guess palette can be changed...
21:54:17 <peter1138[d]> (And also my HsvColour uses a 16 bit integer from 0..359 for that)
21:54:20 <andythenorth> reldred: it's an "INTEL H510 1200 WITH M.2", although it's built by foxconn, so do Intel still do reference designs and 3rd parties kind of sorta implement them?
21:54:42 <truebrain> At least it has an M2
21:54:54 <truebrain> Some PCI lanes will go there ๐Ÿ˜›
21:54:58 <locosage> 360 range for value? it's not hue :P
21:55:10 <locosage> i kinda undestand if it was 510
21:55:12 <peter1138[d]> Oh sorry, misread.
21:55:34 <andythenorth> it allegedly has a second PCI slot (the short one) but if it's there, it's covered by the double height GPU. Apologies for off-topic, but I'm in no other communities where I could ask these questions ๐Ÿ˜›
21:56:13 <truebrain> My mobo also doesn't have another full PCI slot, but still rather expensive ๐Ÿ˜›
21:56:34 <reldred> andythenorth: send a link to where you bought it
21:56:37 <truebrain> It is pretty normal there is only a single slot .. what else you need it for ๐Ÿ˜„
21:56:46 <andythenorth> I might be looking for the wrong solution...what's the USB Gen 3.2 header on the board do?
21:56:49 <reldred> sounds typical so-far for a cheap 'gaming' pre built
21:56:52 <peter1138[d]> Hmm, I guess as it's 16bit I could expand to 0..65535.
21:57:03 <reldred> andythenorth: plug front mount sockets into it
21:57:14 <truebrain> andythenorth: Normally supply 2 USB plugs
21:57:26 <andythenorth> seems to have 2 USB-A gen 3, 2 USB-A gen 1, and some audio ports
21:57:55 <andythenorth> can I replace that header with some real ports?
21:58:05 <peter1138[d]> Might make converting rgb->hsv->rgb more stable.
21:58:29 <truebrain> USB-A in the front is still very common
21:58:30 <reldred> dont need to replace anything, you just buy a port panel that'll fit your case and plug it into that header.
21:58:34 <andythenorth> he has a USB-C hub for his macbook pro, with HDMI, power, keyboard, mouse and USB-C backup drive, which he has found a USB-C -> USB-A adaptor for
21:58:45 <andythenorth> presumably that drops the speed to USB 2 or 1.1
21:59:00 <reldred> send us a link andy to the build, we'll figure out if its worth a return or not
21:59:05 <peter1138[d]> No, USB-A can do USB 3.
21:59:07 <truebrain> The blue ports are gen3, so fast
21:59:36 <truebrain> So an adapter to USB-C works fine
21:59:41 <peter1138[d]> Of course, some 'blue' ports are not USB 3 ๐Ÿ™‚
21:59:48 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1189326726782779392/image.png?ex=659dc1d4&is=658b4cd4&hm=3902f45045ca0b66cf38a74d8c26466661ba40c730bfcdb06fa66a2112079865&
21:59:48 <andythenorth> no shareable link, but
21:59:48 <reldred> but they usually are
21:59:59 <truebrain> My rather expensive mobo only has 2 USB-Cs .. in the back
22:00:06 <reldred> andythenorth: website?
22:00:23 <andythenorth> https://vibox.co.uk/
22:00:27 <truebrain> It is really uncommon for desktop PCs to have USB-C still ๐Ÿ˜›
22:00:31 <reldred> I'd return that ASAP, 10th gen intel, absolute trash.
22:00:32 <peter1138[d]> I have a USB 2.0 capture card that is blue. It does not have the pins for USB 3.0.
22:00:40 <andythenorth> this is all so weird
22:00:42 <DorpsGek> [OpenTTD/OpenTTD] LordAro approved pull request #11630: Fix: Memory leak in WindowDescTestsFixture https://github.com/OpenTTD/OpenTTD/pull/11630#pullrequestreview-1796609407
22:01:08 <truebrain> andythenorth: You are too used to laptops
22:01:37 <andythenorth> child #2 has steam deck, XBox and iPad; all USB-C. All their headphones and peripherals are USB-C
22:01:40 <reldred> And macs ๐Ÿ˜›
22:02:00 <andythenorth> All their phone chargers and torches and lamps and stuff are all USB-C
22:02:05 <truebrain> Most people on gaming PCs don't have need for USB-C ๐Ÿ˜›
22:02:16 <andythenorth> yes, I am just being shocked for 20 mins ๐Ÿ˜›
22:02:27 <reldred> andythenorth: Yeah, you bought a pile of shit though
22:02:32 <andythenorth> yup
22:02:36 <locosage> https://cdn.discordapp.com/attachments/1008473233844097104/1189327432956784710/tmptpq3z4k0.PNG?ex=659dc27c&is=658b4d7c&hm=2b5ff796d655927cb7fd80d03c14a48093fd3cf2a89915c26fd1e1dc5942c9f6&
22:02:36 <locosage> two-tone cc
22:02:40 <truebrain> Just buy a bunch of USB-A to USB-C cables and done
22:02:42 <reldred> Send it back, giz your price limit, and we'll do a parts list
22:02:56 <andythenorth> child #2 researched his and appears to have something sensible
22:03:34 <reldred> Get Child #2 to work something out then. There's a tonne of great bargains to be had if you're clever
22:03:46 <reldred> Best savings come from assembling it yourself.
22:03:56 <andythenorth> meh, fuck that ๐Ÿ™‚
22:04:03 <reldred> eh, it's not that hard
22:04:09 <andythenorth> I never built a PC in my life and intend to never do so
22:04:10 <reldred> Hour or two tops to throw a PC together
22:04:15 <truebrain> Dunno, sounds child #1 got what he wanted?
22:04:18 <andythenorth> he chose it ๐Ÿ™‚
22:04:26 <reldred> His problem then
22:04:30 <truebrain> So far all you say makes it a gaming PC
22:04:31 <reldred> ๐Ÿ˜›
22:04:36 <andythenorth> he's quite happy, we're just being mean to him
22:04:47 <reldred> truebrain: On tenth gen intel? lmao
22:04:53 <andythenorth> why have a 7 slot case for a PC that CANNOT BE EXPANDED ๐Ÿ˜›
22:04:55 <andythenorth> so lol
22:05:03 <andythenorth> he could have bought a last gen intel mac mini
22:05:17 <truebrain> reldred: My PC was 4 times more expensive .. so yeah ...
22:05:18 <jfs> peter1138[d]: I'm pretty sure all the original livery colors also are not perfect gradients of a single hue
22:05:34 <peter1138[d]> They aren't.
22:05:40 <reldred> yeah judging by their website they use the same piece of crap micro ATX motherboard on all their builds. Probably bulk buy an industriual board.
22:05:45 <andythenorth> child #2 bought this https://www.awd-it.co.uk/asus-prime-b760m-a-wifi-d4-intel-ddr4-micro-atx-motherboard-lga-1700.html
22:05:47 <truebrain> andythenorth: That looks silly, I agree. But also, very common
22:05:49 <andythenorth> and an RTX 3060
22:06:18 <peter1138[d]> Okay, I can't set HUE_MAX to 65536 because... scrollbar capacity, lols.
22:06:27 <reldred> andythenorth: Child #2 has some sort of idea what they're doing. Get them to deal with it.
22:06:49 <truebrain> Right, enough offtopic. peter1138[d] has important CC business to talk about ๐Ÿ˜›
22:06:49 <andythenorth> lol, he's meaner than me about it
22:06:52 <andythenorth> sorry
22:07:57 <peter1138[d]> It's probably "fine" as a first gaming PC. But it's not a high-end gaming PC.
22:08:17 <truebrain> That costs a tiny bit more ๐Ÿ˜›
22:09:14 <peter1138[d]> Ah yes, for the price that's a bit pants too.
22:09:15 <truebrain> Tried looking for second hand Mac Mini M1 .. Still expensive ๐Ÿ˜ฆ
22:09:22 <peter1138[d]> Mind you, everything is expensive now.
22:09:47 <truebrain> A good GPU is already 1000 euro .. crazy shit
22:10:05 <reldred> There's ways to put together a system on the cheap. The kicker comes down to video card. Big leap off as soon as you move from 1080p to a 2k/4k capable card.
22:10:06 <peter1138[d]> And then it's obsolete in a couple of years.
22:10:56 <reldred> peter1138[d]: that PC was 10th gen intel, it was already totally obsolete.
22:11:09 <reldred> We're up to 14th gen now, and I think we've jumped two sockets.
22:11:53 <reldred> I've stayed with AM4, I've capped out at the 5800x3d, but that CPU shreds absolutely anything I throw at it so it's moot for the moment. Got a 3070, but I'm still GPU constricted.
22:12:13 <reldred> Overkill for OpenTTD though ๐Ÿ˜Ž
22:13:05 <reldred> Compiles fast though
22:13:34 <andythenorth> it's only for fortnie
22:13:43 <truebrain> Lol
22:13:48 <reldred> andythenorth: Ground him for 12months and take the PC away
22:13:56 <jfs> And yes that pc build is rather much "it will be able to play some games" level
22:14:04 <reldred> fortnite ๐Ÿคฎ
22:14:06 <truebrain> Explains the PS/2 .. fast movements are important! ๐Ÿ˜›
22:14:10 <jfs> With the stress on "some"
22:14:30 <reldred> It should play OpenTTD fine though
22:14:36 <andythenorth> we're beyond the refund window because it was 'ordered in time for christmas' but eh
22:14:44 <andythenorth> wonder how it will perform against his M1 MBP
22:14:52 <andythenorth> although that's also running our infra, so eh
22:14:57 <reldred> andythenorth: Probably abysmally.
22:15:28 <truebrain> So much Xmas spirit in this conversation /s
22:16:08 <reldred> truebrain: It's xmas and I'm at work with no spirits ๐Ÿ˜›
22:16:18 <reldred> need some baileys and eggnog
22:17:11 <reldred> On the other hand I have my ttd game I started on christmas day to keep playing.
22:17:22 <reldred> It's 1944 and I haven't quit and started a new game yet!
22:21:51 <andythenorth> oof now trying to work out the USB ๐Ÿ˜›
22:21:52 <locosage> https://cdn.discordapp.com/attachments/1008473233844097104/1189332280859185182/tmpaqwodihz.PNG?ex=659dc700&is=658b5200&hm=9e04e4c7c63048d28131cc2a33cc98a792683735c01d15969a9105fae0dc9f77&
22:21:52 <locosage> anything but very close colors kinda look like crap
22:21:59 <locosage> https://cdn.discordapp.com/attachments/1008473233844097104/1189332308428328970/tmpny70v1d6.PNG?ex=659dc707&is=658b5207&hm=80e38757085b71e90dbd65a27b60317f0337b2624f3ec57f1eb8db8d78d77ccb&
22:22:06 <andythenorth> the built in ports on the board are blue, and labelled as USB SS
22:22:12 <andythenorth> which might be 3, or 3.1?
22:22:58 <reldred> 3.1 probably
22:23:20 <reldred> Though it really depends on the board
22:24:24 <locosage> or there is better way to pick cc colors than this <https://pastebin.com/dCrV3Em9>
22:24:40 <truebrain> andythenorth: SS is SuperSpeed, 3.0
22:24:58 <reldred> gotta go fast
22:24:59 <truebrain> If the USB logo on there, it actually is USB 3.0
22:26:07 <truebrain> (So at least 5GB/s)
22:26:33 <peter1138[d]> locosage: That... looks perfectly fine to me, given your CC range is pretty extreme.
22:26:43 <peter1138[d]> Step 1: Allow users to choose colours
22:27:12 <peter1138[d]> Step 2: If they choose colours that look like crap to you, who cares. Let them.
22:27:24 <reldred> True enough
22:27:55 <LordAro> have i missed shit-on-andy evening?
22:28:26 <reldred> LordAro: more specifically shit on andy child #1 who is bad at picking computers
22:28:31 <truebrain> andythenorth: Btw, USB is hilarious, as 3.0 is identical to 3.1 gen1 and 3.2 gen1 .. 3.1 gen2 is twice as fast. And called SS+
22:28:35 <reldred> and plays fortnite
22:29:26 <peter1138[d]> Now, maybe brightness adjustment needs to be done in HSL space rather than HSV.
22:29:39 <peter1138[d]> If I can cheat that with HSV then that's better.
22:30:29 <reldred> I should have done more grade seperation on this map, it looks so good.
22:30:39 <reldred> Maybe when it's time for highspeed rail or maglev
22:30:45 <reldred> tis only 1944
22:31:29 <xarick> how do I force fetch a branch? I made local changes to it and wanna discard them, and get the one I have online
22:31:44 <xarick> overwrite
22:32:01 <peter1138[d]> git fetch <remote> <branch>:<branch> -f
22:32:28 <locosage> peter1138[d]: well, in mp other people can be looking at that abomination :p
22:34:47 <xarick> what's the remote? I'm so noob
22:34:57 <peter1138[d]> git remote -v
22:35:04 <peter1138[d]> often it's "origin"
22:35:19 <xarick> ah, thanks
22:35:27 <peter1138[d]> But you probably have multiple remotes so it mayn't be.
22:36:31 <rau117> locosage: But really, if some people have ยซthe rightยป to create something like this, what about those who donโ€™t want to see such ugliness?
22:36:48 <rau117> peter1138[d]: โ†‘โ†‘ wrong reply
22:37:15 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1189336151572631652/image.png?ex=659dca9b&is=658b559b&hm=c6ccfc81f7568f0b1daaf44c87c8069869a54407110ac18625794c9379ef8036&
22:37:15 <xarick> nope!
22:37:36 <peter1138[d]> xarick: yes, switch to master first.
22:37:41 <peter1138[d]> (or some other branch)
22:38:06 <reldred> rau117: you've got the "right" to get over it
22:38:14 <peter1138[d]> There's probably some incantation of git reset that'll do it in place but I can't be bothered to look.
22:39:45 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1189336781057966180/image.png?ex=659dcb31&is=658b5631&hm=3277710747b868aec37cf737eda5317ab6084f9baaee4f15c3f1e40a6324d31c&
22:39:45 <xarick> nice, thanks a lot, that worked!
22:39:55 <peter1138[d]> https://cdn.discordapp.com/attachments/1008473233844097104/1189336822464135278/image.png?ex=659dcb3b&is=658b563b&hm=777cbc1b801d1adbb53ef9b4bfdb9ba90b504aeb3475faeff2d54b5fcf9e126d&
22:39:55 <peter1138[d]> Hsv -> Rgb -> Hsv -> Rgb causes some issues ๐Ÿ˜ฎ
22:40:16 <DorpsGek> [OpenTTD/OpenTTD] JGRennison opened pull request #11631: Fix #11629: AirportGetNearestTown for rotated airports https://github.com/OpenTTD/OpenTTD/pull/11631
22:40:44 <locosage> https://cdn.discordapp.com/attachments/1008473233844097104/1189337028874223666/tmpsxnkeryw.PNG?ex=659dcb6c&is=658b566c&hm=6da7cea495814bfc257cfff98e9b6df7aa0262ada5c31739180c1f5f007db129&
22:40:44 <locosage> https://cdn.discordapp.com/attachments/1008473233844097104/1189337029197168660/tmp90c0q3cw.PNG?ex=659dcb6c&is=658b566c&hm=17c3e87ce77b21504eb7ed38ee84453665ba6d9f617779683f4c29bc91665384&
22:40:44 <locosage> with lightness adjustment
22:40:50 <andythenorth> still can't get over the lolz of a PC case that is 1/3 pointless, but now learning about USB wifi ๐Ÿ˜›
22:40:53 <DorpsGek> [OpenTTD/OpenTTD] SamuXarick updated pull request #10548: Feature: Groups cache vehicle lists https://github.com/OpenTTD/OpenTTD/pull/10548
22:41:30 <locosage> <https://pastebin.com/kBUEa7fh>
22:41:38 <reldred> andythenorth: Yeah, folks putting micro ATX boards in full size ATX towers is a thing for some reason. I know the big PC builders like it because it's much quicker and easier to assemble.
22:42:04 <truebrain> andythenorth: More importantly... does it have RGB?
22:42:10 <peter1138[d]> JGRennisonviaGitHub: Nice
22:42:11 <andythenorth> it does habe
22:42:20 <truebrain> Nice!
22:42:24 <peter1138[d]> Of course it does, it's a gaming PC.
22:45:10 <xarick> aren't scripts able to place rotated airports?
22:45:12 <xarick> AIs
22:45:30 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1189338226519986277/IMG_7020.jpg?ex=659dcc8a&is=658b578a&hm=609a8d21c3a9bfc4db84e4957d83ecb36ea9dc36f6070ed93ead4d535a5e465b&
22:46:16 <andythenorth> RGB
22:46:16 <reldred> God what a poxy little board. Looks like a gigabyte?
22:46:31 <andythenorth> think it's this https://www.xcase.co.uk/products/asrock-h510m-hdv-m-2-se-intel-h510-1200-micro-atx-2-ddr4-vga-dvi-hdmi-m-2
22:46:41 <andythenorth> anyway I am so OT
22:46:50 <reldred> At least the power cords aren't hot glued in like some prebuilt makers do.
22:47:19 <truebrain> andythenorth: I see plenty of USB ๐Ÿ˜›
22:47:21 <xarick> If I'm not mistaken, AIs can place rotated airports.
22:47:40 <xarick> they get a list of airport types with each type repeated 4 times, one for reach rotation
22:47:45 <reldred> Onboard VGA :xd:
22:47:56 <reldred> Yeah that's a poxy little industrial board.
22:48:01 <truebrain> 3.2 gen1 USB .. read: 3.0 ๐Ÿ™‚
22:48:05 <reldred> They probably get them bulk
22:48:13 <andythenorth> https://www.ebay.co.uk/itm/315033297349
22:48:18 <andythenorth> same price
22:48:23 <reldred> Honestly surprised it doesn't have RS232
22:48:42 <andythenorth> no RGB on the mac mini though https://www.ebay.co.uk/itm/315033297349
22:48:53 <truebrain> Ieuw
22:48:57 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1189339094501818429/s-l500.png?ex=659dcd58&is=658b5858&hm=34afd6ba972b2225aaf5d404e80210e0dbbe05b4d43146ecc6a1406fc8af50df&
22:48:59 <truebrain> No RGB is bad
22:49:00 <andythenorth> just a lot of real ports
22:49:02 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 merged pull request #11630: Fix: Memory leak in WindowDescTestsFixture https://github.com/OpenTTD/OpenTTD/pull/11630
22:53:07 <DorpsGek> [OpenTTD/OpenTTD] SamuXarick commented on pull request #11631: Fix #11629: AirportGetNearestTown for rotated airports https://github.com/OpenTTD/OpenTTD/pull/11631#pullrequestreview-1796622167
22:55:18 <locosage> https://cdn.discordapp.com/attachments/1008473233844097104/1189340691508244572/tmpzptma4hd.PNG?ex=659dced5&is=658b59d5&hm=160278712c70ef052d9740bfd01a6ed7656862fac1af9831ab26b410c61122f4&
22:55:18 <locosage> https://cdn.discordapp.com/attachments/1008473233844097104/1189340691772473485/tmpow_ssh3k.PNG?ex=659dced5&is=658b59d5&hm=72e5ef64a8c470a3ef64cc7940845617a7f5be4a687f154a887f5d066d322530&
22:55:18 <locosage> mixing colors in lab works much better than in lch, hue doesn't go full rainbow
23:00:23 <DorpsGek> [OpenTTD/OpenTTD] JGRennison updated pull request #11631: Fix #11629: AirportGetNearestTown for rotated airports https://github.com/OpenTTD/OpenTTD/pull/11631
23:01:58 <DorpsGek> [OpenTTD/OpenTTD] JGRennison commented on pull request #11631: Fix #11629: AirportGetNearestTown for rotated airports https://github.com/OpenTTD/OpenTTD/pull/11631#pullrequestreview-1796624228
23:02:20 <locosage> https://cdn.discordapp.com/attachments/1008473233844097104/1189342463597498368/tmpto0aespl.PNG?ex=659dd07c&is=658b5b7c&hm=e0502134562a94f963b8985969486c084aeafa91cb662ac347b2d78f350afa40&
23:02:20 <locosage> https://cdn.discordapp.com/attachments/1008473233844097104/1189342463874318376/tmp237qye_9.PNG?ex=659dd07c&is=658b5b7c&hm=b87660bdbced7a908ae1f0fb41fb7f7392c53e455763b4de8075e7815d3383ea&
23:02:20 <locosage> even complimentary colors kind of work somehow
23:02:44 <reldred> locosage: huh that's not awful
23:03:00 <reldred> Produces some nice shadows
23:05:29 <locosage> yeah, CIELAB space works really well <https://pastebin.com/z9B7n0RH>
23:06:12 <reldred> Maybe some toggle buttons down the bottom to choose the colour picking method? I know some games do that with complementary, etc.
23:07:48 <locosage> I'm not sure complimentary is supposed to be used like this, whole idea of complimentary is contrast between two colors, not mixing them together
23:08:16 *** keikoz has quit IRC (Ping timeout: 480 seconds)
23:11:29 <locosage> hue angle slider will probably work, set to 0 get one color, set to 180 get complimentary, something around 15 for nice subtle shift
23:16:35 <peter1138[d]> So far... s/RGB-cc/HSV-cc/
23:35:03 <reldred> Ugh. Metabase update broke my firebird sql plugin (unmaintained since july and uses known deprecated methods :xd: ), tried a roll back, that failed, tried to roll back forward again, that also failed.
23:35:13 <reldred> Goodbye report that found the $14k/yr shortfall.
23:35:21 <peter1138[d]> ๐Ÿ˜ฎ
23:35:33 <reldred> Time to build some proper data pipelines so I don't have to talk to gorram firebird SQL directly.
23:36:11 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1189350981587193856/image.png?ex=659dd86b&is=658b636b&hm=7a9e961b4c9be8764234af35fbf1c757fb1381d9bd2b6be20a040fdeef36bffb&
23:36:11 <xarick> Now that I got a log of every ticc tocc, I wanted to make an average, how do I extract information from here? Powershell?
23:36:49 <reldred> god damnit I didn't want to do actual work, I wanted to play openttd at my desk
23:37:32 <peter1138[d]> xarick: in the TOCC() the number lets you average them out.
23:38:38 <xarick> I type in there 70000 instead of 1?
23:38:55 <peter1138[d]> Yes, if you know you have exactly 70000 calls through there.
23:39:15 <peter1138[d]> (If you have less than that, it won't print anything because it won't reach 70000)
23:39:17 <xarick> I'm not sure, line is 140175, seems it's double
23:40:49 <peter1138[d]> Well, you'll get two lines then ๐Ÿ™‚
23:40:55 <peter1138[d]> Anyway, play with that number ๐Ÿ™‚
23:41:20 <peter1138[d]> It'll give you a total and the average.
23:41:26 <xarick> ah, it starts at line 70161, ends at line 140175
23:42:20 <reldred> Ugh time to look at Pansynchro, start a nightly export of all the key DBโ€™s to a central DB I can use for reporting and cut out having to integrate directly with firefuck SQL
23:43:44 <peter1138[d]> Nice, I can now swipe across dark colours and not have it mess up the hue.
23:51:49 *** Wormnest has quit IRC (Ping timeout: 480 seconds)
23:55:14 <xarick> ok, 700 is a good number
23:55:21 *** Wormnest has joined #openttd
23:55:32 <xarick> results in 100 lines, that's more digestable