IRC logs for #openttd on OFTC at 2023-01-02
00:00:49 <petern> glx[d]: Oops. I only recently removed GS/AI from my settings too, otherwise I would've spotted that.
00:00:59 <Pruple> andythenorth: all the UKRSes I think
00:01:26 <petern> glx[d]: Disabling the GS also crashes.
00:03:01 <andythenorth>
00:03:01 <andythenorth> shall I extend this parameter, so that every wagon type can have colour set individually? πŸ˜›
00:03:08 <andythenorth> 'maybe not'
00:07:27 <glx[d]> before #9745 a script was started during loading of GSDT chunk (and skipped in intro), but now I moved to the end of AfterLoad() and there's no intro check for GS
00:08:06 <glx[d]> for AI there's a check and it will load dummy because an instance is required
00:08:20 <andythenorth> ok sleeping time
00:09:00 <petern> Fix 40bpp blitter by... defering to 32bpp if drawing rgb pixel/line/rect.
00:09:02 <glx[d]> but I know where to look and how to fix
00:09:12 *** arikover has joined #openttd
00:09:15 <petern> Hmm, mostly.
00:09:39 <petern> Actually not, not at all, lols
00:15:41 <glx[d]> I guess a faster way to test is set GS, start a game, abandon the game (will skip all the too long newgrf scan I'd have to do twice following the steps in the report)
00:18:00 <petern> Does that take a long time for you?
00:24:39 <glx[d]> ~1300 newgrf to scan
00:28:38 <arikover> glx[d]: yes it also works if you abandon the game.
00:32:25 <LordAro> glx[d]: RC2 needed?
00:32:45 <glx[d]> unfortunately
00:34:38 <petern> `AdjustBrightneSSE` -- okay, that's a pun...
00:36:04 <arikover> glx[d]: [concerning Issue #10304] I updated the "steps to reproduce" section.
00:36:53 <DorpsGek> [OpenTTD/OpenTTD] glx22 opened pull request #10305: Fix #10304, fe30f66: [Scripts] Don't start GS in intro
00:38:28 <petern> Hmm, pc locked up
00:40:23 <supermop_Home__> 80s post-modern art deco building clad in pink granite when drawn in dimetric looks like.....
00:40:26 <supermop_Home__> a dick
00:40:34 <supermop_Home__> so maybe no to that one
00:43:07 *** arikover has quit IRC (Quit: ERC 5.4 (IRC client for GNU Emacs 28.2))
00:48:29 <michi_cc[d]> LordAro: Well, if the fix is clear and simple enough, we might get away without one.
00:49:05 <DorpsGek> [OpenTTD/OpenTTD] michicc approved pull request #10305: Fix #10304, fe30f66: [Scripts] Don't start GS in intro
00:50:55 <LordAro> michi_cc[d]: not if it can cause crashes as well
00:51:13 *** sla_ro|master has quit IRC ()
00:52:23 <michi_cc[d]> We could test without an RC2 though, especially as there's not any master/branch deviation yet.
00:53:04 <petern> If you have a GS configured, RC1 is a dud.
00:53:38 <michi_cc[d]> So you say just release 13.0 early? πŸ™‚
00:53:59 *** wallabra has joined #openttd
00:54:03 <glx[d]> bug reports always come to late πŸ˜‰
00:54:31 <petern> You can reconfigure the GS, but you can't disable it without editing openttd.cfg.
00:55:28 <glx[d]> even changing GS in intro if there's a loaded one can crash
00:57:25 <glx[d]> as the running script may want to access a non existing setting in the new configuration
00:57:28 *** wallabra_ has joined #openttd
01:02:01 *** wallabra has quit IRC (Ping timeout: 480 seconds)
01:02:01 *** wallabra_ is now known as wallabra
01:08:50 *** wallabra_ has joined #openttd
01:13:20 <DorpsGek> [OpenTTD/OpenTTD] glx22 merged pull request #10305: Fix #10304, fe30f66: [Scripts] Don't start GS in intro
01:13:23 <DorpsGek> [OpenTTD/OpenTTD] glx22 closed issue #10304: [Bug]: GS Story Book on start screen
01:13:48 *** wallabra has quit IRC (Ping timeout: 480 seconds)
01:13:48 *** wallabra_ is now known as wallabra
01:49:42 <reldred> andythenorth: so you're saying I shouldn't just drop this straight into a currently running save-game 😈
01:54:13 <reldred> eh, seems fine
01:54:19 <reldred> *famous last words*
03:06:03 *** Wormnest has quit IRC (Quit: Leaving)
03:31:42 *** D-HUND has joined #openttd
03:34:56 <reldred> Yeah seems to run fine on my end
03:35:06 *** debdog has quit IRC (Ping timeout: 480 seconds)
03:51:16 *** wallabra has quit IRC (Ping timeout: 480 seconds)
04:14:33 *** TROILUS has quit IRC (Read error: Connection reset by peer)
04:14:57 *** TROILUS has joined #openttd
04:24:50 *** felix has quit IRC ()
04:25:28 *** felix has joined #openttd
04:26:12 <supermop_Home__> is there a list of all the base sprite numbers somewhere?
04:27:00 <supermop_Home__> specifically this one:
04:27:06 <Pruple> in the decompiled base graphic spritesheet, yes πŸ™‚
04:27:18 <Pruple> use the sprite aligner in game to get the number?
04:27:33 <supermop_Home__> Pruple i seem to have lost my base sprite sheet
04:28:01 <Pruple> I've never seen that building, is it actually in the base set?
04:28:12 <supermop_Home__> yep
04:28:15 <supermop_Home__> in tropic
04:28:44 <supermop_Home__> it's the last tropic building i have left to replace
04:29:06 <Pruple> well, if you can see it in game, use the sprite aligner to pick it and it will tell you the number πŸ™‚
04:29:13 <supermop_Home__> i think its somewhere above 4612
04:30:33 <supermop_Home__> 4625
04:30:50 <supermop_Home__> but now i need to hunt down all its construction stages
04:31:24 <Pruple> they're presumably the adjacent sprites
04:31:57 <Pruple> click next or previous sprite in the aligner
04:35:38 *** keikoz has joined #openttd
04:36:23 *** Flygon has joined #openttd
04:39:39 *** wallabra has joined #openttd
05:01:28 *** HerzogDeXtEr has joined #openttd
05:08:05 *** HerzogDeXtEr1 has quit IRC (Ping timeout: 480 seconds)
05:59:40 <kamnet> File under "Not a bug, it's a feature": Anybody else aware that you can build tram lines in Scenario Editor if you enable a tram NewGRF?
06:11:15 <Pruple> well they are basically roads...
08:29:35 <Pruple>
08:29:35 <Pruple> I think that might be enough playing with variants for today πŸ˜‚
08:29:40 <andythenorth> moin
08:30:24 <andythenorth> what do the coaches do now?
08:31:22 <Pruple> in addition to the "automatic" default coach which changes livery over time, each livery becomes available as a variant, so you can build old coaches to [mis]match your trains
08:31:48 <Pruple> but more importantly, single DMU heads so scuddles can build funny trains
08:31:49 <andythenorth> does it have buffet and RFK and BSK and stuff?
08:31:57 <andythenorth> and different bogie types?
08:32:38 <Pruple> it has different coach graphics, but they're automatic, not variants πŸ™‚
08:32:45 <andythenorth> same here πŸ˜›
08:32:56 <andythenorth> hmm wonder if wagons can group under powered engines
08:33:01 * andythenorth has ideas
08:34:12 <dP> btw, why are dual-head locos shifted left in the buy menu?
08:34:35 <dP> seems weird since nothing else is, even articulated
08:35:44 <andythenorth> some of us centre sprites
08:35:50 <andythenorth> it's an author choice
08:35:54 <andythenorth> all left looks weird
08:35:58 <EmperorJake> Because dual headed locos show both heads in the buy menu, but it never works as expected
08:36:02 <andythenorth>
08:36:15 <andythenorth> I can group the trailers with the engines for fancy high speed trains
08:36:22 <andythenorth> this is probably better?
08:36:31 <dP> I can understand newgrfs doing centering on their own
08:36:46 <dP> but the game itself doesn't center
08:36:57 <dP> only shift dual-heads
08:36:59 <Pruple> sometimes what looks right isn't logical
08:37:19 <dP> in original ttd shifting dual-heads resulted in centering everything but not anymore
08:37:28 <Pruple> especially when you're lining up things of different sizes
08:39:30 <dP> it doesn't even look right afact
08:39:43 <dP> even if you don't have any dual-heads it still leaves the space for it
08:40:10 <andythenorth>
08:40:10 <andythenorth>
08:40:10 <andythenorth> dunno which is better
08:40:22 <andythenorth> I'm against using variants too much to 'tidy up the buy menu'
08:40:32 <andythenorth> but it's nice to group related things
08:40:43 <Pruple> if the wagon goes specifically with the loco, sure, it makes sense to group them
08:40:48 <andythenorth> but it relies on the player guessing where the coaches are
08:40:58 <dP> with variants centering looks weird
08:41:17 <dP> because variant + is aligned to the left already
08:41:51 <andythenorth> centering is fine, there's never a correct answer about alignment vs centering vs leading edge
08:43:11 <dP> centering interferes with variant nesting visually
08:43:33 <Pruple>
08:43:37 <Pruple> this cascades quite nicely
08:43:53 <andythenorth>
08:43:53 <andythenorth> but this is ufly
08:43:54 <Pruple> (until the single vehicle version ends up at the top, then it looks rubbish :))
08:44:05 <andythenorth> ignore the broken dual head
08:44:17 <dP> Pruple: to me looks like 3 nested variant groups at a first glance
08:45:03 <Pruple> 🀷 what can you do?
08:45:16 <dP> not center? :p
08:45:16 <andythenorth> dP: that's just a template bug
08:45:18 <Pruple> line everything up at the front so small vehicles end up with a huge gap between icon and text
08:45:27 <andythenorth> right align πŸ˜›
08:45:33 <andythenorth> goes it redo the entire buy menu?
08:45:46 <andythenorth> gallery view?
08:46:21 <Pruple> crop every vehicle to 8/8 so articulated and dual head vehicles lose visual information?
08:46:29 <andythenorth> Pruple: this idea of yours about nesting HST trailers is a good one
08:46:33 <andythenorth> thanks
08:46:41 <Pruple> no worries, glad I thought of it
08:47:04 <andythenorth> good of you to mention it
08:47:16 <andythenorth> it was actually the railcar that gave me the idea
08:47:24 <andythenorth> I can group railcar trailers with the parent
08:48:03 <andythenorth> dunno if I should though
08:48:53 <Pruple> almost certainly
08:49:55 <andythenorth> there are cases where the trailer is for more than one engine
08:49:59 <andythenorth> such groups
08:50:27 <reldred> andythenorth: Yes. Looks good.
08:50:59 <reldred> Wonder how that'll break with JGRPP purchase menu πŸ€”
08:51:49 <reldred> Also your 'broken' test build behaved itself quite nicely.
08:54:08 <dP> andythenorth: seems a bit counter-intuitive for the new player to click + for the wagon
08:54:23 <dP> though I guess specialized trailers are never intuitive
08:54:54 <andythenorth> maybe we need Categories πŸ˜›
08:55:17 <andythenorth> dP: yeah that's my concern
08:55:27 <andythenorth> hidden things are bad if they're needed, not just easter eggs
08:55:53 <andythenorth> but OpenTTD is very strict about buy menu order: engines, then wagons
08:55:55 <reldred> I think it's cleaner and makes more sense than the alternatives
08:55:58 <andythenorth> so can't group related items
08:56:05 <andythenorth> except via variant
08:56:51 <andythenorth> I believe that it's impossible to interleave engines and wagons in the buy menu using the order from the grf
08:57:34 <dP> vanilla buy menu is awful
08:57:44 <reldred> I think it's fine using variants menu for it.
08:57:52 <reldred> Looks neat and tidy, makes sense
08:58:23 <andythenorth>
08:58:29 <dP> this problem woudn't even exist if you chose engines first and is presented only with wagons that fit it later
08:58:41 <andythenorth> dP: have you seen JGRPP buy menu?
08:58:44 <andythenorth> complete split
08:59:06 <dP> seen on screenshots, it a bit better but far from perfect either
08:59:07 <andythenorth> ooh wonder what that does with mixed variants
08:59:27 <reldred>
08:59:31 * andythenorth builds JGR
08:59:32 <imlegos> dP: I sorta feel like this wouldn't work out as well as it sounds
08:59:36 <reldred> andythenorth: Yeah that's what I was wondering,.
08:59:57 <andythenorth>
09:00:01 <andythenorth> cheat your date to about 2000 and test it
09:00:09 <reldred> willco
09:00:27 <dP> imlegos: it wouldn't quite work if you just want to buy individual wagons to add for some train later
09:00:37 <andythenorth> looks like JGRPP no longer builds on mac
09:01:22 <imlegos> Doesn't the version you just download as a zip already have the varients patch?
09:01:34 <andythenorth> dunno, never tried it
09:01:36 <andythenorth> πŸ™‚
09:01:41 <reldred> Okay, got it loaded, and dear lord I forgot how pretty some of these trains are
09:02:08 <reldred>
09:02:08 <reldred> Collapsed:
09:02:23 <reldred>
09:02:23 <reldred> Expanded:
09:02:32 <imlegos> white
09:02:32 <reldred> It's not... awful?
09:02:41 <reldred> Like it makes it clear it's related to each?
09:02:49 <reldred> And expanding the train expanded the wagons automatically
09:03:34 <reldred> imlegos: yeah it's a test .grf, sprites probably aren't done yet
09:03:52 <reldred> and god that Helm Wind is beautiful in green and white andythenorth
09:04:09 <andythenorth> do you like the pure white block version of the trailer?
09:04:15 <reldred> πŸ˜„
09:04:20 <DorpsGek> [OpenTTD/OpenMSX] sidesw1pe commented on issue #29: OpenTTD doesn't detect music when put in the baseset directory
09:04:28 <reldred> andythenorth: pure as the driven snow
09:04:35 <andythenorth> ok so that forces the engine into the wagons list
09:04:36 <dP> andythenorth: add black ones and do bad apple :p
09:04:36 <andythenorth> interesting
09:04:55 <andythenorth> dP: can't be done, path signals are too slow
09:05:11 <andythenorth> and the devs removed block to dumb down the game
09:05:15 <dP> just don't stop them :p
09:06:32 <andythenorth> bad apple, but using signal sprites
09:06:41 <andythenorth> redraw them to solid white / black squares
09:07:37 <dP> I was thinking of just doing display wagons, with like 4 pixels or smth via layers
09:07:40 <dP> maybe one day...
09:08:09 <andythenorth> hmm can we animate the buy menu?
09:08:10 <dP> actually, 16 pixels per wagon seems pretty easy
09:08:18 <andythenorth> I have an idea for buy menu for 'randomised wagons'
09:08:28 <andythenorth> when selected, it cycles the possible variants, like a fruit machine
09:08:30 <reldred> Oh?
09:08:35 <reldred> πŸ˜„
09:08:47 <dP> even if you can animate I'm not sure you can detect selected
09:08:56 <andythenorth>
09:09:33 <andythenorth> dP: absolutely not, there are no random bits in the buy menu afaik πŸ˜›
09:09:41 <dP> andythenorth: train whack but in openttd? :p
09:10:05 <andythenorth> I could just make a vehicle could "train whack"
09:10:21 <andythenorth> all the randomised trains do is branch the action 2 to another vehicle's action 2
09:11:03 <reldred> oh yeah andy btw I tried that setting to set the CC of the wagons to other than company CC and I dig it, works good
09:11:14 <andythenorth> is it worth it?
09:11:27 <andythenorth> I could just force them to always be grey and brown
09:11:46 <reldred> lmao how could you tell those were the colours I picked
09:11:56 <reldred> *wishes the grey CC was darker*
09:12:14 <andythenorth> sometimes it is in Horse πŸ˜›
09:12:24 <dP> reldred: replace cc recolour sprite ;)
09:12:54 <andythenorth>
09:14:32 <reldred>
09:14:32 <reldred> I dig it
09:16:29 <reldred>
09:16:41 <reldred> I dig it with the randomization
09:21:21 <andythenorth> maybe I split the diesel and electric railcar trailers
09:21:39 <andythenorth> the current version doesn't match the electric railcar sprites 100% anyway
09:22:25 *** wallabra has quit IRC (Quit: ZNC 1.8.2 -
09:25:41 <andythenorth> this is ... something πŸ™‚
09:25:45 <andythenorth>
09:25:53 <andythenorth> engine has expired, but coaches are still available
09:26:13 <andythenorth> engine and wagon intro dates can't be synced, so expiry isn't synced
09:27:32 <reldred> rip
09:27:46 <reldred> well, at least that group can be minimized and
09:28:09 <reldred> instead of having the menu cluttered with the specialized wagons for an expired train
09:57:02 <petern> New flag, kill orphans when parent expires
10:00:31 <Gwyd> andythenorth: Would make sense to have carriages hang around a little longer than the engine if you want to lengthen trains
10:01:21 <petern> dP: Because it draws front and rear
10:02:00 <petern> The centre is the middle of the two parts
10:02:53 <dP> yeah, but why align centre to non-centre?
10:02:56 <petern> andythenorth: Centring is correct, it's how the baseset is
10:04:03 <petern> dP: What do you mean? The centre of the two parts is in the centre.
10:04:30 <dP> yeah, but that center is not the center of the column in the menu
10:04:48 <petern> Barring the new collapse button, yes it is
10:06:03 <dP>
10:06:03 <dP> petern:
10:06:57 <petern> All your alignment is screwed. Why are you making it so hard?
10:07:42 <andythenorth>
10:07:42 <andythenorth> such suffixes eh
10:07:47 <andythenorth> GG
10:08:00 <dP> what my alignment? even if you ignore scandinavian set it's still not centered :p
10:08:55 <dP> it's not even supposed to be afaict, there is no centering code
10:09:03 <dP> it just shifts dual-heads 4/8 to the left
10:12:32 <petern>
10:12:32 <petern> It's centred.
10:12:44 <dP> well, duh
10:12:53 <dP> it's only centered for 8/8 vehicles :p
10:13:14 <dP> because, surprise-surprise, 4/8 is half of 8/8 ;)
10:16:45 <petern> "Well, duh" I'm sorry I didn't guess you meant only shorter engines aren't centred.
10:17:09 <dP> engines in general aren't centered
10:17:39 <petern> If you had said "8/8 engines multihead engines are centred, but less than 8/8 multihead engines are not centred" then that would have been clearer.
10:17:40 <dP> only dual-heads are shifted 4/8 because, I suppose, that worked as centering in 1995
10:18:26 <petern> It's not shifted 4/8
10:18:29 <dP> 8/8 are also not centered if you have wide purchase sprite anywhere in the purchase list
10:18:37 <petern> It's shifted literally 14 scaled pixels one way and 15 scaled pixels the other way.
10:19:13 <petern> (29 being the magic number of 1 engine length)
10:19:22 <dP> yeah, and default vehicle wide is what, 28 pixels? ;)
10:20:31 <petern> 29 pixels when you add a pixel spacing.
10:20:58 <dP> well, whatever, point is it's shifted exactly half of the default veh length
10:21:05 <dP> so 4/8
10:23:03 <dP> which, ofc, only centers 8/8 dual-heads relative to 8/8 vehicles
10:23:59 <dP> and all shorter vehicles or articulated ones are aligned to the left
10:24:34 <andythenorth> because relative?
10:24:36 <petern> Yes, that can be fixed if was reported clearly as a bug.
10:24:38 <andythenorth> such things
10:25:28 <petern> Basically usual thing, if you say something doesn't happen, and someone else says it does, it helps to clarify the conditions of something not happening. Or just say "Well, duh".
10:25:50 <dP> it's not as simple, newgrfs that provide custom purchase sprites expect the existing offsets
10:26:26 <dP> so if you center everything their sprites will be all over the place
10:26:27 <petern> They can update, it's only a purchase list.
10:27:12 <andythenorth>
10:27:24 <andythenorth> "dual head is weird anyway"
10:27:43 <andythenorth> we should break more grf stuff
10:27:50 <andythenorth> not too much, but some
10:28:01 <andythenorth> the pointless drama gives me sweaty palms, but eh
10:28:15 <andythenorth> "but this grf from 12 years ago is broken wah wah wah"
10:28:21 <andythenorth> ok so only use open source grfs
10:28:26 <andythenorth> not stupid closed source ones
10:28:28 <petern> I suppose shorter engines are not centred properly either.
10:28:45 <petern> Single-head, I mean.
10:29:14 <dP> petern: I literally started with a screenshot illustrating it :p
10:29:35 <dP> petern: there seem to be a lot of abandoned vehicle sets...
10:29:47 <andythenorth> well there are plenty of new ones
10:29:51 <andythenorth> content goes off to die
10:29:54 <dP> though most popular seem to get modernized lately
10:30:08 <andythenorth> "dog is for life not just christmas" does not apply to pixel trains
10:30:51 <andythenorth> I hate reading "but the devs are stupid" but on the other nobody makes me read that crap πŸ™‚
10:31:03 <petern> Let me guess, engine length is a callback property which requires a vehicle to work?
10:31:21 <andythenorth> length is a feature of cb36
10:31:28 <andythenorth> it's also an action 0 prop
10:31:38 <petern> Ah there's also a property.
10:31:45 <andythenorth> changing length via cb 36 is ... unwise IMHO anyway
10:31:52 <petern> Unwise but probably done.
10:31:55 <andythenorth> yes
10:32:01 <dP> often :p
10:32:01 <andythenorth> HEQS does it
10:32:13 <andythenorth> 'variable length consists'
10:32:15 <dP> any push-pull does it
10:32:22 <andythenorth> see also: how about not? πŸ˜›
10:32:28 <andythenorth> variants πŸ˜›
10:32:52 <andythenorth> wonder who has done more BAD FEATURES, me or Pruple
10:32:56 <andythenorth> there should be a scoreboard
10:33:05 <andythenorth> we must be top 2 though
10:33:26 <petern> Shorter engines were around in the time of TTDPatch, so I will blame us on implementing that on them (needed for compatibility)
10:34:27 <petern> I love how "DrawTrainEngine" is in train_cmd.cpp, when it's clearly a _gui function.
10:35:05 <dP> was it V who tried to make engines eat wagons? xD
10:35:44 <petern> preferred_x = Clamp(preferred_x,
10:35:44 <petern> left - UnScaleGUI(rect.left),
10:35:44 <petern> right - UnScaleGUI(rect.right));
10:35:57 <petern> This is why sometimes it goes weird with longer sprites in the list.
10:36:38 <andythenorth> dP: almost certainly
10:36:58 <andythenorth> snake game train should be possible
10:37:02 <andythenorth> longer it drives, the longer it gets
10:37:27 <andythenorth> that will mess with your SNRW
10:37:36 <andythenorth> SRNW *
10:37:56 <dP> andythenorth: every blown up rv increases length xD
10:38:49 <petern> Every NewGRF author prefers to work around issues instead of reporting them πŸ™‚
10:39:01 <petern>
10:39:04 <petern> They're all centred...
10:39:27 <andythenorth> "somebody" kept closing all the issues
10:40:18 <petern> For shorter vehicles I guess it's assumed that it's correct to just use the centre of the engine.
10:40:46 <petern> But that means you're also assuming that separate purchase list sprites are necessary, but they are not.
10:41:05 <andythenorth> hmm I stopped reporting issues in the dark year of 2016 when everybody had gone on "sabbatical" apart from frosch, and I was worried frosch would quit πŸ˜›
10:41:10 <andythenorth> it is not like that now
10:41:12 <petern> And I've no idea how Flindermouse should be handled as it's not multihead despite being long.
10:41:24 <petern> Frosch pretty much did.
10:41:58 <andythenorth> yeah it wasn't the best of times for the game πŸ™‚
10:42:12 <andythenorth> webtranslator had the highest commit count
10:42:15 <andythenorth> maybe I just report everything now, instead of working around it πŸ˜„
10:43:57 <petern> Maybe leave purchase list origin to engine centre, and just handle multihead
10:44:28 <petern> In a way, not handling multihead at all would be easier but...
10:44:40 <andythenorth> multihead is weird πŸ™‚
10:44:50 <petern> Can't have the baseset engines broken πŸ™‚
10:45:18 <dP> it's not broken, it's just aligned to the left ;)
10:45:38 <petern> It would become broken if I removed that alignment.
10:46:19 <dP> no, it's not aligned rn, if you remove special treatment for dual-head everything will be aligned on the left
10:46:31 <dP> except newgrfs that "center" it ofc
10:46:53 *** birdjj has quit IRC (Remote host closed the connection)
10:47:01 <petern> In terms of the baseset, everything is correctly aligned.
10:47:09 *** birdjj has joined #openttd
10:47:23 <dP> left align kinda makes sense with variants because they use indentation to show nested vehicless
10:47:36 <petern> If dual-head stuff is removed, then the baseset will only draw one engine, in the same spot.
10:47:40 *** sla_ro|master has joined #openttd
10:47:45 <dP> well, baseset yes
10:47:50 <petern> (in the same spot as a single head)
10:48:03 <petern> You know what.
10:48:09 <petern> It's actually too early.
10:48:52 <andythenorth> was it naptime?
10:50:15 <petern> My washing machine which was making a horrible noise the other day so I booked an service person to come around to have a look, is now not making a horrible noise.
10:50:24 <andythenorth> hmm
10:50:30 <andythenorth> I have engines, and wagons
10:50:35 <andythenorth> then I have trailer wagons for engines
10:50:52 <andythenorth> the compile kind of expects 'engine' or 'wagon' and is a bit unsure about 'trailer wagons'
10:51:54 <andythenorth> oh well, probably fine πŸ˜›
10:52:02 <petern> Hmm, shall I keep these audio files as .flac or as .mp3?
10:52:19 <andythenorth> are you using gold-plated power cables or not?
10:52:36 <petern> They are not digital copies, so the bit-accurate archival advantage of .flac is not particularly necessary.
10:53:58 <dP> hm, I just got an idea... how about moving the variant + to the vehicle name instead of the very left?
10:54:24 <dP> would make a neat tree with names and sprites can be centered (if we ignore newgrf compatibility)
10:54:40 <andythenorth> hmmm apparently the audiophile USB cable scam is *not* a scam
10:54:47 <andythenorth> and can be empirically measured
10:54:52 <andythenorth> disappointing
10:55:01 <andythenorth> apparently the physics of transmitting the 1s and 0s is real
10:55:36 <andythenorth> not sure how that translates to 'sounds better'
10:55:43 <petern> The physics of transmitting 1s and 0s is real, but it has no bearing the audio produced by the DAC πŸ™‚
10:55:51 <andythenorth> yes
10:56:01 <andythenorth> it has the air of a plausible argument that remains flawed πŸ˜›
10:56:05 <dP> pretty much everything can be measured with enough sensitivity
10:56:11 <dP> so I'm not surprised it has some impart
10:56:29 <andythenorth> what does music run at these days? still 44 khz or something?
10:56:36 * andythenorth hasn't done it for 15 years
10:56:42 <petern> The timing of the 1s and 0s doesn't matter (beyond the signal being unprocessable), because they're buffered.
10:56:43 <dwfreed> I mean, a bad cable can cause the 1s and 0s to get lost
10:56:51 <reldred> why did I spend an hour getting default ttd monorails and maglevs back into the game? THAT'S RIGHT, ANDY WON'T DO FUTURE HORSE
10:56:55 <reldred> 😠
10:57:04 <Eddi|zuHause> andythenorth: since human hearing range hasn't increased, there's no real reason to go beyond 44khz
10:57:57 <petern> 96kHz can be better for production of music, but is not necessary for listening.
10:58:00 <dP> even with digital transmission it's not impossible for cable to induce some currents in the speaker coil
10:58:20 <andythenorth>
10:58:25 <andythenorth> it's science folks
10:58:51 <dwfreed> or it's confirmation bias
10:58:58 <andythenorth> it's far more plausible that the cable produces "upper midrange resolution that the Forest cables seemed to bring to the party"
10:59:03 <andythenorth> than that the air in the room changed
10:59:13 <andythenorth> or your digesting a doughnut and the brain-gut interface kicked in
10:59:16 <andythenorth> or you imagined it
10:59:56 <reldred> I need to make my fork of the nuke train grf at some point too
11:00:03 <petern> I 'love' that you can accidentally press ^R in discord and.. yes, it reloads the page because it's just a hidden browser.
11:00:13 <andythenorth> is it a North Korean nuke train reldred ?
11:00:22 <reldred> andythenorth: nahhhhh
11:00:32 <petern> andythenorth: I can go to social media to have arguments with people who are wrong, I don't need it here πŸ˜„
11:00:33 <reldred> the futuristic one that runs on 2/3m wide tracks
11:00:48 <reldred> you know
11:00:57 <reldred> for all those games I play past 1960
11:01:08 * petern logs in to misskey
11:01:51 <andythenorth> can I rebuild my compile before I need to go out?
11:01:52 <andythenorth> hmm
11:01:53 <andythenorth> no
11:02:22 <petern> All of these days off and I've not done a single bike ride.
11:02:38 <petern> Maybe I should stop staying up past 2am.
11:02:39 <reldred> I did (a short) one today
11:02:40 <andythenorth> what if the parent variant always used the parent name, but we could add variant strings
11:02:43 <andythenorth>
11:02:49 <andythenorth> I'll fake it
11:03:02 <reldred> overworked myself, legs turned to jelly, nearly had an asthma attack, and nearly puked my guts up.
11:03:16 <reldred> 10/10 would suffer agan
11:03:20 <petern> That's one way to start.
11:03:25 <reldred> yeah
11:03:40 <reldred> breaking a 10yr sabatical with a *fixie* is a bad plan
11:03:53 <andythenorth>
11:03:57 <reldred> but I am not intelligent, we've already been through this multiple times.
11:04:04 <petern> I was out on Christmas eve, after 4 weeks off and managed to keep up with the group, but I had to sleep in the afternoon.
11:04:20 <petern> Fixie or single speed?
11:04:23 <petern> Cos...
11:04:27 <reldred> Single, sorry, not a fixie.
11:04:28 <petern> There's mad, and there's madder πŸ˜„
11:04:35 <petern> Ahh. Still mad.
11:04:38 <reldred> Yeah I'm not quite *that* stupid.
11:05:15 <reldred> the pumps can put the power down even on hills, the everything else though, uhhhhhhhh
11:05:23 <andythenorth> ok new prop: variant name substring
11:05:31 <petern> Why am I looking at bikes?
11:05:54 <Eddi|zuHause> viral marketing
11:06:29 <reldred> oh good, wasteland 0.5.0 is indeed in NML
11:06:37 <petern> Extra text callback?
11:06:38 <reldred> I can chop this up and take just what I want
11:07:26 <andythenorth>
11:07:26 <andythenorth> then we could
11:07:39 <andythenorth> callback, and put the context in that extra callback var?
11:07:42 <petern> Carbon fork mountain bike. Oh no, no no no.
11:08:07 <reldred> I want to black out that bike I bought
11:08:50 <petern> This "ex-demo and display" sale doesn't list the normal prices. Hmmmmmmm.
11:08:55 <dP> andythenorth: now that variants are merged it's time to look for usecases? ;p
11:09:15 <reldred> Variant horse is amazing,
11:09:16 <andythenorth> yes
11:09:24 <petern> I suspect they are not actually sale prices.
11:09:28 <reldred> Seriously, variants has solved so many of my gripes with that grf
11:09:28 <dP> andythenorth: also, can't you do this already?
11:10:00 <andythenorth> is name a cb?
11:10:03 <andythenorth> I didn't actually check
11:10:33 <dP> I mean just set the name, no?
11:10:40 <dP> don't even know if there is name cb
11:11:07 <reldred> seriously, I love the grouping of the special trailers, I love the folding the random wagons into the variants list for each wagon
11:11:15 <reldred> it just cleans the list up so much
11:11:43 <reldred> it's a monster of a train set and it just makes it 1000% more usable
11:12:03 <andythenorth> dP: the goal is to vary the name depending on context πŸ˜‰
11:12:12 <dP> what context though?
11:12:24 <dP> isn't it all static in the buy menu?
11:12:52 <andythenorth> exactly
11:13:04 <andythenorth> so context is 'buy menu', 'information window'
11:13:05 <andythenorth> etc
11:13:19 <andythenorth> 'sub-variant', 'parent variant'
11:13:34 <dP> oh, right, you mean if you change name in buy menu it changes it everywhere
11:13:48 <petern> reldred: This was my idea 3 years ago that got poohpoohed.
11:14:04 <petern> I can't remember all that happened and it doesn't matter any more πŸ˜„
11:14:16 <reldred> petern: I'm glad that OpenTTD dev is where it is now and not where it was then.
11:14:33 <andythenorth> it's not like it matters when we do things πŸ™‚
11:14:37 <reldred> I was getting *very* frustrated watching it from the outside
11:14:50 <andythenorth> there has been no shortage of entertainment in recent OpenTTD years
11:15:07 <reldred> it's one of the reasons I just went straight to tinkering with JGRPP and not upstream.
11:15:55 <reldred> I still think to a certain extent OpenTTD is still slightly too risk averse, but I'm super stoked things are getting momentum again.
11:16:00 <dP> dP: yeah, just the name cb can fix that since it can differentiate between graphics and purchase chains
11:16:06 <dP> not sure it should though xD
11:16:13 <andythenorth> is it not cb36?
11:16:13 <dP> and there doesn't seem to be name cb atm
11:16:33 <andythenorth> reldred: it's easy to yolo things that are bad, history shows that πŸ™‚
11:16:41 <petern> reldred: I joke about release early, release often, but it's not really a joke....
11:16:47 <andythenorth> and also there are the idiots who claim everything we do is terirble
11:18:11 <petern> It is.
11:18:26 <andythenorth> πŸ˜„
11:19:23 <andythenorth> yeah cb 36 isn't documented as changing name
11:19:27 <andythenorth> didn't look in src but eh
11:19:30 <andythenorth> "wiki says"
11:19:56 <dP> name isn't even a property
11:20:09 <dP> it's action4 with hardcoded id
11:22:07 <petern>
11:22:07 <petern> I guess this should be tidied πŸ˜„
11:22:29 <petern> Maybe we should have a custom name generator for colours.
11:23:35 <petern>
11:23:54 <dP> web service, whoever uses the colour first can name it xD
11:24:26 <petern> Yeah, why am I trying to pack so many bits in?
11:24:54 <petern> Also company_gui.cpp is now too long, I guess I should split this.
11:29:06 <petern> Hmm, okay, 4 bits per colour (like using 3 digit CSS colours) is not so good.
12:08:47 <andythenorth> I name your colour β€œSimon”
12:20:51 <petern> #118844 = Hello darkness my old friend.
12:24:42 <Eddi|zuHause> my brain just went "#11880 = Da werden sie geholfen"
12:28:12 <petern> "Let's add 1800 colour name strings"...
12:31:25 *** gxfj has joined #openttd
12:32:54 *** gxfj has quit IRC ()
12:36:04 *** gelignite has joined #openttd
12:51:09 <petern> Nobody said that's a bad idea. Worrying πŸ™‚
12:51:26 <Eddi|zuHause> i've heard worse ideas, really.
12:58:37 <LordAro> petern: that's a bad idea
12:58:48 <LordAro> but not *that* terriblr
12:58:50 <LordAro> e*
13:03:58 <petern> Of course there's an API... <,f00,f00&list=bestOf>
13:05:21 <petern> #0000ee: "Hyperlink Blue"
13:25:29 <andythenorth> petern: are they translatable?
13:25:37 <petern> Quite.
13:26:02 <petern> Let the user name their colour instead πŸ˜„
13:27:51 <MnHebi> "Lignite Brown", "Pyrite Ochre"
13:28:16 <MnHebi> Get everyone looking up them minerals
13:30:04 <dP> hm, am I getting it right that c++14 allows to capture unique_ptr into lambda but not for anything actually useful?
13:31:42 <andythenorth> we could have a dictionary based colour name generator
13:32:10 <andythenorth> with weighted vectors for the colour
13:32:18 <andythenorth> and some arbitrary qualifier
13:32:29 <andythenorth> "Dynamite Azure"
13:32:42 <andythenorth> "Calming Yellow"
13:33:54 <petern> Make it pick yellow for a colour that is obviously blue.
13:33:58 <petern> <>
13:34:36 <petern> Nice big list with (roughly) HSL values.
13:34:44 <andythenorth> we could also have settings for different kinds of colour perception
13:34:54 <andythenorth> people who swear green is blue and vice versa
13:35:44 <MnHebi> Ah yes, RAL. Where black is red.
13:36:13 <michi_cc[d]> dP: Well, you can pass lambdas around if templates/auto is allowed, but otherwise std::move_only_function is C++23...
13:36:47 <petern> Get an AI to name the colour.
13:36:53 <MnHebi> And lightish brown is "pearl white"
13:37:08 <andythenorth> RAL is so good
13:37:09 <petern> Oh, someone did it.
13:37:23 <petern>
13:37:25 <andythenorth> ok what was I doing?
13:37:30 <andythenorth> I was out to lunch πŸ˜›
13:38:02 <MnHebi> you were painting your trains stargoon dorkwood
13:38:10 <petern> MnHebi: I don't see that in the list tbh.
13:38:42 <MnHebi> Hmm, coulda been a car manufacturer thing then
13:39:41 <MnHebi> At one point everyone and their dad was calling that very light cream color <x> white
13:39:52 <LordAro>
13:39:58 <LordAro> dP: ^
13:40:21 <MnHebi> Oh god, not that site. Aaagh
13:40:33 <LordAro> though capturing a unique_ptr doesn't make much sense
13:40:46 <LordAro> unless you're moving it elsewhere
13:40:48 <andythenorth> hmm something about railcar trailers
13:41:17 <MnHebi> Freight railcar trailers?
13:41:22 <TallTyler> petern: This is probably the best option, as I'm sure that ~~Andy~~ some people will be using it for obsessive real-world liveries - "NSE Blue" and such
13:42:46 <andythenorth>
13:43:14 <dP> LordAro: I've seen that link. What I didn't expect though is that I need to read all answers xD
13:43:31 <dP> well, shared_ptr it is then
13:43:35 <petern> andythenorth: we actually use ctrl-click for multiple selection in the livery scheme window.
13:43:56 <petern> Wouldn't want to estimate the cost of selecting things...
13:44:14 <andythenorth> wait we do what?
13:44:18 <andythenorth> every day, school day
13:44:25 <andythenorth>
13:44:26 <petern> You learned about that a month ago πŸ™‚
13:44:30 <andythenorth> suddenly that UI makes more sense
13:44:42 <MnHebi> It does?
13:44:48 <andythenorth> this is transformative
13:44:50 <petern> It doesn't seem to actually work though.
13:45:02 <andythenorth> so autoreplace to random choice then
13:45:08 <petern> Ah, it works from the normal drop down, but not my RGB UI πŸ™‚
13:45:32 <petern> Ah no, it does.
13:45:47 <petern> Also you can't select multiple groups.
13:46:56 <petern> Damn, loads of bugs in RGB CC now.
13:46:56 <dP> LordAro: I want to move it into lambda but apparently it makes lambda non-copyable so pretty useless
13:47:21 <petern> You want a lambda to own a unique_ptr? Hmm.
13:47:25 <LordAro> ^
13:47:35 <dP> petern: yeah, why not?
13:48:01 <LordAro> i'm not sure how that makes sense, conceptually
13:48:11 <LordAro> especially id you want to copy the lambda around
13:48:31 *** virtualrandomnumber has joined #openttd
13:48:32 <dP> I don't really want to copy lambda
13:48:39 <dP> I'd be fine with somehow moving it too
13:48:44 <dP> but it seems I can't
13:48:55 *** virtualrandomnumber has quit IRC ()
13:49:04 <LordAro> well, that too
13:49:16 <LordAro> how can a lambda "own" a pointerm
13:49:18 <LordAro> ?
13:49:22 <petern> <> < relevant?
13:49:23 * LordAro can type
13:50:58 <petern> What is the lifespan of a lambda?
13:51:53 <dP> petern: is that some AI shit? why is it moving to aws lambdas mid-arcticle? xD
13:52:07 <petern> Probably πŸ™‚
13:52:45 <petern> whistles
13:52:58 <petern> Should've noticed there's no author.
13:53:38 <petern> Anyway.
13:53:40 <dP> welcome to the freaking future
13:53:50 <dP> can't even assume that author hat any clue about the topic now :/
13:54:00 <petern> I think I need to shrink this UI
13:54:46 *** sla_ro|master has quit IRC ()
13:58:08 <petern> Ideally build it into the livery window instead of being a separate window.
13:58:28 <dP> at least I found some some c++17 syntax I can uncomment now xD
14:00:15 <petern>
14:00:15 <petern> That might be a bit TOO narrow...
14:04:19 <Rubidium> yea, the screenshot is definitely too narrow to see the window :D
14:05:34 <andythenorth> ha solved my compile railcar trailers problem
14:05:46 <andythenorth> sometimes the magic is good
14:08:58 <petern>
14:08:58 <petern> Pretend it's one window. Separate selectors for 1st and 2nd CC might be too much.
14:10:00 <petern>
14:10:00 <petern> Changing each individually could work but slighty more clicks.
14:11:16 <andythenorth> what if we....
14:11:16 <andythenorth> nah
14:11:26 <petern> We want?
14:11:38 <andythenorth> goes it throw out colour scheme UI?
14:12:11 <andythenorth> must be a better way somehow
14:12:34 <petern> Including group colours which was "quite liked"?
14:13:49 <andythenorth> it's the weird disconnect of selection and dropdown that could be better
14:13:56 <andythenorth> I've never seen a UI quite like it
14:14:07 <petern> Andy...
14:14:16 <petern> "Pretend it's one window. Separate selectors for 1st and 2nd CC might be too much."
14:14:22 <andythenorth> oh did I not read?
14:14:26 <andythenorth> sorry πŸ˜›
14:14:33 <petern> In case I didn't make it clear, pretend the dropdowns don't exist too.
14:15:39 <andythenorth>
14:15:39 <andythenorth> webdev tools style? πŸ˜›
14:15:55 <andythenorth> hmm css for vehicles?
14:16:07 <andythenorth> selectors, algebra
14:17:12 <andythenorth>
14:17:12 <andythenorth> this is definitely tidier
14:17:16 <andythenorth> even if it's harder to discover
14:17:33 <andythenorth> the world doesn't end if player doesn't find the trailers
14:18:06 <TallTyler> Thoughts about pairing trailers and the railcar they go to? So
14:18:06 <TallTyler> Railcar 1
14:18:06 <TallTyler> Trailer 1
14:18:06 <TallTyler> Railcar 2
14:18:06 <TallTyler> Trailer 2
14:18:29 <petern> Would be nice if (Diesel) or (Trailer) could be rendered in small text (Just so Zorg can complain about unreadable text)
14:19:23 <petern> Hmm, maybe just click inside the hue/sat/lig/con widget, instead of having a separate scrollbar.
14:19:27 <andythenorth> I would like the option to make those a separate suffix
14:19:36 <andythenorth> so players can turn them off, or whatever
14:19:40 <andythenorth> but eh
14:19:43 <petern> Propose a spec.
14:19:47 <andythenorth> probably a terrible idea
14:20:20 <petern> (Power train name) (variant name) (something else name)
14:20:27 <andythenorth> yes
14:20:35 <andythenorth> how about using string codes? πŸ˜›
14:20:39 <andythenorth> imagine
14:20:49 <petern> string codes to split it up?
14:20:51 <andythenorth> yes
14:21:10 <andythenorth> we used to do a lot of old internet stuff on query params with separators
14:21:16 <andythenorth> before we knew about post and so on
14:21:33 <dP> <>
14:21:34 <andythenorth> or even ampersands
14:21:37 <petern> query params are nice for copy & paste sharing.
14:21:46 <dP>
14:21:46 <dP> this looks decent
14:21:47 <TallTyler>
14:21:47 <TallTyler> I wonder how long ago it was considered good practice to use `#define` to create constants 😬
14:21:56 <andythenorth> ha the workarounds we used to find because we hadn't read the oreilly book πŸ˜›
14:21:57 <dP> though I thought I've seen better colour pickers somewhere
14:22:41 <petern> Those all seem to be HSB instead of HSL.
14:23:15 <petern> I guess with it laid out as a square it's not so bad.
14:23:19 <andythenorth> we didn't know how to handle query params properly so we used to have|12321$player_id|4711$track_id|89
14:23:20 <andythenorth> etc
14:23:23 <andythenorth> then string split
14:23:24 <andythenorth> so clueless
14:23:27 <andythenorth> it was great
14:24:00 <andythenorth> then we converted to XML calls because...we hadn't learnt about ampersands πŸ˜›
14:24:01 <petern> andythenorth: There was a trick using # so that you could update the URL without the browser reloading the page.
14:24:06 <dP> petern: afaict you can do the same with hsl
14:24:21 <petern> And then browsers implemented a way to update the URL without reloading anyway, so it was no longer necessary.
14:24:24 <andythenorth> I miss early internet, and flash
14:26:28 <petern> Hmm, if the "OpenGL blitter" doesn't use SSE... can we improve its performance with it?
14:28:52 <petern> And is there an ARM equivalent...
14:30:45 <michi_cc[d]> That's called Neon, SVE and SVE2.
14:31:44 <petern> SSE is very much a magical box of hiddenness that I don't understand 😦
14:32:04 <michi_cc[d]> And I don't think there is that much to improve with SSE on the OGL blitter. Most is memcopy, and compilers with appropriate optimizations will apply SSE on their own there.
14:32:47 <petern> Yeah, the main improvement would be to actually use the hardware to do it, and that's a big can of worms.
14:33:29 <michi_cc[d]> For OGL, you want an appropriate shader with some magic πŸ™‚
14:33:59 <petern> Hmm, that's... an idea.
14:34:44 <dP>
14:34:44 <dP> hm, or it can be HS wheel and two-point slider for lightness and contrast
14:34:47 <petern> I bodged it for 40bpp to just draw the RGB component instead.
14:35:08 <petern> WHich works but.
14:35:51 <michi_cc[d]> For an OpenGL-sprite-as-texture-triangle blitter, the big thing is triangle setup and draw call submission.
14:37:10 <michi_cc[d]> GPUs are extremly good if you can hand them a million triangles with a few textures in one go, but extremly bad if you had them one triangle a million times.
14:37:32 <petern> Yes 😦
14:38:29 <michi_cc[d]> There's instancing, but that has some annoying limitations if you don't want to depend on vendor-specific specialty extensions.
14:39:08 <andythenorth> hmm
14:39:22 <andythenorth>
14:39:22 <andythenorth> restaurant cars aren't just 'passenger coaches', yes/no?
14:39:32 <andythenorth> they have weird silly gameplay effects and are quite different
14:39:34 <TonyPixel> They're
14:39:48 <TonyPixel> What effects do they have?
14:40:02 <andythenorth> they eliminate running costs for all other pax coaches in the train
14:40:11 <petern> My ancient OpenGL patch just did it all in immediate mode.
14:40:32 <petern> It was fast when zoomed in, but got very slow very quickly when zoomed out.
14:40:50 <petern> Also it allocated a texture per sprite, which is definitely not right πŸ™‚
14:41:02 <petern> I'm surprised it was ever usable.
14:41:18 <TonyPixel> andythenorth: Why would you do it?
14:41:29 <dP> another random idea: have a vehicle preview in the cc picker
14:43:03 <andythenorth> TonyPixel: for the lolz
14:44:56 <dP> for more lolz only reduce cost when loaded with food
14:45:02 <andythenorth> or beer
14:49:59 <petern> Hmm, clearing liveries is not right.
14:50:11 <petern> Also I'm probably creating palette remaps all over the place instead of reusing them.
14:50:12 <TonyPixel> ?
14:52:25 <petern> !
14:52:46 <dP> ...
14:54:51 <petern>
14:54:51 <petern> Ignore the layout and labels for now :p
14:55:10 <petern> That's how it looks with HSL instead of HSV.
14:56:19 *** gelignite has quit IRC (Quit: Stay safe!)
14:58:36 <dP> for rect hsv seems better
14:59:09 <dP> you get clean color in a corner and two edges for darker/lighter
14:59:22 <andythenorth> how about just two buttons? 'BR Blue' and 'Random" πŸ™‚
14:59:28 <dP> here 3/4 edges are pointless
14:59:52 <andythenorth> or...RGB colours, but you have to load them as presets from a grf
15:00:24 <dP> input values with train counters
15:01:51 <andythenorth>
15:01:51 <andythenorth> this is so cool
15:02:33 <petern> Is that...
15:02:48 <petern> Is that good or bad? :p
15:02:51 <andythenorth> good
15:02:54 <andythenorth> it's correct
15:02:58 <petern> Per-window collapsed state would be a pain.
15:03:04 <andythenorth> it's just quite magical
15:03:25 *** Heresy has joined #openttd
15:03:25 <Heresy> andythenorth: you could always make a param for it and have the option to display or hide them like that, does mean including some more code per vehicle do to a if param == 0 then return name without the suffix etc, but if its idea, personally don't mind the suffixes, but others might enjoy being able to remove them
15:03:57 <andythenorth> yes
15:04:10 <andythenorth> generally adding UI preferences in grf is a bad idea, even though it's easy πŸ™‚
15:04:25 <andythenorth> but it's not consistent across grfs
15:06:19 <petern> `Mumble<span class="drive">(Diesel)</span><span class="variant">BR Blue</span>`
15:06:25 <petern> Run away
15:06:47 <petern> dP: Now I have to go back and find my non-HSL version :/
15:07:12 <andythenorth> petern: data-attrs though
15:07:29 <andythenorth> <span data-suffix="steam">Steam</span>
15:08:06 <andythenorth> "finally a valid use for the HTML templater I use for grf"
15:14:56 <petern> (also my colour picker is upside down)
15:15:48 <andythenorth> oops, I guess I missed a case for buy menu sprite generator πŸ˜›
15:15:50 <andythenorth>
15:15:59 <andythenorth> works fine when built
15:17:04 <petern> Pfft, you don't even need buy-menu specific sprites now πŸ˜‰
15:17:28 <petern> (Unless you do)
15:17:57 <andythenorth> oh wait what?
15:18:10 * andythenorth tests
15:19:42 *** nielsm has joined #openttd
15:19:56 <andythenorth> too much magic to nerf πŸ˜›
15:20:11 <andythenorth> oh these are articulated, not dual head
15:20:18 <andythenorth> I think I need the specific sprite πŸ˜„
15:21:02 <andythenorth> unless we're running the cb in purchase list now? πŸ˜›
15:22:13 <petern> No πŸ˜„
15:22:29 <petern> Simulating dual-head with articualion?
15:29:01 <andythenorth> 'not exactly'
15:29:58 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
15:30:21 *** WormnestAndroid has joined #openttd
15:41:29 *** Ellwill has joined #openttd
15:41:29 <Ellwill> Wonder if RUKTS is going to transition from cargo refit to the variant system for liveries?
15:42:39 <Ellwill> I reckon it would be better for DVT & DBSOs as under the current system they have to have the same livery as the locomotive due to limitations
15:43:24 <andythenorth> I believe it isn't
15:43:32 <andythenorth> refit is quite loved
15:43:44 <Ellwill> Especially useful when you want to make something like the Arriva Wales Premier loco hauled set
15:44:27 <Ellwill> Due to said limitations you can't use a Class 67 loco for it as it doesn't have an Arriva livery and therefore you can't set the DVT to have it
15:45:31 <petern> andythenorth: Yeah, no need to clutter the purchase list when you can clutter the hidden refit list instead.
15:45:59 <andythenorth> emoji
15:46:18 <petern> Hmm, okay, hue slider should ignore current SV selection.
15:51:09 <andythenorth> Am I doing python well? πŸ˜›
15:51:09 <andythenorth> ` @property
15:51:09 <andythenorth> def num_load_state_spriterows(self:
15:51:09 <andythenorth> # doors closed, doors open
15:51:09 <andythenorth> return 2`
15:52:08 <dP> no, you missed the ) :p
15:52:57 <andythenorth> lol that wasn't the intended joke, but thanks πŸ™‚
15:55:03 <dP> I know ;)
15:56:53 *** sla_ro|master has joined #openttd
15:58:37 <Eddi|zuHause> andythenorth: no, the closed/open should be a docstring, not a comment
16:15:04 *** TROILUS1 has joined #openttd
16:20:53 *** TROILUS has quit IRC (Ping timeout: 480 seconds)
16:20:54 *** TROILUS1 is now known as TROILUS
16:42:18 <Gwyd> Ellwill: We've decided definitely no
16:43:34 <LordAro> heh
16:43:56 <TallTyler> Sounds like an easy change πŸ˜›
16:44:03 <LordAro> super easy
16:44:13 <LordAro> what happened to nielsm's deep ocean patch?
16:44:43 <TallTyler>
16:45:52 <TallTyler> Needs deep water graphics, I think
16:46:05 <petern> I'm not sure on the implementation of that one.
16:46:22 <TallTyler> Oh, maybe graphics exist but not added to TTD baseset
16:47:13 <petern> Water depth is 4 bits, so 16 levels. Maybe okay.
16:49:45 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
16:50:04 *** WormnestAndroid has joined #openttd
17:11:14 <petern> How much time can I waste on pointless things :/
17:11:23 <nielsm> petern: the idea is just that there is a meaningful distinction between shallow, medium and deep, being able to have a full ocean trench is out of scope in my head
17:11:36 <nielsm> the depth values are "probably not linear"
17:15:34 <petern> I seem to remember my thinking was that the height level should the bottom, and then the surface level should be defined, but I'm not sure if that works any simpler or harder.
17:16:51 <nielsm> that might work too, the main thing I think matters is that water above sea level should also be able to have a depth
17:17:18 <nielsm> (deep crater lakes and major rivers, etc)
17:17:32 <petern> Yes
17:18:48 <petern> Hmm, either way terraforming needs specialness to make the cost ramp up, so...
17:20:46 *** Wolf01 has joined #openttd
17:22:21 <supermop_Home__> too noisey? too pink?
17:22:22 <supermop_Home__>
17:25:34 <pickpacket> supermop_Home__: I love it!
17:27:53 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
17:28:26 <supermop_Home__> wait do i have to replacenew to replace the default station sprites?
17:28:42 <supermop_Home__> seems like regular replace should work
17:38:55 <Wolf01> <supermop_Home__> <- 😍
17:43:34 <supermop_Home__> replaced these sprites starting with 848, but nothing shows up in game:
17:43:52 <supermop_Home__> rathe the default station still shows up
17:47:33 <Pruple> those aren't the real sprite numbers... looks to be a decompiled spritesheet from a newgrf that replaces *some* sprites via action a, with the sprite numbers from that grf.
17:48:36 <Pruple> default rail station starts at 1069
17:51:10 <petern> Yup, if you use the sprite aligner that will tell you the numbers.
17:51:24 <Pruple>
17:51:24 <Pruple> here πŸ˜›
18:02:42 *** Samu has joined #openttd
18:03:34 * andythenorth busy on reddit
18:03:35 <andythenorth> helping
18:04:05 <Samu> what are the odds of 2 keyboards failing one after another in a matter of 3 days?
18:04:08 <petern> Does it help anyone?
18:05:58 <Rubidium> I guess the odds are pretty high when it's something beyond the keyboard that made them fail
18:07:13 <Samu> i tried checking key event loggers to find if there's something strange going on, but they're all online tools
18:07:38 *** WormnestAndroid has joined #openttd
18:07:43 <Samu>
18:11:02 <Rubidium> those sound like tools for making software in web browsers
18:11:58 <Samu> is this normal? I didn't press any key
18:12:22 <nielsm> if it's a _partial_ failure where some keys work properly and some are failed in some way or other, it's more likely that it's a physical cause like liquid or damage to the PCB
18:13:47 <Samu> im typing in it right now, seems fine, but then when i go gaming, it misbehaves, like holding shift key it doesn't register sometimes as being hold
18:15:01 <nielsm> any chance you might be pressing the keys harder or lighter when typing than when playing games?
18:15:59 <Samu> I definitely press the keys harder when gaming, it's path of exile
18:16:20 <Samu> holding keys for a duration before releasing is part of user interface
18:16:44 *** Flygon has quit IRC (Remote host closed the connection)
18:16:56 <nielsm> that could possibly be damage to the PCB, like micro fractures in the traces that disconnect when you exert heavy pressure on it
18:17:22 <petern> Hmm, using SetPixel() requires some magic :/
18:17:24 <Samu> so, i broke both keyboards
18:17:36 <nielsm> it could be yes
18:17:53 <nielsm> usually a fault with the controller or cable is an all-or-nothing situation
18:18:25 <Samu> the other has similar issue, the key however was the mute/unmute key being intermitently pressed without me actually pressing it
18:18:57 <Samu> im trying to figure out this is a windows problem
18:19:18 <Samu> or if i really broke 2 keyboards in 3 days
18:20:23 <Samu> i checked sticky keys and that stuff from windows, i've got it set properly to not bother me while im gaming
18:21:35 <Samu> but it still didn't solve the issue while gaming, ie. doesnt hold shift long enough, i also tried right shift and behaves wrong in the exactly same manner, which i find it very odd for it being the keyboard at fault
18:25:17 <Samu> could it be humidity?
18:26:48 <supermop_Home__> Wolf01 the tops of the parapets are not pink enough?
18:27:32 <TrueBrain> funny, CodeQLs warning about converting to a larger type after multiplication has a true positive for link graphs
18:27:46 <glx[d]> ah ?
18:27:54 <TrueBrain> we store the result in an uint64, but the multiplication could overflow, as it does uint32 * uint32
18:28:05 <TrueBrain> so it seems to be fine, but it actually doesn't have to πŸ™‚
18:28:10 <TrueBrain> I hate these nuances in C++ πŸ˜›
18:28:39 <TrueBrain> <- in case you are curious
18:29:44 *** wallabra has joined #openttd
18:30:20 <glx[d]> looks like most of the larger type alerts
18:30:37 <glx[d]> should be fine with the values we expect
18:30:56 <TrueBrain> for most hits I agree, but travel_time could be very large πŸ˜‰
18:32:12 <glx[d]> who use a truck to traverse 2KΒ² map ?
18:32:27 <TrueBrain> are bugs relevant how they are produced now? πŸ™‚
18:35:14 <glx[d]> anyway even for slow vehicle and huge map I don't think travel time will reach UINT32_MAX
18:35:29 <TrueBrain> it doesn't have to reach that value; just a division of the capacity πŸ˜„
18:38:08 <nielsm> at least x86 does have an integer multiply instruction that has two dwords as input and one qword as output though, but I guess C++ doesn't really have a way to explicitly invoke that (I don't know how strict it is about type conversions and truncation)
18:39:05 <JGR> That is what the compiler will use when cast one or both inputs to the wider type before multiplying
18:43:13 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain opened pull request #10306: Codechange: address CodeQL issue "Multiplication result converted to larger type"
18:43:24 <TrueBrain> ^^ mainly as I am curious how hard solving those last ones are πŸ˜›
18:43:43 <TrueBrain> I tried running CodeQL locally .. it was ... not easy 😦
18:43:52 <TrueBrain> it is not made for a changing codebase, from what I can tell
18:46:26 <DorpsGek> [OpenTTD/OpenTTD] DorpsGek pushed 1 commits to master
18:46:27 <DorpsGek> - Update: Translations from eints (by translators)
18:47:05 <glx[d]> width and height should probably also be uint
18:47:18 <TrueBrain> most of them are
18:47:34 <TrueBrain> but not all πŸ˜›
18:47:42 <TrueBrain> some code is a bit old, it seems πŸ˜„
18:49:14 <glx[d]> good old param naming for ClickMoneyCheat()
18:51:20 <DorpsGek> [OpenTTD/OpenTTD] nielsmh commented on pull request #10306: Codechange: address CodeQL issue "Multiplication result converted to larger type"
18:52:56 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain commented on pull request #10306: Codechange: address CodeQL issue "Multiplication result converted to larger type"
18:53:50 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 commented on pull request #10306: Codechange: address CodeQL issue "Multiplication result converted to larger type"
18:53:50 <TrueBrain> ugh, now I am curious enough if anything breaks πŸ˜›
18:53:57 <TrueBrain> tries changing signed to unsigned and compiles ..
18:55:01 <LordAro> plenty of uses of -1 for what would otherwise be "unsigned" types
18:55:25 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain commented on pull request #10306: Codechange: address CodeQL issue "Multiplication result converted to larger type"
18:57:04 <TrueBrain> nothing an `assert(x > 1)` can't solve? πŸ˜„
18:57:12 <TrueBrain> well, `> 0`, but what-ever
18:57:41 <LordAro> 0 is perfectly valid :p
18:57:55 <LordAro> but -1 is a useful "invalid" value
18:58:15 <TrueBrain> `UINT32_MAX` isn't? πŸ˜„
18:59:06 <LordAro> might be a valid value :p
18:59:24 <TrueBrain> lol
18:59:25 <nielsm> std::optional<uint32>
18:59:56 <TrueBrain> `std::variant<Unset, Invalid, uint32>`? πŸ˜„
19:00:19 <LordAro> the other alternative is to check <= INT32_MAX everywhere :p
19:00:43 <LordAro> std::optional is probably the most "correct" one
19:01:00 <TrueBrain> also fixes enums with `_INVALID` πŸ˜›
19:01:14 <TrueBrain> but how to send that over the network?
19:01:15 <TrueBrain> as -1? πŸ˜„
19:01:30 <TrueBrain> or prefix a true/false before those fields? πŸ™‚
19:02:55 <pickpacket> what. the. F...
19:03:20 <pickpacket> I shipped 100 passengers almost the entire map and made Β£1000
19:03:40 <pickpacket> the damn ship spent Β£1500 just getting there!
19:04:07 <pickpacket> a passenger ferry with only 100 passenger capacity is absolutely useless
19:04:18 <pickpacket> I needs to be *at least* 300
19:04:24 <pickpacket> preferably more
19:05:53 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
19:06:54 <JGR> std::variant and such are not free in terms of space or runtime costs
19:07:03 *** WormnestAndroid has joined #openttd
19:08:06 <JGR> Sprinkling them or std::optional too liberally might not be ideal
19:09:23 <LordAro> yup
19:11:11 <glx[d]> ferries are not for long travel
19:15:51 <DorpsGek> [OpenTTD/OpenTTD] github-code-scanning[bot] commented on pull request #10306: Codechange: address CodeQL issue "Multiplication result converted to larger type"
19:16:44 <petern> Treating width/height as unsigned is fine but it's so very easy to end up with signed/unsigned warnings, or unsigned underflows (see dropdown lists not working properly for a while)
19:18:14 <Rubidium> ohh... nice... a new bot :)
19:18:17 <TrueBrain> std::optional with an uint32_t is funny; GCC puts it in a single uint64 πŸ™‚
19:18:53 <TrueBrain> Rubidium: yeah, and a good example how newly introduced issues look πŸ™‚
19:19:34 <TrueBrain> okay, `std::optional<uint32_t>` is as efficient as you might hope from a compiler πŸ™‚
19:21:46 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain updated pull request #10306: Codechange: address CodeQL issue "Multiplication result converted to larger type"
19:25:04 <DorpsGek> [OpenTTD/OpenTTD] WesleyChannon commented on issue #9641: [Bug]: Hardware acceleration makes the game sutter and slower
19:29:02 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 commented on pull request #10306: Codechange: address CodeQL issue "Multiplication result converted to larger type"
19:30:48 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain updated pull request #10306: Codechange: address CodeQL issue "Multiplication result converted to larger type"
19:31:07 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain commented on pull request #10306: Codechange: address CodeQL issue "Multiplication result converted to larger type"
19:42:45 <TallTyler> I saw some discussion here about reminding translators about the upcoming release, but no actual announcement. So I started one. πŸ™‚
19:42:57 <TallTyler>
19:43:55 <andythenorth> does anything need to change on Bananas for 13.0?
19:44:02 * andythenorth doesn't know how the version number thing works
19:44:09 <TonyPixel> I've just noticed one of older EMU's id was overriden, so it was never actually ingame
19:44:16 <TonyPixel> Good thing noone complained xd
19:44:19 <andythenorth> I will need to limit an Iron Horse release to > 13
19:44:43 <glx[d]> Should already work
19:44:57 <andythenorth> gr8
19:45:09 <TallTyler> gr13
19:45:41 <TrueBrain> TallTyler: the "discussion" was me mentioning someone should do what you did πŸ˜‰ So good job! πŸ˜›
19:49:06 <supermop_Home__> guess who just typed "nmlc <filename>.com" instead of .nml into the command prompt
19:50:11 <andythenorth> wasn't me πŸ˜›
19:50:21 <andythenorth> I just paste my sudo password into irc sometimes
19:50:30 <andythenorth> * I do not, that was fortunately made up
19:50:35 <TrueBrain> `gr8` is a very bad password, please change it
19:50:48 <supermop_Home__> andythenorth too pink or just publish already?
19:51:11 <andythenorth> my password is truebrain
19:51:18 <TrueBrain> smart
19:51:25 <TrueBrain> nobody would guess that of you
19:51:28 <TrueBrain> so feels safe
19:51:30 * TrueBrain runs
19:51:32 <andythenorth> supermop not too pink, nice window shading
19:51:34 <andythenorth> publish
19:51:39 <andythenorth> or improve the roof πŸ™‚
19:51:45 <supermop_Home__> still looks like a wiener
19:52:00 <andythenorth> nah
19:52:10 <andythenorth> but the roof, I usually smooth the apex off with a highlight line
19:52:19 <supermop_Home__> the roof is meant to be open slats over the hvac gear but doesn't really read
19:52:27 <andythenorth> yeah, just invent roof
19:52:31 <andythenorth> realism over-rated
19:52:48 <andythenorth> quite a lot of FIRS roof is escher-esque, in that it's not physically possible
19:53:00 <supermop_Home__>,-157.8607944,89m/data=!3m1!1e3?hl=en
19:53:38 <supermop_Home__> also top floor should be open loggia, but didn't feel like re-doing the windows
19:54:38 <TonyPixel> supermop_Home__: lgtm
19:54:51 <TonyPixel> look gorgeous
19:56:13 <supermop_Home__> need firs Polynesia basic
19:57:03 <supermop_Home__> some logging, sugarcane, fruit and coffee, no minerals, import passengers and building supplies
19:59:27 <andythenorth> do a truegrf
19:59:43 <andythenorth> ok what was I doing?
19:59:46 <andythenorth> I forgot, again
19:59:59 <andythenorth> where are all the people in forums screaming they hate variants?
20:00:01 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
20:00:02 <andythenorth> early days I guess
20:00:08 *** WormnestAndroid has joined #openttd
20:01:58 <JGR> They're not going to even be aware of it until GRFs are uploaded to bananas which use it
20:02:05 <andythenorth> hmm I hate filing grf spec requests as '[Bug]' πŸ™‚
20:02:09 <andythenorth> shall I just get over myself?
20:02:39 <TrueBrain> feature requests have no business being an "issue" πŸ˜›
20:03:07 *** Wormnest has joined #openttd
20:03:21 <Pruple> it's the only way they get done though πŸ˜‰
20:03:52 <supermop_Home__> whats going on on the forum?
20:06:52 <petern> What's a forum?
20:07:05 <DorpsGek> [OpenTTD/OpenTTD] NyanGoat commented on issue #10298: [Bug]: Jukebox not playing all instruments
20:11:24 <DorpsGek> [OpenTTD/OpenTTD] andythenorth opened issue #10307: [Bug]: engine variants parent/children can't display different name strings depending on context
20:11:36 <andythenorth> petern: it's a thing I read about model trains
20:11:40 <andythenorth> mostly people complaining
20:12:17 <andythenorth> let me try and explain the concept
20:13:07 <andythenorth> - take the worst bits of the clueless grumpy internet, but subtract 99% of the toxic shit
20:13:07 <andythenorth> - then take the helpful bits of the internet that like sharing information about niche geeky subjects, but subtract any sense of lolz
20:13:23 <andythenorth> then you have a forum
20:14:18 *** TROILUS has quit IRC (Read error: Connection reset by peer)
20:14:30 *** TROILUS has joined #openttd
20:16:27 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain updated pull request #10306: Codechange: address CodeQL issue "Multiplication result converted to larger type"
20:16:56 <TrueBrain> removed the CodeQL workflow commit; ready for review ^^ πŸ™‚
20:17:25 <supermop_Home__> ok bananased it, now back to stations
20:17:57 <andythenorth> \o/
20:20:38 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 approved pull request #10306: Codechange: address CodeQL issue "Multiplication result converted to larger type"
20:20:50 <DorpsGek> [OpenTTD/OpenTTD] andythenorth commented on issue #10307: [Bug]: engine variants parent/children can't display different name strings depending on context
20:22:01 <TrueBrain> let's try out auto-merge .. sounds like a useful thing here πŸ™‚
20:27:47 <supermop_Home__> TallTyler wouldn't the karn shunting patch be the one you were looking for, for reversing?
20:29:57 <petern>
20:29:57 <petern> Something has gone horribly wrong.
20:30:07 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain merged pull request #10306: Codechange: address CodeQL issue "Multiplication result converted to larger type"
20:30:42 <andythenorth> petern: mode 9 when you want mode 2
20:34:05 <DorpsGek> [OpenTTD/OpenTTD] nielsmh commented on issue #10298: [Bug]: Jukebox not playing all instruments
20:34:41 <andythenorth> off-topic, how much is a gaming PC, I only know about macs, but one of my kids wants to play Windows games for some reason
20:34:49 <andythenorth> are they about Β£200?
20:35:18 <nielsm> you may be able to get something 3-5 years old that was lower end at the time for that, second hand
20:35:21 <EmperorJake> Β£200 to Β£2000 depending on games
20:36:13 <nielsm> but yes depends heavily on the actual games, fidelity desired, and how much RGB nonsense is desired
20:36:17 <andythenorth> he wants to play things like Overwatch and Minecraft
20:36:34 <andythenorth> probably a laptop, because there's no screen to plug into and I'm not getting one
20:37:02 <andythenorth> he has rejected an XBox or Steam Deck which seemed the better idea to me
20:37:33 <nielsm> minecraft should run on most things, even if it won't be able to use fancy shader plugins. overwatch less so
20:37:52 <andythenorth> I've got a pile of intel macbooks here, but I can't be arsed to Bootcamp them
20:38:03 <nielsm> your best bet for something budget might be something AMD-based with integrated graphics
20:38:03 <andythenorth> and they're all crappy i9s and things
20:38:35 <TallTyler> supermop_Home__: Yes, probably
20:38:42 <LordAro> "crappy i9s"
20:38:56 <andythenorth> how bad is a Radeon Pro 5300M? And a 2.4Ghz i9?
20:39:32 <andythenorth> last time I bought a PC it was about Β£200 with a screen
20:39:40 <andythenorth> I assumed they were roughly the same
20:40:35 <andythenorth> but that was probably 2006
20:40:38 <JGR> Inflation has kicked in a fair bit since then, most likely
20:40:52 <JGR> Anything aimed at gamers is also more expensive
20:41:47 <andythenorth> oh dear
20:42:47 <FLHerne> I don't think for under Β£500 you could get "a gaming PC" (as opposed to "a PC you can play many games on")
20:43:00 <FLHerne> probably a bit more than that
20:43:06 <nielsm> which is why I'm suggesting to look at things with Ryzen APU since those tend to be more of a "work pc" that just has some mostly-acceptable integrated graphics
20:43:23 <FLHerne> the GPU prices currently are much less bad than the last couple of years but that's not saying much
20:43:39 <JGR> You can probably find good deals on GPUs if you're prepared to scrounge on ebay
20:43:41 <andythenorth> he is faffing around buying Windows emulators for Mac, and I think it's a waste of money
20:43:41 <FLHerne> what nielsm says makes sense if that's acceptable
20:44:01 <andythenorth> he won't get a Steam deck because a lot of the games aren't on Steam
20:44:27 <nielsm> the big Q is, I think, whether it has to look the part, or only play the part
20:44:47 <FLHerne> the only decent Windows emulator on macOS is Codeweavers' which is basically a WINE port
20:44:59 <FLHerne> so anything that runs on that probably runs on Steam Deck too
20:45:05 <JGR> Fancy LEDs don't cost much, you can buy them separately πŸ˜›
20:45:59 <nielsm> but an el-cheapo christmas multicolor LED decoration and tape to the thing
20:46:06 <supermop_Home__> oh dear
20:46:21 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 updated pull request #10299: Enable CodeQL code scanning
20:46:24 <FLHerne> but yeah, Linux compatibility for Windows games is pretty good in most areas, but very bad when it comes to multiplayer shooters like Overwatch
20:46:29 <supermop_Home__> my building i put out on bananas is flashing brick cycle colors
20:46:32 <FLHerne> mostly because they have stupid anti-cheat systems
20:46:43 <FLHerne> that decide Linux is a cheat
20:46:51 <FLHerne> which it kind of is, but not in that way
20:46:51 <andythenorth> supermop there are certain pinks which overlap with colour cycle pinks
20:47:03 <andythenorth>
20:47:22 <FLHerne> (and Steam Deck is a handheld Linux box)
20:48:06 <DorpsGek> [OpenTTD/OpenTTD] Brickblock1 opened issue #10308: [Bug]: The new grf settings button is moved
20:48:08 <andythenorth> the Steam Deck here seems really good
20:48:13 <andythenorth> reminds me of PSP
20:49:26 <supermop_Home__> yes, i usually avoid hem, but the noise process i put on the wall put them in and i forgot to check
20:49:39 <supermop_Home__> my psp got stolen
20:49:42 <TrueBrain> Lol .. now we aren't allowed to make any changes to any button? Owh boy.. Time to archive OpenTTD πŸ˜„
20:50:04 <TrueBrain> (Ghehehe)
20:50:07 <Brickblock1> I miss clicked twice today
20:50:21 <TrueBrain> You are getting old my friend πŸ˜‰
20:50:59 <andythenorth> I am finding it hard to test, but I believe engines and wagons have independently synced intro dates, when intro date syncing is used? (for context:
20:51:50 <TrueBrain> We should make bigger UI changes, Avoids the cases of misclick πŸ™‚
20:52:59 <Brickblock1> I miss clicked because of I didn't notice it had moved and didn't read the text
20:53:04 <glx[d]> we had 2 options, moving the button or having a oversized line of 3 buttons
20:53:35 <TrueBrain> Brickblock1: Yeah, so bigger changes avoids that πŸ˜„
20:54:15 <Brickblock1> Ik I think this is better but changing the newgrf button with the script one would imo be better
20:54:26 <Brickblock1> TrueBrain: only if i read the text
20:54:43 <DorpsGek> [OpenTTD/OpenTTD] andythenorth commented on issue #10308: [Bug]: The new grf settings button is moved
20:55:23 <andythenorth> also which button moved?
20:56:30 <glx[d]>
20:56:54 <petern> Never change the UI.
20:57:39 <petern> It's in the same place. Two up from the button.
20:57:56 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler commented on issue #10308: [Bug]: The new grf settings button is moved
20:57:59 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler closed issue #10308: [Bug]: The new grf settings button is moved
20:58:19 <glx[d]> newgrf button could return where it was, gamescript under AI, but then we'll get complains about content download
20:58:34 <TrueBrain> Muscle memory is an annoying thing πŸ˜‰
20:58:44 <FLHerne> I agree swapping them around might be better, who actually uses 'content download' :p
20:58:47 <petern> Alright, I got my HSV/RGB code working again, phew!
20:58:54 <FLHerne> except when it complains about the baseset missing sprites
20:59:10 <FLHerne> but not sure it's important enough to bother doing :p
20:59:19 <glx[d]> don't use a/zbase πŸ™‚
21:00:35 <petern> Now using integer maths instead of doubles, because it can.
21:01:05 <petern> Also the window calls this function for every pixel of the gradient...
21:01:36 <JGR> FLHerne: I still think that the high score table button should go
21:01:56 <petern> Go where?
21:01:57 <JGR> It is by far the most useless feature reachable from the main menu
21:02:12 <TallTyler> "Where" was the sticking point for why I left it
21:02:22 <JGR> Into the aether, deleted
21:02:28 <JGR> In true Andy style πŸ˜›
21:02:51 <petern> I think the layout is fine.
21:03:01 <TallTyler> I'm happy to make a PR to move it, but don't feel like taking the flak for deleting it entirely
21:03:41 <petern> Bug: "No way to view highscores"
21:03:48 <andythenorth> ok seems I synced something
21:03:48 <petern> Yeah, no.
21:04:25 <FLHerne> seconded, delete it
21:04:34 <andythenorth> oh this is a fricking awesome side effect of variants
21:04:47 <andythenorth>
21:04:47 <andythenorth> the trailer vehicles become available at the same time as the engine, due to variant sync
21:04:54 <andythenorth> that has been a bugbear for a long time
21:04:57 <glx[d]> isn't highscore window broken anyway ?
21:05:07 <andythenorth> 'new engine with dedicated coaches' but coaches aren't introduced
21:05:12 <FLHerne> especially since games with different settings, grfs etc. are totally incomparable
21:05:24 <petern> glx[d]: Broken how?
21:05:50 <TallTyler> And there are two highscore windows, but the rare one can only be met if you get a perfect score -- which is almost impossible due to the minimum vehicle profit metric
21:06:21 <supermop_Home__> ok hopefully no one downloaded it before i was able to fix
21:06:22 <TrueBrain> Isn't the end date wrong if you don't use the default?
21:06:26 <TrueBrain> Unacceptable
21:07:35 <TrueBrain> Or was that only the newspaper? πŸ˜„
21:07:52 <nielsm> it's the date on the newspaper graphic that's wrong by one year, yes
21:09:29 <petern> Anyway, if you removed the Highscore button, then the NewGRF button would still be in the wrong place, and no longer 2 buttons up from the bottom.
21:12:31 <andythenorth> testing vehicle expiry is so frigging dull πŸ™‚
21:12:44 <andythenorth> goes it a property, "hide vehicle X when vehicle Y is available"
21:12:50 <andythenorth> or something
21:13:12 <JGR> Presumably you can just calculate the expiry date from the introduction date instead?
21:13:22 <andythenorth> I do yes
21:13:51 <andythenorth> I walk the tech tree and use the replacement intro date to calculate model life
21:13:59 <andythenorth> but then random
21:14:03 <andythenorth> happens
21:14:13 <andythenorth> eh random is good though πŸ™‚
21:14:31 <petern> Problematic when vehicles never expire is on.
21:14:57 <andythenorth> I had ideas about changing how vehicles expire πŸ˜›
21:15:34 <andythenorth> some kind of player slider for what the buy menu shows, e.g. how far back in time to go with expired vehicles
21:15:49 <andythenorth> or just 'vehicles introduced within last n years'
21:16:47 <andythenorth> I saw a lot of sliders somewhere here today πŸ˜›
21:16:52 <andythenorth> what was that for? πŸ˜›
21:18:18 <petern> It was your imagination?
21:18:44 <andythenorth> ah
21:31:46 <petern> I dunno, this doesn't seem better after all that :/
21:32:59 <andythenorth> is there a build yet? πŸ™‚
21:32:59 *** _aD has joined #openttd
21:33:07 <andythenorth> or a branch πŸ˜›
21:33:48 <andythenorth> redo-rgbcc?
21:34:06 <petern>
21:34:06 <petern> Scrollbars are not necessary anyway.
21:34:17 <JGR> What is the end goal here?
21:34:41 <petern> "Revive a 10 year old branch"
21:35:20 <petern> With that square, there is a LOT of blacks... for andythenorth's steam engines.
21:35:36 *** nielsm has quit IRC (Ping timeout: 480 seconds)
21:36:35 *** Wormnest has quit IRC (Ping timeout: 480 seconds)
21:37:11 <andythenorth>
21:37:11 <andythenorth> also it will force me to remove this parameter? πŸ˜„
21:37:31 <DorpsGek> [OpenTTD/team] gisterecis opened issue #368: [af_ZA] Translator access request
21:37:40 <TallTyler> Stupid question, I can't get past this `unresolved external symbol` build error. How do I get into a different file? Neither `extern` nor putting it in `settings_table.h` and #including that are working. πŸ™ƒ
21:37:44 <DorpsGek> [OpenTTD/team] gisterecis opened issue #369: [ar_EG] Translator access request
21:37:51 <petern> Not really. This only changes what colours are available, not where they are available.
21:37:56 <DorpsGek> [OpenTTD/team] gisterecis opened issue #370: [be_BY] Translator access request
21:38:20 <petern> TallTyler: it can't be static if you need it elsewhere.
21:38:44 <TallTyler> That's what I thought, but removing the static doesn't seem to help
21:39:16 <DorpsGek> [OpenTTD/team] gisterecis opened issue #371: [bg_BG] Translator access request
21:39:26 <DorpsGek> [OpenTTD/team] gisterecis opened issue #372: [ca_ES] Translator access request
21:39:35 <DorpsGek> [OpenTTD/team] gisterecis opened issue #373: [cs_CZ] Translator access request
21:39:44 <Rubidium> spam?
21:39:45 <DorpsGek> [OpenTTD/team] gisterecis opened issue #374: [cv_RU] Translator access request
21:39:54 <DorpsGek> [OpenTTD/team] gisterecis opened issue #375: [cy_GB] Translator access request
21:40:03 <DorpsGek> [OpenTTD/team] gisterecis opened issue #376: [da_DK] Translator access request
21:40:05 <TallTyler> It's got to be
21:40:13 <DorpsGek> [OpenTTD/team] gisterecis opened issue #377: [el_GR] Translator access request
21:40:26 <DorpsGek> [OpenTTD/team] gisterecis opened issue #378: [en_US] Translator access request
21:40:29 <LordAro> oh dear
21:40:35 <DorpsGek> [OpenTTD/team] gisterecis opened issue #379: [eo_EO] Translator access request
21:40:45 <LordAro> alphabetical order
21:40:45 <JGR> This person seems to be a real polyglot πŸ˜›
21:40:45 <DorpsGek> [OpenTTD/team] gisterecis opened issue #380: [es_ES] Translator access request
21:41:17 <petern> It definitely can't be static though.
21:41:47 <DorpsGek> [OpenTTD/team] gisterecis opened issue #381: [es_MX] Translator access request
21:41:59 <DorpsGek> [OpenTTD/team] gisterecis opened issue #382: [et_EE] Translator access request
21:42:54 <michi_cc[d]> Move to a different file, drop the static and put a 'extern void UpdateAllServiceInterval(int32 new_value)' into whatever header matches the new source location and then make sure that is included from settings_table.cpp
21:43:01 <petern>
21:43:01 <petern> Which are CC black, and which are andythenorth black?
21:43:02 <DorpsGek> [OpenTTD/team] gisterecis opened issue #383: [eu_ES] Translator access request
21:43:31 <supermop_Home__> goth horse
21:44:09 <DorpsGek> [OpenTTD/team] gisterecis closed issue #383: [eu_ES] Translator access request
21:44:32 <DorpsGek> [OpenTTD/team] gisterecis closed issue #379: [eo_EO] Translator access request
21:45:07 <DorpsGek> [OpenTTD/team] gisterecis closed issue #372: [ca_ES] Translator access request
21:46:02 <TallTyler> michi_cc[d]: Is `settings_table` special or do we just want to avoid referencing it?
21:48:40 <andythenorth> petern: these are better than mine πŸ˜›
21:48:41 <michi_cc[d]> In which way? `settings_table.h` is not something I would include randomly, too much internal stuff. If it is a single use thing, we sometimes put the extern directly at the site of usage into the source file, but that requires "remebering" this.
21:49:55 <TallTyler> It is single-use, in `afterload.cpp`. But putting the extern at the top of afterload still won't build
21:49:55 <michi_cc[d]> If there's another usage besides settings stuff, `vehicle_func.h` looks like a good place.
21:51:15 <JGR> Is this code on github or somewhere, TallTyler ?
21:51:25 <TallTyler> I don't have to replace `static` with anything else, right? Just leave it `void`?
21:51:39 <michi_cc[d]> Ah, there's a sneaky second `static` in `src/table/settings/company_settings.ini`
21:51:41 *** keikoz has quit IRC (Ping timeout: 480 seconds)
21:52:18 <michi_cc[d]> This is why settings stuff is "special" πŸ™‚
21:52:34 <michi_cc[d]> That second static has to go as well.
21:52:59 <petern> .ini, of course.
21:53:34 <TallTyler> Aha! That solved it
21:53:39 <TallTyler> Thank you all for your help πŸ™‚
21:53:58 <TallTyler> I was wondering if I was losing my mind, forgetting how to reference externals...
21:54:11 <michi_cc[d]> When in doubt, a `grep -R UpdateAllServiceInterval src` helps πŸ™‚
21:55:27 <TallTyler> Windows doesn't have `grep`, but searching the string in VS works too πŸ™‚
21:55:39 <reldred> petern: gib nao
21:56:06 <TallTyler> I do need to learn Linux someday, one of the jobs I'm interviewing apparently uses it exclusively
21:57:17 <TrueBrain> Start with WSL2 on Windows, makes the barrier less .. hard πŸ˜„
21:58:47 <petern> Start with Slackware Linux (IIRC) on a 486DX2 66 back in 1997 or so...
21:59:24 <TrueBrain> Bit hard for him to start in the past, don't you agree? πŸ˜„
21:59:37 <petern> Well that's not my fault!
21:59:41 <TrueBrain> Haha
21:59:46 <michi_cc[d]> For some people, that is very easy.
22:00:21 <JGR> I used Slackware for a while, if I remember rightly that didn't last long before moving on πŸ˜›
22:01:09 <JGR> TallTyler: Is this a developer role, or something else?
22:01:35 <michi_cc[d]> Or start on macOS, which looks like Linux but is just annoyingly enough different due to its BSD heritage.
22:01:52 <reldred> Sparkling unix
22:01:59 <reldred> πŸ₯‚
22:02:05 <michi_cc[d]> SuSE ftw :p
22:02:07 <TallTyler> It's at a robotics company, I'm not sure exactly what team -- wherever they think I'd fit best
22:02:13 <glx[d]> TrueBrain: WSL2 is nice, too bad I can't upgrade to win11 to use GUI
22:02:21 <TallTyler> So integrated C++ mostly, I suspect
22:02:27 <petern> We waited for Enlightenment to be released, and it turned out to be shit...
22:02:34 <reldred> See I find that puzzling, I had WSL2 and GUI working on Win10
22:02:41 <reldred> what the hell did they do to it?
22:02:48 <petern> Eventually 17 came out, about 10 years too late and everyone had moved on to Gnome or KDE.
22:04:00 <TrueBrain> glx[d]: It is really good, especially for developing OpenTTD πŸ˜„
22:04:18 <reldred> Yeah I use WSL all the time for newgrf dev
22:04:30 <petern> Is it? I just use VS Code on Windows.
22:04:34 <reldred> all my compile chains be it nfo or nml use WSL2 a bit.
22:04:41 <reldred> For OpenTTD itself I just use VS
22:04:46 <reldred> for everything else VS code
22:05:05 <JGR> I do all my dev stuff on Linux, makes life much easier
22:05:30 <TallTyler>
22:05:30 <TallTyler> Days converted to minutes, now I just need to find some replacement for dates (continuing #9789 with nielsmh's suggestion to replace economy date with real-world time)
22:05:42 <TallTyler> Probably `N minutes ago`
22:07:32 <michi_cc[d]> I'm forced to Windows for work as almost no tools in my field are for Linux, and at our company we use a lot of .Net, so VS. I'm much too lazy to make the effort to use something else at home.
22:08:01 <supermop_Home__> TallTyler i think they wouldn't get the servicing done within 5 minutes before the next one!
22:08:05 <glx[d]> I wanted to test #10104, but it seems to have no effect in VS
22:08:16 <michi_cc[d]> And at least for dev stuff I like VS, and the C++ support now is lightyears better than what it used to be 10 years ago or so.
22:08:18 <TallTyler> supermop_Home__: Real-world 5 minutes, about 5 months
22:08:25 <JGR> .Net is on the better end of Window development stuff
22:09:28 <michi_cc[d]> C++ is sloooowly inching on the way, but I just want async/await like in .Net. Heaps better than manual thread programming.
22:09:37 <JGR> I use .Net on Windows for Unity stuff at work from time to time, but most other stuff I can do on Linux
22:09:53 <TallTyler> My last project was .Net, specifically Blazor. I loved it, but the job is now in limbo so I'm looking for a plan B in a real developer job instead of "hey Tyler you know computers, can you build us a new dispatching program?"
22:10:19 <TallTyler> Which gave me a lot of freedom, but it would be nice to have coworkers πŸ˜›
22:10:35 <JGR> golang is pretty nice for async/await type stuff
22:11:39 <JGR> One of the projects I'm on is heavily based on that
22:12:56 <michi_cc[d]> Well, Ladder and FBD are even more async than this :p
22:14:48 <reldred> Yeah I'm the sole mac in a very wintel based IT MSP, but I mostly spend my time writing automation in powershell, dealing with API's, ferrying data between systems/databases, etc.
22:15:28 *** Wormnest has joined #openttd
22:15:54 <reldred> there's yet to be much that I can't do, I still just use VS Code and Azure Data studio. I'm working directly with the ms sql servers often enough that if I have something that absolutely needs to run on windows there's always a box to RDP into.
22:21:21 *** wallabra has quit IRC (Ping timeout: 480 seconds)
22:25:25 <petern> I keep thinking about switching back to Linux on my home desktop...
22:36:09 <petern>
22:36:09 <petern> Calling SetPixel has issues πŸ˜„
22:36:19 <petern> I assume there's some bounds checking I need to do. Hmm.
22:45:32 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 opened issue #10309: [Bug]: SDL2 driver goes to random resolution after fullscreen
22:46:28 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
22:47:35 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 updated pull request #10299: Enable CodeQL code scanning
22:48:36 <TallTyler>
22:48:36 <TallTyler> Hmm, probably shouldn't subtract dates from each other?
22:48:53 <TallTyler> That should be 153 πŸ˜›
22:49:29 <TallTyler> Oh, I bet date_of_last_service wasn't converted in saveload properly
22:57:36 <DorpsGek> [OpenTTD/OpenTTD] kevinfields777 commented on issue #10298: [Bug]: Jukebox not playing all instruments
23:02:40 <kamnet> andythenorth: My solution to this problem with my kids was: "This is what I have to give you. You can either make it work, or you can go earn your own money and buy what you want." This is how my kids learned Linux on their own using Mid-2000s Dell Optiplex PCs that were literally sitting on curbs for the trash. And then they learned how to earn money online and by the time they left for college they had nice Windows 10 gaming rigs wit
23:02:40 <kamnet> your eyeballs could stand.
23:17:08 *** Samu has quit IRC (Quit: Leaving)
23:32:58 *** wallabra has joined #openttd
23:42:45 <TallTyler>
23:42:45 <TallTyler> Now the correct number of minutes πŸ™‚
23:44:11 <LordAro> "Age: 1 year"
23:44:42 <TallTyler> That's on my very very very long list of stuff to fix
23:50:16 <LordAro> :p