IRC logs for #openttd on OFTC at 2025-02-11
            
00:22:38 <DorpsGek> [OpenTTD/OpenTTD] zephyris updated pull request #12131: Fix: Scale graph gridlines and axes with GUI scale https://github.com/OpenTTD/OpenTTD/pull/12131
00:56:23 *** keikoz has joined #openttd
01:05:32 <DorpsGek> [OpenTTD/OpenTTD] JGRennison updated pull request #13527: Codechange: Compile fmt internals in a separate translation unit https://github.com/OpenTTD/OpenTTD/pull/13527
01:06:28 *** keikoz has quit IRC (Ping timeout: 480 seconds)
01:21:37 <DorpsGek> [OpenTTD/OpenTTD] JGRennison commented on pull request #13527: Codechange: Compile fmt internals in a separate translation unit https://github.com/OpenTTD/OpenTTD/pull/13527#issuecomment-2649607730
02:00:02 <DorpsGek> [OpenTTD/OpenTTD] JGRennison updated pull request #13527: Codechange: Compile fmt internals in a separate translation unit https://github.com/OpenTTD/OpenTTD/pull/13527
03:20:31 <DorpsGek> [OpenTTD/OpenTTD] glx22 commented on pull request #13527: Codechange: Compile fmt internals in a separate translation unit https://github.com/OpenTTD/OpenTTD/pull/13527#pullrequestreview-2607608356
03:27:11 *** Wormnest has quit IRC (Quit: Leaving)
03:51:13 *** godbed has joined #openttd
03:51:19 *** Zathras has joined #openttd
03:54:34 *** D-HUND has quit IRC (Ping timeout: 480 seconds)
03:54:44 *** debdog has quit IRC (Ping timeout: 480 seconds)
04:11:54 <DorpsGek> [OpenTTD/OpenTTD] Awesome0n3 opened issue #13529: [Bug]: Train Pathing Under Road Bridge https://github.com/OpenTTD/OpenTTD/issues/13529
04:16:10 <DorpsGek> [OpenTTD/OpenTTD] Awesome0n3 opened issue #13530: [Bug]: Train Pathing to Depot https://github.com/OpenTTD/OpenTTD/issues/13530
04:16:14 *** Flygon has joined #openttd
04:23:14 <DorpsGek> [OpenTTD/OpenTTD] Awesome0n3 started discussion #13531: Request update to localization https://github.com/OpenTTD/OpenTTD/discussions/13531
04:26:49 <DorpsGek> [OpenTTD/OpenTTD] PikkaBird commented on issue #13529: [Bug]: Train Pathing Under Road Bridge https://github.com/OpenTTD/OpenTTD/issues/13529
04:43:12 <DorpsGek> [OpenTTD/OpenTTD] eints-sync[bot] pushed 1 commits to master https://github.com/OpenTTD/OpenTTD/commit/08e451e6d934baccd736c0662c5feffa78cc55b2
04:43:13 <DorpsGek> - Update: Translations from eints (by translators)
05:08:44 *** keikoz has joined #openttd
06:08:48 *** keikoz has quit IRC (Ping timeout: 480 seconds)
06:34:30 *** barbagus has joined #openttd
06:35:54 <barbagus> Hi there, I'm trying to use the admin port (Windows, 14.1) but after setting a password in the secrets.cfg the port (3977) does not seem to open (netstat)... any idea ?
07:07:12 *** kuka_lie has joined #openttd
07:17:52 *** barbagus has quit IRC (Quit: Page closed)
07:51:17 *** nielsm has joined #openttd
08:20:11 *** keikoz has joined #openttd
09:00:38 <xarick> hi
09:42:20 <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #13522: Codechange: [Script] Improve type checking of parameters https://github.com/OpenTTD/OpenTTD/pull/13522#pullrequestreview-2608176337
09:44:16 <xarick> gonna upgrade to 14 or 15
09:44:26 <xarick> use the AsyncMode
09:47:24 <DorpsGek> [OpenTTD/OpenTTD] LordAro commented on pull request #13522: Codechange: [Script] Improve type checking of parameters https://github.com/OpenTTD/OpenTTD/pull/13522#issuecomment-2650292001
09:52:51 <DorpsGek> [OpenTTD/OpenTTD] JGRennison commented on pull request #13527: Codechange: Compile fmt internals in a separate translation unit https://github.com/OpenTTD/OpenTTD/pull/13527#pullrequestreview-2608204508
10:08:56 *** nielsm has quit IRC (Ping timeout: 480 seconds)
10:15:17 <xarick> autoformating in visual code is dumb
10:15:27 <xarick> how do i ... customize it to my liking
10:15:57 <xarick> the language is squirrel
10:21:59 *** asymptotically2 has quit IRC (Write error: connection closed)
10:22:15 <_zephyris> Soo, what flavour of dumb am I being today?
10:22:15 <_zephyris> In file included from .../GitHub/openttd/src/debug.h:15,
10:22:15 <_zephyris> from .../GitHub/openttd/src/string.cpp:11:
10:22:15 <_zephyris> .../GitHub/openttd/src/core/format.hpp:33:13: error: redefinition of ‘struct fmt::v10::formatter<E, Char>’
10:22:15 <_zephyris> 33 | struct fmt::formatter<T, Char> : fmt::formatter<typename T::BaseType> {
10:22:16 <_zephyris> | ^~~~~~~~~~~~~~~~~~
10:22:16 <_zephyris> .../GitHub/openttd/src/core/format.hpp:17:13: note: previous definition of ‘struct fmt::v10::formatter<E, Char>’
10:22:18 <_zephyris> 17 | struct fmt::formatter<E, Char> : fmt::formatter<typename std::underlying_type_t<E>> {
10:22:18 <_zephyris> | ^~~~~~~~~~~~~~~~~~
10:22:20 <_zephyris> make[2]: *** [src/settingsgen/CMakeFiles/settingsgen.dir/build.make:146: src/settingsgen/CMakeFiles/settingsgen.dir/__/string.cpp.o] Error 1
10:22:20 <_zephyris> make[1]: *** [CMakeFiles/Makefile2:2202: src/settingsgen/CMakeFiles/settingsgen.dir/all] Error 2
10:22:22 <_zephyris> make: *** [Makefile:166: all] Error 2
10:31:34 <kuhnovic> You probably made a mistake in a call to fmt::format, and the compiler is going a tangent an freaking out
10:37:06 <kuhnovic> Just like the compiler spitting out several pages worth of perfect fowarding related templating nonsense because of a tiny mistake. Modern C++ is nice and all, but the error output can become complete gibberish then several layers of templating are involved.
10:38:34 <kuhnovic> And of course this is happening inside boost's unit test macro's, which makes it even worse. FML 😆
10:40:32 <_zephyris> Makes sense... but annoying.
10:41:02 <_zephyris> I was expecting to be chasing a syntax error from messing up a rebase conflict, this error really threw me off!
10:42:22 <_jgr_> _zephyris: You need to use a newer version of gcc, recent changes no longer work with gcc 11
10:44:25 *** enveeed has joined #openttd
10:44:25 <enveeed> Hey everyone, im looking to find the place in code where the decision is made to draw either the loading or loaded sprite set of a vehicle.
10:44:25 <enveeed> I thought I found it in `VehicleResolverObject::ResolveReal` in `newgrf_engine` but this seems to never be called for some reason
10:45:48 <peter1138> It's a virtual method, it's not called directly.
10:46:27 <enveeed> ah aight, im pretty new to cpp
10:46:48 <enveeed> is there any other place where this check is done?
10:47:41 <peter1138> There's two ways it happens, depends if you're looking at the default vehicles, or NewGRF addon vehicles.
10:47:59 <enveeed> looking for newgrf only for now
10:48:57 <peter1138> Okay, that method is the right place.
10:49:18 <enveeed> this doesnt seem to be the correct function, I changed it to always return the loading set regardless of any checks but in-game it still only shows up when in a station
10:51:10 <enveeed> https://cdn.discordapp.com/attachments/1008473233844097104/1338824644932669451/image.png?ex=67ac7d1d&is=67ab2b9d&hm=a8bb0a21dc941dc0a917ecca3f0c65b2a43815363aa54e9fbff754dab1ea6603&
10:51:10 <enveeed> https://cdn.discordapp.com/attachments/1008473233844097104/1338824645587107892/image.png?ex=67ac7d1d&is=67ab2b9d&hm=2708b1da8779699300dc2461019634bee315d8f4088ced6c55731c05aea2423e&
10:51:10 <enveeed> if I got this right, this should only ever show the wagons with open doors, even when the train is in motion
10:51:27 <enveeed> but it just does not make any difference, seems to me like there is another place where the sprite is decided
10:52:41 <enveeed> https://cdn.discordapp.com/attachments/1008473233844097104/1338825029210734623/image.png?ex=67ac7d79&is=67ab2bf9&hm=f8a387f023caea38b40c0ecced80dea81ac7f13cfafeb4440ca7e6fab78b3e6e&
10:52:41 <enveeed> should look like this
10:54:43 <peter1138> You should just force in_motion to false at the start, otherwise there could be an out-of-bounds read.
10:55:25 <enveeed> ty, ill try that
10:58:29 <enveeed> okay something is definitely wrong here, I just replaced the entire function with a null return for the sake of it and everything still works perfectly, seems to me that it just is not getting called in my case?
10:58:56 <enveeed> or something is wrong with my setup
10:59:11 <enveeed> inserting random print statements elsewhere works fine, I checked that
11:00:43 <peter1138> Well, add a breakpoint and see if it's triggered. (Add one somewhere you know a breakpoint will be reached first.)
11:02:23 <enveeed> yeah that was the first thing I tried and it didnt hit, blamed it on my setup and the fact that its a virtual function initially lol
11:02:35 <enveeed> hm lets see how close I can get to it
11:04:32 <_jgr_> NewGRFs aren't required to use real sprite groups to detect the loading state, you may want to try changing the value returned for vehicle variable 0x8A
11:08:52 <peter1138> Yeah, true, we 'optimised' the real stuff away if NewGRF only even returns one sprite.
11:10:01 <enveeed> ahh thank you, ill take a look at that
11:25:20 <peter1138> 8A isn't mentioned in NML, but I suppose someone could be manually accessing it.
11:30:52 <enveeed> yeah, I just checked the iron horse source and they do
11:31:39 <peter1138> ANDY WHAT HAVE YOU DONE
11:33:05 <peter1138> This is probably a case of not know that this is default behaviour of loaded/loading sprites, so finding some other way to do it.
11:33:15 <enveeed> https://github.com/andythenorth/iron-horse/blob/main/src/templates/procedures_opening_doors.pynml
11:33:40 <peter1138> Yeah.
11:33:47 <peter1138> Same with procedues_visible_cargo.pynml.
11:34:14 <peter1138> Reimplementing the amount of cargo loaded, which loaded/loading sprites have built in already.
11:34:18 <peter1138> ANDY NO
11:35:13 <peter1138> Someone will tell me it's all better anyway and I should get over it.
11:35:17 <peter1138> And I will rage quit.
11:35:23 <peter1138> And we'll all be better off.
11:35:37 <kuhnovic> https://cdn.discordapp.com/attachments/1008473233844097104/1338835834845138967/image.png?ex=67ac8789&is=67ab3609&hm=467a52b77226ebebcd3378e333a50eceeebec217f295746cbbefd15af95f2089&
11:35:37 <kuhnovic> Gotta love this
11:36:56 <peter1138> You used to be able to get a dongle that pretend to be a keyboard, to get around that.
11:37:07 <peter1138> These days you'd just use the dongle from a cheap wireless keyboard instead.
11:39:18 <xarick> asynchronows mode... hmm
11:40:45 <kuhnovic> Not in this case, because it's on a Dutch train 😛
11:42:11 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1338837487212298270/2025-02-11_11-41-35.mp4?ex=67ac8913&is=67ab3793&hm=077b485372feb266cbdf55c70e454eeedd56bef6161500c9f838dbd533986a72&
11:42:47 <xarick> lagynchronous mode!
11:43:33 <peter1138> If you constantly send out updates and never sleep, yes.
11:43:51 <xarick> I Sleep(1)
11:44:37 <peter1138> One whole tick.
11:47:16 <xarick> without pause
11:47:19 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1338838776042098688/2025-02-11_11-46-28.mp4?ex=67ac8a46&is=67ab38c6&hm=4edc59bc58c3d9a772426fc12cb63fffd3e7f181c0bc5ce21cdeb35d81b7aa0d&
11:47:45 <peter1138> Great, it's working.
11:49:04 <xarick> i have some tables taking way too long to compute
11:49:26 <xarick> the infrastructure efficiency ones are bad 😦
11:52:26 <xarick> one more video
11:52:43 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1338840133239181405/2025-02-11_11-50-21.mp4?ex=67ac8b8a&is=67ab3a0a&hm=dd56c07f15959193084bfbc3cf2e6f53bdd36401c9a3766b494099ed3196b751&
11:54:25 <xarick> took 1 minute to prepare the data
11:54:25 <_glx_> Don't update GUI every tick it's silly
11:54:52 <xarick> table was stalled with old data
11:54:59 <xarick> till 1 minute in
11:55:35 <andythenorth> was it lunch?
11:55:52 <_glx_> Once per economy month should be more than enough
11:57:09 *** godbed has quit IRC (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
11:57:10 <xarick> i might need to add that as a feature... decide how often tables are updated
11:57:19 <xarick> seems to be a common request from you
11:58:11 <andythenorth> peter1138: maybe I should restore loaded / loading and try to remember what the reason for not using it was
11:58:24 <andythenorth> it's been copied around between 5 versions of 3 different grfs
11:58:28 <peter1138> Layers probably involved somewhere.
11:58:41 <andythenorth> nah, it was something about wanting specifically 100% for some vehicle type
11:58:49 <andythenorth> but that might have been 10 years ago
11:58:54 <andythenorth> and not relevant
11:59:03 <andythenorth> 🤷‍♂️
11:59:35 *** asymptotically2 has joined #openttd
12:00:18 <andythenorth> something like boats with one empty state, two loading states, and a hatch cover or something
12:00:29 <andythenorth> I'll try changing it when my big refactor is done
12:00:44 <ahyangyi> How big is a big refactor 😮
12:01:51 <andythenorth> 7
12:01:52 <peter1138> Different numbers of loading and loaded states has always been supported.
12:02:32 <andythenorth> doesn't nml require them both to be the same?
12:02:47 * andythenorth to the docs
12:02:50 <peter1138> But don't refactor just because I'm moaning. Clearly the way you do it works too. Just causes confusion to the old people.
12:03:13 <andythenorth> you're not the first one to encounter this
12:04:31 <andythenorth> might need to verify in actual grf but
12:04:33 <andythenorth> `loading is used when the vehicle is loading within the station`
12:04:41 <andythenorth> `loaded is used when the vehicle is travelling`
12:04:56 <andythenorth> so to show doors or covers only at 100% would require ~100 spritesets
12:05:28 <andythenorth> if there is empty -> load sprite 1 -> load sprite 2 -> doors
12:05:52 <andythenorth> then empty shows until 25%, load sprite 1 until 50%, load sprite 2 until 75%, then the doors close
12:06:52 <andythenorth> [this is a guess]
12:07:42 <andythenorth> https://github.com/andythenorth/iron-horse/blob/main/src/templates/procedures_visible_cargo.pynml#L14
12:07:43 <andythenorth> hmm
12:08:01 <andythenorth> shows 'partial load' from 1% to 66%
12:08:08 <andythenorth> "made sense at the time"
12:08:17 <peter1138> 11:35 <@peter1138> Someone will tell me it's all better anyway and I should get over it.
12:09:03 *** Zathras is now known as debdog
12:09:06 <andythenorth> now I want to know what var loading / loaded uses again 😛
12:09:14 <andythenorth> and how it implements the boundaries
12:09:18 <peter1138> It's not a var...
12:10:10 <andythenorth> I could just add spritesets to the spritegroup until I get the effect I want
12:10:32 <peter1138> No, it's intentionally "about here" type stuff.
12:11:35 <peter1138> `cargo_amount * number of sprites / max(1, cargo_capacity)` (division by zero, eh)
12:12:33 <andythenorth> do original sprites have part-load?
12:12:37 * andythenorth looks
12:12:46 <peter1138> Although that will actually only show the last sprite if it's 100% loaded.
12:12:48 <peter1138> No.
12:12:54 <peter1138> Maybe.
12:13:40 <peter1138> Default show cargo if it's at least half full.
12:14:25 <andythenorth> yeah so when I started drawing sprites there was a convention to add half-full sprites
12:14:38 <andythenorth> but with empty-full-loaded, they trigger at 33%
12:14:53 <ahyangyi> yes, 34% rounds to 50%
12:14:56 <ahyangyi> makes sense
12:14:57 <andythenorth> in retrospect, empty / full would have done the job
12:16:47 <peter1138> Actually I was wrong.
12:17:21 <peter1138> Usually I'm wrong.
12:17:32 <andythenorth> usually, we're all wrong
12:17:49 <andythenorth> or, we're all usually wrong
12:17:51 <andythenorth> not sure which
12:17:54 <peter1138> There's an off-by-one there :)
12:18:52 <peter1138> If you have 3 sprites, the transition points will indeed be at 33% and 66%.
12:19:17 <peter1138> 4 sprites will be 25%, 50% and 75%.
12:20:00 <peter1138> Anyway, carry on, whatever, it works anyway.
12:20:21 <andythenorth> it does, but I always feel it's wrong somehow
12:20:32 <andythenorth> like eating Frosties
12:20:59 <peter1138> A bit like choosing cargo type at the action 3 level. It was originally core to how different sets selected graphics, now you probably just have a massive switch instead.
12:29:25 <andythenorth> does nml even have a construct akin to action 3?
12:32:42 <andythenorth> `For vehicles and stations, a cargo type (identifier from the cargo table) may be used as callback name, to provide cargo-specific graphics.`
12:32:55 <andythenorth> interesting
12:37:17 <andythenorth> well
12:37:44 <andythenorth> wonder how much varact 2 time I'd save by implementing that
12:38:09 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1338851570703532102/image.png?ex=67ac9631&is=67ab44b1&hm=6ef46740e3492eebfc5998e910acf0f4acf626b1f2e9e91bba83025a604fb49d&
12:38:09 <andythenorth> currently a lot of time is spent on act2
12:44:24 <peter1138> The callback system gets in the way.
12:44:54 <peter1138> NFO allows you do have completely different callbacks on each of the graphics chains.
12:45:36 <andythenorth> yes
12:46:17 <peter1138> Not sure how NML handles it, I guess you it just tests for a callback and chains to the main callback switch.
12:46:21 <peter1138> -you
12:52:54 <andythenorth> I won't read the nfo to find out 🙂
13:20:29 <peter1138> Rewrite in NFO?
13:24:26 <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #13526: Codechange: Use ProviderManager to define screenshot generators. https://github.com/OpenTTD/OpenTTD/pull/13526#pullrequestreview-2608745112
13:27:22 <xarick> I want HDR support
13:27:46 <xarick> but I have no idea what that entails
13:37:05 <kuhnovic> "I have no idea what it is but I want it"
13:37:21 <kuhnovic> The marketing department deserves a bonus
13:54:27 <xarick> the index .tobool() doesn't exist... then what does exist?
13:59:27 <xarick> integer to bool doesn't exist indeed 😦
14:02:23 <xarick> this.async_mode = GSAsyncMode(GSController.GetSetting("async_mode") != 0);
14:05:02 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1338873437648719974/image.png?ex=67acaa8e&is=67ab590e&hm=fd4e8607601151669e5ae587f3a91efd177705eb5b9f394a6a847384b6b9014e&
14:05:02 <xarick> what an annoying function
14:52:07 <_glx_> it's not a function, it's a scoped object
14:53:07 <_glx_> works the same as TestMode and CompanyMode
15:02:47 *** HerzogDeXtEr has joined #openttd
15:03:31 <DorpsGek> [OpenTTD/OpenTTD] glx22 updated pull request #13522: Fix: [Script] Improve type checking of parameters https://github.com/OpenTTD/OpenTTD/pull/13522
15:08:16 <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #13522: Fix: [Script] Improve type checking of parameters https://github.com/OpenTTD/OpenTTD/pull/13522#pullrequestreview-2609056604
15:09:12 *** virtualrandomnumber has joined #openttd
15:09:39 *** virtualrandomnumber has quit IRC ()
15:10:12 <peter1138> I mean... I think.
15:12:59 <_glx_> hmm indeed `.get()` is not needed, but it actually might be better to set a comparator in the std:set itself
15:15:56 <peter1138> unordered_set might be better too.
15:23:02 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 commented on pull request #13526: Codechange: Use ProviderManager to define screenshot generators. https://github.com/OpenTTD/OpenTTD/pull/13526#pullrequestreview-2609100906
15:32:42 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 approved pull request #13528: Codechange: Use EncodedString for Query window. https://github.com/OpenTTD/OpenTTD/pull/13528#pullrequestreview-2609134358
15:42:05 <DorpsGek> [OpenTTD/OpenTTD] merni-ns commented on discussion #13531: Request update to localization https://github.com/OpenTTD/OpenTTD/discussions/13531
15:44:31 <DorpsGek> [OpenTTD/OpenTTD] github-advanced-security[bot] commented on pull request #13522: Fix: [Script] Improve type checking of parameters https://github.com/OpenTTD/OpenTTD/pull/13522#pullrequestreview-2609168856
15:44:51 <peter1138> Heh
15:46:23 <merni> lol
15:47:00 <merni> `_ [[maybe_unused]]` ?
15:47:36 <merni> except it's not maybe unused but certainly
16:06:10 <_glx_> no we can't mark, the only way is to discard CodeQL report
16:08:24 *** Wormnest has joined #openttd
16:10:09 <DorpsGek> [OpenTTD/OpenTTD] glx22 updated pull request #13522: Fix: [Script] Improve type checking of parameters https://github.com/OpenTTD/OpenTTD/pull/13522
16:40:18 *** nielsm has joined #openttd
17:00:38 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1338917626604421180/image.png?ex=67acd3b6&is=67ab8236&hm=dfa6cfa43df00a57dac3d3632b5cac203d2234bfac2a6bfda7572b24a29e7944&
17:01:18 <xarick> this doesn't work the way I'd like
17:01:52 <xarick> if the window is not open, it won't receive the update
17:02:34 <xarick> if you suddenly open the window, the update you got there is from the last time the window was open, if ever
17:20:28 <DorpsGek> [OpenTTD/OpenTTD] PeterN updated pull request #13526: Codechange: Use ProviderManager to define screenshot generators. https://github.com/OpenTTD/OpenTTD/pull/13526
17:24:23 *** urdh has joined #openttd
17:28:12 *** NGC3982 has joined #openttd
17:28:19 *** NGC3982 has quit IRC ()
17:29:21 *** urdh_ has quit IRC (Ping timeout: 480 seconds)
17:30:20 <DorpsGek> [OpenTTD/OpenTTD] PeterN merged pull request #13528: Codechange: Use EncodedString for Query window. https://github.com/OpenTTD/OpenTTD/pull/13528
17:38:28 <Rubidium> _glx_: won't just removing those unused set/process_compile_flags be a much simpler solution, and that discussion isn't quite part of the fmt-internals PR, right?
17:44:58 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 approved pull request #13526: Codechange: Use ProviderManager to define screenshot generators. https://github.com/OpenTTD/OpenTTD/pull/13526#pullrequestreview-2609535307
17:48:02 <DorpsGek> [OpenTTD/OpenTTD] frosch123 commented on discussion #13531: Request update to localization https://github.com/OpenTTD/OpenTTD/discussions/13531
17:48:43 <andythenorth> maybe it's time to alias `git comit` t o `git commit`
17:48:47 <andythenorth> GPT in the shell when?
17:50:20 <frosch123> And --amend and --ammend
17:50:45 <andythenorth> I might benefit from an 'are you sure' aliased script around `git reset --hard`
17:50:49 <_glx_> original intention of set/process_compile_flags was to allow use of set_source_files_properties in subdir cmakelists.txt, where the file is added to the list (mainly in blitter with different SSE flags), but if it's only for 1 file it's probably simpler to remove them
17:51:07 <andythenorth> it's one of my best friends, but if it's in shell history, reset --hard can be regrettable
17:51:24 <andythenorth> along with `newgame` in openttd console history 😛
18:09:18 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 approved pull request #13527: Codechange: Compile fmt internals in a separate translation unit https://github.com/OpenTTD/OpenTTD/pull/13527#pullrequestreview-2609597095
18:10:45 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 opened pull request #13532: Codefix: remove unused set/process_compile_flags from CMake system https://github.com/OpenTTD/OpenTTD/pull/13532
18:14:46 <DorpsGek> [OpenTTD/OpenTTD] glx22 opened pull request #13533: Cleanup bba6ad1: Remove unused (set/process)_compile_flags https://github.com/OpenTTD/OpenTTD/pull/13533
18:15:03 <_glx_> oups we pressed at the same time
18:15:26 <DorpsGek> [OpenTTD/OpenTTD] glx22 closed pull request #13533: Cleanup bba6ad1: Remove unused (set/process)_compile_flags https://github.com/OpenTTD/OpenTTD/pull/13533
18:16:06 <DorpsGek> [OpenTTD/OpenTTD] glx22 approved pull request #13532: Codefix: remove unused set/process_compile_flags from CMake system https://github.com/OpenTTD/OpenTTD/pull/13532#pullrequestreview-2609611511
18:28:45 *** tokai has joined #openttd
18:28:45 *** ChanServ sets mode: +v tokai
18:39:44 <xarick> there's something wrong with my tables in multiplayer
18:43:44 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1338943564511445042/image.png?ex=67acebde&is=67ab9a5e&hm=ca682e6715807f8447d6ab050647d47d52ee1bb53d75c0897a964adc4feabf00&
18:43:44 <xarick> why?
18:43:48 <xarick> in single player it works
18:44:03 <xarick> in multiplayer it puts the contents of 2 tables into 1
18:44:06 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler commented on discussion #13531: Request update to localization https://github.com/OpenTTD/OpenTTD/discussions/13531
18:46:20 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler commented on issue #13530: [Bug]: Train Pathing to Depot https://github.com/OpenTTD/OpenTTD/issues/13530
18:54:49 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1338946362053496932/image.png?ex=67acee79&is=67ab9cf9&hm=21700743bb145365f9dd206f5dc94f7aabaf942fd9f9b5b9f2246b0fab1d25bf&
18:55:03 <xarick> this is 15.0-beta1 though
18:56:04 <xarick> seems fixed in master
18:56:12 <xarick> no crash
19:01:01 <_glx_> yes it's fixed in master
19:01:04 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 merged pull request #13532: Codefix: remove unused set/process_compile_flags from CMake system https://github.com/OpenTTD/OpenTTD/pull/13532
19:05:30 <DorpsGek> [OpenTTD/OpenTTD] Awesome0n3 commented on discussion #13531: Request update to localization https://github.com/OpenTTD/OpenTTD/discussions/13531
19:06:16 *** nielsm has quit IRC (Ping timeout: 480 seconds)
19:11:55 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain merged pull request #13527: Codechange: Compile fmt internals in a separate translation unit https://github.com/OpenTTD/OpenTTD/pull/13527
19:14:59 *** gelignite has joined #openttd
19:18:07 <peter1138> 238mB
19:18:11 <peter1138> 238MB
19:18:28 * peter1138 waits 5 minutes.
19:20:08 <truebrain> CI on Linux and Mac is faster 🙂
19:20:48 <peter1138> 128MB
19:20:50 <peter1138> Not bad.
19:21:06 <peter1138> Game is now 500% slower, but... ;-)
19:21:17 <truebrain> who cares! 😛
19:21:59 *** Wolf01 has joined #openttd
19:37:03 <Rubidium> the real question is, how much faster is the slowest CI job?
19:54:13 <xarick> I think openttd is stuck
19:54:48 <truebrain> Windows? Still slow 😛
19:54:53 <truebrain> it had no effect on Windows 🙂
19:54:55 <xarick> Are you sure you want to create many random industries?
19:55:21 <xarick> in scenario editor
19:55:43 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1338961687956426906/image.png?ex=67acfcbf&is=67abab3f&hm=045fdfcc34e63fc12d998983b8428fc700596ab3bd9f3ad7f2d28452f91fc2c0&
19:55:43 <xarick> taking forever
19:58:11 <xarick> it's already at 64000 industries
19:58:28 <xarick> it should like just not even attempt to run those tries
20:00:48 <xarick> having a hard time to get more towns in the map
20:02:45 <xarick> heh, there is no remove all towns button
20:04:55 <xarick> something's really wrong
20:04:58 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1338964016617230366/image.png?ex=67acfeea&is=67abad6a&hm=0bea16daeb44c491cf7a3fcc500074f2b03ff43d16970a54271742933e7d1863&
20:05:16 <xarick> I suspect AsyncMode ?
20:06:17 <xarick> works fine in single player
20:11:06 <xarick> okay, I think I understand
20:11:31 <xarick> I can't use AsyncMode when creating a new table or a new element
20:11:53 <xarick> probably can't use it when removing as well, not sure
20:13:35 <peter1138> If you ever need the return value of something, you can't use async mode. Not sure if this can guarded against.
20:14:01 <xarick> I need the return value 🙂
20:14:11 <xarick> it's a TableID or whatever
20:15:15 <_glx_> there's no protection, we assume authors use async only when appropriate
20:15:52 <_glx_> would be hard to detect anyway
20:16:34 <_glx_> async mode is fire and forget, it's for commands you don't care about the return value
20:16:41 <xarick> single player works though
20:17:03 <_glx_> single player doesn't have the command loop
20:18:37 <peter1138> We could probably it not work in single player.
20:19:02 <peter1138> Hmm, maybe not :)
20:20:11 *** gelignite has quit IRC (Quit: Stay safe!)
20:21:51 <xarick> local async = GSAsyncMode(this.async_mode && !GSGame.IsMultiplayer());
20:22:30 <andythenorth> don't we run the CI on my MBP yet?
20:22:58 <peter1138> Just set up the initial elements first, then keep filling them in asyncmode.
20:23:23 <andythenorth> peter1138: "just don't do it" 🙂
20:23:27 <xarick> elements are "companies"
20:23:32 <andythenorth> can't guard against not being able to program 😛
20:23:38 <andythenorth> even I understand that
20:23:57 <xarick> if a company bankrupts or is created, elements are removed or created
20:24:08 <_glx_> they can
20:24:28 <_glx_> but don't modify the structure in async, only updates
20:24:37 <andythenorth> async is webhooks 😛
20:24:45 <andythenorth> don't block waiting for them
20:24:50 <andythenorth> don't assume they worked
20:25:02 <andythenorth> if the result matters, inspect it later in a loop, but don't block for it
20:27:09 <_glx_> in multiplayer the commands are executed on next tick (and the result is passed to the script then), while in SP it's executed immediatly
20:27:29 <_jgr_> The primary rationale for async was so that scripts which update town growth, town text, etc aren't glacially slow
20:28:34 <_glx_> yeah updating 1 item per town per tick is super slow
20:28:46 <peter1138> _glx_, for parity we could emulate the command queue.
20:28:48 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1338970014883254314/image.png?ex=67ad0480&is=67abb300&hm=78f87d0d55a96a5311e56c7d8a8f1231cc187d56a2b5df12771a076cb7f29cc5&
20:28:48 <xarick> I got it like this now:
20:29:02 <_glx_> drop line 181
20:29:10 <_glx_> same for 187
20:29:17 <_glx_> and 193
20:29:40 <_glx_> you can keep async for the updates
20:29:59 <_glx_> but enable it before looping on elements
20:30:02 <xarick> buh muh singleplayer !
20:30:43 <peter1138> Hmm, lots of tiny async scopes.
20:31:00 <_glx_> yes they are mostly useless
20:31:20 <_glx_> and opcode consuming
20:33:04 <_glx_> you basically add a useless wrapper around the GSLeagueTable calls
20:33:36 <andythenorth> async for a single command? 😮
20:33:52 <andythenorth> two commands (mode change, command)
20:33:59 <andythenorth> where one would surely, by analysis, be faster?
20:34:04 <_glx_> double the opcode use of each call
20:34:57 <peter1138> At least.
20:35:16 <peter1138> There's calling the wrapper function then setting async mode, then calling the original function.
20:35:36 <andythenorth> xarick: "don't do this" 🙂
20:36:42 <peter1138> I actually sort of expected that leaving the AsyncMode scope would despatch and wait (if something was sent) but I guess it has uses not to.
20:37:25 <_glx_> it's destroyed when going out of scope
20:38:01 <xarick> I was getting annoyed by this https://discord.com/channels/142724111502802944/1008473233844097104/1338873437921345566
20:38:58 <_glx_> because you don't use it correctly, you're not supposed to store it in a variable
20:39:34 <_glx_> I mean in a long storage variable
20:41:27 <andythenorth> I don't actually understand the mode assignment
20:41:29 <andythenorth> `local asyncmode = GSAsyncMode(true);`
20:41:46 <andythenorth> then `asyncmode = null;`
20:41:57 <_glx_> that's a correct way
20:42:05 <andythenorth> what's the implementation?
20:42:15 <andythenorth> does it create something like an environment var?
20:42:33 <andythenorth> how many mode vars can be assigned simultaneously?
20:42:48 <_glx_> but ```{
20:42:48 <_glx_> local async = GSAsyncMode(true);
20:42:48 <_glx_> ...
20:42:48 <_glx_> }```
20:42:51 <_glx_> works too
20:43:06 <andythenorth> that's because the scope is destroyed when exiting the braces?
20:43:09 <_glx_> only one mode is active at a given moment
20:43:57 <_glx_> the previous state is saved on GSAsyncMode() call, and restored when it's destroyed
20:44:27 <peter1138> Scoped is the best way, that's the intention as far as I'm concern.
20:44:29 <peter1138> +ed
20:44:30 <andythenorth> so is the var effectively a pointer to 'current mode'?
20:45:02 <_glx_> exactly like CompanyMode and TestMode
20:45:30 <peter1138> So all the "set everything up" commands which need the result should be done first. Then everything else can be done in one AsyncMode scope.
20:45:36 <_glx_> it's just an object setting the mode until its death
20:46:05 <andythenorth> ok so null causes the object to be destroyed
20:46:13 <andythenorth> so then we fall back to previously defined scope
20:46:27 <andythenorth> is there an array of scope vars somewhere?
20:46:39 * andythenorth roleplays actual programmer
20:46:58 <_glx_> the VM knows
20:47:10 <_glx_> (we don't look in the VM)
20:47:13 <andythenorth> yair
20:47:30 <andythenorth> it makes complete sense
20:48:37 <_glx_> at least squirrel doesn't defer deletion when going out of scope
20:48:53 <xarick> trying to get rid of wrappers
20:49:01 <xarick> let's see what happens
20:50:05 <andythenorth> any time GS has to touch GUI things, it becomes apparent why it's probably not THE future 🙂
20:50:35 <andythenorth> it's quite nice though
20:51:30 <andythenorth> maybe we should (1) let there be more than one GS (2) run them with their own opcodes counts (3) see what madness happens
20:51:37 <andythenorth> also (4) let them read badges on things
20:51:50 <xarick> 15 GS's
20:51:56 <andythenorth> "my GS got in a fight"
20:52:41 <xarick> it's like 15 players in 1 company
20:52:46 <andythenorth> offload them to another thread with unlimited read-only from the map, but make them defer anything that mutates map state to a write step
20:52:59 <andythenorth> so they have to do map:reduce type processing
20:53:09 <andythenorth> far more chaotic and interesting
20:53:32 <_glx_> hmm I wonder if we could check the return type of the function and error if it's in async
20:53:55 <andythenorth> is it too simplistic to simply drop the returns?
20:54:32 <_glx_> there's always a return, but it's 0 for most thing (same in test mode)
20:54:45 <andythenorth> when does the return matter? Is it if the author expectes an assignment?
20:55:00 <andythenorth> my async code all looks like
20:55:00 <andythenorth> local asyncmode = GSAsyncMode(true);
20:55:00 <andythenorth> foreach (page_element in this.page_elements) {
20:55:00 <andythenorth> GSStoryPage.RemoveElement(page_element.reference);
20:55:00 <andythenorth> }
20:55:01 <andythenorth> asyncmode = null;
20:55:06 <andythenorth> no assignment
20:55:14 <andythenorth> unless foreach waits in a way I don't understand 😛
20:55:28 <_glx_> the return here is just a bool (command success/fail)
20:55:40 <_glx_> so it doesn't matter
20:56:50 <xarick> why not asyncmode = GSAsyncMode(false); instead last line
20:57:11 <_glx_> because that would create another scope
20:57:27 <peter1138> Apparently scope/lifetime is difficult to understand.
20:57:32 <andythenorth> that's another assignment
20:57:36 <andythenorth> we need to null the object
20:57:49 <peter1138> Put it in { }
20:58:02 <andythenorth> dunno I just see it visually, there's an array of scopes [somewhere in the VM]
20:58:11 <andythenorth> nulling it cause one to be deleted
20:58:20 <peter1138> {
20:58:20 <peter1138> local asyncmode = GSAsyncMode(true);
20:58:20 <peter1138> foreach (page_element in this.page_elements) {
20:58:20 <peter1138> GSStoryPage.RemoveElement(page_element.reference);
20:58:20 <peter1138> }
20:58:23 <peter1138> }
20:58:32 <_glx_> and the order of events could then be "enter new mode"->"destroy the old object"->"error because it's not the last"
21:00:18 <xarick> i fail to understand what's the point of setting it to false then
21:00:42 <_glx_> you don't have to set it to false unless temporary disabling
21:01:23 <xarick> I can only disable with null...
21:02:42 <_glx_> ```{
21:02:42 <_glx_> local a1 = GSAsyncMode(true);
21:02:42 <_glx_> ...
21:02:42 <_glx_> {
21:02:42 <_glx_> local a2 = GSAsyncMode(false);
21:02:43 <_glx_> ...
21:02:43 <_glx_> }
21:02:45 <_glx_> ...
21:02:45 <_glx_> }``` is a valid workflow
21:03:58 <xarick> a2 disables the a1, what will a1 be after completing the a2 bracket
21:04:31 <xarick> true? false?
21:04:44 <_glx_> when a2 goes out of scope it returns to a1 state
21:06:16 <xarick> how would I know that's actually happen? there should be a function to tell
21:07:31 <_glx_> every GSAsyncMode() kinda push the new state on a stack, and it's poped on object destruction
21:08:24 <xarick> ah, with that perspective it's starting to make sense
21:08:30 <xarick> my poor head
21:08:44 <_glx_> "If you create an instance of this class, the mode will be switched to either Asynchronous or Non-Asynchronous mode. The original mode is stored and recovered from when ever the instance is destroyed. In Asynchronous mode all the commands you execute are queued for later execution. The system checks if it would be able to execute your requests, and returns what the cost would be. The actual cost
21:08:44 <_glx_> and whether the command succeeded when the command is eventually executed may differ from what was reported to the script. "
21:08:55 <_glx_> the documentation seems clear to me
21:09:50 <DorpsGek> [OpenTTD/OpenTTD] PeterN opened pull request #13534: Codechange: Use EnumBitSet for SettingEntryFlags. https://github.com/OpenTTD/OpenTTD/pull/13534
21:09:54 <andythenorth> made sense to me
21:10:02 <andythenorth> and I am not a programmer 🙂
21:11:05 <DorpsGek> [OpenTTD/OpenTTD] PeterN opened pull request #13535: Codechange: Use EnumBitSet for AirportFTAClass::Flags https://github.com/OpenTTD/OpenTTD/pull/13535
21:13:08 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 approved pull request #13535: Codechange: Use EnumBitSet for AirportFTAClass::Flags https://github.com/OpenTTD/OpenTTD/pull/13535#pullrequestreview-2610056727
21:15:39 <xarick> "Test" -> "IsSet"
21:16:11 <xarick> it's just me, not obvious enough what Test
21:16:16 <xarick> does
21:16:48 <xarick> IsSet, or HasFlag
21:19:01 <_glx_> it's to test bits
21:20:16 <Rubidium> guess you'll need some more C++ nomenclature... EnumBitSet's functions are named after the functions of std::bitset
21:22:03 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 approved pull request #13534: Codechange: Use EnumBitSet for SettingEntryFlags. https://github.com/OpenTTD/OpenTTD/pull/13534#pullrequestreview-2610081034
21:24:32 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 approved pull request #13406: Change: [Script] Move GSStation::GetOwner to GSBaseStation::GetOwner https://github.com/OpenTTD/OpenTTD/pull/13406#pullrequestreview-2610085926
21:27:31 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 commented on pull request #13456: Add: [Script] ScriptVehicleList_Waypoint https://github.com/OpenTTD/OpenTTD/pull/13456#pullrequestreview-2610091770
21:28:14 *** k-man has quit IRC (Ping timeout: 480 seconds)
21:28:39 <xarick> oh nice catch
21:31:19 <xarick> that means the other i changed is also bad
21:32:52 <xarick> btw, on 13406, should I mention GSStation::GetOwner was removed in the changelogs?
21:33:19 <xarick> or just mention it was moved
21:33:26 <_glx_> it's still available is you moved it to BaseStation
21:33:39 <_glx_> inheritance
21:33:40 <xarick> or not even add anything to the changelog
21:34:39 <xarick> okay
21:34:55 <DorpsGek> [OpenTTD/OpenTTD] SamuXarick updated pull request #13456: Add: [Script] ScriptVehicleList_Waypoint https://github.com/OpenTTD/OpenTTD/pull/13456
21:35:16 <DorpsGek> [OpenTTD/OpenTTD] SamuXarick updated pull request #13456: Add: [Script] ScriptVehicleList_Waypoint https://github.com/OpenTTD/OpenTTD/pull/13456
21:38:24 <DorpsGek> [OpenTTD/OpenTTD] PeterN merged pull request #13526: Codechange: Use ProviderManager to define screenshot generators. https://github.com/OpenTTD/OpenTTD/pull/13526
21:47:24 <DorpsGek> [OpenTTD/OpenTTD] SamuXarick updated pull request #13455: Change: [Script] ScriptVehicleList_Station no longer works for waypoints https://github.com/OpenTTD/OpenTTD/pull/13455
21:49:22 <DorpsGek> [OpenTTD/OpenTTD] PeterN merged pull request #13535: Codechange: Use EnumBitSet for AirportFTAClass::Flags https://github.com/OpenTTD/OpenTTD/pull/13535
21:51:14 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 commented on pull request #13522: Fix: [Script] Improve type checking of parameters https://github.com/OpenTTD/OpenTTD/pull/13522#pullrequestreview-2610116427
21:59:43 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 updated pull request #13510: Codechange: use std::variant for NewsReference https://github.com/OpenTTD/OpenTTD/pull/13510
21:59:46 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 updated pull request #13497: Codechange: make all pool item indices strongly typed https://github.com/OpenTTD/OpenTTD/pull/13497
21:59:49 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 updated pull request #13521: Codechange: make CompanyID a PoolID https://github.com/OpenTTD/OpenTTD/pull/13521
22:02:01 <xarick> i have a feeling async mode isn't active, if only there was a way to know for sure 😐
22:03:21 <yiffgirl> I updated visual studio and now cmake can't find a valid compiler at all. I am going to scream
22:05:17 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
22:10:20 *** Wormnest has quit IRC (Ping timeout: 480 seconds)
22:11:35 <peter1138> :o
22:11:42 <peter1138> Switch to the correct side.
22:14:16 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1338996557428817973/image.png?ex=67ad1d38&is=67abcbb8&hm=f321ff4b80decacf449d66678c5283c8edfe7f99c2fb7691a113ca0882fa92ed&
22:14:16 <xarick> breakpoints not triggered at all
22:15:19 <xarick> are you sure I don't need to store this in a variable?
22:15:19 <xarick> `GSAsyncMode(this.async_mode && !GSGame.IsMultiplayer());`
22:15:52 <_zephyris> I've just been spiralling in an git eol / wsl compiler hell too...
22:16:00 <truebrain> yiffgirl: install WSL, use WSLg, and all your problems are in the past? 😄
22:16:19 <peter1138> You should not make async mode conditional on multiplayer at all.
22:17:53 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1338997463935094854/image.png?ex=67ad1e10&is=67abcc90&hm=1c49acd099ab0b468b85dcb36ea67a82d8eb152fec4f7d9dca7a818f70db1c88&
22:17:53 <xarick> aha!
22:18:10 <DorpsGek> [OpenTTD/OpenTTD] PeterN merged pull request #13534: Codechange: Use EnumBitSet for SettingEntryFlags. https://github.com/OpenTTD/OpenTTD/pull/13534
22:18:13 <xarick> `local async = GSAsyncMode(this.async_mode);`
22:18:14 *** keikoz has quit IRC (Ping timeout: 480 seconds)
22:18:20 <xarick> so i needed a local
22:18:26 <xarick> you mislead me
22:18:56 <peter1138> Every single example we gave earlier had a local...
22:19:11 <_zephyris> So, hours pass and I've got another (probably dumb) problem...
22:19:11 <_zephyris> /usr/bin/ld: warning: creating DT_TEXTREL in a PIE
22:19:11 <_zephyris> collect2: error: ld returned 1 exit status
22:19:11 <_zephyris> make[2]: *** [src/settingsgen/CMakeFiles/settingsgen.dir/build.make:177: src/settingsgen/settingsgen] Error 1
22:19:11 <_zephyris> make[1]: *** [CMakeFiles/Makefile2:2208: src/settingsgen/CMakeFiles/settingsgen.dir/all] Error 2
22:19:12 <_zephyris> make: *** [Makefile:166: all] Error 2
22:19:23 <_zephyris> using gcc-12/g++-12
22:21:22 <_zephyris> [there's a lot more complaining before that, just the last few lines]
22:21:37 <_jgr_> _zephyris: What cmake command did you use?
22:21:59 <_zephyris> `cmake ..` in build dir, then `make`
22:22:27 <_jgr_> Yes, but what did you do to point cmake at gcc-12 instead of the system gcc
22:23:15 <_zephyris> Hmm, nothing I don't think
22:24:15 <_zephyris> oh, odd, yeah system gcc (ie. `gcc`) is 13.3.0
22:24:47 <_jgr_> 13.3 is fine, no need to use a different gcc then
22:25:10 <_zephyris> I've just done a release upgrade, probably had gcc-12 installed before that
22:25:41 <_jgr_> You might not to get rid of leftovers in your build dir then, usually deleting CMakeCache.txt is enough
22:26:07 <_zephyris> Thanks 🙂
22:35:14 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1339001831581286551/image.png?ex=67ad2222&is=67abd0a2&hm=45bfc3f226029c1729b1087ae88a1c3c446c891e0c1fb0c63e6e09c1c57cfcae&
22:35:14 <xarick> alright! now that async mode is out of the way, it's time to work on
22:36:41 <xarick> Every quarter is missing, could be useful
22:37:36 <xarick> every day is kinda pff
22:39:57 *** kuka_lie has quit IRC (Quit: Lost terminal)
22:40:12 <peter1138> Tick is silly.
22:40:55 <peter1138> Assuming it's economy time, every day is not very useful other than testing it's working.
22:41:58 <xarick> it's economy time
22:42:05 <xarick> except the tick
22:42:20 <xarick> that one is every script frame
22:42:44 <andythenorth> why not 'every opcode'? 😄
22:43:22 <xarick> because i like to see the stats pronto
22:44:23 <andythenorth> ok naptime 🙂
22:50:53 *** k-man has joined #openttd
23:02:15 <peter1138> My gcc build goes from 496MB to 291MB. That's... so much larger than clang. Maybe it's a debug build.
23:02:33 <peter1138> Hmm, nope.
23:04:06 *** Flygon has quit IRC (Read error: Connection reset by peer)
23:05:14 *** HerzogDeXtEr has quit IRC (Read error: Connection reset by peer)
23:13:24 *** MarkZwei has quit IRC (Ping timeout: 480 seconds)
23:42:14 <DorpsGek> [OpenTTD/OpenTTD] Awesome0n3 commented on issue #13529: [Bug]: Train Pathing Under Road Bridge https://github.com/OpenTTD/OpenTTD/issues/13529
23:42:29 <DorpsGek> [OpenTTD/OpenTTD] Awesome0n3 closed issue #13529: [Bug]: Train Pathing Under Road Bridge https://github.com/OpenTTD/OpenTTD/issues/13529
23:44:00 *** Wormnest has joined #openttd
23:52:22 <DorpsGek> [OpenTTD/OpenTTD] Awesome0n3 commented on issue #13530: [Bug]: Train Pathing to Depot https://github.com/OpenTTD/OpenTTD/issues/13530