IRC logs for #openttd on OFTC at 2025-05-25
⏴ go to previous day
00:10:40 *** WormnestAndroid has quit IRC (Remote host closed the connection)
00:10:46 *** WormnestAndroid has joined #openttd
00:18:39 *** kuka_lie has quit IRC (Remote host closed the connection)
02:27:14 *** Wormnest has joined #openttd
02:53:56 *** gnu_jj_ has quit IRC (Ping timeout: 480 seconds)
03:20:55 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
03:20:57 *** WormnestAndroid has joined #openttd
03:21:03 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
03:21:04 *** WormnestAndroid has joined #openttd
03:21:07 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
03:21:08 *** WormnestAndroid has joined #openttd
03:32:54 *** debdog has quit IRC (Ping timeout: 480 seconds)
04:08:49 *** WormnestAndroid has quit IRC (Remote host closed the connection)
04:08:51 *** WormnestAndroid has joined #openttd
04:48:27 <DorpsGek> - Update: Translations from eints (by translators)
05:25:07 *** Flygon has quit IRC (Read error: Connection reset by peer)
07:06:57 <_zephyris> talltyler: Style guides for guis would be useful...
07:41:39 <peter1138[d]> Hmm, flatmap would be nice to have, but the implementation is a bit trickier than flatset.
07:42:14 <peter1138[d]> IIRC the real flatmap uses two vectors, all my stuff is one vector.
07:45:03 <peter1138[d]> So iterators become a bit different.
07:52:21 <peter1138[d]> Okay, Garmin says I'm not training enough. Turns out it decided my maximum heart rate is 246 bpm. Yeah, there's a reason I'm not getting anywhere near that.
07:53:42 <andythenorth> oops, I quit openttd instead of generating a map
07:54:05 <andythenorth> for some reason this drags me to a misclick
07:55:34 <andythenorth> something about it
07:56:05 <andythenorth> I want to click on the yellow strip to get rid of it
07:56:13 <andythenorth> but that's....unwise 🙂
09:03:17 <peter1138[d]> Perfect company face, no blemishes.
09:41:43 *** reldred has quit IRC (Quit: User went offline on Discord a while ago)
09:41:43 <andythenorth> peter1138[d]: What did I break now? 😀
10:26:20 <xarick> time to test default limits
10:26:44 <xarick> am I still allowed a 4k map?
11:43:14 *** gelignite has joined #openttd
12:04:04 *** WormnestAndroid has quit IRC (Remote host closed the connection)
12:04:18 *** WormnestAndroid has joined #openttd
12:54:07 <peter1138[d]> Ah, "overbuilding" rather than "building over"
12:55:00 <kuhnovic> Is it overbuilding? I feel that that's more like a replacement of something with something else.
13:07:18 <peter1138[d]> But "building over" is like, bridges that can be built over stations 🙂
13:08:16 <kuhnovic> Good point. Ugh, English 😛
13:10:23 <peter1138[d]> Hmm, saveload conversions 😒
13:11:11 <peter1138[d]> I need to temporarily store data loaded from the savegame, until NewGRFs have been activated.
13:43:35 <xarick> finland + estonia + russia.... why do i feel another war is gonna start there
13:45:05 <xarick> i need to stop watching these war videos
13:47:24 *** D-HUND is now known as debdog
14:10:50 <xarick> okay, 500 * 14 vehicles
14:37:04 <xarick> new task: make slow valuate a game setting
14:46:40 <peter1138[d]> Heh, I wasn't exactly serious about sticking to default limits. 🙂
14:47:23 <peter1138[d]> Although it is pretty useful to try both non-extreme and extreme, to see what is most affected.
14:53:44 <xarick> how to explain for the average player what the slow valuate do?
14:53:59 <xarick> STR_CONFIG_SETTING_SCRIPT_SLOW_VALUATE_HELPTEXT
14:54:11 *** Wormnest has joined #openttd
14:58:39 <_jgr_> There is really no reason why players should know or care about it
14:59:02 <_jgr_> Just have your code do the sensible thing, whatever that is
15:00:41 <xarick> slow valuate: "prevents excessive cpu in valuator function", but recently some FillLists use a pseudo-valuate which I didn't address
15:02:57 <xarick> I don't know if there's already any AI making use of it
15:05:26 <_glx_> using Valuate or filter during construction have the same limitations
15:23:49 <xarick> do I need afterload conversion?
15:24:13 <xarick> i want to treat old saves as having this off, but new games as having this defaulted to on
15:25:49 <_glx_> using a pure squirrel Valuate is something to decide at script level, not openttd level
15:29:35 <xarick> hmm yeah, I'm not totally sure how to make that bridge happen
15:35:00 <peter1138[d]> A game option for that definitely seems wrong.
15:44:24 <_glx_> you can detect Valuate "crashes" and make the script survive
15:45:03 <_glx_> it's not the job of openttd to handle that
15:45:35 <_glx_> we provide Valuate, but if it doesn't work for you then use your own
15:49:15 <_glx_> you can even replace Valuate with your own wrapper calling the original and fallback to slow version if it crashed
15:56:13 *** Flygon has quit IRC (Read error: Connection reset by peer)
15:58:48 <andythenorth> Categorically cannot be a player setting
15:59:10 <andythenorth> “Do I need all 5 FIRS”
16:13:04 <xarick> looks like it's calling itself
16:13:51 <xarick> must think how to make it call the original valuator
16:18:51 <_glx_> usual ```AIList.oldValuate <- AIList.Valuate;`
16:18:51 <_glx_> AIList.Valuate <- function(...) { return this.oldValuate(...); }```
16:20:04 <xarick> that's a lot of copy paste
16:40:40 <xarick> didn't that use to stall openttd indefinitely
16:42:06 <xarick> something's going on, this is fishy
16:45:13 <xarick> why can't this be done in OpenTTD native code
16:46:44 *** mindlesstux has joined #openttd
17:19:49 <xarick> original valuate now incurs some delay :/
17:28:46 *** kuka_lie has joined #openttd
17:33:54 <peter1138[d]> Hmm, RoadVehController 16ms, but framerate window shows 50ms.
17:41:41 *** Wormnest has quit IRC (Ping timeout: 480 seconds)
17:42:31 <peter1138[d]> Wrong way around.
17:45:34 <peter1138[d]> Some of it is TicToc overhead.
17:47:42 <peter1138[d]> Hmm, lots of gaps. Too much hash.
17:48:48 <peter1138[d]> Or maybe too many collisions.
18:01:24 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
18:05:47 *** WormnestAndroid has joined #openttd
18:07:34 *** foodliker has joined #openttd
18:07:34 <foodliker> peter1138[d]: i think your ottd has become irradiated
18:07:34 *** mindlesstux has quit IRC (Read error: Connection reset by peer)
18:07:43 *** mindlesstux has joined #openttd
18:10:22 <peter1138[d]> Yeah. Wentbourne is way more dense.
18:13:46 <peter1138[d]> I guess, somehow, 5.000 * 15 road vehicles is no match for 4,833 TL6 trains.
18:15:46 <truebrain> I feel a bit black and white
18:16:58 <peter1138[d]> Yeah, I have a slightly modified version that shows collisions as shades of grey.
18:17:35 <truebrain> It feels like I am being tested .. should I see something in the pattern? 😄
18:19:01 <peter1138[d]> It's just a visualisation of which vehicle tile hash buckets are used.
18:19:24 *** mindlesstux has joined #openttd
18:30:09 <peter1138[d]> So: what if the vehicle tile hash
18:30:20 <peter1138[d]> Uses a more... hash-like hash.
18:30:44 <peter1138[d]> And then, instead of being a fixed size, be variable sized.
18:31:09 <peter1138[d]> And instead of being sized by map size, be sized by vehicle pool size.
18:31:13 <peter1138[d]> Or: I have no idea 🙂
18:32:23 <peter1138[d]> As the pool grows larger it would need to rehash.
18:32:32 <peter1138[d]> Sounds a bit like an unordered_map, tbh.
18:38:56 <Rubidium> I'd say, just try it
18:40:21 <xarick> nice that you're looking into it
18:41:16 <xarick> do you have my 74k trains save already
18:47:59 <peter1138[d]> Well, there's also the usual trick of stealing from JGRPP, although that probably has some bxbtbabtbtree or something.
18:50:13 <xarick> oh, good idea, i have try my nasty saves on jgr
18:50:57 <xarick> where do I download jgr, i don't feel like compiling
18:54:46 <xarick> crap, savegame is made with newer version
18:57:38 <peter1138[d]> using VehicleTypeTileHash = robin_hood::unordered_map<TileIndex, VehicleID>;
18:57:38 <peter1138[d]> static std::array<VehicleTypeTileHash, 4> _vehicle_tile_hashes;
18:58:16 <peter1138[d]> So `VehicleID` rather then `Vehicle *` and one for each vehicle type.
18:59:04 <xarick> why my saves dont work
18:59:34 *** kale91 has quit IRC (Quit: User went offline on Discord a while ago)
19:00:08 <peter1138[d]> But this `SCOPE_INFO_FMT` macro completely breaks VS Code formatting.
19:00:28 <peter1138[d]> xarick: Because they're newer than JGRPP..
19:09:27 <xarick> finally a save that works
19:11:32 <xarick> jgr wins in world ticks
19:12:26 <xarick> wins in graphics/viewports
19:13:08 <xarick> hard to tell about AIs
19:20:37 <xarick> on another save jgr wins ez
19:21:18 <xarick> but he killed a script
19:23:54 <xarick> openttd loses bid on world ticks
19:27:56 <xarick> script took too Long in the load function
19:33:36 <peter1138[d]> Hmm, so unordered_map performs worse than the flat vector.
19:34:12 <peter1138[d]> But that could be due to number of buckets, which unordered_map doesn't give control over.
19:35:42 <andythenorth> 11 hours to generate a max size map
19:38:58 <andythenorth> there's a hole in my bucket
19:39:39 <peter1138[d]> Ah, interesting. .clear() doesn't get rid of the buckets.
19:40:46 <xarick> my ai won't work on jgr, because I make some bitstuff about tileindexes
19:41:12 <xarick> okay, enough jgr, uninstalling
19:41:55 <peter1138[d]> Hmm, 0.499 load factor with wentbourne.
19:49:24 <andythenorth> you don't need to uninstall jgrpp 😛
19:57:51 <peter1138[d]> Hmm, goes who forgot to commit before changing it all to unordered_map?
20:06:44 <peter1138[d]> Yeah, the vector version gave it way more buckets... Hmm.
20:08:24 <peter1138[d]> About 25% less time for RV ticks.
20:09:12 <peter1138[d]> But this is 32x larger than master's fixed hash.
20:12:13 <peter1138[d]> 180ms in master. 40-45ms with unordered_map, 30-35ms with larger vector. But none of this really makes it usable.
20:12:30 <peter1138[d]> AI is at 500ms per tick.
20:30:49 *** gelignite has quit IRC (Read error: No route to host)
20:31:37 *** gelignite has joined #openttd
21:03:57 *** kuka_lie has quit IRC (Remote host closed the connection)
21:05:40 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
21:07:33 *** WormnestAndroid has joined #openttd
21:10:02 <peter1138> Well, it's almost a feature request.
21:11:30 <pickpacket> Yeah, but a small one in that case
21:11:57 <pickpacket> From what I can see by just reading the issue and not ever having looked at that part of the code...
21:12:46 <pickpacket> Aaaaanyways. I'm putting it at the bottom of my todo list. If nobody else has fixed it before the end of the next decade I might give it a go
21:14:15 <pickpacket> I was looking through the open issues to get a feel for where we might be in regards to 15.0
21:15:38 <pickpacket> Has beta2 surfaced any bugs or issues that have yet to be addressed?
21:24:11 *** keikoz has quit IRC (Ping timeout: 480 seconds)
21:37:03 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
21:53:00 *** Wormnest has joined #openttd
22:00:53 *** ChanServ sets mode: +v tokai
22:07:41 *** tokai|noir has quit IRC (Ping timeout: 480 seconds)
continue to next day ⏵