IRC logs for #openttd on OFTC at 2023-12-11
00:03:51 <peter1138> Hmm, quite a bit of effort needed to stop them playing.
00:04:00 <peter1138> Threading is fun ;)
00:06:18 <peter1138> Although it does provide a bit more 'positive feedback'.
00:10:35 <xarick> the way noise increased level is calculated is... flawed?
00:10:59 <xarick> it is always in relation to the center of the town
00:11:38 <xarick> even if the town is gigantic and i place an intercontinental airport in the outskirts, the noise increased is just 1
00:12:40 <xarick> and I can't place more than 64000 stations 😦
00:13:32 <xarick> i may need to tweak the settings a bit
00:17:44 <peter1138> Build over part of the town, instead of around it.
00:17:53 <peter1138> Magic bulldozer etc
00:18:13 <peter1138> Then you can get closer to hit the limit.
00:30:21 <talltyler> I think it’s fine either way. I would expect them to end but not be surprised if they didn’t
00:33:04 <peter1138> > This value is only meaningful in the DOS version, where there are limited mixing channels.
00:33:18 <peter1138> Yeah, actually we only have 8 channels, which I consider limited.
00:36:03 <peter1138> Not that it matters :D
01:06:53 <Eddi|zuHause> 8 is practically infinite :p
01:12:47 *** D-HUND is now known as debdog
01:14:33 <peter1138> Remember when consumer-level soundcards could do hardware mixing...
01:14:51 <peter1138> SB Live etc.
01:37:53 <Eddi|zuHause> but software got faster :p
01:41:24 <peter1138> The menu "beep" sound is 810 bytes.
01:41:25 <peter1138> Hmm
01:53:51 <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #11552: Change: Replace station cargo filter buttons with a dropdown list.
01:54:11 <peter1138> Also emscripten UI is broken. Nice.
01:54:32 <peter1138> Means initialization order is wrong :/
02:00:07 <peter1138> Hmm, no
02:00:14 <peter1138> It seems like SetupWidgetDimensions() isn't called.
02:03:48 <peter1138> Fix: Don't implicitly ReInit all windows after updating the character width cache.
02:03:53 <peter1138> That broke it. Whew;
02:15:50 <peter1138> Yeah, because of course everything relied on LoadStringWidthTable having side effects beyond doing what it says it does.
02:17:20 *** Flygon has quit IRC (Read error: Connection reset by peer)
02:17:26 <peter1138> Also there's now two ways for windows to be resized on interface scale change because I forgot I already wrote one, it just didn't work for manual changes.
03:06:28 *** Wormnest has quit IRC (Quit: Leaving)
03:07:06 *** urdh has joined #openttd
03:13:01 *** Artea has quit IRC (Remote host closed the connection)
03:38:26 *** DorpsGek_vi has joined #openttd
03:46:41 *** belajalilija has quit IRC (Ping timeout: 480 seconds)
03:46:41 *** merni has quit IRC (Ping timeout: 480 seconds)
03:46:41 *** gebik4544 has quit IRC (Ping timeout: 480 seconds)
03:46:41 *** frosch123 has quit IRC (Ping timeout: 480 seconds)
03:46:41 *** notluke2578 has quit IRC (Ping timeout: 480 seconds)
03:46:41 *** emperorjake has quit IRC (Ping timeout: 480 seconds)
03:46:41 *** johnfranklin has quit IRC (Ping timeout: 480 seconds)
03:46:41 *** eratonysiad has quit IRC (Ping timeout: 480 seconds)
03:46:41 *** locosage has quit IRC (Ping timeout: 480 seconds)
03:46:41 *** bigyihsuan has quit IRC (Ping timeout: 480 seconds)
03:46:41 *** truebrain has quit IRC (Ping timeout: 480 seconds)
03:46:41 *** alfagamma7 has quit IRC (Ping timeout: 480 seconds)
03:46:41 *** nairda00 has quit IRC (Ping timeout: 480 seconds)
03:46:41 *** _pruple has quit IRC (Ping timeout: 480 seconds)
03:46:41 *** _zephyris has quit IRC (Ping timeout: 480 seconds)
03:46:41 *** xarick has quit IRC (Ping timeout: 480 seconds)
03:46:41 *** _jgr_ has quit IRC (Ping timeout: 480 seconds)
03:46:41 *** _glx_ has quit IRC (Ping timeout: 480 seconds)
03:46:41 *** wensimehrp has quit IRC (Ping timeout: 480 seconds)
03:46:41 *** michi_cc[d] has quit IRC (Ping timeout: 480 seconds)
03:46:41 *** jfs has quit IRC (Ping timeout: 480 seconds)
03:46:41 *** talltyler has quit IRC (Ping timeout: 480 seconds)
03:46:41 *** peter1138[d] has quit IRC (Ping timeout: 480 seconds)
03:46:41 *** andythenorth has quit IRC (Ping timeout: 480 seconds)
03:46:41 *** brickblock19280 has quit IRC (Ping timeout: 480 seconds)
03:46:41 *** DorpsGek_vi[1] has quit IRC (Ping timeout: 480 seconds)
03:49:36 *** georgevb has quit IRC (Ping timeout: 480 seconds)
03:53:36 *** D-HUND has joined #openttd
03:56:19 <peter1138> dbg: [misc] 3: +ClearFontCache (11)
03:56:26 <peter1138> So we like to clear the font cache I see.
04:01:05 *** debdog has quit IRC (Ping timeout: 480 seconds)
04:03:32 <peter1138> God this is a mess.
04:21:56 *** DorpsGek_vi[1] has joined #openttd
04:30:01 *** DorpsGek_vi[1] has quit IRC (Ping timeout: 480 seconds)
04:31:17 *** keikoz has joined #openttd
04:35:42 *** D-HUND is now known as debdog
06:18:21 *** keikoz has quit IRC (Ping timeout: 480 seconds)
09:12:29 *** keikoz has joined #openttd
09:40:48 *** georgevb has joined #openttd
09:40:48 <georgevb> Where can I get station_list_colour and cargo_payment_list_colour for default cargoes?
09:46:27 <georgevb> ?
09:56:11 <peter1138> I guess so.
09:56:53 <peter1138> Hmm, with #11552 the "station_list_colour" (13) is mostly irrelevant.
10:17:37 <peter1138> This version of Iron Horse has 400,000 NFO lines.
10:17:53 <peter1138> 399982 to be precise.
10:21:30 <peter1138> 5000 lines just for reordering the purchase list.
10:22:15 <peter1138> Variants is a bad feature.
10:25:01 <LordAro> oof
10:26:02 <peter1138> When loading the intro game, any configured newgrfs are loaded to find out if they have town names.
10:26:44 <peter1138> If you have iron horse in your newgrf list, that takes time because skipping 400000 lines isn't quick.
10:30:34 *** andythenorth has joined #openttd
10:30:34 <andythenorth> BAD HORSE
10:31:19 <peter1138> I'm wonder if there's a slowlution.
10:31:46 <peter1138> It's not that bad with a release build.
10:31:49 <LordAro> aren't burndown charts fun?
10:44:03 <peter1138> Well
10:44:43 <peter1138> Is it acceptable to stall for ~100ms when opening a depot for the first time?
10:45:08 <LordAro> it's not ideal
10:52:29 *** Flygon has joined #openttd
11:11:15 *** Artea has joined #openttd
11:49:21 <peter1138> dbg: [misc] 3: +InitDepotWindowBlockSizes (15) [5343]
11:49:21 <peter1138> dbg: [misc] 3: -InitDepotWindowBlockSizes 2ms
11:49:29 <peter1138> Hmm, I guess that's not too bad, even in debug.
11:49:50 <peter1138> I think 100ms+ for a release build is when the sprites aren't already loaded.
11:52:05 <peter1138> Oh, that wasn't debug :D
12:09:36 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 approved pull request #11435: Feature: Mode to display timetable in seconds
12:12:49 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler merged pull request #11435: Feature: Mode to display timetable in seconds
12:16:50 *** xarick has joined #openttd
12:16:50 <xarick> CmdExpandTown gets buggy at some point during the expansion. It stops placing houses, and instead only places roads.
12:17:18 <xarick> i think it reached some kind of limit
12:18:30 <xarick> gonna try the 2x2 layout next time
12:33:11 <peter1138> Be nice if we didn't load the intro game twice on start up.
12:33:25 <peter1138> We've made a dependency tree nightmare :/
12:34:38 <LordAro> mm
12:34:40 <peter1138> e.g. it should be possible to load custom currencies and newgrf town name definitions behind the scenes without changing the newgrf config.
12:37:01 <peter1138> We call ClearFontCache 11 times to get to the intro menu.
12:44:31 *** _zephyris has joined #openttd
12:44:31 <_zephyris>
12:47:25 <_zephyris>
12:47:25 <_zephyris> Kinda fun
12:49:04 *** peter1138[d] has joined #openttd
12:49:04 <peter1138[d]> I have some SVG glyphs I already designed for window decorations...
12:49:11 *** talltyler has joined #openttd
12:49:11 <talltyler> My game is super slow to load the main menu and exit the GRF config window. Probably because I have a ton of GRFs in my folder. But it would be nice to not have to wait on it.
12:49:58 <talltyler> Does _jgr_ have any improvements to this or am I imagining that things load much faster in JGRPP?
12:50:09 <peter1138> Exiting the config window shouldn't be slow, unless you've changed the config in which case it then loads it all.
12:50:19 <peter1138> Are you using a debug build :p
12:50:37 <talltyler> Yes, I have usually changed something. I’m running 13.4 from Steam.
12:50:46 <peter1138> Hmm
12:51:16 <peter1138> If you have a lot of NewGRFs in your config, they are all loaded again even though they aren't used.
12:51:27 <talltyler> Not worth a bug report, just replying to your posts above about scanning many lines of code in Horse
12:51:30 <peter1138> As part of currency/town name detection.
12:51:41 <peter1138> Well, it's not really a bug.
12:51:51 <talltyler> What do you mean by β€œconfig” in this case?
12:51:59 <peter1138> active.
12:52:12 <talltyler> Ah, yes. Might be Horse doing that. πŸ˜‰
12:52:24 *** _glx_ has joined #openttd
12:52:24 <_glx_> Hmm maybe we could cache townname presence during newgrf scan
12:52:59 <talltyler> Why do we need to detect town names? So they’re ready when we try to select them in genworld?
12:53:04 <peter1138> yes
12:53:10 <talltyler> And currencies aren’t part of GRF…?
12:53:29 <_glx_> Townnames need to be known for the menu
12:53:43 <peter1138>
12:54:01 <peter1138> Not sure if they are preloaded though.
12:54:11 <peter1138> They might just be available only in game.
12:57:42 *** _jgr_ has joined #openttd
12:57:42 <_jgr_> talltyler: The MD5 step is parallelised, so the scan goes a bit faster, but it shouldn't otherwise be that much different in my branch
13:08:25 <talltyler> Ah, might be worth cherry-picking πŸ™‚
13:08:25 <talltyler>
13:16:02 <LordAro> that's a lot of mingw specific code there
13:16:06 <LordAro> what's all that doing?
13:16:19 <LordAro> s/code/includes/
13:16:27 <peter1138> 2019, so probably pre-we-moved-everything-to-std-c++17
13:29:04 <peter1138> There might also be more commits after that that are in the main branch.
13:29:31 <peter1138> So more "rewrite so it's understandable, concise, and documented" rather than "cherry-pick"
13:30:41 <_glx_> as usual, will be easier to rewrite
13:40:19 <_glx_>
13:40:19 <_glx_> nightly looks weird and crashes
13:41:38 <peter1138> Yes, that's what I'm working on :)
13:42:09 <peter1138> I found a few rabbit holes.
13:42:14 *** merni has joined #openttd
13:42:14 <merni> OpenTTD: Flat Design
13:46:50 *** rau117 has joined #openttd
13:46:50 <rau117> merni: not bad as an option
13:46:50 <rau117> disgusting without the ability to return it to how it was
13:47:09 <DorpsGek> [OpenTTD/OpenTTD] PeterN opened pull request #11573: Fix e2425b7: Missing initialization of WidgetDimensions and depot block sizes.
13:47:31 <Eddi|zuHause> rau117: sounds like windows.
13:47:36 <LordAro> i recognise that screenshot
13:50:23 <peter1138> Well it was handed to me ;)
13:51:21 <peter1138> 04:03 <@peter1138> God this is a mess.
13:51:34 <peter1138> 12:33 <@peter1138> We've made a dependency tree nightmare :/
13:51:51 <peter1138> Definitely a rabbit hole I fell in with this.
13:54:08 <_glx_> unexpected side effects are "fun"
13:58:28 <peter1138> For me it did not trigger becuase unless the blitter is forced, it is changed during start up. And that causes a ReInitAllWindows(), though it's triggered via GfLoadSprites, which is called during AfterLoadGame, etc...
13:58:29 <DorpsGek> [OpenTTD/OpenTTD] glx22 approved pull request #11573: Fix e2425b7: Missing initialization of WidgetDimensions and depot block sizes.
13:58:52 <_glx_> I tested locally
13:58:56 <_glx_> it works
13:59:07 <peter1138> Yup :)
13:59:11 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler updated pull request #10700: Codechange: Split dates and timers into Economy and Calendar time
13:59:39 <_glx_> at least I had an easy way to crash πŸ™‚
13:59:41 <peter1138> I was hesitant about just randomly adding calls everywhere, this seemed most appropriate.
14:01:20 <_glx_> nightlies are well tested πŸ™‚
14:01:39 <_glx_> 4 days to notice the issue
14:02:44 <peter1138> Do you have a blitter forced in your config?
14:03:54 <peter1138> Not sure why mine autochanges on load, but that was enough to hide this bug.
14:04:11 <_glx_> nope, blitter line is empty
14:04:33 <peter1138> Maybe because I'm using SDL1 with hw_accel off as well.
14:04:41 <_glx_> but hardware acceleration is off
14:04:48 <peter1138> Hm
14:04:59 <_glx_> (happens anytime openttd crashed)
14:05:45 <_glx_> because it assumes it was hw accel
14:06:05 <peter1138> heh, yeah.
14:06:09 <peter1138>
14:06:26 <peter1138> ^ here's the initialization path it is following...
14:06:29 <_glx_> even when it's because I was debugging and kill it
14:06:36 <peter1138> Things are called... a lot :p
14:06:44 <peter1138> Including loading the intro game twice.
14:07:13 <_glx_> yeah intro loaded twice is a known thing
14:07:40 <peter1138> Format is depth, + means enter, - means leave, number in brackets is number of times it's been called, and 0ms is, well, time :)
14:08:05 <peter1138> Yes, it loads the intro game before newgrf scan so that you don't look at a blank blue screen.
14:08:27 <peter1138> Then it loads the intro game again with your newgrf config once the scan is complete.
14:08:38 <_glx_> load intro, scan grf, reload intro
14:08:50 <talltyler> Intro game can’t have GRF, so does it really need to be reloaded?
14:08:51 <peter1138> But if you don't reload the intro game again, it crashes because game settings are wrong.
14:08:52 <merni> peter1138: but does intro game even use grfs?
14:09:07 <_glx_> it's not allowed
14:09:08 <peter1138> talltyler, it's because of the town-name scna :)
14:09:10 <peter1138> *scan
14:09:24 <peter1138> 13:51 <@peter1138> 12:33 <@peter1138> We've made a dependency tree nightmare :/
14:10:07 <merni> couldn't the town names be detected when the world generation screen is opened?
14:10:27 <peter1138> Possibly but then you'd spend seconds opening the new game window.
14:10:28 <merni> I feel like creating a new world would be a lot less frequent action than just opening the game for most
14:10:42 <_glx_> town names used to be available in option window
14:10:47 <merni> peter1138: as opposed to the same seconds when loading the game each time?
14:11:00 <merni> *opening
14:11:10 <peter1138> merni, you don't notice it because it's happens once just after the newgrf scan is complete, which already takes time.
14:11:22 <peter1138> Same with the depot block size init...
14:11:31 <peter1138> 10:44 <@peter1138> Is it acceptable to stall for ~100ms when opening a depot for the first time?
14:11:47 <peter1138> Those 100+ ms are hidden by everything loading at start (or in that case on new game)
14:12:06 <peter1138> You would notice them when you open a depot and the game glitches...
14:12:37 <merni> Okay but the whole grf scan procedure takes only a few seconds. Checking for town names must be only a fraction of that; which I feel is OK on world gen screen
14:13:02 <merni> Depot is a different matter because players would probably click a depot every time they play the game, unlike with generating a world
14:13:02 <peter1138> Not quite, grf scan only checks md5sum, checking for town names has to parse the content of the GRF as well.
14:13:24 <_glx_> oh the scan can be slow (it's faster now with my new pc)
14:13:28 <merni> In that case if we can make grf scan significantly faster by omitting this that's an even bigger win
14:13:37 <talltyler> What’s the depot scanning for?
14:13:52 <_glx_> grid size
14:13:53 <merni> maybe a progress-bar before opening worldgen so people don't get confused by the delay
14:14:04 <peter1138> talltyler, to ensure the size of the depot is correct, it checks the sprite of every engine in the game.
14:14:11 <peter1138> If you have Iron Horse loaded, that's a lot of engines...
14:14:20 <talltyler> Because of different heights?
14:14:29 <peter1138> That's a "variants are a bad feature" that I didn't think of ;)
14:14:34 <peter1138> And widths.
14:14:45 <talltyler> Hmm
14:15:21 <talltyler> Depot init just happens when loading a game, right? You can’t click depots in the title game.
14:15:21 <peter1138> And it's not even correct technically as it can't processes all the different graphics chains, it only knows what it seen as the default sprite.
14:15:28 <peter1138> Correct.
14:15:31 <_glx_> well looking for actionF finals in huge grfs like FIRS is already a problem
14:15:52 <peter1138> Well, incorrect, it happens earlier anyway, because of the dpendency mess.
14:16:19 <merni> could it be done as part of loading the save?
14:16:24 <merni> that is already slow
14:16:41 <andythenorth> can't the grf supply metadata (or bananas do it)?
14:16:49 <merni> and perhaps that could limit to only grfs that are actually used
14:16:50 <peter1138> merni, it depends in gui zoom too.
14:16:53 <DorpsGek> [OpenTTD/OpenTTD] PeterN merged pull request #11573: Fix e2425b7: Missing initialization of WidgetDimensions and depot block sizes.
14:17:36 <merni> andythenorth: If the grf author supplies wrong metadata things may look wonky :p
14:17:50 <andythenorth> no the compiler would do the metadata πŸ˜›
14:17:52 <merni> peter1138: Ok, but isn't gui zoom known at the time of loading a save?
14:17:52 <_glx_> never trust newgrf authors πŸ™‚
14:17:52 <andythenorth> as it knows
14:17:55 <peter1138> merni, the depot scan is never an issue
14:18:05 <peter1138> merni, gui zoom changes when you change gui zoom...
14:18:10 <_glx_> they usually have silly ideas
14:18:50 <peter1138> merni, the depot scan on the intro game is nothing because there's only the default graphics loaded
14:18:50 <talltyler> Can confirm, am NewGRF author πŸ˜›
14:19:14 <peter1138> It only takes longer with something like Iron Horse, and of course then it only happens when you are loading the game anyway. Or changing gui zoom.
14:19:25 <talltyler> Yesterday I tried to make a train produce both steam and sparks, but it’s not possible to use two generation modes (puffing and random sparks)
14:20:00 <merni> peter1138: Alright that makes sense. In that case I don't think it makes sense to shift it to when first opening a depot
14:20:31 <talltyler> Wait, what happens every time you change GUI zoom?
14:20:37 <merni> The town name thing still feels weird that it needs to be done on starting OpenTTD rather than on opening the worldgen window though, if that significantly impacts the time taken for grf scan
14:20:53 <peter1138> Yeah, basically I was looking at deferring it to avoid having to do it unnecessarily, but it turns out that deferring it is more annoying than having to wait when you do need it.
14:21:11 <peter1138> merni, it's about 1 second. It's not massive.
14:21:21 <peter1138> And that's only if yuou have a lot of large NewGRFs loaded.
14:21:40 <peter1138> Also release/no asserts is quicker still.
14:22:06 <merni> In that case it could be even better pushed to the worldgen menu (if a progress bar is possible there); saving 1 sec on 90% of times you start the game :P
14:22:28 <merni> I get that it might not be worth the effort though
14:22:31 <peter1138> No because if you *don't* reload the intro game the whole thing crashes anyway
14:22:40 <peter1138> So I didn't bother looking further.
14:23:21 <peter1138> I'm not sure why. There's a division by zero due to a game setting, which I think means settings are not applied, but I don't know why it needs the reload for that to work.
14:23:26 <merni> [18:03] BOT peter1138: We've made a dependency tree nightmare :/
14:24:58 <peter1138> I could set that up on a timer...
14:27:46 <DorpsGek> [OpenTTD/OpenTTD] PeterN updated pull request #11552: Change: Replace station cargo filter buttons with a dropdown list.
14:27:59 <peter1138> ^ Now the preview build might be useable :)
14:30:46 *** berndj has quit IRC (Remote host closed the connection)
14:32:22 *** berndj has joined #openttd
14:40:56 *** nielsm has joined #openttd
14:42:47 <_zephyris>
14:42:47 <_zephyris> Can I force OpenTTD to let me do this stupid thing?
14:44:56 <peter1138> Nope: (
14:45:53 <_glx_> <> just doing some tests
14:46:16 <peter1138> Ooo
14:47:09 <_glx_> of course with vanilla compatible is always the same
14:57:23 <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #11552: Change: Replace station cargo filter buttons with a dropdown list.
15:21:25 <peter1138[d]> _zephyris: there shouldn't be too much outside of plain ASCII that is needed though.
15:22:00 <peter1138[d]> The debug console should tell you what glyph it was trying and failed to find.
15:22:20 *** Extrems has quit IRC (Quit: ZNC 1.7.5 -
15:22:26 *** Extrems has joined #openttd
15:23:29 <_zephyris> 0x28, open parenthesis
15:23:47 <_zephyris> Yeah, getting the core ASCII set together should be fine
15:23:52 <_zephyris> At least for testing
15:24:36 <merni> you could also have some placeholder boxes in the font for things you haven't drawn yet
15:24:41 <peter1138[d]> Hmm, you could try changing strings.cpp:2122 from true to false πŸ™‚
15:25:14 <peter1138[d]> Not sure though
15:25:22 <xarick> squared_town_zone_radius[0], the 0 has a name, it's HZB_TOWN_EDGE
15:25:32 <xarick> shall I make a PR and change numbers to names?
15:26:00 <peter1138[d]> No because that's not right.
15:26:50 <peter1138[d]> Oh maybe they were. I've looked at that before and decided not to. Maybe there was some other thing holding it up.
15:27:43 <_glx_> yeah the enum seems right
15:28:29 <xarick> oh, all those numbers have names, actually!
15:28:50 <_zephyris> merni: Good point, I'll just link the space character
15:29:27 <_glx_> static const uint32_t _town_squared_town_zone_radius_data[23][5] = { <-- the 5 should be HZB_END then
15:29:59 <_glx_> _zephyris: use ? not space
15:30:30 <_glx_> ? is the usual missing glyph one
15:32:24 <_glx_> but a distinct specific one might be a good idea too
15:32:28 <xarick> newgrf town stuff has lots of uint32 being clamped to uin16 😦
15:32:32 <_zephyris> Haven't made that one yet!
15:34:09 <_glx_> xarick: required to match newgrf specs
15:36:22 <_zephyris>
15:36:22 <_zephyris> Not bad!
15:36:48 <peter1138[d]> Good start
15:36:59 <LordAro> Good tart
15:37:16 <peter1138[d]> Overall geometry needs tweaking a bit.
15:38:06 <peter1138[d]> Too much space above the text. It looks centred, but it's not actually meant to be πŸ™‚
15:38:25 <merni> Is pen D a better game than openttd?
15:38:50 <Eddi|zuHause> no
15:39:00 <Eddi|zuHause> otherwise you'd have heard of it before
15:39:11 <peter1138[d]> If the geometry is wonky then it might look okay but things like the vehicle type indicators in station signs will be off.
15:39:53 <Eddi|zuHause> anyway. russian? hebrew? arabic? japanese?
15:40:12 <peter1138> It's a big job :)
15:42:09 <Eddi|zuHause> also, if the german translation of "chinese" is "chinesisch", why is the translation of "japanese" not "japanesisch", but "japanisch"?
15:42:40 <merni> because languages are not logical...
15:43:56 <merni> why does english have "japanese", "chinese" but not, say, "philippinese" or "francese"
15:44:20 <Eddi|zuHause> or "englese"?
15:45:50 <_zephyris> peter1138[d]: The main visual distance is the line height, geometry is surprisingly close rendered at 1x
15:45:58 <_zephyris> It's 12px font, gaining 2px above the text.
15:45:58 <peter1138> Yes
15:45:59 <merni> "englandese" surely
15:46:16 <peter1138> If you can avoid gaining 2px above the text, that'd be nice :)
15:46:16 <_zephyris> I've designed it aligned on 2px descender, 8px ascender, 2px space for diacritics at the mo. Really it should be a 10px, with no head space for diacritics
15:47:09 <_zephyris> Yeah, that's my internal struggle. Nice diacritics vs. original line height
15:47:36 <peter1138> FreeSans manages to do it by having the diacritics overflow. Hmm.
15:48:00 <_zephyris> Yeah, drawing out of the 1em height bound is fine, but can clip weirdly
15:48:09 <_zephyris> TBH depends on OpenTTD font drawing behaviour
15:48:22 <_zephyris> This isn't one to test in Office and Adobe πŸ˜‰
15:48:23 *** johnfranklin has joined #openttd
15:48:23 <johnfranklin> LordAro: odd art
15:49:50 <johnfranklin> merni: The suffix -ese is mostly from Portuguese, IIRC
15:50:15 <peter1138[d]>
15:50:15 <peter1138[d]> Overflowing *seems* to sort of work.
15:50:29 <peter1138> Not much of an overflow though.
15:50:34 <_zephyris> It's how OpenGFX1/2 does it too
15:50:35 <merni> how about in, say, the town list
15:51:00 <peter1138[d]>
15:51:01 <merni> or with those vietnamese letters with lots of diacritics
15:51:51 <Eddi|zuHause> original TT had a weird input bug where you could type Γ„Γ–Γœ but not Àâü (but it would display fine in autogenerated names)
15:52:22 <xarick> isn't 0 << 16 still 0?
15:52:40 <merni> like αΊ³ or α»‘
15:52:46 <LordAro> xarick: i'd expect so
15:53:30 <peter1138> Usually done for consistency.
15:53:40 <xarick> interesting
15:54:17 *** gelignite has joined #openttd
15:54:19 <xarick> HZB_TOWN_EDGE is 0
15:54:31 <Eddi|zuHause> xarick: sometimes structural operations like that are maintained because it's clearer to the reader what was originally meant
15:54:34 <xarick> for consistency
15:55:18 <peter1138> if HZB_TOWN_EDGE is changed, it'll still work.
15:55:22 <Eddi|zuHause> xarick: to avoid "magic numbers"
15:55:27 <peter1138> (Although in this case it would end up being incompatible, etc...
15:55:30 <peter1138> )
15:55:45 <LordAro> xarick: i can promise almost any compiler will optimise that operation away
15:55:50 <LordAro> not that it would be slow anyway
15:55:57 <LordAro> computers are pretty good at bitshifting
15:58:48 <Eddi|zuHause> xarick: there is a difference between the meaning of a value and the numerical representation of the value. here the logical meaning is emphasised.
15:59:35 <Eddi|zuHause> a simple "return 0" would do the same thing, but it would obscure the meaning
16:00:31 <Eddi|zuHause> like, a person searching the code for HZB_TOWN_* would miss this function
16:01:57 <Eddi|zuHause> and like LordAro said, even the most basic compilers nowadays recognize this being 0, and simplifies the code.
16:03:23 *** Wormnest has joined #openttd
16:04:35 <xarick> it makes sense
16:04:58 <xarick> I wonder how many other 0's are there which already have a name
16:08:25 <LordAro> many
16:08:39 <LordAro> literally hundreds
16:08:44 <LordAro> possibly thousands
16:14:24 <_glx_> and some times the "wrong" constant is used
16:19:14 <xarick> about these two:
16:19:14 <xarick> They are referring to HouseZoneBits. Do I add HZB_END inside the []'s?
16:19:44 <xarick> Like this: _town_road_types[HZB_END][2]
16:20:18 <LordAro> i mean, you could
16:20:23 <peter1138> Why?
16:20:43 <peter1138> Oh you mean for the definition. Yeah you could.
16:35:02 <_glx_> it would be safer, in case a new zone is added
16:35:49 <LordAro> static_assert !
16:36:06 <LordAro> (something something when all you have is a hammer something something)
16:36:21 <_glx_> every tool has a hammer side
16:40:00 <xarick> gonna ask bing chat for a commit message, cus i'm bad
16:43:13 <xarick> it came up with this:
16:43:13 <xarick> > Change magic numbers to their respective names
16:43:13 <xarick> >
16:43:13 <xarick> > Replace all magic numbers in the code with named constants to improve readability and maintainability.
16:43:13 <xarick> I don't feel it 😦
16:46:55 <peter1138> ALL magic number? Uh huh...
16:47:26 <talltyler> `Codechange: Use town zone constants instead of magic numbers`
16:47:36 <talltyler> Don’t overthink it πŸ˜‰
16:48:09 <merni> things like "to improve readability and maintainability" should be in "motivation"/"description" of PR and not in commit message, imo
16:48:29 <merni> but then it seems generative "ai" cannot avoid verbosity
16:50:34 <peter1138> The solution is to avoid this llm "ai" bollocks.
16:50:58 <merni> yes
16:51:20 <merni> but a lot of people need to write boring text and can't be bothered to do it themselves
16:52:13 <talltyler> AI is just A
16:52:30 <peter1138> Articificial andythenorth
17:06:56 *** Smedles has quit IRC (Remote host closed the connection)
17:08:10 *** Smedles has joined #openttd
17:08:43 <DorpsGek> [OpenTTD/OpenTTD] SamuXarick opened pull request #11574: Codechange: Use town zone constants instead of magic numbers
17:17:30 <DorpsGek> [OpenTTD/OpenTTD] DonaldDuck313 opened issue #11575: [Bug]: Goods cars and trucks have very low capacity when refitted
17:19:00 *** virtualrandomnumber has joined #openttd
17:20:37 <xarick> DonaldDuck313viaGitH: refitted mail capacity should be halved, honestly
17:22:32 <xarick> when using those vehicles that can refit to multiple types of cargo, they end up with ridiculous amounts of mail capacity
17:22:59 <xarick> is it a 1/1 ratio?
17:28:55 *** virtualrandomnumber has quit IRC (Quit: virtualrandomnumber)
17:30:07 <xarick>
17:30:07 <xarick> why does this happen?
17:30:31 <xarick> it grows roads way past the houses
17:32:09 <peter1138> Becuase you keep telling the city to grow unnaturally.
17:35:52 <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on issue #11575: [Bug]: Goods cars and trucks have very low capacity when refitted
17:54:58 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler updated pull request #10543: Feature: Region-based pathfinder for ships (no more buoys!)
17:55:24 <talltyler> truebrain: If we can get a build of #10543 (new ship pathfinder), I can arrange and host a community game this weekend. I accidentally broke it trying to fix a simple conflict just now though :/
17:55:53 <talltyler> Why does web conflict resolver do a merge commit with no option to change? :widdle_goblin:
17:56:03 *** truebrain has joined #openttd
17:56:03 <truebrain> so you ping me to tell me to do nothing?
17:56:03 <truebrain> tnx πŸ˜›
17:56:40 <talltyler> Just seeing if you are available for this later πŸ™‚
17:56:47 <truebrain> I am awesome at doing nothing myself, no need no help, tnx πŸ˜› πŸ˜›
17:56:58 <truebrain> you can trigger a build too πŸ™‚
17:57:01 <talltyler> I am going to a meeting, but will try to fix the merge commit later today
17:57:05 <talltyler> How do I do that?
17:57:10 <talltyler> I only know the preview tag
17:57:32 <truebrain> Actions, Release, start a new job, follow the "blabla for PR"
17:57:38 <truebrain> or ask glx, if I am not around, he can tell you too
17:57:43 <talltyler> OK, will look later
17:57:49 <talltyler> Thanks πŸ˜„
17:58:33 <LordAro> truebrain's so efficient
17:58:37 <LordAro> doesn't even have to do anything
17:59:20 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 commented on pull request #11574: Codechange: Use town zone constants instead of magic numbers
17:59:22 <truebrain> a skill you can't learn young enough πŸ˜›
17:59:31 <peter1138> I have never used that web conflict resolver...
18:00:10 <truebrain> I never trust it
18:00:12 <truebrain> for good reason it seems
18:18:21 *** HerzogDeXtEr has joined #openttd
18:25:28 <DorpsGek> [OpenTTD/OpenTTD] DonaldDuck313 commented on issue #11575: [Bug]: Goods cars and trucks have very low capacity when refitted
18:26:31 *** locosage has joined #openttd
18:26:31 <locosage> lol, I only just noticed there is a slope steepness setting
18:26:38 <locosage> contemplating setting it to 0 on all servers now
18:28:16 <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on issue #11575: [Bug]: Goods cars and trucks have very low capacity when refitted
18:28:37 <_glx_> truebrain: yeah it's very easy to do, there's even instructions on what to write in the trigger itself
18:29:05 <peter1138> Hills are a BAD FEATURE?
18:31:09 <_glx_>
18:31:25 <_glx_> oh and nightly failure rate is not too good
18:31:39 <LordAro> :<
18:32:14 <merni> where is it "night" now
18:32:25 <merni> are nightlies defined with respect to Asia
18:32:48 <_glx_> seems actions have some communications issues
18:33:36 <_glx_> yesterday it was during signing of arm64 windows build, the previous fail was when uploading to CDN
18:34:52 <LordAro> evenings
18:39:43 <DorpsGek> [OpenTTD/OpenTTD] eints-sync[bot] pushed 1 commits to master
18:39:44 <DorpsGek> - Update: Translations from eints (by translators)
18:42:21 <DorpsGek> [OpenTTD/OpenTTD] PeterN opened pull request #11576: Change: Be selective about clearing sprite/font caches on interface scale change.
19:29:41 <peter1138> Alright, looking for a NewGRF with lots of sounds...
19:31:29 <merni> I think BRTrains has a good few
19:31:37 <merni> not "lots" though
19:33:43 <peter1138[d]>
19:33:44 <peter1138> AI :D
19:33:58 <peter1138> Maybe it "hallucinated" that as a good route.
19:35:08 <peter1138> Also choosing, in 1997, a model designed in 1922.
19:37:08 <peter1138> Anyway, 105KiB used. Not much.
19:40:13 *** Wolf01 has joined #openttd
19:57:05 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 approved pull request #11576: Change: Be selective about clearing sprite/font caches on interface scale change.
20:07:16 *** gelignite has quit IRC (Quit: Stay safe!)
20:20:09 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 commented on pull request #11552: Change: Replace station cargo filter buttons with a dropdown list.
20:25:48 <DorpsGek> [OpenTTD/OpenTTD] DonaldDuck313 commented on issue #11575: [Bug]: Goods cars and trucks have very low capacity when refitted
20:30:07 <_glx_> yeah nightly failed again, this time it was signing macos build
20:30:29 <_glx_> /Users/runner/work/OpenTTD/OpenTTD/build-x64/_CPack_Packages/x86_64/Bundle/openttd-20231211-master-gb62fafc5d4-macos-universal/ timestamps differ by 237 seconds - check your system clock
20:37:51 *** nielsm has quit IRC (Ping timeout: 480 seconds)
20:40:58 <xarick> oh, NewGRF define the multipliers for cargo refits?
20:41:27 <xarick> then those mail trains...
20:41:46 <xarick> erm, forgot the name, it's made by andythenorth,
20:43:29 <peter1138> Yes
20:43:32 <peter1138> Well
20:43:43 <peter1138> So the default multipliers are a bit whacky though.
20:43:49 <peter1138> And FIRS seems to stick with them.
20:43:53 <peter1138> goods is 200
20:44:06 <peter1138> mail is 200
20:44:09 <peter1138> passengers is 400
20:44:13 <peter1138> the rest is 100
20:44:44 <peter1138> that means if you refit a goods van to food it drop you get 100/200 * 25t, so 13t
20:44:47 <peter1138> S
20:44:48 <peter1138> BUT!
20:45:05 <xarick> mail pays too well in vanilla
20:45:06 <peter1138> It's working by design. Maybe the design is off?
20:45:30 <peter1138> Default food wagons take 25t
20:45:44 <peter1138> So refitting gies you less than a native wagon
20:47:42 <peter1138> And you can't use the default food wagon because that's not available in temperate.
20:50:40 <xarick> when I was working with my AI chosing best mail wagons, it always picked those that have a ton of capacity after reffitting from goods, the NewGRF is Iron Horse
20:51:28 <peter1138> Maybe it makes sense to enable wrong-climate wagons if the its native cargo type is made available, but... that's kind of a breaking change.
20:51:40 <xarick> the capacity feels adequate for goods, given the other properties like costs, price, but then the mail refit makes it kind of broken OP
20:53:53 <peter1138> I think the maybe the multipliers originally came from what aircraft do.
20:55:48 <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on issue #11575: [Bug]: Goods cars and trucks have very low capacity when refitted
20:55:50 <xarick> it's half in the original game
20:55:56 <xarick> (i think)
20:57:19 <xarick> where do you find those multipliers?
21:03:59 <DorpsGek> [OpenTTD/OpenTTD] PeterN merged pull request #11576: Change: Be selective about clearing sprite/font caches on interface scale change.
21:11:38 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler updated pull request #10543: Feature: Region-based pathfinder for ships (no more buoys!)
21:14:37 <talltyler> Okay, time to build a release of the PR, I guess
21:16:34 <talltyler> Uh, where does this end up?
21:16:48 <talltyler> I'm not doing something bad to Steam, am I?
21:17:05 <_glx_> no it will be on the CDN
21:17:20 <_glx_>
21:17:26 <_glx_> in a subdir here
21:17:29 <talltyler> shows Windows Store, GOG, and Steam
21:18:14 <_glx_> it will skip them
21:18:19 <talltyler> Okay πŸ™‚
21:21:46 <_glx_>
21:21:46 <_glx_> that's the result when I do it on my fork (fails to upload of course), but you can see it skips some steps
21:22:10 <talltyler> Ah man, it doesn't work 😦
21:22:20 <talltyler> I mean, the PR doesn't pass CI
21:23:12 <_glx_> preview workflow failed
21:24:05 <_glx_> strongtype related it seems
21:24:19 <talltyler> static_cast to base() I bet
21:24:59 <talltyler> Wonder if I can fix it myself, or if I need to ask Kuhnovic to fix again... 😦
21:25:15 <talltyler> I feel bad, this is the second time we've asked for a rebase to run a test game
21:28:10 <_glx_> yeah CI failed too, waiting on mingw which should also fail
21:33:09 <DorpsGek> [OpenTTD/OpenTTD] PeterN updated pull request #11566: Add: Support sound effects in MP3 format in basesets and NewGRF.
21:33:10 <talltyler> I am working to fix it
21:33:50 <talltyler> Thankfully it's only one commit so I don't have to organize my fixes
21:34:26 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler updated pull request #10543: Feature: Region-based pathfinder for ships (no more buoys!)
21:34:32 <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #11566: Add: Support sound effects in MP3 format in basesets and NewGRF.
21:34:36 <talltyler> It builds locally, let's see if it passes CI this time πŸ˜„
21:38:09 <peter1138> Quite a bit of feature creep :o
21:38:31 <peter1138> (In 11566, not 10543 :))
21:41:01 <_glx_> I replace all static cast with .base() locally
21:41:54 <_glx_> seems you did the same πŸ™‚
21:42:50 <_glx_> 2 targets passed CI
21:43:05 <_glx_> 3 now, should be fine
21:43:21 <peter1138> My fault eh?
21:43:58 <talltyler> I like base() so much better than static casts
21:46:09 <_glx_> it's shorter, and ensure we don't randomly cast
21:48:14 <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #11566: Add: Support sound effects in MP3 format in basesets and NewGRF.
21:49:03 <peter1138> Yeah, with the cast if you make a mistake it's kinda hidden... because it's a cast.
21:49:45 <peter1138> Hmm, now... what to do with catcodec/grfcodec/nmlc, etc...
21:50:57 <peter1138> For catcodec I bodged it to just not manually read/write the wave header, it just plonks the file straight. No validation.
21:51:28 <peter1138> Maybe there's a simple way to validate an MP3 header.
21:54:23 <peter1138> Hmm, although OpenTTD can read the file, catcodec can't unpack it :D
21:55:49 <peter1138> Ah because ReadSample expects to find the file size in the header, but it doesn't read the header, so I lazily just took the size of the file. Which is fine for encode but not for decode.
22:00:42 <peter1138> Fixed.
22:08:31 <peter1138> Not sure how I'd add libmad to emscripten.
22:09:11 <_glx_> not easy if it's not already supported
22:09:46 <_glx_> IIRC we don't have sounds anyway on previews
22:10:39 <_glx_> oh of course CI failed, but it's the annotations
22:11:40 <_glx_> I think you can retrigger a pr release talltyler
22:12:47 <peter1138> Oh if there's no sound then I won't put any effort in to it :)
22:15:56 <talltyler> Thanks, queued
22:30:31 *** keikoz has quit IRC (Ping timeout: 480 seconds)
22:36:14 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler commented on pull request #11561: Fix: Disable airport noise if local authority control is disabled.
22:37:07 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
22:39:38 <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #11561: Fix: Disable airport noise if local authority control is disabled.
22:46:10 <talltyler> Heheh
22:57:49 <talltyler> Of course we don't have a boolean button widget and the ones in the Settings menu are special...
22:58:30 <talltyler> Time for a dropdown with two items πŸ™‚
22:59:03 <peter1138> They are not that special?
22:59:20 <peter1138> Oh, Settings menu.
22:59:32 <peter1138> There are toggle buttons in the Game Options window.
23:00:10 <DorpsGek> [OpenTTD/OpenTTD] glx22 commented on pull request #10543: Feature: Region-based pathfinder for ships (no more buoys!)
23:01:03 <peter1138> Or you can just use DrawBoolButton()
23:01:26 <peter1138> No particular need if it's real widget though.
23:02:25 <talltyler> Actually, a dropdown is probably better
23:02:33 <peter1138> Maybe I should fix "SETTINGS_BUTTON_WIDTH" and "SETTINGS_BUTTON_HEIGHT" which are... not actually constants.
23:02:51 <peter1138> A bit like the recently deceased FONT_HEIGHT_NORMAL.
23:03:29 <peter1138> Maybe I should stick to what I was doing.
23:03:38 <xarick> is this formula for the perimeter always correct? I'm trying to come up with one
23:03:38 <xarick> `perimeter = 2 * (x + y) - 4`
23:03:54 <peter1138> Perimeter of what?
23:04:51 <_glx_> that's for a rectangle I think
23:05:15 <xarick> something akin to AirportGetNearestTown
23:06:15 <xarick> I wanna iterate only the perimeter tiles, but I'd like to assert in the end that all the tiles iterated are counted correctly
23:07:14 <xarick> x and y are the width and height of the rectangle
23:07:49 <xarick> x * y is the total number of tiles in the rectangle
23:08:50 <xarick> looks like the formula is incorrect 😦
23:09:05 <xarick> for a helipad, x and y are 1
23:09:26 <xarick> 2 * (1 + 1) - 4 = 0, should be 1
23:15:59 <xarick> bing chat doesn't know either 😦
23:18:18 <xarick> screw the assert... I can't do it
23:58:17 <talltyler> I should stop working tonight, I'm just digging a hole for myself tomorrow πŸ˜›