IRC logs for #openttd on OFTC at 2025-01-13
β΄ go to previous day
01:10:36 <talltyler> There is already a window with the number of tiles of each type owned by a company. Open the company window and click to Details button. π
02:23:20 <liquidsnake0123> talltyler: ty ty I'll have a look at that
03:37:49 *** debdog has quit IRC (Ping timeout: 480 seconds)
03:38:25 *** D-HUND is now known as debdog
04:02:11 *** gnu_jj_ has quit IRC (Ping timeout: 480 seconds)
04:20:50 *** Wormnest has joined #openttd
06:09:09 *** keikoz has quit IRC (Ping timeout: 480 seconds)
07:17:04 <DorpsGek> - Add: summary for week 02 of 2025 (by OpenTTD Survey)
07:18:17 <andythenorth> if the display could be relatively slow, then GS might be able to put it in the story book
07:31:07 <andythenorth> monitor GetRoadPieceCount periodically
07:31:52 <andythenorth> this wouldn't catch how many tiles have been constructed however
07:51:12 *** brian_ has quit IRC (Remote host closed the connection)
08:17:26 <_zephyris> Reading between the lines, quantity of extant road infrastructure is probably a better measure for the project. Don't want to count build/demolish churn.
08:26:59 <kuhnovic> Construction has a significant impact on carbon emissions as well, especially when large amounts of concrete are used. You might or might not want to factor that in.
08:27:41 <andythenorth> Thereβs no GSEvent yielded for road construction, it would likely flood the event queue
08:28:23 <andythenorth> Possibly there could be vars for construction(period)
08:47:17 <LordAro> but probably time i got out of bed and found breakfast
08:48:27 <johnfranklin> Finally Baked beans
08:49:19 <peter1138> Oh, this is outputting string codes in Action B as well.
08:51:20 <peter1138> NML is surprising :p
08:52:54 <peter1138> Maybe I can leave that in as a feature...
08:53:29 <peter1138> Those they are treated differently in game.
08:59:53 <peter1138> 22:02 < andythenorth> if they've changed between grf releases, they're outdated anyway
09:00:16 <peter1138> You could version your string ids, if the string is changed.
09:07:55 <peter1138> Translations of things like this could be awkward though. `"\80 \80 \80" 00 "(\80)" 00`
09:09:34 <peter1138> STR_BUY_MENU_ADDITIONAL_TEXT_WRAPPER_TWO_SUBSTR_STR_ROLE_STR_ROLE_LOLZ_STR_BUY_MENU_ADDITIONAL_TEXT_HINT_DRIVING_CAB
09:09:45 <peter1138> String combining gets a bit weird.
09:10:33 <peter1138> Badgers would help that.
09:22:21 <andythenorth> and yes, badgers
09:22:31 <andythenorth> substringing is a pain in the arse
09:30:50 *** akimoto has joined #openttd
09:38:54 *** mindlesstux has joined #openttd
10:02:41 <pickpacket> peter1138: I, too, am well today
10:03:24 <pickpacket> I had no idea the GRF format was still updated in any way. Are new features being added?
10:04:36 <johnfranklin> Will there be grfv9? Or it is just a meme?
10:11:11 <LordAro> the pull request is right there
10:14:24 <johnfranklin> It would not be compatible with older versionsβ¦
10:16:53 <pickpacket> yeah, how does that work with all existing newGRFs?
10:18:20 <peter1138> It doesn't affect ehm.
10:19:10 <pickpacket> a "Word" in this instance is not a string, is it? More like a computer architecture Word? deployments/prod/databases/customers/amf/pv-deep-space.yaml
10:19:19 <pickpacket> Duh. Wrong copy buffer. Hold on
10:22:02 <johnfranklin> NML onwards will only generate GRFv9?
10:28:08 <xarick> so much fearmongering the US media doing
10:28:21 <xarick> I need to stop watching youtube
10:29:20 <peter1138> johnfranklin, NML doesn't have the ability to output in different versions.
10:31:05 <pickpacket> xarick: I don't even want to know what the hell Mump is up to... I have enough worries about the future as it is
10:31:32 <pickpacket> peter1138: what are the advantages of the new version?
10:32:52 <peter1138> Mostly just limit-removing.
10:33:19 <peter1138> That doesn't mean any limits in the game are removed, just limits in the spec.
10:34:49 <johnfranklin> oops, so grf produced by nml would only be v9β¦
10:35:08 <pickpacket> johnfranklin: unless you use an older version of nml
10:35:26 <pickpacket> peter1138: does that mean more cargo IDs are possible, for example?
10:36:05 <peter1138> "Yes" but no. The spec currently limits that to 255, which is way above the game's limit already.
10:36:29 <peter1138> (Maybe a bit less than that considering the non-cargo groups)
10:37:02 <peter1138> GRFv9 spec happens to increase that limit, but that doesn't change the game's limit.
10:37:20 <peter1138> Also "limit-removing" is not correct, it's "limit-increasing"
10:38:00 <peter1138> Proably 64-bit (or perhaps 32-bit) values could be limit removing, but that would be a bit pointless.
10:40:57 <LordAro> 4294967295 cargo types when?
10:42:41 <pickpacket> LordAro: next version of FIRS
10:43:29 <pickpacket> I've been wondering about increasing the limits in game. Whether it's desirable
10:55:25 <peter1138> LordAro, I'm not saying I DON'T have a patch for that, but...
11:00:40 <andythenorth> Industry tile limit increase for v9? π
11:01:25 <peter1138> It probably makes sense to allow room in the spec for it.
11:02:09 <peter1138> andythenorth, you can comment on the PR by the way. I made a draft PR so that we actually have something more than a wish-list.
11:02:40 <peter1138> So it is an appropriate place to say "we (c|sh)ould also do this" in terms of spec changes.
11:04:36 <peter1138> Not sure where the spec limits that sort of thing btw.
11:06:45 <peter1138> The conflicting industry type property is a bit limiting.
11:07:29 <peter1138> It can only list 3 types, it can only read a byte for each type, and I don't think there's any mapping of IDs
11:07:48 <peter1138> Yes, perhaps it's replaced by the callback.
11:07:48 <andythenorth> Just use the callback
11:08:11 <peter1138> But the conflicting types check is faster with recent changes.
11:15:58 <peter1138> What about the String ID limits?
11:16:18 <peter1138> Internally, IDs are 32-bit already.
11:21:39 <peter1138> Stupid Outlook, I just deleted those messages, don't list them still when I search for messages.
11:29:45 <johnfranklin> that would be interesting
11:29:53 *** Flygon has quit IRC (Remote host closed the connection)
11:30:02 <johnfranklin> will 15.0 support it? or it is too late?
11:40:41 <_glx_> 15.0 is not done yet, everything is possible
11:43:57 <xarick> i can't reproduce stuff i used to reproduce yesterday π¦
11:50:01 <xarick> does the opengfx version matter
11:55:33 <pickpacket> _glx_: if everything is possible I wouldn't mind a raise of a few thousand quid per month
12:03:24 <xarick> how do I solve this warning
12:04:47 <xarick> `std::swap(sloped_rivers[0], sloped_rivers[1]);`
12:05:15 <xarick> and that in turn swaps those other 6 variables
12:06:32 <LordAro> the variable is not swapped
12:06:40 <pickpacket> xarick: the warning is because the assigned variable name is never used. Do you need to use it somewhere? Otherwise I suggest you don't declare it
12:06:50 <LordAro> that's a better way of putting it
12:10:14 <xarick> by name it's not used anywhere
12:10:32 <pickpacket> The compiler cares about the name
12:11:51 <pickpacket> Of all the "wider-*" values you only use wider-length. No need to declare the others
12:12:57 <pickpacket> I guess that would be sloped_rivers[1][1]
12:13:22 <peter1138> You're a bit stuck with structued binding though.
12:14:05 <peter1138> Convention is to use `[[maybe_unused]]` or `_` to indicate an unused variable, however they won't work here (`_` will work, but only once.)
12:14:21 <peter1138> Solution is likely to ignore the warning in this case.
12:15:07 <LordAro> or change the code so you're not initialising variables early
12:16:31 <peter1138> Well you could only do that by avoiding using the structured binding. And that wouldn't necessarily make the code cleaner.
12:22:48 <pickpacket> Leaving warnings unattended to makes me itch
12:23:35 <pickpacket> you get that situation where someone compiles and it spews out hundreds of warnings and you have no idea which ones are "okay"
12:25:13 <xarick> testing the [[maybe_unused]]
12:29:14 <florafex> pickpacket: had that experience with my first job, ended up working with another teammember during one of the "work on whatever you want" weeks to just go and clean up as many warnings as we could. ended up causing some problems but in the end i think it was worth it and was quite the learning experience :p
12:29:31 <florafex> made things so much nicer for us developing from then onwards though, or at least it did for me ^_^
12:30:03 <pickpacket> yeah, you don't want to condition people to ignore warnings
12:34:56 <LordAro> took me years to fix the thousands of warnings we had in ours
12:35:05 <florafex> we got to the point where we had the option to turn on 'warnings are errors', which i was in support of (this was a C# project so perhaps easier to manage warnings than C++) but i dont think we ended up having everyone on the team OK it
12:35:07 <LordAro> very pleased when i was finally able to merge -Werror
12:36:03 <LordAro> florafex: the trick is having -Werror in CI but allowed in "normal" checkout builds
12:36:25 <LordAro> prevents developers getting annoyed when their hacky debugging throws warnings
12:36:30 <florafex> i thiiink we might have gone with that though that was a couple years ago now
12:54:37 *** benjaminv has joined #openttd
13:22:17 <xarick> maybe_unused didn't work π¦
13:26:48 <_glx_> You can't use it for structured bindings
14:19:06 <_glx_> Other option is std::tie and std::ignore
14:42:59 <xarick> std::tie and std::ignore
14:48:18 <xarick> doesn't work unless I make it ugly π¦
14:52:45 <xarick> actually didn't work at all, std::swap failed
15:05:57 *** kuka_lie has joined #openttd
15:17:55 <LordAro> don't we keep Allegro around for those purposes?
15:18:47 <LordAro> though the PR is definitely missing the actual motivation for removing it ;)
15:20:29 <pickpacket> LordAro: YOU can have motivation!
15:28:17 <LordAro> i mean, part of that is that you're reading a fragment of the actual C++ standard
15:28:27 <LordAro> which is not designed to be "readable" as such
15:29:22 <xarick> `[[maybe_unused]] auto &[wider_slope, wider_length, wider_dist] = sloped_rivers[1];` this should work in some compiler versions is what I read somewhere
15:30:04 <xarick> or your compilers are not that version
15:30:09 <goddess_ishtar> > That might be true but this has basically cut support for many retro platforms (like "high end" Atari and Amiga) which still haven't got (and maybe even never will, due to OpenGL dependency...) SDL2.
15:30:09 <goddess_ishtar> does anyone actually play OpenTTD on an Amiga or Atari ST
15:30:25 <truebrain> never doubt how weird our users are π And I love them for it π
15:34:21 *** wallabra has quit IRC (Ping timeout: 480 seconds)
15:34:47 <johnfranklin> There is openttd wherever there is a screen.
15:37:21 <goddess_ishtar> inb4 someone posts a photo of them playing OpenTTD on their smart fridge
15:41:03 <truebrain> in a world of AI, don't say these kind of things π
15:42:20 <truebrain> I like that I never told the AI what OpenTTD was. It understood. That is nice π
15:43:10 <peter1138> That's the same person.
15:44:04 <goddess_ishtar> casually necroing a 6-year-old thread too
15:45:10 <peter1138> In context that's reasonable.
15:46:06 <goddess_ishtar> maybe it's different in the OpenTTD community, since everything is so old here and things from 2008 might still be relevant to today
15:46:20 <goddess_ishtar> but it's usually bad manners in most other communities I've been in
15:47:09 <LordAro> it's bad manners to do so without good reason
15:47:17 <LordAro> they had a good (well, relevant) reason
15:50:39 *** wallabra has joined #openttd
15:51:56 <truebrain> I am kinda shocked there is a compiler that accepts our code and can output for Atari π
15:52:16 <truebrain> not sure what surprises me more ... that someone still uses SDL1.2, or that there is a compiler that still works π
15:53:21 <LordAro> gcc cross compiler perhaps?
15:53:29 <pickpacket> The "compiler" is actually someone dutifully re-writing each release in atari assembly
15:54:20 <pickpacket> And also it's tea time
15:56:26 <goddess_ishtar> it's about time for elevenses
15:58:01 <pickpacket> johnfranklin: heretic!
15:58:33 <pickpacket> Apparently there is no .time TLD π«€ I wanted to get isittea.time
15:58:47 <goddess_ishtar> there's .me, is there not?
15:59:34 <LordAro> not registered either
16:00:01 <peter1138> Pronounce ta-ah-tim-eh.
16:02:49 <johnfranklin> And to be honest tea is more "magical" than coffee; sometimes one cup prevents you from sleeping the whole day and the following night, while sometimes one cup doesn't prevent you from sleeping in the next hour
16:02:49 <johnfranklin> But coffee effect is more rational.
16:06:15 <goddess_ishtar> tbh I just prefer the taste of tea
16:06:24 <goddess_ishtar> even though everyone drinks coffee here
16:12:11 <peter1138> Coffee in the morning, tea in the afternoon.
16:20:40 <peter1138> Whoops, that was intended to be one line.
16:20:59 <peter1138> Still... I'm searching for someting old. Good job git keeps it around, right?
16:31:01 <xarick> nothing works, unless I rewrite this to look ugly
16:32:13 *** Wormnest has joined #openttd
16:33:06 <peter1138> Surprising how the -r parameter exists, and that people use it.
16:39:43 <merni> glx22viaGitHub: So... I will add it to docs/ and to the Help window anyway. In the error message itself, is it enough to direct the player to the Help window?
16:39:54 *** akimoto has quit IRC (Remote host closed the connection)
16:40:57 <merni> And/or is it acceptable to write something like `Go to Help > Fonts, or read the docs/fonts.md file in your OpenTTD directory` in an error message, considering that many people mightn't know what that is?
16:41:42 <merni> but also that if the font is broken the help window might not be easily accessible and the files there might not be readable
16:43:39 <merni> Even more ideal I guess would be a button on the error itself that shows the help...
16:48:02 <merni> but the error message window doesn't allow for any extra buttons seemingly
16:48:32 <merni> Really, what we should have is a font picker GUI :p
16:48:38 <_glx_> button would not help if text can't be shown π
16:49:06 <merni> Unless in the case when mono font is ok but medium isn't
16:49:08 <_glx_> anyway check the nightly, your problem should be fixed
16:50:35 <merni> I wish peter's removal of SetDParam stuff was merged already
16:51:04 <_glx_> it's a huge change π
16:51:08 <peter1138> Side quest alert ;p
16:51:21 <merni> It's jsut it would make a little thing a little easier :p
16:52:18 <merni> Oh no, I am destroying the symmetry of the help window by adding one entry
17:00:14 <merni> Hmm, seems nobody defined the `Subdirectory` for `docs/` yet
17:07:03 <_glx_> trying to understand #13303
17:07:46 <peter1138> That was the wrong me.
17:08:38 <peter1138> Don't look too much at the MacOS and Win32 side, they are incomplete. (MacOS obviously so)
17:09:39 <_glx_> well my idea was to complet Win32 side
17:10:00 <_glx_> as I obviously can test it easily
17:10:20 <peter1138> Basically there is now a list of "fontcaches" (which is kind the wrong name these days, but it holds caches of the glyphs, so...)
17:10:39 <peter1138> There can be multiple fontcaches for each font size.
17:10:58 <peter1138> There is a map of which character should be rendered with with fontcache.
17:11:35 <peter1138> And the text layouting now refers to a particular fontcache by index instead of font size.
17:11:52 <peter1138> So each different font because a separate run.
17:16:42 <_glx_> ah I remember I could drop winlangid stuff
17:19:32 <peter1138> The fallback font detection should now add whatever fonts are necessary to the font sub-configuration.
17:20:35 <peter1138> Detect the right font(s) is still a pain.
17:20:43 <peter1138> And it still only works for strings in the language files.
17:21:28 <peter1138> So things like unknown characters in multiplayer chat are still not handled.
17:37:41 <andythenorth> so grf wallclock stuff
17:38:02 <andythenorth> blocking FIRS 5 release currently, maybe a backport to FIRS 4 also
17:38:26 <andythenorth> I *only* care about showing months vs wallclock time in strings
17:38:47 <andythenorth> {WALLCLOCK} string code?
17:39:02 <andythenorth> new grf var (global varact2), then just duplicate all strings?
17:45:10 <_glx_> string code only may not be enough for translations
17:48:14 <andythenorth> is it not just like a translatable unit?
17:48:51 <andythenorth> [happy to be wrong]
17:49:25 <andythenorth> maybe {INCREMENTS} not {PERIOD}
17:49:41 <andythenorth> hmm, we don't have floating point eh
18:02:54 <peter1138> Nope. Rule of translations is don't split them into components that are joined later.
18:05:08 <andythenorth> what's the preferable solution?
18:05:23 <andythenorth> switch entire string on var?
18:05:32 <andythenorth> or use substrings?
18:08:00 <ahyangyi> Ah, was the "stations receive snow versions of track graphics automatically, even when they don't want to" issue solved?
18:08:19 <ahyangyi> I think I asked about this a few months ago, but I didn't open an issue so I lost track of this.
18:09:34 <peter1138> substrings is "split into components"
18:11:07 <merni> compiling is such a bore
18:12:30 <andythenorth> not oppositional, just curious....why are cargo volumes, dates etc amenable to locale-dependent string codes? But wallclock vs calendar is not?
18:12:40 <merni> ahyangyi: This is why the issue tracker exists :p
18:18:38 <_zephyris> Half answers your question
18:19:29 <truebrain> owh, right, almost forgot to post that reply earlier today
18:19:39 <truebrain> I had a boring meeting earlier; spent it on writing some words π
18:20:58 <Rubidium> andythenorth: we used to have something that switched based on wallclock/calendar, but it got removed due to amongst others issues with translations due to genders/plurals (#11906). With the cargo stuff the plural/gender does come from something internally
18:21:49 <_glx_> guess we could then cleanup and remove langid from langfile pragmas
18:21:53 <andythenorth> ok so a var, and grf authors will have to implement wallclock handling themselves?
18:22:44 <truebrain> _glx_: scary shit π
18:23:14 <andythenorth> I'd probably still substring it
18:23:45 <andythenorth> I'm not duplicating all the text handling for the extra info text here
18:23:50 <andythenorth> just to handle 'three months'
18:24:05 <truebrain> that `GF_END` feels so random
18:24:05 <andythenorth> these are already dynamic strings that switch according to industry state
18:24:19 <_glx_> ah no winlangid is still used
18:24:45 <andythenorth> I could just delete FIRS production behaviour, this is a semi-serious suggestion, not sulking
18:24:53 <truebrain> uniscribe .. don't they have a similar solution?
18:25:10 <andythenorth> or can I make FIRS require wallclock mode?
18:26:16 <andythenorth> can we expose wallclock vs calendar to action 7/9?
18:26:37 <_glx_> at least CompareString has a replacement using isocode
18:27:41 <andythenorth> hmm I could just make FIRS refer only to wallclock, never mind the game mode
18:28:13 <andythenorth> "every 3 minutes" instead of "every 3 months"
18:30:06 <andythenorth> I only play wallclock
18:30:34 <xarick> wallclock the way it's meant to be played
18:30:44 <merni> andythenorth: or you could just do the substring thing, considering what doesn't work for the game might well work for a grf :p
18:31:20 <talltyler> I mean, the simplest way is just to add a global GRF variable for if the game is in wallclock or calendar mode, right?
18:32:21 <talltyler> Similar to how GRFs know about inflation.
18:32:45 <peter1138> Yes, but that does leave you open to "This NewGRF is incompatible with wallclock mode" or some crap.
18:32:55 <peter1138> (Unless you hide the var when loading, I guess)
18:32:57 <andythenorth> that's why I would do, but in reverse
18:33:48 <talltyler> Why do that when you could just change the string based on the mode?
18:34:05 <talltyler> "months" -> "minutes"
18:34:08 <andythenorth> it's not one string, it's many
18:34:30 <merni> peter1138: If authors want to reduce their audience, let them :p
18:34:53 <merni> a la DBSet XL not working in climates other than temperate for no reason
18:35:19 <talltyler> No room left in your text stack?
18:35:31 <andythenorth> can't substring it
18:35:43 <andythenorth> it's 11 different strings currently
18:35:47 <ahyangyi> merni: Yeah, should I add the issue now? π
18:35:53 <ahyangyi> I guess it's never too late?
18:35:54 <andythenorth> can't be arsed to duplicate them to 22
18:35:55 <talltyler> `For Enhanced production deliver 16 creates of supplies at least once every three {STRING}.`
18:36:01 <andythenorth> no that won't work
18:36:11 <talltyler> I realize there are many other strings that make up that one π
18:36:11 <andythenorth> been told not to do that multiple times above
18:36:17 <merni> ahyangyi: If you can repro it in the latest beta, then of course yes
18:36:26 <talltyler> We can't do it in OpenTTD, doesn't mean you can't in FIRS
18:36:59 <talltyler> Eh, don't listen to me, I did it in OpenTTD and still don't fully understand why it got reverted π
18:37:13 <talltyler> Silly monolingual American over here
18:37:25 <andythenorth> it's easier to just ban FIRS with calendar mode
18:37:27 <andythenorth> it's legacy anyway
18:37:32 <andythenorth> only wallclock makes sense
18:37:52 <talltyler> That was my original PR before I made it a setting, it got Zorged into oblivion π
18:38:06 <talltyler> (converting the entire game to wallclock, I mean)
18:38:15 <_jgr_> Calendar mode is the default for a fresh install of OpenTTD
18:38:19 <andythenorth> we have to support legacy attachments, that's the game
18:39:13 <andythenorth> ok, so I only play wallclock, I'm just going to convert it to minutes
18:39:22 <andythenorth> it's currently 'months' so I'm not making it worse
18:39:34 <merni> except for 91% of people :p
18:39:45 <talltyler> It's actually still correct, just not the units people are expecting
18:39:57 <talltyler> Even in calendar mode a month is still a minute long
18:40:19 <_glx_> yeah it's economy time anyway
18:40:27 <andythenorth> yeah, I just did find-replace months -> minutes
18:40:39 <andythenorth> merni: majority can still be wrong
18:40:46 <talltyler> Although JGRPP players will be even more bamboozled than they currently are with industry helptexts
18:40:57 <andythenorth> quite clearly I have an intended audience of me
18:41:05 <_jgr_> I'm sure that they can work it out from context
18:41:18 <talltyler> That is probably the best audience for hobby projects π
18:41:54 <talltyler> andythenorth: Out of curiosity, what's your "months per minutes" setting? π
18:42:15 <merni> docs don't get added to the build directory on a normal compile
18:42:28 <talltyler> lol, forgot what my own setting was called
18:42:34 <merni> I guess that only happens for an actual intsall?
18:43:18 <andythenorth> ok, so does FIRS need to deal with pause?
18:43:26 <andythenorth> presumably, it's not 'every 3 minutes' if I pause?
18:43:28 <andythenorth> how does that work?
18:43:33 <andythenorth> economy stops, yes?
18:43:49 <talltyler> I think my current IOTC + Horse game is 96, but mostly because I fast-forward a lot
18:44:06 <talltyler> Yeah, nothing happens when the game is paused
18:44:07 <_glx_> truebrain: not the first confict with the API, we already had if for `GetClassName()`
18:44:14 <andythenorth> ok so 'every 3 minutes' is a lie
18:44:27 <andythenorth> hmm define 'lie'
18:44:44 <talltyler> I think someone would have to be really argumentative to claim that they don't understand how pausing works
18:45:11 <talltyler> Games with countdown timers don't keep counting when paused
18:46:39 <andythenorth> xarick: have you figured out why PBS is so much slower than block to clear signals on plain line?
18:47:10 <talltyler> The worse way to mess with FIRS is to change the industry cargo scale π
18:47:10 <truebrain> _glx_: Mac also has a few on their name π We suck at naming, or they do! π
18:47:19 <talltyler> But if you don't use that, don't worry about it π
18:47:27 <andythenorth> Tim Apple is good at naming
18:47:44 <talltyler> (I usually play with 25%, much easier to keep up without spamming trains)
18:47:46 *** ChanServ sets mode: +v tokai
18:47:50 <andythenorth> ok FIRS now wallclock compatible
18:48:08 <xarick> My League Tables script still uses calendar based notions
18:49:10 <talltyler> Stirring up troubleeeee
18:51:06 <andythenorth> haven't updated my GS for wallclock
18:51:18 <andythenorth> think the GS main loop runs on calendar dates
18:51:21 <andythenorth> much to consider π
18:51:39 <andythenorth> ok, so why is PBS so much slower?
18:51:43 <talltyler> No, I changed GS to use econony dates
18:51:55 <talltyler> They just don't know it π
18:52:00 <andythenorth> even for calendar comparisons?
18:52:33 <xarick> My AI still broken in wallclock mode
18:53:15 <xarick> too long pauses doing nothing because it looks at the date
18:54:06 <xarick> Not motivated enough to fix it yet
18:54:39 *** tokai|noir has quit IRC (Ping timeout: 480 seconds)
18:54:45 <xarick> would require me figuring out what to base my timers off
18:55:00 <talltyler> Er, don't listen to me about GS
18:55:24 <talltyler> I did some PRs and thought some of them got reverted, but I'm confused and don't remember how it all ended up
18:56:12 <xarick> basically each AI needs to adjust their code to be able to "work correctly" in wallclock mode
18:57:42 <_glx_> any script comparing apples and oranges is broken
18:58:34 <_glx_> because economy dates and calendar dates don't have the same starting point
18:58:40 *** Wormnest has quit IRC (Ping timeout: 480 seconds)
18:59:50 <andythenorth> GS main loops tend to be based on MinimalGS I think
18:59:57 <andythenorth> and that's calendar based
19:00:45 <andythenorth> I'll rewrite mine
19:04:21 *** Wormnest has joined #openttd
19:11:09 *** gelignite has joined #openttd
20:15:04 <merni> Oh, great, there are some things missing in openttd's markdown parser π₯²
20:15:21 <peter1138> There are lots of things missing in our very very simple parser.
20:15:30 <peter1138> It is not meant to be a full markdown implementation.
20:15:44 <merni> Somehow I thought it might've been an external library or something
20:16:11 <merni> Time to remove all the fancy bolding and `monospacing`
20:17:57 <merni> should've been logn ago
20:18:24 <peter1138> Using back-ticks to monospace is fine.
20:19:30 <peter1138> I do think having a whole separate file and section just fonts is a bit weird.
20:25:44 <merni> Hmm, why not also add the multiplayer guide in `docs` to the help window
20:25:58 <merni> why is that even in `docs` rather than in the wiki
20:26:27 <goddess_ishtar> presumably because nobody maintains the wiki
20:34:35 <andythenorth> does console have any 'next tick' command, for pause mode?
20:36:11 *** gelignite has quit IRC (Quit: Stay safe!)
20:37:25 <andythenorth> I want to isolate the PBS slowness
20:40:06 <andythenorth> might be quite useful for checking tile animation also
20:40:13 <_jgr_> I've got a command for that in my branch so you could copy-paste that if you want
20:40:16 <andythenorth> lol 'last tick' might be harder
20:43:39 <peter1138[d]> Yeah, I remember some reviewer in the past preferring not to use {} for simple numeric values.
20:44:42 <truebrain> we really should update our codingstyle on this π
20:45:52 <peter1138> Oh yes, mentioning no names :p
20:46:42 <peter1138> Although I also did it as {} for the enum class, to avoid having to define a "None" entry.
20:48:10 <truebrain> and I still think `uint8_t bla{1}` is hard actually read, sorry π
20:48:15 <truebrain> I like visual spacing! π
20:48:43 <truebrain> let me reword the sentence to actually read as something that looks somewhat like an English sentence; only for Discord people π
20:48:52 <michi_cc> Needs one more edit π
20:48:54 <peter1138> Do a Tron. Just update everything to your own coding-style ;-)
20:49:13 <truebrain> michi_cc: I GOT IT NOW! π
20:49:17 <truebrain> peter1138: hahaha; no π
20:49:23 <truebrain> owh, he was terrible in playing nice together π
20:51:34 <truebrain> that said, I still won't complaint if we just pick a clang-format style, and apply that on all our code, and just be done with it
20:51:44 <truebrain> still leaves the `uint8_t bla{1}` vs `uint8_t bla = 1`, ofc π
20:52:30 <michi_cc> Personally, I'd always write `uint8_t bla = 1` by default unless I explicitly retrain me π
20:53:26 <peter1138> Is that the same as VS Code using "clangd" to format?
20:54:05 <peter1138> For me that does other things against our coding style.
20:54:21 <truebrain> you can set what it should apply
20:54:24 <truebrain> there are a few templates
20:54:38 <peter1138> Hmm, does it pay attention to .editorconfig?
20:54:46 <truebrain> dunno; I hope? π
20:55:24 <peter1138> It removes `{` on its own line for me, so I never use it.
20:55:53 <peter1138> It also prefers `{x}` over `{ x }` for me :p
20:57:15 <peter1138> `GroupFlags flags{}; ///< Group flags`
20:57:24 <truebrain> you can fully configure it at least π
20:57:52 <peter1138> So I did that because `GroupFlags flags = 0;` is not valid. I could define `GroupFlags::None = 0` instead?
20:58:36 <michi_cc> So if there's no 0 entry, what does {} really intialize to?
21:03:31 <michi_cc> Hmm, hard to follow cppref here, as neither the value initialization nor the default init page directly mention enums, but as they are value types, it should init the variable with 0, no matter if that is actually a defined enum value or not.
21:05:23 <truebrain> in VSCode the clang-format reads `.clang-format` mainly, it seems
21:05:30 <truebrain> in here you can configure clang format, how to behave
21:05:44 <truebrain> the default is "Visual Studio", which is similar but not the same as "clang"
21:07:09 <truebrain> anyway, personally I don't mind `GroupFlags flags{}`, as that reads fine. Just `uint8_t flags{}` would read a bit more weird to me π It will take a long time to not type `uint8_t flags = 0` for me. But that might as well be a "me" problem π
21:07:43 <truebrain> (to put it in a rule, anything that has a type that starts with a capital I can do the `{}` just fine; for other primitives, it will be much harder π )
21:07:54 <truebrain> even `std::string bla{}` takes effort π
21:08:03 <truebrain> coding-style .. #whats-in-the-name
21:10:52 <_glx_> and you have VS complaining for {} in some cases IIRC
21:11:33 <_glx_> usually the non empty case
21:12:16 <_glx_> because it tries to convert from uint32_t
21:13:47 <peter1138> I'm happy to define a GroupFlags::None if it makes the intention clear and unambiguous.
21:14:01 <truebrain> It does read nice π
21:14:11 <truebrain> be explicit, be be explicit (I am being a cheerleader now)
21:14:36 <_glx_> yeah for enum it makes sense to use explicit values
21:15:33 *** kuka_lie has quit IRC (Quit: Lost terminal)
21:21:36 *** nielsm has quit IRC (Ping timeout: 480 seconds)
21:21:53 <truebrain> And to add an image to my cheerleader level of support. Tnx to ChatGPT, ofc.
21:22:11 <andythenorth> my main role in 2025 is using DallE via GPT
21:22:27 <andythenorth> ask it for more neon
21:22:58 <truebrain> I am not going to be you this year; you can do that yourself π
21:23:11 <andythenorth> what was your prompt?
21:23:38 <truebrain> I will not be part how this channel looks for the next hour
21:23:47 <andythenorth> shame the EXIF or whatever doesn't include the prompt
21:24:56 <peter1138> Is that a Faith No More reference? (Be aggressive)
21:26:49 <truebrain> no. Never heard of that "rockband", duckduck tells me
21:27:43 <michi_cc> Oh, meme time? Peter works and we talk, like here:?? π
21:28:20 <truebrain> we have a stick in our hands
21:28:23 <truebrain> and poke peter from time to time
21:28:31 <truebrain> we are so much worse π
21:30:23 <peter1138> I probably (definitely) have stashes for some of these things...
21:30:59 <truebrain> They are stealing your job! Or something... π
21:31:10 <peter1138> Hmm, thinking about replacing my vertical mouse. It's wireless, and is getting throw (rechargable) batteries annoyingly quickly.
21:32:35 <andythenorth> those salary bands though
21:32:52 <andythenorth> I have seen US programmers recently complaining that they only earn $250k USD
22:01:36 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
22:19:54 *** keikoz has quit IRC (Ping timeout: 480 seconds)
22:24:18 <truebrain> So he hasn't actually compiled for Atari for almost 5 years now, am I reading that right? *puzzled look*
22:30:32 <truebrain> At least he is honest about it, which I do appreciate π
22:31:40 <peter1138> Time for breaking up I guess.
22:33:59 <truebrain> Use a diamond pickaxe, I suggest.
22:34:11 <truebrain> (Played too much Minecraft lately π )
22:35:06 <_glx_> diamond pickaxe only when needed (it's expensive)
22:35:22 <peter1138> Mending is O.P. and ruins the game.
22:35:37 <_glx_> stone or iron is often enough
22:36:52 <peter1138> I generally just use my maxed out netherite pickaxe and don't worry about it.
22:38:03 <truebrain> I have an allthemodium axe; it is speedy, and unbreakable!
22:48:24 <xarick> Unterraformable State still required :/
22:51:35 <xarick> I'm undecided what to do
22:51:50 <xarick> this state feels like a hack solution
22:55:50 <xarick> the other 0.01% have been false positives
22:57:26 <xarick> How to properly introduce my version of RiverMakeWider
22:58:22 <xarick> 1. add support for partial-built rivers
22:59:02 <xarick> 2. introduce unterraformable rivers
23:05:00 <xarick> you guys have been quite busy
23:09:39 <xarick> 6 river connection fails out of 8192 rivers
23:14:34 <xarick> only 2 real fails out of 8192
23:15:24 <xarick> gonna remove that early check
23:15:34 <xarick> it is only producing false positives
23:16:53 <xarick> i had tests for each segment
23:17:01 <xarick> and a big test for the entire river
23:17:27 <xarick> the segmentation tests is very prone to giving false positives ;/
23:25:09 <xarick> I need a terraform pathfinder expert
23:25:22 <xarick> AAAHogEx would probably handle this with class
23:25:54 <xarick> he terraforms, he pathfinds, he beats every other ai
23:29:18 <xarick> It's extremely slow to generate sub-tropical in debug mode. I wanted to test my rivers there
23:30:26 <xarick> I have a pending issue with MakeRiverAndModifyDesertZoneAround
23:31:41 <xarick> i create these so called temporary river tile checkpoints
23:33:51 <xarick> which can be removed if a river is partially built, I haven't got yet a case of it happening, because it's just very rare to happen (and having to wait like 5 minutes each try)
23:34:53 <xarick> I mean, it happened in a bug report, but it wasn't sub-tropical
23:35:59 <xarick> 5 minutes before it begins generating the first river that is
23:36:22 <xarick> which are other 3-5 minutes
continue to next day β΅