IRC logs for #openttd on OFTC at 2025-04-04
            
00:02:04 <jfkuayue> I have no intent to stress on the β€œcapability” aspect. It is more about preference, I am not disqualifying the capability of capitalization and grammar of gay people. But still, above average of them type without capitalisation.
00:02:59 <_jgr_> Best just to stop digging at this point
00:03:48 <jfkuayue> Sorry
01:18:46 <belajalilija> jfkuayue: oopsie poopsie, it looks like your inside thoughts turned into outside thoughts
01:22:33 <reldred> I mean it is a bit of a meme,
01:22:42 <reldred> In certain circles at least
01:23:57 <belajalilija> fair
01:24:01 <belajalilija> i'd not heard of it
01:25:15 <belajalilija> im not really part of any circles of whatever that relate specifically to the community despite my flambouyant nature
02:15:59 <reldred> lol, neither am I really, I’m just terminally online.
02:25:20 *** Wormnest has quit IRC (Quit: Leaving)
02:46:38 *** gnu_jj has joined #openttd
02:49:45 *** geizeskrank has quit IRC (Ping timeout: 480 seconds)
02:50:16 *** gnu_jj_ has quit IRC (Ping timeout: 480 seconds)
02:53:18 *** geizeskrank has joined #openttd
03:19:58 <belajalilija> same
03:50:16 *** godbed has joined #openttd
03:50:37 *** godbed_ has joined #openttd
03:53:38 *** debdog has quit IRC (Ping timeout: 480 seconds)
03:54:01 *** D-HUND has quit IRC (Ping timeout: 480 seconds)
04:09:36 *** keikoz has joined #openttd
04:36:55 *** toktik has quit IRC (Remote host closed the connection)
04:37:07 *** toktik has joined #openttd
04:46:31 <DorpsGek> [OpenTTD/OpenTTD] eints-sync[bot] pushed 1 commits to master https://github.com/OpenTTD/OpenTTD/commit/1befa1ccb0e66557150fb5f2f6ce276a705e4f97
04:46:32 <DorpsGek> - Update: Translations from eints (by translators)
06:07:48 *** godbed_ has quit IRC (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
06:14:06 *** godbed is now known as debdog
06:48:37 <andythenorth> the nml template for a Horse vehicle takes on average 0.0004s to render
06:48:57 <andythenorth> not sure I'm going to optimise that much more, most of that is probably fetching the template and instantiating the renderer πŸ˜›
06:49:16 <andythenorth> I haven't plotted the spread to see if there are any weird outliers distorting the average
06:53:07 <andythenorth> it's weird to be looking at a timing of 0.16s and thinking "that's huge, can I eliminate it with caching"
07:09:26 <andythenorth> hmm every vehicle has 3 nml item blocks
07:09:34 <andythenorth> (action 0)
07:10:21 <andythenorth> 2 of them are conditional, wrapped via a params check (action 7/9)
07:11:01 <andythenorth> removing the conditional blocks cuts nmlc time by about 20%
07:22:30 <andythenorth> maybe I could have different compiles for debug and release
07:33:35 *** Flygon has quit IRC (Read error: Connection reset by peer)
07:34:53 <andythenorth> pff a compile for only-sprites-changed is now about 6 seconds, maybe that's fast enough
07:36:51 <peter1138> No, it needs to be instant and then OpenTTD needs to load it instantly.
07:52:26 <DorpsGek> [OpenTTD/OpenTTD] PeterN updated pull request #13958: Codechange: Manage window viewport with std::unique_ptr. https://github.com/OpenTTD/OpenTTD/pull/13958
07:57:19 <DorpsGek> [OpenTTD/OpenTTD] Da9108 commented on issue #13931: [Crash]: https://github.com/OpenTTD/OpenTTD/issues/13931
08:06:19 *** peter1138[d] has joined #openttd
08:06:19 <peter1138[d]> https://cdn.discordapp.com/attachments/1008473233844097104/1357627328439779328/image.png?ex=67f0e47a&is=67ef92fa&hm=32bb68cbcbc741ff72c04a8fdf7cf455d4aacf9f585de3740d7a74cef2b017e9&
08:06:19 <peter1138[d]> https://cdn.discordapp.com/attachments/1008473233844097104/1357627328733118474/image.png?ex=67f0e47a&is=67ef92fa&hm=dffdc082cfca617c2c775da213adf69efd253c13b44d05acc3ace4d5c85c8c52&
08:06:19 <peter1138[d]> Hmm, sprite 1466 is a copy of 1463, spotted by differing bounding boxes.
08:06:39 <peter1138[d]> May not be up to date πŸ™‚
08:06:48 <DorpsGek> [OpenTTD/OpenTTD] Da9108 commented on issue #13931: [Crash]: https://github.com/OpenTTD/OpenTTD/issues/13931
08:26:24 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
08:29:07 <_zephyris> peter1138[d]: Fixed in 78bccf8 πŸ™‚
08:32:03 <peter1138> Nice.
09:29:46 <xarick> are the basesets compiled when building openttd? is it precompiled or how exactly does it work?
09:31:19 <peter1138> No.
09:39:35 <_zephyris> https://cdn.discordapp.com/attachments/1008473233844097104/1357650802386403418/image.png?ex=67f0fa57&is=67efa8d7&hm=b707129c2048b90e570f4a24e10408908e1f43eabee38c7f4bb7fc20a48f48d1&
09:39:35 <_zephyris> Ah, how refreshing, base set sprites which match the bounding boxes...
09:48:37 <DorpsGek> [OpenTTD/OpenTTD] frosch123 merged pull request #13960: Codechange: Remove broken and unused StrMakeValidInPlace overload. https://github.com/OpenTTD/OpenTTD/pull/13960
09:48:54 <DorpsGek> [OpenTTD/OpenTTD] frosch123 merged pull request #13959: Fix: Numbers were left-aligned for RTL languages in several windows. https://github.com/OpenTTD/OpenTTD/pull/13959
09:49:13 <DorpsGek> [OpenTTD/OpenTTD] frosch123 merged pull request #13949: Fix: MayHaveRoad claimed rail station tiles had road, so the custom stationspec index would be read as roadtype https://github.com/OpenTTD/OpenTTD/pull/13949
09:50:40 <DorpsGek> [OpenTTD/OpenTTD] frosch123 approved pull request #13961: Change: [Script] Start GS (but don't run it) when generating world in scenario editor https://github.com/OpenTTD/OpenTTD/pull/13961#pullrequestreview-2742427135
10:10:59 <peter1138> Mostly. I know Pikka wanted to counteract the basesets's off-by-one, (which is an off-by-3 (iirc) with extra zoom)
10:11:19 <peter1138> But it would've made extra-zoom/non-extra-zoom compatibility difficult.
10:11:30 <peter1138> Difficulter?
10:13:26 <peter1138> I know that the bounding boxes being baked in frustrated at least one baseset developer.
10:37:52 <_zephyris> peter1138: For vehicles? Or the ground tile handling?
10:38:02 <peter1138> Ground tiles.
10:44:12 <FLHerne> Making them alterable would indirectly scupper bridges-over-stuff though
10:45:04 <FLHerne> because that uses bounding boxes to determine whether the bridge can be built, and it could be inconsistent in multiplayer
10:47:17 <FLHerne> hm, the widely-used version in JGRPP doesn't seem to allow bridges over town buildings, only stations, but it does use the bounding box for that
10:47:29 <peter1138> Bounding boxes are nothing to do with whether something can be built.
10:49:19 <FLHerne> hm, am I still wrong
10:51:16 <DorpsGek> [OpenTTD/OpenTTD] glx22 approved pull request #13896: Fix #10179: [Script] Only run the Game::GameLoop() in-game https://github.com/OpenTTD/OpenTTD/pull/13896#pullrequestreview-2742584366
10:52:05 <DorpsGek> [OpenTTD/OpenTTD] glx22 merged pull request #13961: Change: [Script] Start GS (but don't run it) when generating world in scenario editor https://github.com/OpenTTD/OpenTTD/pull/13961
10:53:08 <FLHerne> sorry, you're right, it has its own property
10:56:01 <_zephyris> What's the issue with the off by one? Seems to work consistently
10:56:24 <_zephyris> Vague memory of confirming that it works for foundations/half tiles correctly
10:58:07 <xarick> how to properly remove items from an AIList without skipping item as it is being iterated?
10:58:27 <xarick> is there a reverse iterator?
10:58:45 <xarick> or could it be done with a forward iterator?
11:05:19 <peter1138> list.Remove(item), no?
11:05:59 <peter1138> There's also some remove-by-value functions.
11:06:56 <frosch123> _zephyris: Tiles sprites have width 64, but sprite offset -31, off by one from the center
11:07:23 <frosch123> https://newgrf-specs.tt-wiki.net/wiki/RealSprites#zoom_level
11:07:51 <_zephyris> Ah, I was assuming vertical alignment woes
11:10:30 <frosch123> See the xrel/yrel column. When zooming out you get the problem of dividing -31 by 2 or 4. Would be integers if it was -32
11:11:22 <peter1138> "Fix offsets on load" :-)
11:17:09 <_zephyris> Explains some of the woes I had trying to make dedicated zoom out sprites
11:17:41 <peter1138> In general there's not a lot of point in that.
11:18:17 <_zephyris> I only wanted to do it for terrain (for nice zoomed out shading) and selectors (thicken up the lines, make them more visible)
11:18:46 <_zephyris> Strategic pixel tweaking generally works better, eg. https://github.com/OpenTTD/OpenGFX2/pull/158
11:20:02 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1357676083423744263/image.png?ex=67f111e2&is=67efc062&hm=5326e7977270072a469b2276b559693935bd94fe7bdbcc52376062d71439461a&
11:20:02 <xarick> `m_usedCitiesList[cargoClass]` is an `AIList`. Currently I am generating a temporary `removeList` with the towns I want to remove from `m_usedCitiesList[cargoClass]`. I'd like to make this part faster. I wanted to remove from the `AIList` directly as it's being iterated. Then there's the matter of the array handling, but that's for another time.
11:24:07 <peter1138> Hmm, following on from my "wrong branch" error, my current error is now "wrong database" :S
11:33:53 <andythenorth> peter1138: you mean....editing grfs directly in game? πŸ‘€ 🀯
11:34:01 <andythenorth> lunch first though?
11:51:52 <_glx_> IIRC you can't modify an AI list while iterating
11:55:30 <_glx_> Ah no the check is only inside Valuate
11:59:19 <_glx_> The code seems to imply it's safe to remove items except the current one
12:01:24 <_glx_> So you should be able to store current item and delete it on next iteration
12:07:55 <peter1138> You can, the unit tests test that happening as well.
12:08:17 <peter1138> (Regression does tests that do it)
12:19:27 <xarick> oh, interesting, did anyone actually verified results though?
12:19:44 <xarick> i'll verify
12:22:17 <peter1138> regression/regression/main.nut:108 is doing this.
12:27:43 <_glx_> Yeah the code handles it properly, first it does like Next() if needed then it deletes the item
12:29:03 <peter1138> andythenorth, couple of slices of quiche
12:36:09 <xarick> SetCommandDelay: (null : 0x00000000) - is this supposed to print a null?
12:36:24 <xarick> line 7 of result.txt
12:37:10 *** WormnestAndroid has joined #openttd
12:37:59 <_glx_> yes it's a void
12:38:33 <_glx_> function doesn't return anything
13:19:03 <andythenorth> peter1138: chicken sandwich
13:19:04 <andythenorth> and a coffee
13:19:12 <andythenorth> so editing grfs live in game?
13:19:18 <peter1138> Coffee is ongoing.
13:19:25 <peter1138> And if it's not, tea.
13:19:33 <peter1138> You can do that.
13:19:39 <peter1138> But only sprite offsets.
13:23:31 <andythenorth> so far the parameters I need to add to Horse (if I choose to) are
13:24:20 <andythenorth> - variable vehicle speeds
13:24:20 <andythenorth> - variable running costs
13:24:20 <andythenorth> - variable purchase costs
13:24:20 <andythenorth> - variable capacity
13:24:20 <andythenorth> - variable loading speed
13:24:39 <andythenorth> these might need to be adjustable for both wagons and engines
13:24:53 <andythenorth> if players could just change them directly in game....my compile would be faster πŸ˜›
13:41:32 <peter1138> Are there any guides for this... https://www.tt-forums.net/viewtopic.php?t=92175
13:43:07 <xarick> found a bug: the zeppelin crash landing in airports isn't preventing aircraft from landing
13:50:04 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1357713837536837833/image.png?ex=67f1350b&is=67efe38b&hm=6ae97bda57e7406e16833836d63bcab2ce62b59c4dd0f49fe294f9388dd86b00&
13:50:04 <xarick> only 96 pairs... need to test the slowliness with much more town pairs
13:50:21 <xarick> oh, i mean 96 towns
13:51:20 <peter1138> Have you managed to store a copy of the map in your AI state again?
13:52:38 <xarick> these are towns that have been used, that is, i built something there
13:52:46 <xarick> i won't have to build again
13:53:17 <xarick> but if i am removing a bad route, the town is re-enabled
13:53:31 <xarick> possibly a bad idea, but...
13:55:12 <_glx_> and you really need to use an AIList for that ?
13:59:16 <xarick> hmm,
14:00:31 <xarick> i think this code was original to LuDiAI
14:01:50 <xarick> not sure about an alternative way to do this
14:04:45 <xarick> let me check the original ai
14:07:55 <xarick> oh, this is my doing already
14:13:24 <xarick> original ludiai doesn't delete dead routes
14:13:35 *** _rei4122 has joined #openttd
14:13:36 <_rei4122> nearCities = {};
14:13:36 <_rei4122> nearCities[cargoClass] = AIList();
14:13:36 <_rei4122> foreach(cityPair in m_cityPairArray) {
14:13:36 <_rei4122> nearCities[cargoClass].AddItem(cityPair[0]);
14:13:36 <_rei4122> nearCities[cargoClass].AddItem(cityPair[1]);
14:13:37 <_rei4122> }
14:13:37 <_rei4122> m_usedCitiesList[cargoClass].RemoveList(nearCities[cargoClass]);
14:13:39 <_rei4122> How about this?
14:16:44 <xarick> hmm let's see that
14:17:07 <_rei4122> foreach(cityPair in m_cityPairArray) {
14:17:07 <_rei4122> nearCities[cityPair[2]].AddItem(cityPair[0]);
14:17:07 <_rei4122> nearCities[cityPair[2]].AddItem(cityPair[1]);
14:17:07 <_rei4122> }
14:26:27 *** goddess_ishtar has quit IRC (Read error: Connection reset by peer)
14:26:27 *** benjamincurry0972 has quit IRC (Read error: Connection reset by peer)
14:26:27 *** jfkuayue has quit IRC (Remote host closed the connection)
14:26:27 *** peter1138[d] has quit IRC (Remote host closed the connection)
14:26:27 *** exceptik has quit IRC (Remote host closed the connection)
14:26:27 *** __abigail has quit IRC (Write error: connection closed)
14:26:27 *** xplusc has quit IRC (Write error: connection closed)
14:26:27 *** audigex has quit IRC (Write error: connection closed)
14:26:27 *** _zephyris has quit IRC (Write error: connection closed)
14:26:27 *** DorpsGek_vi has quit IRC (Write error: connection closed)
14:26:27 *** _rei4122 has quit IRC (Remote host closed the connection)
14:26:27 *** frosch123 has quit IRC (Remote host closed the connection)
14:26:27 *** mastertrams has quit IRC (Read error: Connection reset by peer)
14:26:27 *** andythenorth has quit IRC (Write error: connection closed)
14:26:27 *** michi_cc has quit IRC (Remote host closed the connection)
14:26:27 *** digitalfox has quit IRC (Read error: Connection reset by peer)
14:26:27 *** tabytac has quit IRC (Read error: Connection reset by peer)
14:26:27 *** reldred has quit IRC (Read error: Connection reset by peer)
14:26:27 *** belajalilija has quit IRC (Remote host closed the connection)
14:26:27 *** _glx_ has quit IRC (Read error: Connection reset by peer)
14:26:27 *** yiffgirl has quit IRC (Read error: Connection reset by peer)
14:26:27 *** truebrain has quit IRC (Remote host closed the connection)
14:26:27 *** wensimehrp has quit IRC (Write error: connection closed)
14:26:27 *** emperorjake has quit IRC (Write error: connection closed)
14:26:27 *** kuhnovic has quit IRC (Write error: connection closed)
14:26:27 *** xarick has quit IRC (Remote host closed the connection)
14:26:27 *** _jgr_ has quit IRC (Read error: Connection reset by peer)
14:26:27 *** talltyler has quit IRC (Remote host closed the connection)
14:26:27 *** locosage has quit IRC (Remote host closed the connection)
14:26:27 *** bigyihsuan has quit IRC (Write error: connection closed)
14:26:45 *** DorpsGek_vi has joined #openttd
14:27:23 <peter1138> Poor DorpsGek.
14:29:25 *** frosch123 has joined #openttd
14:29:25 <frosch123> peter1138: Strings are complicated. Nml does not help much. I answered anyway
14:32:39 *** kuhnovic has joined #openttd
14:32:39 <kuhnovic> Good thing he's already mad
14:32:50 *** xarick has joined #openttd
14:32:50 <xarick> if one of the towns in a citypair matches the town in m_usedCitiesList, do not remove the town, I seem to be doing it the other way
14:34:05 <xarick> if no citypair has the town, then yes, remove the town from m_usedCitiesList
14:34:20 <xarick> i stumble upon my logic
14:36:21 <xarick> an early break; should help speed things a bit though
14:37:57 *** kuka_lie has joined #openttd
14:38:48 <DorpsGek> [OpenTTD/OpenTTD] Kuhnovic updated pull request #13885: Change: Treat already built errors as success when building long road or rail https://github.com/OpenTTD/OpenTTD/pull/13885
14:45:44 <xarick> I'm going to assume removing items directly from the list being iterated works fine
14:46:30 <kuhnovic> You might be in for a surprise then
14:47:00 <LordAro> the fact that you said it suggests that you know it won't work
14:47:06 <xarick> I did a few tests, seems to work, though I'm still suspicious
14:47:47 <kuhnovic> You might get away with it in certain situation, but generally it's a very bad idea. Don't do it.
14:48:45 <peter1138> If it's not meant to be done, should we remove it from the regression test, and deliberately make it not work?
14:49:37 <kuhnovic> I wonder how you would detect it
14:49:41 <peter1138> Sadly the ScriptList API didn't include an equivalent to "it = list.erase(it)"
14:51:59 *** _rei4122 has joined #openttd
14:51:59 <_rei4122> m_usedCitiesList[cargoClass].KeepList(nearCities[cargoClass]);
14:52:41 <peter1138> Yeah, there's some operations in there thare quite useful.
14:53:20 <peter1138> Problem is getting getting a good explanation of what the intention is. The X-Y problem.
14:57:20 <xarick> <https://github.com/SamuXarick/LuDiAI-AfterFix/commit/4704610bb7e9a5cdb9eab570c755de08f7cd4e5e>
14:58:01 <frosch123> kuhnovic: using squash instead of rebase for single commits has the advantage of github adding the PR number to it
15:01:32 <kuhnovic> Shit, I turned on auto merge and now I'm AFK... Is it something only I can change?
15:04:58 <kuhnovic> Ah, made it in time. I'll change it now πŸ™‚
15:07:09 *** peter1138[d] has joined #openttd
15:07:09 <peter1138[d]> https://cdn.discordapp.com/attachments/1008473233844097104/1357733232384413758/image.png?ex=67f1471c&is=67eff59c&hm=f22270afaaa8d1af1b3e700150c40a20e84d2cf58b52e2803761b65a54a077d5&
15:07:09 <peter1138[d]> πŸ™‚
15:07:38 <kuhnovic> Oops... well at least I learned something πŸ˜›
15:07:54 <kuhnovic> Thanks Frosch
15:08:35 *** _glx_ has joined #openttd
15:08:35 <_glx_> AIList "iterators" use next item has marker, so when removing an item the marker updated to next if the removed item is the marker, then the item is erased
15:09:08 <_glx_> so removing current item doesn't affect iteration
15:12:30 <_glx_> or at least should not
15:14:39 <peter1138> I recently fiddled with this to replace the backend storage with something a bit simpler.
15:15:13 <peter1138> Having to maintain iterators when the list can be modified under them is definitely a pain and a challenge :-)
15:16:18 <peter1138> I managed to make it work, but I don't yet know if it uses less memory and/or is more performant.
15:16:37 <DorpsGek> [OpenTTD/OpenTTD] frosch123 opened pull request #13962: Codechange: Add a std::string overload for StrMakeValidInPlace() and a moving std::string&& overload for StrMakeValid(). https://github.com/OpenTTD/OpenTTD/pull/13962
15:19:03 <peter1138> Hmm, can I tell VS Code to use a different build directory...
15:20:59 <peter1138> There's a build directory setting, but that seems more permanent than just switching on a whim.
15:21:08 <DorpsGek> [OpenTTD/OpenTTD] Kuhnovic merged pull request #13885: Fix #11528: Starting autorail dragging from existing track tiles resulted in adding non-continuous tracks. https://github.com/OpenTTD/OpenTTD/pull/13885
15:21:11 <DorpsGek> [OpenTTD/OpenTTD] Kuhnovic closed issue #11528: [Bug]: When building a path through an existing one, the path is also laid under bridges https://github.com/OpenTTD/OpenTTD/issues/11528
15:26:22 *** gelignite has joined #openttd
15:28:57 <DorpsGek> [OpenTTD/OpenTTD] glx22 closed issue #10179: [Crash]: Removing GS from a savegame in scenario editor may crash the game https://github.com/OpenTTD/OpenTTD/issues/10179
15:29:00 <DorpsGek> [OpenTTD/OpenTTD] glx22 commented on issue #10179: [Crash]: Removing GS from a savegame in scenario editor may crash the game https://github.com/OpenTTD/OpenTTD/issues/10179
15:29:52 <DorpsGek> [OpenTTD/OpenTTD] glx22 merged pull request #13896: Fix #10179: [Script] Only run the Game::GameLoop() in-game https://github.com/OpenTTD/OpenTTD/pull/13896
15:46:25 <DorpsGek> [OpenTTD/OpenTTD] frosch123 updated pull request #13962: Codechange: Add a std::string overload for StrMakeValidInPlace() and a moving std::string&& overload for StrMakeValid(). https://github.com/OpenTTD/OpenTTD/pull/13962
15:51:01 <peter1138> Hm.
16:13:58 <DorpsGek> [OpenTTD/OpenTTD] PeterN opened pull request #13963: Fix 44984f8410: Changing ownership of a tunnel/bridge did not check for road transport type. https://github.com/OpenTTD/OpenTTD/pull/13963
16:22:13 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1357752128487162128/image.png?ex=67f158b5&is=67f00735&hm=08a5951a82a24635aa2cea3cd5a882bca64c92fdbc3862846a3f7b98d64c48fb&
16:25:26 <xarick> visual studio always fails at aligning comments
16:30:31 <DorpsGek> [OpenTTD/OpenTTD] PeterN updated pull request #13963: Fix 44984f8410: Changing ownership of a tunnel/bridge did not check for road transport type. https://github.com/OpenTTD/OpenTTD/pull/13963
16:30:34 <peter1138> I don't use Visual Studio, so it's not that.
16:31:43 <xarick> Microsoft
16:32:02 <xarick> happens to me too
16:35:39 <peter1138> In future if you could preface such messages with something that lets us know what change you're talking about.
16:36:21 <peter1138> Took me a while to realise you were talking about my PR.
16:45:59 <xarick> hehe
16:47:27 <peter1138> I also mispelled the branch.
16:49:28 <DorpsGek> [OpenTTD/OpenTTD] frosch123 opened pull request #13964: Codechange: Use fmt::format instead of stringstream with iomanip flags. https://github.com/OpenTTD/OpenTTD/pull/13964
16:52:07 <DorpsGek> [OpenTTD/OpenTTD] frosch123 approved pull request #13963: Fix 44984f8410: Changing ownership of a tunnel/bridge did not check for road transport type. https://github.com/OpenTTD/OpenTTD/pull/13963#pullrequestreview-2743628058
17:06:10 *** Wormnest has joined #openttd
17:06:19 <xarick> I have 22 RemoveList counts in my AI, hmm
17:10:36 *** andythenorth has joined #openttd
17:10:36 <andythenorth> so could we? πŸ˜›
17:10:36 <andythenorth> - add the multithreaded sprite encode to nmlc that frosch123 had a patch for
17:10:36 <andythenorth> - cache the ast/parse results if the nml is unchanged?
17:11:22 <DorpsGek> [OpenTTD/OpenTTD] PeterN merged pull request #13963: Fix 44984f8410: Changing ownership of a tunnel/bridge did not check for road transport type. https://github.com/OpenTTD/OpenTTD/pull/13963
17:11:57 <frosch123> We already tried the latter. Iir c pickling was as fast/slow as nml parsing
17:12:12 <andythenorth> unsurprising
17:12:26 <peter1138> Hmm, I guess scriptlist's memory is not accounted for in the Memory list.
17:12:54 <xarick> it isn't, I noticed that too
17:13:05 <frosch123> But we can cache the nfo section, if only sprites change
17:13:45 <xarick> does AIPriorityQueue has a IsEmpty()?
17:14:23 <andythenorth> currently, with a grfcodec step in every build, I'm trading 4 seconds slower if nml has changed against 10 seconds faster if only sprites changed
17:14:45 <andythenorth> ~18 s for full build, ~8 s for sprites only
17:14:47 <xarick> yes it does
17:16:11 <frosch123> I also wanted to reimplement grfcodec in python using the nml cache stuff, and a special case for sprite0 spritecount. So we can drop legacy grfcodec/nforenum for building ottd
17:17:39 <frosch123> But for now I need to finish string refactoring for ottd release
17:20:18 <andythenorth> πŸ™‚
17:20:29 <andythenorth> I need to finish refactoring Horse so I can finish badges πŸ˜›
17:21:04 <_glx_> peter1138: yeah the memory usage only counts SQVM malloc/free
17:22:23 <_glx_> so script list is partially counted (the OT_INSTANCE SQObject)
17:23:40 <peter1138> Only the object itself which is basically nothing.
17:24:06 <peter1138> Do we have a replacement allocator we can bolt in? :)
17:28:58 <peter1138> Well, Β£20 for fish & chips delivered, so not having that.
17:30:33 *** yiffgirl has joined #openttd
17:30:33 <yiffgirl> food is so absurdly expensive these days
17:31:06 <peter1138> About 1/3rd of that is fees (tax, card, and delivery)
17:31:18 <peter1138> Hmm, not tax.
17:31:42 <peter1138> Paying for the convenience of ordering online.
17:32:17 <yiffgirl> i was about to say, i don't think i've ever seen tax in the uk
17:33:01 <yiffgirl> weird that they'd charge extra for ordering online, you'd have thought that would make their lives easier
17:34:14 <peter1138> It's what happens when you introduce a middlelayer to handle the website and payment processing. It's not something a fish & chip shop has expertise in.
17:34:24 <yiffgirl> ahhh
17:34:42 <yiffgirl> yeah that tracks.
17:34:59 <peter1138> The days of them writing down the card number and inputting it into their machine in the shop are long gone :)
17:39:32 <peter1138> Hmm, this change seems a bit faster.
17:41:12 <peter1138> A 256x256 game with 14 LuDiAi AfterFix AIs running. Master is 65ms/tick, patch is 60ms/tick
17:41:58 <peter1138> (Not directly equivalent as one of the games is now a month and a half ahead.)
17:44:15 *** Flygon has joined #openttd
17:48:31 <xarick> what are you testing?
17:48:40 <xarick> faster AI is nice
17:57:07 <xarick> ```local randomLocalListItemIndex = AIBase.RandRange(localList.Count());
17:57:07 <xarick> unusedTown = Utils.GetNthItem(localList, randomLocalListItemIndex);```
17:57:07 <xarick> Looking for a way to speed this up <https://github.com/SamuXarick/LuDiAI-AfterFix/blob/master/Utils.nut#L46-L66>
17:57:33 <xarick> localList contains towns
17:57:36 <xarick> indexes
17:58:28 *** jfkuayue has joined #openttd
17:58:28 <jfkuayue> 20% VAT
18:01:17 <peter1138> xarick, are you allowed to modify the list?
18:01:36 <peter1138> If so, RemoveTop(6), then the first item is the one you want.
18:06:18 <peter1138> Heh, dunno where I got 6/7 from.
18:25:34 *** gelignite has quit IRC (Quit: Stay safe!)
18:30:53 <peter1138[d]> https://cdn.discordapp.com/attachments/1008473233844097104/1357784506148323528/image.png?ex=67f176dc&is=67f0255c&hm=cc5da609651b49c3636c9d84ebe6301bfa3cd8d5bbc79571e6a25ff96712791e&
18:30:53 <peter1138[d]> "Probably the same"
18:31:16 <peter1138> 5 months ahead now.
18:35:19 <xarick> i can modify the list in one instance
18:37:36 <xarick> let's hope RemoveList isn't cpu spiky
18:38:04 <xarick> or RemoveTop
18:38:35 <peter1138> Well, looping to the nth element is probably faster, tbh.
18:38:49 <peter1138> But costs you opcodes.
18:39:36 <xarick> yes, the balancing act
18:41:30 <peter1138> Have you considered implementing it.Next(n)?
18:42:32 *** tokai|noir has joined #openttd
18:42:32 *** ChanServ sets mode: +v tokai|noir
18:42:36 <peter1138> xarick, if I save a game then load a game with only your AIs running, will it be in the same state as if I had just left it running?
18:42:55 <xarick> nope, that's hardly possible
18:43:01 <peter1138> I figured :(
18:43:16 <xarick> loading is slow
18:43:27 <xarick> i mean cpu spiky, very very huge spikes
18:43:46 <xarick> i am rebuilding the vehiclelists for each route, since I don't save them
18:44:27 <peter1138> Hmm, I wonder if I'm doing unnecessary invalidation.
18:44:58 *** nielsm has joined #openttd
18:46:01 * peter1138 checks regression test again.
18:46:19 <peter1138> 100%, nice.
18:46:30 <peter1138> Hmm, maybe this isn't tested.
18:46:57 <peter1138> Yeah, it is.
18:48:02 *** Wolf01 has joined #openttd
18:49:05 <xarick> `localList.RemoveTop(AIBase.RandRange(localList.Count()));`
18:49:23 <xarick> but it shouldn't remove all
18:49:28 <xarick> hmm
18:49:31 *** tokai has quit IRC (Ping timeout: 480 seconds)
18:49:43 <peter1138> Probably implemented Next(n) would make more sense.
18:49:55 <peter1138> -ed+ing
19:14:41 <andythenorth> should we merge this? πŸ™‚ https://github.com/OpenTTD/nml/pull/358
19:15:46 <DorpsGek> [OpenTTD/OpenTTD] frosch123 opened pull request #13965: Replace Utf8Encode and other C-style string construction with bounds checking StringBuilder class https://github.com/OpenTTD/OpenTTD/pull/13965
19:16:38 <peter1138> The royal we.
19:16:51 <andythenorth> I relinquished merge rights πŸ˜›
19:17:03 <andythenorth> 'mistakes were made'
19:28:41 *** _zephyris has joined #openttd
19:28:41 <_zephyris> Does look extremely useful
19:31:08 <_zephyris> (though persionally, I'd need #if directives to remove all preprocessing)
19:31:22 <andythenorth> how about loops? πŸ˜›
19:31:29 <andythenorth> is that turing complete then?
19:32:29 <yiffgirl> andythenorth: god please yes
19:33:16 <peter1138> Hmm, what notified me...
19:33:24 <xarick> i wonder whether Kuhnovic changes ruin my AI
19:33:40 <peter1138> Hopefully.
19:34:14 <xarick> BuildLongRoad hmm
19:35:02 <DorpsGek> [OpenTTD/nml] zephyris commented on pull request #358: Add: "include" keyword, allowing to include files without external tools https://github.com/OpenTTD/nml/pull/358#issuecomment-2779588984
19:36:27 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1357801007979167914/image.png?ex=67f1863b&is=67f034bb&hm=56ba3620d719774f826b1fe47daa0ef71c8db9e13820f98a22edb504fc0deb4f&
19:36:27 <xarick> hmm...
19:49:58 <xarick> guess I'm too late
19:51:40 <xarick> <https://github.com/OpenTTD/OpenTTD/pull/13885/files#diff-7ee15527fefbab19fec9d50e7ba8442bd2bb9a8940c2d7f187a13e753153841b> I dunno, but... feels wrong
19:51:51 <xarick> treat as already built, except for AIs
19:52:00 <xarick> they're more sensitive in these things
19:53:24 <DorpsGek> [OpenTTD/OpenTTD] frosch123 opened pull request #13966: Remove several C-string functions https://github.com/OpenTTD/OpenTTD/pull/13966
19:53:40 <xarick> need to test how it's affecting the ai
19:59:31 <DorpsGek> [OpenTTD/nml] frosch123 commented on pull request #358: Add: "include" keyword, allowing to include files without external tools https://github.com/OpenTTD/nml/pull/358#issuecomment-2779626571
20:05:19 <DorpsGek> [OpenTTD/OpenTTD] frosch123 updated pull request #13966: Remove several C-string functions https://github.com/OpenTTD/OpenTTD/pull/13966
20:07:29 <DorpsGek> [OpenTTD/OpenTTD] frosch123 updated pull request #13966: Remove several C-string functions https://github.com/OpenTTD/OpenTTD/pull/13966
20:14:11 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1357810503925108998/image.png?ex=67f18f13&is=67f03d93&hm=c470750c1e23bbf04ceec24e475f23a9b268340c0e85ebaca49f73ffa62488be&
20:14:11 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1357810504239812929/image.png?ex=67f18f13&is=67f03d93&hm=ef60e6cdde3aa42b783dd517c32e88e57066b87252b6e5fd792373d6ef18b62b&
20:14:11 <xarick> before and after
20:14:54 <peter1138> That should be expected.
20:18:18 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1357811542061617162/image.png?ex=67f1900a&is=67f03e8a&hm=0a26c97d11bc9c8e441e83022eba73f23b7bbf1486e459e8eacd42bb5aef4238&
20:18:18 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1357811542363734258/Captura_de_ecra_2025-04-04_211727.png?ex=67f1900a&is=67f03e8a&hm=b4c59d0ae0f989dc87dd9e50fff4f22a04863a6c023e8c0a87d44bda7f293c24&
20:18:48 <xarick> is this supposed to pass?
20:19:26 <xarick> well whatever
20:20:34 <peter1138> I would say no on that.
20:21:14 <peter1138> Just pick the conditions clearly instead of just complaining about "ruining my AI"
20:22:18 <xarick> I was depending on already built error message to detect a road connection between station and front tile
20:22:36 <xarick> guess it's still fine
20:22:42 <xarick> now it won't error
20:23:47 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1357812919709991176/image.png?ex=67f19153&is=67f03fd3&hm=25fd02578e340c762262cdfc191c2bcfd652af2a1b4b8069cf1eb8d7a5a5717d&
20:23:47 <xarick> this situation
20:28:47 <kuhnovic> xarick: This is the "ignore the first part of the drag until you hit a valid tile". That's actually been in for a long time now.
20:33:40 <peter1138[d]> https://cdn.discordapp.com/attachments/1008473233844097104/1357815409281335547/image.png?ex=67f193a4&is=67f04224&hm=4dd892882aec17125840df95efb309d5b17ab7d68bfb1e6a4a5a2a2189a0cdd3&
20:33:40 <peter1138[d]> Not-tracking vs tracking ScriptList memory usage.
20:34:33 <peter1138[d]> Not stopped at exactly the same tick so some is just missing allocations.
20:35:51 <yiffgirl> pipe dream feature request: .dot [ie, graphviz] export for nmlc
20:37:02 <yiffgirl> i think andy is the only other person who's mentioned graphviz though so it'd be a Cool Feature for precisely two people
20:37:18 <xarick> `if (!AIRail.IsRailTile(par.GetTile()) || (AITestMode() && !AIRoad.BuildRoad(path.GetTile(), par.GetTile()) || AIError.GetLastErrorString() == "ERR_ALREADY_BUILT") && !AIRail.IsLevelCrossingTile(par.GetTile())) {`
20:38:12 <xarick> translation: if (building a road here won't result in a level crossing tile) { do stuff
20:40:39 <kuhnovic> And just a little heads up Xarick, I am planning to have another go at the remove-already-built-error that I believe you originally created. If that works out there will no longer be any already built error for ai's to stop for.
20:43:12 <kuhnovic> Sorry, that wasn't you, that was Xaroth. I should go to bed. I'm talking about 10534 by the way.
20:43:54 <xarick> Xarick is the name of my black cat, already deceased 😦
20:44:26 <DorpsGek> [OpenTTD/OpenTTD] PeterN updated pull request #13940: Codechange: Store loaded GRFFiles in vector directly. https://github.com/OpenTTD/OpenTTD/pull/13940
20:46:10 <frosch123> yiffgirl: For plotting cargo flows? Or for plotting code structure / switch chains? We did both
20:47:01 <yiffgirl> wait really?
20:48:00 <yiffgirl> i don't see it in the --help text
20:48:44 <frosch123> For code structure we had https://github.com/frosch123/quaking/tree/main/stream20210402
20:48:44 <frosch123> There is also the VOD on yt. Though I guess we did not go into much detail
20:49:30 <frosch123> yiffgirl: Nah, not in nml. It was just a quick hack with external parsing
20:50:33 <DorpsGek> [OpenTTD/OpenTTD] PeterN updated pull request #13948: Codechange: Move ownership of Orders to OrderList. https://github.com/OpenTTD/OpenTTD/pull/13948
20:51:54 <yiffgirl> frosch123: i have to ask - is the "we" plural? or are you talking about a group
20:51:55 <peter1138> Damning for the livery window.
20:52:59 <DorpsGek> [OpenTTD/OpenTTD] PeterN updated pull request #13948: Codechange: Move ownership of Orders to OrderList. https://github.com/OpenTTD/OpenTTD/pull/13948
20:53:17 <frosch123> "We" = "people in this chat"
20:53:26 <yiffgirl> gotcha
20:54:09 <frosch123> If you scroll back to 2021 , you will find it :p
20:54:38 <frosch123> Or check the stream vod
21:00:37 <_zephyris> https://cdn.discordapp.com/attachments/1008473233844097104/1357822191101677649/image.png?ex=67f199f5&is=67f04875&hm=e7bb7ea67c01c7cccbb5bbd7d7b5534552ef283bf5fb44ec0a01a687703d773e&
21:00:37 <_zephyris> Is this a little layout bug? The "Platform:" string crashing into the line above?
21:04:01 <xarick> im out of ideas
21:04:17 <xarick> detecting a to-become level crossing tile is now more complicated
21:06:44 <xarick> <https://github.com/SamuXarick/LuDiAI-AfterFix/blob/master/RoadvehBuildManager.nut#L915>
21:15:17 <xarick> multiple AIs building the same road and not getting the already built error
21:15:29 <xarick> will it still work
21:16:53 <xarick> this feels so wrong
21:17:08 <xarick> not even a OWNED by competitor error
21:17:16 <xarick> it just passes
21:21:46 <_zephyris> _zephyris: https://github.com/OpenTTD/OpenTTD/blob/68fd949a52840f24e50dc32ab1338df7977fa953/src/settings_gui.cpp#L198
21:27:37 <DorpsGek> [OpenTTD/OpenGFX2] LC-Zorg opened issue #160: The chessboard pattern of the toyland is tiring for the eyes and can be a health hazard https://github.com/OpenTTD/OpenGFX2/issues/160
21:31:50 *** truebrain has joined #openttd
21:31:50 <truebrain> Lol
21:31:57 <truebrain> Okay, that title cracked me up
21:32:40 <DorpsGek> [OpenTTD/OpenGFX2] LC-Zorg opened issue #161: Smaller interface buttons https://github.com/OpenTTD/OpenGFX2/issues/161
21:36:07 <DorpsGek> [OpenTTD/OpenGFX2] PeterN closed issue #161: Smaller interface buttons https://github.com/OpenTTD/OpenGFX2/issues/161
21:36:10 <DorpsGek> [OpenTTD/OpenGFX2] PeterN commented on issue #161: Smaller interface buttons https://github.com/OpenTTD/OpenGFX2/issues/161
21:40:33 <DorpsGek> [OpenTTD/OpenGFX2] LC-Zorg opened issue #162: Weird road waypoint graphics https://github.com/OpenTTD/OpenGFX2/issues/162
21:43:07 <DorpsGek> [OpenTTD/OpenGFX2] PeterN commented on issue #162: Weird road waypoint graphics https://github.com/OpenTTD/OpenGFX2/issues/162
21:45:12 <peter1138> What should a list iterator return if it's reached the end?
21:45:30 *** reldred has joined #openttd
21:45:30 <reldred> get absolutely zorged on
21:46:13 <frosch123> _zephyris: Adjust the numbers in setpip
21:46:52 <frosch123> Though maybe that needs a window method to make it depend on fontsize
21:47:06 <_zephyris> But it's a `NWID_HORIZONTAL` widget, so doesn't `SetPIP` shift it horizontally?
21:47:10 <frosch123> Maybe check how the game options do it
21:47:12 <peter1138> What font is that?
21:47:31 <_zephyris> I tried it with original graphics sprite font and the truetype
21:47:37 <_zephyris> Looks like a genuine layout bug
21:47:50 <_zephyris> ie. not font-linked
21:48:06 <frosch123> I guess the frame can use setpip as well
21:48:07 <DorpsGek> [OpenTTD/OpenGFX2] LC-Zorg commented on issue #161: Smaller interface buttons https://github.com/OpenTTD/OpenGFX2/issues/161
21:48:15 <peter1138> There should be padding built-in to the frame widget, it shouldn't need anything extra.
21:49:30 <peter1138> I won
21:49:34 <peter1138> I wonder what I broke :)
21:49:49 <DorpsGek> [OpenTTD/OpenGFX2] WenSimEHRP commented on issue #161: Smaller interface buttons https://github.com/OpenTTD/OpenGFX2/issues/161
21:50:38 <DorpsGek> [OpenTTD/OpenGFX2] zephyris commented on issue #160: The chessboard pattern of the toyland is tiring for the eyes and can be a health hazard https://github.com/OpenTTD/OpenGFX2/issues/160
21:51:16 <peter1138> Adding PIP or padding here is wrong.
21:51:45 <_zephyris> Everywhere else I see the frame widget being used is framing non-text widgets...
21:51:55 <_zephyris> So presumably a padding corner case from that?
21:52:39 <frosch123> https://github.com/OpenTTD/OpenTTD/blob/master/src/widget.cpp#L2258
21:53:32 <peter1138> Yes, that's what I'm thinking.
21:53:49 <peter1138> It's a wrong since switching to local string parameters.
21:54:29 <DorpsGek> [OpenTTD/OpenGFX2] zephyris commented on issue #161: Smaller interface buttons https://github.com/OpenTTD/OpenGFX2/issues/161
21:55:41 *** keikoz has quit IRC (Ping timeout: 480 seconds)
21:56:04 <peter1138> Fix incoming :D
21:57:19 <peter1138[d]> https://cdn.discordapp.com/attachments/1008473233844097104/1357836460639916254/image.png?ex=67f1a73f&is=67f055bf&hm=7be219d6920e598f4ed29ed0eaa6c1aa066271f26547098563be1e554a65222f&
21:57:20 <peter1138[d]> Better
21:58:37 <xarick> overbuilding a tunnel as an AI no longer returns ERR_ALREADY_BUILT or was it always the case?
21:58:54 <xarick> ps: AI owns the tunnel
21:59:27 <DorpsGek> [OpenTTD/OpenGFX2] zephyris closed issue #162: Weird road waypoint graphics https://github.com/OpenTTD/OpenGFX2/issues/162
21:59:30 <DorpsGek> [OpenTTD/OpenGFX2] zephyris commented on issue #162: Weird road waypoint graphics https://github.com/OpenTTD/OpenGFX2/issues/162
22:00:44 <DorpsGek> [OpenTTD/OpenGFX2] zephyris closed issue #162: Weird road waypoint graphics https://github.com/OpenTTD/OpenGFX2/issues/162
22:01:49 *** jinks has quit IRC (Quit: ZNC - http://znc.in)
22:02:00 <_zephyris> reldred: To be fair, I did ask to get zorged... Better to be individual issues on the right repo than a wall of text elsewhere.
22:02:10 *** jinks has joined #openttd
22:02:24 <_zephyris> I thought there were some real little issues/bugs in that wall of text, but can't quite .
22:04:03 <_zephyris> peter1138[d]: Does that shift frames around language dropdown etc?
22:06:50 <DorpsGek> [OpenTTD/OpenTTD] PeterN opened pull request #13967: Fix d94d421772: Frame widget with label had incorrect spacing. https://github.com/OpenTTD/OpenTTD/pull/13967
22:07:00 <DorpsGek> [OpenTTD/OpenGFX2] LC-Zorg opened issue #163: The ground graphics look blurry and indistinct https://github.com/OpenTTD/OpenGFX2/issues/163
22:07:54 <peter1138> _zephyris, what do you mean?
22:08:21 <peter1138> Oh, no, they still worked because those widgets have a default string.
22:08:28 <_zephyris> https://cdn.discordapp.com/attachments/1008473233844097104/1357839263286431866/image.png?ex=67f1a9db&is=67f0585b&hm=39d69678872990bb1071086171c26682c7bf41b4938fc40e05edfb133344bf6b&
22:11:49 <xarick> ERR_ALREADY_BUILT already ruining my rails πŸ™‚
22:11:53 <xarick> fantastic!
22:12:09 <peter1138> xarick, have you tried phrasing this better?
22:12:30 <xarick> heh?
22:12:36 <peter1138> I'm serious.
22:13:02 <peter1138> Have you tried phrasing it in a way that helps understand what is or isn't an issue.
22:15:19 <xarick> hold on, i rather make a video
22:16:18 <peter1138> How about no.
22:16:58 <xarick> I'm not good at describing. I see that the AI is having trouble removing rails
22:17:27 <xarick> haven't pinpointed where stuff goes wrong yet
22:19:00 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
22:21:09 <DorpsGek> [OpenTTD/OpenGFX2] PeterN commented on issue #163: The ground graphics look blurry and indistinct https://github.com/OpenTTD/OpenGFX2/issues/163
22:24:32 <DorpsGek> [OpenTTD/OpenGFX2] LC-Zorg opened issue #164: Too bright not fully snow-covered slopes or too dark not fully snow-covered flat tiles https://github.com/OpenTTD/OpenGFX2/issues/164
22:24:42 <DorpsGek> [OpenTTD/OpenGFX2] zephyris commented on issue #163: The ground graphics look blurry and indistinct https://github.com/OpenTTD/OpenGFX2/issues/163
22:27:47 <DorpsGek> [OpenTTD/OpenGFX2] zephyris commented on issue #164: Too bright not fully snow-covered slopes or too dark not fully snow-covered flat tiles https://github.com/OpenTTD/OpenGFX2/issues/164
22:27:58 *** kuka_lie has quit IRC (Quit: Lost terminal)
22:29:19 <DorpsGek> [OpenTTD/OpenGFX2] zephyris updated pull request #158: Zoom out optimisations https://github.com/OpenTTD/OpenGFX2/pull/158
22:31:10 *** nielsm has quit IRC (Ping timeout: 480 seconds)
22:40:18 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1357847273291386970/2025-04-04_23-39-02.mp4?ex=67f1b151&is=67f05fd1&hm=9e00da070f472f9bc1b447914efab998d20deb820f12040c4d833b73c921406b&
22:40:18 <xarick> old master vs current master
22:41:14 <xarick> old master removes the entire stations and depots and rails
22:41:38 <xarick> current master fails at doing that due to... Kuhnovic
22:42:25 <xarick> same version of the script on both
22:43:49 <xarick> gonna enable error messages, see where bad stuff happen
22:50:21 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1357849803920379925/image.png?ex=67f1b3ac&is=67f0622c&hm=e72073f46ecf987bcc8a99da438bd909c0794cfbd9f8f808c1aaac54238e7823&
22:51:18 <xarick> removing rail tracks
22:55:32 <xarick> <https://github.com/SamuXarick/LuDiAI-AfterFix/blob/master/TrainBuildManager.nut#L536>
22:55:38 <xarick> this part is so complicated 😦
22:55:43 <xarick> I hate my own code
23:06:01 <xarick> CreateFromTile has a copy/paste bug I think
23:09:21 <xarick> inconsequential though, still has the problem
23:11:58 <xarick> i'll take a better look at this tomorrow, cyas good night
23:14:04 <DorpsGek> [OpenTTD/OpenGFX2] LC-Zorg commented on issue #163: The ground graphics look blurry and indistinct https://github.com/OpenTTD/OpenGFX2/issues/163
23:16:13 <DorpsGek> [OpenTTD/nml] glx22 commented on pull request #358: Add: "include" keyword, allowing to include files without external tools https://github.com/OpenTTD/nml/pull/358#issuecomment-2779887745
23:50:35 <DorpsGek> [OpenTTD/nml] glx22 updated pull request #358: Add: "include" keyword, allowing to include files without external tools https://github.com/OpenTTD/nml/pull/358