IRC logs for #openttd on OFTC at 2025-02-05
β΄ go to previous day
02:04:27 *** herms has quit IRC (Quit: bye)
02:08:11 *** Wormnest has quit IRC (Ping timeout: 480 seconds)
02:12:50 *** Wormnest has joined #openttd
03:40:29 *** Wormnest has quit IRC (Quit: Leaving)
04:01:28 *** debdog has quit IRC (Ping timeout: 480 seconds)
04:02:51 *** D-HUND is now known as debdog
04:43:25 <DorpsGek> - Update: Translations from eints (by translators)
05:43:54 *** mindlesstux has joined #openttd
06:04:38 *** keikoz has quit IRC (Ping timeout: 480 seconds)
06:39:43 *** Smedles has joined #openttd
09:05:17 <peter1138> I still hate macros.
09:28:22 <xarick> airports used to be one of my ais strong point... what happened to me
10:19:23 <xarick> disapointing performance when running at default settings
12:37:47 <andythenorth> did I miss lunch?
12:42:48 <andythenorth> I wish my cold would GTFO
12:43:06 <andythenorth> been hanging around for months, crusty eyes
12:45:08 <LordAro> i made a doctor's appointment this morning
13:02:13 <kuhnovic> My son started going to the daycare. I'm looking forward to all those lovely viruses he's going to bring home and spread to us...
13:08:17 <peter1138> Whoops, I put the s on aircraft instead of ship.
13:13:36 <peter1138> Ah, didn't spot it's two commits.
14:20:12 *** HerzogDeXtEr has joined #openttd
14:23:48 <peter1138> Ah, nVidia GPU driver/hardware crash.
14:27:49 *** Flygon has quit IRC (Read error: Connection reset by peer)
14:35:33 <andythenorth> what are sub parts of a train called?
14:35:45 <andythenorth> like the 3 bits of a garratt
14:36:28 <andythenorth> I chose `Subunit` but `SubunitFactory` is an oldd letter shape and weirds me out
14:37:11 <andythenorth> thanks, do you want $20 / month to simulate being GPT?
14:39:26 <andythenorth> is grf v9 yet? π
14:39:39 <andythenorth> I had an idea, I've forgotten it though
14:40:46 <andythenorth> oh something about 81, 82 style access
14:40:57 <andythenorth> and articulated vehicles being able to get their lead vehicle
14:41:30 <andythenorth> sorry, vehicles that are part of an articulated vehicle being able to get their lead vehicle
14:46:12 <andythenorth> hmm is an articulated vehicle part of an articulated vehicle?
14:46:23 <andythenorth> or is a vehicle part of an articulated vehicle?
14:54:43 <andythenorth> or is a an articulated vehicle articulated to another vehicle?
14:57:05 <xarick> strange, my AI isn't exhibiting the issues I had found last year
14:59:57 <xarick> though air routines and train routines are underperforming, it's universal, be it wallclock or calendar
15:22:28 <xarick> oh, i see, i need the economy age
15:24:04 <merni> andythenorth: I have also heard them called sections
15:24:16 <merni> twin-section locomotive etc
15:28:24 <xarick> is TimeMode ever coming back? What was decided to do about it?
15:31:38 <xarick> Cannot open include file: 'script_timemode.hpp': No such file or directory
15:31:40 <andythenorth> section, segment, part
15:31:55 <andythenorth> my current code has been 'unit' for a long time, I'm kind of used to it
15:32:05 <andythenorth> but 'unit' is plain wrong
15:52:39 *** kuka_lie has joined #openttd
15:59:20 <xarick> oh, there's also the time stopped mode
16:03:07 <xarick> service intervals are defaulting to 360 minutes
16:03:28 <xarick> this whole thing... just doesn't work
16:06:35 <xarick> _glx_: wrong service intervals are being used when time is frozen
16:07:36 <xarick> for AI and human alike
16:07:39 <_glx_> there has been some fixes in this area, but maybe only for humans
16:08:11 <_glx_> service intervals use ecnomy IIRC
16:09:47 <xarick> oh, I see, my defaults were set to the 360 / 150 / 100 minutes when i switched to frozen
16:10:04 <xarick> my human defaults, in the settings
16:10:29 <xarick> the AI are stuck with 360 / 150 / 100 minutes
16:10:46 <talltyler> There are some issues with default service intervals. That setting can have three different units and is a complete disaster
16:11:46 <xarick> remove the other modes
16:11:52 <andythenorth> MemberFactory? For vehicle parts?
16:11:56 <xarick> bam, 1 mode to take care of
16:12:02 <andythenorth> PartFactory sounds like it's for spare parts
16:14:53 <talltyler> xarick: I considered it, and my proposal was met with accusations that I was βtrying to implement the total destruction of the gameβ π
16:18:46 <xarick> how do I access a closed PR
16:20:45 <andythenorth> ok so I can't call the parts of a vehicle, vehicles, even though the grf API implements them as vehicles
16:20:51 <andythenorth> because it's confusing
16:21:01 <andythenorth> PartFactory looks weird
16:21:24 <andythenorth> Unit conflates, because railroads treat unit as a vehicle, usually, except when they don't
16:21:39 <andythenorth> SubunitFactory is a weird shapes and makes me fill like vomitting
16:21:59 <andythenorth> ElementFactory makes me think of electric kettles
16:22:18 <andythenorth> SegmentFactory makes me think of the Nokia snake game
16:22:46 <andythenorth> Module is daft, that's for KSP
16:22:53 <andythenorth> and SubassemblyFactory is weird
16:23:16 <_jgr_> A rose by any other name would smell as sweet, as they say. It's not worth getting too hung up on what you name it.
16:23:36 <andythenorth> currently it's UnitFactory π
16:23:45 <andythenorth> vehicles are made of units
16:23:58 <andythenorth> but I appear to be dying alone in that ditch
16:24:13 <andythenorth> hmm, what are burgers made of?
16:27:14 <talltyler> Not a build, just Photoshop, I suspect
16:27:55 <andythenorth> 'delete servicing interval, move on'
16:28:46 <andythenorth> do windows users still diligently defrag their boot drive?
16:29:01 <andythenorth> I remember it used to be **very** important
16:29:30 <xarick> windows doesn't let me defrag my ssd
16:29:47 <andythenorth> I imagine some users are sad about that
16:30:01 <andythenorth> probably Windows has taken away their ability to do a task they believe is important
16:31:21 <xarick> I want to believe LC-Zorg makes his own openttd builds
16:34:28 <xarick> his screenshots always look like he worked on openttd
16:35:39 <xarick> must be hiding a super secretive fork of openttd with all sort of enhancements
16:47:34 <xarick> anyway I tend to be in favour of consolidating service interval into 1 system only
16:47:54 <xarick> i'd prefer it time based, but...
16:48:39 <andythenorth> lol @ me talking to the robot for the last day
16:49:05 <andythenorth> in one prompt: "Unit is not an appropriate term for the sub-parts of an articulated rail or road vehicle'
16:49:26 <xarick> it would have to be wallclock-based even in calendar mode if only for simplification of UI
16:49:28 <andythenorth> in another prompt, "In this codebase, Unit is probably the most accurate term for the sub-parts of the vehicle"
16:52:14 <_glx_> probably needs _cmp, _add and _sub
16:53:21 <_glx_> and of course compatibility layers
16:54:31 <talltyler> I tried to change everything to wallclock minutes instead of adding it as a separate mode, but people lost their minds. So now we have two systems. π
16:55:42 <_glx_> some people still don't like the new autosave system π
16:56:54 <talltyler> Yep, Iβve seen those complaints
16:59:52 <talltyler> I am not bothered by this anymore, just giving Xarick context about why we have so many time systems
17:05:01 *** Wormnest has joined #openttd
17:08:53 *** gelignite has joined #openttd
17:09:12 <xarick> when i was running AI competitions from 1950 to 2050, autosaving monthly was serving me well
17:10:14 <xarick> a real time based autosaving system justs isn't the same thing, it wouldn't have the same precision
17:21:35 <xarick> ScriptVehicle::GetAge, but I wanted it to be ScriptVehicle::GetEconomyAge at times
17:23:29 <xarick> how does autoreplace work when time is frozen
17:23:45 <xarick> vehicles are always 0 years old
17:26:11 <xarick> ScriptBaseStation::GetConstructionDate can't use this either
17:26:56 <xarick> I have no way to detect how long a route has been running
17:31:47 <xarick> hmm, I kinda have... I'm getting an idea
17:34:28 *** kuka_lie has quit IRC (Ping timeout: 480 seconds)
17:34:46 <andythenorth> ok part, unit or segment for the parts of a vehicle?
17:35:08 *** virtualrandomnumber has joined #openttd
17:40:38 <andythenorth> do vehicles have segments?
17:41:10 <andythenorth> and wheels, usually
17:45:40 *** virtualrandomnumber has quit IRC (Quit: virtualrandomnumber)
17:59:38 <LordAro> ETXTBSY is not an errno i've seen before
17:59:52 <Rubidium> andythenorth: have you thought about sections?
18:04:10 <andythenorth> I might just use part, it's sort of what the game does
18:04:21 <Rubidium> well, it's what the wikipedia page about articulated busses calls them
18:04:36 <andythenorth> I want to use `unit`, but every piece of evidence I can find is that unit is the whole thing, not the parts
18:04:58 <andythenorth> a steam engine and tender is not made of units
18:11:31 <michi_cc> Section is a bad railroading word though, because it means too many things. It can even mean the whole train π
18:14:54 <andythenorth> or a signal section
18:15:17 <andythenorth> it's probably Part, just PartFactory sounds weird
18:15:20 <talltyler> Keeping my fat mouth shut about an entire train running as multiple sections with green flags
18:19:52 <andythenorth> the evolution of my own compile over about 12 years π
18:20:25 <andythenorth> in places I have consist.unit, vehicle.unit, and consist.vehicle
18:20:48 <andythenorth> the structure is consist.units = [<unit>, <unit>]
18:21:01 <andythenorth> clearly I was confused at points
18:22:34 <andythenorth> this is like clearing childhood toys from my mum's loft
18:23:07 <andythenorth> did that last year, found this
18:23:13 <andythenorth> hd woodworm, had to demolish
18:25:02 <andythenorth> was quite detailed
18:48:22 *** ChanServ sets mode: +v tokai
18:55:19 *** tokai|noir has quit IRC (Ping timeout: 480 seconds)
19:14:19 <peter1138> Hmm, is NWidContainerFlag::EqualSize a bit wordy...
19:34:47 <LordAro> depends how often it's used :p
19:42:50 <peter1138> Only in NWidget part trees.
19:44:11 <LordAro> there's quite a lot of those
20:07:13 <peter1138> Nothing a quick search and replace didn't fix.
20:07:49 <xarick> rubidium, have you come across some Templated destinationid stuff yet?
20:09:10 <xarick> when I was working on increasing the pool of station ids I stumbled upon some T stuff replacing StationID or DepotID, can't recall exactly what
20:09:29 <peter1138> Hmm, orders misusing dest to store flags...
20:14:00 <xarick> I really need a ScriptVehicle::GetEconomyAge
20:15:14 <xarick> otherwise, I will be forced to store each vehicle's Dates they were built at
20:15:40 <xarick> and knowing how well that goes with vehicleids changing... a mess
20:19:20 <xarick> "but xarick!!! humans have no access to this age in the gui!"
20:20:19 <peter1138> TimerGameCalendar::Date age; ///< Age in calendar days.
20:20:20 <peter1138> TimerGameEconomy::Date economy_age; ///< Age in economy days.
20:21:10 <peter1138> I don't know what GetEconomyAge() tells you (I assume you know)
20:21:44 <xarick> gives me the real age (or the age that matters to me) in wallclock mode
20:23:24 <xarick> the problem I have to solve is... detecting how much time passed for each vehicle to determine they're making a profit
20:23:59 <xarick> with frozen time, ScriptVehicle::GetAge just gives me a zero
20:25:13 <xarick> with wallclock, it gives me a usually lower than expected value
20:25:27 <xarick> depending on how much minutes I set per year
20:29:39 <xarick> at the other side of the equation there's GetAgeLeft
20:31:09 <xarick> decide at which point in the vehicle's life I need to replace it, and avoid the rate of breakdowns
20:32:03 <xarick> but "it's complicated" must study how breakdowns are affected with age under wallclock
20:32:33 <xarick> perhaps I don't need to do much here
20:57:44 <peter1138> I suggest you create the API function for it, then test it with your AI.
20:58:09 <peter1138> But probably other people than me are better placed to verify API changes.
20:59:31 <_glx_> main goal is to properly prevent comparing apple and oranges
20:59:52 <_glx_> and math prevention too
21:00:35 <_glx_> compatibility layer (when done will still allow it of course)
21:02:42 <xarick> yeah, im gonna need subtraction
21:07:21 <peter1138> I had an issue, so I added an exception.
21:07:28 <peter1138> Then it fixed it, and removed the exception.
21:07:37 <peter1138> The exception still triggers.
21:08:15 *** frosch123 has joined #openttd
21:08:15 <frosch123> Hmm, with both date types in the same class, scripts have no strong types and can mix the date types. Wouldn't separate strong types be better? Or does squirrel not work like that?
21:08:47 <_glx_> we can handle type checking in metamethods
21:11:57 <frosch123> Oh, I wasn't aware of methods returning system time
21:12:32 <_glx_> for squirrel any strong type would be an SQUserPointer internally
21:12:33 *** gelignite has quit IRC (Quit: Stay safe!)
21:13:05 <_glx_> unless we add them in squirrel itself
21:13:32 <frosch123> _glx_: Ok, I guess that works for dynamic languages like squirrel. It's a runtime exception either way.
21:14:46 *** nielsm has quit IRC (Ping timeout: 480 seconds)
21:21:54 <peter1138> Ah yes, Squirrel still have raw pointers all over place.
21:22:11 <peter1138> Which is a bit annoying.
21:24:51 <peter1138> Do not like pointers :S
21:25:21 *** reldred has quit IRC (Quit: User went offline on Discord a while ago)
21:33:46 <andythenorth> we what now? π
21:33:52 <andythenorth> can I run Doom on Iron Horse?
21:45:11 <Rubidium> hmm... how does OpenTTD still compile if I remove all 'raw' pointer SQConvert Return/Params?
21:58:55 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
22:08:49 * Rubidium was thinking about using std::unique_ptr to return stuff from C++-land to Squirrel land to potentially simplify things.
22:09:43 <Rubidium> but when doing conversions (for events) we do not really get ownership, and the thing not failing to compile when you do it wrong is a disaster waiting to happen
22:11:50 <peter1138> I actually tried once, but with std::shared_ptr.
22:12:04 <peter1138> So that I didn't have to care about actual ownership.
22:14:13 <peter1138> But there's a point where it gets hidden away.
22:14:24 <peter1138> And I probably gave up.
22:19:57 <andythenorth> giving up is a talent
22:20:13 <andythenorth> I am still stuck on vehicle.vehicle π
22:20:14 *** keikoz has quit IRC (Ping timeout: 480 seconds)
22:20:15 <andythenorth> I should give up
22:25:04 <andythenorth> maybe it really is just vehicle.vehicle that solves it
22:25:31 <andythenorth> `def vehicle(self): if self.vehicle is None return self else return self.vehicle`
22:25:52 <andythenorth> then instead of doing vehicle.speed I do vehicle.vehicle.speed
22:46:12 <gwyd4016> andythenorth: You have made a wrong turn at some point
22:46:15 <gwyd4016> What happened to model
22:46:50 *** HerzogDeXtEr has quit IRC (Read error: Connection reset by peer)
22:56:02 <peter1138> I didn't charge enough for the sunk-cost fallacy to kick in.
continue to next day β΅