IRC logs for #openttd on OFTC at 2025-05-23
⏴ go to previous day
00:13:00 *** WormnestAndroid has quit IRC (Remote host closed the connection)
00:13:11 *** WormnestAndroid has joined #openttd
00:26:47 *** WormnestAndroid has quit IRC (Remote host closed the connection)
00:27:08 *** WormnestAndroid has joined #openttd
00:38:14 *** WormnestAndroid has quit IRC (Remote host closed the connection)
00:38:17 *** WormnestAndroid has joined #openttd
01:16:38 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
01:18:06 *** WormnestAndroid has joined #openttd
01:31:47 *** Wormnest has quit IRC (Quit: Leaving)
02:56:20 *** gnu_jj_ has quit IRC (Ping timeout: 480 seconds)
03:06:35 *** Extrems has quit IRC (Read error: Connection reset by peer)
03:08:48 *** Extrems has joined #openttd
03:34:50 *** D-HUND has quit IRC (Ping timeout: 480 seconds)
03:35:05 *** Zathras has quit IRC (Ping timeout: 480 seconds)
04:30:08 *** k-man has quit IRC (Ping timeout: 480 seconds)
04:46:04 <DorpsGek> - Update: Translations from eints (by translators)
05:03:38 *** k-man has quit IRC (Ping timeout: 480 seconds)
05:03:38 *** k-man_ is now known as k-man
06:10:25 *** cu-kai has quit IRC (Quit: Leaving for a bit.)
07:49:23 *** SigHunter has joined #openttd
07:49:25 <peter1138[d]> Well I guess merging before any release branching helps get things tested...
07:56:53 <Rubidium> it's not like there is a great wish for a release any time soon. I haven't even seen a PR for the beta, or a mention of a feature freeze so things settle down a bit before the RC
08:02:45 <peter1138[d]> Well, I just loaded a big save and found a bug, so not merging yet.
08:10:28 *** gelignite has joined #openttd
08:13:46 <peter1138[d]> Hmm, I wonder what that 'Spiffs' patch for loads more companies does for tile ownership fields.
08:15:54 <peter1138[d]> Difficult to know what's what with all this GS and AI activity, but road ticks seems to be about 10ms less in a Xarick save. 370ns down to 360ms per tick isn't much help though.
08:17:03 <peter1138[d]> (Wasn't expecting a performance benefit, just testing that it's not brutally worse)
08:30:23 <LordAro> 370ns to 360ms doesn't sound like an improvement :p
09:05:48 <peter1138[d]> Infinite loop fixed ;D
09:10:28 <LordAro> infinite loop is definitely slower than 370ms
09:13:20 <peter1138[d]> Hmm, it could just be the reduced cost of traversing an order list.
09:14:05 <pickpacket> peter1138[d]: so no longer to infinity and beyond?
09:14:18 <peter1138[d]> Traversing a linked list of up to 255 items versus a vector of 255 items.
09:14:31 <peter1138[d]> Where did you get infinity and beyond from? 😮
09:17:09 <pickpacket> peter1138[d]: Buzz Lightyear
09:17:30 <peter1138[d]> Yes I know, but I meant in applying it to this.
09:17:49 <pickpacket> only that you mentioned infinity 😛
09:38:38 <pickpacket> peter1138[d]: infinity is infinite
09:39:20 <pickpacket> chocolate isn't infinite. That's sad
09:41:01 <peter1138[d]> Ooh, aeropress coffee time.
09:41:42 <reldred> Time to microwave last nights laksa
09:53:10 <LordAro> today's starter for 10, php decided to stop being able to connect to LDAP
10:09:10 <kuhnovic> peter1138[d]: Oh that has been a while for me!
10:09:43 <kuhnovic> Got too used to the fully automated press-one-button-get-freshly-ground-coffee laziness
10:10:02 <peter1138[d]> I have not got that yet.
10:10:54 <kuhnovic> It's great, but there is a certain joy in using an aeropress that I do miss
10:14:25 <xarick> wow Orders are now fast
10:16:58 <peter1138[d]> No, orders are not fast.
10:18:46 <_zephyris> Thinking about v15 features, what's incomplete? Just badges?
10:20:45 <peter1138[d]> Definitely incomplete.
10:25:22 <xarick> I have 2 approved pr's
10:34:17 <xarick> oh script orders were touched
10:37:25 <xarick> what if orders are empty
10:37:36 <xarick> you removed the assert
10:40:00 <xarick> regression doesn't test implicit orders
10:46:16 <peter1138[d]> If you find anything broken by it, just report it as a normal issue, ideally with a minimal savegame showing the before and after.
10:50:36 *** godbed is now known as debdog
10:54:59 <xarick> well... it doesn't match
10:56:44 <xarick> oh snap, savegame is not too odl
10:59:56 <peter1138[d]> So the mapped vehicle order index is now wrong?
11:00:26 <peter1138[d]> "Get order jump to value" doesn't make sense.
11:03:29 <peter1138[d]> So just "GetOrderJumpTo" 🙂
11:04:11 <xarick> going to check what it was doing before
11:04:21 <xarick> this has changed at least 3 times this year
11:04:26 <peter1138[d]> 15.0-beta2 is "before", right?
11:05:06 <xarick> there was an implicit order fix, but conditional orders were also not that bright, i think glx fixed it, or jgr
11:10:43 <peter1138[d]> I might have broken RealOrderPositionToScriptOrderPosition(), I guess I assumed regression test would pick that up.
11:13:01 <xarick> glx commit: c6cd1a4bca8d348b71ce8fcf64373c877c4dbede
11:13:26 <xarick> when did beta2 came out, unsure if it was before or after glx
11:14:07 *** WormnestAndroid has quit IRC (Remote host closed the connection)
11:14:10 *** WormnestAndroid has joined #openttd
11:15:16 <xarick> as correct as it can possibly be, even though conditional orders can jump to themselves
11:19:22 <peter1138[d]> These two conversion routines can probably be simplified too.
11:53:30 <_glx_> Oh nice magic with `operator|`
11:57:27 <peter1138[d]> Hmm, actually I think `it.base()` would be nicer than `&*it`, assuming it returns me to the std::span iterator after the view.
12:08:37 <LordAro> _glx_: that's the whole "thing" with ranges
12:11:32 <xarick> nop, it's wrong somehwere
12:12:10 <xarick> unles I copy pasted into the wrong place
12:13:47 <peter1138[d]> What about `RealOrderPositionToScriptOrderPosition()`?
12:14:09 <xarick> oh, forgot to paste there
12:15:22 <xarick> i dont know how to access single commits
13:28:05 *** Flygon has quit IRC (Read error: Connection reset by peer)
14:43:05 <xarick> oops, almost forgot stuff changed overnight 'next': is not a member of 'Order'
14:47:50 <xarick> auto everywhere is bad
14:50:54 <xarick> how to iterate orders, need to copy paste
15:05:35 <xarick> iterating orderlist vs iterating group vehicle list
15:06:24 *** Wormnest has joined #openttd
15:47:08 <peter1138[d]> What did you win?
15:52:42 <xarick> looks like hog doesn't use ScriptVehicleList_Station
15:56:09 <peter1138[d]> Surprised you're not adding vehicle lists to everything :p
15:56:25 <peter1138[d]> What's a bit of RAM...
15:59:55 <xarick> oh, I didn't update `ScriptVehicleList(HSQUIRRELVM vm)`
16:00:09 <xarick> because of FreeWagons... they're not addable to groups
16:07:44 <xarick> these templates for FillList... I don't know how to use them
16:13:30 <_glx_> just look how they are already used
16:18:47 <xarick> i think the waypoint list could be improved
16:24:38 <xarick> oh... road waypoints stuff required
16:55:53 <xarick> how do I test for 2 bits?
16:55:56 *** johnfranklin has joined #openttd
16:57:20 <xarick> `WAYPOINT_ROAD = ::StationFacilities{::StationFacility::TruckStop, ::StationFacility::BusStop}.base(), ///< Road waypoint`
16:57:25 <xarick> because these take 2 bits
16:59:16 <johnfranklin> Blame Thunderbird IRC Client
16:59:44 <peter1138[d]> It's just not irssi.
17:02:51 <_glx_> maybe `if (!HasExactlyOneBit(waypoint_type) && waypoint_type != WAYPOINT_ROAD) return false;`
17:04:18 <_glx_> still generic with an extra special case
17:07:05 <xarick> is the facilities.Any test wrong?
17:07:14 <xarick> should it be facilities.All?
17:14:32 *** gelignite has joined #openttd
17:19:13 *** kuka_lie has joined #openttd
17:20:36 *** johnfranklin has quit IRC (Quit: johnfranklin)
17:21:26 <xarick> wish there was a mapping from facility to vehicle type
17:26:56 <xarick> if the waypoint is a ghost
17:34:49 <andythenorth> deep water regions 😛
17:37:24 <xarick> strange, openttd stopped outputting log in the console
17:41:51 <kuhnovic> That's enough water region spam for today (or for now at least)
17:45:34 <xarick> maybe i should use your debugger
17:46:01 <kuhnovic> No I need mine, you can't have it
17:56:00 <xarick> erm... this looks suspiciously wrong
17:59:47 <peter1138[d]> Hmm, why is it not allowed for a script to call SetPresidentGender() with the same gender?
18:00:47 <peter1138[d]> `EnforcePrecondition(false, GetPresidentGender(ScriptCompany::COMPANY_SELF) != gender);`
18:03:15 <_glx_> hmm indeed command is fine if gender is the same, but it's useless to call it for no change
18:03:46 <_glx_> I think GUI also prevent that for human
18:04:29 <peter1138[d]> It's useless to call it, but is it an error? Or is `EnforcePrecondition` just a no-op?
18:13:55 <peter1138[d]> Huh, that wasn't meant to be a draft.
18:13:57 <Rubidium> it will return false and set the error message
18:16:17 <Rubidium> and for scripts maybe more importantly, if you set the same gender you'll get the error in the same tick instead you having to wait for the next tick you're allowed to run to know the answer
18:30:10 *** WormnestAndroid has quit IRC (Remote host closed the connection)
18:31:34 *** WormnestAndroid has joined #openttd
18:31:59 *** akimoto has joined #openttd
18:38:55 <peter1138[d]> > Variable _ is not used.
18:41:24 <xarick> can there be a 3rd TicToc option
18:42:03 <xarick> otherwise this is a bit spammy
18:53:46 <kale91> would there ever be a way to make town name newgrfs load in retroactively and still be usable? Currently they only seem to work if you load them in with the heightmap world generation screen
18:54:34 <kale91> this has happened to me many times where you create or partly edit a whole scenario and realize you forgot the town name newgrf, so you're just stuck with the vanilla names
18:54:47 <kale91> unless there's something Im missing
18:55:02 <peter1138[d]> They also work fine if you use them for normal map generation and scenario generation.
18:55:39 <kale91> it does but I have to reload a heightmap in the scenario editor for it to work
18:55:49 <kale91> and that would erase any work you've done creating the scenario
18:56:45 <kale91> being able to input it after the fact would allow you to just input the townname newgrf in the scenario editor and then use the town generation manu to populate the map
18:57:26 <peter1138[d]> Right, I just mean you "they only seem to work if" isn't covering the normal cases.
18:58:18 <peter1138[d]> Town names are part of the newgame configuration, so do need to be set up befure you initially create anything.
18:59:20 <kale91> right I'm aware, just saying it would be nice if it could be edited while editing a scenario and not only before generation
18:59:34 <kale91> regardless of what's considered normal here
19:00:13 *** WormnestAndroid has quit IRC (Remote host closed the connection)
19:01:46 *** WormnestAndroid has joined #openttd
19:15:27 <peter1138[d]> Neat, it's working 😄
19:19:23 <xarick> i just accidentally clicked exit openttd when i wanted to click generate 😦
19:27:16 <xarick> random ui design problem 😛
19:31:37 <xarick> but the button is large, so 99% my fault
19:42:49 <peter1138[d]> When your fake-greenscreen isn't working...
19:45:19 *** Wormnest has quit IRC (Ping timeout: 480 seconds)
19:50:32 <xarick> making one tiny change in debug.h triggers 465 files being compiled
19:51:03 <peter1138[d]> Because 465 files depend on debug.h.
19:52:59 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
19:58:36 <xarick> I just made TicToc better, I promise! `static TicToc::State state("ScriptVehicleList", Ticks::DAY_TICKS, true);`
19:59:05 *** WormnestAndroid has joined #openttd
20:00:37 <peter1138[d]> Not by me. I would never.
20:00:50 <peter1138[d]> But Zephyris might've done. In which case we might need to replace it...
20:01:29 <peter1138[d]> Although that is not quite the same thing as AI slop fabricating things.
20:03:30 <peter1138[d]> Hmm, should I use that toggle button for, uh, toggles?
20:03:43 <peter1138[d]> Earring/Glasses/Mustache...
20:06:46 <_glx_> Rubidium: actually you don't get any error from the command if setting the same gender, so the script just wastes a tick doing it while the precondition returns immediatly
20:08:23 <peter1138[d]> Too much like a setting? hehe
20:09:07 <peter1138[d]> (Also they're all left aligned, silly me)
20:10:01 <xarick> my attempt at debug.h, I like this better
20:10:16 <xarick> [GameTick] is not a GameTick
20:13:01 <peter1138[d]> Well, she's changed a bit 🙂
20:16:58 <xarick> it's not like in squirrel
20:17:17 <xarick> prefix + "my_extra_text"
20:31:12 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
20:36:27 *** WormnestAndroid has joined #openttd
20:45:16 <goddess_ishtar> peter1138[d]: this is unsettlingly realistic
20:46:05 <dwfreed> real uncanny valley vibes
21:06:29 *** akimoto has quit IRC (Remote host closed the connection)
21:11:45 *** keikoz has quit IRC (Ping timeout: 480 seconds)
21:17:25 <xarick> how to convince devs to cache vehicle lists in groups /brokenrecord
21:18:43 <xarick> maybe stations should cache them too 🙂
21:24:59 <_glx_> well script can cache thata
21:25:39 <_glx_> they are the only one able to modify the content anyway
21:27:22 <_glx_> (minus autoreplace/renew of course)
21:29:36 *** ChanServ sets mode: +v tokai
21:43:53 *** tokai|noir has joined #openttd
21:43:53 *** ChanServ sets mode: +v tokai|noir
21:44:03 <xarick> I'd like glx to make an AI
21:46:36 <xarick> there's a vehicle autoreplace event but I didn't give it much though
21:50:50 *** tokai has quit IRC (Ping timeout: 480 seconds)
21:51:33 <xarick> how could I implement that event in my AI
21:52:47 <xarick> Id need to have every route access EventTypes
21:53:57 <xarick> get the old vehicle_id, find which route it belongs to
21:54:24 <xarick> change the id even if I'm managing a completely unrelated route
22:04:08 <xarick> let's say, I have 500 routes, I manage route number 1, containing its own AIList of vehicle ids.
22:04:08 <xarick> I need to check the vehicles of this route if they're unprofitable or so, but to make sure the vehicle ids are still valid, I run from within route 1 a check on events for the vehicle autoreplace. Imagine it finds one id replaced. Now I need to find which of my 500 routes the vehicle which had the id replaced it belongs to. So I iterate up to 500 routes to also iterate their respective AIList of
22:04:08 <xarick> vehicles to get it updated. Only then, I can continue checking for unprofitable vehicles on route 1.
22:07:02 <xarick> those ppl who use 10k max ops
22:07:20 <xarick> meh... it's gonna be bad
22:13:28 <xarick> it's my big detractor for using ScriptVehicleList_Group
22:14:18 <xarick> I resorted to ScriptVehicleList_Station which has been changed to iterate OrderLists
22:15:29 <xarick> i get 63 us average on that example save
22:17:10 <xarick> and 50 us average on the group vehicle list cache branch
22:18:08 <xarick> I would in a heartbeat move away from ScriptVehicleList_Station to ScriptVehicleList_Group
22:18:58 <xarick> turn those 63 us or 50 us into 1 us
22:41:06 *** kuka_lie has quit IRC (Quit: Lost terminal)
23:39:11 *** tony_pixel has joined #openttd
23:39:11 <tony_pixel> peter1138[d]: rectangle sliders!!
23:43:31 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
23:44:12 *** WormnestAndroid has joined #openttd
23:44:14 *** WormnestAndroid has quit IRC (Remote host closed the connection)
23:44:22 *** WormnestAndroid has joined #openttd
continue to next day ⏵