IRC logs for #openttd on OFTC at 2024-01-06
            
00:01:53 <xarick> Could you take a look and speed up this one: <https://github.com/SamuXarick/OpenTTD/pull/12/commits/88bbc40573111df7115d956acf1cc2005e300598> I reckon with some magic, it wouldn't need to check all vehicles to get the maxid
00:02:16 <xarick> it's one of the important ones
00:03:31 <xarick> for each primary vehicle created, this function is called
00:03:56 <xarick> and AIs just amass vehicles, so... that'd help
00:05:49 <xarick> from the testings: <https://cdn.discordapp.com/attachments/1008473233844097104/1192966351803912254/image.png?ex=65aaff7e&is=65988a7e&hm=35b0747e1c15f2b2a67c3fc8821d7bc5e27d4c271441efc341a84282d33d71c6&> It's the first one, creating 70000 road vehicles, from 29 seconds reduced to 3 seconds
00:06:28 <xarick> oh well I'm off to bed, cyas goodnight
00:09:30 <andythenorth> oof bedtime
00:17:46 <peter1138[d]> Is it?
00:21:33 <andythenorth> seems not
00:24:06 <_glx_> main issue with FreeUnitIDGenerator is the way it's used, for multiple successive ID generation (like when you buy another company) it's very efficient, because the "slow" constructor creates a cache for fast NextID() execution
00:24:46 <_glx_> but when you build a vehicle it's created, NextID() is called and it's destroyed
00:32:15 <peter1138[d]> https://cdn.discordapp.com/attachments/1008473233844097104/1192988971920281610/image.png?ex=65ab148f&is=65989f8f&hm=a4e48399e97d415d0142bc1a2e536356f4039a88683a0e6a960b284b41abbb38&
00:32:15 <peter1138[d]> Hmm
00:32:33 <_glx_> and it would not be practical to keep it alive because the memory usage, and no mechanism to update the cache
00:32:55 <peter1138[d]> Yup
00:33:51 <peter1138[d]> Well you could store the last used unitnum, and reset it zero when a vehicle is sold.
00:34:13 <peter1138[d]> But, how many vehicles can you buy in a tick 🙂
00:35:04 <peter1138[d]> (That was a joke, along the lines of how many station vehicle lists can you make in a tick...)
00:35:06 <_glx_> as an AI 1, as a GS impersonnating an AI a lot
00:35:46 <_glx_> and the test case uses a GS 🙂
00:36:15 <_glx_> I guess it will be simpler to now allow async in company mode 🙂
00:36:22 <_glx_> problem solved
00:36:43 <peter1138[d]> 🙂
00:38:50 <_glx_> ah yes scrollbar is an option
02:45:56 *** herms has quit IRC (Ping timeout: 480 seconds)
03:36:58 *** Wormnest has quit IRC (Quit: Leaving)
03:52:12 *** D-HUND has joined #openttd
03:55:45 *** debdog has quit IRC (Ping timeout: 480 seconds)
04:11:52 <alfagamma7> peter1138[d]: Looks beautiful to me
05:09:32 *** Flygon has joined #openttd
06:20:20 *** keikoz has joined #openttd
06:44:48 <wensimehrp> https://cdn.discordapp.com/attachments/1008473233844097104/1193082726320967790/image.png?ex=65ab6be0&is=6598f6e0&hm=ceb7a6a75a0df4316b5a75741d1bf1739fd946faa731e592c8decec599b4e9c8&
06:44:48 <wensimehrp> Found a problem with zh_tw. NTD in the currency menu has been displayed twice. Any translators here?
06:52:56 <merni> https://cdn.discordapp.com/attachments/1008473233844097104/1193084772910641214/image.png?ex=65ab6dc8&is=6598f8c8&hm=2fb6b993f30a9736e47aeba292dd821042d780b6ebd778c8a04ed7fa2dcbf9c7&
06:52:56 <merni> https://translator.openttd.org/translation/openttd-master/zh_TW
06:54:00 <merni> You can yourself get access to the translator, see https://www.openttd.org/development
07:04:44 <wensimehrp> My understandings are If I get access to one language, I am in charge of fixing all problems in the language. Joining a translator group to fix a single problem just does not make sense in my opinion. I'm also not familiar with Traditional Chinese, though SC and TC are basically the same language.
07:05:07 <merni> > My understandings are If I get access to one language, I am in charge of fixing all problems in the language.
07:05:07 <merni> Absolutely not!
07:05:35 <merni> Any translation fixes should be made ideally by using the web translator, even if it is just 1 string
07:05:56 <wensimehrp> *east asain brain works like that (actually false)*
07:11:13 <DorpsGek> [OpenTTD/team] WenSimEHRP opened issue #474: [zh_TW] Translator access request https://github.com/OpenTTD/team/issues/474
08:06:58 <DorpsGek> [OpenTTD/OpenTTD] kputnins updated pull request #11691: Add: Latvian Lats currency https://github.com/OpenTTD/OpenTTD/pull/11691
08:07:48 <DorpsGek> [OpenTTD/OpenTTD] kputnins updated pull request #11691: Add: Latvian Lats currency https://github.com/OpenTTD/OpenTTD/pull/11691
08:11:14 <DorpsGek> [OpenTTD/OpenTTD] kputnins commented on pull request #11691: Add: Latvian Lats currency https://github.com/OpenTTD/OpenTTD/pull/11691#issuecomment-1879590421
08:13:05 <DorpsGek> [OpenTTD/OpenTTD] kputnins updated pull request #11691: Add: Latvian Lats currency https://github.com/OpenTTD/OpenTTD/pull/11691
08:13:14 <peter1138[d]> Hmm
08:50:51 *** Wolf01 has joined #openttd
09:06:04 <DorpsGek> [OpenTTD/OpenTTD] Gadg8eer commented on pull request #11674: Patch for issue #11123 https://github.com/OpenTTD/OpenTTD/pull/11674#issuecomment-1879600235
09:23:25 *** keikoz has quit IRC (Ping timeout: 480 seconds)
09:42:45 <xarick> you gave me an idea
09:42:54 <xarick> test with async off
09:44:45 <andythenorth> nbb
10:16:16 <truebrain> oof, I forgot how incredibly limiting the OpenTTD website layout is for .. well .. anything? 😄
10:22:04 <truebrain> I also forgot how much debugging issues in Jekyll sucks balls
10:25:13 <xarick> woah so slow massing 70k vehicles
10:26:37 <xarick> the time it takes to resume a script, probably slows things a lot
10:26:46 <xarick> not sure
10:28:17 <xarick> strange, I'm suspicious something's goin on
10:28:28 <xarick> why is this so slow even with fast forward
10:30:22 <Rubidium> or might it be that the game has to go through all vehicles to see what it needs to do with them each tick?
10:31:19 <truebrain> https://cdn.discordapp.com/attachments/1008473233844097104/1193139730402000986/image.png?ex=65aba0f7&is=65992bf7&hm=bcc663097afdb38e91b61f5383d3926fb3b5f452901d5d764549b125c636c4e3&
10:31:19 <truebrain> visually not the best, but .. at least it works?
10:31:53 <xarick> doesn't seem to add up... 93 + 27 > 100
10:36:03 <xarick> the vehicles are stopped in the depot, there's not really much they're doing
10:36:53 <xarick> just by existing, they slow down the game this much?
10:42:13 <xarick> I have another dumb idea
10:42:22 <xarick> mass trains with the most amount of wagons possible
10:42:55 <xarick> what's the shortest engine length possible, is there any newgrf out there I could use to test?
10:43:31 <xarick> I wanna max out vehicleids
10:43:42 <xarick> see how slow the game gets
10:51:10 <truebrain> https://cdn.discordapp.com/attachments/1008473233844097104/1193144724991770654/image.png?ex=65aba59d&is=6599309d&hm=12031d3280887180a66c8e60921a3aec48d176921670e30c146d5ca13084243f&
10:51:10 <truebrain> at least hardware acceleration is rather common 🙂
10:53:17 <xarick> I'm one of those guys in the 19%
10:53:34 <xarick> opengl distorts the colours
10:54:16 <truebrain> ugh, I really should just redo the whole HTML layout, this is just .. ugh. Owh well, not now.
11:05:37 *** nielsm has joined #openttd
11:08:54 <andythenorth> truebrain: We could modernise 😛
11:09:04 <andythenorth> But not now
11:15:02 <xarick> max train length is 64?
11:15:08 <xarick> i thought it would be more
11:18:30 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1193151606636679188/image.png?ex=65abac06&is=65993706&hm=a2268940d515708286550747417ebd41472d1053698c946aed14f607298807a5&
11:18:30 <xarick> 64 max length, 0,5 lenght per carriage, 15 companies, 5000 trains
11:18:46 <xarick> not enough id's
11:20:03 <_jgr_> 64 tile trains are already too long to be practical to actually play with
11:20:30 <xarick> let me try with default
11:21:19 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1193152312538042368/image.png?ex=65abacaf&is=659937af&hm=74b5a4ad619e8311e695d9b948cf6199b3a16d97d215a914ebfa034268ad6ca7&
11:22:20 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1193152567337816094/image.png?ex=65abaceb&is=659937eb&hm=778e2f83ba0b882d3acbaa70d49e44c67bf74cfa64654de86c37bf49e5a241d0&
11:22:20 <xarick> slightly more than max ids
11:25:20 <xarick> i need to think
11:25:32 *** herms has joined #openttd
11:25:59 <xarick> so, road veh, 75000, aircraft 150000, ships 75000 and then trains... 1050000
11:28:47 <xarick> alright, max of 4 tile lengths if I wanna test max this thing
11:29:39 *** keikoz has joined #openttd
11:36:47 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1193156203942006794/image.png?ex=65abb04e&is=65993b4e&hm=fc1bc6ad75e079b83171036bc391d57db5de955509c29596b61030fdaee3ac50&
11:36:47 <xarick> that was a lot of time for async off and running in fast forward
11:37:10 <xarick> I suspect 250k ops might be the culprit
11:37:31 <xarick> but ... why?
11:42:33 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 opened pull request #11695: Codechange: replace static inline with static for non-class functions https://github.com/OpenTTD/OpenTTD/pull/11695
11:42:40 *** herms has quit IRC (Ping timeout: 480 seconds)
11:45:47 <xarick> looks like it isn't
11:46:03 <_glx_> It's just 1 command per tick with async off, and you see the main game loop in your timing
11:47:10 <_glx_> Each tick OpenTTD calls tick handler for every vehicle
11:47:37 <_glx_> Plus the tiles, industries, ...
11:48:26 <xarick> map size as 64x64, very tiny
11:48:38 <xarick> there wasn't much of anything
11:48:44 <_glx_> But you have many vehicles
11:49:57 <_glx_> 75000 vehicles loop each tick
12:03:58 *** virtualrandomnumber has joined #openttd
12:05:02 *** virtualrandomnumber has quit IRC ()
12:07:38 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain approved pull request #11695: Codechange: replace static inline with static for non-class functions https://github.com/OpenTTD/OpenTTD/pull/11695#pullrequestreview-1807407910
12:10:58 <DorpsGek> [OpenTTD/OpenTTD] github-advanced-security[bot] commented on pull request #11695: Codechange: replace static inline with static for non-class functions https://github.com/OpenTTD/OpenTTD/pull/11695#pullrequestreview-1807408659
12:14:57 <Rubidium> truebrain: half a million is arguably a big number ;)
12:15:14 <truebrain> sure sure 😛
12:15:43 <truebrain> it is, what, 0.0001%? 😄
12:19:03 <xarick> _glx_: I think I found a typo, <https://docs.openttd.org/gs-api/classGSVehicle#acaeec9c7b4440a8f71fc479cb30d4320> `SQInteger dest_vehicle_id`, shouldn't it be `VehicleID dest_vehicle_id`? or maybe it's `VehicleID source_vehicle_id` that should be `SQInteger source_vehicle_id`
12:20:21 <Rubidium> truebrain: three zeros less
12:20:42 <truebrain> hyperbolic! 😛
12:23:28 <truebrain> so according to ISO the first day of the week is a Monday
12:23:35 <truebrain> but according to cronjob day 0 is Sunday
12:23:42 <truebrain> why do they always make these things so complicated!!
12:24:21 <truebrain> I am going with ISO, as `date` is using that too 😛
12:28:15 <xarick> There is no IsFreeWagon function!
12:28:20 <xarick> in the api
12:29:08 <xarick> I hope this will do `GSVehicle.IsValidVehicle(wagon) && !GSVehicle.IsPrimaryVehicle(wagon)`
12:31:19 <xarick> nah
12:31:36 <xarick> IsValidVehicle actually checks for freewagons
12:31:40 <xarick> my bad
12:32:56 <DorpsGek> [OpenTTD/OpenTTD] glx22 commented on pull request #11691: Add: Latvian Lats currency https://github.com/OpenTTD/OpenTTD/pull/11691#pullrequestreview-1807427090
12:32:59 <xarick> need to check if it's a wagon, still
12:36:43 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 commented on pull request #10543: Feature: Region-based pathfinder for ships (buoys no longer required!) https://github.com/OpenTTD/OpenTTD/pull/10543#pullrequestreview-1807405329
12:37:32 <truebrain> ``` %w day of week (0..6); 0 is Sunday
12:37:32 <truebrain> %W week number of year, with Monday as first day of week (00..53)```
12:37:37 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 merged pull request #11695: Codechange: replace static inline with static for non-class functions https://github.com/OpenTTD/OpenTTD/pull/11695
12:37:39 <truebrain> that moment that %w is not the counterpart of %W 😦
12:38:49 <_glx_> xarick: Doesn't really matter (they are all integers), but `dest_vehicle_id` can be `-1`, and that's not a `VehicleID`
12:40:39 <Rubidium> truebrain: the fun will begin when you find out that the year that belongs to the (iso) week is not always the year that belongs to the date...
12:40:56 <truebrain> yeah, like 10 minutes ago I yelled: fuck ISO week
12:41:02 <truebrain> it will be `date` week
12:41:04 <truebrain> 1 .. 53
12:41:26 <truebrain> ISO weeks are very weird when 4 days of the week are in a new year .. so you have 2 partial weeks
12:41:32 <truebrain> I want weeks of exactly 7 days! Ffs 😛
12:43:05 <Rubidium> yeah, we should get of leap days and just introduce leap weeks. So once every few years is 53 weeks instead of 52 ;)
12:43:38 <truebrain> well, there can be week 53 🙂
12:43:57 <truebrain> ```$ date -d "2018-12-31" +%W
12:43:57 <truebrain> 53```
12:43:57 <Rubidium> so either 364 or 371 days in a year
12:44:40 <truebrain> ```day_in_week=$(date -d "${year}-01-01" +%w)
12:44:40 <truebrain> first_monday=$(date -d "${year}-01-01 -${day_in_week} days +1 day" +%Y-%m-%d)
12:44:40 <truebrain> start_date=$(date -d "${first_monday} +${week} weeks -1 week" +%Y-%m-%d)```
12:44:48 <truebrain> to get from year/week to a start-date of that week ..
12:44:49 <truebrain> pffff
12:45:01 <Rubidium> 2018-12-31 was actually week 1 of 2019 in the Netherlands ;)
12:45:33 <truebrain> Rubidium: funnier is that 2019-01-01 is week 0 according to `+%W`
12:48:18 <Rubidium> you're using `date`, right? %u (ISO day of week 1-7, 1=Mon), %V (ISO week) and %G (year of ISO week number)
12:48:34 <truebrain> yeah, but we already established that ISO sucks
12:48:38 <truebrain> that is why I am using `%W`
12:48:47 <truebrain> it is not by accident that I keep saying `%W` 😛
12:49:57 <Rubidium> well... good luck with whatever you're attempting to do
12:50:10 *** kuhnovic has joined #openttd
12:50:10 <kuhnovic> https://cdn.discordapp.com/attachments/1008473233844097104/1193174671156314234/image.png?ex=65abc181&is=65994c81&hm=9e13447a2a9ebba78ad7729e4a5348d1e32c806b9d206afc09ac572e456cb224&
12:50:10 <kuhnovic> https://cdn.discordapp.com/attachments/1008473233844097104/1193174671382814770/image.png?ex=65abc181&is=65994c81&hm=974515d8d6894d0cfae9396f551be1f33a739648846d75da3cf1bdf94f3d80e0&
12:50:10 <kuhnovic> Hey guys, I'm trying to create a super simple .grf file with a few additional color-replacing palettes. I want to use these for debug drawing. Currently my nml file looks like this:
12:50:10 <kuhnovic> ```grf {
12:50:10 <kuhnovic> grfid: "DBGD";
12:50:11 <truebrain> like I said: making weeks of exactly 7 days 🙂
12:50:12 <kuhnovic> name: string(STR_GRF_NAME);
12:50:12 <kuhnovic> desc: string(STR_GRF_DESCRIPTION);
12:50:14 <kuhnovic> version: 1;
12:50:14 <kuhnovic> min_compatible_version: 1;
12:50:16 <kuhnovic> }
12:50:16 <kuhnovic> replacenew(OTTD_RECOLOUR, "") {
12:50:18 <kuhnovic> // green
12:50:18 <kuhnovic> recolour_sprite {
12:50:20 <kuhnovic> 0x01..0xCE: 0xCE;
12:50:20 <kuhnovic> }
12:50:21 <kuhnovic> }
12:50:22 <kuhnovic> replacenew(OTTD_RECOLOUR, "") {
12:50:24 <kuhnovic> // purple
12:50:24 <kuhnovic> recolour_sprite {
12:50:25 <kuhnovic> //0x01..0xCE: 0xAA;
12:50:26 <kuhnovic> 0x00..0xFF: 0xAA;
12:50:28 <kuhnovic> }
12:50:28 <kuhnovic> }```
12:50:30 <kuhnovic> It compiles fine. I'm loading the grf file the same way CityMania does it: https://github.com/citymania-org/cmclient/blob/0684c35951518c4d6b32eb988276980148ecbce4/src/gfxinit.cpp#L185C5-L185C5 . I've changed the sprite table to include the two extra sprites. However, when I try to apply either one of the two new palettes I get light blue. Am I missing something? First time using nml for me.
12:50:36 <truebrain> kuhnovic: better channel for these questions is Discord channel #add-on-development 🙂
12:50:48 <kuhnovic> Oh rats, of course. My bad 🙂
12:51:07 <truebrain> no worries; maybe someone here knows too, but in that channel are more people active to help you out 🙂
12:55:46 <truebrain> okay, I was misreading the explanation of `date` on ISO week .. when there are 4 days in the new year, the 3 days of the old year also move to the new year
12:55:54 <truebrain> it suggested that there would be 2 partial weeks
12:57:11 <truebrain> the difficult part for both %W and %U is to get from week back to date .. so many annoying corner cases to cover
12:59:27 <Rubidium> why would you want to go back to a date?
12:59:41 <truebrain> are you now telling me I don't want what I want? 😄
12:59:49 <truebrain> I need to know the start-date of the week 😛
13:05:11 <merni> Just do months instead, much easier :p
13:08:28 <Rubidium> truebrain: https://godbolt.org/z/YWG7WWE9a <- not that hard ;)
13:08:47 <truebrain> go wash your mouth you you you
13:10:26 <truebrain> okay, had to write a script to validate if my script was correct
13:10:30 <truebrain> this stuff ...
13:10:41 <truebrain> why can GNU date output %V and %W, but not have it as input
13:10:48 <truebrain> making the world more difficult for me 😦
13:22:18 <truebrain> okay .. and now I have build everything, I found out we don't have enough data of any other week than the current to render a summary 😄
13:22:25 <truebrain> so I will have to wait till monday .... sad
13:25:52 <DorpsGek> [OpenTTD/survey-web] TrueBrain opened pull request #18: Feature: analyze Survey Results per week and report a summary of them https://github.com/OpenTTD/survey-web/pull/18
13:27:01 <DorpsGek> [OpenTTD/survey-web] TrueBrain updated pull request #18: Feature: analyze Survey Results per week and report a summary of them https://github.com/OpenTTD/survey-web/pull/18
13:27:50 <truebrain> https://6fa21078.openttd-survey-web.pages.dev/summaries/2024/wk01 <- I am open for suggestions, but this is what I currently came up with. I have a lot of ideas, just not that much time. So at least this outputs something rather than nothing 😄
13:29:36 <DorpsGek> [OpenTTD/survey-web] github-advanced-security[bot] commented on pull request #18: Feature: analyze Survey Results per week and report a summary of them https://github.com/OpenTTD/survey-web/pull/18#pullrequestreview-1807461370
13:30:16 <DorpsGek> [OpenTTD/survey-web] TrueBrain updated pull request #18: Feature: analyze Survey Results per week and report a summary of them https://github.com/OpenTTD/survey-web/pull/18
13:33:03 <peter1138[d]> Oof
13:33:23 <peter1138[d]> First road ride of 2024. First puncture...
13:35:37 <truebrain> 😦
13:36:05 <jfs> truebrain: would be really nice if the default value was highlighted some way
13:36:34 <truebrain> feel free 😄
13:37:08 <jfs> also would be nice if the Memory list was sorted numerically
13:38:08 <DorpsGek> [OpenTTD/survey-web] TrueBrain updated pull request #18: Feature: analyze Survey Results per week and report a summary of them https://github.com/OpenTTD/survey-web/pull/18
13:38:13 <jfs> https://cdn.discordapp.com/attachments/1008473233844097104/1193186765884887130/image.png?ex=65abccc5&is=659957c5&hm=3e7bfe59999f1e9db61a0c3f9dd1afbb1be5749fe0ef758df179a29ad14fc864&
13:38:13 <jfs> uh, what about the remaining 92% here
13:38:57 <truebrain> jfs: why? All lists are sorted by percentage.
13:39:05 <truebrain> jfs: OS-specific entries
13:39:27 <truebrain> this specific one will be gone by next update; but that update is in 2 days 🙂
13:40:22 <peter1138[d]> 486 🙂
13:43:36 <xarick> game.settings.vehicle.train_speed_adaptation what is this?
13:43:44 <jfs> styling-wise, perhaps an on-hover effect highlighting rows when you point at them could improve readability, especially for the items with lots of values
13:44:41 <xarick> oh, it's probably a jgr thing
13:44:50 <xarick> the most interesting stats aren't displayed 😦
13:47:31 <xarick> about the service interval
13:47:40 <DorpsGek> [OpenTTD/survey-web] TrueBrain updated pull request #18: Feature: analyze Survey Results per week and report a summary of them https://github.com/OpenTTD/survey-web/pull/18
13:47:53 <xarick> there are those percentage based and those days based
13:48:09 <xarick> should separate into 2 subsets
13:48:31 <truebrain> jfs: yeah, andythenorth suggested something similar: https://8bbf2b03.openttd-survey-web.pages.dev/summaries/2024/wk01
13:49:05 <_jgr_> This is looking pretty interesting 🙂
13:49:29 <_jgr_> I did see one value of 116.8%, which seems a bit dubious
13:50:02 <truebrain> haha; I do weird shit with the display-opt ... guess I did it wrong 😛
13:51:37 *** herms has joined #openttd
13:52:01 <xarick> max vehicles, 10000, jgr has a larger limit, lol
13:52:17 <xarick> and it's not that unpopular
13:53:17 <truebrain> _jgr_: haha, yes, I calculated that very wrong; let me fix 🙂
13:54:03 <jfs> the transparency settings would probably make the most sense to decode the bitfields and show popularity for each of the bits individually
13:54:22 <truebrain> basically for display_opt, I only see what settings are enabled; so I caculate the disabled part
13:54:25 <truebrain> but my math was wrong 😄
13:55:03 <jfs> and the screen resolution values are a terrible mess, I'm not sure if there is any good way to visualize those
13:55:06 <DorpsGek> [OpenTTD/survey-web] TrueBrain updated pull request #18: Feature: analyze Survey Results per week and report a summary of them https://github.com/OpenTTD/survey-web/pull/18
13:55:46 <truebrain> _jgr_: https://97ff69aa.openttd-survey-web.pages.dev/summaries/2024/wk01
13:55:46 <truebrain> Fixed 🙂
13:57:37 <DorpsGek> [OpenTTD/survey-web] TrueBrain updated pull request #18: Feature: analyze Survey Results per week and report a summary of them https://github.com/OpenTTD/survey-web/pull/18
13:57:58 <truebrain> jfs: requires knowledge of the in-game client. Currently this is analysed without any actual knowledge
13:58:05 <truebrain> meaning it is more future-proof
13:59:28 <DorpsGek> [OpenTTD/survey-web] TrueBrain opened pull request #19: Fix: publish preview pages as "pr-NNN" instead of "pull-NNN" https://github.com/OpenTTD/survey-web/pull/19
14:00:26 <truebrain> _jgr_: this is a start; ideally I would like to be able to drilldown, as in: if this setting is set, what are the other settings that are set. So you get a bit more feel for grouping. But the current HTML layout of OpenTTD doesn't really make that easy 😛
14:00:36 <DorpsGek> [OpenTTD/survey-web] TrueBrain merged pull request #19: Fix: publish preview pages as "pr-NNN" instead of "pull-NNN" https://github.com/OpenTTD/survey-web/pull/19
14:00:45 <DorpsGek> [OpenTTD/survey-web] TrueBrain updated pull request #18: Feature: analyze Survey Results per week and report a summary of them https://github.com/OpenTTD/survey-web/pull/18
14:01:53 <truebrain> https://pr-18.openttd-survey-web.pages.dev/summaries/2024/wk01
14:01:53 <truebrain> There, a link that auto-updates when I make new pushes. Easier 🙂
14:02:47 <_glx_> 3.4% crash, not too bad
14:02:47 <truebrain> jfs: funny enough, if you only take the "width" part, the list is a lot shorter 🙂
14:03:21 <truebrain> _glx_: I am very curious what this number will be for vanilla ....
14:03:47 <_glx_> I'm quite sure some of the crashes comes from vanilla
14:04:33 <truebrain> I like that 3/4rd use right-road-side, and 1/4th left-road-side 😄
14:04:40 <truebrain> it is a setting actually being used 😛
14:05:14 <truebrain> btw, there is also data for NewGRFs, AIs, and GSes etc, but they need another way of summarizing
14:05:23 <truebrain> so I left them out for now
14:05:27 <_glx_> forced blitter is quite rare too
14:07:26 <xarick> Due to low number of games played, no summary is available.
14:07:54 <jfs> I also thought of a thing, which I'm tbh not sure if it's being already done.
14:07:54 <jfs> but, for desync testing, have a way to automate running N ticks and save the game, then from the same starting point instead run N/2 ticks, save, quit, reload, run following N/2 ticks, save, and then compare the save that was run in a single session with the one that was run in two sessions
14:08:11 <jfs> and possibly with specific command actions performed at specific ticks during that sequence
14:08:21 <_glx_> anti griefing stuff with 100%, I assume it's default values
14:10:40 <truebrain> there are just ever so slightly more linux users than there are crashes 😛
14:10:55 <truebrain> the crashes percentages are a bit weird btw .. not 3.4% of the games crashed
14:11:03 <truebrain> it is all based on play-time
14:11:26 <truebrain> so a better way of wording: there is a 3.4% chance your game crashes
14:11:48 <truebrain> I might want to replace that one with actual counts, instead of seconds 🙂
14:12:37 <_glx_> jfs: could be doable from inside openttd, but also requires to disable savegame compression (easier to compare raw data)
14:13:05 <truebrain> hmm .. we could also add "desync" to the "reason" state I guess
14:13:10 <truebrain> currently that would just be a leave 🙂
14:14:00 <_jgr_> Most desync issues are caused by in game caches which never end up in the savegame
14:14:01 <DorpsGek> [OpenTTD/OpenTTD] kputnins updated pull request #11691: Add: Latvian Lats currency https://github.com/OpenTTD/OpenTTD/pull/11691
14:14:14 <_jgr_> Trying to reverse engineer that by diffing savegames is quite difficult
14:14:21 <Rubidium> jfs: if you run with -d desync=1 (or higher), OpenTTD will save the commands, with -d desync=2 (or higher) it will also agressively test caches and with -d desync=3 it'll also save every ~month. With some compile time parameter, you can rerun the game where it'll run the commands at the logged time
14:14:27 <DorpsGek> [OpenTTD/OpenTTD] kputnins updated pull request #11691: Add: Latvian Lats currency https://github.com/OpenTTD/OpenTTD/pull/11691
14:15:35 <Rubidium> jfs: so only the n/2 bit isn't exactly done, though you can run your 'server' with the commands and then join clients at later and later stages, or try it with later and later savegames
14:15:53 <DorpsGek> [OpenTTD/OpenTTD] kputnins commented on pull request #11691: Add: Latvian Lats currency https://github.com/OpenTTD/OpenTTD/pull/11691#pullrequestreview-1807470164
14:17:00 <_jgr_> In my branch, the client the client and server maintain some state hashes which are recorded at various points of the state update loop. In the event of a desync, the client and server exchange logs, hash histories, etc
14:17:35 <_jgr_> The server can then detect where the state likely started to diverge, and put that in the desync log
14:17:47 <DorpsGek> [OpenTTD/survey-web] TrueBrain updated pull request #18: Feature: analyze Survey Results per week and report a summary of them https://github.com/OpenTTD/survey-web/pull/18
14:19:17 <truebrain> the amount of different GPUs .... that is just insane 🙂
14:20:04 <truebrain> reminds me, you can also link specific stats: https://pr-18.openttd-survey-web.pages.dev/summaries/2024/wk01#jgrpp-0.56.2-info.configuration.video_info 🙂
14:20:40 <truebrain> 5.6% only have 2 cores .. did not expect that 🙂
14:25:04 <peter1138[d]> Urgh
14:25:24 <andythenorth> more windows players than I expected
14:25:37 <andythenorth> I often forget how dominant it is 😛
14:26:16 <truebrain> this is JGRPP, mind you; will be curious to see if vanilla is different 🙂
14:26:29 <DorpsGek> [OpenTTD/team] glx22 commented on issue #474: [zh_TW] Translator access request https://github.com/OpenTTD/team/issues/474
14:26:37 <andythenorth> my perception is distorted because I usually look at OS share in web traffic
14:26:45 <andythenorth> where Android and iOS usually dominate
14:27:04 <truebrain> those variants of OpenTTD do not report surveys 😉
14:27:10 <truebrain> so it might very well be!
14:27:34 <andythenorth> current global web stats traffic https://gs.statcounter.com/os-market-share
14:28:27 <andythenorth> although it varies quite a bit if we just take NA and Europe
14:31:28 <_zephyris> Interesting, 10% Korean font
14:31:35 <truebrain> talltyler: will be happy to see that ~28% of this sample with JGRPP use some form of daylength 😛
14:32:49 <_glx_> `Error: nodename nor servname provided, or not known (api.github.com:443)` always nice as reason for a CI run fail 🙂
14:33:04 <truebrain> stop breaking it!
14:33:20 <_glx_> it's in the setup job step
14:34:06 <_zephyris> Lots use 円 for Japanese yen
14:34:16 <talltyler> truebrain: I don’t think there’s much resistance to my time changes (it’s been quite visible for almost a year) but I am interested in the cargo scaling stats 🙂
14:34:23 <Rubidium> _zephyris: given 16.3% use the Korean language, it's not that weird. Or is there Korean support in OpenGFX(2)?
14:35:01 <_zephyris> Rubidium: More that it is an alphabetic language, so could plausibly be supported by a sprite font
14:35:38 <_glx_> all this round stuff in small font 🙂
14:37:12 <xarick> i'm bad at attaching wagons
14:37:20 <xarick> I always fail somewhere
14:37:49 <xarick> as an AI script
14:38:45 <_glx_> don't they auto attach if you do build engine, build wagons ?
14:39:32 <xarick> I am mass building this in a rotation, the engines first
14:39:32 <_zephyris> Love the top two resolutions, 1920,1080 absolutely dominates _still_. Good guidance for gui scaling though.
14:39:43 <truebrain> I was surprised by `fullscreen`
14:39:57 <_glx_> oh yeah good luck with manual managing then 🙂
14:40:40 <truebrain> I was making fun of fullscreen the other day, but 20% of this sampleset plays in fullscreen .. it is ... mind boggling to me
14:40:42 <xarick> it's because I know I'm gonna hit the vehicle limit at some point, I wanted to make sure all trains have wagons
14:40:55 <xarick> so I attach wagons in a rotation
14:41:57 <peter1138[d]> What's the interface scaling stats then?
14:42:20 <xarick> i'm curious what will the game do when it can't create effect vehicles for industries, etc...
14:43:10 <DorpsGek> [OpenTTD/survey-web] TrueBrain updated pull request #18: Feature: analyze Survey Results per week and report a summary of them https://github.com/OpenTTD/survey-web/pull/18
14:43:27 <truebrain> peter1138[d]: https://pr-18.openttd-survey-web.pages.dev/summaries/2024/wk01#jgrpp-0.56.2-game.settings.gui_scale ?
14:43:42 <peter1138[d]> Thanks
14:43:50 <_glx_> oh the doc says they actually never auto attach
14:43:53 <peter1138[d]> -1... :/
14:44:18 <truebrain> _zephyris: https://pr-18.openttd-survey-web.pages.dev/summaries/2024/wk01#jgrpp-0.56.2-game.settings.resolution.width
14:44:18 <truebrain> I split the resolution, so it is more clear what the most common width is 😛
14:44:28 <truebrain> height is just a mess 😄
14:44:49 <truebrain> (non-fullscreen maximized windows most likely; depends on your taskbar how your height is)
14:45:04 <peter1138[d]> Would it help to round it to some value?
14:45:20 <talltyler> https://pr-18.openttd-survey-web.pages.dev/summaries/2024/wk01#jgrpp-0.56.2-game.settings.large_font
14:45:20 <talltyler> Hmm, this exposes user information (file path, which may include full name of the user)
14:45:45 <DorpsGek> [OpenTTD/survey-web] github-advanced-security[bot] commented on pull request #18: Feature: analyze Survey Results per week and report a summary of them https://github.com/OpenTTD/survey-web/pull/18#pullrequestreview-1807482129
14:46:29 <peter1138[d]> Many heights are indeed 1080 - taskbar + titlebar.
14:47:20 <peter1138[d]> Yeah, just the name would be better.
14:47:23 <peter1138[d]> (For fonts)
14:47:57 <peter1138[d]> Comic Sans MS... that might have been me testing 😉
14:49:00 <DorpsGek> [OpenTTD/survey-web] TrueBrain updated pull request #18: Feature: analyze Survey Results per week and report a summary of them https://github.com/OpenTTD/survey-web/pull/18
14:49:32 <truebrain> talltyler: Yeah, I did went back and forth about this .. it is a tricky one
14:49:36 <truebrain> it is the value in the setting
14:49:52 <truebrain> https://pr-18.openttd-survey-web.pages.dev/summaries/2024/wk01#jgrpp-0.56.2-info.font.large shows the font name
14:49:59 <truebrain> so maybe I should just mask the settings here
14:50:03 <_glx_> oh looking at MoveWagon implementation, this function might be a pain to use
14:50:19 <talltyler> Could it detect if it’s a path and show “custom path” instead?
14:50:19 <_jgr_> Maybe chop it at the last path separator like the language file path?
14:50:28 <talltyler> Oh, that’s a better idea 🙂
14:50:34 <andythenorth> anyone ever done grf stuff?
14:50:43 <_glx_> the easy way is to MoveWagon(target, 0, source, 0) I think
14:50:44 * andythenorth wondering if I can refit a vehicle to 'no cargo'?
14:50:48 <andythenorth> without weirdness
14:51:05 <_glx_> move first free wagon behind the engine
14:51:12 <xarick> @glx A feature that could be useful for Script Debug is a Break button, that would break the script the moment it's clicked without waiting for a line match
14:51:16 <DorpsGek> [OpenTTD/survey-web] TrueBrain updated pull request #18: Feature: analyze Survey Results per week and report a summary of them https://github.com/OpenTTD/survey-web/pull/18
14:51:26 <talltyler> With weirdness, I think that’s how subtype liveries work. Without weirdness, that’s why we have variants instead 😛
14:51:42 <andythenorth> yeah, just checking I'm not using variants for something that should be a refit 😛
14:51:50 <andythenorth> but variants support autoreplace better
14:51:56 <DorpsGek> [OpenTTD/survey-web] TrueBrain updated pull request #18: Feature: analyze Survey Results per week and report a summary of them https://github.com/OpenTTD/survey-web/pull/18
14:52:07 <_glx_> xarick: and how would you know where it actually breaked ?
14:52:08 <peter1138[d]> Re-gearing?
14:52:19 <truebrain> talltyler: and it is gone. https://pr-18.openttd-survey-web.pages.dev/summaries/2024/wk01#jgrpp-0.56.2-info.font.large works like we expect it to 🙂
14:52:27 <xarick> sometimes I don't need to know
14:52:47 <_glx_> but yeah a "pause script" button is doable
14:52:50 <xarick> the GS is constantly running even when I pause the game
14:53:44 <_glx_> even a 2 state resume button
14:54:19 <DorpsGek> [OpenTTD/survey-web] TrueBrain updated pull request #18: Feature: analyze Survey Results per week and report a summary of them https://github.com/OpenTTD/survey-web/pull/18
14:54:56 <andythenorth> peter1138[d]: exactly, except it's HSTs with or without mail
14:55:28 <peter1138[d]> Did you know that engines with no cargo are actually engines with 0 passengers?
14:55:51 <peter1138[d]> I might have made this up 🙂
14:57:05 <truebrain> peter1138[d]: I thought about it, but round to what, was the issue
14:57:30 <truebrain> there are also non-maximized non-fullscreen entries in there
14:58:02 <_zephyris> Super interesting data, really fun to look at. Great feature!
14:58:06 <truebrain> maybe better would be to add an `info.` entry with screen-resolution
14:58:09 <truebrain> _zephyris: Tnx 🙂
14:59:10 <_glx_> desktop resolution vs game resolution
14:59:30 <truebrain> I guess for us this resolution is actually the most interesting; it shows how people play, at what size
15:00:35 <_zephyris> Language/font demand, currency symbols, resolution, GUI scale, max zoom. Massively informative for base set design.
15:00:36 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1193207495745867908/image.png?ex=65abe013&is=65996b13&hm=2e811e67192c8dd8cf9844f3ee210b3fd275275553d736b1451b450b27439ba9&
15:00:36 <andythenorth> not sure this is a good idea 😛
15:00:43 <andythenorth> also probably this is the wrong channel
15:00:47 <peter1138[d]> Well, try 40 pixels for a start. I think most common resolutions are multiples of that (except that weird 1366 one which isn't a multiple of 4 even)
15:01:20 <_glx_> desktop vs ingame if fullscreen (at least on windows) could mean people don't understand interface scaling 🙂
15:02:55 <_glx_> windows fullscreen mode is horrible anyway
15:04:32 <truebrain> peter1138[d]: hmm, maybe the scale between width/height is more interesting?
15:04:48 <truebrain> meh; don't know, need a bit more thinking 🙂
15:05:21 <DorpsGek> [OpenTTD/survey-web] TrueBrain updated pull request #18: Feature: analyze Survey Results per week and report a summary of them https://github.com/OpenTTD/survey-web/pull/18
15:06:36 <LordAro> some sort of bucketing for resolution would seem appropriate
15:06:48 <truebrain> welcome to 6 minutes ago 😛
15:06:53 <LordAro> i've just caught up :p
15:07:01 <LordAro> also reporting Linux by kernel version is a bit odd
15:07:13 <truebrain> it does both
15:07:35 <truebrain> it does tell us more than you think, so it is not that odd
15:07:41 <LordAro> both?
15:07:53 <truebrain> there is info.os.vendor which says Linux / Windows / MacOS
15:07:59 <LordAro> oh, yeah
15:08:02 <truebrain> and info.os.os which goes into more detail
15:08:09 <LordAro> i would expect Ubuntu/Debian/etc for Linux though
15:08:14 <truebrain> but knowing most people use kernel 5.15+, tells you a bit about the age of those systems
15:08:24 <truebrain> so it might generate an argument to upgrade the minimum libc 🙂
15:08:36 <truebrain> how is the flavour of Linux relevant to us? 🙂
15:09:11 <LordAro> kernel version isn't tied to anything
15:09:15 <truebrain> age?
15:09:26 <truebrain> sounds like the most important piece of information for us 🙂
15:09:45 <truebrain> I wouldn't know how we could use the flavour of Linux used for anything (except spying, ofc 😄 )
15:10:10 <peter1138[d]> How is "SpecialCargoID" used with squirrel?
15:10:27 <peter1138[d]> Do scripts get to use the enum names?
15:10:32 <_glx_> https://pr-18.openttd-survey-web.pages.dev/summaries/2024/wk01#jgrpp-0.56.2-game.settings.difficulty.line_reverse_mode <-- that means almost every body allow reversing at station
15:11:05 <truebrain> _glx_: with JGRPP and this sampleset, yes 🙂 (sorry to bring in that nuance every time; just making sure we are not getting ahead of ourselves )
15:11:24 <_glx_> yeah I know the sampling limits
15:11:31 <_glx_> but it feels weird
15:11:57 <_glx_> (it's also the default value)
15:12:01 <LordAro> i'd say linux distro would give us a better idea of the system, and the dependencies it might be using
15:12:47 <truebrain> LordAro: due to some missing backports, JGRPP currently doesn't report the dependencies used. But normally it would also report the version of the library used by OpenTTD
15:12:48 <LordAro> kernel could come from anywhere (specific distros often use multiple, and then there's backports and lts and all sorts
15:13:00 <truebrain> I rather not use the Linux flavour to deduce that 🙂
15:13:00 <LordAro> )
15:13:07 <LordAro> true
15:13:09 <_glx_> only steam users (or people downloading the generic-linux build) will be accounted
15:13:10 <_jgr_> truebrain: I've added those now, they'll be in the next release
15:13:54 <truebrain> _glx_: good point!
15:16:27 <xarick> it tests for IsValidCargo
15:17:00 <xarick> return (cargo_type < NUM_CARGO && ::CargoSpec::Get(cargo_type)->IsValid());
15:17:08 <LordAro> truebrain: will that be true for (future) distro-provided vanilla builds as well?
15:17:33 <truebrain> we load in a survey-key in our official builds, to know we created those binaries
15:17:45 <truebrain> without that key, we deal with survey results differently (and they do not show up in the above URL)
15:18:00 <truebrain> does that answer the question? (not really sure if I got the question right)
15:18:23 <LordAro> makes sense, though it's a shame to lose those stats
15:18:36 <truebrain> it is to protect us from people manipulating the results
15:18:37 <LordAro> well, not that we have any idea how many people actually use the distro-packaged versions...
15:18:40 <LordAro> indeed
15:18:53 <truebrain> and this survey stuff isn't meant as black/white anything
15:18:57 <truebrain> just to get a feel of what is going on
15:19:00 <andythenorth> estimating the size of unknown data sets is always hard 🙂
15:19:09 <truebrain> so even if we receive 1% of the total population, it still gives a lot of information
15:19:17 <xarick> nevermind, I see what you mean
15:19:38 <truebrain> I wonder how difficult it is to convert the Windows buildnumbers to actual Windows versions
15:19:43 <truebrain> I don't care it is 10.0.something
15:19:47 <andythenorth> if there is a cohort who have opted out of providing stats, and that causes them to be under-represented in design choices...
15:19:50 <truebrain> I want to know if it is Windows 10 or Windows 11 😛
15:19:58 <LordAro> truebrain: >22000
15:20:01 <andythenorth> ...decisions are made by those who turn up 🙂
15:20:16 <truebrain> LordAro: yeah, now do the same for all the other ones
15:20:28 <truebrain> such a mess 😛
15:21:02 <LordAro> https://www.gaijin.at/en/infos/windows-version-numbers :p
15:21:18 <truebrain> yes, like I said, what a mess 😄
15:21:28 <LordAro> also what, Server 2008 SP2 in 2019?
15:21:29 <LordAro> lol.
15:24:47 <xarick> peter1138[d]: <https://docs.openttd.org/gs-api/classGSOrder#a81ac111f5cafe39004064509430a8478>
15:25:37 <xarick> the documentation could be improved a bit there
15:26:42 <xarick> i never used autorefit, maybe one day I'll try
15:26:58 <truebrain> lol, so you can't see if something is Windows XP or Windows XP SP3 based on the buildnumber
15:27:03 <truebrain> on what green earth does that make snse
15:27:09 <truebrain> you can see SP1 and SP2 however
15:28:38 <truebrain> and 5.2-3790 is either Windows Server 2003 or Windows XP x64
15:29:59 <_jgr_> I can't imagine that many users will be running on expensive server versions of Windows
15:30:22 <truebrain> yeah .. but still, why add all this information to be this unclear
15:30:22 <LordAro> sounds like a challenge
15:30:34 <LordAro> MS is run by the marketing team
15:31:19 <LordAro> see also "Windows 10 is the last Windows version" etc
15:36:18 <truebrain> andythenorth: it is now called MacOS 13, right?
15:36:20 <truebrain> no longer 13.4?
15:36:24 <truebrain> (where it was 10.15)
15:36:33 <alfagamma7> I only use Windows on a VM for a feature of Adobe Acrobat that is not yet working on Linux
15:36:36 <alfagamma7> Afaik
15:36:39 <andythenorth> I'd have to look, I stopped paying attention 🙂
15:36:47 <truebrain> wikipedia agrees with me 😛
15:38:35 <DorpsGek> [OpenTTD/survey-web] TrueBrain updated pull request #18: Feature: analyze Survey Results per week and report a summary of them https://github.com/OpenTTD/survey-web/pull/18
15:39:01 <truebrain> not sure I agree with my addition, as it is kinds against my rule that the survey-code might updating over time .. but Windows lookup table is now hardcoded 😛
15:39:01 <merni> would it be possible to somehow get the name of the setting from english.txt and display it along with the internal name?
15:39:22 <truebrain> https://pr-18.openttd-survey-web.pages.dev/summaries/2024/wk01#jgrpp-0.56.2-info.os.os.version <- there
15:40:07 <truebrain> LordAro: and yes, I just called it Linux; I now no longer dare to add anything kernel related to it 😄
15:40:34 <LordAro> pfft
15:40:41 <merni> Lol the map height limit has some weirdvalues, I wonder how many of those are from particular servers
15:41:21 <LordAro> apparently someone has 64GB memory
15:41:24 <LordAro> er
15:41:27 <LordAro> 63*
15:41:35 <truebrain> there even is a 128GB in the set
15:41:36 <LordAro> so strange i couldn't even type it
15:41:41 <truebrain> but vanilla had too few results to publish
15:41:53 <alfagamma7> 64gigs of ram
15:41:59 <Rubidium> 1 GB taken by the in-chip GPU?
15:42:00 <alfagamma7> That's expensive
15:42:10 <truebrain> LordAro: the 62 / 63 etc are from some OSes, that remove the reserved memory from the amount it tells you about
15:42:13 <truebrain> which is funny 🙂
15:42:55 <LordAro> i see
15:42:59 <truebrain> I guess we could just make all those values go to the closest power-of-two
15:43:14 <truebrain> as 15GB or 16GB .. it really doesn't matter (at all)
15:43:47 <andythenorth> can I have 64 GB of memory? 😛
15:43:54 <_zephyris> NewGRFs, AIs, baseset etc. are reported but not summarised yet, right?
15:44:30 <_zephyris> truebrain: Nearest in log space to would be better 🙂
15:45:08 <truebrain> CoPilot suggests this to round up to the nearest power of two: `2 ** (memory - 1).bit_length()`
15:45:14 <truebrain> it is not wrong, but it is also not a solution I would ever write
15:45:56 <merni> 95% play with disasers off and 80% with inflation off :)
15:46:30 <truebrain> _zephyris: correct
15:47:35 <merni> Some people are playing with starting year of 725 😆
15:48:04 <truebrain> owh, no, I am not going to toy with how memory is collected
15:48:07 <truebrain> 40 .. 48 ..
15:48:13 <truebrain> that 48 is very likely a correct value 🙂
15:48:18 <merni> For https://pr-18.openttd-survey-web.pages.dev/summaries/2024/wk01#jgrpp-0.56.2-game.settings.game_creation.town_name, what do the random numbers mean? Are they newgrf town name sets?
15:48:33 <truebrain> I have no clue
15:50:33 <_zephyris> truebrain: Awesome. The data will get even more exciting!
15:50:48 <truebrain> I guess I could just add the basesets, as there is always exactly one
15:51:09 <_jgr_> merni: Yes, values >= `BUILTIN_TOWNNAME_GENERATOR_COUNT`, which is 21, mean GRF town names
15:52:00 <truebrain> the reason I haven't yet _zephyris , as basesets (as with NewGRFs) are also an indication of popularity. So I want to make sure I put that in the right light
15:52:24 <truebrain> (in some sense, settings are also an indication of popularity, but it has a different feeling to it, if you get what I mean)
15:52:45 <merni> somewhat pleasing that `rail_firstred_twoway_eol` is almost exactly 50-50
15:53:21 <LordAro> "pleasing"
15:53:26 <LordAro> :p
15:54:03 <LordAro> truebrain: _jgr_: perhaps the survey could pull the actual name for those cases?
15:54:20 <truebrain> the source code is ... ---> that way
15:54:33 <_zephyris> truebrain: Yeah, I see what you mean.
15:54:36 <LordAro> truebrain: :o
15:54:57 <truebrain> yeah, such question are very ... "you should build it, I just bring the ideas" vibes to it 😛
15:55:08 <truebrain> but so many things are possible .. now someone needs to actually do it 😄
15:55:29 <LordAro> such laziness
15:55:30 <LordAro> :p
15:55:35 <truebrain> I know right!
15:56:10 <truebrain> _zephyris: but, that said, I can tell you that OpenGFX2 is rather popular in this set of users. Over 10% uses it (already)
15:56:11 <merni> https://pr-18.openttd-survey-web.pages.dev/summaries/2024/wk01#jgrpp-0.56.2-game.settings.suffix there are two entries for "credits"... I assume one had a space before? (though that is not displayed on the page)
15:56:33 <truebrain> ah, yes, I removed the `""` , as they were annoying me
15:56:40 <truebrain> but now you can't see prefix spaces and suffix spaces 😄
15:57:10 <truebrain> even the HTML strips it 😄
15:57:10 <truebrain> nice
15:59:17 <truebrain> https://cdn.discordapp.com/attachments/1008473233844097104/1193222264766865570/image.png?ex=65abedd4&is=659978d4&hm=0d545b971cba4989d79ed837868a9516657d887b8c6d961858b4badad90b0dcd&
15:59:18 <truebrain> does that help?
15:59:55 <merni> better at least
16:00:07 <merni> the same issue seems to be for the prefix
16:00:19 <truebrain> yeah, I just applied this to everything
16:00:26 <truebrain> not sure it is an actual improvement in all cases, but *shrug*
16:00:38 <merni> or rather https://pr-18.openttd-survey-web.pages.dev/summaries/2024/wk01#jgrpp-0.56.2-game.settings.separator
16:00:42 <merni> separator not prefix
16:00:50 <DorpsGek> [OpenTTD/survey-web] TrueBrain updated pull request #18: Feature: analyze Survey Results per week and report a summary of them https://github.com/OpenTTD/survey-web/pull/18
16:00:54 <merni> I am strongly surprised how many Korean users there are
16:01:08 <truebrain> player JGRPP in the last week
16:01:14 <truebrain> I fixed your sentence 🙂
16:01:26 <truebrain> merni: reload!
16:01:29 <merni> truebrain: yeah :)
16:01:34 <_jgr_> This is probably because TELK runs a set of Korean servers and tends to update very promptly
16:01:45 <merni> Ah, multiplayer would do it
16:02:42 <_zephyris> truebrain: Sweet.
16:03:06 <_zephyris> Oh wow, newgrf parameters are reported. That's _super_ useful for development focus.
16:03:21 <truebrain> I assumed as much 🙂
16:03:43 <truebrain> just not sure yet how to report it 😛
16:05:07 <DorpsGek> [OpenTTD/survey-web] TrueBrain updated pull request #18: Feature: analyze Survey Results per week and report a summary of them https://github.com/OpenTTD/survey-web/pull/18
16:05:55 <truebrain> did that PR to add parameters to basesets get merged?
16:06:01 <truebrain> as that is not in the survey results 😛
16:07:20 <truebrain> adding NewGRFs to this page makes the page VERY lengthy
16:07:30 <truebrain> maybe I should make that a subpage ..
16:09:08 <_zephyris> truebrain: Yup, it was merged. I was thinking of making a very niche bug report!
16:09:19 <truebrain> go for it!
16:13:14 <DorpsGek> [OpenTTD/survey-web] TrueBrain updated pull request #18: Feature: analyze Survey Results per week and report a summary of them https://github.com/OpenTTD/survey-web/pull/18
16:15:05 <peter1138[d]> Dear StrongType, stop being compatible with things I don't want 😮
16:16:17 <peter1138[d]> Ah, maybe I need to get rid of Integer and Compare.
16:16:51 <peter1138[d]> No, then I can't compare it with itself.
16:16:56 <peter1138[d]> That seems wrong.
16:17:16 <peter1138[d]> Ah
16:17:18 <peter1138[d]> * Mix-in which makes the new Typedef comparable with itself and its base type.
16:17:26 <peter1138[d]> I want it only comparable with itself.
16:17:39 <truebrain> So create that mixin 🙂
16:18:40 <peter1138[d]> Am doing 🙂
16:19:45 <truebrain> Want some help? For (int i... 😛
16:27:02 <peter1138[d]> Hmm, still lets me compare with a base type 😦
16:27:47 <peter1138[d]> Probably `constexpr Typedef(const TBaseType &value) : value(value) {}` thwarting me.
16:27:53 <peter1138[d]> Maybe that should have an explicit.
16:28:40 <peter1138[d]> Let's see what that angers 😄
16:29:34 <peter1138[d]> Hmm, can I do a mixin for that.
16:31:05 <peter1138[d]> Oh, the docs mention StrongType::Explicit, but that doesn't exist
16:32:55 <truebrain> Not anymore know .. it once existed ...
16:32:56 <_glx_> xarick: doc is in src/script/api/script*.hpp and you know how to make a PR 🙂
16:33:25 <peter1138[d]> Being implicitly converted is... convenient but can destroy the purpose of a strong type 😄
16:33:48 <truebrain> I agree; that is why I once made Explicit/Implicit
16:33:52 <_glx_> I though .base() was added for that
16:33:54 <truebrain> 😄
16:34:03 <truebrain> So now do it again! 🙂
16:34:03 <peter1138[d]> base() is for converting the other way.
16:34:19 <truebrain> I like how we get more and more strongly typedef 🙂
16:35:17 <peter1138[d]> My previous incarnation of this patch use two strongtypes, so they were incompatible. However, it populated the code with LOTS of base() which told me that was not the right thing to do.
16:35:31 <peter1138[d]> Hmm, let's check the revision history 🙂
16:38:05 <_jgr_> You could add a mixin for the operations between those two types?
16:38:20 <peter1138[d]> I think the Implicit/Explicit mixins are for going the other way.
16:38:27 <peter1138[d]> They were removed because it was made always explicit.
16:38:36 <peter1138[d]> But the implicit constructor has always been there.
16:39:20 <peter1138[d]> _jgr_: The issue wasn't between the two types, it's because one of the types is used as an array index all over the place.
16:39:35 <peter1138[d]> Every one of those needs .base()
16:40:05 <peter1138[d]> So my plan is to have just one StrongType that does not support conversion, so it must be manually converted "the correct way"
16:42:14 <peter1138[d]> I don't think a mixin can add a constructor.
16:42:39 <peter1138[d]> So perhaps a separate template argument that adds implicit or explicit constructor.
16:42:58 <_glx_> explicit constructor should help
16:43:11 *** Wormnest has joined #openttd
17:06:45 <peter1138[d]> Hmm, I can't figure this out, some form of std::enable_if should allow conditional explicit/implicit.
17:08:49 <_glx_> might need to have 2 declarations with opposite conditions
17:13:40 <truebrain> The joy of std enable_if .. nightmares! 😛
17:14:45 <peter1138[d]> `warning: explicit(bool) is a C++20 extension [-Wc++20-extensions]`
17:14:46 <peter1138[d]> Hah
17:15:06 <truebrain> Finally a reason to upgrade to C++20? 😄
17:16:34 <peter1138[d]> Trying this anyway... seeing if it does what I want.
17:17:00 <truebrain> Pam pam pammmm
17:17:13 <peter1138[d]> Yes it does. 😄
17:17:22 <peter1138[d]> Upgrading to C++20 is a pain.
17:17:27 <peter1138[d]> I've looked at it briefly.
17:18:29 <peter1138[d]> There's an incompatibility with char and uchar8_t
17:18:42 <peter1138[d]> <https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2513r4.html>
17:19:04 <_glx_> char8_t, silly world
17:20:05 <truebrain> Yeah, I had a similar experience when I tried...
17:21:23 <_glx_> but char itself is weird too
17:37:34 <peter1138[d]> Sure. But it was compatible in C++17, not not C++20 is a... change.
17:38:43 <truebrain> A big mistake, is a better word 😛
17:40:51 <peter1138[d]> Hmm, table/engines.h is included twice, nice ;p
17:40:58 <peter1138[d]> Ah well, I guess it's not a big table.
17:42:29 <truebrain> Must have enough engines!
17:45:07 *** Tirili has joined #openttd
17:51:17 <peter1138[d]> Alternatively I make all strong types explicit, and change loads of code :p
17:51:38 <peter1138[d]> Wouldn't be the end of the world, non-explicit breaks the concept a bit.
18:03:18 <DorpsGek> [OpenTTD/OpenTTD] zephyris opened issue #11696: [Bug]: Survey result does not include base set grf parameters https://github.com/OpenTTD/OpenTTD/issues/11696
18:05:02 <DorpsGek> [OpenTTD/OpenTTD] JGRennison opened pull request #11697: Fix: String scan for gender mode with SCC_INDUSTRY_NAME https://github.com/OpenTTD/OpenTTD/pull/11697
18:07:23 <peter1138[d]> Hmm, many castings
18:07:41 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 approved pull request #11697: Fix: String scan for gender mode with SCC_INDUSTRY_NAME https://github.com/OpenTTD/OpenTTD/pull/11697#pullrequestreview-1807530504
18:08:35 <peter1138[d]> TileIndex tile = 0 is no longer viable 🙂
18:08:45 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 approved pull request #11648: Fix #11646: Non-thread safe shared buffer returned from GetLogPrefix(). https://github.com/OpenTTD/OpenTTD/pull/11648#pullrequestreview-1807530638
18:16:20 <wensimehrp> truebrain: Meowmeow Coin, lol
18:19:13 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 approved pull request #11683: Change: Reorganize Settings menu items https://github.com/OpenTTD/OpenTTD/pull/11683#pullrequestreview-1807531979
18:28:35 <xarick> it's taking an eternity to attach i-have-no-idea-how-much wagons to train engines
18:29:53 <xarick> it's for science
18:30:00 <xarick> reach the vehicle limit
18:30:07 <xarick> and see what happens next
18:31:39 <_zephyris> wensimehrp: Time to add 喵喵元 as an official currency? 😜
18:32:59 <xarick> <https://gist.github.com/SamuXarick/120dcf784ea8a39b88fb628be274dcb6> I hope this code is correct, don't wanna have a bad surprise at the end
18:33:07 <xarick> it's been 2 hours
18:36:46 *** Alkel_U3 has quit IRC (Quit: maintenance)
18:37:41 *** Alkel_U3 has joined #openttd
18:39:24 <DorpsGek> [OpenTTD/OpenTTD] eints-sync[bot] pushed 1 commits to master https://github.com/OpenTTD/OpenTTD/commit/0a8c0d62eee3dc7925557b5f53feb8b4b6acb46f
18:39:25 <DorpsGek> - Update: Translations from eints (by translators)
18:58:20 <xarick> that was an awful amount of time...
18:58:23 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1193267337407774822/image.png?ex=65ac17cf&is=6599a2cf&hm=82d481d19e44c8e61449e1eceafa0bb7aeb5d5daad0c511ceb5ad6e6228dcc46&
19:00:13 <xarick> 8,805 Seconds =
19:00:13 <xarick> 2 Hours : 26 Minutes : 45 Seconds
19:00:13 <xarick> exact result
19:00:16 <xarick> wow
19:07:20 <peter1138[d]> Nearly compiled. Touch one file. 355 files to compile.
19:07:22 <peter1138[d]> Scope eh?
19:11:32 <andythenorth> More thread units
19:14:44 <peter1138[d]> It built \o/
19:14:51 <peter1138[d]> With the C++20 extensions, but hey :p
19:15:11 <truebrain> w00p!
19:25:08 <peter1138[d]> ` 28 files changed, 339 insertions(+), 209 deletions(-)`
19:25:12 <peter1138[d]> Hmm, that seems a bit much 😦
19:29:42 <wensimehrp> https://cdn.discordapp.com/attachments/1008473233844097104/1193275221059305512/image.png?ex=65ac1f26&is=6599aa26&hm=03625afd207182dfb0953975ff9a8c2411703d4d277776433c371fc9fbc6e033&
19:29:42 <wensimehrp> umm, what happened?
19:30:05 <wensimehrp> https://cdn.discordapp.com/attachments/1008473233844097104/1193275317415067809/image.png?ex=65ac1f3d&is=6599aa3d&hm=5be9c5095cf009368e6e655e5d6fd08962971b1594716c8caa45171215d51c01&
19:31:01 <peter1138[d]> Apple.
19:31:31 <truebrain> on the list for Monday to fix together with orudge 🙂
19:31:38 <truebrain> for now, nothing we can do about it (orudge is aware)
20:01:18 <peter1138[d]> https://cdn.discordapp.com/attachments/1008473233844097104/1193283171647758437/image.png?ex=65ac268e&is=6599b18e&hm=bd1c31b1dbefa28fc9b38971e66da2d3fe50c5df9a4b0561c2d43081b80ece7b&
20:01:27 <peter1138[d]> This works. The alias first is critical.
20:02:00 <truebrain> with C++17?
20:02:48 <peter1138[d]> Yes. the C++20 way is
20:02:50 <peter1138[d]> https://cdn.discordapp.com/attachments/1008473233844097104/1193283555934097430/image.png?ex=65ac26e9&is=6599b1e9&hm=61eb0a0470b5e2ebd8331cd15f8f2ba01b8fe282325be8fddce4223f78b0e992&
20:03:16 <truebrain> easier to write 🙂
20:03:47 <peter1138[d]> It's only taken me 4 hours to make this work 😉
20:04:02 <peter1138[d]> Although most of that was the other changes.
20:04:23 <truebrain> it took me twice as long to rewrite StrongTypedef to do what I want
20:04:25 *** efessel has joined #openttd
20:04:25 <efessel> hello! Quick question - what's the current url for the Bananas CDN?
20:04:26 <truebrain> so .. yeah ... 😛
20:04:38 <truebrain> efessel: why you want to know? Unusual request
20:05:31 <efessel> I have automation that downloads content before a server starts, but it's not working. It used to work with this: https://bananas.cdn.openttd.org
20:05:50 <truebrain> kinda because you are not meant to fetch URLs directly 🙂
20:06:09 <efessel> 🙂 Is there a way to download content w/o the UI?
20:06:22 <truebrain> nope
20:06:39 <truebrain> by our ToS we are only allowed to distribute the latest version of a BaNaNaS entry; and that is just tricky
20:07:18 <truebrain> some content creators freaked at the idea older versions were public for download; so we had to create our ToS around that notion
20:08:25 <efessel> Yeah, I'm not opposed to always downloading new content, but the cfg kind of forces you to specify a version, right? (also didn't mean to derail the existing conversation)
20:08:35 <peter1138[d]> Hmm, if I do the change to StrongType last, I can do the rest of this in steps.
20:08:53 <truebrain> no worries; we have 5 conversations at the same time in here. We are used to that 😛
20:09:13 <truebrain> and yeah, the console commands etc are also not really friendly in those regards
20:09:32 <truebrain> but also downloading all the NewGRFs on server start is not the most friendly to our bandwidth bill 😉
20:10:05 <efessel> It only downloads grf's that cannot be found locally, it gets cached. I wouldn't do that to you guys 🙂
20:10:11 <truebrain> 😄
20:10:15 <truebrain> glad to hear 🙂
20:10:21 <truebrain> some people are a bit .... easier, when it comes to that 😛
20:10:22 <efessel> (I host stuff too, I know the costs!)
20:10:48 <peter1138[d]> Taking stateless to an extreme...
20:12:34 <_glx_> truebrain: and it used to have a 'all' option 😉
20:12:45 <truebrain> yeah .... when I noticed that, I burned that with fire
20:12:48 <truebrain> still can't believe someone added that
20:12:54 <truebrain> it was okay with 20 items on BaNaNaS
20:12:59 <truebrain> but with 1500+, it was getting a bit insane
20:13:09 <truebrain> (as more than one person downloaded EVERYTHING more than once a day)
20:13:16 <_glx_> abase+zbase counted
20:13:18 <truebrain> the scare of missing out etc 😛
20:14:17 <efessel> Just add a torrent client to openttd and make it peer 2 peer 😄
20:14:46 <_glx_> tos would not agree
20:15:16 <peter1138[d]> Torrents are kinda slow too.
20:15:31 <efessel> sorry I said that with a bit of /s 😄
20:16:31 <peter1138[d]> It works for tons of "free-to-play" games. The ones on Steam where Steam installs a small downloader, and that does the rest via peer-to-peer nastiness.
20:20:20 <Rubidium> it could be feasible to have a say -H option to OpenTTD that when using -g and the game does not have the required NewGRFs/AIs/GSs attempts to download them automagically
20:21:49 <truebrain> Rubidium: suggested more than once over the last few years .. but nobody wrote it yet 😛
20:22:07 <truebrain> you can do it via the UI, so it is for sure possible 🙂
20:28:20 <efessel> truebrain: Is there a feature/bug/issue created for it? maybe I can get my hands dirty
20:28:32 <truebrain> we don't create "things" for feature-requests in general
20:28:36 <truebrain> as that list would be endless 🙂
20:31:00 <truebrain> so just give it a crack, if you like to 🙂
20:32:18 <_glx_> you can look around saveload gui code and bootstrap code (saveload has code doing the search, with list and download done from GUI) while bootstrap has some auto download stuff for opengfx IIRC)
20:34:46 <_glx_> (emscripten specific bootstrap code, the "normal" bootstrap is GUI based and requires user validation before download)
20:35:23 <efessel> did you say emscripten? there's a wasm port?
20:35:41 <peter1138[d]> Oh dear...
20:35:48 <peter1138[d]> https://cdn.discordapp.com/attachments/1008473233844097104/1193291853173366804/image.png?ex=65ac2ea4&is=6599b9a4&hm=4ae9ed57690c152d68e63f2d856ed2ec5100ed7da84b199bc888eaf2c5394bf3&
20:35:48 <peter1138[d]> I don't like this stack trace 😮
20:36:18 <_glx_> <https://preview.openttd.org/pr11347/> <-- for stuff like
20:36:28 *** fverz has joined #openttd
20:36:28 <fverz> can... can someone help me
20:36:38 <truebrain> efessel: welcome to 3 .. 4? years ago 😛
20:36:50 <fverz> i got no idea what i'm doing is there any tutorials on this shit?
20:37:00 <_glx_> on what ?
20:37:15 <fverz> on making things like newgrfs
20:37:22 <truebrain> try Discord channel #add-on-development
20:37:37 <fverz> i'll see there but i searched on the internet and there is nothin
20:38:08 <efessel> is there any officially hosted web version?
20:39:08 <_glx_> it's not fully usable, no network support for instance
20:39:28 <peter1138[d]> Hmm, valgrind maybe
20:39:57 <truebrain> _glx_: no -generic- support
20:40:02 <truebrain> you can use it on a prepared server 🙂
20:40:29 <_glx_> fverz: there is https://www.tt-wiki.net/wiki/NFOTutorial and https://www.tt-wiki.net/wiki/NMLTutorial, and you can always ask in Discord channel #add-on-development for precisions
20:40:41 <fverz> ty
20:40:57 <_glx_> most doc is on this wiki
20:41:02 <peter1138[d]> Oh fgs, I compiled with clang
20:42:06 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 updated pull request #10734: Higher max ship speed https://github.com/OpenTTD/OpenTTD/pull/10734
20:45:39 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 commented on pull request #10734: Higher max ship speed https://github.com/OpenTTD/OpenTTD/pull/10734#issuecomment-1879823837
20:48:13 <peter1138[d]> Oh no, valgrind is autoconf 😦
20:48:22 *** Flygon has quit IRC (Quit: A toaster's basically a soldering iron designed to toast bread)
20:50:03 <peter1138[d]> `==2717207== Using Valgrind-3.19.0 and LibVEX; rerun with -h for copyright info`
20:50:03 <peter1138[d]> ->
20:50:03 <peter1138[d]> `==2717238== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info`
20:50:05 <peter1138[d]> This one runs 😄
20:50:17 *** rau117 has quit IRC (Quit: User went offline on Discord a while ago)
20:50:44 <peter1138[d]> Just need to wait a few hours for the GRF scan.
20:52:29 <_glx_> do you really need GRF for your test?
20:54:45 <peter1138[d]> ==2717238== Conditional jump or move depends on uninitialised value(s)
20:54:45 <peter1138[d]> ==2717238== at 0x1748F5B: ShipController(Ship*) (src/ship_cmd.cpp:681)
20:54:46 <peter1138[d]> Hmm
20:56:57 <peter1138[d]> _glx_: Yes 🙂
20:57:05 <peter1138[d]> ==2717238== Invalid write of size 4
20:57:05 <peter1138[d]> ==2717238== at 0x183C8B6: UpdateTownMaxPass(Town*) (src/town_cmd.cpp:1882)
20:57:05 <peter1138[d]> Found it 🙂
20:58:02 <peter1138[d]> I wonder how much slower (i'm assuming it's slower) using .at() would be...
20:58:54 <peter1138[d]> Oh, it's a C array anyway 🙂
21:01:34 <peter1138[d]> Hmm, v->cargo_type = 0xff. Oops 🙂
21:10:27 <truebrain> What did you do wrong? 😛
21:11:05 <xarick> is it water depot or ship depot, how do you officially call it?
21:14:09 <_glx_> should I <https://github.com/OpenTTD/OpenTTD/compare/master...glx22:OpenTTD:free_unit_id>?
21:14:48 <xarick> oh, 🙂
21:15:20 <_glx_> oh won't help with the performance
21:15:49 <_glx_> it's still 2 full iterations of vehicle pool per new vehicle
21:16:07 <xarick> hmm, I'll test it
21:16:16 <xarick> maybe it can improve
21:16:34 <_glx_> I think it might improve memory usage
21:17:30 <xarick> why not make it ordered? you could quickly get the maxid
21:17:43 <xarick> or is that not how it works?
21:18:13 <peter1138[d]> I don't think vector will improve memory usage.
21:18:54 <_glx_> vector<bool> may be optimized for space efficiency
21:19:02 <peter1138[d]> Oh right.
21:19:08 <peter1138[d]> vector<bool> is deprecated iirc.
21:19:54 <peter1138[d]> Or at least, not recommended 🙂
21:20:27 <peter1138[d]> Could be small but more cpu intensive.
21:20:59 *** keikoz has quit IRC ()
21:25:20 <_glx_> xarick: it doesn't work like that, the constructor gets the maxid, then create a cache array of maxid + 2 elements, then it stores which id are used
21:25:56 <_glx_> so NextID can use the free ids first, then continue from maxid
21:27:31 <_glx_> and no it's not imaginable to continously keep a list of free ids
21:28:27 *** keikoz has joined #openttd
21:29:03 <_glx_> btw in normal use FreeUnitIDGenerator() is called at most 15 times per tick 🙂
21:40:55 <peter1138[d]> Hmm, AI crashing because mail isn't available...
21:42:36 <xarick> i need maths
21:43:00 <xarick> 64k groups might be too little for 1044k vehicles
21:43:17 <xarick> wait, not really 1044k
21:43:27 <xarick> 5000 * 4 * 15 vehicles
21:43:55 <xarick> 300000 groups needed
21:44:50 <jfs> I don't think the game needs to support a case where every company has built the maximum number of every type of vehicle and has put each individual vehicle into its own group.
21:45:41 <xarick> hehehe, sorry, I just burst in laughter. how many vehicles need to be in a group to fit the 64k
21:45:59 <xarick> 300000 / 64000
21:46:11 <jfs> 300k vehicle into 64k groups could be 5 per group
21:46:32 <jfs> well, 60k groups then
21:46:34 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1193309662527881378/image.png?ex=65ac3f3a&is=6599ca3a&hm=90052f2fdcc1de03deb7393f7a06ef315816985f312747c48e5cfc11fb295bfa&
21:46:34 <xarick> thx
21:49:00 <peter1138[d]> Ten-thousands separator?
21:49:22 <_glx_> no it's the decimal
21:50:20 <xarick> i need more maths, how many groups of 5 I need to create, before I start doing groups of 4
21:52:10 <jfs> 5*x + 4*y = 300000
21:52:10 <jfs> x + y = 64000
21:52:10 <jfs> that's your equation system to solve
21:52:17 <_glx_> 300000/5 = 60000
21:55:43 <_glx_> hehe the equation system might have no solution in natural number space
21:57:24 <xarick> i think i had a similar question when i was working on the airport noise gs
21:57:33 <xarick> gonna check how I did there
21:57:41 <jfs> nope it has a solution, x=44, y=20
21:58:03 <_glx_> seems my TI-85 is out of batteries
21:58:53 <peter1138[d]> https://cdn.discordapp.com/attachments/1008473233844097104/1193312764148580536/image.png?ex=65ac421d&is=6599cd1d&hm=0ed16f884c798aa65f14137b4e273493d52e46ee04226c2e513dc4de8dd51fef&
21:58:53 <peter1138[d]> Something is missing...
21:59:08 <xarick> mail
21:59:10 <Rubidium> xarick: maths? Maybe arithmetic ;) If you first do groups of 4, you'll have some groups remaining and that's the number of groups that become 5
22:00:06 <peter1138[d]> https://cdn.discordapp.com/attachments/1008473233844097104/1193313066729881610/image.png?ex=65ac4265&is=6599cd65&hm=e70837c0b1ad84c04bb049a941f1f67c49ff6a73cb07b22157e4ca4acf7967b7&
22:00:06 <peter1138[d]> Same with master.
22:04:10 <_glx_> they look the same, maybe one window is larger than the other
22:04:27 <_glx_> oh no the capacity
22:15:26 <xarick> local max_group_size = min_group_size + max(0, min(1, max_vehicles % max_groups));
22:16:02 <_glx_> max is useless
22:16:31 <xarick> oh right
22:16:59 <peter1138[d]> Yeah I made it wider because it was cropped.
22:17:55 <peter1138[d]> I think I'm happy with this version. There's only a few .base() calls,
22:18:33 <truebrain> What did you build? 😄
22:21:15 <xarick> https://mathsolver.microsoft.com/en/solve-problem/@18herkmsm
22:21:26 <xarick> very funny
22:22:27 <andythenorth> hmm do I need 36GB?
22:22:47 <_glx_> 36GB is a weird number
22:22:48 <peter1138[d]> truebrain: Another version of untangling cargo types from cargo IDs.
22:23:11 <truebrain> Ah, nice 🙂
22:28:09 <peter1138[d]> Would be nice if I could have an enum of StrongType, but alas.
22:32:58 <xarick> i need to use matrices
22:33:14 <xarick> cus integers
22:33:34 <truebrain> peter1138[d]: You can't?
22:34:30 <peter1138[d]> No, they have to be plain integral underlying types
22:35:25 <truebrain> You can specify it as `std::is_integer`? Awh 😦
22:37:54 <Rubidium> xarick: huh? I associate matrices with anything but integers
22:38:19 <xarick> well then, i dunno what to do
22:44:15 *** nielsm has quit IRC (Ping timeout: 480 seconds)
23:05:49 <xarick> 1 % -2 = -1 or 1?
23:05:58 <xarick> in squirrel math
23:28:31 *** keikoz has quit IRC (Ping timeout: 480 seconds)
23:42:45 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1193338903017558157/image.png?ex=65ac5a75&is=6599e575&hm=588a678adf27318dbe3e9b2a716bce6d7e851ccd37e406089f99b3b61b5b938e&
23:42:52 <xarick> got it right!
23:44:13 <xarick> the matrix way