IRC logs for #openttd on OFTC at 2023-12-14
00:01:15 <xarick> particularly that (7)
00:02:41 <Eddi|zuHause> goddess_ishtar: i think rather the latter.
00:08:35 <peter1138> It's basically just another meme.
00:08:58 <goddess_ishtar> are there any truly *bad* features?
00:11:24 <peter1138> Uh... I have some "pigs in blankets" flavour pork scatchings.
00:11:34 <peter1138> So basically pork flavour pork scratching.
00:11:43 <truebrain> goddess_ishtar: Trains come to mind
00:12:06 <peter1138> aircraft distance limits
00:12:12 <truebrain> Towns
00:12:26 <truebrain> 8bpp
00:13:38 <truebrain> Using TCP for BaNaNaS .. (now it is getting real :P)
00:14:47 <peter1138> We should use floppy disks.
00:16:15 <truebrain> And Hercules screens
00:16:23 <truebrain> Green/black or bust
00:16:59 <peter1138> My first VGA monitor (13", 640x480) had a switch on the back to switch between green, amber, and RGB.
00:17:38 <peter1138> Amber was achieved by disconnect blue. Which wasn't quite the right effect :D
00:18:28 <truebrain> I had this Hercules screen, but as it is phosphor based, it kept glowing when I turned it off ... was rather bright for a while ๐Ÿ˜›
00:18:50 <peter1138> They didn't flicker though.
00:22:19 <truebrain> Then they did for years, and now they no longer do again ๐Ÿ˜„
00:22:26 <truebrain> Circles, round round
00:26:24 <xarick>
00:26:24 <xarick> okay, it's fine after all
00:26:41 <xarick> 4 is still less than 7
00:42:12 <talltyler> _glx_: Ah, not sure how to solve thatโ€ฆ I will try again tomorrow. ๐Ÿ™‚
00:43:01 <talltyler> The unused parameter should be easy enough, although Iโ€™m not sure what to do with the double declaration since I need access from other files. Maybe an extern instead of putting it in a header.
00:43:48 <_glx_> you can check how it's done for other similar callbacks
00:48:45 <_glx_> ho look for InvalidateWindowClassesData()
00:48:46 <Eddi|zuHause> i don't remember who invented the BAD FEATURE... it was either V453000 or pruplebird
00:51:43 <peter1138> Hmm, 41 commits is... a lot.
00:51:46 <talltyler> Oh, good idea
00:51:47 <Eddi|zuHause> also, the first truely *bad* feature i remember is the original PBS implementation
00:53:11 <peter1138> I don't think that really qualifies. It was a good feature that ended up as a bad implementation.
00:53:36 <_glx_> it's declared in window_func.h which is included in settings_table.cpp
00:53:56 <_glx_> and not redeclared in .ini ๐Ÿ™‚
00:54:06 <Eddi|zuHause> after that was a disagreement and back&forth about bridges.
00:56:28 <Eddi|zuHause> anyway, even disregarding the implementation details, the current path signals are a way better concept...
00:57:26 <Eddi|zuHause> anyway^2 the newgrf specs have plenty of *legacy* "features" that you could call *bad*
00:59:25 <_glx_> yeah stations spec is bad ๐Ÿ™‚
01:00:12 <_glx_> bridge feature is very limited too
01:03:49 <peter1138> Well, we lost a developer over bridges.
01:04:17 <peter1138> And Simutrans is much better for it.
01:04:57 <peter1138> I'd dig out my newgrf bridges branch but there's a much newer one i believe.
01:06:19 <peter1138> And it wasn't a branch, because it was still SVN.
01:06:38 <_glx_> oh you had a patch for that ๐Ÿ™‚
01:10:56 <peter1138> Huh, I've got an OpenAL sound driver patch here. Why?
01:11:03 <peter1138> It's for r13060.
01:11:53 <peter1138> Looks pretty bad, it uses a processing loop instead of callbacks.
01:17:23 <peter1138> Hmm, an old "routing" patch
01:17:28 <peter1138> I wonder who wrote this.
01:20:14 <DorpsGek> [OpenTTD/OpenTTD] PeterN opened pull request #11582: Codechange: Cargo filters no longer take an index.
01:25:05 <DorpsGek> [OpenTTD/OpenTTD] JGRennison opened pull request #11583: Codechange: Use MakeParameters with GetNextParameter in FormatString instead of StringParameters subspan
01:26:30 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler approved pull request #11582: Codechange: Cargo filters no longer take an index.
01:32:34 <talltyler> Hereโ€™s the newer bridge PR you may be referencing:
01:32:59 <talltyler> With some helpful comments from Zephyris ๐Ÿ™‚
01:33:24 <peter1138> Ah yes, 1 massive commit.
01:35:04 <talltyler> Oh, I didnโ€™t even notice ๐Ÿ˜ฆ
01:37:29 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 approved pull request #11583: Codechange: Use MakeParameters with GetNextParameter in FormatString instead of StringParameters subspan
01:37:50 <peter1138> Use of MultiMap<> is a big no-no IMHO.
01:42:00 <peter1138> Big array of 64,000 possible bridge designs.
01:42:23 <peter1138> That's probably borrowed from objects which also used to use a giant array until I fix it.
01:42:36 <peter1138> I think this is "yeah, needs a ground up rewrite" PR :(
01:44:51 <peter1138> Nearly 2am is not the right time to look at this :)
01:46:06 <Rubidium> is looking really that bad? :D
01:48:05 <Rubidium> as long as you do not try to fix it, it ought to be just fine ;)
01:48:49 <DorpsGek> [OpenTTD/OpenTTD] PeterN merged pull request #11582: Codechange: Cargo filters no longer take an index.
03:30:32 <_glx_> CI will start to fail very soon, thanks to <> included in latest images
03:31:13 *** Wormnest has quit IRC (Quit: Leaving)
03:51:20 <_glx_> opened an issue <>
03:54:43 *** D-HUND has joined #openttd
03:58:00 *** debdog has quit IRC (Ping timeout: 480 seconds)
04:59:05 *** Tirili has quit IRC (Quit: Leaving)
05:01:54 *** keikoz has joined #openttd
07:15:21 *** Flygon has quit IRC (Quit: A toaster's basically a soldering iron designed to toast bread)
07:58:56 *** HerzogDeXtEr has joined #openttd
09:08:24 *** Hanicef has joined #openttd
09:28:48 <xarick> hi
09:57:42 *** thelounge345 has quit IRC (Quit: The Lounge -
09:58:59 *** dihedral has quit IRC ()
10:00:40 <peter1138> char8_t is quite a fuckup isn't it...
10:00:56 *** thelounge345 has joined #openttd
10:02:32 <peter1138> At least, in C++20.
10:03:12 *** dihedral has joined #openttd
10:11:38 <Hanicef> peter1138: never even heard of it, does it have the same issue as char?
10:13:17 <Hanicef> (that is, it's signedness is implementation-defined)
10:16:10 <peter1138> No, that's basically the reason it exists.
10:17:12 <peter1138>
10:18:19 <Hanicef> oof, yeah, that's a big fuckup
10:18:45 <Hanicef> especially for a language that has a long history with being backwards-compatible
10:49:49 <xarick>
10:49:49 <xarick> halp!
11:02:27 <peter1138[d]>
11:20:40 <andythenorth> peter1138: BAD FEATURE
11:22:57 <peter1138> They were underwhelming.
11:57:48 <xarick> I'm getting familiar with time
11:57:59 <xarick> it's complex
12:02:30 <xarick> how much precision do I need?
12:02:45 <xarick> nanosecond or millisecond?
12:11:01 <peter1138> ms
12:21:38 <xarick> what's the base for time_since_epoch() for high_resolution_clock?
12:21:50 <xarick> it's not 1970, apparently
12:28:10 <xarick> std has no member cout?
12:29:00 <pickpacket> xarick: I think humanity as a whole has given up on trying to count how many have STDs ;)
12:46:10 <_glx_> No cout unless you include the proper header
13:30:01 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler updated pull request #11428: Feature: Setting to control calendar progress speed
13:46:16 <rau117> Removing the button offset is final, is it possible to have setting on that? Now it looks quite ugly. *I asked a couple of friends who weren't familiar with the game... they thought version with offset is an update.*
13:57:37 <LordAro> did you see the screenshots in #11542 ?
13:58:04 <LordAro> it also caused various issues with text overlapping button padding
14:00:12 <LordAro> to give a similarly unscientific sample, i just clicked lots of buttons of applications currently open on my desktop - none of them moved the text to indicate the button had been pressed
14:00:18 <LordAro> (outlook made it bold)
14:00:29 <rau117> Thatโ€™s why Iโ€™m asking for setting - for those for whom this is not a problem, let them have the old buttons. And for the rest - no offset by-default.
14:00:29 <rau117> Personally, I don't mind putting up with a little hassle in exchange for bulkier buttons. Perhaps other players will agree with me.
14:00:37 <peter1138> LordAro, most importantly, TTD didn't either.
14:01:07 <peter1138> (Of course TTD didn't do lots of this so it's not entirely a useful point... :))
14:01:11 <peter1138> *things
14:01:19 <LordAro> i don't think anyone will be willing to add a setting for an extremely minor part of the GUI
14:02:14 <peter1138> (Asking people who don't play the game what it should look like is a bit weird.)
14:04:07 <rau117> LordAro: I wouldnโ€™t say that... *all the buttons* are ยซan extremely minor partยป
14:04:29 <merni> Yes, so there is no setting for tweaking individual buttons
14:04:44 <LordAro> peter1138: you mean tHe DeVs?
14:04:45 <LordAro> :p
14:05:24 <merni> There has to be a limit to settings somewhere... every single change (other than codechange) can have opposition and if settings are added to opt out of every change then the code would become a mess very fast
14:05:44 <talltyler> *more of a mess ๐Ÿ˜›
14:06:01 <talltyler> We already have too many settings that interact with each other in strange ways
14:09:43 <LordAro> insert xkcd 1172 here
14:11:04 <truebrain> Nomad made a nice new release; it breaks CPU detection for our cloud instances (not sure how they missed that honestly), so it is set to 0 MHz. In result, no jobs are scheduled on the new nodes ๐Ÿ˜›
14:11:21 <LordAro> oops.
14:11:41 <truebrain> only after several people complained, they are now re-adding the CPU detection part that was in 1.6 and older, as fallback
14:11:54 <merni>
14:11:54 <merni> there are improvements that oculd be made, though, for example I think this (the numbers especially) look too close to the edge
14:12:07 <merni> maybe not an issue with TTD baseset :p
14:14:01 <peter1138[d]>
14:14:15 <peter1138> Is it by design.
14:14:28 <merni> that looks the same
14:14:35 <peter1138> Yes...
14:14:39 <merni> peter1138: idk how does it look in TTD
14:14:46 <merni> or do such buttons even exist there
14:14:49 <peter1138> That IS TTD.
14:14:54 <merni> Oh lol
14:15:08 <LordAro> good ol' 4x5 limit
14:15:14 <merni> Then I guess it is just somewhat bad-looking UI by chris sawyer and simon foster
14:15:25 <LordAro> nothing stopping us from fixing it though
14:15:28 <LordAro> presumably.
14:15:37 <talltyler> Just the cult of TTD ๐Ÿ˜›
14:15:45 <peter1138> It's not broken, so...
14:16:09 <merni> peter1138: well, text moving when you clicked the button was not "broken" either, just different
14:16:11 <peter1138> The button is just large enough to fit the height of the normal font.
14:16:14 <LordAro> neither are most of the other windows you've been fixing :p
14:16:31 <talltyler> I wouldn't mind seeing a pixel of padding above text, instead of cramming it up against the top of its container while leaving 2px of padding below
14:16:35 <peter1138> LordAro, I'm mostly fixing inconsistencies.
14:16:40 <merni> talltyler: exactly
14:16:51 <talltyler> It would just be vertically centering text
14:16:59 <talltyler> Which, yes, doesn't follow TTD
14:17:08 <LordAro> peter1138: exactly :p
14:17:17 <xarick>
14:17:17 <xarick> I'm measuring time
14:17:22 <locosage> merni: that whole window is pretty much redundant
14:17:33 <merni> Why?
14:17:45 <peter1138> locosage pipes in with something completely irrelevant.
14:17:48 <merni> maybe you use drag&drop but I don't
14:18:07 <peter1138> Anyway, you can just use a truetype font. Most of those have space at the top (at least, at the moment)
14:18:10 <truebrain> ah, andy joined the chat .. "just remove it, bad feature" ๐Ÿ˜›
14:18:15 <peter1138> The downside is all your buttons are larger.
14:18:31 <merni> and you lose the nice retro look for the sake of one pixel
14:18:44 <talltyler> Design by subtraction is an option that should always be considered...but not always chosen ๐Ÿ˜‰
14:19:14 <talltyler> (I do a lot of design by subtraction)
14:19:41 <truebrain> and that is how we end up with modern art!
14:19:59 <talltyler> Modern art is too much subtraction ๐Ÿ˜›
14:20:18 <truebrain> in the eye of the beholder!
14:20:25 <talltyler> _glx_: You were right about the cause of my annotations, thanks for that ๐Ÿ˜„
14:20:57 <talltyler> Wait, my opinion is not objective truth? ๐Ÿคฏ
14:21:23 <locosage>
14:21:23 <locosage> merni:
14:21:41 <locosage> does involve two hotkeys though
14:22:19 <truebrain> ah, a 16 second ad ..
14:22:41 <merni> locosage: that means remembering hotkeys
14:22:47 <merni> I want to play openttd, not `vi`
14:23:04 <talltyler> Hotkeys in addition to GUI, not instead ๐Ÿ™‚
14:23:13 <locosage> well, rotation is a game-wide hotkey so doesn't really count
14:23:16 <locosage> I have it on MMB
14:23:24 <talltyler> And preferably the GUI tells you the hotkeys so you can learn them
14:23:27 <merni> I have a laptop :)
14:23:35 <talltyler> What's the rotation hotkey? I don't know it ๐Ÿ™‚
14:23:39 <merni> same
14:23:54 <locosage> vanilla doesn't have it xD
14:24:12 <truebrain> as I said, you were watching an ad
14:24:28 <talltyler> I still wish this PR didn't die ๐Ÿ˜ฆ
14:24:28 <talltyler>
14:24:42 <truebrain> if only you had some control over that ๐Ÿ˜›
14:25:14 <talltyler> My to-do list is long enough as-is ๐Ÿ˜„
14:25:20 <truebrain> priorities ๐Ÿ™‚
14:25:26 <talltyler> Oh for sure
14:28:11 <rau117> talltyler: Maybe it would be better to just make a separate window with the settings for these hotkeys? This will solve the problem with hotkeys.cfg (like you need to know it exists), and will not clutter the interface for those who already know what a hotkey does.
14:28:53 <talltyler> That is a likely part of the solution, yes
14:29:00 <talltyler> Or an alternative, as you say
14:29:30 <peter1138[d]>
14:29:30 <peter1138[d]> Centred looks so bad.
14:29:55 <merni> Looks definitely better to me :p
14:30:09 <peter1138[d]> You also prefer OpenGFX's small font, so you are still wrong ๐Ÿ™‚
14:30:11 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler commented on pull request #11583: Codechange: Use MakeParameters with GetNextParameter in FormatString instead of StringParameters subspan
14:31:13 <talltyler> peter1138[d]: Huh, I forgot about descenders. That does indeed look worse. ๐Ÿ™‚
14:31:36 <merni> hm so either we have ascenders crashing into borders or descenders
14:31:40 <peter1138[d]>
14:31:40 <peter1138[d]> With Arial
14:32:02 <peter1138[d]> Because the ascenders/descenders for truetype fonts are all stupid.
14:32:17 <peter1138[d]> (Except OpenSans, and OpenTTD-Sans)
14:32:22 <merni> that's a wide ranging statement
14:32:37 <peter1138[d]> There's a wide range in ascenders.
14:33:46 <locosage> truebrain: it's an example what can be done with a better approach to the game ui :p
14:34:01 <locosage> that's one of the most annoying windows in the game, it opens right in the center of the screen
14:34:21 <merni> locosage: different, not better
14:34:29 <merni> locosage: no? at least not presently
14:34:39 <truebrain> it is just weird, that you say a window is redundant, but then show an ad of "another game" .. just weird
14:34:41 <merni> opens right below the menu bar for me
14:34:59 <rau117> merni: โ€œDifferentโ€ until you try this option.
14:35:09 <merni> which option?
14:35:17 <merni> the one that requires me to remember hotkeys?
14:35:37 <locosage>
14:35:37 <locosage> merni: right above the main build area for me
14:35:41 <merni> and that inserts immersion-breaking bright colours on stations for no good reason?
14:35:59 <rau117> merni: Stations window from citymania client.
14:35:59 <rau117> Hotkeys are ยซoverpoweredยป if you have time to remember it.
14:36:00 <locosage> locosage: also wth is that weird right border in master
14:36:01 <merni> locosage: that isn't the centre of the screen
14:36:04 *** nielsm has joined #openttd
14:36:22 <merni> that blue border is not something i ssee, weird
14:36:40 <locosage> it pretty much is, I don't need useless crap there covering the view when I'm building a station
14:36:51 <merni> rau117: Sure. Hotkeys are fine for "power users" and those who have time to remember them, I have no problem with that
14:37:01 <merni> but I am not someone who enjoys learning that kind of stuff
14:37:26 <merni> to this day the only windows hotkeys I know are alt+f4 and alt+tab
14:37:53 <locosage> also doesn't help that station needs top corner, so that's the highest I could place it on that screenshot without moving the view
14:38:24 <rau117> By learning how to use hotkeys and spending some time โ€œnowโ€, you will save much more โ€œlaterโ€.
14:38:56 <merni> I don't care about saving time playing openttd
14:39:19 <merni> the amount of time spent on it is probably less than an hour a week, the time saved will probably be measured in seconds
14:39:23 <Eddi|zuHause> people don't even learn ctrl+alt+del anymore?
14:39:30 <merni> Eddi|zuHause: oh yes
14:39:32 <merni> forgot that
14:39:43 <truebrain> merni: I haven't used ALT+F4 in years ๐Ÿ˜„ So happy with that ... as that means there are much easiers ways to close down apps and games these days ๐Ÿ™‚
14:39:53 <merni> I was once win 95 user so I definitely had to know that :p
14:40:05 <rau117> merni: *Okay, then try playing without ctrl. This is also a hotkey.*
14:40:13 <Eddi|zuHause> the only "modern" hotkey that i remember off the top of my head is win+l for switching users
14:40:30 <merni> rau117: I only use Ctrl when that function can't be triggered in GUI
14:40:36 <merni> like distant join of stations, etc
14:40:43 <merni> because I was forced to learn hotkey there
14:40:50 <merni> when I have an option, I'd rather not
14:40:53 <rau117> JGR has shift and ctrl as buttons.
14:41:05 <peter1138[d]> locosage: Nice, depending the font size, the text "Rail Station Selection" can be longer or shorter than "Coverage area highlight"
14:41:26 <merni> rau117: That's still not a GUI, though, it's just moving one meaninglessly labelled button from the keyboard to the screen
14:41:39 <peter1138[d]> (This does not happen with most fonts, seems Verdana Bold triggers it though)
14:42:08 <merni> whereas with a hotkey for building tracks (whatever it is) the difference is between a letter and a picture of a railway :)
14:42:09 <Eddi|zuHause> peter1138[d]: presumably this varies between languages?
14:46:30 <peter1138[d]> Right, there is a SetFill(1, 0) on the bottom widget, that should make the thing expand, but it seems not to.
14:47:20 <peter1138[d]> "Coverage area highlight" is also set to fill. Hmm.
14:47:47 <rau117> merni: Oh wait... if you have the chance to not use ctrl, you won't use it?
14:47:47 <rau117> Even to make shared orders or extend signals to the entire track?
14:47:47 <rau117> Purely theoretically, all this can be done without hotkeys, soโ€ฆ
14:49:55 <merni> Most of the time I do forget that ctrl signal thing yes
14:50:12 <merni> It's very rare that I remember it and then use it
14:51:06 <merni> As for shared orders I wasn't aware there was another (intuitive) way, if there is I'll look into it, but whatever tutorial I read when I got into it probably didn't mention it
14:51:53 <merni> Anyway, I don't think I need to justify my use or non-use of hotkeys to anyone's interrogation
14:53:35 *** HerzogDeXtEr has quit IRC (Read error: Connection reset by peer)
14:54:06 <rau117> (sorry for such an in-depth offtopic)
14:54:06 <rau117> Itโ€™s just that if you learn how to use hotkeys, youโ€™ll simply be able to make more for that 1 hour per week. And you can customize hotkeys for yourself to not remember what is where by default.
14:57:32 <merni> At some point things have to be fun. Learning hotkeys is not. Of course in life often you have to go through boring/painful things for future benefit. But if playing a game is going to be like real life there's no point playing a game
14:57:49 <xarick>
14:57:49 <xarick> ranking by count of number of times that end_time = GSDate.GetSystemTime() - start_time took to complete. end_time is in nanoseconds
14:58:14 <xarick> measuring accuracy
14:59:52 <xarick> this function would be useful for AIs, I guess
15:00:11 <xarick> at the risk of breaking reproduceability ๐Ÿ˜ฆ
15:01:26 <merni> Are you still trying to prove something about airports and overflow or just having fun now? ๐Ÿ˜„
15:01:36 <xarick> having fun
15:02:03 <merni> How would it be used by AIs anyway?
15:02:30 <xarick> they could measure how much time they're taking to run parts of the code
15:03:16 <xarick> and adjust how often stuff is called, or so
15:04:01 <xarick> there's one that is tick based, it's not that convenient though
15:04:22 <xarick> there's also another that is based on opcodes
15:04:28 <merni> Wonder if any AI coders are that serious about the performance of their code :p
15:04:41 <xarick> but sometimes, an opcode is running an operation from the real OpenTTD and not the VM
15:05:09 <peter1138[d]> Scripts probably shouldn't measure their own time.
15:05:29 <peter1138[d]> As that eats in the time they have to run.
15:06:04 <LordAro> lol
15:14:57 <peter1138> Hmm, so what I did for drop down list items...
15:15:01 <peter1138> Widgets?
15:15:49 <peter1138> (Although maybe not CRTP style)
15:36:00 <DorpsGek> [OpenTTD/OpenTTD] JGRennison commented on pull request #11583: Codechange: Use MakeParameters with GetNextParameter in FormatString instead of StringParameters subspan
15:41:02 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler commented on pull request #11583: Codechange: Use MakeParameters with GetNextParameter in FormatString instead of StringParameters subspan
15:41:35 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler merged pull request #11583: Codechange: Use MakeParameters with GetNextParameter in FormatString instead of StringParameters subspan
15:43:00 <locosage> merni: learning hotkeys is meh, but to me playing without hotkeys is a huge pain
15:43:11 <locosage> even just switching from cmclient to vanilla is, everything takes 3 times longer
15:47:58 *** Flygon has joined #openttd
15:55:21 <xarick>
15:55:21 <xarick> testing millisecond precision now
15:57:52 <xarick> I'm ommiting results where the count is inferior than 10
15:57:55 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler commented on pull request #10538: Show the number of hidden vehicles on the button
15:58:30 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler commented on pull request #10538: Show the number of hidden vehicles on the button
15:59:10 <xarick> not sure if I do a PR for this...
15:59:18 <xarick> I already heard "no"
15:59:26 <xarick> so I guess not
15:59:41 <LordAro> yeah, not useful in the general sense
16:05:26 *** Wormnest has joined #openttd
16:11:10 <locosage> ugh, now to remember wth was I even doing there...
16:16:46 <locosage> hm I thought I removed that whitespace... does whitespace-only change not trigger ci or smth?
16:37:34 *** Hanicef has quit IRC (Quit: leaving)
16:53:53 *** Wormnest has quit IRC (Ping timeout: 480 seconds)
17:07:59 <xarick> winky winky
17:08:39 <peter1138> Absolutely not.
17:09:47 <xarick> ๐Ÿ™‚
17:15:41 <DorpsGek> [OpenTTD/OpenTTD] PeterN opened pull request #11584: Fix: Left-over printf-style format passed to fmt.
17:19:39 <xarick> what is the consensus for
17:26:27 <talltyler> I would tend to agree with Rubidium, not that Iโ€™m particularly qualified to make any judgement here
17:27:54 *** Hanicef has joined #openttd
17:41:19 <xarick> I am inclined to agree with rubidium too, seems fair
17:46:25 <DorpsGek> [OpenTTD/OpenTTD] glx22 approved pull request #11584: Fix: Left-over printf-style format passed to fmt.
17:48:30 <xarick> this looks like a good feature!
17:48:45 <xarick> is it available for AIs too?
17:51:30 <xarick> nop ๐Ÿ˜
17:51:57 <xarick> i wish i could mass place pathfinding signs
17:52:00 <xarick> and mass remove
17:54:33 <xarick> like a human do
17:57:57 <xarick> can I use Valuate in Async mode?
17:58:21 <_glx_> it's not a command
17:59:05 <_glx_> Async is just for commands, switching to fire and forget instead of fire and wait for result
17:59:29 <xarick> create a list of signs, then valuate removing them, and forget the result
17:59:50 <_glx_> valuate is not supposed to fire commands
18:03:48 <xarick> just a random crash out of nowhere
18:03:51 <xarick>
18:04:08 <xarick> I entered reload and it just crashed right away
18:05:23 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 approved pull request #11584: Fix: Left-over printf-style format passed to fmt.
18:05:29 <LordAro> nice
18:05:41 <LordAro> should probably report that ;)
18:06:03 <truebrain> wait, you report bugs?
18:06:13 <LordAro> i'd have to play the game to report bugs
18:06:17 <LordAro> :(
18:06:18 <truebrain> I thought we only bitched and complained about everything being much more terrible than version X ๐Ÿ˜›
18:06:26 <LordAro> lol
18:07:06 <truebrain> that moment you upgrade your server, it comes back online, that .... is no longer online
18:07:08 <truebrain> oh-oh
18:07:20 <truebrain> that -> then ...
18:08:41 <LordAro> truebrain: ikr, i got a virtualbox VERR_PGM_PHYS_NOT_MMIO2 error today
18:08:51 <LordAro> which appears only in the source code, never been seen anywhere else
18:09:11 <LordAro> well, one forum post, where they say "there are no search results for this other than the source code"
18:09:24 <LordAro> i rebooted the server again and it was happier
18:09:51 <LordAro> i rebooted a server and then got*
18:12:05 <truebrain> my system now says an SSD is not there
18:12:05 <truebrain> someone ate my SSD, I think ..
18:12:47 <truebrain> I should have checked the system health before I upgraded, I guess
18:13:29 *** Wormnest has joined #openttd
18:13:56 <LordAro> oh, our servers do that too
18:14:17 <truebrain> time to shut it down and open it up, I guess ...
18:14:18 <LordAro> happily spinning (or nvmeing) away, then suddenly "no boot drive"
18:15:14 <DorpsGek> [OpenTTD/OpenTTD] SamuXarick opened issue #11585: [Crash]: I typed reload in the console, and it crashed
18:15:47 *** gelignite has joined #openttd
18:17:15 *** gelignite has quit IRC ()
18:22:29 <xarick> Variable is optimized away and not available.
18:22:57 <xarick> I can't know if w is nullptr
18:25:18 <xarick> does it look like it's a crash in the crashlogger?
18:26:13 <peter1138[d]> Another of my broken changes
18:26:56 <xarick> The GS crashed OpenTTD? Then it tried to bring up the Crashlogger and it also crashed?
18:27:14 <xarick> i'm unsure if i'm reading things well
18:27:25 <_glx_> it crashed while saving it seems
18:28:43 <peter1138[d]> I bet it's initializeviewport with invalidtile when there's no main window
18:28:45 <_glx_> updated your comment so it's properly formated
18:29:24 <_glx_> nope it's SaveViewportBeforeSaveGame
18:29:27 *** esselfe has quit IRC (Remote host closed the connection)
18:30:49 <_glx_> oh it's indeed during saving crash save
18:30:58 <xarick> it looks to me that it crashed here first: openttd.exe!SQInstance::Release() Line 134 C++
18:31:05 <xarick> im not sure
18:31:42 <_glx_> yeah it crashed when saving crash save
18:31:59 <xarick> it was a reload command
18:32:10 <xarick> i think it's loading the same scenario
18:33:11 <_glx_> first crash is when uninitialisind a script, then another crash when handling the first one
18:33:57 <xarick> gonna try have it crash in a debug version
18:35:22 *** esselfe has joined #openttd
18:36:16 <xarick> seems to be the AsyncMode being buggy
18:36:44 <xarick> it was the last thing I changed in the GS
18:38:33 <DorpsGek> [OpenTTD/OpenTTD] eints-sync[bot] pushed 1 commits to master
18:38:34 <DorpsGek> - Update: Translations from eints (by translators)
18:39:00 <xarick> gonna upload the files, it's reproduceable after all
18:42:10 <DorpsGek> [OpenTTD/OpenTTD] SamuXarick commented on issue #11585: [Crash]: I typed reload in the console, and it crashed
18:44:34 *** Hanicef has quit IRC (Quit: leaving)
18:47:47 <DorpsGek> [OpenTTD/OpenTTD] James103 commented on issue #11585: [Crash]: I typed reload in the console, and it crashed
18:50:40 <LordAro> crashlog does seem to have been a bit unstable recently
18:54:41 <truebrain> what does that sentence even mean? ๐Ÿ˜„
18:54:45 <truebrain> what is an unstable crashlog?
18:56:23 <_glx_> crashlog looks fine
18:56:42 <_glx_> just a weird crash in crash
18:57:33 <andythenorth> peter1138[d]: this ^ the ideal would be more monitoring by OpenTTD, the FPS window already somewhat tracks script times, but no call stack info; but it's probably a very niche case
18:57:43 <truebrain> owh, LordAro is addressing broken SaveLoad code to the crashlog, yeah, that is unfair to the crashlog ๐Ÿ˜›
18:59:52 <truebrain> lol, `GetMainWindow` returns `nullptr` .. yeah .. you can't blame that on the crashlog ๐Ÿ˜›
19:00:08 <peter1138[d]> As I said.
19:00:27 <truebrain> you never said you can't blame the crashlog! ๐Ÿ˜„
19:07:31 <peter1138> Huh.
19:07:44 <peter1138> Okay, it is viewport related but nothing to do with the viewport related code I changed recently...
19:08:29 <truebrain> remember it is a crash in a crash; so who knows in what state the game is ๐Ÿ™‚
19:09:26 <peter1138> This is true.
19:10:33 <truebrain> in non-assert builds this also isn't an issue; any failure to create a savegame there just rewinds the stack, and continues on with the original crash
19:12:43 <peter1138> Okay, well, Squirrel::~squirrel() is throwing std::terminate() somehwere. Hmm.
19:12:57 <truebrain> bad squirrel
19:13:04 <truebrain> he is going nuts
19:18:05 <peter1138> squirrel.cpp:155, "free(p);"
19:18:54 <peter1138> Trying to free SQSharedState. Hmm.
19:24:02 <peter1138> Okay. Breaking on throwing exceptions is awkward because Squirrel uses exceptions all the time.
19:26:30 <peter1138> throw Script_FatalError("Asyncmode object was removed while it was not the latest *Mode object created.");
19:26:34 <peter1138> Yeah.
19:30:09 <LordAro> truebrain: no, but i can blame the crashlog code for not being written defensively enough :p
19:30:53 <LordAro> well, i suppose it did output something regardless
19:31:31 <LordAro> maybe i don't know what i'm talking about
19:32:43 <peter1138> If I have CrashLog in the stacktrace, is that normal or is it still crashing in the crashlog?
19:34:55 <peter1138> Ah, looks normal.
19:35:40 <DorpsGek> [OpenTTD/OpenTTD] PeterN merged pull request #11584: Fix: Left-over printf-style format passed to fmt.
19:43:17 *** Tirili has joined #openttd
19:45:29 <xarick> I was using it to mass build signs
19:45:31 <peter1138> xarick, do you have nested AsyncMode ?
19:45:32 <xarick> asyncmode
19:45:49 <xarick> uhm... not sure
19:46:10 <xarick> I used it in the last few function is the main.nut
19:46:14 *** Wolf01 has joined #openttd
19:47:16 <xarick> function MainClass::CircularTileQueue()
19:47:22 <peter1138> Ah yes, you do.
19:47:25 <xarick> and function MainClass::MassRemoveSigns()
19:48:13 <peter1138> Anyway, the game is clearing up AsyncMode and the AsyncMode system is complaining it's out-of-order.
19:48:24 <peter1138> But that shouldn't matter because it's meant to be clearing up.
19:48:54 <peter1138> I'd've thought the IsDead() call would catch it, but apparently not.
19:50:36 <peter1138> Hmm, I imagine all the other *Modes have a similar issue.
19:50:56 <xarick> i'm also in company mode, yes
19:51:02 <truebrain> peter1138: The top of the crash log is always the crash log handler. I did consider rolling back till the frame that actually caused the crash, but that is tricky ๐Ÿ™‚ humans are better in that ๐Ÿ˜„
19:51:16 <peter1138> truebrain, shows you how often I look at them :)
19:51:35 <truebrain> ๐Ÿ˜„
19:52:28 <peter1138> Testing in_shutdown should do :-)
19:53:34 <peter1138> I could be barking up the wrong tree.
19:53:37 <peter1138> woof woof
19:53:59 <peter1138> Nope. No crash. :)
19:54:25 <peter1138> I wonder if it's okay to change IsDead() to be this->is_dead || this->in_shutdown...
19:55:28 <truebrain> call it IsAlive, negate it, and you are good to go ๐Ÿ˜›
19:55:38 <peter1138> Hehe
19:56:06 <truebrain> well, looking at the code, not even joking
19:56:27 <peter1138> :o
19:56:47 <truebrain> I mean, IsDead != in-shutdown
19:57:00 <truebrain> but IsAlive clearly isn't true when in shutdown ๐Ÿ˜›
19:58:10 <truebrain> quick look shows only the ShowScriptDebugWindowIfScriptError to actually wanting to know the `is_dead` part and not the `in_shutdown` part ๐Ÿ™‚
19:59:09 <peter1138> inline bool IsAlive() const { return !this->IsDead() && !this->in_shutdown; }
19:59:27 <peter1138> Simple. Doesn't mess with anything else.
19:59:29 *** Hanicef has joined #openttd
19:59:35 <truebrain> ๐Ÿ™‚
20:10:02 <xarick> I think MassRemoveSigns() is never called, because AsyncMode returns true to every command, right?
20:11:53 <DorpsGek> [OpenTTD/OpenTTD] PeterN opened pull request #11586: Fix 11585: Crash when cleaning up AI/GS with nested AsyncMode.
20:23:15 <xarick> crap, I forget I need to be in company mode before creating the list of signs
20:25:14 <xarick> PeterNviaGitHub: no more crash! good job
20:29:40 <DorpsGek> [OpenTTD/OpenTTD] glx22 approved pull request #11586: Fix 11585: Crash when cleaning up AI/GS with nested AsyncMode.
20:30:29 <peter1138> I'm worried this makes me an Squirrel-elder now ;)
20:31:42 <xarick> got a different type of crash
20:31:46 <xarick> kinda expected it
20:32:00 <xarick>
20:32:19 <_glx_> script crash, that's fine ๐Ÿ™‚
20:33:05 <xarick> but I am in async mode, why not let me Valuate DoCommands? ๐Ÿ˜ฎ
20:34:05 <xarick> maybe I'm missing something, but wasn't AsyncMode supposed to mass DoCommands?
20:34:27 <_jgr_> You can't issue DoCommand calls from within a valuator in any circumstances
20:37:56 <xarick> let's see how fast it is at removing signs
20:38:58 <_glx_> Async allows to send more commands per tick, but the valuator limitation will stay
20:40:27 <xarick> is it network safe? wouldn't it cause a peak in bandwidth use?
20:41:06 <_glx_> main use for async is mass update of GUI, like story book
20:41:23 <_glx_> also mass renaming of things
20:42:56 <xarick> think I found some other bug, uncertain
20:43:50 <xarick> I entered asyncmode twice, when it left the last one, the other was was also gone ๐Ÿ˜ฆ
20:44:01 <xarick> now I'm building signs slowly
20:44:28 <andythenorth> entered asyncmode twice?
20:44:38 <andythenorth> /me doesn't understand
20:45:17 <xarick> local search = GSAsyncMode(true) && CircularTileSearch(_tile, user_data.distance, proc, user_data); I enter AsyncMode once
20:45:33 <xarick> then later on, inside CircularTileSearch, I enter again
20:45:37 <xarick> when removing signs
20:46:20 <xarick> and once all signs are removed, it leaves this asyncmode, and returns to the previous, but now it's also not in async
20:46:39 <xarick> confusing explanation?
20:48:13 <peter1138> Do you mean coming out of a nested AsyncMode leaves async mode, even though it should still be async from the first asyncmode?
20:48:16 <andythenorth> what do you mean, enter AsyncMode again?
20:48:32 <andythenorth> GS is single threaded
20:48:39 <peter1138> Nesting not threading.
20:48:43 <andythenorth> single mode state for execution
20:50:52 <xarick> peter1138: yes
20:52:42 <xarick> looks like circular tile search is bugged
20:52:50 <xarick> or maybe my implementation
20:52:53 <xarick> of it
20:53:21 <xarick> it is repeating tiles that have been processed already
20:53:23 <peter1138> Well it least it doesn't crash the game now :p
20:54:03 <peter1138> Is it because you completed a circle and continue it again?
20:54:35 <DorpsGek> [OpenTTD/OpenTTD] PeterN merged pull request #11586: Fix 11585: Crash when cleaning up AI/GS with nested AsyncMode.
20:54:38 <DorpsGek> [OpenTTD/OpenTTD] PeterN closed issue #11585: [Crash]: I typed reload in the console, and it crashed
20:54:46 <_glx_> found the issue
20:54:51 <peter1138> Oh.
20:54:57 <peter1138> Oops.
20:55:14 <_glx_> fixing it
20:55:59 <peter1138> I see it
20:56:12 <peter1138> It's backing up the wrong mode :D
20:56:45 <peter1138> Both last_mode and last_instance.
20:58:08 <_glx_> yup
20:58:10 <peter1138> Now testing without 11585 to see if that was just a sideeffect bug.
20:58:34 <peter1138> Yes. LOL.
20:58:36 <peter1138> Damn it.
20:58:38 <xarick> that script I uploaded won't call MassRemoveSigns
20:58:47 <xarick> because... first, I am not in company mode
20:58:59 <peter1138> Ah well, it still might potentially catch an issue during clean up.
20:59:20 <xarick> i am creating a list of signs for the GS, not the company
20:59:23 <xarick> which is 0 ๐Ÿ˜ฆ
20:59:58 <DorpsGek> [OpenTTD/OpenTTD] glx22 opened pull request #11587: Fix: [Script] Properly store the previous AsyncMode state
21:00:13 <DorpsGek> [OpenTTD/OpenTTD] PeterN approved pull request #11587: Fix: [Script] Properly store the previous AsyncMode state
21:01:26 <_jgr_> That was a bit careless of me ๐Ÿ˜ฆ
21:02:54 * peter1138 hands the squirrel-elder-hat back to _glx_
21:04:45 <_glx_> features are well tested ๐Ÿ™‚
21:07:21 <_glx_> it's still safer to have 11585
21:07:44 <_glx_> well 11586
21:10:59 <xarick> am I using the wrong CircularTileSearch or....
21:11:29 <xarick> I placed an assert to check whether it was repeating tiles, and at some point, it asserts!
21:17:13 *** mixu_78 has joined #openttd
21:17:13 <mixu_78> does the `-l` option for redirecting debug output work? i have tried several combinations of port and ip but my ncat listener never receives anything
21:23:36 <_jgr_> It seems to work, though it's applied fairly late in the init process
21:24:05 <_jgr_> You might need to turn up the debug level you're interested in using `-d` to see anything
21:25:58 <mixu_78> cranked it up to 9, still no connection
21:27:32 <peter1138> Works for me, but yes, very late.
21:27:38 <peter1138> Like. finished generating the world late.
21:28:18 <mixu_78> ah it does not work in dedicated server mode
21:28:23 <mixu_78> that's unfortunate
21:29:48 <peter1138> Don't know if that's deliberate or an oversight.
21:29:49 <DorpsGek> [OpenTTD/OpenTTD] glx22 merged pull request #11587: Fix: [Script] Properly store the previous AsyncMode state
21:33:01 *** HerzogDeXtEr has joined #openttd
21:33:07 <xarick> Something's wrong here, I can sense it, but can't point it out where
21:34:12 <talltyler> "I can sense it" is possibly the worst evidence I've yet seen in a bug report
21:34:25 <peter1138> I've got a bad feeling about this.
21:35:05 <xarick> it's repeating tiles at some point
21:35:19 <xarick> seems to be wrapping around the other side of the map? unsure
21:35:54 <talltyler> Meanwhile, there's some strange things going on in ScriptDate. One wrong include, one missing include, and the `Date` data type is an enum...
21:39:09 <mixu_78> peter1138: looks like an oversight, prior versions of the code open the debug socket immediately while the latest version uses some kind of wrapper class
21:39:52 <xarick>
21:39:52 <xarick> this is the first tile that is repeated
21:40:11 <xarick> it asserted because it's a repeat
21:40:46 <xarick> somehow x is -512
21:41:48 <peter1138> x is unsigned, so it can't be -512.
21:42:05 <xarick> oh, it's squirrel
21:42:09 <xarick> so it's int64
21:42:47 <xarick> what would be the uint equivalent of -512?
21:44:02 <peter1138> Okay, so on line 618, you need to check if x >= and y >= 0 as well.
21:44:20 <peter1138> OpenTTD's verson doesn't need to do that because it relies on how unsigned behaves.
21:44:43 <xarick> ah, so it's my implementation
21:44:48 <xarick> dang
21:44:48 <peter1138> Surprise :)
21:45:32 <xarick> thx
21:49:46 <xarick> it worked! no more repeats, or asserts
21:50:01 *** nielsm has quit IRC (Ping timeout: 480 seconds)
21:56:36 <_glx_> xarick: I'd say UINT_MAX - 511
22:06:15 <_glx_> <> the common method used to represent signed value, might help to understand int/uint "differences"
22:15:55 *** keikoz has quit IRC (Ping timeout: 480 seconds)
22:17:17 <peter1138> Hmm
22:18:21 <LordAro> mixu_78: can you report a bug? it'll get forgotten otherwise
22:26:14 <mixu_78> will do
22:35:44 <xarick> I think I don't need a circular tile search any longer, must think
22:36:13 <xarick> maybe I do
22:36:24 <xarick> 4096x4096 map sizes exist
22:36:31 <xarick> better start from the center
22:36:34 <xarick> than the edge
22:41:23 <xarick> Need to make it interruptible, segmented
22:43:05 <peter1138[d]>
22:43:05 <peter1138[d]> Kinda eye-bleedy
22:43:55 <peter1138[d]> Worked alright with only 16 cargos I guess.
22:44:25 <peter1138[d]> Or rather 12.
22:46:30 *** HerzogDeXtEr has quit IRC (Read error: Connection reset by peer)
22:58:28 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
23:23:46 <xarick> hmm...
23:23:58 <xarick> question ^^
23:25:28 <xarick> I think Count is heavy
23:25:45 <xarick> better just test it right away
23:26:20 <xarick> oh, I'm dumb, the first method also has a count
23:29:58 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler opened pull request #11588: Change: Split ScriptDate:: into Calendar and Economy variants
23:29:58 <_glx_> I think the less intensive would be to not use GSList
23:33:20 <xarick> oh boy mass placing signs is such a good feature!
23:33:40 <xarick> thx for whoever came up with the Async mode idea
23:37:31 *** Hanicef has quit IRC (Quit: leaving)
23:38:52 <_glx_> the main idea was for extra text in industry (or town, can't remember) window, and story book updates
23:41:07 <xarick> ๐Ÿ™‚
23:41:31 <xarick> removing 64k signs takes like 2 seconds now
23:41:53 <xarick> it takes forever without async
23:42:10 <_glx_> not forever, 64k ticks ๐Ÿ™‚
23:54:56 <talltyler> @glx #11588 crashes OpenTTD entirely when trying to load a GS. I have no idea why and need some help. ๐Ÿ˜ฆ (no rush, Iโ€™m frustrated and done for the day, but maybe you could take a look sometime and see what Iโ€™m missing)