Times are UTC Toggle Colours
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 https://github.com/OpenTTD/OpenTTD/pull/10305 01:13:23 <DorpsGek> [OpenTTD/OpenTTD] glx22 closed issue #10304: [Bug]: GS Story Book on start screen https://github.com/OpenTTD/OpenTTD/issues/10304 01:13:48 *** wallabra has quit IRC 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 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 03:51:16 *** wallabra has quit IRC 04:14:33 *** TROILUS has quit IRC 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: https://github.com/OpenTTD/OpenGFX/blob/master/sprites/png/houses/tropical_modern_office.png 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 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> https://cdn.discordapp.com/attachments/1008473233844097104/1059387973298303027/Sensay_Transport_1998-11-24.png 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:50 <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> https://cdn.discordapp.com/attachments/1008473233844097104/1059389594572959754/image.png 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> https://cdn.discordapp.com/attachments/1008473233844097104/1059390636291268628/image.png 08:40:10 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1059390636618416178/image.png 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> https://cdn.discordapp.com/attachments/1008473233844097104/1059391486610903120/Sensay_Transport_1998-11-241.png 08:43:37 <Pruple> this cascades quite nicely 08:43:53 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1059391569775575091/image.png 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:35 <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> https://cdn.discordapp.com/attachments/1008473233844097104/1059395222599123005/image.png 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> https://cdn.discordapp.com/attachments/1008473233844097104/1059395490501902346/image.png 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> https://cdn.discordapp.com/attachments/1008473233844097104/1059395616788201523/iron-horse.grf 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> https://cdn.discordapp.com/attachments/1008473233844097104/1059396158943924314/image.png 09:02:08 <reldred> Collapsed: 09:02:23 <reldred> https://cdn.discordapp.com/attachments/1008473233844097104/1059396227160092753/image.png 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 https://github.com/OpenTTD/OpenMSX/issues/29 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:42 <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> https://tenor.com/view/jago33-slot-machine-slot-online-casino-medan-gif-25082594 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> https://cdn.discordapp.com/attachments/1008473233844097104/1059398875770781696/image.png 09:14:32 <reldred> https://cdn.discordapp.com/attachments/1008473233844097104/1059399285822738473/image.png 09:14:32 <reldred> I dig it 09:16:29 <reldred> https://cdn.discordapp.com/attachments/1008473233844097104/1059399773817426011/image.png 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 09:25:41 <andythenorth> this is ... something 🙂 09:25:45 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1059402106802540575/image.png 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:32 <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> https://cdn.discordapp.com/attachments/1008473233844097104/1059412250819043328/Screenshot_from_2023-01-02_14-05-39.png 10:06:03 <dP> petern: 10:06:57 <petern> All your alignment is screwed. Why are you making it so hard? 10:07:43 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1059412666881421382/image.png 10:07:43 <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> https://cdn.discordapp.com/attachments/1008473233844097104/1059413880780116018/image.png 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:59 <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> https://github.com/andythenorth/iron-horse/blob/main/src/templates/spriteset_templates.pynml#L90 10:27:24 <andythenorth> "dual head is weird anyway" 10:27:43 <andythenorth> we should break more grf stuff 10:27:51 <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:39 <andythenorth> dP: almost certainly 10:36:58 <andythenorth> snake game train should be possible 10:37:03 <andythenorth> longer it drives, the longer it gets 10:37:28 <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> https://cdn.discordapp.com/attachments/1008473233844097104/1059420543956308078/image.png 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:47 <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:41 <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 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:03 <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> https://hometheaterhifi.com/reviews/audio-cables/audioquest-usb-cable-shootout/ 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> https://cdn.discordapp.com/attachments/1008473233844097104/1059426508764094544/image.png 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> https://cdn.discordapp.com/attachments/1008473233844097104/1059426804563198042/image.png 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> https://cdn.discordapp.com/attachments/1008473233844097104/1059427697228513371/image.png 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:28 <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> https://cdn.discordapp.com/attachments/1008473233844097104/1059431394469740596/image.png 11:22:08 <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> https://colornamer.robertcooper.me/ 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... <https://api.color.pizza/v1/?values=00f,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? https://godbolt.org/z/vovnefzEc 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> <https://en.wikipedia.org/wiki/List_of_RAL_colors#RAL_Design_System+> 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> https://cdn.discordapp.com/attachments/1008473233844097104/1059465431850692618/image.png 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:43 <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> https://stackoverflow.com/q/8236521 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> http://www.doublearrow.co.uk/sheets/NSE_DG_Elements_Colour_Specifications_1b.jpg 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> https://cdn.discordapp.com/attachments/1008473233844097104/1059467202190905374/image.png 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:32 *** 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> <https://zditect.com/blog/30946727.html> < 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> https://cdn.discordapp.com/attachments/1008473233844097104/1059471185919868978/image.png 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> https://cdn.discordapp.com/attachments/1008473233844097104/1059473379599581257/image.png 14:08:58 <petern> Pretend it's one window. Separate selectors for 1st and 2nd CC might be too much. 14:10:00 <petern> https://cdn.discordapp.com/attachments/1008473233844097104/1059473642456612975/image.png 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> https://cdn.discordapp.com/attachments/1008473233844097104/1059475064669605928/image.png 14:15:40 <andythenorth> webdev tools style? 😛 14:15:56 <andythenorth> hmm css for vehicles? 14:16:07 <andythenorth> selectors, algebra 14:17:12 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1059475453657751612/image.png 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:07 <TallTyler> Trailer 1 14:18:07 <TallTyler> Railcar 2 14:18:07 <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> <https://ux.stackexchange.com/questions/88055/most-user-friendly-color-picker> 14:21:34 <andythenorth> or even ampersands 14:21:37 <petern> query params are nice for copy & paste sharing. 14:21:46 <dP> https://cdn.discordapp.com/attachments/1008473233844097104/1059476601751998504/wVg8n.png 14:21:46 <dP> this looks decent 14:21:47 <TallTyler> https://cdn.discordapp.com/attachments/1008473233844097104/1059476608664223754/wat.png 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 foo.com/bar?value=highscore|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> https://cdn.discordapp.com/attachments/1008473233844097104/1059479867407749160/1c2affe9b0b3d94192a758f53a0a1381ce98a4e3_2_279x500.png 14:34:45 <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:09 <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> https://cdn.discordapp.com/attachments/1008473233844097104/1059481031469707344/image.png 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> https://cdn.discordapp.com/attachments/1008473233844097104/1059484929471303730/image.png 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 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> https://cdn.discordapp.com/attachments/1008473233844097104/1059486687765483520/variants-sync.mov 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 worth..no 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> https://cdn.discordapp.com/attachments/1008473233844097104/1059490210318123018/image.png 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 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:33 <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 16:20:54 *** TROILUS1 is now known as TROILUS 16:42:18 <Gwyd> Ellwill: We've decided definitely no 16:43:34 <LordAro> https://steamcommunity.com/app/1536610/eventcomments/3735205432024959978?snr=2_9_100000_#c3735205432025359874 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> https://github.com/OpenTTD/OpenTTD/pull/7924 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 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__> https://imgur.com/INGYKv0 17:25:34 <pickpacket> supermop_Home__: I love it! 17:27:53 *** WormnestAndroid has quit IRC 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__> https://imgur.com/INGYKv0 <- 😍 17:43:34 <supermop_Home__> replaced these sprites starting with 848, but nothing shows up in game: https://github.com/OpenTTD/OpenGFX/blob/master/sprites/png/infrastructure/infra08.png 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> https://cdn.discordapp.com/attachments/1008473233844097104/1059529359523860530/trg1r.png 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> https://domeventviewer.com/key-event-viewer-ce.html 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 https://i.imgur.com/9XFVILE.png 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 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> https://github.com/OpenTTD/OpenTTD/blob/d2f310f105b4b890bffd9553839e1416183d0de1/src/linkgraph/linkgraph.cpp#L282-L282 <- in case you are curious 18:29:44 *** wallabra has joined #openttd 18:30:21 <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" https://github.com/OpenTTD/OpenTTD/pull/10306 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 https://github.com/OpenTTD/OpenTTD/commit/fcbe390353630c2e5b86578f79232604e9ee9fa3 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" https://github.com/OpenTTD/OpenTTD/pull/10306#pullrequestreview-1233945555 18:52:56 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain commented on pull request #10306: Codechange: address CodeQL issue "Multiplication result converted to larger type" https://github.com/OpenTTD/OpenTTD/pull/10306#pullrequestreview-1233947422 18:53:50 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 commented on pull request #10306: Codechange: address CodeQL issue "Multiplication result converted to larger type" https://github.com/OpenTTD/OpenTTD/pull/10306#pullrequestreview-1233946838 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" https://github.com/OpenTTD/OpenTTD/pull/10306#pullrequestreview-1233948062 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:01 <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 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" https://github.com/OpenTTD/OpenTTD/pull/10306#pullrequestreview-1233954028 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" https://github.com/OpenTTD/OpenTTD/pull/10306 19:25:04 <DorpsGek> [OpenTTD/OpenTTD] WesleyChannon commented on issue #9641: [Bug]: Hardware acceleration makes the game sutter and slower https://github.com/OpenTTD/OpenTTD/issues/9641 19:29:02 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 commented on pull request #10306: Codechange: address CodeQL issue "Multiplication result converted to larger type" https://github.com/OpenTTD/OpenTTD/pull/10306#pullrequestreview-1233957561 19:30:48 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain updated pull request #10306: Codechange: address CodeQL issue "Multiplication result converted to larger type" https://github.com/OpenTTD/OpenTTD/pull/10306 19:31:07 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain commented on pull request #10306: Codechange: address CodeQL issue "Multiplication result converted to larger type" https://github.com/OpenTTD/OpenTTD/pull/10306#pullrequestreview-1233958086 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> https://github.com/orgs/OpenTTD/teams/translators/discussions/13 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? https://imgur.com/INGYKv0 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__> https://www.google.com/maps/@21.310201,-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 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 https://github.com/OpenTTD/OpenTTD/issues/10298 20:11:24 <DorpsGek> [OpenTTD/OpenTTD] andythenorth opened issue #10307: [Bug]: engine variants parent/children can't display different name strings depending on context https://github.com/OpenTTD/OpenTTD/issues/10307 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 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" https://github.com/OpenTTD/OpenTTD/pull/10306 20:16:57 <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" https://github.com/OpenTTD/OpenTTD/pull/10306#pullrequestreview-1233971719 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 https://github.com/OpenTTD/OpenTTD/issues/10307 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> https://cdn.discordapp.com/attachments/1008473233844097104/1059569260269162596/image.png 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" https://github.com/OpenTTD/OpenTTD/pull/10306 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 https://github.com/OpenTTD/OpenTTD/issues/10298 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 <FLHerne> what nielsm says makes sense if that's acceptable 20:43:41 <andythenorth> he is faffing around buying Windows emulators for Mac, and I think it's a waste of money 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 https://github.com/OpenTTD/OpenTTD/pull/10299 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> https://cdn.discordapp.com/attachments/1008473233844097104/1059573561314005213/image.png 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 https://github.com/OpenTTD/OpenTTD/issues/10308 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: https://github.com/OpenTTD/OpenTTD/pull/7147) 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 https://github.com/OpenTTD/OpenTTD/issues/10308 20:55:23 <andythenorth> also which button moved? 20:56:30 <glx[d]> https://github.com/OpenTTD/OpenTTD/pull/10203 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 https://github.com/OpenTTD/OpenTTD/issues/10308 20:57:59 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler closed issue #10308: [Bug]: The new grf settings button is moved https://github.com/OpenTTD/OpenTTD/issues/10308 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:13 <TallTyler> "Where" was the sticking point for why I left it 21:02:23 <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> https://cdn.discordapp.com/attachments/1008473233844097104/1059578027102703627/image.png 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:23 <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:47 <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> https://cdn.discordapp.com/attachments/1008473233844097104/1059585404128473089/image.png 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 21:36:35 *** Wormnest has quit IRC 21:37:11 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1059586179953082439/image.png 21:37:12 <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 https://github.com/OpenTTD/team/issues/368 21:37:40 <TallTyler> Stupid question, I can't get past this `unresolved external symbol` build error. How do I get https://github.com/OpenTTD/OpenTTD/blob/master/src/settings_table.cpp#L129 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 https://github.com/OpenTTD/team/issues/369 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 https://github.com/OpenTTD/team/issues/370 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 https://github.com/OpenTTD/team/issues/371 21:39:26 <DorpsGek> [OpenTTD/team] gisterecis opened issue #372: [ca_ES] Translator access request https://github.com/OpenTTD/team/issues/372 21:39:35 <DorpsGek> [OpenTTD/team] gisterecis opened issue #373: [cs_CZ] Translator access request https://github.com/OpenTTD/team/issues/373 21:39:44 <Rubidium> spam? 21:39:45 <DorpsGek> [OpenTTD/team] gisterecis opened issue #374: [cv_RU] Translator access request https://github.com/OpenTTD/team/issues/374 21:39:54 <DorpsGek> [OpenTTD/team] gisterecis opened issue #375: [cy_GB] Translator access request https://github.com/OpenTTD/team/issues/375 21:40:03 <DorpsGek> [OpenTTD/team] gisterecis opened issue #376: [da_DK] Translator access request https://github.com/OpenTTD/team/issues/376 21:40:05 <TallTyler> It's got to be 21:40:13 <DorpsGek> [OpenTTD/team] gisterecis opened issue #377: [el_GR] Translator access request https://github.com/OpenTTD/team/issues/377 21:40:26 <DorpsGek> [OpenTTD/team] gisterecis opened issue #378: [en_US] Translator access request https://github.com/OpenTTD/team/issues/378 21:40:29 <LordAro> oh dear 21:40:35 <DorpsGek> [OpenTTD/team] gisterecis opened issue #379: [eo_EO] Translator access request https://github.com/OpenTTD/team/issues/379 21:40:45 <LordAro> alphabetical order 21:40:45 <JGR> This person seems to be a real polyglot 😛 21:40:46 <DorpsGek> [OpenTTD/team] gisterecis opened issue #380: [es_ES] Translator access request https://github.com/OpenTTD/team/issues/380 21:41:17 <petern> It definitely can't be static though. 21:41:48 <DorpsGek> [OpenTTD/team] gisterecis opened issue #381: [es_MX] Translator access request https://github.com/OpenTTD/team/issues/381 21:41:59 <DorpsGek> [OpenTTD/team] gisterecis opened issue #382: [et_EE] Translator access request https://github.com/OpenTTD/team/issues/382 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> https://cdn.discordapp.com/attachments/1008473233844097104/1059587644968939550/image.png 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 https://github.com/OpenTTD/team/issues/383 21:43:31 <supermop_Home__> goth horse 21:44:10 <DorpsGek> [OpenTTD/team] gisterecis closed issue #383: [eu_ES] Translator access request https://github.com/OpenTTD/team/issues/383 21:44:32 <DorpsGek> [OpenTTD/team] gisterecis closed issue #379: [eo_EO] Translator access request https://github.com/OpenTTD/team/issues/379 21:45:07 <DorpsGek> [OpenTTD/team] gisterecis closed issue #372: [ca_ES] Translator access request https://github.com/OpenTTD/team/issues/372 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 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:38 <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> https://cdn.discordapp.com/attachments/1008473233844097104/1059593303714172988/minutes.png 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 22:25:25 <petern> I keep thinking about switching back to Linux on my home desktop... 22:36:09 <petern> https://cdn.discordapp.com/attachments/1008473233844097104/1059601018360451182/image.png 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:33 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 opened issue #10309: [Bug]: SDL2 driver goes to random resolution after fullscreen https://github.com/OpenTTD/OpenTTD/issues/10309 22:46:28 *** Wolf01 has quit IRC 22:47:35 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 updated pull request #10299: Enable CodeQL code scanning https://github.com/OpenTTD/OpenTTD/pull/10299 22:48:36 <TallTyler> https://cdn.discordapp.com/attachments/1008473233844097104/1059604152545726496/negative.png 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 https://github.com/OpenTTD/OpenTTD/issues/10298 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 23:32:58 *** wallabra has joined #openttd 23:42:45 <TallTyler> https://cdn.discordapp.com/attachments/1008473233844097104/1059617777813561395/minutes.png 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