IRC logs for #openttd on OFTC at 2024-02-10
β΄ go to previous day
00:26:47 <wensimehrp> my use interface got very ugly in the latest nightly
00:27:33 <wensimehrp> the ui is strangely scaled and all words on the screen are blur
00:28:49 <wensimehrp> it's supposed to be like this
00:30:14 <wensimehrp> wensimehrp: wait.. the ugly ui is gone
00:30:24 <wensimehrp> now everything is normal again
00:36:33 <peter1138[d]> Looks like Windows was scaling it for some reason.
00:36:48 <peter1138[d]> But I don't see anything ugly about it. It's exactly the same, just scaled up.
00:52:18 <wensimehrp> peter1138[d]: the windows and characters were blury
00:53:34 <_glx_> most likely windows detected the wrong DPI
01:00:03 <rau117> Small problem with the company colors window. The buttons found in almost all other windows are missing.
01:00:03 <rau117> The biggest problem is impossibility to make the window tall by default β even if you have enough space, it will always open in a thin size.
02:26:18 *** HerzogDeXtEr has quit IRC (Read error: Connection reset by peer)
02:34:07 *** Eddi|zuHause2 has joined #openttd
02:38:50 *** Eddi|zuHause has quit IRC (Ping timeout: 480 seconds)
02:58:40 *** gelignite has quit IRC (Ping timeout: 480 seconds)
03:04:35 *** Wormnest has quit IRC (Quit: Leaving)
03:16:50 *** debdog has quit IRC (Ping timeout: 480 seconds)
03:23:40 *** gnu_jj_ has quit IRC (Ping timeout: 480 seconds)
06:30:16 <merni> I guess there is a penalty to bikeshedding... as a consequence of yesterday's coding style PR I have been spammed with email from github :P
06:30:31 <merni> Probably should turn off email notifications for PRs
06:49:28 *** Flygon has quit IRC (Read error: Connection reset by peer)
08:05:38 *** Flygon has quit IRC (Quit: A toaster's basically a soldering iron designed to toast bread)
08:05:44 *** HerzogDeXtEr has joined #openttd
08:29:11 *** gelignite has joined #openttd
12:33:30 <peter1138[d]> What happened here
12:54:31 *** Eddi|zuHause2 is now known as Eddi|zuHause
13:23:27 <_glx_> hmm `-- Version string: 14.0-beta3~2` is annoying
13:23:28 *** j_n has quit IRC (Quit: User went offline on Discord a while ago)
13:25:15 <_glx_> that's when trying to build 20240206-master-g0858377e9e from a checkout, but it does it for any commit before a tag
13:25:29 <_jgr_> _glx_: You can get more sensible names by changing the version script to use dit describe instead of name-rev
13:28:41 <_glx_> checking for `~` in tag could work too I guess
13:33:36 <truebrain> did talltyler press the button yet?
13:33:48 <frosch123> i wonder what changed, so that ogfx2 does not work in ottd 1.2:
13:34:06 <truebrain> I have so many questions
13:34:12 <truebrain> (pun intended, ofc)
13:34:25 <_glx_> behaviour depends on extra parameters IIRC
13:35:08 <truebrain> OPNTT, the new name of the game π
13:35:17 <_glx_> but I guess the right debug level should give a hint
13:36:04 <_glx_> hmm looks like some question marks are for catenary stuff
13:38:31 <_glx_> I'd say something in 1.2 doesn't like 14+ action5
13:41:43 <frosch123> either way, the thing that i found broken in HEAD is also broken in 1.2
13:41:54 <frosch123> i wonder how old my memory is of it working
13:42:01 <frosch123> or whether i just made it up ever working :p
13:44:28 <merni> truebrain: Nice, discord thinks you approved after merging :p
13:45:01 <truebrain> pretty sure you replied to the wrong thing anyway π
13:48:39 <truebrain> it is proof that the whole world is out of sync
13:52:53 <frosch123> ok, as expected: my memory is wrong π
13:53:24 <frosch123> the gamelog was only added to log stuff with desync-potential
13:53:29 <frosch123> so it logs only changes to some settings
13:53:31 <truebrain> that is a difficult statement .. if you expected it, how .. huh? π
13:53:38 <frosch123> and it only logged usage of the switch-landscape cheat
13:53:50 <truebrain> lolz; and by now we all assumed it would log everything π
13:53:55 <truebrain> how that kind of information gets lost over time π
13:53:58 <frosch123> the latter was removed, so the gamelog feature to log cheats had been unused for a while
13:54:35 <truebrain> owh, yeah, the lovely feature of switch-landscape ...
13:54:41 <truebrain> that was "fun" π
13:54:47 <frosch123> truebrain: i have met so many old fools in my life, that i generally expect younger people to be correct, and now i am old :p
13:57:22 <talltyler> truebrain: Just now! π
13:57:51 <truebrain> guess I now have to login to Steam
13:57:59 <truebrain> we never published about blogs on Steam ... not sure how to do that
13:58:49 <_zephyris> frosch123: It's fun isn't it. I worked out ogfx2 version compatibility with >=1.3 by testing, not by understanding!
13:59:50 <talltyler> truebrain: A lot of studios seem to copy-and-paste the whole post into Steam, images and all. The other way to do it is to post an image and teaser, and then link to the post. Workers & Resources does it the second way if you want a reference: https://store.steampowered.com/news/app/784150
14:00:25 <truebrain> that steam URL shows me an empty page
14:00:26 <talltyler> I'll post on Discord in a moment
14:00:44 <truebrain> owh, it just took a REALLY long time
14:03:07 *** APTX has quit IRC (Quit: Farewell)
14:04:35 <talltyler> Nice, we went the same exact way on Steam and Discord π
14:05:04 <talltyler> Hmm, wonder if/where to post on TT-Forums... beta thread?
14:05:26 <truebrain> I myself have no opinion on the matter
14:05:34 <talltyler> New thread for `OpenTTD 14 Dev Diaries` sounds better, maybe
14:06:13 <frosch123> if you post it into the release thread, you do not need to wonder whether to sticky it π
14:07:16 <talltyler> That's a good point, especially considering I don't have sticky powers on the forums π
14:07:47 <talltyler> Who has the Reddit account?
14:08:17 *** belajalilija has joined #openttd
14:08:17 <belajalilija> out of curiosity why didnt you guys use the jgr method of unbunching?
14:08:26 <frosch123> it's written in the blog
14:09:44 <truebrain> 600 views on the release post on tt-forums
14:10:07 <truebrain> so yeah, this approach is fine talltyler , you won't reach that much more people on that platform π
14:10:26 <belajalilija> "With any delay-based unbunching method, there is a fundamental danger of the feature: deadlocks. Vehicles get out of order, they block each other waiting to be on time, and the player has no idea why. Weβve seen a few attempts at solving the problem, most with a relatively complex algorithm to avoid deadlocks, which are hard to test.With any delay-based unbunching method, there is a fundamental
14:10:26 <belajalilija> danger of the feature: deadlocks. Vehicles get out of order, they block each other waiting to be on time, and the player has no idea why. Weβve seen a few attempts at solving the problem, most with a relatively complex algorithm to avoid deadlocks, which are hard to test." i was gonna guess this would be the reason but i felt it would be too obvious
14:10:40 <_jgr_> belajalilija: It is much more complicated than the depot running unbunching implementation, and is not all that useful without timetable automation
14:10:57 <_jgr_> So it's impractical to upstream
14:11:13 *** sacro3075 has joined #openttd
14:11:13 <sacro3075> Pssh, just solve the halting problem
14:11:39 <truebrain> And go directly to Norwegian?
14:11:50 <sacro3075> truebrain: Do not pass Dutch
14:12:02 <truebrain> that is is the language π Bit weird π
14:12:14 <sacro3075> Barely a language π
14:12:39 <sacro3075> Still lurking, decades on
14:12:46 <truebrain> at least you upgraded to Discord
14:12:48 <truebrain> so I see some improvement
14:13:10 <sacro3075> Yeah, I think I was one of the last still on IRC
14:13:18 <truebrain> if only that was true π’
14:13:25 <sacro3075> Not had a bouncer in many years either
14:13:28 <peter1138[d]> omg a wild sacro
14:13:41 <sacro3075> peter1138[d]: how are you keeping? π
14:14:20 <merni> sacro3075: LordAro might want to dispute that :p
14:14:33 <sacro3075> Anyone else still get upset about the re-ordering on tt-forums after many years
14:14:52 <truebrain> they swifted to removing block signals by default; so it is all good
14:15:03 <sacro3075> I like my block signals
14:15:16 <sacro3075> Still waiting on PBS+pre signal combined
14:16:20 <truebrain> and I am still waiting on my unicorn; it just doesn't arrive π¦
14:16:31 <sacro3075> Feels like we've not had a MiniIN update in a while either
14:17:04 <truebrain> you know you are getting old if you are surprised a patchpack last updated 15 years ago is still on your mind π
14:17:26 <sacro3075> It's not 15 years, I refuse to belive it
14:18:30 <truebrain> 2010 .. I wasn't far off π
14:20:18 <michi_cc[d]> Reddit still open? I'll post the link if nobody has done it so far.
14:21:26 <peter1138[d]> Imagine doing all this for 20 years...
14:21:34 <peter1138[d]> Do we need a social media post?
14:21:39 <peter1138[d]> For something, I dunno.
14:22:03 <talltyler> michi_cc[d]: Go for it
14:22:19 <michi_cc[d]> People mostly wonder if a fart really had to be posted on scial media, not the other way araound π
14:22:49 <michi_cc[d]> IRC has seen it π
14:23:17 <andythenorth> Was it lunch yet?
14:23:30 <michi_cc[d]> People mostly wonder if a f**t really had to be posted on social media, not the other way around π I think the default of social media is post everything and anything.
14:23:34 <truebrain> michi_cc[d]: Also what I did, look on the IRC side what you said "wrong"
14:41:26 <michi_cc[d]> truebrain: BTW, if there's still a dev blog post missing, the social plugin stuff might deserve one too (and yes, I am working on the "sausage" post right now π )
14:41:45 <truebrain> Yeah, will see what I can produce soon π
14:45:01 <truebrain> Survey / https / infra is another one I am considering
14:45:16 <truebrain> The less visible features π
14:46:03 <merni> does cheats->sandbox already have a blog post?
14:47:43 <peter1138[d]> Pretty sure that is very minor.
14:49:26 <peter1138[d]> I guess if we want to do blog posts for every new thing we could.
14:49:33 <frosch123> sandbox is pretty much WIP, people want to change more
14:49:46 <frosch123> and what kind of blog do you want to write about a "rename" :p
14:50:38 <frosch123> didn't tb had a release post draft, mentioning all kind of stuff?
14:50:39 *** gelignite has quit IRC (Quit: Stay safe!)
14:51:15 <truebrain> What does come to mind, is a blog post about "new player experience", and different game styles. There a sandbox reference would fit. But yeah, otherwise it is rather minor in the grand scheme
14:51:56 <truebrain> (Not less valued; just hard to write a full blog about)
14:55:50 <frosch123> it's missing the `--more--` thingie :p
14:56:53 <merni> Hm I should add infinite money to that
14:57:12 <frosch123> and it already lists the sandbox rename
14:58:07 <truebrain> It needs many more changes π
14:58:16 <truebrain> Is mostly a memory dump π
15:10:48 <merni> Hmm.... if I say it works in multiplayer, will people get confused that it means players can unilaterally give themselves infinite money?
15:11:17 <frosch123> maybe consider adding it to the "rebranding" section
15:11:31 <frosch123> it's weird if you talk about cheats at the top, and then later it says "cheats are no more"
15:11:50 <merni> But then I would have to rename it... and preferably move it up a bit too
15:12:51 <merni> Hopefully this time I don't get an edit conflict :p
15:15:46 <merni> "Up to another twenty years..." this feels like TB is saying there could be at most another 20 years of development :p
15:15:59 <merni> Does it mean something like "here's to..."?
15:17:01 <andythenorth> Blog about sandbox would be good / nice actually
15:17:46 <andythenorth> Relates directly to the βat least 3 distinct playstyles / usersβ that frosch wrote for OpenTTD official goals
15:18:21 <merni> Sorry for more than one push :p
15:18:23 <peter1138[d]> It would work better if we actually implement it π
15:19:24 <andythenorth> βOpenTTD is deadβ π
15:19:39 <merni> we have permissive authority, infinite money... maybe the station rating fix-at-100% should be a setting too?
15:19:47 <andythenorth> βDying since the day I was bornβ
15:29:06 *** ChanServ sets mode: +v tokai
15:32:22 <talltyler> merni: Yes, it absolutely should
15:32:53 <talltyler> Feel free to PR it, I donβt have time currently
15:46:52 *** Wormnest has joined #openttd
16:13:09 <kamnet> truebrain: This is true. We've had 475 active users log in since New Year's Eve, and just 1484 all of last year.
16:26:29 <merni> talltyler: Well, I will add it to my list :p
16:26:49 <merni> But seriously... what else is missing for a real "sandbox" openttd experience?
16:28:03 <Eddi|zuHause> free choice of house placement?
16:30:04 <merni> That's a good point, could be a good scenario editor feature
16:30:39 <merni> Could probably look at jgr's implementation there
16:33:02 <michi_cc[d]> River placement in game π
16:33:27 <merni> So many things, so little time :)
16:34:53 <locosage> magic bulldozer for trains...
16:35:43 <locosage> well, any vehicles really
16:37:27 <merni> I mean you can just crash it or send it to a depot (if necessary building a depot right next to it)
16:38:11 <locosage> can't send to depot if it's already crashed ;)
16:38:21 <merni> then you can wait for a few seconds?
16:38:42 <locosage> also sometimes untangling trains is quite a pain
16:39:10 <locosage> that's a bit more that a few...
16:40:34 <locosage> other way to view it is just the ability to sell anywhere + crashed
16:40:36 <_jgr_> Deliberately crashing trains if you have a jam or something always seemd a bit ham-fisted to me
16:42:36 <merni> I've never had a jam bad enough that couldn't be solved by adding depots/extra tracks
16:42:50 <merni> Though I have unintentionally crashed plenty of jammed trains by hitting ignore signal :p
16:43:02 <locosage> tbh I'm thinking more of a GS deity mode here than sandbox
16:43:08 <locosage> but it's the same thing ideally
16:58:40 <merni> Oh, fix-station-rating is already a cheat
17:01:16 <xarick> i had something related to rivers
17:04:09 <merni> I think first I should work on removing the cheat (sandbox) menu entries to settings and other relevant places
17:04:58 <frosch123> that's where i started yesterday
17:05:13 <frosch123> money inc/dec, year inc/dec will have to stay
17:05:35 <frosch123> turning "switch company" into "allow joining AI companies in single player" may be hard
17:05:41 <merni> is the money cheat still needed?
17:05:53 <_glx_> not with infinite money
17:06:24 <merni> The year cheat could be opened say by clicking the date in the status bar
17:06:38 <merni> though that's not discoverable
17:06:45 <frosch123> problem is that some cheats are cheats, because they do not work well
17:06:45 <_glx_> year cheat might break a lot of things
17:06:51 <frosch123> the year cheat is one of those
17:07:08 <merni> _glx_: well, it does already :p
17:07:14 <frosch123> maybe year cheat should be a console command
17:10:36 <merni> same for company cheat maybe?
17:11:07 <frosch123> in multiplayer you can join companies
17:11:30 <frosch123> i am not sure whether there is a reason for single player to be different
17:11:45 <frosch123> there are also some weirdos who like to role-play multiple companies
17:12:06 <frosch123> so starting secondary companies in single-player could also be a thing
17:12:15 <merni> mostly I do that with groups but I can see people wanting that
17:13:53 <peter1138[d]> Ahh, the old subsidiaries patches...
17:14:44 <merni> are you going to change the game log to log all setting changes (or at least, those considered "cheaty" enough)? or otherwise how would cheat use be detected once cheats are folded into settings?
17:16:25 <frosch123> i think more like: log all settings, and game-affecting console commands / cheats
17:17:03 <_jgr_> That has the potential to result in excessively long game logs
17:17:57 <frosch123> yes, the display could use some filtering maybe, though crashlog would still be long
17:18:43 <frosch123> there were bug reports with gamelogs in the past, where someone changed a logged setting from 1 to 200 in single increments, or something
17:18:48 <merni> wouldn't it also somewhat increase save size?
17:18:59 <merni> frosch123: Well, yeah, there are those < > arrows
17:19:14 <frosch123> you can also click the setting and enter a value :p
17:19:20 *** MrDowntempo has joined #openttd
17:19:23 <_jgr_> merni: It's not really an issue, stuff like that compresses well
17:19:31 <merni> frosch123: That is not something everyone knows about
17:20:04 <frosch123> it's a human action, no automatic action, so if a human pressed 2k buttons, the gamelog may be 50kB ?
17:20:24 <_jgr_> Changing settings is not only a human action
17:20:32 <_jgr_> GSs are allowed to do so as well
17:20:43 <frosch123> hmm, good point, but do they do that all the time?
17:21:32 <_jgr_> There is one that does, but it doesn't currently work with vanilla
17:22:08 <_jgr_> Now that vanilla has cargo scaling settings, it or other scripts may do the same for vanilla
17:22:51 <merni> it continuously tweaks the settings rather than just once?
17:23:12 <truebrain> Inflation done right? π
17:24:06 <_jgr_> Yes, the peaks and troughs script continually changes the cargo generation rates to match typical demand levels for a 24 hour period
17:24:20 <_jgr_> Rush hours, next to nothing overnight, etc
17:24:21 <merni> so that's how it does that
17:24:33 <merni> simpler than I thought :p
17:25:05 <merni> well, that's a reason against tracking all settings in the log
17:25:48 <merni> maybe add an attribute to settings whether they are logged or not?
17:26:14 <frosch123> one could only log player changes, no gs changes
17:26:32 <frosch123> the GS is logged as running already
17:27:46 <truebrain> Or stop tracking setting changes after N changes
17:28:15 <merni> N changes of *each* setting or *any* setting?
17:28:34 <merni> seems like a more clunky situation to keep track how many times each was changed
17:28:45 <truebrain> It is stored anyway π
17:29:04 <MrDowntempo> Hello. I've been looking for a newGRF to fill a specific need but have so far failed. I'n running with Iron Horse as my trains so that I can use other newgrfs for maglev and mono. My only issue with Iron Horse is it starts later than I'd like. I know there are other sets that start a little earlier but overall, I prefer Iron Horse to most of these I've found .
17:29:11 <michi_cc[d]> Or maybe just check if the last log entry was also this setting, and skip in in this case.
17:29:21 <MrDowntempo> What I'm looking for is an AddOn NewGRF to add a few more engines to rail at an earlier start date. I've experimented with the 600mm stuff, but I don't want a whole new track set.
17:29:42 <truebrain> The typical syslog approach .. (this message repeated N time)
17:30:16 <frosch123> now alternate two settings :p
17:30:47 <truebrain> But map + vector is cheap max N π
17:30:50 <merni> MrDowntempo: 2cc trains in NML adds many early trains but also adds a lot of trains overall... may be too much clutter
17:30:50 <_zephyris> MrDowntempo: You'll probably get a better answer in Discord channel #openttd or Discord channel #add-on-development - the people here tend to spend more time developing than playing!
17:30:57 <merni> IRC isn't bridged to those :p
17:32:14 <_glx_> yeah those are discord channels
17:32:38 <MrDowntempo> Yeah, that might be overload. I found a Early Rail set that apparkently works with UKRS2 but has checks to make sure its loaded too. Wish it was just a generic add on :(
17:33:21 <MrDowntempo> Oh sorry! IRC is just easier to me to connect to right now. But I'll take my querey there later then if I come up empty!
17:33:41 <merni> Representative UK Trainset
17:38:34 <MrDowntempo> Hmm. I hadn't tried RUKTS yet, I'll give it a go! IDEALLY I'd want something less region specific, but that's a nit.
17:38:56 <merni> Iron Horse is also basically a british set but with different names
17:39:10 <merni> majority of the standard gauge trains are based on UK oines
17:44:28 <MrDowntempo> Yea, I read that too. C'est La Vie. Perfect set doesn't exist. Prolly why fate led me to the dev room so I can learn to start learning NML etc. XD
17:46:11 <MrDowntempo> I tried that, but its higher res than everything else I'm running
17:47:10 <merni> you can change that, the setting is "highest resolution sprites to use" or so
17:47:44 <MrDowntempo> ooh, I didn't know that. You mean a setting? Or is it a param in Timberwolf?
17:49:35 <MrDowntempo> Dang, that's a potential gamechanger for me! :) Thanks, TIL.
17:54:17 <andythenorth> _jgr_: I often have to do it for grf dev reasons π
17:56:30 <andythenorth> MrDowntempo: I have been asked for earlier Horse engines, but TBH slow under-powered vehicles make me bored in game π
17:56:46 <andythenorth> I know some people like to role play it
18:04:11 <MrDowntempo> That's understandable! I had never really considered the possibility of running earlier until recently though, and before you knew it I'm running eGVTS and Sailing Ships =)
18:04:47 <MrDowntempo> Going as back as the 1700s seems nuts thoug
18:07:37 <talltyler> frosch123: I suspect that most year cheat use can now be replaced with configurable calendar speed, so making it least convenient by making it a console command might be okay.
18:08:31 <talltyler> Like with money cheat -> infinite money, the cleaner solution is something entirely different than the cheat π
18:14:35 <jfs> locosage: or instead of deleting/destroying trains that are in the way, could be to teleport a train to a depot. perhaps even teleport trains between depots?
18:14:35 <jfs> like a button in the sandbox window where you are first asked to select a vehicle, and then select a depot
18:18:44 * Rubidium wonders how to continue with #11993; the language/user customisable number formats and abbreviations (not only the separator, but also where they would be placed)
18:20:44 <locosage> jfs: for a player sandbox maybe, gs mostly just needs a way to remove everything
18:23:13 <jfs> Rubidium: I think the most feasible is to hardcode the different number formatting styles used in various places into the game code, and just let a language file select between the available number formatting styles, and then set however many separator characters/strings as that style requires
18:23:46 <jfs> I think the plurals mode does something similar
18:26:22 <rau117> frosch123: This will be extremely inconvenient for NewGRF testing
18:27:17 <rau117> Although its activation can be hidden behind a console command (preferably global, not for a specific save)
18:29:13 <_glx_> console command is not worse than GUI for that
18:30:24 *** fairyflossy has joined #openttd
18:30:24 <fairyflossy> The current year-change GUI screen is very handy for NewGRF testing, since you can cycle through years by just clicking on a button, rather than needing to, for example, repeatedly update a number in a console command
18:30:38 *** brickblock19280 has joined #openttd
18:30:38 <brickblock19280> Gui is next to the money one which is nice for grf development
18:35:20 <DorpsGek> - Update: Translations from eints (by translators)
18:39:29 <MrDowntempo> Every one loooves the UK. So many UK assets. i'mma hafts bite the bullet and get a big UK map. Lie back and think of English rail.
19:11:03 <MrDowntempo> Is there anything more NARS2 based? I know that sets pretty old.
19:20:10 <peter1138[d]> Hmm, std::bitset, or SetBit/ClrBit...
19:43:22 <peter1138[d]> You can't put std::bitset in a C-union, so did it the old way.
19:52:27 <truebrain> For codefix another PR needs approving first π
19:58:32 <peter1138[d]> Assumed it had all been done :p
20:02:10 <truebrain> Nah, was giving some time for someone to come up with a better idea π
20:19:15 <peter1138[d]> What's the macOS incantation for the cheat window in 13.4...?
20:34:35 <xarick> I'm trying to understand something
20:35:03 <xarick> when I stop all trains, the road vehicle ticks ms increase drastically
20:36:12 <xarick> I am looking for the source causing the high amount of ms for road vehicles, and seems to be the trains...
20:36:25 <xarick> if i stop the trains, road veh ticks decrease
20:42:27 <peter1138[d]> I would look at collision testing.
20:42:52 <peter1138[d]> I'd expect that to be in the train tick handler, but you never know...
20:44:24 <peter1138[d]> I don't see anything like that with Wentbourne though.
20:44:56 <xarick> can I send the save to you
20:47:37 <peter1138[d]> Another fine example of a simple test case ;D
20:49:23 <xarick> better than wentbourne?
20:50:27 <peter1138[d]> However the effect is real.
20:53:49 <peter1138[d]> reset_ai takes a long time...
20:57:17 <xarick> stopping AIs take too long for me too
20:57:37 <xarick> I went with stopping trains, road vehicles instead
21:00:53 <peter1138[d]> Removing all but one AI to make it a bit more manageable. And see if it affects the symptom.
21:02:11 <peter1138[d]> That should show up in train ticks though, not road vehicle ticks.
21:02:46 <xarick> i mean... it's creating effect vehicles
21:04:24 <_jgr_> You can add a free bitmap to pools to make that mostly go away, but in general performance is not going to be great with that many vehicles
21:08:57 <xarick> disable breakdowns and turn amount of vehicle smoke / spark to none, helped
21:15:43 <xarick> what a difference it made
21:27:55 <_glx_> not surprising, effects are vehicles
21:28:34 <xarick> original smoke is a lesser offender
21:28:56 <xarick> still bad, but not that bad
21:34:41 <xarick> right immediately after setting smoke_amount to 0, train ticks dropped off a cliff
21:35:11 <peter1138[d]> Cool, massive speed up of stop_ai π
21:37:04 <xarick> FindFirstFree is the offender
21:39:35 <_glx_> makes sense, but it's already optimised
21:40:26 <_glx_> and the more vehicles you have, the more expensive it is
21:44:20 *** Wormnest has quit IRC (Ping timeout: 480 seconds)
21:49:26 <kuhnovic> I am happy to see you using the profiler again Xarick
21:53:22 <jfs> could it make sense to have a bunch of reserved slots for effect vehicles? or maybe allocate those top-down instead of bottom-up?
21:54:09 <jfs> since they are added and removed all the time and will probably benefit a lot from a faster allocator
21:54:47 <jfs> or, have a free-list for vehicle allocation
21:55:02 <peter1138[d]> top-down is not practical, that means the vehicle pool is always maximum size.
21:57:47 <jfs> I think ideally the vehicles pool would be virtualized across an actual collection of separate pools for each vehicle type
21:58:36 <jfs> but that's a quite large change
22:03:52 <truebrain> If we get a cookie for evey time someone suggests that, none of us would get hungry. You are not wrong, but funny how many years people make that suggestion already π
22:05:30 *** nielsm has quit IRC (Ping timeout: 480 seconds)
22:05:35 <truebrain> Safe bet peter has a patch for that π
22:09:04 <_glx_> but all pools should still share a global index pool
22:18:08 <jfs> _jgr_: Yeah a free bitmap is another way
22:21:28 *** Wormnest has joined #openttd
22:24:31 <peter1138[d]> That's a large bitmap right?
22:24:35 <Rubidium> _glx_: I can imagine moving the effect vehicles out of the pool and the vehicle index stuff. They don't use their index and the only vehicle list they should be in, would be the one for drawing them. After that you can just put them in a std::list, which would make addition really cheap and shouldn't be worse for iteration over a vector of pointers
22:26:01 <_jgr_> peter1138[d]: 1/64 of the size of the pointer array didn't seem a huge imposition
22:27:18 <peter1138[d]> NaΓ―ve way: std::bitset<0xFF000> π
22:30:06 <peter1138[d]> The idea is sound, the code is... old OTTD-C-Style.
22:30:23 <jfs> I didn't look at that commit in detail, but the way I might do it is split the ID space into 256 slot blocks and use one byte to count number of free slots per block
22:30:28 <peter1138[d]> (I know you don't mean to use it as is anyway)
22:31:02 <peter1138[d]> There is probably quite a lot of fragmentation of IDs.
22:31:45 <jfs> So you'd do a two tier search for a free ID, first find a block with one free, second search the block for that actual free ID
22:36:25 <truebrain> Or not reinvent the wheel and just cherry pick JGRs work π
22:36:33 <jfs> Or the vehicle pool could maybe be structured as a rope
22:36:55 <peter1138[d]> truebrain: With ReallocT... yeah no :p
22:37:12 <truebrain> Modernise it a tiny bit π
22:37:16 <peter1138[d]> I can rewrite if we think this bitmap way is worthwhile?
22:37:34 <truebrain> Begs for benchmarks π
22:38:03 <peter1138[d]> I assume it's faster, otherwise JGR wouldn't have implemented it.
22:41:04 <peter1138[d]> Okay, a few changes and I can do "stop_ai 3" in about 2 seconds, instead of a minute+.
22:54:20 *** keikoz has quit IRC (Ping timeout: 480 seconds)
23:03:01 <peter1138[d]> -size_t new_size = min(Tmax_size, Align(index + 1, Tgrowth_step));
23:03:01 <peter1138[d]> +size_t new_size = min(Tmax_size, Align(index + 1, max<uint>(64, Tgrowth_step)));
23:03:46 <peter1138[d]> Slightly poor, means `Tgrowth_step` < 64 is ignored and 64 is the minimum?
23:11:09 <peter1138[d]> No benefit in Wentbourne, but then that uses maglev so no effects.
23:12:15 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
23:14:10 *** Wormnest has quit IRC (Ping timeout: 480 seconds)
23:25:15 <peter1138[d]> Think I know what that is.
23:36:11 <peter1138[d]> I know it's a thing, I assumed there's a different key combo that works by default.
23:36:24 <peter1138[d]> If not, why have none of our macOS developers fixed it... ;p
23:36:40 <_glx_> we have non of them π
23:44:05 *** tokai|noir has joined #openttd
23:44:05 *** ChanServ sets mode: +v tokai|noir
23:50:56 *** tokai has quit IRC (Ping timeout: 480 seconds)
continue to next day β΅