IRC logs for #openttd on OFTC at 2025-03-18
β΄ go to previous day
00:00:08 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
00:00:10 *** WormnestAndroid has joined #openttd
00:29:51 <_glx_> not sure this action would help π (it uses steamcmd)
02:33:27 *** Wormnest has quit IRC (Quit: Leaving)
03:30:12 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
03:30:14 *** WormnestAndroid has joined #openttd
03:30:23 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
03:30:24 *** WormnestAndroid has joined #openttd
03:30:31 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
03:31:18 *** WormnestAndroid has joined #openttd
03:41:56 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
03:41:59 *** WormnestAndroid has joined #openttd
03:45:04 *** debdog has quit IRC (Quit: Initiating getting-the-hell-out-of-here maneuver!)
04:02:16 *** geizeskrank has quit IRC (Ping timeout: 480 seconds)
04:04:41 *** debdog has quit IRC (Ping timeout: 480 seconds)
04:05:48 *** geizeskrank has joined #openttd
06:11:51 *** keikoz has quit IRC (Ping timeout: 480 seconds)
07:07:11 *** SigHunter has joined #openttd
08:05:01 <_zephyris> Some (limited) digging says that it's steamcmd or nothing, other tools all look like wrappers
09:12:06 *** Heili is now known as varaHeiki
09:14:31 *** Heiki is now known as Heili
09:34:50 *** akimoto has quit IRC (Ping timeout: 480 seconds)
09:51:27 *** HerzogDeXtEr has joined #openttd
10:01:14 <peter1138> What happens if I kick a bridged user from IRC? Hypothetically...
10:08:00 *** varaHeiki has quit IRC (Ping timeout: 480 seconds)
10:24:11 <xarick> speaking of Steam, yesterday i read some news about some game on steam actually being malware
10:24:32 <LordAro> they do sneak through from time to time
10:24:46 <LordAro> there's remarkably little, frankly
11:32:48 <xarick> I can't compete with trains with only 10k ops π¦
11:34:48 <xarick> rail pathfinder continue to be Aquilles' Heel
11:47:39 <xarick> i either dumbify the pf or ... i dunno
11:47:51 <xarick> the more dumber and simpler, the faster
11:50:12 <xarick> could run into level crossings or 90 degrees π¦ I carefully planned the pf to avoid doing that
11:51:35 <xarick> bridges are also an issue
11:52:40 <xarick> each node has the possibility to push "insert_bridge_length" neighbours as bridges
11:53:48 <xarick> a lower max bridge length results in less neighbours, faster pf
11:54:17 <xarick> or i need to be more selective on how I push bridges
11:55:45 <xarick> the default is bridge length 64... each tile pushing up to 64 neighbours... it's an insane number of neighbours
12:00:37 <xarick> one other issue related with bridges is that they have a "used_tiles" property, which are basically tiles reserved by a planned bridge, which can be used to determine a conflict with a future bridge. If I remove this, I run the risk of a future bridge going over a past planned bridge
12:02:09 <xarick> how much should I dumbify the pf?
12:30:40 *** WormnestAndroid has quit IRC (Remote host closed the connection)
12:30:43 *** WormnestAndroid has joined #openttd
12:38:32 <peter1138> Throw my clients at it? That would make things dumber...
13:30:44 *** marktheshark3209 has joined #openttd
13:30:44 <marktheshark3209> found a way to crash trains with no player input... you guys interested in this?
13:31:15 <LordAro> those trains are... something
13:31:17 <marktheshark3209> its a weird setup and doesnt really work as intended, thought it was interesting though
13:32:42 <marktheshark3209> well trains entering the platform seem to crash head-on with ones leaving the depot
13:32:46 <marktheshark3209> it might be the same thing, idk
13:33:23 <locosage> doesn't look like 8424
13:33:39 <locosage> but there is also a known thing with mixing pbs and block signals
13:33:49 <locosage> and I forgot how they look in yeti
13:35:57 <marktheshark3209> i can send the save if you guys are interested... they crash pretty regularly when fast forwarding
13:36:15 <marktheshark3209> its probably an edge case especially consdering the overflow doesnt work as intended...
13:36:46 <LordAro> marktheshark3209: no harm in opening an issue
13:37:57 <peter1138> Can you reproduce without the horrible graphics? :p
13:38:25 <marktheshark3209> i can try π
13:38:29 <marktheshark3209> dont hate the slugs
13:38:46 <locosage> rawr should be safely removable
13:38:57 <marktheshark3209> nuts may not be
13:39:00 <marktheshark3209> i will try in vanilla
13:44:12 <_glx_> so it seems to be the graph window
13:44:38 <LordAro> something to do with the industry closing while the graph window is open?
13:50:20 <truebrain> peter1138: If you kick (or ban) a user IRC side, it will no longer relay that user from Discord to IRC. They will not notice. Nothing breaks.
13:57:12 <peter1138> Is that legacy pre-signals?
13:58:03 <peter1138> Given that track layout I'll assume pre-signal shenanigans.
14:01:43 <peter1138> Hmm, although possibly manually deleting an industry doesn't do the same thing as it closing by itself.
14:13:45 *** nielsm has quit IRC (Ping timeout: 480 seconds)
14:23:45 <talltyler> _zephyris: Check your PMs please π
14:29:46 <LordAro> _glx_: steam_totp is set in the action vars
14:30:31 <_glx_> yes totp I see, but how can it work with just user name and totp ?
14:30:56 <LordAro> presumably totp is misnamed
14:31:12 <_glx_> totp is steam guard code
14:32:17 <_glx_> our workflow pass user name, password and steam guard (and fails to login), so trying to see how other actions do it
14:34:06 <_glx_> we don't use "set_steam_guard_code", maybe it's required now, I don't know
14:34:13 *** Flygon has quit IRC (Read error: Connection reset by peer)
14:39:47 *** Wormnest has joined #openttd
14:49:50 <truebrain> It isn't. But there are several ways to do Steam. Only all of them require you to use Steam Guard at some point. And in no variation the Steam Guars code for that account works. Not even on my local machine.
14:50:07 <truebrain> Well, it works in the browser
14:50:11 <truebrain> But not in steamcmd
14:50:53 <truebrain> I still have one ticket pending; if that fails, I am first going to try to switch to Steam Mobile. If that fails I am going to create a new upload account
14:51:02 <truebrain> As it does work with my dev account
14:53:34 <peter1138> Hmm, can we add something like PoolID's Begin()/End()/Invalid() to StrongType, or something smush things together.
15:17:14 <Rubidium> you probably can with the mixins. The main raison d'etre of PoolID is that it doesn't default initialise the value
16:35:35 <peter1138> Hmm, wondering about the ID vs Type distinction.
16:36:06 <peter1138> IDs are instances, Types are "not".
16:41:29 <LordAro> worth having a [[nodiscard]] ?
16:47:01 <Rubidium> yeah, we should think more about those when reviewing
16:57:49 <peter1138> I wonder how much bloat is from StrongType symbols vs actual code differences...
16:58:16 <peter1138> nm -C openttd | grep StrongType | wc -c
16:59:59 <xarick> remember a few days ago me complaining about AIs not pausing on break?
17:01:03 <xarick> AIController.Break("");
17:12:15 <peter1138> Doesn't seem that large.
17:15:08 <LordAro> what's the benefit of shorter symbols?
17:15:29 <Rubidium> shorter compiler errors
18:16:24 *** kuka_lie has joined #openttd
18:41:40 *** tokai|noir has joined #openttd
18:41:40 *** ChanServ sets mode: +v tokai|noir
18:48:47 *** tokai has quit IRC (Ping timeout: 480 seconds)
19:00:02 <_glx_> crash log says vehicle tile check
19:12:37 <peter1138> Been looking in my unpushed branches again... :p
19:17:57 <michi_cc> _zephyris: Don't forget #13836 π
19:19:34 <truebrain> Gratz _zephyris ; well deserved π
19:20:24 <truebrain> and don't forget to accept the invitation on GitHub π
19:34:36 <xarick> must have been some of today's merge
19:34:46 <xarick> earlier in the morning i had no issues
19:41:42 <michi_cc> Bring on the nickname fight π€£
19:42:11 <brickblock19280> "huge opensource drama"
19:42:22 <michi_cc> Next time we should insist on nicks that are valid C identifiers, too π
19:43:09 <michi_cc> brickblock19280: "you won't believe what happens next" π
19:44:07 <xarick> first come first served
19:44:08 <_zephyris> Great controversial start π
19:46:56 <_zephyris> truebrain: All done π Mystery solved, notifications@github.com is whitelisted, noreply@... was getting junk filtered
19:47:14 <xarick> `auto IsCloseOnAxis = [](short dist, short diff) {`
19:53:02 <xarick> waiting for a crash to happen
20:02:56 <xarick> there aren't many shorts in openttd project
20:06:57 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
20:07:29 *** WormnestAndroid has joined #openttd
20:08:29 <xarick> something something initialized as 0 maybe bad crash later?
20:08:40 <xarick> must wait for the crash
20:10:03 <xarick> did not crash yet, just to antagonize me
20:11:41 <_glx_> can't be caused by a today commit, none touched this area
20:12:12 <xarick> could it be a 4k map issue, i've been testing 512x512 before
20:20:08 <_zephyris> michi_cc: Wow, that big squash and merge button is scary...
20:21:58 <_zephyris> Treat me as a complete git noob π
20:25:00 <xarick> may and july was when it crashed the last 2 times
20:25:36 <michi_cc> _zephyris: Usually squash as it has the better PR tracking (and allows you to fudge the commit message checker π€£ ), unless it is an intentional multi-commit PR.
20:25:49 <peter1138> Squash and merge to make a single commit, with the PR number included.
20:26:22 <michi_cc> Multi-commit PRs that are intentionally multi-commit have to be rebase merged obviously.
20:32:29 <xarick> `if (diff > rvf->best_diff || (diff == rvf->best_diff && v->index > rvf->best->index)) return nullptr;` what in here could cause an EXCEPTION_ACCESS_VIOLATION
20:41:06 <talltyler> Capitalize? Alphabetize. Eesh, itβs been a long day.
20:41:35 <_glx_> xarick: is `rvf`, `v` or `rvf->best` nullptr?
20:42:28 <peter1138> nullptr or an invalid pointer.
20:45:18 <xarick> I only have the crash dump of a clang build
20:45:27 <xarick> not sure how accurate it is reporting
20:46:50 <xarick> okay, also crashed in msvc release
20:47:04 <xarick> still waiting for the msvc debug crash
20:47:34 <peter1138> RoadVehFindData doesn't initialise its members.
20:47:53 <peter1138> They are initialised on first use, but.
20:48:23 <peter1138> xarick, roadveh_cmd.cpp:658
20:48:32 <peter1138> Add `rv.best = nullptr;`
20:50:23 <peter1138> Not sure if any path is followed where that could be dereferenced, but worth a go.
20:51:14 <_jgr_> best is not read when best_diff is UINT_MAX. v/v->index appear to be invalid in the screenshot
20:52:58 <peter1138> Might be time to post a savegame.
20:57:53 <_zephyris> I pressed the scary button, hopefully haven't broken anything
21:04:24 <michi_cc> _zephyris: Get your fonts in, too π
21:05:05 <michi_cc> Committing was lot scarier when it was still SVN π
21:11:51 <_glx_> michi_cc: we could easily break things for a whole arch
21:26:53 <peter1138> Hmm, rvf->x, y = 34127, 709
21:27:06 <peter1138> v->x_pos, y_pos = 1360, 33477
21:27:39 <peter1138> 1360-34127 = -32767
21:29:03 <peter1138> Coordinates are all valid for 4kx4k map.
21:30:11 <_jgr_> I'm getting a misaligned rather odd looking Vehicle pointer `0x000200000001`
21:33:03 <peter1138> Given that's a "strange coincidence..."
21:33:18 <peter1138> Changing those `short` to `int` seems to fix prevent the crash.
21:35:17 <xarick> finally got a crash on the debug version
21:38:40 *** kuka_lie has quit IRC (Quit: Lost terminal)
21:39:25 <peter1138> Could be a coincidence. I crashed within seconds the first time.
21:42:29 <xarick> rvf->best->index is nullptr
21:42:46 <peter1138> That isn't a pointer.
21:43:07 <xarick> oh, well sorry, i mean best maybe
21:43:43 <peter1138> Removed my change, instantly crashes again.
21:44:01 <_jgr_> diff ending up as UINT_MAX is the problem there
21:44:50 <peter1138> Ah, 33477-709 = (short)-32768
21:45:35 <peter1138> I'm not sure how 32767 + 32768 == UINT_MAX
21:46:11 <peter1138> Oh, our abs is templated.
21:46:17 <_jgr_> Running (short)-32768 through abs will be signed overflow
21:46:49 <peter1138> Nice, very old bug.
21:49:25 <xarick> why didn't it happen before? i've been 4k many times
22:00:42 <xarick> what about the `rvf.best = nullptr;`?
22:01:17 <peter1138> 20:51 < _jgr_> best is not read when best_diff is UINT_MAX
22:01:44 <_jgr_> Signed overflow is UB, so all bets are off π
22:02:08 <peter1138> Oh yeah, I wrote unsigned. Whoops.
22:13:13 *** WormnestAndroid has quit IRC (Remote host closed the connection)
22:13:20 <_zephyris> Well, hate driving it
22:13:27 *** WormnestAndroid has joined #openttd
22:14:23 <xarick> abs(-32767) + abs(-32768) = 32767 - 32768 = -1 = UINT_MAX
22:15:02 <xarick> why does abs(-32768) return a positive though?
22:15:35 <peter1138> SHORT_MIN is -32768. SHORT_MAX is 32767.
22:16:59 <peter1138> This function is broken since the maximum map size increase from 2048 to 4096.
22:17:21 <peter1138> You just managed to find the right conditions, in a repeatable way.
22:17:35 <peter1138> (Maybe some of the asb
22:17:46 <peter1138> (Maybe some of the surrounding code is changed which introduced it)
22:18:07 *** nielsm has quit IRC (Ping timeout: 480 seconds)
22:18:31 <peter1138> It was changed a few days ago :)
22:18:53 <peter1138> Forget everything then.
22:19:01 <peter1138> New bug, that's why it didn't crash before.
22:23:59 <peter1138> short/int16_t being used is still the underlying problem.
22:24:17 <reldred> what's that massive roundabout leaving heathrow london bound? the one with the lake with a little island in the middle and some fuckoff ungodly number of lanes?
22:24:30 <reldred> we got stuck on that in a little rover for like a quarter of an hour
22:24:32 <peter1138> They're too small for a map larger than 2048.
22:24:41 <reldred> legitimately thought we were going to get blatted by a lorrie
22:25:17 <reldred> I was like eight years old at the time
22:25:44 <xarick> I think the templated T should perhaps upgrade to the next tier
22:25:50 <reldred> swear that rover wasn't much bigger than a mini
22:26:22 <xarick> entered as int16_t -> upgrade to int32_t then do the abs
22:26:40 <xarick> entered as uint16_t -> upgrade to uint32_t
22:26:51 <peter1138> int16_t is too small to start with, why bother with fucking around with something else.
22:28:24 <xarick> couldn't the templated abs do the input type upgrade on its own?
22:28:26 <_jgr_> reldred: Hangar Lane, maybe?
22:29:16 <xarick> anyways... it's fixed, but abs still prone to deliver a negative value
22:29:24 <reldred> I'm sure the roundabouts description has scaled in size tenfold over the last twenty years or so.
22:29:30 <xarick> i would look into fixing it
22:29:59 <reldred> _jgr_: you've been busy the last few days I've noticed
22:30:32 <_jgr_> reldred: More than just a few days, but yes π
22:30:47 <reldred> preparing for something big or just cleaning house?
22:30:58 <peter1138> Given you are no longer eight years old, probably a lot has changed.
22:31:18 <reldred> peter1138: Significantly I'd say
22:32:07 <_jgr_> reldred: Cleaning up old stuff mostly
22:33:24 <reldred> Fair enough, I noticed you brought over a bunch of openttd commits, how far down on the pile is the opus compile fix?
22:36:10 <xarick> time to run 2k maps while fix isn't merged
22:38:18 <_jgr_> reldred: I just cherry-picked it
22:40:30 <reldred> Oh nice thankyou π
22:40:56 <reldred> I wasn't due to start on it again til this weekend but I'll make sure my build environment is working again at least π
22:41:40 *** keikoz has quit IRC (Ping timeout: 480 seconds)
22:42:07 <reldred> got company mandated casual alcoholism on friday
22:46:05 *** HerzogDeXtEr has quit IRC (Read error: Connection reset by peer)
22:46:48 <_jgr_> Are the company buying?
22:47:30 <reldred> covering our ubers too
22:48:09 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
22:48:21 <reldred> I actually like this company, I just hate that in the acquisition of my old employer they gutted 95% of my position and have shoehorned me into crap I was deliberately getting away from.
23:45:48 <peter1138> Hmm, is `CargoType cargo_type` a bit redundant?
23:46:01 <peter1138> Conversely, `CargoType c` is a bit... brief.
23:55:02 <peter1138> `CargoType cargo` is used in some places.
continue to next day β΅