IRC logs for #openttd on OFTC at 2023-07-13
β΄ go to previous day
00:54:10 <belajalilija> so ive had an idea and i'd like to know if it is technically possible before making a github thingy
00:59:38 <belajalilija> when adding a bunch of grfs some things can be disabled due to incompatibility issues for example
00:59:38 <belajalilija> track set not having the right voltage
00:59:38 <belajalilija> track set not being the right gauge
00:59:38 <belajalilija> other grfs (firs can have issues with rukts and sbb set)
00:59:40 <belajalilija> this can cause problems as you need to know every vehicle in a grf to know if it is missing or not and it can be hard to tell at a glance
00:59:40 <belajalilija> my suggested solution would be a command to either list in the console or dump a text document that lists all vehicles that could not be enabled, better yet if it can list any "things" such as vehicles, objects, track and road types, that are disabled, but the idea is mostly for trains
01:16:59 <_glx_> openttd just follow the newgrf decisions, it can't know what is skipped
01:33:49 <Eddi|zuHause> damn cities:skylines... i could get neither my unemployment rate nor my crime rate up to 50%... unemployment peaked at 45% and crime at 35%
01:39:34 <Eddi|zuHause> belajalilija: the NewGRF can issue a warning with action B. that's the only way to know.
01:41:00 <belajalilija> Eddi|zuHause: not sure ive ever even seen it used then which is a shame
01:45:57 *** dihedral has joined #openttd
02:03:37 *** Wormnest has quit IRC (Quit: Leaving)
02:18:35 *** debdog has quit IRC (Ping timeout: 480 seconds)
03:45:05 *** keeeek has quit IRC (Remote host closed the connection)
03:45:05 *** _glx_ has quit IRC (Remote host closed the connection)
03:45:05 *** mrmber has quit IRC (Remote host closed the connection)
03:45:05 *** peter1138 has quit IRC (Remote host closed the connection)
03:45:05 *** frosch123 has quit IRC (Remote host closed the connection)
03:45:05 *** greengaeru5122f has quit IRC (Remote host closed the connection)
03:45:05 *** belajalilija has quit IRC (Remote host closed the connection)
03:45:05 *** _jgr_ has quit IRC (Remote host closed the connection)
03:45:05 *** ahyangyi has quit IRC (Remote host closed the connection)
03:45:05 *** leon13639 has quit IRC (Remote host closed the connection)
03:45:05 *** brickblock19280 has quit IRC (Remote host closed the connection)
03:45:05 *** truebrain has quit IRC (Remote host closed the connection)
03:45:05 *** olionkey has quit IRC (Remote host closed the connection)
03:45:05 *** alfagamma_0007 has quit IRC (Remote host closed the connection)
03:45:05 *** DorpsGek_v has quit IRC (Remote host closed the connection)
03:45:05 *** locosage has quit IRC (Remote host closed the connection)
03:45:05 *** kuhnovic has quit IRC (Remote host closed the connection)
03:45:05 *** andythenorth has quit IRC (Remote host closed the connection)
03:45:05 *** merni has quit IRC (Remote host closed the connection)
03:45:05 *** kamnet has quit IRC (Remote host closed the connection)
03:45:05 *** talltyler has quit IRC (Remote host closed the connection)
03:45:34 *** DorpsGek_v has joined #openttd
04:16:55 *** tokai|noir has joined #openttd
04:16:55 *** ChanServ sets mode: +v tokai|noir
04:23:49 *** tokai has quit IRC (Ping timeout: 480 seconds)
05:48:11 *** k-man has quit IRC (Quit: WeeChat 4.0.1)
06:30:30 <pickpacket> Eddi|zuHause: 45% unemployment obviously means that 45% of citizens are unemployed (depending on the definition of "unemployed"), but I wonder what 35% crime rate means
06:44:13 <Rubidium> pickpacket: would it mean that? In the real world it definitely doesn't mean that. It's rather the percentage of people without a job who want a job divided by the number of people with a job plus those wanting a job
06:45:03 <Rubidium> so if you have saved (a lot) and at age of 50 say... I don't want to work anymore, I'll just live my life of my savings, then you're not counted as unemployed
06:45:55 <pickpacket> Rubidium: what it actually means depends. The definition often differs from country to country
07:38:07 <pickpacket> in any case I think "35% crime rate" is a lot less clear :) Does it mean that 35% of your citizens are gangstas?
08:27:07 *** virtualrandomnumber has joined #openttd
08:27:11 *** virtualrandomnumber has quit IRC (Remote host closed the connection)
08:37:44 *** truebrain has joined #openttd
09:21:49 <Eddi|zuHause> pickpacket: i think it means 35% of the population.
09:48:09 *** starbud has joined #openttd
09:48:09 <starbud> Looks like a bug to me or am i missing something here, can this message be triggered in some way i dont realise?
09:55:52 <LordAro> we're missing a lot of context
09:56:21 <LordAro> not sure about autorenew though...
09:56:31 <LordAro> autoreplace, sure, if you replace single unit with dual-head unit
10:08:56 <Rubidium> might it be some NewGRF that for some reason make a vehicle longer after some date? Or maybe the vehicle length limit has been reduced since the vehicle was built?
10:30:28 <starbud> Ofcourse, why didnt i think of that, seems logical now that i got it pointed out, thanks
10:31:14 <starbud> it was trying to replace
10:31:24 <starbud> however wagon removal is turned on
10:33:06 <LordAro> i'd imagine that only applies to autoreplace?
10:34:06 <Eddi|zuHause> is that maybe a custom newgrf error message?
10:47:48 *** emperorjake has joined #openttd
10:47:48 <emperorjake> I think the "autorenew" messages apply to autoreplace as well, it's the same case for the money limit one. It's slightly confusing because they're different things, perhaps the wording could be made clearer
10:48:20 <LordAro> the separation between autorenew & autoreplace has long been a source of confusion
10:54:48 *** peter1138 has joined #openttd
10:54:48 <peter1138> In this case, the error message would say autoreplace.
11:06:56 *** Flygon has quit IRC (Quit: A toaster's basically a soldering iron designed to toast bread)
11:16:18 *** locosage has joined #openttd
11:16:18 <locosage> I'm trying to reuse action1 sets for loading stages in vehicle action 2.
11:16:18 <locosage> If I just make separate states for each stage so, loadtypes is 0,1,2,0,1,2 (both nums types 3) it works. If I do 0,0,1,0,0,1 as first two stages are the same it doesn't (only uses first stage). Is this a bug or am I missing something?
11:19:59 <locosage> ah, nvm, I messed up sprites in action1
13:51:15 *** virtualrandomnumber has joined #openttd
13:51:30 *** virtualrandomnumber has quit IRC ()
14:58:12 <LordAro> maybe just an extra line break?
15:00:05 <truebrain> it is a silly dropdown, with different interactions in very close proximity
15:00:14 <truebrain> we suck at UI design π
15:05:11 *** talltyler has joined #openttd
15:05:11 <talltyler> I think that many of our drop-downs are choices, not actions that happen immediately. Our actions are often buttons. Maybe thereβs a place we could add the depot button to choose the action, like in the vehicle view (Ctrl+click to only service)
15:06:46 <talltyler> The window would need some redesigning to fit our depot button, though, as the bottom bar where it should be is too short
15:10:47 <pickpacket> Do DMs work over the discord bridge?
15:16:37 <Rubidium> talltyler: it's behaving somewhat like the order UI, so... where's that some/anybody entity that was going to do the UX stuff and unify things?
15:18:45 <talltyler> I have some ideas for the order UI, but mostly just removing text if itβs not necessary
15:18:55 *** D-HUND is now known as debdog
15:20:06 <talltyler> kuhnovic: was doing some colour unification in #10783 but it looks like weβre going in the other direction (grey) to follow TTD
15:22:13 <_glx_> ideally for orders we need a route system
15:22:39 <talltyler> I attempted to make the signal GUI grey but couldnβt get grey buttons on one green background β each button had its own green border because of how the block signals get hidden. It might need Peter or some other UI system expert to get that done
15:23:52 <peter1138> Sadly I can't say the signal GUI is that colour because it was that way in original TTD, but why does it need to be grey?
15:24:01 <locosage> why would you make signal window grey? unless you make all toolbars grey
15:34:17 <talltyler> Not the toolbar, just the signal variant selector
15:35:41 <talltyler> Standardization in OpenTTD might be a foolβs errand π
15:36:40 <talltyler> (Speaking about myself, not Kuhnovic π )
15:37:40 <Eddi|zuHause> what's next? game balance? :p
15:38:28 <locosage> balance solved, plz don't break :P
15:39:24 <locosage> talltyler: in a way there is some logic. Stand-alone buttons are grey, but toolbar buttons are green
15:39:40 <locosage> though I would just get rid of green completely
15:39:54 *** andythenorth has joined #openttd
15:39:54 <andythenorth> Changing the ui will produce pitchforks
15:40:36 <locosage> you say it like changing gameplay doesn't :p
15:42:49 <_glx_> muscle memory hits harder π
15:44:13 *** alfagamma_0007 has joined #openttd
15:44:13 <alfagamma_0007> andythenorth: smh
15:47:54 <Eddi|zuHause> please don't remove spacebar heating!
15:48:36 *** HerzogDeXtEr has joined #openttd
15:55:40 <LordAro> _glx_: there seems to be something strange going on with out params
16:03:55 <LordAro> also out params in python are weird
16:15:31 <merni> could someone look at merging 11125 pls
16:29:31 *** gelignite has joined #openttd
16:40:38 <talltyler> Pickpacket: You donβt need to rebase unless thereβs a conflict π
16:41:02 <talltyler> It seems to have kept the approval though, often it cancels it and it needs to be re-approved
16:46:00 <pickpacket> I'm so used to rebasing often just to avoid future conflicts
17:00:09 *** m3henry has joined #openttd
17:08:33 *** Wormnest has joined #openttd
17:10:54 *** gelignite has quit IRC (Remote host closed the connection)
17:54:33 *** gelignite has joined #openttd
17:56:03 *** barbagus has joined #openttd
17:58:34 <barbagus> Hi, trying to write my first GameScript and would like to analyze some game data externally: looking for a way to either export AI Debug window or directly write data to filesystem from GS*
17:59:04 <barbagus> Anybody knows about this ?
18:22:11 <_jgr_> The OpenTTD infrastructure post from the other day seems to be on the front page of HN
18:35:13 *** barbagus has quit IRC (Remote host closed the connection)
18:42:03 <truebrain> `Basically my MacBook Pro from 2019 could host all their infra and data and serve the entire load (~3 RPS) with room to spare for my day-to-day work. ` .. lol π I always love those comments π
18:42:13 <truebrain> seen it so many times π
18:44:09 <nnyby> lol.. yeah i was about to reply to him. i think the 'complexity' you were getting at is more like, the interconnectedness of how all the pieces fit together, rather than simply the scale of data
18:45:11 <truebrain> but also .. what if you close the lit of your Macbook?
18:46:30 <andythenorth> at work, we used to host all of our customers in a single instance of the application, on a shared server from our hosting provider, with an Apache in front of it handling domains for all 3 of our group companies
18:46:37 <andythenorth> "it was so simple"
18:46:46 <andythenorth> I could have hosted that on my macbook pro
18:55:58 *** barbagus has joined #openttd
18:58:06 <truebrain> I completely understand why people thinkg it will work fine on something like that
18:58:24 <andythenorth> it's the fallacy that only web-scale systems need repeatability
18:58:55 <truebrain> when I started out, more than 25 years ago (ugh, getting old), I too was like: awh, we can do this on a simple VPS π
18:59:29 <truebrain> think the biggest thing people forget about, is security. Which sadly is a big thing in todays age π¦
18:59:59 <andythenorth> nah it's ok if you use a mac
19:00:43 <andythenorth> anyway it's nice that people take the time to read and comment π
19:01:12 <truebrain> I am surprised people care π
19:06:45 <pickpacket> it's pretty cool, because few open source projects have this kind of commitment and take time to explain something like this
19:07:53 <pickpacket> and then there's a wow factor in that such an old and comparatively unknown game has such dedicated devs and stays on top of current tech
19:08:15 <truebrain> ghehe, fair enough π
19:10:17 <pickpacket> I'm impressed by your work :)
19:10:33 <truebrain> I am happy it works π
19:16:56 <peter1138> Ride was effort due to wind.
19:17:16 <peter1138> Also yes, let's just host it all on someone's old laptop...
19:17:34 <truebrain> yeah, that is a nice comment π I will frame that one π
19:18:52 <andythenorth> I don't understand why I host grf.farm on S3 with Cloudfront and Route 53
19:19:19 <andythenorth> needless complexity
19:19:28 <truebrain> I don't understand why you haven't moved it to Cloudflare, no π
19:20:00 <andythenorth> textbook case for Cloudflare Sites
19:20:09 <andythenorth> now our textbook will have 2 chapters
19:20:26 <truebrain> Cloudflare Pages; but close enough π
19:21:36 <peter1138> I've got an old P4 laptop with 512MB RAM, that'll do right?
19:22:19 <truebrain> if you drop multiplayer, sure! (it actually would be possible π )
19:29:15 <_glx_> maybe andy has money to waste π
19:30:37 <andythenorth> monthly bill is as much as Β£1.20
20:10:42 *** gelignite has quit IRC (Quit: Stay safe!)
20:39:43 <LordAro> truebrain: perhaps we should think about this the other way - clearly your post doesn't go into enough detail about why the complexity is necessary
20:41:08 <truebrain> haha; would that really change anything? π
20:41:23 <truebrain> I have no issue writing more, but I need to know what people want to know π
20:41:37 <LordAro> no, but might prevent further misunderstandings :)
20:42:37 <truebrain> people will always say those things; and I understand it π
20:43:43 <truebrain> lol, does someone really suggest to not use private subnets? Owh boy .. no tnx. I rather not π
20:48:16 <peter1138> Also use a ChatGPT to write it for you.
20:49:30 <peter1138> HN is a cesspool anyway, so fuck them :p
20:51:32 <m3henry> So I was thinking about completing #11068 But I'm having trouble figuring out how the strval in gui_settings.ini is used to lookup the string to use. I'm guessing it's something like take this enum and add the setting value to it and use that enum.
20:55:28 <andythenorth> oh wait, I never read HN
20:55:40 <andythenorth> is it just slashdot, with a different colour theme?
20:55:53 <andythenorth> comments seem identical to slashdot 2006
20:56:11 <andythenorth> "I don't know why you need a ports tree anyway, I just recompile kernel from source every time"
20:56:46 <andythenorth> "I don't know why you'd buy a system from a vendor like Dell, I just rebuild my chassis from scratch every 3 months using whatever's on offer at CompUSA"
20:56:56 <_jgr_> Compared to the wider internet, HN does not seem so bad π
20:58:33 <andythenorth> I mean...I used to like Slashdot
20:59:54 *** barbagus has quit IRC (Remote host closed the connection)
21:02:52 <peter1138> That doesn't really mean much JGR
21:03:17 <truebrain> peter1138: that reply was ... interesting π
21:04:34 <andythenorth> "this thing you don't understand, that has security, cost and performance implications....just get the bot to do it"
21:04:44 <andythenorth> in future, might be fine
21:05:04 <andythenorth> are we too elitist here? π
21:06:42 <truebrain> it is a fun HN thread .. you see those who have experience, and those who do not π
21:06:50 <_jgr_> I look forward to reading some postmortem report where ChatGPT supplied a configuration which caused the whole system to fall over
21:07:16 <andythenorth> will GPT also do the post-mortem?
21:07:28 <andythenorth> I might get it to roleplay a retrospective
21:09:43 *** nielsm has quit IRC (Ping timeout: 480 seconds)
21:13:01 <m3henry> Brie de Maux or Red Leicester for me
21:17:49 <Rubidium> _jgr_: well, there is that lawyer that got into trouble...
21:19:58 <Rubidium> ... for using ChatGPT to do research and ChatGPT making up some cases, and then just filing that without checking
21:47:52 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
21:48:34 <talltyler> m3henry: Maybe I misunderstand your question, but I think thatβs partly how the `###length 3` notes in `english.txt` are used (although maybe just to describe the behavior and not create it). The dropdown starts at `strval` and then goes `max` down the string index from there.
21:50:51 <m3henry> Okay, that works well when the values are contiguous, but what about when they are discontiguous? It dosen't seem like the right solution to duplicate all the colour enums and strings just to make the last one different
21:51:42 <talltyler> I donβt know if itβs possible to do it without continuous strings
21:52:12 <truebrain> hihi, okay, the hacker news publication is kinda nice .. just had a nice chat with someone from Cloudflare about the one concern I have in relation to Cloudflare π Now that shows people that care π
21:52:26 <talltyler> I do know that we try not to reuse strings, because even if theyβre the same in English that may not be true in some translations
21:52:49 <m3henry> They would be semantically the same: Blue = Blue
21:52:52 <truebrain> and too bad I don't have a HN account; I could have helped someone understand what Cloudflare Tunnel does π
21:53:11 <talltyler> Yes, in this case the usage is the same π
21:53:35 <talltyler> The brute force duplication way might be the only option
21:54:15 <m3henry> I guess another level of indirection can be saved for a future PR if something else ends up doing something similar
22:01:30 <locosage> it may be worth adding a new type of setting for company color
22:01:53 <locosage> will likely be needed anyway for rgb color
22:02:06 <locosage> whenever that is done
22:09:42 <_glx_> talltyler: the ###length is for the unused string validation IIRC
22:10:37 <Rubidium> IIRC the ###length stuff is primarily to mark ranges of strings as used, even though they are not explicitly used in the code
22:11:43 <truebrain> yeah, the `###length` is a me-thing .. I wanted to make sure all strings were used in the code, and as we do some nasty range-shit from time to time .... π
22:11:45 <Rubidium> it's not even read by strgen, so it's not used in OpenTTD itself. So if the second company colour needs more options, you can add them after it
22:11:50 <kamnet> truebrain: That's exactly what I thought after the first guy started posting. I mean, granted, I last dealt with anything web/server related almost 7 years ago but I at least know when somebody's talking out of their ass and who has put in the work.
22:12:05 <truebrain> and yes, it is only used by the Python script
22:12:42 <truebrain> kamnet: it is often compared to a car engine ... a lot of, mostly males (sorry to say), act like they know exactly how an engine works
22:12:48 <truebrain> but really .. only those who actually worked on it know π
22:14:29 <kamnet> Speaking of which, I've got to swap out an alternator that I just replaced last year **is irritated**
22:14:56 <truebrain> see, I don't even know what an alternator is! π
22:15:42 <kamnet> It turns gasoline into electricity so you can pump the stereo and not use turnsignals.
22:16:01 <truebrain> aaaahhhhhh, so the thing that makes this booeeeemmmllll sound?
22:16:55 <kamnet> Okay no I made that too simple that is something else entirely (and unnecessary)
22:17:19 <locosage> Technically it turns rotation, not gasoline:p
22:17:43 <kamnet> But if I wanted that I could just run it on my MBP. π
22:18:11 <truebrain> but, can ChatGPT tell you how to generate a template for the alternator?
22:18:25 <kamnet> Actually, possibly yes.
22:18:51 <truebrain> well, sounds you are ready to use kubernetes!
22:19:03 <kamnet> I'd trust it more to tell me how to build my own alternator than I would to get it to write me a dense argument in court.
22:19:05 <Rubidium> truebrain: no worries, your car doesn't need an alternator :D
22:19:43 <truebrain> lol .. you really can tell me anything Rubidium, but I assume you refer to the fact an electric car doesn't have one π
22:19:52 <truebrain> I really know nothing about cars, and I know that I know nothing π
22:20:02 <truebrain> if something makes a weird sound, I bring it to someone to take a look at it π
22:20:12 <truebrain> I aint touching that engine, not with a long stick
22:20:56 <locosage> Electric cars kinda have one since it's just an electric motor basically
22:21:23 <m3henry> Perhaps "checklist for review" should use checkboxes in the template?
22:22:33 <kamnet> Correct, electric have something better - DC/DC converters to step from whatever the primary battery for the car down to the 12v system that's commonly used on vehicles (the turnsignals you don't use, the boom boom boom, and the ridiculous "roaring-engine.mp3" that your local regulatory body requires the external speakers on the car to play so people can hear your car coming)
22:23:28 <_glx_> truebrain: I think your car don't have one π
22:23:50 <truebrain> by now I do know what it is π Still wouldn't touch it π
22:25:19 <kamnet> Honestly they sound more complicated than what they really are. It can't be too complicated if you can teach it to high school students and put out a one-hour YouTube video.
22:25:59 *** HerzogDeXtEr has quit IRC (Read error: Connection reset by peer)
22:26:03 <truebrain> And so we are back to some HN comments π
22:26:13 <_glx_> m3henry: nah, we don't follow it anyway π
22:26:42 <truebrain> Ugh, yes, that checklist sounded like a good idea .. I am just blind for it by now π
22:26:43 <m3henry> Probably a good idea to remove it if it's unused then
22:27:42 <locosage> I do read checklist and find it helpful
22:28:15 <locosage> Reminded me of stuff I missed more than once
22:29:02 <kamnet> truebrain: Well, BUILDING (or rebuilding) an alternator is WAY more conplex than just replacing one. Replacing one is remove pulley belt, remove 3 bolts, unplug wiring harness, removing alternator and then doing everything in reverse, and wash your hands. They pay better people than me to rebuild them. π
22:30:03 <kamnet> And after 15 years I'm still much better at repairing cars than I am trying to code in NFO or NML, so there is that....
22:30:10 <truebrain> See, if you say that it is fine .. if I say it ... "remove the thingy from the thingy but don't touch the other thingy as you might feel thingly " π
22:30:37 <_glx_> first step, unplug the battery π
22:30:59 <_jgr_> kamnet: That doesn't sound too bad, I gather the trend for modern cars is that it's a huge disassembly job just to access anything
22:31:13 <kamnet> Oh I don't even do that. If I replace an alterantr the battery is already dead. π π π
22:31:41 <_glx_> even changing a light bulb is a pain
22:31:46 <_jgr_> IT systems are a lot easier to observe than physical systems
22:32:01 <truebrain> For once it is not about bikes, but about cars! I finally won!!!!
22:32:12 <kamnet> _jgr_: It can be. For my son's car (Toytoa Avalon) you have to remove the front passenger tire and disassemble the plastic wheel liner just to get to the alternator.
22:33:26 <_glx_> often for light bulbs you need children hands
22:33:46 <locosage> kamnet: I googled a similar explanation but it makes no sense, alternator converts rotation to electricity, in electric vehicle main motor does that when using regenerative braking. Whatever DC to DC stuff it does after is secondary
22:34:16 <kamnet> Children's hands to get into the hole, strenght of Herculese to pull it out.
22:35:45 <_glx_> and all that without putting a finger on the bulb itself
22:36:46 <_glx_> and totally blind guessing what you are doing
22:40:40 <kamnet> locosage: ICE vehicle: 12v battery powers up starter motor, starter motor cranks engine until it starts compressing fuel/exploding/turning itself over, engine turns pulley connected to alternator to generate 12V power for the rest of the electrical system so it's no longer running on the battery.
22:40:40 <kamnet> EV: 200+V battery provides all the energy to motors, but rest of car's electrical system is 12V to be compatible with automotive industry standards (no reason to reinvent wheel here). DC/DC converter steps that energy down to 12V for that system.
22:41:48 *** keikoz has quit IRC (Ping timeout: 480 seconds)
22:44:23 <locosage> That's a "what provides power" POV
22:45:32 <locosage> In gasoline vehicle main power comes from alternator, in ev from battery
22:46:52 <locosage> But ev does have a functional analog of alternator, it's just called motor since it more often converts electricity to rotation than back
23:04:34 <peter1138> Changing lights is easier on my bike than the car.
23:05:06 *** m3henry has quit IRC (Quit: m3henry)
23:05:08 <peter1138> Although my current car isn't too bad. Last car needed handles about 30cm long but only 1cm thick...
23:11:27 <peter1138> Hmm, strange, not saving cargo history didn't save any bytes. I guess I'm doing it wrong π
23:14:52 <peter1138> Maybe try a stupid size map, like 1024x1024.
23:19:29 <peter1138> Vanilla: 24766936 bytes
23:19:37 <peter1138> Patched: 24760648 bytes
23:19:40 <peter1138> That's... not a lot :p
23:24:29 <peter1138> Vanilla but 25 history slots: 24805932 bytes
23:24:40 <peter1138> Patched but 25 history slots: 24760648 bytes
23:27:19 <talltyler> If weβre talking about the industry production graph PR, I believe dPβs complaint was about increased saving time, not just file size. Maybe thatβs easier to time?
23:27:45 <talltyler> Does it reserve those bytes somewhere even if youβre not writing anything into them?
23:27:56 <_jgr_> Are these cargo history values mostly zeroes?
23:28:07 <talltyler> (That was possibly the most uniformed question Iβve ever asked π )
23:30:14 <peter1138> In this case, yes, I'm just making it skip saving history if slot is CT_INVALID, which for vanilla industries is 14 out of the 16 slots...
23:31:10 <peter1138> I suspect my saveload rearrangement resulted in slower saving, as it replaced flat arrays with a nested objects.
23:31:56 <_jgr_> I doubt it will make much difference
23:31:59 <peter1138> It's also possible to skip trailing zero entries in the history, but in vanilla that doesn't save much, and after 2 years doesn't save much either.
23:33:14 <peter1138> (And working out which is the last non-zero entry may cost more time)
23:33:47 <peter1138> After 2 years with that patch, that is.
23:44:50 <_jgr_> If the history length is increased by making the std::array<ProducedHistory, N> bigger, as in 10541, that could waste a non-negligible amount of memory at run-time, which isn't compressible
23:45:42 <peter1138> Maybe possible to std::vector it. I didn't with 2 as it wasn't necessary.
continue to next day β΅