Config
Log for #openttd on 27th February 2024:
Times are UTC Toggle Colours
00:19:00  <_glx_> oh of course 13.4 didn't have circular reference detection
01:10:35  *** HerzogDeXtEr1 has quit IRC
01:42:02  <DorpsGek> [OpenTTD/OpenTTD] glx22 approved pull request #12184: Fix: initialize _switch_mode_time so crash-logs before first game have a realistic time https://github.com/OpenTTD/OpenTTD/pull/12184#pullrequestreview-1902360896
01:42:05  <DorpsGek> [OpenTTD/OpenTTD] TrueBrain merged pull request #12184: Fix: initialize _switch_mode_time so crash-logs before first game have a realistic time https://github.com/OpenTTD/OpenTTD/pull/12184
02:14:57  *** Flygon has quit IRC
03:00:26  *** herms has quit IRC
03:04:07  *** herms has joined #openttd
03:04:09  *** Wormnest has quit IRC
03:51:36  *** D-HUND has joined #openttd
03:55:19  *** debdog has quit IRC
03:55:28  *** Leopold___ has joined #openttd
03:57:30  *** gnu_jj has joined #openttd
03:59:35  *** Leopold has quit IRC
04:00:56  *** gnu_jj_ has quit IRC
04:06:55  *** D-HUND is now known as debdog
04:25:03  *** felix has quit IRC
04:25:34  *** felix has joined #openttd
05:07:56  *** keikoz has joined #openttd
05:54:09  *** Ox7C5 has joined #openttd
05:55:59  <johnfranklin> https://cdn.discordapp.com/attachments/1008473233844097104/1211914608424521738/image.png?ex=65efee6e&is=65dd796e&hm=9c1815b7a53838b0e3d5d030b7982e687682d745b3970f88167d1e37229a29cf&
05:55:59  <johnfranklin> Is this viable? I have no clue after 2-hour digging into grf-py
05:56:24  <johnfranklin> Restaurant cars are masked with bit 0
06:18:01  *** keikoz has quit IRC
06:53:17  <johnfranklin> https://cdn.discordapp.com/attachments/1008473233844097104/1211929027619586048/image.png?ex=65effbdc&is=65dd86dc&hm=047b3541227a2a6dbe4c46a91d878f870515a3e2d73be44c7ef42076403fd46a&
06:53:17  <johnfranklin> What the ...
07:04:33  <locosage> johnfranklin: all the logic needs to go inside the switch code
07:05:15  <locosage> johnfranklin: also ranges are normally a dict, not a list and feauture is TRAIN, not Train
07:05:29  <ajmiles> I'm not sure it's remotely in the Top 3 reasons for why the GPU blitter is good, but it looks like taking Screenshots is about 3-4x faster now
07:05:59  <locosage> johnfranklin: iirc there is no hasbit function as well, just use binary operators
07:13:00  <belajalilija> yay
07:13:07  <belajalilija> my project already has people forking it
07:14:24  <belajalilija> that being said
07:14:32  <belajalilija> i hope this doesnt impact things for me
07:14:35  <belajalilija> like
07:14:56  <belajalilija> the changes wont happen to me right?
07:24:35  <johnfranklin> No
07:26:58  <belajalilija> aight
07:52:38  <andythenorth> stupid question, but a python assignment of an attribute value to a method result won't call the method each time the attribute is read?
07:52:47  <andythenorth> (it's a method with @property decorator)
08:06:58  *** jinks has quit IRC
08:08:37  *** jinks has joined #openttd
08:16:24  <peter1138> Which languages did that...
08:16:28  <peter1138> I remember at least one šŸ˜®
08:42:01  <ahyangyi> andythenorth: if you have provided the setter, I think the setter would be called; otherwise you are simply replacing the method with the value I think
08:42:54  <ahyangyi> https://cdn.discordapp.com/attachments/1008473233844097104/1211956615830569010/image.png?ex=65f0158e&is=65dda08e&hm=e2d40bd45dde9b7770b69faf83557fdaa6c09d2e724475840dd291e778a03937&
08:42:55  <ahyangyi> Uh no
08:43:01  <ahyangyi> you shouldn't be able to set it at all without a setter
08:53:19  <peter1138> So
08:53:53  <DorpsGek> [OpenTTD/OpenTTD] Distortional-Addict commented on issue #12182: [Bug]: #11959 "easy/medium/hard" AI setting randomisation is being applied to GS configuration https://github.com/OpenTTD/OpenTTD/issues/12182
09:01:23  <andythenorth> `foo = bar()` won't call bar() every time I want `foo` though?
09:01:57  <andythenorth> it's a one time assignment of `foo` to the result of `bar()` when called?
09:02:07  <andythenorth> I have only been doing python for 20 years šŸ˜›
09:03:23  <_jgr_> If you want to just copy a reference to the function, leave the function call brackets off
09:04:29  <andythenorth> the opposite šŸ™‚ the function is very expensive
09:04:39  <andythenorth> I don't want it called every time I read `foo`
09:05:29  <andythenorth> generally I assumed assignments would copy the result to the attribute, rather than placing a reference to the function, but something made me distrust that assumption
09:10:35  <peter1138> Urgh, tummy rumbling
09:11:11  <andythenorth> too early for lunch
09:11:13  <andythenorth> even I know that
09:11:29  <andythenorth> might be time for a orange
09:12:16  <peter1138> https://cdn.discordapp.com/attachments/1008473233844097104/1211964007917817896/image.png?ex=65f01c70&is=65dda770&hm=7d5a487d982fa43497269b901c80a83bd6634c39c5e347389488fe57ce94090e&
09:12:17  <peter1138> Such multihead
09:12:31  <andythenorth> oof I assumed oranges had zero negative health benefits, I should **not** have googled that šŸ˜›
09:12:35  *** Leopold___ has quit IRC
09:12:38  <andythenorth> is there no food with downsides?
09:13:06  <andythenorth> peter1138: get openttd to draw a vector line between them, 1px, black
09:13:10  <andythenorth> llike a tow rope
09:15:04  <peter1138> I need a tow rope.
09:15:17  <_jgr_> andythenorth: The dose makes the poison, as they say
09:20:54  <johnfranklin> https://cdn.discordapp.com/attachments/1008473233844097104/1211966176096157716/2024-02-27_172026.png?ex=65f01e75&is=65dda975&hm=41fe9995943e093a0d77c3de0353c98b34bcc504174090030fef0afffff588f0&
09:20:54  <johnfranklin> https://cdn.discordapp.com/attachments/1008473233844097104/1211966176343760906/2024-02-27_172032.png?ex=65f01e75&is=65dda975&hm=f3a8755a3803e652e8a873348529141cf4787cb85096b0e7a1ef836be5d0d915&
09:20:54  <johnfranklin> I think I have found a bug in grf-py
09:20:54  <johnfranklin> "has_consist_info" only checks the bitmask of wagons BEFORE the current wagon
09:23:19  <johnfranklin> Kiosk/restaurant cars  (coded with bitmask(0)) has bonus to passenger cars only by attaching BEFORE them
09:26:56  <locosage> johnfranklin: ehm, what is has_consist_info? i see nothing with this name in grf-py
09:27:40  <ahyangyi> `cargo_classes_in_consist`
09:28:07  <locosage> if you mean bitmask_consist_info that's straight up var42
09:28:43  <ahyangyi> oh
09:28:44  <ahyangyi> `bitmask_consist_info`
09:28:54  <ahyangyi> since we need the high bits
09:28:57  <andythenorth> is it a tree if each parent has one child?
09:29:03  <andythenorth> and they just recurse upwards?
09:29:06  <ahyangyi> I'm too little-endian to read the docs correctly
09:29:07  <andythenorth> or is that a chain?
09:30:30  <ahyangyi> Well, a chain is a tree, just like an empty graph is a forest
09:30:45  <locosage> can also be a loop though which isn't a tree
09:30:47  <johnfranklin> Oh, I see
09:35:36  <belajalilija> what are you even trying to do?
09:35:45  <belajalilija> it might be something i can do?
09:35:58  <belajalilija> or useful to us
09:40:37  <brickblock19280> Lower cargo age period when there is a restaurant/pub/kiosk car
09:41:12  *** Leopold has joined #openttd
09:41:26  <belajalilija> oh
09:41:26  <belajalilija> yeah thats cool
09:41:31  <belajalilija> but im not fucking with that unless you *really* want to
09:42:08  <brickblock19280> Nah but I don't mind adding it if he manages to code it
09:42:34  <belajalilija> ill let you manage that
09:42:45  <belajalilija> i mean
09:42:51  <belajalilija> you did your own merge thing recently
09:42:54  <belajalilija> and it worked
09:42:59  <belajalilija> so i trust you to do that stuff
09:46:32  <johnfranklin> I can do that
09:50:13  *** Flygon has joined #openttd
09:55:59  <DorpsGek> [OpenTTD/OpenTTD] Kuhnovic opened pull request #12185: Fix: Added missing return statement https://github.com/OpenTTD/OpenTTD/pull/12185
09:56:15  <kuhnovic> Let's make xarick  unhappy
09:58:55  <xarick> ohhh nooo šŸ˜¦
10:00:52  <xarick> `if (!path_found || node == nullptr)` I don't think node == nullptr will ever be true
10:01:10  <xarick> if path is found, then there is a node
10:01:42  <xarick> if path is not found, then node == nullptr is not tested
10:02:11  <kuhnovic> That might be true, but it doesn't hurt to check
10:02:12  <xarick> so the times when it's true, it's not checked
10:02:18  <xarick> okay šŸ™‚
10:03:27  <xarick> I wonder how much it's gonna affect my AI now
10:03:49  <kuhnovic> Dereferencing a nullptr is undefined behavior. It might crash the application šŸ˜‰
10:04:03  <kuhnovic> So in this case I figured it's best to check
10:04:28  <kuhnovic> Why do you rely on this behavior? Again, a lost ship is truely lost, you won't reach your destination anyway.
10:11:13  <DorpsGek> [OpenTTD/OpenTTD] TrueBrain commented on pull request #12185: Fix: Added missing return statement https://github.com/OpenTTD/OpenTTD/pull/12185#issuecomment-1966208055
10:20:17  <peter1138> Oh hey, I changed something else from 13ms to... almost nothing.
10:21:27  <peter1138> Caveat, it's only 13ms in one of (all of?) Xarick's crazy saves. In Wentbourne it's only ~1ms.
10:25:57  <peter1138> Also, trying to work out what this spare 12V/1.2A power supply is for.
10:26:09  <peter1138> Mikrotik router maybe?
10:26:27  <reldred> maybe!
10:27:02  <peter1138> Well, I better move it away from all the equipment that expects 9VDC centre negative.
10:28:29  <johnfranklin> https://cdn.discordapp.com/attachments/1008473233844097104/1211983184200466432/image.png?ex=65f02e4c&is=65ddb94c&hm=61cbf6d2d14adf431e6160b09260465d09d311a7d74da6a8c865f43e060b10aa&
10:28:29  <johnfranklin> I don't know why, but when I add the right bracket and compile, GRF-PY would show "list index out of range"
10:28:33  <DorpsGek> [OpenTTD/OpenTTD] Kuhnovic updated pull request #12185: Fix: Added missing return statement https://github.com/OpenTTD/OpenTTD/pull/12185
10:29:04  <johnfranklin> Otherwise, I am ready to make a PR.
10:34:08  <brickblock19280> That's really weird
10:35:51  <DorpsGek> [OpenTTD/OpenTTD] Kuhnovic commented on pull request #12170: Fix #8022: Ship automatic service causes them to be stuck in a loop https://github.com/OpenTTD/OpenTTD/pull/12170#issuecomment-1966255665
10:49:51  <kuhnovic> peter1138: This brings back traumatic memories of guitar FX pedals going up in smoke by plugging in the wrong adapter.
10:50:39  <locosage> johnfranklin: need a full traceback to see what's going on, but anyway use `bitmask_consist_info & 1` that should be the same thing
10:51:07  <xarick> `m_new_td_bits &= (TrackdirBits)~(int)TrackdirCrossesTrackdirs(m_old_td);`
10:51:07  <xarick> why so many casts...
10:55:22  <DorpsGek> [OpenTTD/OpenTTD] Fefer-Ivan updated pull request #12163: Add: Basic autocompletion on tab for console commands https://github.com/OpenTTD/OpenTTD/pull/12163
10:59:58  <johnfranklin> https://cdn.discordapp.com/attachments/1008473233844097104/1211991107467083776/image.png?ex=65f035ad&is=65ddc0ad&hm=f0b009bf64e1c063750c2fcbffaf2933cc094488b557bfbc8caa7fd2c0aadf20&
10:59:58  <johnfranklin> locosage:
11:11:54  <xarick> hmm, found another ship problem, I think
11:12:12  <xarick> gonna investigate
11:19:45  <DorpsGek> [OpenTTD/OpenTTD] TrueBrain approved pull request #12185: Fix: Added missing return statement https://github.com/OpenTTD/OpenTTD/pull/12185#pullrequestreview-1903229276
11:36:20  *** Ox7C5 has quit IRC
11:38:24  <peter1138> Me o'clock
11:45:19  <ahyangyi> https://cdn.discordapp.com/attachments/1008473233844097104/1212002522093461504/image.png?ex=65f0404f&is=65ddcb4f&hm=7163d2dc64a83b191780b06f5cb5f01b3918a8f8bbdc20b7e42012304d9f5bec&
11:45:19  <ahyangyi> ^ first error is about a comma
11:45:32  <DorpsGek> [OpenTTD/OpenTTD] merni-ns updated pull request #12139: Fix #12134: Use correct error messages if clearing drive-through road stops fails https://github.com/OpenTTD/OpenTTD/pull/12139
11:45:50  <merni> talltyler: Done :)
11:46:02  <peter1138> More full-width commas where normal ASCII expected? šŸ™‚
11:46:17  <kuhnovic> xarick: Xarick is keeping me off the streets
11:47:17  <xarick> i'm looking at some random ship lost messages out of nowhere, different than the usual
11:49:53  <merni> Time to delete NPF?
11:50:30  <merni> meh, it can probably wait for the weekend
11:50:36  <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler approved pull request #12139: Fix #12134: Use correct error messages if clearing drive-through road stops fails https://github.com/OpenTTD/OpenTTD/pull/12139#pullrequestreview-1903289773
11:55:46  <DorpsGek> [OpenTTD/OpenTTD] glx22 merged pull request #12185: Fix: Added missing return statement https://github.com/OpenTTD/OpenTTD/pull/12185
11:59:21  <locosage> johnfranklin: "fixed"
11:59:33  <locosage> should now raise NotImplementedError šŸ˜…
11:59:59  <locosage> add and div/mod args are not currently imlplemented so just omit them
12:16:26  <xarick> okay this is a really strange occurence
12:17:25  <xarick> for some reason, the low lvl pf found no path, but the high lvl pf has a path
12:17:51  <xarick> failed on attempt 0 and 1
12:17:58  <xarick> even after restricted path
12:18:15  <xarick> but... why
12:21:03  <DorpsGek> [OpenTTD/OpenTTD] PeterN opened pull request #12186: Codechange: Use vehicle tile hash to build depot vehicle list. https://github.com/OpenTTD/OpenTTD/pull/12186
12:21:17  <xarick> what does trackdir 168 even mean?
12:24:31  <peter1138> Assuming it's TRACKDIR_BIT, not TRACKDIR, 168 = 0b 1010 1000 = TRACKDIR_RVREV_SE | TRACKDIR_RIGHT_S | TRACKDIR_LOWER_E.
12:24:43  <peter1138> So perhaps not, as RVREV_SE is road vehicle only.
12:25:07  <xarick> this is a ship
12:25:17  <xarick> im testing now with debug build, but loading this save is slow, brb
12:25:20  *** pickpacket3 has joined #openttd
12:25:26  <peter1138> Loading your saves usually is slow, yes.
12:27:12  <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1212013061850927164/image.png?ex=65f04a20&is=65ddd520&hm=25072373f474f9ae00f23cd6d72955f6ef586cb3eb70c174f045dbcb387991fb&
12:27:12  <xarick> ship is about to get flagged as lost
12:27:44  <xarick> the ship is heading that canal to the southeast, but the destination is at the northwest
12:27:46  *** pickpacket has quit IRC
12:27:46  *** pickpacket3 is now known as pickpacket
12:28:14  <xarick> it has no way to turn around until it follows the entire canal towards southeast
12:28:35  <xarick> why did it go this way in the first place
12:30:54  *** jinks has quit IRC
12:31:31  <xarick> TRACKDIR_Y_SE
12:31:40  <xarick> in debug build it tells me the real value
12:32:04  *** jinks has joined #openttd
12:34:14  <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1212014830391795782/image.png?ex=65f04bc5&is=65ddd6c5&hm=081f0ec8c45735b288f89f8adcebef1b2450f8ab7dec125796774b5a98e0dd91&
12:34:14  <xarick> my pictures
12:34:21  <xarick> ship is in that circle
12:34:48  <xarick> it's heading southeast, can only turn around at that place the arrow points at southeast
12:34:55  <xarick> until then, it's lost?
12:36:33  <kuhnovic> I guess that the ship can't turn around?
12:44:04  <kuhnovic> Can you make an issue for this? Sounds like another fun edge case.
12:44:30  <kuhnovic> Preferably not with a 4K map with 2 million ships if possible šŸ˜›
12:47:08  <peter1138> As if.
13:32:21  <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1212029456709976174/image.png?ex=65f05964&is=65dde464&hm=f7763479904dc71e9949bb1f214d1e58d1d17cb423086e980809475f969a8eee&
13:32:21  <xarick> there goes the theory the low lvl pf has a better path
13:33:51  <xarick> high lvl pf doesn't take ship direction into account
13:34:06  <kuhnovic> Indeed. But the LL PF has to.
13:35:12  <kuhnovic> But I wonder why the LL PF doesn't just tell the ship to turn around. But I believe the pre-regions-pathfinder never did that either. Maybe that's something that can be added.
13:35:43  <xarick> ram into the side of a canal?
13:35:51  <xarick> to revert
13:37:26  <xarick> gonna experiment with the "return" fix, maybe it will do just that
13:40:01  <xarick> road vehicles can turn around at the end of a road without signaling they're lost
13:41:42  <xarick> nope, didn't work
13:42:04  <xarick> GetRandomFollowUpTrackdir has only 1 track choice, it's in a lock
13:42:12  <xarick> it's only lost while in the lock
13:42:35  <xarick> when it's no longer in a lock, it also coincides with entering a new region... tough luck
13:43:53  <LordAro> kuhnovic: "ever given mode"
13:44:29  <peter1138> Well.
13:44:57  <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1212032627096293419/image.png?ex=65f05c58&is=65dde758&hm=623866aeb3154ed4a35094cddbe37a169be9e212e37e27d288d98d55d3a2403a&
13:44:57  <xarick> hmm, i suspect the version is old
13:45:12  <xarick> g023951517
13:47:34  <xarick> version doesn't exist... šŸ˜®
13:47:49  <xarick> let's see 7d3c369
13:48:17  <peter1138> Could be some local branch that you've since rebased.
13:48:33  <xarick> oh boy šŸ˜¦
13:48:52  <peter1138> (Or deleted, of course)_
13:51:03  <LordAro> so i'm reading the wikipedia page on the 2021 Suez blockage
13:51:09  <LordAro> "In England and across Europe, supply chain disruption from the canal incident, coupled with an already increased interest in gardening due to COVID-19 lockdowns, led to a shortage of garden gnomes."
13:52:03  <xarick> so it's an invalid test
13:52:08  <xarick> bah šŸ˜¦
13:52:26  <xarick> let's go by savegame version 328
13:52:28  <truebrain> LordAro: hahaha
13:52:50  <truebrain> so many questions šŸ˜„
13:58:17  <xarick> it's a savegame between 23 and 26 january
14:01:43  <xarick> 25 jan had the lock issue fixed
14:01:59  <xarick> invalidation missing for locks, so i doubt this savegame was started on 26th jan
14:02:10  <xarick> probably started on 23th
14:02:17  <xarick> it's before the invalidation fix
14:05:18  <DorpsGek> [OpenTTD/OpenTTD] J0anJosep commented on pull request #12186: Codechange: Use vehicle tile hash to build depot vehicle list. https://github.com/OpenTTD/OpenTTD/pull/12186#pullrequestreview-1903571307
14:07:07  <xarick> that's strange
14:08:04  <xarick> I detached here <https://github.com/OpenTTD/OpenTTD/commit/21581b6ab3aee872cca10ff85676e172c3283f5e>
14:08:28  <xarick> loading a savegame on this version, I have the order pointing to 3, not 4
14:08:39  <xarick> savegame conversion error?
14:08:50  <xarick> when was unbunch added? before or after 23 jan?
14:11:18  <DorpsGek> [OpenTTD/OpenTTD] glx22 opened pull request #12187: Fix bf4b6696: [Script] Broken ScriptText circular reference detection https://github.com/OpenTTD/OpenTTD/pull/12187
14:12:05  <xarick> no unbunch at this version
14:12:14  <xarick> hmm... I'm onto something
14:19:58  *** Ox7C5 has joined #openttd
14:24:03  <xarick> unbunch added on 3rd february
14:24:12  <_glx_> <https://github.com/OpenTTD/OpenTTD/compare/master...glx22:OpenTTD:script_list_jump> <-- good or bad idea?
14:24:43  <xarick> nice idea!
14:25:12  <xarick> but.. sometimes there are multiple versions installed of the same script
14:27:41  <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #12186: Codechange: Use vehicle tile hash to build depot vehicle list. https://github.com/OpenTTD/OpenTTD/pull/12186#pullrequestreview-1903669113
14:28:43  <_glx_> hmm if you select a previous version using ctrl when opening, then reopen without ctrl it "selects" random
14:29:33  <_glx_> I think that works as "expected"
14:30:50  <xarick> there is a weird bug when you have an old version of a script and then download the most recent one from bananas
14:31:12  <xarick> the script config remains with the old version loaded in the slot
14:31:22  <xarick> so it starts the old one
14:31:29  <xarick> after you downloaded a newer
14:31:57  <xarick> you have to restart openttd
14:32:00  <xarick> to fix itself
14:34:59  <_glx_> oh funny, if you select an older version then close openttd, it will use latest when you restart
14:36:05  <xarick> okay, I am almost 99% sure there was a savegame error when unbunch was added
14:36:18  <xarick> tested the version before unbunch, ship goes to order 3
14:36:27  <xarick> tested version with unbunch, ship goes to order 4
14:36:35  <xarick> order 3 is go to nearest depot
14:39:22  <xarick> the other 1% uncertainty is go to nearest depot was also added before unbunch
14:40:00  <xarick> using the high lvl pf
14:42:20  <_glx_> savegame conversion looks fine, if you see the same depot action
14:43:57  <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1212047478308872205/image.png?ex=65f06a2d&is=65ddf52d&hm=45ec567c2171327e55ed416440d82ebaea8ffb28f8748c3a48e725ae6dfb52c3&
14:43:57  <xarick> it's one of these
14:48:44  <_glx_> you mean it goes from order 2 to order 4 ?
14:49:12  <xarick> it was saved on 26th january
14:49:21  <xarick> it was saved as going to order 3
14:49:35  <xarick> service at nearest depot
14:49:49  <xarick> and the depot is already calculated
14:50:36  <xarick> when loading back after unbunch, order 3 seems to be skipped, and ship is now heading to 4
14:50:47  <xarick> a goto station order
14:52:35  <_glx_> but conversion doesn't touch this at all, so it's something else
14:53:03  <peter1138> No longer needs servicing...
14:53:19  <xarick> I tested at 8a4a99b7 and it still goes to order 3, it's correct
14:53:24  <xarick> so it's the unbunch that causes it
14:53:46  <xarick> f6dd5053
14:56:11  <_glx_> anyway it's not the savegame conversion
14:56:40  <_glx_> as the conversion just moves the flags
14:58:35  <xarick> then... it's something šŸ˜
14:58:49  <xarick> gonna check what it does
15:00:37  <_glx_> I don't see anything that could change order index in the commit
15:03:00  <xarick> it's a current order isn't it?
15:04:03  <xarick> is current_order listed in Orders? I think not
15:04:13  <xarick> not sure
15:05:18  <_glx_> oh might be something, there's no conversion for current_order
15:05:45  <xarick> peter knows, he worked on that recently
15:07:04  <_glx_> yup I think you spot the issue
15:08:41  <_glx_> tests like `            if (v->current_order.GetDepotActionType() & ODATFB_NEAREST_DEPOT) {` will have a different result
15:08:56  <_glx_> as they are not converted
15:11:08  <peter1138> Nice catch.
15:11:31  <_glx_> funny how there was the correct example just above the conversion
15:11:51  <peter1138> Yes, I was just about to say šŸ™‚
15:14:03  <_glx_> I can fix, unless you already doing it
15:14:13  <peter1138> I'm not, no.
15:14:32  <xarick> please do
15:15:00  <xarick> I'm testing a fix of my own, but seems to be different
15:15:04  <xarick> probably wrong
15:19:12  <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1212056346191593492/image.png?ex=65f0726f&is=65ddfd6f&hm=a473a4be5188ea962cfef4cf2c2809b19a424a0f884fb55d58ef8b8469b7ffe4&
15:19:12  <xarick> or not, seems correct
15:19:25  <xarick> now it finally makes sense why the ship was taking this path
15:19:41  <xarick> it was heading to the depot which is indeed towards southeast
15:20:20  *** zero2474 has quit IRC
15:25:14  <DorpsGek> [OpenTTD/OpenTTD] glx22 opened pull request #12188: Fix f6dd505: Missing savegame conversion for current_order https://github.com/OpenTTD/OpenTTD/pull/12188
15:29:55  <xarick> bad choice of depot, though but meh...
15:30:19  <xarick> i was intending on testing water regions
15:30:30  <xarick> so i used nearest depot
15:31:41  <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #12188: Fix f6dd505: Missing savegame conversion for current_order https://github.com/OpenTTD/OpenTTD/pull/12188#pullrequestreview-1903875238
15:31:58  <_glx_> in your case it shows "service at nearest", but current_order is actually unbunch&halt
15:32:23  *** alfagamma7 has joined #openttd
15:32:23  <alfagamma7> So no more buoys?
15:32:34  <peter1138> We removed them, just like block signals.
15:32:35  *** Wormnest has joined #openttd
15:32:52  <alfagamma7> Hmm
15:33:04  <alfagamma7> could have used them as way points
15:33:10  <alfagamma7> just saying
15:33:11  <DorpsGek> [OpenTTD/OpenTTD] glx22 commented on pull request #12188: Fix f6dd505: Missing savegame conversion for current_order https://github.com/OpenTTD/OpenTTD/pull/12188#pullrequestreview-1903882824
15:33:44  <_glx_> noone prevents you to still use them
15:34:10  <_glx_> they are just not required for ships to find their way
15:34:20  <peter1138> Yes, we removed waypoints too.
15:34:48  <LordAro> we also removed ships
15:34:51  <LordAro> no one was using them
15:37:31  <peter1138> Famous last words... "That won't take long, most of the pieces are still in place"
15:37:41  <peter1138> Still working out what bits to update.
15:48:38  <xarick> you're saying the ship is gonna halt at depot?
15:49:48  <xarick> nop, it didn't stop
15:50:13  <xarick> it proceeded to order 4
15:51:34  *** nielsm has joined #openttd
16:03:23  <DorpsGek> [OpenTTD/OpenTTD] apoinhal opened issue #12189: [Bug]: min_active_clients does not unpause the game when player(s) join company https://github.com/OpenTTD/OpenTTD/issues/12189
16:07:28  <DorpsGek> [OpenTTD/OpenTTD] glx22 commented on issue #12189: [Bug]: min_active_clients does not unpause the game when player(s) join company https://github.com/OpenTTD/OpenTTD/issues/12189
16:07:49  <peter1138> Realistic Tractive Effort coefficients? <https://www.youtube.com/watch?v=nGhBHrr5CYQ>
16:20:32  <truebrain> _glx_: lol
16:20:57  <truebrain> (your reply on 12189)
16:36:35  <xarick> those PRs with backport can't be merged atm right?
16:37:32  <xarick> oh, I saw one merged
16:37:55  <xarick> https://github.com/OpenTTD/OpenTTD/pull/12184
16:39:37  *** tabytac has quit IRC
16:39:41  <xarick> 2
16:39:58  <LordAro> 3
16:43:29  <xarick> finally they fixed github desktop, I can see all my branches now
17:06:21  <DorpsGek> [OpenTTD/OpenTTD] rubidium42 approved pull request #12186: Codechange: Use vehicle tile hash to build depot vehicle list. https://github.com/OpenTTD/OpenTTD/pull/12186#pullrequestreview-1904204757
17:08:27  *** keikoz has joined #openttd
17:08:44  <DorpsGek> [OpenTTD/OpenTTD] rubidium42 approved pull request #12187: Fix bf4b6696: [Script] Broken ScriptText circular reference detection https://github.com/OpenTTD/OpenTTD/pull/12187#pullrequestreview-1904211060
17:11:59  <DorpsGek> [OpenTTD/OpenTTD] rubidium42 approved pull request #12180: Codefix: DrawEngineList does not accept EngineID. https://github.com/OpenTTD/OpenTTD/pull/12180#pullrequestreview-1904219626
17:13:19  <frosch123> https://www.scs.stanford.edu/~dm/blog/param-pack.html <- HN linked an extensive good night story today
17:13:39  <frosch123> for all the C++20 nerds here
17:14:56  <DorpsGek> [OpenTTD/OpenTTD] glx22 commented on issue #12189: [Bug]: min_active_clients does not unpause the game when player(s) join company https://github.com/OpenTTD/OpenTTD/issues/12189
17:15:36  <_glx_> that's the only possibility I can see
17:16:25  <DorpsGek> [OpenTTD/OpenTTD] glx22 merged pull request #12187: Fix bf4b6696: [Script] Broken ScriptText circular reference detection https://github.com/OpenTTD/OpenTTD/pull/12187
17:18:56  <DorpsGek> [OpenTTD/OpenTTD] PeterN merged pull request #12180: Codefix: DrawEngineList does not accept EngineID. https://github.com/OpenTTD/OpenTTD/pull/12180
17:19:22  <DorpsGek> [OpenTTD/OpenTTD] PeterN merged pull request #12186: Codechange: Use vehicle tile hash to build depot vehicle list. https://github.com/OpenTTD/OpenTTD/pull/12186
17:20:34  <xarick> nice merge, does it mean I can now async buy 1 million vehicles faster?
17:21:10  <peter1138> Not sure, do you list vehicles in a depot a lot?
17:21:24  <xarick> ahm... no
17:21:36  <xarick> i expected something else
17:22:12  <xarick> remember that GS that buys vehicles in mass
17:22:26  <DorpsGek> [OpenTTD/OpenTTD] rubidium42 approved pull request #12181: Fix #12176: Ships are circling in one place https://github.com/OpenTTD/OpenTTD/pull/12181#pullrequestreview-1904267194
17:22:46  <xarick> oh no rubidium approved!
17:22:51  <xarick> I was still testing
17:24:07  <xarick> i kinda proved today that low lvl pf does not always bring the best path
17:24:36  <xarick> but it's probably fine
17:25:30  *** Wolf01 has joined #openttd
17:26:06  <DorpsGek> [OpenTTD/OpenTTD] PeterN opened pull request #12190: Codechange: Use `GetVisibleRangeIterators()` in more places. https://github.com/OpenTTD/OpenTTD/pull/12190
17:26:19  <peter1138> "Whoops, that escalated"
17:27:09  <xarick> still better than leaving ships doing circles
17:29:33  <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1212089152330268752/image.png?ex=65f090fd&is=65de1bfd&hm=b45170bd5e957e8da8211902b3aaa22a4f05f47b2bcc6f9eab90724332b53582&
17:29:33  <xarick> just found another "edge case"
17:31:22  <xarick> a combination of ship leaving dock, the region being in the corner, and low lvl pf not finding a path
17:31:55  <DorpsGek> [OpenTTD/OpenTTD] PeterN opened pull request #12191: Codechange: Use range-for instead of indexed loop. https://github.com/OpenTTD/OpenTTD/pull/12191
17:33:44  <kuhnovic> xarick: Does #12176 fix this case?
17:34:09  <xarick> let me check
17:34:25  <xarick> oh you mean 12181
17:34:41  <xarick> no, I'm testing that
17:35:23  <LordAro> xarick: well then you know where issues go
17:35:28  <kuhnovic> Eh yeah sorry, 12181 indeed
17:36:01  <xarick> I'm trying to understand how the ship got into this situation
17:36:25  <DorpsGek> [OpenTTD/OpenTTD] PeterN updated pull request #12159: Codechange: Store industry cargo data in vector instead of array. https://github.com/OpenTTD/OpenTTD/pull/12159
17:36:29  <_glx_> it used the free docking tile
17:36:35  <kuhnovic> Drunken sailors
17:36:48  <peter1138> LordAro, keep thinking about buying a turbo trainer... šŸ˜®
17:37:32  <peter1138> xarick: What is the problem here, then?
17:38:24  <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #12159: Codechange: Store industry cargo data in vector instead of array. https://github.com/OpenTTD/OpenTTD/pull/12159#issuecomment-1967272446
17:40:44  <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #12159: Codechange: Store industry cargo data in vector instead of array. https://github.com/OpenTTD/OpenTTD/pull/12159#pullrequestreview-1904330220
17:41:04  <DorpsGek> [OpenTTD/OpenTTD] AdminChucky commented on issue #12189: [Bug]: min_active_clients does not unpause the game when player(s) join company https://github.com/OpenTTD/OpenTTD/issues/12189
17:48:07  <xarick> I'm unsure what's called next after Vehicle::LeaveStation
17:49:04  <xarick> ChooseShipTrack vs CheckShipReverse
17:56:14  <xarick> CheckShipReverse is called first
17:57:43  <xarick> ah I see... the path was immediately restricted
17:57:47  <xarick> in CheckShipReverse
17:57:56  <xarick> there's no 2 attempts here
17:58:03  <DorpsGek> [OpenTTD/OpenTTD] rubidium42 updated pull request #12178: Codechange: use int32_t instead of uint16_t for scroll bar position/size/capacity https://github.com/OpenTTD/OpenTTD/pull/12178
18:02:09  <xarick> CheckShipReverse returned false... didn't reverse, forcing the ship into a corner
18:02:26  <xarick> it's CheckShipReverse fault this time
18:03:01  <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1212097574794952784/image.png?ex=65f098d5&is=65de23d5&hm=9422ab3268e22bf3b989e0261f9ed9de645d391452d6db8d61d3aed9f5b50302&
18:05:14  <xarick> it return false because path was restricted immediately? hmm I really need to print coordinates into each region
18:06:19  <DorpsGek> [OpenTTD/OpenTTD] AdminChucky commented on issue #12189: [Bug]: min_active_clients does not unpause the game when player(s) join company https://github.com/OpenTTD/OpenTTD/issues/12189
18:11:26  <DorpsGek> [OpenTTD/OpenTTD] rubidium42 approved pull request #12191: Codechange: Use range-for instead of indexed loop. https://github.com/OpenTTD/OpenTTD/pull/12191#pullrequestreview-1904427885
18:14:30  *** HerzogDeXtEr has joined #openttd
18:16:40  <DorpsGek> [OpenTTD/OpenTTD] J0anJosep commented on pull request #12186: Codechange: Use vehicle tile hash to build depot vehicle list. https://github.com/OpenTTD/OpenTTD/pull/12186#pullrequestreview-1904444224
18:19:01  <DorpsGek> [OpenTTD/OpenTTD] PeterN merged pull request #12191: Codechange: Use range-for instead of indexed loop. https://github.com/OpenTTD/OpenTTD/pull/12191
18:20:26  <xarick> i'm too noob for strings
18:20:38  <xarick> `std::string text = region_x + "" + region_y;` will this work? I doubt it
18:21:37  <peter1138> std::string text = fmt::format("{}{}", region_x, region_y);
18:21:51  <xarick> cool, thx
18:27:28  <xarick> hmm no signs, maybe wrong owner
18:28:56  <xarick> nop, it's not pllacing them signs, i fail
18:32:53  <xarick> oh, I see, it places them, then removes them at a later point during initialization šŸ™‚
18:36:10  <DorpsGek> [OpenTTD/OpenTTD] eints-sync[bot] pushed 1 commits to master https://github.com/OpenTTD/OpenTTD/commit/529d8134966a34d6dfad85aab6febbf646acd02b
18:36:11  <DorpsGek>   - Update: Translations from eints (by translators)
18:36:45  <DorpsGek> [OpenTTD/OpenTTD] apoinhal commented on issue #12189: [Bug]: min_active_clients does not unpause the game when player(s) join company https://github.com/OpenTTD/OpenTTD/issues/12189
18:41:22  <andythenorth> hmm
18:41:26  <andythenorth> occasionally
18:41:31  <andythenorth> I wish nml was nfo
18:41:48  <andythenorth> the ability to recurse varact 2 using the same ID
18:42:29  <andythenorth> I need to manage switch number assignments across 900 vehicles šŸ˜›
18:43:36  <andythenorth> my compile should be able to do it, but there's a gap somewhere and 'next switch' is failing on a missing switch number
18:46:38  <peter1138> NML can do that, surely? You just don't get to control it.
18:48:51  <frosch123> yes, it does that, you can see it in action in the regression tests
18:49:43  <andythenorth> yes I just want a weird BAD FEATURE
18:50:02  <andythenorth> nml enforces unique switch IDs for sensible reasons
18:50:10  <andythenorth> generating them is a pain in the arse šŸ˜›
18:50:31  <andythenorth> in one case which is probably beyond a corner case at this point šŸ˜›
18:54:40  <xarick> lol, not enough signs to place all coordinates
18:54:58  <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1212110648260034671/image.png?ex=65f0a502&is=65de3002&hm=c407f34a713170f858469d7f404c02c42a973b123738f58a8229d22a3b009d7e&
18:57:04  <DorpsGek> [OpenTTD/OpenTTD] glx22 commented on issue #12189: [Bug]: min_active_clients does not unpause the game when player(s) join company https://github.com/OpenTTD/OpenTTD/issues/12189
19:02:00  <xarick> hmm...
19:02:03  <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1212112429257982023/image.png?ex=65f0a6ab&is=65de31ab&hm=7d57eac6e4436646277dbab52086461643c79c39a291635f718728906977c59f&
19:03:01  <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1212112672611368970/image.png?ex=65f0a6e5&is=65de31e5&hm=3bc60be9901e272ff002043b20b434377df061771663cd222ff8218afe451420&
19:03:16  <xarick> dang, dinner, I'll explain later
19:03:26  <xarick> the restricted path is the culprit
19:09:16  <DorpsGek> [OpenTTD/OpenTTD] PeterN updated pull request #12159: Codechange: Store industry cargo data in vector instead of array. https://github.com/OpenTTD/OpenTTD/pull/12159
19:18:33  <andythenorth> Hmm maybe I should stop trying to save varact2 IDs šŸ˜›
19:18:57  <andythenorth> The cure starts to look worse than the disease šŸ™‚
19:24:18  <DorpsGek> [OpenTTD/OpenTTD] J0anJosep updated pull request #8480: Feature: Extended depots https://github.com/OpenTTD/OpenTTD/pull/8480
19:24:21  <DorpsGek> [OpenTTD/OpenTTD] J0anJosep updated pull request #9577: Feature: Multi-tile depots https://github.com/OpenTTD/OpenTTD/pull/9577
19:25:40  <xarick> j0anjosep: can you add rename hangar feature?
19:27:41  <kuhnovic> xarick: Please explain, curious!
19:29:49  *** j0anjosep has joined #openttd
19:29:49  <j0anjosep> xarick: For which purpose? I think the name of the airport is the most descriptive and useful name.
19:31:32  <locosage> psst, I have this thing called grf-py... šŸ˜…
19:31:51  <locosage> can nfo recurse switches though? I thought it just refers to the previous use of that ref_id
19:32:12  <locosage> andythenorth: that was supposed to be a reply...
19:32:44  <frosch123> locosage: the wording was off. andy wants to redefine/shadow switch names
19:33:00  <frosch123> instead of having to number them just to make them unique across the whole file
19:33:20  <frosch123> in nfo "shadowing" is the default behavior
19:33:30  <locosage> ah, well, yeah grf-py is perfect in this case, switches have no id šŸ¤£
19:33:52  <andythenorth> frosch123: Yes, that
19:34:27  <frosch123> locosage: who knows, maybe python object ids are 32bit, andy may fill those
19:34:47  <locosage> isn't that just a memory address?
19:44:09  <truebrain> frosch123: who are you kidding, even if they are 64bit, he will fill those!
19:44:59  <frosch123> did peter already extend grfid to 64bit?
19:45:21  <xarick> j0anjosep: the other depots could be renamed, so I thought maybe now hangars could be renamed if they have their own Depot id
19:46:32  <truebrain> presets have been on my mind, and how stupid simple it is to implement .. just the BaNaNaS part is annoyingly difficult šŸ˜¦
19:47:11  <xarick> <https://github.com/OpenTTD/OpenTTD/pull/10691>
19:47:12  <truebrain> so rewrite BaNaNaS, right?
19:49:02  <frosch123> i thought the biggest problem was upgrading them
19:49:16  <frosch123> or whether they should store version numbers or parameters
19:49:46  <truebrain> upgrading? parameters?
19:49:47  <j0anjosep> xarick: I could add the havility to rename them on those PRs, but I think there is no purpose.
19:50:29  <frosch123> oh sorry, i assumed "presets" means "newgrf presets" šŸ™‚ i now realize you are truebrain, and probably mean "settings presets"
19:50:39  <truebrain> which includes newgrfs, yes šŸ™‚
19:50:50  <truebrain> why do something so-so if you can do it full!
19:51:41  <xarick> I'm in a rabbit hole!
19:51:44  <frosch123> the problem with newgrf presets is. do they reference a grf by grfid only (i.e. any version / latest), or do they reference a md5sum (i.e. specific version)
19:52:03  <frosch123> and do newgrf presets only reference the grfs, or also set newgrf parameters
19:52:22  <truebrain> for presets, or "settings presets", that is a tiny bit easier, as the preset should point to the exact NewGRF; and as they are just ini files, parameters are also easier, as they are part of the ini file šŸ™‚
19:52:31  <truebrain> see, so many problems disapear if you just use the superset šŸ™‚
19:52:41  <frosch123> because we have no migration mechanism parameters between different newgrf releases
19:53:20  <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1212125336545001502/image.png?ex=65f0b2b0&is=65de3db0&hm=7206ef0612e6f7b0fb318207e2242233e714fa2bedd7c6875f442b2de52fa8b0&
19:53:20  <xarick> these tiles should ~match
19:54:14  <frosch123> for basegraphics i store the baseset version in openttd.cfg, so i can reset the parameters, if the version changes
19:54:18  <xarick> they don't match because dest_tile is a dock, what it should actually look for is one of the docking tiles
19:54:30  <frosch123> because we implicitly always load the newest baseset
19:54:35  <DorpsGek> [OpenTTD/OpenTTD] rubidium42 approved pull request #12190: Codechange: Use `GetVisibleRangeIterators()` in more places. https://github.com/OpenTTD/OpenTTD/pull/12190#pullrequestreview-1904686583
19:55:01  <xarick> "tile" is a docking tile of the dock located at "v->dest_tile"
19:55:15  <frosch123> either way, i assume the ottd client was not yet rewritten to query the content list via https?
19:55:24  <truebrain> sadly, no
19:55:33  <truebrain> which is why BaNaNaS is such a pita
19:55:39  <frosch123> does the legacy protocol allow new content types?
19:55:40  <truebrain> as it means presets need a 4 byte unique ID
19:55:47  <truebrain> yeah, that it does
19:56:13  <truebrain> but you get this whole "upgrade" blabla again, for what makes a newer preset
19:56:20  <truebrain> and I don't want another heightmap/scenario incident šŸ˜›
19:56:24  <frosch123> so what, we also assign unique ids to scenarios and heightmaps via a sidecar file
19:56:34  <truebrain> I answered before you mentioned! Whoho! šŸ˜›
19:57:41  <frosch123> well, i guess you can store the uniqueid inside the preset
19:57:54  <truebrain> yeah ... but that is just the annoying shitty part .. and so boring šŸ˜›
19:58:01  <frosch123> and normalize the preset by sorting keys/whitespace before computing md5sum
19:58:22  <truebrain> I already sneaked most of the other stuff in there during some changes
19:58:34  <truebrain> so it really is just loading another ini file on top of the current settings šŸ˜„
19:59:00  <truebrain> (they even have a compatibility-version šŸ˜› )
20:00:16  <frosch123> sounds like loading presets is easier than saving them. maybe it's fine if regular users can't do that, and only "experts" can upload content to bananas :p
20:00:49  <frosch123> actually, presets on bananas gives me horrors
20:00:54  <truebrain> it is basically uploading your openttd.cfg šŸ˜›
20:01:24  <frosch123> the entry barrier for scenarios is already too low, so there is a lot of trash
20:01:33  <truebrain> make them do a test? šŸ˜„
20:01:58  <frosch123> do presets only include game settings, or also company or client settings?
20:02:04  <truebrain> guess a question I do have, can you stack presets? šŸ˜„
20:02:19  <truebrain> I would do the first, personally; but that is something to fine tune
20:02:39  <frosch123> stacking only makes sense, if they do not set everything. and that kind of forbids "upload your openttd.cfg"
20:02:45  <andythenorth> frosch123: I'm wondering if this plan is unwise.  Walking 993 switches in the graphics chain, comparing vehicle ID with a register value.  Might not be good.
20:03:00  <truebrain> I guess .. also makes it a bit easier in managing, to only allow a single preset
20:03:11  <truebrain> maybe I should like the survey results to a "what is popular" to BaNaNaS first šŸ˜›
20:03:52  <frosch123> "play like in 2023-12"
20:05:21  <frosch123> hmm, stacking also asks for presets like "all vehicle grfs active", "all townname grfs active", ...
20:05:52  <frosch123> oh, and ofc the "download everything from bananas" preset
20:06:02  <frosch123> maybe exclude basesets from presets :p
20:06:11  <truebrain> haha, yes
20:06:18  <truebrain> and I will add code to avoid the "download NNN" presets šŸ˜›
20:06:54  <frosch123> make it change the preset into "force toyland"
20:09:00  <xarick> lol, the more I look into this, the more I find this situation extremely rare
20:10:10  <DorpsGek> [OpenTTD/OpenTTD] PeterN merged pull request #12190: Codechange: Use `GetVisibleRangeIterators()` in more places. https://github.com/OpenTTD/OpenTTD/pull/12190
20:10:26  <xarick> the ship is at the top corner tile of the region, on trackdir left south
20:10:51  <xarick> it is restricted to find a path at the region at the northeast
20:11:17  <xarick> it it reverts, the region it gets into is at northwest
20:11:29  <xarick> if it doesn't revert, it gets cornered
20:11:36  <peter1138> Did #12188 fix your savegame issue?
20:11:52  <xarick> yes
20:12:15  <xarick> in other words, the ship is in an impossible situation
20:12:46  <DorpsGek> [OpenTTD/OpenTTD] PeterN approved pull request #12188: Fix f6dd505: Missing savegame conversion for current_order https://github.com/OpenTTD/OpenTTD/pull/12188#pullrequestreview-1904719510
20:12:55  <xarick> Im using it
20:13:49  <xarick> I suspect lifting the restrictedpath would solve it, let me try
20:18:52  <DorpsGek> [OpenTTD/OpenTTD] rubidium42 updated pull request #12178: Codechange: use int32_t instead of uint16_t for scroll bar position/size/capacity https://github.com/OpenTTD/OpenTTD/pull/12178
20:24:34  <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #12178: Codechange: use int32_t instead of uint16_t for scroll bar position/size/capacity https://github.com/OpenTTD/OpenTTD/pull/12178#pullrequestreview-1904738833
20:25:52  <DorpsGek> [OpenTTD/OpenTTD] glx22 merged pull request #12188: Fix f6dd505: Missing savegame conversion for current_order https://github.com/OpenTTD/OpenTTD/pull/12188
20:27:46  <_glx_> andythenorth: procedures would be an issue, var 7E still wants a byte
20:29:13  <andythenorth> I wonder if there's a better way šŸ˜›
20:30:13  <_jgr_> Giving var 7E a bigger parameter size wouldn't be any more difficult than making the action IDs bigger in the other places
20:30:32  <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1212134695547052032/image.png?ex=65f0bb67&is=65de4667&hm=7ba7ee8cde027170cebc814b25d74fa6bdb0d2740b8266ac8077b4cfabaf163b&
20:30:32  <andythenorth> the primary concurrent consumer of varact2 IDs is randomised vehicles
20:30:49  <_glx_> as long as it's a new GRF version yes
20:31:12  <andythenorth> the implementation of these is that the action 3 from the 'random' vehicle chains to randomly selected varact 2 chain from one of the randomisation 'candidates'
20:31:19  <andythenorth> this consumes IDs rapidly
20:31:19  <_glx_> it's the kind of changes undoable without a new version
20:32:02  <andythenorth> I _could_ copy all of the graphics chains for all the randomisation candidates to the 'randomised' vehicle
20:32:29  <_glx_> but 15bits IDs should be enough
20:32:29  <andythenorth> this would increase switch count and parse time and grf size
20:32:30  <_jgr_> andythenorth: Isn't that just making the bloat problem even worse?
20:32:45  <andythenorth> it would add bloat, but reduce ID exhaustion
20:32:54  <_glx_> keeping the current ID reusage
20:33:43  <_glx_> 255 concurrent is short, 15bits concurrent should be harder to reach
20:33:45  <peter1138> Wot like dis?<https://github.com/OpenTTD/OpenTTD/commit/8568982e4e98f476ec1e99618818bfad5c0446b9>
20:34:07  <_jgr_> Any particular reason for 15 instead of 16 bits
20:34:45  <_glx_> bit 7 of return value
20:35:44  <_glx_> it decides if it's a result or a jump to another action2
20:40:38  <xarick> can I make a trust me bro PR?
20:41:12  <andythenorth> peter1138: such PR šŸ™‚
20:44:47  <peter1138> Well, just a commit right now.
20:46:46  <_glx_> v9 could redesign station spec šŸ™‚
20:46:54  <andythenorth> imagine šŸ™‚
20:47:57  <peter1138> I used action 2 layouts for newgrf docks, so...
20:48:14  <_glx_> roadstops also use the new way
20:48:56  <peter1138> It's not that complex to support the new way but you went and put effort into supporting the old way in NML...
20:49:47  <peter1138> Hmm, this level is weird, a solid black wall obscuring things šŸ˜’
20:50:02  <DorpsGek> [OpenTTD/OpenTTD] rubidium42 commented on pull request #12178: Codechange: use int32_t instead of uint16_t for scroll bar position/size/capacity https://github.com/OpenTTD/OpenTTD/pull/12178#pullrequestreview-1904780385
20:50:03  <xarick> kuhnovic: I think the restrictcorridor needs a different approach
20:50:52  <andythenorth> peter1138: all code dies though šŸ™‚
20:51:09  <_glx_> well I implemented the old way in NML, but authors seem to have issues with the limitations and the workarounds
20:51:13  <xarick> I was thinking, for the starting region, to also add all the (up to) 8 surrounding regions
20:51:33  <_glx_> especially when they are used to objects/industries
20:51:42  <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #12178: Codechange: use int32_t instead of uint16_t for scroll bar position/size/capacity https://github.com/OpenTTD/OpenTTD/pull/12178#pullrequestreview-1904782852
20:52:27  <_glx_> stations look similar but they work differently
20:53:00  <kuhnovic> You need to come up with a slightly better explanation why xarick  šŸ˜›
20:53:28  <_glx_> details are important šŸ™‚
20:53:40  <xarick> this edge case is due to the restricted corridor pointing to a region the ship can't get to
20:54:05  <xarick> if more regions were added around it, then it would reverse correctly
20:54:14  <peter1138> I think act2 tile layouts can be supported for rail stations without any version bumps though.
20:54:34  <_glx_> with a new feature yes
20:54:38  <xarick> the ship is really at the edge of the region, a literal "edge" case
20:55:07  <peter1138> Oh that was right, coding wise it's not that much, but spec wise there isn't a "this is a tile layout action 2" thing.
20:55:27  <kuhnovic> That's only an issue for the checkReverse right? Because we always restrict that one
20:55:31  <xarick> yes
20:55:40  <_glx_> yeah stations use spritegroups, not layours
20:55:43  <xarick> i just tested without restricting, and it reversed fine
20:55:53  <xarick> even though that wasn't the path suggested by the hpf
20:56:11  <kuhnovic> Although theoretically it could also happen with the non-reverse variant when it restricts
20:56:24  <peter1138> act2 tile layouts are sprite groups šŸ™‚
20:57:05  <peter1138> I probably should've changed the naming of all that when rewriting it years ago.
20:58:45  <kuhnovic> xarick: I think a better solution would be to always add the ability for a ship to turn around. Why should that be a stuck-only or at-station-only thing?
20:59:10  <xarick> when ship leaves station, a CheckReverse is issued
20:59:26  <_glx_> don't focus on edge cases, think about the general case
20:59:36  <kuhnovic> Exactly
21:00:08  <xarick> maybe i'll upload this savegame, it's another 4k4k
21:00:09  <_glx_> if it solves edge case without needing to be specific to edge case it's simpler
21:00:40  <_glx_> you skip all the "detection" stuff
21:00:42  <kuhnovic> Can you please reproduce it in a slightly smaller map šŸ˜›
21:01:24  <xarick> gonna try make a reproducible map, I need to get the ship going exactly the direction  I want
21:01:33  <_glx_> else you'll end up with another unhandled edge case
21:02:02  <kuhnovic> I'm currently playing around with adding the ability for ships to always turn around. What would also remove the need for separate ChooseShipTrack and CheckShipReverse logic.
21:02:24  <_glx_> would solve many problems
21:02:31  <andythenorth> I read a great book about engineering failures ~15 years ago, might have been this, can't remember the title https://books.google.co.uk/books/about/To_Engineer_is_Human.html?id=_YWvcD-SFAgC
21:02:46  <andythenorth> edge cases, within normal parameters, are just edge cases
21:02:50  <andythenorth> things don't really go wrong
21:02:59  <andythenorth> they just deviate from expected behaviour
21:03:13  <andythenorth> catastrophic failure tends to arise when edge cases combine to corner cases
21:03:29  <DorpsGek> [OpenTTD/OpenTTD] PeterN approved pull request #12178: Codechange: use int32_t instead of uint16_t for scroll bar position/size/capacity https://github.com/OpenTTD/OpenTTD/pull/12178#pullrequestreview-1904800963
21:04:34  <andythenorth> corner cases often aren't forseeable, they arise empirically šŸ˜›
21:05:41  <_glx_> kuhnovic: some kind of every exit path from a tile is possible but turning more than 90Ā° gets huge penalty
21:06:41  <xarick> https://github.com/OpenTTD/OpenTTD/compare/master...SamuXarick:OpenTTD:don't-restrict-path-when-doing-ship-reverse
21:06:49  <kuhnovic> Not the ChooseShipTrack function used by regular calls to the yapf_ship pathfinder. It doesn't consider the reversal option at all. Only the CheckShipReverse considers it.
21:07:54  <kuhnovic> xarick: The problem with this fix is that if you are in a situation where you need to restrict, then you could end up with the same problem
21:08:37  <kuhnovic> I think that would qualify as a corner case, two edge cases meet šŸ˜›
21:09:02  <andythenorth> so...randomised vehicle builder in game?
21:09:10  <andythenorth> or is that just baking in a BAD FEATURE?
21:10:15  <andythenorth> is there any vestigal bit of the grf spec that lets me reroute a varact 2 to an action 3 of another vehicle? šŸ˜›
21:11:40  <locosage> there is probably a bunch of stuff that would be nice to have in grf9
21:13:00  <_glx_> oh better string stuff in v9 šŸ™‚
21:13:31  <_glx_> instead of packing params in the registers
21:13:58  <locosage> reusing an extending stuff from other grfs
21:14:02  <locosage> better compression...
21:14:48  <locosage> reusing sprites with other offset
21:14:48  <_jgr_> A better varaction2 format so that NML doesn't have to output godawful code for ternaries? šŸ˜›
21:14:55  <locosage> conditional alternative sprites...
21:14:57  <peter1138> WASM?
21:15:03  <_glx_> ternaries were a mistacke
21:15:29  <_glx_> they are abused when a switch is better
21:15:32  <locosage> oh, yeah, va2 code can use a bunch of improvement
21:16:15  <locosage> just do a normal stack ffs šŸ˜…
21:16:47  <_glx_> just use RPN
21:16:52  <_jgr_> Even a simple forward jump instruction is enough to make the problem go away
21:16:55  <locosage> same thing
21:17:10  <_jgr_> That basically what I've done internally for optimising ternaries
21:18:22  <locosage> oh, unify actiond and va2 code
21:19:03  <locosage> remove weird shit like action6 xDD
21:19:24  <locosage> though I guess it's basically WASM at that point šŸ¤­
21:20:12  <xarick> ok, got a savegame, made it reproducible
21:20:12  <_jgr_> Action 6 isn't really a problem TBH
21:20:34  <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1212147288651206656/ship_checking_reverse_when_leaving_dock.sav?ex=65f0c722&is=65de5222&hm=15d444b295436280c0a2f666fda0416b5fbb3696c248cb418b33ec3649548bbe&
21:20:36  <_glx_> action 6 is just to get "dynamic" action 0 values
21:21:36  <locosage> action6 is a pita for code generation
21:21:49  <_glx_> ah yes from generation POV it's a pain
21:22:14  <peter1138> Redesign things so that it isn't necessary.
21:22:59  <peter1138> Reminds me, I need to look at act3/2/1 bridges again.
21:23:09  <peter1138> IIRC that's a bit user of 'GRM'
21:23:31  <_glx_> GRM is worse than act6 šŸ™‚
21:24:02  <_glx_> original CHIPS code is full of GRM
21:24:16  <peter1138> And that's stations. Hmm.
21:25:02  <_glx_> but it also uses old layout stuff
21:25:11  <_glx_> so it was quite limited
21:25:12  <peter1138> Hmm, I need to make a lot of orders, then do a lot of cloning...
21:25:30  <_glx_> with advanced layouts GRM is less needed
21:26:15  <_glx_> as you are not limited to only one action1
21:26:23  *** tokai|noir has quit IRC
21:26:47  <_glx_> (the one chosen by action2)
21:28:16  *** tokai has joined #openttd
21:28:16  *** ChanServ sets mode: +v tokai
21:32:05  <kuhnovic> xarick: I can't reproduce it. I'm using the latest master
21:32:40  <xarick> uh... let me check on master
21:32:44  <kuhnovic> Hold on, it's subtle, but yes it is there! My bad
21:32:52  <kuhnovic> The ship gets lost for a split second
21:32:55  <peter1138> Hmm, cloning a vehicle 10,000 times takes a while.
21:32:58  <xarick> ah
21:33:26  <peter1138> And it didn't even do it šŸ˜¦
21:33:48  <xarick> im using a pseudo-12181
21:33:55  <DorpsGek> [OpenTTD/OpenTTD] apoinhal commented on issue #12189: [Bug]: min_active_clients does not unpause the game when player(s) join company https://github.com/OpenTTD/OpenTTD/issues/12189
21:34:03  <xarick> maybe master does something different
21:35:14  <peter1138> Oh and it failed because I forgot to turn on infinite money šŸ˜„
21:35:16  <kuhnovic> Is your ship getting stuck or lost?
21:35:33  <kuhnovic> On master it's just lost for a brief moment, but doesn't get stuck.
21:35:39  <peter1138> And I forgot to increase the vehicle limit.
21:35:44  <xarick> it doesn't get exactly stuck, it just didn't reverse when leaving dock
21:35:59  <xarick> it goes into a corner and reverses there instead
21:36:37  <peter1138> Nice.
21:36:37  <peter1138> https://cdn.discordapp.com/attachments/1008473233844097104/1212151327233417316/image.png?ex=65f0cae5&is=65de55e5&hm=d26b7103698da56ede3f93964bd837e2bb7a38b7d423309afc6a8dda2783be90&
21:37:20  <xarick> ^-^
21:38:11  <xarick> tested master, it's reproducible there too
21:39:34  <truebrain> little green cars go broem!
21:39:52  <xarick> now back to the other issue i found
21:40:20  <xarick> `/* Handle special case - when next tile is destination tile. */
21:40:20  <xarick> if (tile == v->dest_tile) {`
21:40:20  <xarick> badly handled
21:41:17  *** Wormnest has quit IRC
21:41:29  <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #12144: Codechange: Use FindVehiclesWithOrder when removing a road stop. https://github.com/OpenTTD/OpenTTD/pull/12144#issuecomment-1967655333
21:43:53  <peter1138> Maybe FindVehicleWithOrder can use some heuristic comparing number of vehicles with number of orders and guess which method will be faster...
21:44:39  *** Wolf01 has quit IRC
21:44:41  <truebrain> `if username == ...`?
21:44:46  <peter1138> šŸ˜„
21:48:55  <DorpsGek> [OpenTTD/OpenTTD] glx22 commented on issue #12189: [Bug]: min_active_clients does not unpause the game when player(s) join company https://github.com/OpenTTD/OpenTTD/issues/12189
21:50:39  <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on issue #12189: [Bug]: min_active_clients does not unpause the game when player(s) join company https://github.com/OpenTTD/OpenTTD/issues/12189
21:51:55  <kuhnovic> xarick: I agree, that part is such an eyesore
21:53:25  <kuhnovic> There probably is a good reason to handle that case specifically, but it would be a lot nicer if it can be dealt with in a different way
21:56:39  <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1212156367213953064/image.png?ex=65f0cf96&is=65de5a96&hm=6cfade69b17daf526184df85ceef998bbc28a81c4ab13962c460193bd47e30a3&
21:56:39  <xarick> kek...
21:57:27  <xarick> worth it?
21:59:02  <xarick> the ship would now enter the docking tile facing the side of the pier
22:01:10  <DorpsGek> [OpenTTD/OpenTTD] apoinhal closed issue #12189: [Bug]: min_active_clients does not unpause the game when player(s) join company https://github.com/OpenTTD/OpenTTD/issues/12189
22:01:13  <DorpsGek> [OpenTTD/OpenTTD] apoinhal commented on issue #12189: [Bug]: min_active_clients does not unpause the game when player(s) join company https://github.com/OpenTTD/OpenTTD/issues/12189
22:01:37  <kuhnovic> That doesn't look a lot better at first glance haha
22:02:12  <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1212157765980524574/2024-02-27_22-01-06.mp4?ex=65f0d0e4&is=65de5be4&hm=223f54b2ed4b015795c6e5e61b9a07b271bfd41466320a0f41e0effe48755616&
22:03:21  <kuhnovic> This might fix this particular case, but you have to think about the concept of your change instead. What is it doing, and how is it preventing problems? Otherwise you'll find yourself playing whack-a-mole, fixing one edge case while creating another...
22:04:34  <xarick> I see, the docking area is 2x3
22:04:42  <xarick> but 2 of those tiles aren't even docking tiles
22:04:46  <xarick> šŸ˜¦
22:06:34  <kuhnovic> So I'm thinking: what's so special about that tile == v->dest_tile case? What makes it different than all the regular cases? That's what you need to find out first
22:07:02  <xarick> v->dest_tile is the slope
22:07:05  <kuhnovic> And you might come to the conclusing that there is no difference, or maybe it was done for a good reason. It's anyone's guess really.
22:08:10  <kuhnovic> Ok it's the slope. But what if you were to remove that special casing code and just let the PF treat it like any other PF run?
22:08:55  <xarick> docking tiles are also a relatively recent change
22:09:06  <xarick> doesn't look like it was handled properly here
22:10:09  *** Ox7C5 has quit IRC
22:10:43  <kuhnovic> It might not be an issue. You can set a destination tile that's not a valid water tile, and let the PF use it to calculate the heuristic. The detect-destination-function stops the PF run when a valid docking tile is detected. I did a similar thing with the region centers remember?
22:11:22  <kuhnovic> It does make the concept of a destination tile somewhat confusing, but oh well
22:11:42  <DorpsGek> [OpenTTD/OpenTTD] glx22 commented on issue #12189: [Bug]: min_active_clients does not unpause the game when player(s) join company https://github.com/OpenTTD/OpenTTD/issues/12189
22:12:29  *** keikoz has quit IRC
22:12:39  <xarick> hmm this needs to check the closest docking tile to be 100% correct, not the closest area...
22:12:52  <xarick> how to solve... hmm
22:24:15  <andythenorth> nap time?
22:24:26  <andythenorth> will we do grf v9 before I run out of IDs again? šŸ™‚
22:24:32  <andythenorth> ` nmlc info: Concurrent spritegroups: 220/256 ("generated/iron-horse.nml", line 630063)
22:24:44  <andythenorth> got headroom šŸ˜›
22:26:39  <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1212163917082660944/image.png?ex=65f0d69e&is=65de619e&hm=2ea67d609756f3d01fbc11a14f24f7e7936a2f972232464ffe8048753ac8c424&
22:26:39  <xarick> now it's uglier!
22:27:10  <xarick> oh, some repetition
22:29:38  <peter1138> In the ship controller, the ship stops at the first docking tile.
22:30:26  <_zephyris> https://cdn.discordapp.com/attachments/1008473233844097104/1212164867742634054/image.png?ex=65f0d781&is=65de6281&hm=841ce96703d4cb01197a28e3cebcac5e7ebf977c960e309e24a89940e6c21d39&
22:30:26  <_zephyris> Woo. Full combining diacritics. Needs a few bugfixes, but mostly suitable for testing.
22:30:37  <peter1138> Nice.
22:33:07  <_zephyris> (all fonts too)
22:34:07  <peter1138> Is it pushed?
22:38:39  <peter1138> Nice.
22:43:30  <_zephyris> Yup pushed. I'll try to nail the last few little bugs tonight
22:43:40  <peter1138> The Hebrew "alphabet" is quite small... šŸ˜‰
22:45:51  <_zephyris> Yeah, that's an achievable one.
22:46:53  <_zephyris> There's a stylistic question there (also with Korean), they always seem to be written with even vertical and horizontal stroke width... I wonder if I can break that convention!
22:46:54  <peter1138> I think Cyrillic is nailed now.
22:47:22  <_zephyris> Yeah, I think so too
22:47:51  <_zephyris> Should be all European alphabet languages
22:49:23  <_zephyris> Bah, combining diacritics turn everything into a combinatorial problem!
22:53:19  <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1212170628375781426/image.png?ex=65f0dcde&is=65de67de&hm=acb4d17ba35ff87072ec86f535b679972ec2cb2010da1e4d85d3eab70a635c73&
22:53:19  <xarick> is this prettier, or uglier?
22:53:39  <xarick> oops, forgot a bool
22:54:34  <xarick> just pretend I wrote const bool check_dest
22:55:30  <_zephyris> I guess wait for as many translations to come in as possible before PRing a new font
22:55:46  <_zephyris> At least the leg work on combining diacritics is done
22:57:09  <xarick> it's the most horizontal line in this file, šŸ˜¦ it's bad then
23:02:20  *** Leopold has quit IRC
23:04:12  *** Leopold__ has joined #openttd
23:11:25  <xarick> https://github.com/OpenTTD/OpenTTD/compare/master...SamuXarick:OpenTTD:check-next-tile-is-a-docking-destination-
23:11:45  *** tony_pixel has joined #openttd
23:11:45  <tony_pixel> Why not check if `tile == dest_tile` first?
23:11:59  <tony_pixel> You don't need a ternary afterwards
23:12:29  <xarick> I have modified it since
23:15:00  <xarick> shall I PR, mister Kuhnovic, expert pf'er
23:17:19  <peter1138> I'm not convinced that special case needs to exist at all.
23:19:49  <peter1138> Given it's been 'broken' since multi-tile docks were introduced, which was a long time ago.
23:22:03  <xarick> it was making ships dock in the wrong track
23:22:22  <xarick> nothing too serious, it still worked
23:22:23  <peter1138> Pardon?
23:24:05  <xarick> it was in the video example, sending the ship towards the tile with the slope
23:24:18  <peter1138> The special case makes ship dock in the wrong track -- sounds like you should rephrase that.
23:24:24  <xarick> the tile with the station sign, so it entered the tile in a weird direction
23:26:37  <xarick> I'm bed! good night
23:35:37  <peter1138> Yeah that special case doesn't make sense anyway, now that ships can stop on any side of the dock.
23:44:50  *** tokai|noir has joined #openttd
23:44:50  *** ChanServ sets mode: +v tokai|noir
23:45:01  <reldred> I know that change is largely positive for 99% of players but I might have to make a JGRPP option to turn that off šŸ˜›
23:47:41  *** nielsm has quit IRC
23:48:12  <_jgr_> Not sure what there is to turn off TBH?
23:48:15  <_jgr_> It seems fine
23:48:37  <reldred> I find the boats using the other sides to be aesthetically displeasing
23:48:48  <reldred> or I need to design my dock complexes better
23:49:10  <reldred> Yeah there's nothing actually wrong with it
23:49:55  *** HerzogDeXtEr has quit IRC
23:51:05  <peter1138> So the issue is ships dock the moment they enter the docking tile, whatever direction that is.
23:51:31  *** tokai has quit IRC
23:51:55  <peter1138> Part of that is obscured by ships being quite long.
23:51:58  <reldred> It'd be nice if they shimmied up and lined up against the dock but that's another order of complexity
23:52:26  <_glx_> yeah don't add a state machine to reorient the ship šŸ™‚
23:52:59  <reldred> šŸ¤£
23:53:09  <reldred> Bit beyond my capabilities, you don't need to worry about that.
23:53:39  <_glx_> because depending on docking tile the orientation would be different
23:54:26  <reldred> I've already had lots of fun picking apart the other state machines.
23:54:47  <peter1138> https://cdn.discordapp.com/attachments/1008473233844097104/1212186098847981568/image.png?ex=65f0eb47&is=65de7647&hm=d3bacb88e05c38dc77dd1f816e82892e1cb2ab15a0f72c417d679c7392c4a838&
23:54:47  <peter1138> Which is the best place to stop in this configuration?
23:55:12  <_glx_> one 90Ā° left, the other one 90Ā° right
23:55:26  <reldred> Oh yeah, it's all wishful thinking
23:55:37  <_glx_> hmm 45Ā°
23:55:44  <_glx_> 90 is too much
23:55:57  <reldred> And again, I agree it's perfectly fine for 99% of players/use cases.
23:56:07  <peter1138> The only track bits are the ones these ships are already on.
23:56:36  <peter1138> So the ships cannot go alongside or perpendicular to the dock.
23:56:48  <belajalilija> reldred: Iā€™d love this, could do proper venice style water busses
23:56:54  <_glx_> yeah some water tiles are limited
23:56:55  <peter1138> They can't stop on the tile directly south because that's not a docking tile.
23:57:24  <peter1138> And that's not really adjacent either.
23:57:39  <peter1138> (It would kinda work for very long ships though)
23:58:14  <_glx_> and imagine when custom docks become a thing
23:58:32  <peter1138> Custom docks don't change what water track bits are available.
23:59:02  <_glx_> they could say where the docking tile is

Powered by YARRSTE version: svn-trunk