IRC logs for #openttd on OFTC at 2026-03-18
β΄ go to previous day
00:20:34 <peter1138> But okay, maybe we can poke at the registry.
00:31:16 <_glx_> seems there is a "exe" key and also a "workingDir" key
00:36:17 <_glx_> steam data in registry seems less usable
00:57:22 *** SigHunter has joined #openttd
01:00:55 *** DDR_ has quit IRC (Quit: DDR is not Dance Dance Revolution)
01:17:48 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
01:17:50 *** WormnestAndroid has joined #openttd
01:41:21 <tionstav> tionstav: Fixed link.
01:41:21 <tionstav> If someone on wall street is enough of a jerk make a problem out of it, and we have to reactivate the rebrand discussion, probably won't get y'all out of atari's sights so don't try to bite off more than you can if that happens.
01:41:21 <tionstav> You'll have to communicate with Atari that it's not about them.
01:41:21 <tionstav> ~~Mabye in such an event, Atari would be the ones that owe us assistance from their lawyers.~~
01:49:40 *** Wormnest has quit IRC (Quit: Leaving)
04:45:44 *** Zathras_7 has joined #openttd
04:45:45 *** Zathras_1 has joined #openttd
04:49:05 *** Zathras_4 has quit IRC (Ping timeout: 480 seconds)
04:49:15 *** Zathras_11 has quit IRC (Ping timeout: 480 seconds)
05:10:26 <DorpsGek> - Update: Translations from eints (by translators)
06:09:44 <shusaura> _glx_: For steam, it's easier to check where steam is installed, then parse the libraryfolders.vdf file in steamapps to get all steam configured library paths, then with each library path, check if the game is there
06:14:05 <reldred> peter1138: pathing is in the two screenshots, lemme know if you need anything else. Guts are all in the steamapps\common\Transport Tycoon Deluxe\CD\ folder
06:34:14 <reldred> how do pictures come through on the bridge? just a discord url to the image?
06:50:37 <reldred> figured as much, now i just hope peter's irc client has mentions setup in a useful fashion
06:54:41 <andythenorth> has discord gone all pants-bunched about Atari too? Or is it a nothingburger there?
07:05:02 <mmtunligit> andythenorth: only a little bit but due to the nature of the platform one mild panic is usually well off the screen by the time someone else comes through so it never really gets the chance to snowball
07:05:18 <mmtunligit> first few days were real annoying but its calmed down now
07:08:14 <reldred> yeah some new white text user we've never heard from before pops up and shares their braindead take on things every few hours
07:13:24 <andythenorth> my retreat from discord was partly tactical ahead of the Steam changes :P
07:15:36 <reldred> well I hope you're looking after yourself
07:33:04 <peter1138> So it's all in CD/ ?
07:33:53 <peter1138> Managed to now show any TRG files :)
07:38:48 <reldred> yeah I couldn't be bothered taking a photo of absoluely ever file
07:39:06 <reldred> yeah, everything we're interested in is in CD/
07:58:06 <_zephyris> Ah, a nice reddit post
07:58:17 <_zephyris> Perhaps it's calming down
08:00:42 <LordAro> a nice reddit post? impossible
08:01:19 <_zephyris> Even had empathy in it
08:05:31 <_zephyris> A different timeline would've been less stressful, shame you can't try before you buy
08:05:55 <_zephyris> @andythenorth had the right idea!
08:22:01 <peter1138> Okay, slightly annoying having to use C-style string handling, but that's the nature of a C-based API.
08:22:15 <LordAro> can you still remember how?
08:25:29 <peter1138> Something like `unsigned int path_length = SteamApps()->GetAppInstallDir(TRANSPORT_TYCOON_DELUXE_APP_ID, path, path_last - path); if (path_length >= path_last - path - sizeof(internal_path)) { return nullptr; } strlcat(path, internal_path, path_last - path);`
08:26:03 <peter1138> (But not all on one line, obviously.
08:44:52 <peter1138> _glx_, I can't see your first screenshot, assumably it's something about how GoG stores paths?
08:44:58 <andythenorth> reddit is a weirdly kind place quite often
08:45:21 <andythenorth> lots of gentle folks, occasionally brimming over with boiling piss
08:45:31 <andythenorth> and the inability of gentle folks to know how to express their rage
08:45:48 <andythenorth> "I am a painter with words"
08:48:21 *** tokai|noir has joined #openttd
08:48:21 *** ChanServ sets mode: +v tokai|noir
08:50:42 <_zephyris> It's a shame because there's a genuinely interesting discussion to be had - product design, target audience, business case, etc. But it ain't gonna happen.
08:55:10 *** tokai has quit IRC (Ping timeout: 480 seconds)
09:00:29 <peter1138> Hmm, any idea where the OpenTTD config file is kept for the steam version?
09:00:51 <peter1138> It seems to not be using my normal config, at least.
09:02:27 <_zephyris> Pretty certain it uses my normal one
09:03:21 <peter1138> Hmm, it's trying to load the fluidsynth music driver, but that's not in my config, and my custom build doesn't include it.
09:03:46 <peter1138> I wonder if it's buried in some launch options.
09:05:16 <peter1138> Okay, adding `-mnull` to custom launch options bypasses for now.
09:08:01 <LordAro> iirc config options just tell OTTD which to use, not which to load
09:20:31 *** valstraex has joined #openttd
09:20:31 <valstraex> Question, how difficult would it be to add in a parameter to an existing track set to turn off custom depots that come with that track set?
09:20:31 <valstraex> For example, i really like Swedish rails but i dislike the depots that come with the set. I much prefer the NH depot. On the other hand, Japan Set3: Tracks by Dandan, Stevenh, Onodera and Sanchimaru, for my personal taste, i dont like the tracks but i do appreciate the fact that you can turn off the custom depot sprites.
09:20:31 <valstraex> Please note, I'm a complete beginner and have only been reading into this stuff for the first time these last couple days. Please correct me if im wrong but:
09:20:33 <valstraex> Is there a simple an easy way to put in the option to turn off the custom graphics? I want to keep the original custom depots in for people to still use them if they choose to.
09:20:33 <valstraex> I have spoken to Planetmaker the original creator of the Swedish rails newgrf, please see attached.
09:22:50 <reldred> valstraex: thats more a question for Discord channel #add-on-development
09:23:04 <valstraex> reldred: hahaha god i suck at this
09:23:15 <reldred> this is where the c++ goblins live
09:24:39 <valstraex> reldred: ive deleted it, ill go post it over there, tyty
09:28:32 <mmtunligit> valstraex: Dawg youβre asking an actual reasonable and clearly defined question, and you went and did some research to solve it yourself first. This already puts you in like the 95th percentile of question askers we see here
09:31:08 <peter1138> Hah, `original_dos_de` was found.
09:31:16 <reldred> yeah normally I see whitetext username and a the green newbie heart symbol and start thinking of new and creative slurs before I even read the content, you actually did homework on this π€£
09:32:02 <kuhnovic> Reldred isn't biased at all
09:32:18 <peter1138> > Original Transport Tycoon Deluxe DOS (German) edition graphics.
09:33:25 <reldred> kuhnovic: i take it you've missed the last few days on discord? π
09:33:33 <reldred> its uhhhhh it's been grim
09:34:31 <kuhnovic> I know, I had a quick look and decided I didn't want to keep reading π
09:42:39 <peter1138> So, GoG registry code inside the GoG plugin?
09:42:50 <peter1138> Windows only, sadly.
09:43:30 <peter1138> Then again, adding search path stuff into the "social" plugin also feels wrongs :D
09:43:56 <reldred> should convert the original TTD title game and do a cheeky 15.3 release, that might actually earn a lot of favorable opinions considering peoples reaction to the toyworld title game π
09:44:47 <peter1138> Well, I still think bumping the api version and adding the code to handle this is a bit much for a bugfix point release.
09:45:24 <orudge> I'll e-mail Atari about setting paths somewhere, maybe they'd be open to it so we don't have to hack around with the social plugins so much
09:45:33 <reldred> gets some cheeky desert rocks in
09:46:04 <peter1138> Which file IS the title game?
09:46:25 <reldred> lemme look, I would have thought it'd have been a .dat of some variety
09:47:29 <reldred> TITLE.DAT I would have figured, I did try once to load it as the title game in openttd and it got upset at me, dunno if the old TTD one had a slightly different format or something.
09:50:19 <reldred> yeah it looks like a save from the header at least
09:50:37 <reldred> Latacunga Transport, 14th Mar 1953
09:51:38 <reldred> seems a tad early to have maglev but I'm sure mister sawyer had all sorts of tricks up his sleeve
09:57:16 <reldred> LordAro: sandbox options menu
10:11:38 <kuhnovic> From that The End of the World video? That's been a while!
10:15:56 <peter1138> Hmm, can I load it directly...
10:18:40 <reldred> then FIRE ZE MISSILEZ!
10:19:40 <reldred> that was a fun time in internet, when we put βleβ infront of everything
10:29:10 <peter1138> imma firin ma lazer?
10:30:24 <andythenorth> depends how many bases you have
10:30:29 <andythenorth> and who they belong to
10:30:33 <peter1138> Not much going on on the original title game.
10:30:43 <peter1138> It's clearly not meant for anything more than 640x480 :)
10:31:23 <peter1138> It's dependent on interface scale, so it can be.
10:31:44 <andythenorth> did I buy TTD yet?
10:31:56 <andythenorth> oh I'd have to MFA for my Steam account or something
10:32:11 <reldred> Maybe we can get someone to quickly rough in the surrounding areas on that save, show off some of ottdβs features.
10:32:32 <peter1138> Find the game seed, recreate it.
10:32:54 <reldred> Would have been the old world gen
10:33:47 <peter1138> An approximation of, at least.
10:34:43 <peter1138> orudge, I'm not sure *where* you'd set some paths, that's all :)
10:34:59 <andythenorth> LordAro Chipping Sodbury Mop Dance
10:35:39 <peter1138> My CD is somewhere.
10:36:45 <andythenorth> I considered buying one on ebay
10:36:46 <peter1138> Why... have I kept the box for the silicone protector for my Garmin Edge?
10:36:51 <andythenorth> for the CD ROM drive I don't own
10:37:00 <andythenorth> CDs are about Β£12
10:37:07 <andythenorth> USB CD-ROM drive is what...Β£5?
10:37:22 <peter1138> Oh, I found it. Next to the Indycar Racing and the Ultimate Doom CDs.
10:38:04 <peter1138> Of course, I always put the CD in when I want to use the original graphics, just to make sure I haven't copied it...
10:38:37 <LordAro> peter1138: on the other side of mine (dual CD case!) is the Legoland CD
10:38:57 <peter1138> Mine has the Tycoon Collection manuals.
10:39:09 <LordAro> i also have Civ2 & AoEII Conquerors (expansion only) on my desk
10:39:24 <LordAro> alas the actual AoEII game CD was lost a long time ago
10:41:30 <peter1138> Also, how do we feel about adding some kind of "openttd news" system into the game?
10:42:40 <peter1138> Could be used to link to, e.g., a title game competition.
10:42:52 <andythenorth> red dot notifications
10:42:57 <LordAro> we've not had anything that does any "unattended" networking before now
10:43:15 <LordAro> yeah, but that's explicitly opt-in
10:43:17 <peter1138> I would also suggest that like the survey, it would be opt-in only.
10:43:35 <andythenorth> it's like a reverse survey :P
10:44:04 <LordAro> does somewhat risk turning into a cookie banner
10:44:46 <peter1138> Ask once on start up, allow changing in settings, plus save it.
10:45:10 <LordAro> well that's how cookie banners are supposed to work too :p
10:45:55 <peter1138> We'll ask for your "consent" for "legimate purpose" to send the data to our "advertising partners"?
10:46:11 <andythenorth> [all 996 of them]
10:46:31 <LordAro> well we have bent over for Atari, apparently
10:46:48 <andythenorth> I have refrained from posting the most amusing comments in that line
10:47:09 <andythenorth> someone here should apparently be sticking it to the man
10:47:28 <andythenorth> even if it means losing a legal battle, it's important to have the principle
10:51:14 <peter1138> You could have been making up shit and posting it all this time.
10:52:07 <orudge> peter1138: on Windows, the registry seems logical. On macOS, a preference file or something else in ~/Library is easy enough to access. On Linux, I dunno, ~/.atari/ttd-location or something. Basically a file or registry entry that we can read from easily.
10:52:47 <peter1138> I think Linux users might go mad at ~/.atari :)
10:53:31 <orudge> Eh, well, wherever the game currently stores its settings/saved games etc
10:53:38 <Borg> orudge: please.. avoid using registry on windows
10:53:54 <Borg> registry was a fucking dumb idea imo.. maybe okish for internal Windows stuff
10:54:12 <Borg> always try to put .ini in some sane path.. like Profile.. or Local Settings folder
10:54:16 <Borg> where user can edit/backup it
10:54:25 <orudge> hmm, %appdata%\Atari\Transport Tycoon Deluxe\gamedelta\ttdx\ttdx\MPS\TTDX has a copy of all the data for me
10:54:43 <Borg> I know. there is less and less power users out there.. but they wont care at all where stuff is stored anyway
10:55:53 <Borg> yeah.. $APPDATA is good choise too
10:55:53 <orudge> The same folder exists on my Mac (~/Library/Application Support/Atari/Transport Tycoon Deluxe) but the 'TTDX' folder is empty there
10:56:03 <orudge> But maybe they could stick an installpath.ini in there or something
10:57:01 <ahyangyi> peter1138: I would not, though does that imply my system version and my steam version will be using different paths?
10:57:15 <ahyangyi> until I link them together
10:58:59 <ahyangyi> go mad at the shiny brand new preference file path
11:22:05 <peter1138> If we go with extending the plugins, then you generally need to be running through the platform that the plugins are for. So "system version" would not have the path, and "steam version" would have it.
11:22:45 <peter1138> I've got that route working with Steam.
11:29:53 <_zephyris> FWIW seems like 'the right' way to do it for steam, shame GOG doesn't provide similar info
11:31:40 <FLHerne_> oh, I missed the Atari thing until now
11:32:57 <FLHerne_> I feared publishing on Steam would attract attention from them at the time; having this bundle thing on Steam/GoG only is annoying but tbf could be a lot worse
12:21:41 *** RandallStevenson[m] has joined #openttd
12:28:05 *** Tirili has quit IRC (Quit: Leaving)
12:29:37 <theresa_lol> peter1138: ~/.local/share would be the "standard" way right
12:34:10 <peter1138> _zephyris, maybe we should store the path in openttd's config once we have it, that way 1) it'll still be available running outside of steam/gog and 2) allows a player to manually configure the path -- though most likely you'd just copy the files anyway.
12:34:18 <peter1138> Also, amusing that it's the german files.
12:35:05 <_zephyris> I'd thought the same thing - personally I run the steam-installed exe directly most of the time, so no steam plugin
12:35:49 <_zephyris> DE files is a bit odd, but didn't that fix some bugs? I'm trying to remember my deep TTD lore...
12:41:18 <_zephyris> So you're thinking of a list of baseset search paths, which can include a user-set one, in cfg. And, check and update the steam search path when plugin is loaded?
12:42:26 <peter1138> Bumping the API version is quite a faff for just one API method though :/
12:42:28 *** Wormnest has joined #openttd
12:46:50 <_zephyris> Config file listed search paths, plus hard-coded default steam install paths
12:47:25 <_zephyris> My steam is a separate drive, but 90% of cases it would work fine
12:49:04 <peter1138> There's no such thing as a default steam install path.
12:50:20 <_zephyris> `C:\Program Files (x86)\Steam\steamapps\common`?
12:53:17 <_zephyris> It's trivial to change, but it is the default.
12:59:50 <peter1138> Anyway, more like, if we're bumping the plugin API, anything else to add?
13:05:53 <peter1138> Can't think of anything :p
13:07:18 <_zephyris> Yeah, nothing obvious
13:07:54 <_zephyris> Steam saves would be the top pick for people, but that's all Steam-side config really, IIRC
13:19:51 <LordAro> peter1138: achievements!
13:28:36 *** Borg has quit IRC (Quit: leaving)
13:28:51 <eed_edward> Print-debugging GameScripts was getting old, so I hooked up a real debugger for OpenTTD. Yes, all three of you can rejoice. It lets you follow execution and inspect state instead of guessing from logs! https://www.tt-forums.net/viewtopic.php?t=92743 What would annoy you the most when using something like this?
13:29:59 <orudge> Hmm, so I set up a GOG account, and was able to "buy" OpenTTD without buying TTD, curious
13:33:01 <LordAro> eed_edward: very interesting!
13:33:40 <LordAro> if it's suitably generic (i know nothing about the debugging protocol) and with suitable documentation i wouldn't be opposed to merging that in
13:34:34 <peter1138> orudge, apparently so.
13:34:38 <LordAro> (not that there wouldn't be many other barriers to clear too, of course ;) )
13:38:15 <andythenorth> I saw the squirrel debugger post :)
13:38:32 <andythenorth> I would run into immediate skill issue with a proper debugger :P
13:38:38 <andythenorth> but I thought it was a nice step
13:39:26 <peter1138> Imagine the fun Samu could have with it...
13:54:09 <talltyler> Code update: I found the bug, turns out I am a genius after all
13:54:24 <talltyler> This will likely change within the hour once I move on to the next bug
13:56:19 <peter1138> Next up, justifying decisions to any random person?
13:58:16 <andythenorth> just tell them it was fated
13:59:18 <peter1138> Oops, I opened Reddit.
14:01:41 <andythenorth> nothing happening on Reddit anyway
14:02:33 <peter1138> Nor on multiplayer.
14:16:28 <talltyler> Trying to solve a pesky bug with vehicles driving backwards. If you reverse the direction of a push-pull-capable train while only one vehicle has left the depot, sometimes the next time it leaves the depot it drives the wrong way and causes a "Disconnecting Train" crash. Has anyone seen this sort of thing before?
14:17:23 <talltyler> I assume it's something I've done wrong when reversing a train.
14:17:42 *** Zathras_1 has quit IRC (Quit: Connection reset by beer!)
14:18:15 <talltyler> (screenshot is the crash screenshot)
14:20:34 <peter1138> v->direction possibly not being updated on the part that will leave the depot first?
14:21:40 <peter1138> (This is something I will need to look at when I get around to dabbling with non-terminus depots.
14:26:05 *** hazardaj_nombroj has quit IRC (Ping timeout: 480 seconds)
14:26:54 *** hazardaj_nombroj has joined #openttd
14:35:06 <masteroktagon> I have a crash caused by Sqirrel that cant load a Gamescript part (`Your script made an error: the index 'GSInfo' does not exist`). I know this happened because I am rewriting the source code, but it I don't know why Gamescripts are influenced by it at all. GDB does not help me either. Do you have suggestion on how to find out why/where Squirrel has problems?
14:55:40 *** hazardaj_nombroj has quit IRC (Ping timeout: 480 seconds)
15:02:37 <_glx_> GSInfo not existing seems weird unless you somehow broke funtion expot
15:14:47 <peter1138> Or running it as an AI instead of GS.
15:52:23 *** goddess_ishtar has quit IRC (Quit: User went offline on Discord a while ago)
16:34:16 <peter1138> Did the world end yet?
16:34:39 <mmtunligit> doesnt look like it to me
16:34:48 <mmtunligit> sun is still shining, etc
16:38:34 <talltyler> peter1138: I've done some digging into v->direction, thanks. Don't see anything amiss at the moment.
16:38:34 <talltyler> Interestingly, this only happens if the train has a speed of 0 when it is reversed. Still trying to investigate why that's breaking it...
16:44:38 <andythenorth> lol so tempted to get my Steam MFA and point out that lawyers run about Β£280 per hour
16:45:05 <andythenorth> last legal action I was involved in, I was asked to deposit Β£40k on account before a lawyer could proceed to act
16:45:32 <andythenorth> "no andythenorth, don't"
16:47:38 <talltyler> Hmm, maybe it's not the speed but the vehicle being located on the `_fractcoords_enter` of the depot when it is reversed.
16:58:55 *** Wormnest_ has joined #openttd
16:58:55 *** Wormnest has quit IRC (Read error: Connection reset by peer)
17:02:24 <mmtunligit> now *there's* a good "server no work" bug report!
17:04:37 *** gelignite has joined #openttd
17:40:35 <michi_cc[d]> orudge: If you are talking about to Atari anyway, you might want to ask about OpenTTD steam reviews. Right now Steam thinks everybody get OTTD sponsored, and thus we donβt have any valid review score. Kinda bad for the recommendation algorithm and less potential bundle customers.
17:43:30 <_glx_> yup looks like "coordinator/stun/turn" requires a reboot
17:50:50 *** Flygon has quit IRC (Remote host closed the connection)
17:54:09 *** Zathras_4 has joined #openttd
18:01:09 <peter1138> Are you reversing a train with mixed-length parts>?
18:01:57 <peter1138> I would suggest that that is just a side-effect rather than the cause.
18:02:09 <talltyler> Oh! Maybe the camera is shifting to the position of the front vehicle, which is hidden in the depot...
18:02:27 <talltyler> Because the sprite doesn't move, just the following camera in the vehicle viewport
18:03:55 <talltyler> The failure path is through TrainController
18:36:12 <talltyler> Okay, so without my PR, a vehicle reversed on that subcoordinate immediately enters the depot. With my PR, it stays visible and drives through the back wall of the depot before crashing the game.
18:36:12 <talltyler> So I need to figure out how to make it enter the depot and match current behavior.
19:03:50 <andythenorth> call it a feature :)
19:04:48 <talltyler> Crashing the game? Odd feature π
19:05:10 <talltyler> I am tempted by the big hammer of "trains are not allowed to reverse on depot tiles" but know that's the wrong approach
19:06:24 <talltyler> Haven't been able to fix it but I've pushed a bit of other cleanup I've found. If anyone wants to take a stab at this bug before I return to it tomorrow, I'd appreciate the help. π
19:08:19 <talltyler> 1. Enable depot transparency, so you can see inside
19:08:21 <talltyler> 5. As soon as the vehicle is drawn inside the depot, but before it moves from that original position, use the button to reverse it
19:08:21 <talltyler> 6. Without this PR, it will enter the depot instantly. Without this PR, it'll drive out the back wall of the depot (and if dual-headed or wagons attached, crash the game)
19:08:33 <ahyangyi> "Use this trick to crash your opponent's openttd in multiplayer"
19:11:19 *** Borg has quit IRC (Quit: leaving)
19:11:53 <talltyler> I could also use some help understanding how to fix this CodeQL error π
19:13:27 <_jgr_> You can just ignore it, it's not actually a problem
20:08:16 <talltyler> That fixed it, thanks _jgr_! β€οΈ
20:33:30 *** WormnestAndroid has quit IRC (Remote host closed the connection)
20:33:33 *** WormnestAndroid has joined #openttd
20:38:03 <talltyler> Nobody saw me name it the wrong thing π
20:51:42 <andythenorth> Every time I nearly finish the damn thingβ¦.new API features π
20:55:37 <talltyler> I am finally fixing DVTs for you π
20:57:06 <mmtunligit> dont worry, if we all put our heads together, im sure we can find a way to break them again
21:04:12 <talltyler> Unpowered vehicles on both ends is not supported (GWR autocoaches sandwiching a loco, for example), but allowing non-engines to lead trains is a PR for another day (by someone else) π
21:10:10 <brickblock19280> talltyler: did you ever figure out what was happening to danish trains?
21:10:42 <talltyler> It's working as I expected, which is that my fake push-pull is broken π
21:11:59 <brickblock19280> regardless of the xoring?
21:12:10 <talltyler> That didn't work, I undid it
21:12:27 <brickblock19280> I kinda wonder what happens with rukts given it only relies on that variable
21:12:40 <brickblock19280> but I guess this is for the best anyway
21:12:54 <talltyler> The preview is building, you'll be able to test it yourself in a moment π
21:13:16 <talltyler> (unless it fails again)
21:13:46 <brickblock19280> I can't thest the xor but yeah
21:15:03 <talltyler> Preview is built, please try and break it π
21:15:25 <talltyler> Could use a reldred if you've got time π
21:18:08 <talltyler> brickblock19280: RUKTS works perfectly, that's odd
21:18:23 <reldred> When I crawl out of the bath tub πͺ
21:19:19 <brickblock19280> talltyler: It's what I expected to happen, I think danish trains is simply struggling with the position in consist stuff or it doesn't have a loco on each end
21:19:20 <talltyler> Ah, no, DVTs work but MU sets have wrong head/tail lamps
21:19:34 <brickblock19280> there is no way around that
21:21:58 <brickblock19280> if rukts dvts work then imo I think you should xor it
21:22:19 <brickblock19280> altough once merged maybe I could do that myself as a separete PR
21:23:34 <talltyler> Might be for the best, this is already a big PR π
21:24:19 <belajalilija> this is genuinely one of the coolest things happening in this game in years
21:26:02 <talltyler> Next step: An order flag to make a train without a trailing cab back up, at reduced speed π
21:26:12 <talltyler> (freight trains, intercity passenger trains, etc.)
21:27:01 <talltyler> The hardest part of this will be finding space in the overstuffed mess that is the order GUI π«
21:30:48 <will_marshall_> talltyler: I'll give tail lights a whirl tomorrow, might need to engage some big-brain work but I can certainly set it up on the brake van I just got done messing with. Voxel workflow instantly breaking down when confronted with needing to make a forward/backward, tail lights/no tail lights variant, suggests I need to rethink Timberwolf's build process...
21:32:45 <talltyler> will_marshall_: Thanks π
21:32:45 <talltyler> I hand-drew headlight and tail light layers for Danish Trains and left the actual voxel models unlit.
21:33:49 <belajalilija> voxel models at standard zoom suck for that type of detail
21:34:01 <will_marshall_> Probably smarter, it's very hard to see the taillights already.
21:34:30 <belajalilija> i did draw the IC3/IR4 recently
21:34:37 <talltyler> Yeah, 1x zoom voxel sprites are basically LOD issues in sprite form π
21:34:56 <will_marshall_> Instantly spark a discussion about if the OpenTTD viewpoint is a camera or an omniscient god with astigmatism.
21:35:09 <will_marshall_> (Should lights be represented with a bit of lens flare?)
21:35:44 <talltyler> There's always room for artistic license π
21:36:21 <belajalilija> will_marshall_: will be awful with the modern LED lights
21:36:28 <belajalilija> when the train is driving towards you
21:36:34 <belajalilija> like being flashbanged
21:36:41 <brickblock19280> hmm rukts doesn't work
21:36:42 <will_marshall_> So bright they stopped putting yellow on the front of the trains because you couldn't see the yellow π
21:37:40 <brickblock19280> it also uses position in consist which means the panthograph moves when it flips despite everything else staying
21:38:28 <belajalilija> i forgot we have pantos on the headlight layer
21:38:37 <belajalilija> this is gonna be so good for us
21:39:50 <brickblock19280> var 40 and 41 have to have ff and bb switched too
21:41:30 <brickblock19280> need to think about var 61
21:42:44 <peter1138> The position in the consist is not changed.
21:42:48 <peter1138> it's just going in the other direction.
21:42:51 <talltyler> Unless I've done something wrong, I'm going to let you PR that, because I have no idea what you're talking about π
21:43:49 <brickblock19280> peter1138: yes, but the var seems to have
21:45:22 <peter1138> As long as First() still points to the real first, it should be the same.
21:46:38 <brickblock19280> there is a vehicle_is_reversed in the rukts code so might just be that
21:47:36 <peter1138> If you're trying to use a train that tried to implement fake push-pull then you're on you're own, IMHO.
21:53:27 <talltyler> (saying this as someone who has implemented fake push-pull)
21:54:11 <reldred> Yeah I don't think it's unreasonable that a few sets should need to undo whatever nonsense they've done.
21:55:13 <brickblock19280> sure but I think we should support them if possible
21:55:35 <andythenorth> stop with this :)
21:55:52 <andythenorth> things have to break, it's the only way to make progress
21:57:09 <reldred> we'll be here for decades trying to fix every single edge case created by people creating fake push pull in .grf's
21:57:36 <talltyler> It's not possible to support them.
21:57:56 <andythenorth> they're not being supported
21:57:57 <brickblock19280> I am not yet convinced but i'll take a look later
21:59:25 <andythenorth> oof I'm going to bed
21:59:49 <andythenorth> can't be doing with the madness any more
22:00:10 <belajalilija> i have personal interest in mind but i dont think it is within the best interest to support the jank push-pull stuff
22:01:10 <mmtunligit> things change, and that is fine, grfs can be updated (theyll probably be much simpler this way too)
22:01:42 <reldred> Yeah, really it's just stripping a bunch of extra varact2 stuff out of a grf
22:01:48 <belajalilija> frankly there's only like 3 sets i use that have push pull i think, those being rukts, dutch and sbb
22:02:12 <belajalilija> someone else will most certainly de-fuck rukts, dutch is still getting developed and i can deal with the sbb set
22:02:44 <reldred> I just dont wanna see this stall out trying to chase fifty million edge cases
22:03:19 <brickblock19280> no one is going to update scoda DB push pull
22:03:35 <brickblock19280> that's why i proposed looking at it later
22:03:42 <belajalilija> you mean that one train?
22:04:05 <belajalilija> its hardly out of the scrope of our grf is it?
22:04:20 <talltyler> Okay, so `non-stop` takes up a ton of room in the order list and button, and I want to put `backwards` there instead.
22:04:20 <talltyler> `New orders are non-stop by default` has been enabled by default since 2020, so I'd like to flip which behaviour gets the text specifying if implicit orders will be added along the way.
22:04:23 <talltyler> * Go with stops via
22:04:25 <talltyler> "Go backwards with stops" doesn't really fit and I don't want to make the dropdown longer, but to be honest any implicit order support is vestigial as far as I'm concerned. I can add those two permutations if needed, though.
22:04:25 <talltyler> Does anyone have other wording suggestions?
22:05:21 <reldred> Honestly think implicit orders should be removed entirely
22:05:38 <reldred> But that might be controversial
22:05:42 <peter1138> "non-stop" is the regular English term for it, I don't think it should be changed.
22:06:00 <talltyler> I want to assume that all orders are non-stop unless specified otherwise.
22:06:07 <_jgr_> Implicit orders is one of those things which is needed for existing saves, and there's a subset of players which are very keen on them
22:06:27 *** SigHunter has quit IRC (Remote host closed the connection)
22:06:45 <peter1138> I don't think that change is a good idea.
22:06:47 <talltyler> We could convert implicit orders to explicit orders in a savegame conversion, but orderless networks would become impossible.
22:07:14 <talltyler> So I am not proposing to remove them. π
22:07:15 <_jgr_> Just changing the texts doesn't require any significant work
22:07:33 <reldred> the lady screaming in my street at 0500 this morning is also very keen on methamphetamine's it doesn't necessarily mean its good π
22:07:38 <peter1138> Go non-stop backwards to
22:08:04 <peter1138> Reverse non-stop to
22:08:30 <reldred> Reverse to/reverse non-stop to doesn't seem too bad
22:08:32 *** SigHunter has joined #openttd
22:08:43 <reldred> But I don't have any problems with your original pitch
22:09:33 <reldred> ooof I've got a headache π
22:09:55 <talltyler> The order list is a wall of text. I am proposing to make the wall of text better for players who use non-stop orders, and worse for those who use implicit orders. π€·
22:10:00 <_jgr_> Does backwards mean "no flip" or "actively reverse after this order" here?
22:10:35 <belajalilija> i'd assume the latter
22:10:54 <mmtunligit> imo implicit orders should be removed as i think they are a Bad Feature, but i dont think they really can be realistically
22:11:00 <reldred> talltyler: maybe as a seperate pr?
22:11:01 <talltyler> Before this order, but yeah. It is used for trains without a cab on the back, to propel at reduced speed.
22:11:04 <reldred> change the wording entirely
22:11:12 <talltyler> Yes, definitely a separate PR
22:11:37 <talltyler> But I feel like I need to tidy things up before I add even more text to the order GUI
22:11:52 <reldred> lest this get bogged down and potentially blocked over an argument over wording
22:12:06 <belajalilija> couldnt the reverse thing be done like the full load/unload thing?
22:12:07 <talltyler> Trains without a cab at the back will magic-flip unless the order is of the backwards type.
22:13:07 <mmtunligit> order GUI needs a complete rework and i have ideas but i want to slip it in with the whole line orders stuff if im able to get to that, then the old window doesnt have to be touched and can continue to be a mess and players who like it wont come marching
22:14:10 <audigex> I feel like a general rework of orders could be beneficial at some point
22:14:10 <audigex> But at this point just call it "Reverse to" and worry about a language refactor later
22:14:37 <mmtunligit> i may sketch some concepts and post them later
22:15:35 <reldred> I mean I'd personally be interested in this eventually becoming the default behavior, but I'm happy to work on that in jgrpp as an advanced player option
22:15:36 <talltyler> belajalilija: It's already so. much. text.
22:15:55 <audigex> talltyler: Not necessarily right now (although I wouldn't be upset), but could we have a `reverse_max_speed_while_leading` type of property?
22:15:55 <audigex> It would be nice to be able to give different wagons a different top speed while leading. Eg a DVT with cab could be full speed/unlimited, a brake van might be 30mph, and everything else could be walking pace/shunting
22:16:10 <will_marshall_> I think already mooted.
22:16:17 <talltyler> DVTs have cabs, they are already unlimited speed
22:16:23 <belajalilija> talltyler: ah true
22:16:44 <talltyler> I am thinking trains without cabs will be limited to 20 mph
22:16:51 <audigex> talltyler: Yeah IMO this whole "how orders work and their wording" thing just needs a rework at some point, separate to this feature
22:16:51 <audigex> So much has been added over the years that it's become rather complex
22:17:01 <talltyler> In reality that's a very, very fast shove, but 20 mph in OpenTTD is still pretty slow π
22:17:15 <peter1138> "(Transfer and take cargo with refit to Grain)" is rather niche and contrived, IMHO
22:17:24 <audigex> talltyler: Seems sensible. In reality probably more like 3-5mph but that wouldn't be vaguely workable in game
22:17:42 <reldred> maybe some grf wide properties that can be set? last grf loaded wins?
22:17:48 <talltyler> In Sal's Canalboats I think I made them go 20 mph, slower than that is unbearable π
22:17:52 <reldred> So foamer sets can mimic the specific behavior?
22:18:09 <audigex> Even 20mph is slow, I generally consider anything below 40mph to be unusable but if it's 20mph with a specific order for realism that seems fine
22:18:20 <_jgr_> We can without more inscrutable last GRF wins functionality
22:18:56 <reldred> Or just make it local to that .grf, if a set wants to cap the cabless reverse speed it can
22:19:18 <mmtunligit> basic concept for reworked order visualization:
22:19:18 <mmtunligit> 1: go to station A
22:19:19 <mmtunligit> with all the extra stuff collapsable like livery variants
22:19:20 <peter1138> Foamer sets can (probably) use a callback to limit the top speed when in reverse?
22:20:00 <audigex> reldred: If we have a `max_speed_when_leading` type of parameter then it seems simpler to just let the foamer newGRFs set it on each wagon
22:20:00 <audigex> But perhaps it could be set globally for that newGRF in the `grf {}` block in NML? Just add it automatically for any vehicle that doesn't have it
22:20:00 <audigex> That's a general idea I've had for NML for a while: a `defaults{}` block somewhere (maybe within `grf{}` but whatever IDC) where I can set default properties that are automatically assigned to any vehicle that doesn't override/define it explicitly
22:20:11 <talltyler> Yeah, there is already a `speed` callback, no?
22:20:23 <_jgr_> Splitting things of many lines seems like it will lead to needing to do a lot of scrolling?
22:20:32 <mmtunligit> so you can get a quick look at the orders as just
22:20:32 <mmtunligit> 1: go to station A
22:20:32 <mmtunligit> 2: go to station B
22:20:32 <mmtunligit> but still have all the info viewable if you need it
22:20:50 <mmtunligit> _jgr_: thats why its collapsible
22:21:19 <peter1138> Do I take an IEnumerable and turn it into a List, or require my callers to pass a List?
22:21:30 <audigex> As a foamer set developer, I'd say I don't really care *how* I can influence it, as long as I *can* influence it
22:21:30 <audigex> A separate property, a variable I can use in an existing callback etc, any is fine
22:21:30 <audigex> Although it would presumably need to work alongside "disable wagon speed limits" in this instance? Not sure if I've understood how this PR works though so maybe that's already handled
22:22:44 <talltyler> I assume the callback runs for the lead engine, which would then check if the train is backing up, and then look at the last vehicle in the chain to determine the proper speed
22:24:06 <audigex> Realism-set authors are used to working around this kinda stuff, it's really not a big deal exactly how the mechanic works as long as we have some kind of access to modify it on-the-fly
22:24:06 <audigex> Hell, as long as I can tell the train is reversing like this, I could do it with the existing speed callback and eg badges on the last vehicle in the consist. We'll find a way to make it work
22:24:06 <audigex> Simpler/more intuitive ways to do it are always appreciated, though
22:24:38 <audigex> I mean, this entire feature replaces the insanely hacky push-pull stuff we alredy do... if I can rip that out and in exchange I have to handle speed separately, that's still a win
22:24:54 <audigex> Current pushpull is a complete shitshow π
22:25:23 <reldred> well horse seems to be working fine
22:25:33 <reldred> got a steam loco with an autocoach trailer
22:25:50 <reldred> god i miss all my jgrppisms though
22:26:52 <reldred> might try building some wyes and take the driving cabs off
22:26:58 <reldred> maybe I'll do that with some freight
22:28:00 <talltyler> Freight isn't implemented yet π
22:28:20 <reldred> I was gonna use the manual reverse order
22:28:22 <talltyler> If there's no loco on the rear, the train will magic flip
22:28:30 <talltyler> I haven't written that part yet!
22:28:39 <talltyler> Starting on it tomorrow
22:29:06 <talltyler> Although it would be much easier to add a setting to disable flip entirely...
22:29:08 <reldred> but as it sits right now, this seems to be working fine
22:29:20 <reldred> talltyler: this a million times this
22:29:52 <talltyler> Make it a tri-state?
22:30:22 <reldred> Someone had a suggestion before with some good wording 'allow flip at end of line' 'reverse at end of line'
22:30:31 <reldred> or something like that
22:31:07 <reldred> actually, that allow reversing in stations without a magic flip but a real reverse might be useful
22:31:10 <talltyler> I wonder what the 4.4% of 15.x players who enable automatic reversing at signals are doing
22:31:28 <talltyler> That's just crazy to me
22:31:37 <reldred> I wonder what the lady screaming and moaning and carrying on at 5am this morning was doing as well
22:31:40 <mmtunligit> cant be coop contraptions can it?
22:31:48 <reldred> I'm gonna chalk it up to meth and go about my life however
22:31:50 <_jgr_> Probably just loaded old savegames or very old config files
22:31:54 <mmtunligit> no way thats that high of a percentage of the playerbase in any case
22:32:46 <talltyler> It's much higher than reversing at stations, only 1.5% disallow that
22:33:25 <reldred> I think people who keep screwing up their signaling like it
22:33:39 <reldred> let trains play ping pong til they eventually find a way through
22:34:49 <belajalilija> ive never seen the point in messing with the reversing at station setting
22:34:51 <peter1138> two-way signals only, like original Transport Tycoon.
22:35:39 <reldred> being able to have a train reverse at a through station once we have true reverse and not magic flip I do see as being useful though
22:36:51 <reldred> so maybe not a tri state but a separate toggle 'trains are allowed to flip when reversing' with some caveats in the description that you need a cab on the other end or a DVT otherwise you get a speed penalty
22:36:59 <talltyler> I am worried about the order mode being confusing, since there are two ways to do the same thing
22:37:39 <talltyler> (for trains which do it automatically)
22:38:28 <_jgr_> Setting it manually seems like something you'll only need in special cases
22:38:53 <_jgr_> (At least from the point of view of the majority of the player base)
22:39:45 <reldred> Yeah majority of people aren't gonna play it like how I wanna play it, which is why I'm happy to throw something together in jgrpp down the track.
22:40:07 <_jgr_> A setting is disable flipping entirely would likely need some big warnings and a glass cover over it, as nearly all players, all AIs, etc. won't be able to deal with that
22:40:08 <reldred> bit like my 'road vehicles can't magically quantum tunnel through other road vehicles when blocked' setting
22:40:35 <talltyler> I'm also thinking about pathfinder concerns with through stations, like what if there's a shorter route if the train backs up but the player intends for it to take a longer way where it goes straight?
22:40:41 <reldred> yeah hence why I was happy with it being a jgrppism
22:41:53 <reldred> the players over there are already used to having a big toolbag of potential footguns at their disposal π
22:42:21 <reldred> But yes I do wonder whether it's appropriate even as a setting for mainline openttd
22:42:34 <reldred> as much as I'd like it π
22:43:07 <peter1138> talltyler, waypoints
22:43:32 <_jgr_> talltyler: That's kind of what I was asking with the no-flip vs mandatory reverse distinction
22:43:58 <talltyler> Oh, my vision was mandatory reverse. Even if the train has to magically flip in order to drive backwards. π
22:44:23 <talltyler> When I played with the shunting patch, it was frustrating to have a train get turned around by mistake and clog up the network going slowly in reverse.
22:48:25 <reldred> well so-far this seems to be working fine talltyler, haven't really gotten into the weeds with it yet but all the silly stuff I wanted to test you haven't written yet so π
22:49:19 <brickblock19280> I can't manage to compile your branch, any idea why?
22:49:27 <reldred> At the moment for PR15379 I'd say yolo merge and on to the next oen
22:49:43 <reldred> probably vcpkg fucking up again
22:49:54 <talltyler> I'm working on the setting in a separate branch π
22:49:54 <reldred> it is a day ending in the letter Y afterall
22:54:12 <reldred> actually that's something I could test
22:54:18 <_jgr_> The `typename` keyword is technically missing
22:54:31 <_jgr_> Though probably you just need a newer MSVC for it to not care about that
22:56:35 <brickblock19280> how do I update it?
22:57:11 <_jgr_> Which version do you have now?
22:57:59 <reldred> talltyler: reversing at a station (that's not end of line) seems to work fine as well
22:58:26 <_jgr_> brickblock19280: Probably you'll just need to download a newer one off MS's website?
22:58:43 <brickblock19280> I'll try that then, thanks
22:58:44 <_jgr_> Been a while since I've had to deal with all that
22:59:40 <reldred> teehee this is fun, I like this
23:00:38 <reldred> normally I'd do some waypoint shenanigans and build some terminus platforms alongside a station, and I might still do that in big enough busy enough stations
23:26:48 <talltyler> Something for you to play with while I sleep, reldred ^^ π
23:27:27 <talltyler> I'll have a go at order flags tomorrow
23:36:14 <talltyler> Right, that's almost 10 hours of coding today, time to take a break π
23:37:29 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
23:44:01 <brickblock19280> I managed to get a train stuck unable to leave the depot
23:44:20 <brickblock19280> nvm I forgot how block signals work
23:51:19 <reldred> woo deployment done time to go wreck my shit
23:58:19 <brickblock19280> what didn't work with danish trains when xoring because it seems completly right to me
23:58:40 <reldred> hahahahah this is so fucking cool i love it
23:59:56 <reldred> lets see if it uses this little stub of track I accidentally left
continue to next day β΅