IRC logs for #openttd on OFTC at 2025-12-15
            
00:07:17 <DorpsGek> [OpenTTD/OpenTTD] Andrew350 opened issue #14915: [Crash]: [NewGRF] Producing the same cargo twice in the same produce block sometimes crashes https://github.com/OpenTTD/OpenTTD/issues/14915
00:20:23 <DorpsGek> [OpenTTD/OpenTTD] James103 commented on issue #14915: [Crash]: [NewGRF] Producing the same cargo twice in the same produce block sometimes crashes https://github.com/OpenTTD/OpenTTD/issues/14915
00:40:54 <DorpsGek> [OpenTTD/OpenTTD] James103 opened issue #14916: [Bug]: No error message when "Many random towns" fails to build any towns https://github.com/OpenTTD/OpenTTD/issues/14916
00:58:32 *** MinchinWeb[m] has quit IRC (Ping timeout: 480 seconds)
00:59:16 *** sittinbythefire has joined #openttd
00:59:16 <sittinbythefire> Lol I might be the worst offender of all time in causing town generation failures in stupid ways with NewGRF
00:59:24 *** MinchinWeb[m] has joined #openttd
00:59:33 <sittinbythefire> I'm sorry πŸ˜…
01:01:21 *** tokai|noir has joined #openttd
01:01:21 *** ChanServ sets mode: +v tokai|noir
01:03:24 <DorpsGek> [OpenTTD/OpenTTD] James103 opened issue #14917: [Crash]: when opening house placer window in Scenario Editor with no houses available https://github.com/OpenTTD/OpenTTD/issues/14917
01:08:24 *** tokai has quit IRC (Ping timeout: 480 seconds)
02:23:07 *** MinchinWeb[m] has quit IRC (Ping timeout: 480 seconds)
02:44:34 *** MinchinWeb[m] has joined #openttd
03:02:22 *** Wormnest has joined #openttd
03:04:09 *** Wormnest has quit IRC ()
03:53:27 <DorpsGek> [OpenTTD/OpenTTD] CI - Nightly workflow was not successful https://github.com/OpenTTD/OpenTTD/actions/runs/20219605033
04:46:03 <DorpsGek> [OpenTTD/OpenTTD] eints-sync[bot] pushed 1 commits to master https://github.com/OpenTTD/OpenTTD/commit/e1333abc3ec34f5accd8158da668d577d377897c
04:46:04 <DorpsGek> - Update: Translations from eints (by translators)
04:58:44 *** Zathras_7 has joined #openttd
05:02:06 *** Zathras_11 has quit IRC (Ping timeout: 480 seconds)
07:13:45 <ahyangyi> sittinbythefire: "Best tester" in other words? πŸ˜›
08:20:05 <DorpsGek> [OpenTTD/OpenTTD] PeterN opened pull request #14918: Fix #14915: Crash due to divide-by-zero of industry probabilities. https://github.com/OpenTTD/OpenTTD/pull/14918
08:24:54 <peter1138> (I'm not really sure what that has to do with "producing the same cargo twice", but.
08:24:57 <peter1138> )
08:25:23 <peter1138> ((Maybe doing that disables the industries which is why the total probability is zero))
08:46:41 <DorpsGek> [OpenTTD/OpenTTD] PeterN opened pull request #14919: Fix #14916: Duration of error message window could be too short. https://github.com/OpenTTD/OpenTTD/pull/14919
08:59:17 <DorpsGek> [OpenTTD/OpenTTD] PeterN opened pull request #14920: Fix #14917: Crash when opening house picker with no houses available. https://github.com/OpenTTD/OpenTTD/pull/14920
09:03:20 <DorpsGek> [OpenTTD/OpenTTD] VilleHallik opened issue #14921: [Crash]: While using autorefit for trains: Assertion failed at line 330 of .../station_base.h: this->HasData() https://github.com/OpenTTD/OpenTTD/issues/14921
09:07:18 *** Flygon has joined #openttd
09:13:55 <DorpsGek> [OpenTTD/OpenTTD] LordAro commented on pull request #14914: Codechange: Add GitHub workflow that checks files descriptions. https://github.com/OpenTTD/OpenTTD/pull/14914#issuecomment-3654561978
09:17:18 <DorpsGek> [OpenTTD/OpenTTD] LordAro commented on issue #14921: [Crash]: While using autorefit for trains: Assertion failed at line 330 of .../station_base.h: this->HasData() https://github.com/OpenTTD/OpenTTD/issues/14921
09:19:49 <xarick> question about <https://github.com/OpenTTD/OpenTTD/blob/master/CODINGSTYLE.md#other-important-rules>
09:19:49 <xarick> > C++ is defined using the ASCII character set. Do not use other character sets, not even in comments.
09:19:49 <xarick> How do I detect whether mr copilot introduced some nasty character in my copy pastes? in other words, how do i scan my file for non ASCII characters?
09:21:16 <LordAro> i'm sure mr copilot could tell you
09:21:31 <LordAro> (and also tell you how to scan yourself)
09:21:52 <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on issue #14921: [Crash]: While using autorefit for trains: Assertion failed at line 330 of .../station_base.h: this->HasData() https://github.com/OpenTTD/OpenTTD/issues/14921
09:23:05 <andythenorth> the AIs never do anything like delete your drive
09:23:11 <andythenorth> using copy-paste hallucinations
09:24:51 <peter1138> Can we switch to a license that disallows mixing with LLM generated content? :p
09:34:07 *** vondpc has joined #openttd
09:34:07 <vondpc> I wish but good luck enforcing that
09:35:46 <DorpsGek> [OpenTTD/OpenTTD] VilleHallik commented on issue #14921: [Crash]: While using autorefit for trains: Assertion failed at line 330 of .../station_base.h: this->HasData() https://github.com/OpenTTD/OpenTTD/issues/14921
09:37:17 <DorpsGek> [OpenTTD/OpenTTD] LordAro approved pull request #14908: Doc: Correct file descriptions to match coding style and doxygen. https://github.com/OpenTTD/OpenTTD/pull/14908#pullrequestreview-3577261869
09:37:43 <DorpsGek> [OpenTTD/OpenTTD] LordAro commented on pull request #14914: Codechange: Add GitHub workflow that checks files descriptions. https://github.com/OpenTTD/OpenTTD/pull/14914#issuecomment-3654677427
09:38:41 <xarick> does the CI scan for invalid ascii characters in files?
09:39:43 <LordAro> i believe it does
09:39:56 <LordAro> (strictly, non-utf8, but close enough)
09:42:36 <xarick> do i have a grep command? let's see
09:44:21 <xarick> ah, I have a grep in WSL
09:46:06 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1450061347764174929/image.png?ex=69412a5e&is=693fd8de&hm=2d2d8c86a8ea3b5a6ce6b48d37b78b1e12d2424362f2da7747e79e11b05e71fd&
09:46:06 <xarick> nice stuff
09:46:49 <LordAro> you'd be hard pressed to find a Linux system without it
09:47:15 <LordAro> part of POSIX, so even more so
09:50:20 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1450062411200729270/image.png?ex=69412b5b&is=693fd9db&hm=dd8cc40553beb180457f1791864370958d3045225f3032f5b2a45b4b1de0dbd9&
09:50:20 <xarick> wow, nasty mr copilot
09:56:33 <xarick> what's the β†’ equivalent in ascii?
09:56:52 <peter1138> Doesn't matter, you can't submit any of that to us.
09:57:45 <xarick> πŸ™
09:57:50 <LordAro> non-ascii in comments isn't going to cause you (and you specifically) any problems
10:10:26 <xarick> if i remove the validation code, this stuff becomes about 1500 lines
10:10:39 <xarick> with it it's abour 2000
10:11:31 <LordAro> you may find it an interesting exercise to wrap the validation code in debug-only builds, or (probably better) turn it into a unit test
10:11:45 <LordAro> tests plural
10:21:48 <xarick> oh, like flat set
10:25:21 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1450071224481742878/image.png?ex=69413390&is=693fe210&hm=80892ccb315faeae4ad23c48e0150f7bdae308ef77b19bd77a69a8fecec9f7ab&
10:25:21 <xarick> oh btw
10:25:46 <LordAro> i believe rito is already on that :)
10:26:19 <peter1138> Fire whoever wrote that unit test.
10:27:04 <LordAro> or whoever reviewed it
10:27:05 <LordAro> :p
10:28:22 <xarick> these tests are too short
10:28:29 <xarick> my kind of test would take 5 minutes
10:29:44 <LordAro> they don't sound like good tests
10:30:17 <peter1138> They test functionality, not performance.
10:30:47 <LordAro> ('validation code' should be testing functionality)
10:33:00 <xarick> I'm not sure how I would test this. It was created with a focus for ScriptList only
10:35:24 <_jgr_> Your container would need more work to make it general purpose. If you did want to do that then turning it into a lib in a separate repo with a long test suite would be fairly reasonable given the complexity though.
10:45:12 <xarick> it's still not as memory efficient as google's safe btree
10:46:09 <xarick> unsure what tricks google does to make it use about ~30% less mem
10:47:15 <xarick> i suppose my version keeps the tree a bit fragmented? not sure
10:47:28 *** firepup650 has quit IRC (Ping timeout: 480 seconds)
10:50:33 <xarick> nop, can't be that
10:51:09 <xarick> AddRectangle of a 4k map, the tiles are inserted in a sorted manner
10:55:56 <xarick> what happened to river gen, it's slow again πŸ™
10:56:12 <xarick> in debug mode
11:08:28 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1450082075410432091/image.png?ex=69413dac&is=693fec2c&hm=26d41807a498cf2c124d48a13aefd61c0d219047c9c9b9218d0e7f6e0064f379&
11:08:28 <xarick> why are they separated
11:09:22 <xarick> expected: BPlusNodeBase
11:09:34 <LordAro> compilers work in mysterious ways that are not necessarily helpful to profiling/debugging
11:11:20 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1450082799083065387/image.png?ex=69413e58&is=693fecd8&hm=f8dfe8b76ffb143b99663d43e3b6121824ff6d606a43e3e397a6b904f9af6814&
11:11:20 <xarick> so that's the size of a 4k map rectangle
11:17:04 <peter1138> LordAro, I feel that adding the whole map to a list just should be 1) needed 2) possible.
11:17:19 <peter1138> ...
11:17:20 <peter1138> *shouldn't
11:19:53 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1450084950463479979/image.png?ex=69414059&is=693feed9&hm=fa62df199ab4b2cd43cc58a63724f54ceeb459a349676a4e93b685396a1ba31a&
11:19:53 <xarick> google's safe btree
11:22:17 <xarick> apparently my estimates were wrong, that's 51%
11:22:31 <xarick> ~49% more efficient
11:22:44 <xarick> what tricks do they use
11:25:33 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1450086376023261194/image.png?ex=694141ad&is=693ff02d&hm=404f73a32e37914a594463538f81395a60ec5f4f2aeb17e96b5ef1fb35414c63&
11:25:33 <xarick> 16 bytes for key + value and 16760836 tiles added. 268 173 376 is the minimum size garanteed
11:25:48 <xarick> they're really close to the minimum
11:35:24 <_jgr_> Charging scripts for the memory that they use inside scriptlist instances would prevent scripts from using up all the available memory on excessive lists of tiles, etc
11:35:53 <_jgr_> Currently scriptlist is "free" in terms of memory accounting and opcodes (in vanilla)
11:36:35 <_jgr_> I should look at making a PR for this some time...
11:39:18 <LordAro> peter1138: possibly yes
11:39:46 <LordAro> _jgr_: was it mentioned that you have some existing stuff that improves overall scriptlist efficiency? worth PRing?
11:40:01 <LordAro> might prevent this particular xarick rabbit hole from going too much further
11:40:12 <peter1138> "might" :D
11:40:35 <xarick> jgr postpones initialization of this->values
11:40:41 <xarick> until it's really used
11:41:11 <xarick> i have done that too
11:41:35 <LordAro> peter1138: i was deliberate in my wording :p
11:42:23 <_jgr_> The vast majority of the improvement in my branch come from using a third party container implementation, which I don't expect would be smiled upon when it comes to PR review time
11:43:12 <LordAro> mm, probably not for ScriptList alone
11:44:12 <xarick> he also dropped the bucket system
11:45:19 <peter1138> I'm not against adding third party containers. Better that than... this...
11:46:09 <LordAro> also that
11:46:12 <xarick> i did a "mirroring" branch of his script_list.cpp with std::set std::map, and there are still gains, but not as much
11:46:21 <xarick> no 3rd party involved
11:48:35 <xarick> from the graph i've been showing, it's gone from 920 seconds in master to 761 seconds
11:49:11 <LordAro> the main question you need to answer is does it have any significant impact in a "normal" game
11:49:14 <xarick> savings are mostly due to no need for initializing this->values
11:49:41 <LordAro> scanning 4k maps is not an especially useful benchmark
11:51:24 <_jgr_> The fact that ScriptList is "free" means that script authors use it readily even when unnecessary
11:52:13 <_jgr_> Anecdotally the reason I originally made these changes was user complaints about GS-induced performance issues
12:04:48 <peter1138> Accounting for used memory would probably help, so that's a good first step?
12:05:07 <peter1138> 920 seonds to 761 seconds isn't meaningfully useful.
12:09:00 <locosage> tell that ffmpeg maintaners :p
12:30:58 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1450102839014850680/image.png?ex=69415102&is=693fff82&hm=69e373160dd4b083d241ab4c15ae2b0e8df674e8576cdda3e9d648ebfd7b8c0e&
12:30:58 <xarick> btw, here's master, adding that same 4k rectangle:
12:31:33 <xarick> it adds to both map and set
12:32:20 <xarick> mine adds to map... and postpones adding to set
12:33:36 <xarick> jgr's does the same as mine
12:33:50 <xarick> or more exactly, I do the same as jgrs πŸ˜›
12:34:44 <xarick> but jgr does some extra things inbetween, it keeps track of memory usage, adds a bit of overhead
12:34:57 <xarick> I don't have that tracking in my code
13:20:09 <xarick> I had a weird idea
13:21:44 <xarick> since lists are by default sorted by value, why not make AddItem add to the set portion and postpone the map portion? so the opposite of what we do
13:23:10 <xarick> wondering if this is even possible without looking at the map
13:25:33 <xarick> what would the look up for an item cost in this manner
13:42:48 * LordAro finds another test run that has `int x, y, z = 0;` and uses x as a loop counter
13:42:52 <LordAro> yay 32GB output file
14:00:49 <peter1138> Is that also a 4kx4k map? :D
14:04:41 <LordAro> we do call them maps, actually :D
14:07:45 <DorpsGek> [OpenTTD/OpenTTD] zephyris opened issue #14922: [Bug]: Clean install of OpenTTD fetches graphics with missing sprites https://github.com/OpenTTD/OpenTTD/issues/14922
14:07:48 <DorpsGek> [OpenTTD/OpenTTD] zephyris opened issue #14923: [Bug]: Steam install of OpenTTD includes graphics with missing sprites https://github.com/OpenTTD/OpenTTD/issues/14923
14:21:17 <peter1138> _zephyris, bootstrap is the terminology for #14922.
14:21:38 <peter1138> Ah it is in the text.
14:22:11 <_zephyris> Indeed
14:22:40 <_zephyris> Just trying to make it nice and visible
14:35:16 *** Borg has joined #openttd
14:38:32 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
14:39:16 *** WormnestAndroid has joined #openttd
14:49:06 <peter1138> So we need a 0.8.1 of OpenGFX 2 first.
14:49:27 <peter1138> Or 0.9 if minor versioning is not used.
14:53:00 <_zephyris> Yup, so approvals for this (if OK) https://github.com/OpenTTD/OpenGFX2/pull/223
14:53:11 <_zephyris> Then a release
14:53:14 *** digitalfox has joined #openttd
14:53:14 <digitalfox> Why not 1.0?
14:53:14 <digitalfox> To mark the first time it comes with OpenTTD by default
14:53:42 <_zephyris> (or a manual version bump and release)
14:53:51 <peter1138> That just means all the new players will find its bugs :)
14:54:50 <peter1138> _glx_ or LordAro would be better to review #223 than me. My Python is very basic :)
14:57:42 <_zephyris> Well, to be fair the OGFX2 readme says "using Python of dubious quality".
14:58:49 <DorpsGek> [OpenTTD/OpenGFX2] LordAro commented on pull request #223: Change makefile to generate an automatic version for the baseset and newgrfs https://github.com/OpenTTD/OpenGFX2/pull/223#pullrequestreview-3578629643
14:58:55 <LordAro> nothing particularly blocking
14:59:44 <_zephyris> Aha! a wild LordAro appears πŸ™‚
15:00:33 <_zephyris> I'll tweak those. I'm kinda hoping nml include becomes a reality, which is why I haven't invested so much in the pre-processor
15:01:49 <rito12_51026> Could OGFX2 use black and flake like the nmlc does?
15:03:57 <LordAro> probably should
15:04:00 <LordAro> or ruff :)
15:04:09 <LordAro> _zephyris: πŸ‘‹
15:05:00 <_zephyris> Yeah, it probably should
15:05:11 <LordAro> i'm a big fan of just converting everything to uv/ruff/ty
15:09:07 <rito12_51026> Does ruff allow tab indentations?
15:09:42 <LordAro> i think so
15:09:45 <LordAro> but... don't
15:10:03 <rito12_51026> because black does not allow
15:10:20 <LordAro> as far as the formatter is concerned, i'd be amazed
15:10:27 <LordAro> but the linter side can tolerate it
15:19:50 <xarick> https://www.youtube.com/watch?v=C8Soc6m48Jc
15:19:50 <xarick> this comment section reeks of corruption...
15:26:56 *** tabytac has joined #openttd
15:26:56 <tabytac> xarick: corruption?
15:27:18 <xarick> way too many donations, can't be true
15:32:33 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
15:33:27 *** WormnestAndroid has joined #openttd
15:37:33 *** Flygon has quit IRC (Read error: Connection reset by peer)
15:49:43 *** MinchinWeb[m] has quit IRC (Read error: Connection reset by peer)
15:49:45 *** MinchinWeb[m] has joined #openttd
15:51:12 <jfkuayue> British Citizen Test (Funny Version)
15:51:12 <jfkuayue> 1. William, William, Henry, ( ), Henry, Richard, John
15:51:12 <jfkuayue> 2. If you see something that does not look right, speak to our staff or text British Transport Police at ( )
15:51:12 <jfkuayue> 3. Assuming that the cooking oil is vegetable oil, please cite a vegan (plant-based) content in the traditional British breakfast ( )
15:51:12 <jfkuayue> 4. The following three foods: Haggis, toad in the hole, stargazy pie, which has the lowest latitude of origin? ( )
15:51:13 <jfkuayue> 5. Which happened first, Britain's official withdrawal from the European Union or the Notre Dame fire? ( )
15:53:13 <Rubidium> 3: the napkin?
15:53:13 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
15:53:39 <DorpsGek> [OpenTTD/OpenGFX2] zephyris updated pull request #223: Change makefile to generate an automatic version for the baseset and newgrfs https://github.com/OpenTTD/OpenGFX2/pull/223
15:53:56 <jfkuayue> Isn’t hashbrown vegan?
15:53:56 <_zephyris> Thanks lordaro4353
15:54:12 <_glx_> I had too check for 5 but my guess would have been fire first
15:54:16 <peter1138> 4353?
15:54:48 <_zephyris> 2: 01189998819921197253
15:54:56 <_glx_> and 3
15:59:52 <ahyangyi> jfkuayue: Mushroom, tomatos, hash brown, bread and beans, but I'm not sure about any of them, so I'll answer...
15:59:54 <ahyangyi> "Tea"
16:00:52 <ahyangyi> Oh, but adding milk disqualifies
16:02:08 <LordAro> haggis is probably Turkish or something
16:05:16 *** WormnestAndroid has joined #openttd
16:11:14 <DorpsGek> [OpenTTD/OpenGFX2] LordAro approved pull request #223: Change makefile to generate an automatic version for the baseset and newgrfs https://github.com/OpenTTD/OpenGFX2/pull/223#pullrequestreview-3579018705
16:11:14 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
16:14:29 <_zephyris> W00p
16:14:47 <_zephyris> I'll merge then do the 0.8.1 minor version
16:17:03 *** WormnestAndroid has joined #openttd
16:17:21 <DorpsGek> [OpenTTD/OpenGFX2] zephyris merged pull request #223: Change makefile to generate an automatic version for the baseset and newgrfs https://github.com/OpenTTD/OpenGFX2/pull/223
16:17:30 <DorpsGek> [OpenTTD/OpenGFX2] zephyris closed issue #222: Version in .obg file is hardcoded. https://github.com/OpenTTD/OpenGFX2/issues/222
16:24:06 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 approved pull request #14918: Fix #14915: Crash due to divide-by-zero of industry probabilities. https://github.com/OpenTTD/OpenTTD/pull/14918#pullrequestreview-3579078562
16:25:56 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 approved pull request #14919: Fix #14916: Duration of error message window could be too short. https://github.com/OpenTTD/OpenTTD/pull/14919#pullrequestreview-3579088313
16:27:04 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 approved pull request #14920: Fix #14917: Crash when opening house picker with no houses available. https://github.com/OpenTTD/OpenTTD/pull/14920#pullrequestreview-3579093882
16:31:04 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 merged pull request #14908: Doc: Correct file descriptions to match coding style and doxygen. https://github.com/OpenTTD/OpenTTD/pull/14908
16:31:14 <LordAro> oop, Rubidium's finished work
16:32:14 <Rubidium> maybe I just woke up?!?
16:35:32 <LordAro> i can't rule it out
16:42:14 <DorpsGek> [OpenTTD/OpenTTD] PeterN merged pull request #14918: Fix #14915: Crash due to divide-by-zero of industry probabilities. https://github.com/OpenTTD/OpenTTD/pull/14918
16:42:17 <DorpsGek> [OpenTTD/OpenTTD] PeterN closed issue #14915: [Crash]: [NewGRF] Producing the same cargo twice in the same produce block sometimes crashes https://github.com/OpenTTD/OpenTTD/issues/14915
16:42:40 <DorpsGek> [OpenTTD/OpenTTD] PeterN merged pull request #14919: Fix #14916: Duration of error message window could be too short. https://github.com/OpenTTD/OpenTTD/pull/14919
16:42:43 <DorpsGek> [OpenTTD/OpenTTD] PeterN closed issue #14916: [Bug]: No error message when "Many random towns" fails to build any towns due to no houses available https://github.com/OpenTTD/OpenTTD/issues/14916
16:42:54 <DorpsGek> [OpenTTD/OpenTTD] PeterN merged pull request #14920: Fix #14917: Crash when opening house picker with no houses available. https://github.com/OpenTTD/OpenTTD/pull/14920
16:42:57 <DorpsGek> [OpenTTD/OpenTTD] PeterN closed issue #14917: [Crash]: when opening house placer window in Scenario Editor with no houses available https://github.com/OpenTTD/OpenTTD/issues/14917
16:43:29 <peter1138> "Why can this client no longer do this?"
16:43:29 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
16:43:47 <peter1138> "Because you asked, quite explicitly, that clients should not be able to do that"
16:44:53 *** WormnestAndroid has joined #openttd
16:53:27 *** MinchinWeb[m] has quit IRC (Ping timeout: 480 seconds)
16:53:40 *** MinchinWeb[m] has joined #openttd
16:59:22 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
17:01:52 *** Borg has quit IRC (Quit: leaving)
17:05:40 <andythenorth> Work related comment? πŸ˜›
17:07:25 *** WormnestAndroid has joined #openttd
17:08:04 *** chaoticc_0579 has joined #openttd
17:08:04 <chaoticc_0579> ||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​|| _ _ _ _ _ _ https://imgur.com/TsWeZZm https://imgur.com/LNpLhRo https://imgur.com/1719i73 https://imgur.com/VUUVTMP all
17:11:37 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
17:13:07 *** WormnestAndroid has joined #openttd
17:20:08 <DorpsGek> [OpenTTD/OpenTTD] PeterN opened pull request #14924: Fix #14921: Crash during station autorefit if station doesn't accept current cargo type. https://github.com/OpenTTD/OpenTTD/pull/14924
17:21:12 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
17:23:13 <DorpsGek> [OpenTTD/OpenTTD] LordAro commented on pull request #14924: Fix #14921: Crash during station autorefit if station doesn't accept current cargo type. https://github.com/OpenTTD/OpenTTD/pull/14924#issuecomment-3656788585
17:31:54 <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #14924: Fix #14921: Crash during station autorefit if station doesn't accept current cargo type. https://github.com/OpenTTD/OpenTTD/pull/14924#issuecomment-3656820234
17:34:12 <DorpsGek> [OpenTTD/OpenTTD] LordAro approved pull request #14924: Fix #14921: Crash during station autorefit if station doesn't accept current cargo type. https://github.com/OpenTTD/OpenTTD/pull/14924#pullrequestreview-3579397285
17:37:08 *** WormnestAndroid has joined #openttd
17:41:18 *** WormnestAndroid has quit IRC (Remote host closed the connection)
17:43:16 *** WormnestAndroid has joined #openttd
17:49:32 *** WormnestAndroid has quit IRC (Read error: No route to host)
17:54:32 *** WormnestAndroid has joined #openttd
17:55:50 <andythenorth> lunch?
17:57:27 <peter1138> Okay, whatever ibus-daemon is, removing it makes `git gui` start up instantly instead of spending 5-10 seconds doing... somethin.g
17:57:58 <vondpc> i think i had some issue liket hat int he past for which ihad to disable it
17:58:13 <peter1138> `gitk` as well. They both use the ancient `tcl/tk` toolkit which seems to do something odd.
17:59:07 *** WormnestAndroid has quit IRC (Read error: No route to host)
17:59:12 *** WormnestAndroid has joined #openttd
18:01:02 *** Wolf01 has joined #openttd
18:06:47 <DorpsGek> [OpenTTD/OpenTTD] PeterN merged pull request #14924: Fix #14921: Crash during station autorefit if station doesn't accept current cargo type. https://github.com/OpenTTD/OpenTTD/pull/14924
18:06:50 <DorpsGek> [OpenTTD/OpenTTD] PeterN closed issue #14921: [Crash]: While using autorefit for trains: Assertion failed at line 330 of .../station_base.h: this->HasData() https://github.com/OpenTTD/OpenTTD/issues/14921
18:12:02 <ahyangyi> ibus-daemon is an input method framework to enable inputting various complex scripts such as Chinese
18:12:34 <ahyangyi> except it was so buggy that I don't use it for Chinese either
18:15:27 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
18:16:27 *** WormnestAndroid has joined #openttd
18:46:06 <peter1138> Well.
18:46:37 <peter1138> It was getting annoying, and because it's git, I thought it was something like needing to git gc or something.
19:33:59 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
19:39:40 *** WormnestAndroid has joined #openttd
19:43:43 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
19:43:51 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 commented on issue #14864: [Bug]: AI Console line overflow https://github.com/OpenTTD/OpenTTD/issues/14864
19:47:10 * Rubidium ponders the usefulness of filing bug reports for AroAI for the links in the readme being dead (502 OpenTTDCoop devzone) or it telling I'm running OpenTTD 2.0.0
19:47:54 <peter1138> :-)
19:48:38 *** WormnestAndroid has joined #openttd
19:52:42 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
19:53:29 *** WormnestAndroid has joined #openttd
20:00:05 <LordAro> :o
20:00:06 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
20:08:07 *** WormnestAndroid has joined #openttd
20:14:01 *** gelignite has joined #openttd
20:16:12 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
20:16:49 *** WormnestAndroid has joined #openttd
20:26:03 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
20:27:40 *** WormnestAndroid has joined #openttd
20:31:09 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1450223679362302023/Captura_de_ecra_2025-12-15_201212.png?ex=6941c18d&is=6940700d&hm=511341339182dce985394112cf717785b7a99bb31eb90dc63d44d3b514981b33&
20:31:09 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1450223679983190098/Captura_de_ecra_2025-12-15_202918.png?ex=6941c18d&is=6940700d&hm=80940c831d01e59c3ff9becd6c881b8a4633fa2c95b0613d62f4d7b3c57357e4&
20:31:09 <xarick> me vs google, running the heavy tests
20:31:57 <xarick> insertions, removals, swap list, remove bottom, iteration, etc
20:32:56 <xarick> google stuff is hidden in "void"
20:34:59 *** WormnestAndroid has quit IRC (Read error: No route to host)
20:38:59 *** WormnestAndroid has joined #openttd
20:41:06 <xarick> a difference of ~130 MB
20:41:17 <xarick> that's a lot closer than I expected
20:41:53 <xarick> 1.170 MB vs 1044 MB
20:44:27 *** WormnestAndroid has quit IRC (Read error: No route to host)
20:56:25 *** WormnestAndroid has joined #openttd
20:59:24 <DorpsGek> [OpenTTD/OpenGFX2] zephyris opened pull request #225: Codechange: Version bumps and documentation for v0.8.1 https://github.com/OpenTTD/OpenGFX2/pull/225
20:59:48 <DorpsGek> [OpenTTD/OpenGFX2] LordAro approved pull request #225: Codechange: Version bumps and documentation for v0.8.1 https://github.com/OpenTTD/OpenGFX2/pull/225#pullrequestreview-3580131832
21:00:11 *** WormnestAndroid has quit IRC (Read error: No route to host)
21:00:13 *** WormnestAndroid has joined #openttd
21:00:37 <DorpsGek> [OpenTTD/OpenGFX2] zephyris merged pull request #225: Codechange: Version bumps and documentation for v0.8.1 https://github.com/OpenTTD/OpenGFX2/pull/225
21:08:19 <xarick> i'm experimenting squeezing as much items as possible in the leafs
21:09:02 <xarick> during a split, keep 62 items on the left, 2 on the right
21:09:13 <xarick> same with parents
21:09:33 <xarick> not sure it will do what I expect: reduce memory usage
21:10:09 <DorpsGek> [OpenTTD/OpenTTD] PeterN opened pull request #14925: Codefix: Mark destructors override. https://github.com/OpenTTD/OpenTTD/pull/14925
21:13:38 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1450234370739798278/image.png?ex=6941cb82&is=69407a02&hm=a4ba35a063ffd41e8f37edb2b188201d82980d85859c81a9282336856dfd3688&
21:13:38 <xarick> hmm oops... it's doing exactly the opposite πŸ™
21:18:59 <xarick> clearly I'm a noob regarding binary trees
21:21:29 <Rubidium> well... if the non-leaf nodes have anything other than 2 nodes, it ain't a binary tree anymore
21:25:30 <xarick> maybe i should copy paste from btree code and make it openttd'able
21:28:39 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1450238149027434528/image.png?ex=6941cf06&is=69407d86&hm=1a470fd831255f63f84fc8ae172f32858a888b936e0d85e3a3a8f71500683296&
21:28:39 <xarick> oh gosh, that actually made more leafs
21:34:01 <xarick> leaves*
21:36:05 *** Flygon has joined #openttd
21:38:10 *** gelignite has quit IRC ()
21:40:23 <DorpsGek> [OpenTTD/OpenGFX2] zephyris created new tag: 0.8.1 https://github.com/OpenTTD/OpenGFX2/releases/tag/0.8.1
22:13:17 <kuhnovic> xarick: This video will explain a lot of your "why the hell doesn't this work" frustrations with C++. It's a long one but I know you have all the time in the world https://youtu.be/7fGB-hjc2Gc
22:14:55 <kuhnovic> Honestly, he's absolutely on point about most of the stuff he talks about, and I definitely learned a few things
22:15:13 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
22:18:17 <andythenorth> also https://www.youtube.com/watch?v=Gv4sDL9Ljww
22:30:20 *** SigHunter has quit IRC ()
22:37:20 <_glx_> <https://github.com/OpenTTD/OpenTTD/compare/master...glx22:OpenTTD:suspendable2> scripts slower to run, but less impact on the game
22:38:33 <_glx_> (of course only tested it works, but not the perf changes)
22:40:39 <_jgr_> That seems like quite a strong pessimisation for Clear?
22:41:59 <_glx_> I saw some "reports" of extremely slow clear() (when there's a huge amount of items)
22:43:04 <_glx_> and a slow clear() affects the game, while a slow Clear() only affects the script
22:46:04 <_jgr_> Removing each element one at a time generates a load of extra tree re-balancing activity, and in any case the whole list being cleared at once will still happen in the GC path (which I'd expect to be more likely than Clear anyway)
22:48:09 *** SigHunter has joined #openttd
22:48:49 <xarick> from my investigations... the bucket system slows a big deal when clearing, especially if each bucket only contains 1 item
22:49:03 <xarick> and it inflates memory
22:50:06 <xarick> but I used an abusive amount of items like 10 million
22:50:15 <xarick> where it becomes ridicously slow
22:51:14 <xarick> with binary trees however, it's just seconds to remove 10 million stuff
22:51:20 <xarick> not 5 minutes
22:51:38 <_glx_> hmm indeed it might be better to keep Clear non suspendable
22:54:18 <xarick> i watched 40 minutes of that video, and got bored now
22:56:50 <xarick> maybe it was 30 million items
22:56:52 <xarick> not sure
22:57:00 <xarick> but it was a really abusive amount
23:03:18 <xarick> i wanna show you something glx
23:03:29 <xarick> it's Valuate related
23:03:49 <xarick> where the bucket system really inflates memory so bad
23:04:08 <xarick> give me 30 minutes I'll make screenshots
23:10:24 <_zephyris> For anyone following along, that's OpenGFX2 v0.8.1 on Github, OpenTTD CDN and BaNaNaS
23:10:27 <DorpsGek> [OpenTTD/OpenTTD] McBorer commented on issue #14799: [Bug]: Stuttering Audio https://github.com/OpenTTD/OpenTTD/issues/14799
23:20:27 <DorpsGek> [OpenTTD/OpenTTD] Rito13 opened pull request #14926: Codechange: Add GitHub workflow that checks new doxygen warnings. https://github.com/OpenTTD/OpenTTD/pull/14926
23:35:37 <DorpsGek> [OpenTTD/OpenTTD] glx22 commented on pull request #14926: Codechange: Add GitHub workflow that checks new doxygen warnings. https://github.com/OpenTTD/OpenTTD/pull/14926#issuecomment-3658048416
23:37:34 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1450270593550258339/master?ex=6941ed3e&is=69409bbe&hm=461b53d89b2ceeb5589a64ff5166ce5b1a116d1e574098be49413761f089b666&
23:37:34 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1450270593856569479/bplustree?ex=6941ed3e&is=69409bbe&hm=03afc061429326395e0e5896b14a4b1a36653abba15e0e7f8ad7a664513ecebb&
23:37:34 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1450270594112426125/safe_btree?ex=6941ed3e&is=69409bbe&hm=af5f212b0f94b3bf0f630a3e9b2edbd89becf08d55b4d8565f48a6b51ada40b0&
23:37:34 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1450270594456227901/std_map_set?ex=6941ed3e&is=69409bbe&hm=d065b9d7b6eaaaae91d9d3f0ac2f492f3a86cc76f4c06c4f1a5853c2039f8c2b&
23:37:42 <xarick> oops
23:37:47 <xarick> they are png.
23:38:25 <xarick> i'll redo
23:38:44 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1450270888862941319/Captura_de_ecra_2025-12-15_232601.png?ex=6941ed84&is=69409c04&hm=02fb8c465901de4af9c113112683dd69192576b746ff9d130855632c10c6f83d&
23:38:44 <xarick> okay this is master behaviour
23:38:51 <xarick> those hills
23:39:25 <DorpsGek> [OpenTTD/OpenGFX2] zephyris opened pull request #226: Remove: Settings NewGRF https://github.com/OpenTTD/OpenGFX2/pull/226
23:40:47 <xarick> when ascending represents Valuate to a unique value (multiple buckets with 1 item), when descending, represents Valuate to the same value (1 bucket with multiple items)
23:41:30 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1450271583309529088/Captura_de_ecra_2025-12-15_232857.png?ex=6941ee2a&is=69409caa&hm=8448e0dcce557fcc9cf3ca1f0ec21905e2d955f0ede3c2a1d7d46d4d6e4abf2a&
23:41:30 <xarick> and now here's what happens without the bucket system:
23:41:44 <xarick> flat
23:41:54 <xarick> no memory peaks
23:42:56 <_glx_> not surprising
23:43:07 <xarick> also look at diagnostic session, 33 seconds vs 4 minutes 55 seconds
23:44:15 <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on issue #14799: [Bug]: Stuttering Audio https://github.com/OpenTTD/OpenTTD/issues/14799
23:44:22 <_glx_> by_value sorting is done with a map of sets
23:44:29 <DorpsGek> [OpenTTD/OpenGFX2] zephyris opened pull request #227: Fix: Incorrect grass shading for 4x zoom arctic snow transition https://github.com/OpenTTD/OpenGFX2/pull/227
23:44:51 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1450272426557702346/image.png?ex=6941eef3&is=69409d73&hm=b0959646da15226cce0bfa1d7a240c69f5f9aa71faf60c624654bb2ff435bf76&
23:45:14 <xarick> i disabled the timers, don't mind the 0's
23:46:44 <xarick> "Reset means setting all items to value 0"
23:47:12 <_glx_> reset is a valuate call then
23:47:15 <xarick> "Valuate means setting all items to unique values, ascending from 1 upwards"
23:48:46 <_glx_> the effect of suspendable Valuate should be very visible in performance graph
23:49:12 <_glx_> if you compare running your script in RC vs master
23:50:53 <_glx_> I can easily imagine the peaks in RC
23:51:18 <xarick> hmm, the message I'm really trying to convey is: remove the bucket system, change to a pair<value,item>. The buckets here are sets that are constantly being created and destroyed by ScriptList SetValue
23:51:35 <xarick> Valuate does SetValue
23:52:37 <_glx_> yes ScriptList storage is not efficient, it's known πŸ™‚
23:53:11 <xarick> eh, maybe JGR could explain better
23:53:13 <peter1138> It was not intended to store every tile of a 4kx4k map.
23:53:27 <xarick> he did this