IRC logs for #openttd on OFTC at 2022-12-11
            
00:21:13 *** sla_ro|master has quit IRC ()
00:27:47 *** nielsm has quit IRC (Ping timeout: 480 seconds)
00:47:40 *** HerzogDeXtEr has quit IRC (Read error: Connection reset by peer)
01:47:11 *** Wuzzy has joined #openttd
02:59:23 *** supermop_Home has quit IRC (Ping timeout: 480 seconds)
03:49:39 *** Flygon has joined #openttd
03:56:07 *** D-HUND has joined #openttd
03:59:30 *** debdog has quit IRC (Ping timeout: 480 seconds)
04:24:06 *** Wuzzy has quit IRC (Remote host closed the connection)
06:29:21 *** keikoz has joined #openttd
08:08:46 *** HerzogDeXtEr has joined #openttd
08:09:19 *** Wolf01 has joined #openttd
08:46:21 *** sla_ro|master has joined #openttd
08:54:32 *** nielsm has joined #openttd
09:08:19 <andythenorth> petern: so patch done then? 😛
09:08:41 <petern> 🤷
09:09:20 <andythenorth> I didn't test flags
09:09:26 <andythenorth> I'll put a Horse on the PR though
09:11:27 <DorpsGek> [OpenTTD/OpenTTD] andythenorth commented on pull request #10220: Feature: Engine variant groups https://github.com/OpenTTD/OpenTTD/pull/10220#issuecomment-1345499089
09:12:09 <andythenorth> meh github is fussy
09:12:36 <andythenorth> no .tar
09:13:21 <DorpsGek> [OpenTTD/eints] LordAro merged pull request #124: Codechange: More descriptive variable names https://github.com/OpenTTD/eints/pull/124
09:13:54 <andythenorth> petern: oh you got zorged I see
09:18:04 <petern> Hmm, not using any flags?
09:18:19 <andythenorth> going to try now
09:18:30 <andythenorth> I didn't look at the implementation, is there a new prop to add to nml
09:18:32 <andythenorth> ?
09:18:46 <andythenorth> also it snowed
09:20:16 <LordAro> barely even a frost this morning
09:20:55 <petern> I need to work on the reliability then, as nearly everything has the same value
09:26:53 <DorpsGek> [OpenTTD/OpenTTD] andythenorth commented on discussion #8446: Vehicle variants [newgrf] https://github.com/OpenTTD/OpenTTD/discussions/8446
09:27:57 <petern> > I think plays should be able to change liveries on exisiting vehicles
09:27:58 <petern> Well
09:28:27 <andythenorth> if I ask enough silly questions, will someone else patch nml 😛
09:28:34 <andythenorth> oh I'd better pull the PR again first
09:30:59 <petern> No snow here, just heavy frost, and a heavy fog.
09:32:01 <andythenorth> seems nml has special_flags and extra_flags so far
09:32:10 <petern> Oh
09:32:11 <andythenorth> and misc_flags
09:32:16 <petern> too many eh?
09:32:22 <andythenorth> and general_flags
09:32:36 <andythenorth> and spec_flags
09:32:40 <andythenorth> and object_flags
09:32:47 <andythenorth> and railtype_flags
09:33:06 <andythenorth> well, flags are nice
09:33:21 <andythenorth> I was hoping for a clue on what to call these props
09:33:27 <andythenorth> but based on the above, I should invent a new term
09:35:15 <petern> I did wonder about just extending the original misc_flags, but that might complicate things.
09:37:01 <petern> Hmm, yeah, old random = lots of variation in reliability.
09:37:07 <andythenorth> if it was my own project, I'd call it misc_flags_2
09:37:09 <andythenorth> 😛
09:37:10 <petern> new random = lots the same, even if not synced.
09:37:14 <andythenorth> but I doubt that will pass review
09:38:49 * andythenorth runs the game for a bit
09:38:56 <andythenorth> curious what exclusive preview does
09:40:46 <andythenorth> ok I call it extra_flags
09:42:12 <andythenorth> hmm nml needs some magic constants assigned
09:54:13 <petern> Hmm, I guess there is not much variance (hah) in the seed going by just engine index :/
09:57:18 *** birdjj has quit IRC (Ping timeout: 480 seconds)
09:59:51 <andythenorth> oops
09:59:51 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1051438157121462334/image.png
09:59:54 <andythenorth> I swore I'd pulled
10:00:35 <petern> But did you build?
10:00:46 <andythenorth> yup
10:00:54 <andythenorth> not sure the pull worked, but eh
10:00:57 <petern> But did you pull?
10:01:15 <andythenorth> git pull -f upstream pull/10220/head
10:01:18 <andythenorth> should have worked
10:01:22 <andythenorth> but that's new to me 😛
10:01:34 <andythenorth> I have rmed the branch and fetched the PR again
10:01:46 *** sla_ro|master has quit IRC ()
10:03:12 <andythenorth> well I have nerfed all 'new train messages'
10:03:13 <andythenorth> 😛
10:03:14 <andythenorth> oops
10:03:25 <petern> Oh?
10:03:35 <andythenorth> I applied the flag to all vehicles blanket
10:03:44 <andythenorth> just to see if nml compiled
10:03:51 <petern> Ah, yes, that would do it.
10:03:57 <andythenorth> hmm I think there's an issue requesting 'new vehicle' option for wagons
10:04:12 <andythenorth> maybe we need another bit to force it 😛
10:04:52 <petern> New wagons :/
10:06:08 <andythenorth> WagonVariants
10:06:33 <petern> wagons are just engines with no power.
10:07:03 <andythenorth> imagine
10:07:16 <andythenorth> what if engines were wagons with power?
10:07:54 <petern> Almost.
10:08:14 <petern> We'd have to change EngineID to WagonID, and EnginePool to WagonPool... _dynamic_wagons...
10:08:30 <petern> Sounds like a useful bit of bikeshedding
10:08:57 <andythenorth> very
10:09:03 <andythenorth> ok I am running ffwd for news
10:09:19 <andythenorth> I can do variants for HSTs with and without mail?
10:09:24 <andythenorth> or is that subtypes? 😛
10:10:02 <andythenorth> why is ffwd stopping when openttd loses focus?
10:10:11 <andythenorth> I'm using the UI button
10:10:41 <petern> It isn't
10:11:02 <andythenorth> ok news suppression works
10:13:02 <DorpsGek> [OpenTTD/nml] andythenorth updated pull request #272: Feature: support for variant_group action 0 prop for vehicles https://github.com/OpenTTD/nml/pull/272
10:13:49 <andythenorth> ok ready for bikeshedding https://github.com/OpenTTD/nml/pull/272/files#diff-6c432c3d6474800f1eec93b90910e0a39c4d6dece491f5e6d2ab038acb05ebeb
10:14:01 <andythenorth> I didn't overthink the constant names
10:14:03 <andythenorth> blat
10:14:03 <petern> Yeah, why are the flags duplicated for all the types? hehe
10:14:16 <andythenorth> yeah, I wondered, there is precedent below for VEHICLE_
10:14:33 <andythenorth> but might extra_flags go out of sync across types in future?
10:15:07 <petern> Who knows 😄
10:15:37 <andythenorth> happy to consolidate them to one set of constants 😛
10:15:49 <andythenorth> someone else can fix the future in future
10:17:03 <DorpsGek> [OpenTTD/nml] andythenorth updated pull request #272: Feature: support for variant_group action 0 prop for vehicles https://github.com/OpenTTD/nml/pull/272
10:17:39 <andythenorth> constant names are much longer than normal, and still not obvious
10:18:04 *** D-HUND is now known as debdog
10:32:36 <andythenorth> VEHICLE_FLAG_SYNCHRONISE_VARIANT_EXCLUSIVE_PREVIEW
10:32:41 <andythenorth> there must be a better way 😛
10:33:12 <petern> There's a reddit post about NABS "not working anymore" huh
10:33:13 <andythenorth> VEHICLE_FLAG_PREVIEW_WITH_GROUP?
10:34:37 <andythenorth> I guess the grf spec tracker will need updated soon 😛
10:34:50 <andythenorth> I wonder who will shotgun merging 10220 😛
10:35:25 <reldred> petern: says who? lol
10:35:29 <reldred> works on my end
10:35:42 <reldred> the current re_nabs version at least
10:35:54 <reldred> should be on bananas
10:37:34 <reldred> oh its just a user being dumb
10:37:56 <petern> Surprise
10:37:58 <andythenorth> is it time to go to Tesco?
10:38:06 <petern> Yes, get me something
10:38:34 <LordAro> ooh, me too please
10:38:34 <andythenorth> I'll bring it over
10:38:47 <reldred> tesco value pizza?
10:39:09 <reldred> actually just get me a choccy milk
10:40:38 <petern> <https://www.reddit.com/r/openttd/comments/zfcm29/compact_2_way_logic_splitter/> lols
10:45:06 <andythenorth> still not doom guy face
10:54:38 *** mlt has joined #openttd
10:54:38 <mlt> i'd love factorio style curcuit logic for openttd
10:57:32 <andythenorth> ok Horse railcars need variants 😛
10:57:42 <andythenorth> currently they have alternative livery via ctrl-click
10:58:47 <andythenorth> oh wait Tesco
10:58:49 <andythenorth> or Coop
10:59:05 <LordAro> which is closer?
10:59:42 <andythenorth> Coop
11:00:07 <LordAro> i choose that one
11:00:37 <petern> Coop is less evil
11:01:06 <andythenorth> hmm those constant names
11:01:37 <andythenorth> ` "VEHICLE_FLAG_DISABLE_NEW_VEHICLE_MESSAGE" : 0,
11:01:37 <andythenorth> "VEHICLE_FLAG_DISABLE_EXCLUSIVE_PREVIEW" : 1,
11:01:37 <andythenorth> "VEHICLE_FLAG_SYNCHRONISE_VARIANT_EXCLUSIVE_PREVIEW" : 2,
11:01:37 <andythenorth> "VEHICLE_FLAG_SYNCHRONISE_VARIANT_RELIABILITY" : 3,
11:01:37 <andythenorth> `
11:02:26 <andythenorth> can we TLD variants somehow?
11:02:47 <andythenorth> EVG?
11:02:53 * petern SYNC
11:03:26 <EmperorJake> VEH_FLAG_SYNC_VAR_REL
11:03:34 <DorpsGek> [OpenTTD/nml] andythenorth updated pull request #272: Feature: support for variant_group action 0 prop for vehicles https://github.com/OpenTTD/nml/pull/272
11:04:37 <LordAro> VFSVR for short
11:04:40 <andythenorth> VEH would be shorter, precedent is VEHICLE
11:04:51 <petern> Does it need to be short?
11:05:12 <andythenorth> well
11:05:20 <andythenorth> I like long constant names, they're obvious and don't collide
11:05:26 <andythenorth> I just suspect it won't pass review
11:06:00 <andythenorth> ok I've pushed SYNC
11:06:04 <andythenorth> think the rest are fine?
11:39:00 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1051463107739930674/image.png
11:39:00 <andythenorth> hmm Horse docs improved
11:39:55 <Pruple> v
11:40:40 <andythenorth> ok shops
11:40:48 <andythenorth> PR will be merged by time I get back? 😛
11:40:59 <Pruple> definitely
11:43:49 <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #10220: Feature: Engine variant groups https://github.com/OpenTTD/OpenTTD/pull/10220#issuecomment-1345531359
11:45:40 <petern> TaI is still the best
12:18:59 <andythenorth> Template Attribute Language?
12:31:02 *** birdjj has joined #openttd
12:34:32 <petern> Capital i
12:34:44 <petern> Silly Discord font.
12:35:55 <petern> Dock variants?
12:36:09 <petern> Engine classes?
12:36:21 <petern> You could search the class by name (but not search the vehicles in it)
12:36:29 <andythenorth> ctrl-click in depot increments a vehicle counter?
12:36:38 <andythenorth> more objects?
12:36:40 <petern> With a limit?
12:37:28 <petern> Remove variants, replace with ctrl-click
12:37:43 <petern> Add a property to expose how many variants there are.
12:37:53 <petern> Then you can display them in the purchase list.
12:38:18 <petern> Scrapping #10220
12:41:31 *** gelignite has joined #openttd
12:45:44 <andythenorth> ctrl-alt-click
12:46:04 <andythenorth> can we support mouse gestures?
12:46:30 <andythenorth> swipe to paint the train?
12:52:31 <andythenorth> mouse wheel?
12:53:40 <Wolf01> Mouse wheel tilt, or second mouse wheel?
12:53:55 <andythenorth> what about side buttons?
12:54:12 <andythenorth> on the mac you can shift-scroll which re-orients to horizontal
12:55:25 <Wolf01> I think that is universal
12:55:59 <andythenorth> train designer UI?
12:56:16 <andythenorth> petern: flat docks?
12:57:19 <petern> Wolf01: TIL
13:00:02 <petern> Any steamer variants?
13:02:35 <petern> Hmm, still not very random.
13:04:20 <DorpsGek> [OpenTTD/OpenTTD] andythenorth commented on pull request #10220: Feature: Engine variant groups https://github.com/OpenTTD/OpenTTD/pull/10220#issuecomment-1345549391
13:04:34 <andythenorth> no steamer variants yet
13:04:43 <andythenorth> I can look at that
13:08:57 <andythenorth> shall I just do liveries?
13:09:09 <andythenorth> or the tender-first reversed train thing?
13:10:58 <andythenorth> meh, the most direct way to do that would be duplicating action 1s
13:11:13 <andythenorth> in fact, that might be the only way to do it
13:12:35 <andythenorth> how bad are action 1s?
13:13:52 <andythenorth> Pruple: reversed garratt?
13:14:04 <Pruple> did he?
13:14:46 <andythenorth> dunno
13:15:17 *** birdjj has quit IRC (Quit: The Lounge - https://thelounge.chat)
13:16:40 *** birdjj has joined #openttd
13:16:53 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1051487742615371836/image.png
13:16:56 <andythenorth> photoshop 😛
13:17:18 *** birdjj has quit IRC ()
13:17:18 <andythenorth> looks like it's pushing?
13:17:34 <Wolf01> Hmmm, no?
13:18:48 *** birdjj has joined #openttd
13:21:45 <Wolf01> Would it be possible to add more climates with grfs? Not replace, add
13:26:29 <petern> Climate is basically different ground sprites, and different vehicle/house/industry availability.
13:26:32 <petern> So I guess.
13:26:59 <petern> More interesting would be map biomes.
13:27:26 <Wolf01> Also that
13:28:13 <Wolf01> A north american landscape based on temperate with deserts biomes could be fine
13:29:36 <andythenorth> "map array rewrite"
13:29:39 <andythenorth> just getting it in early
13:29:55 <petern> Landscape generator rewrite
13:30:55 <andythenorth> GPT3 can do it
13:30:59 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1051491284960948254/image.png
13:31:15 <andythenorth> ^ this is done by cheating currently, is it a good idea?
13:31:32 <andythenorth> (it doesn't know the correct vehicle lengths currently)
13:32:50 <andythenorth> I have some horrific ideas for reversing the vehicle units in the compile 😄
13:32:59 <andythenorth> ok why am I asking, I think we know I'm going to do this 😛
13:33:37 <andythenorth> will need to move the smoke also
13:34:28 <andythenorth> also
13:34:40 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1051492215182069760/image.png
13:34:40 <andythenorth> tank engines are randomly built reversed
13:34:45 <andythenorth> but it has been reported as a bug a few times
13:34:53 <andythenorth> should that not be random, but variants instead?
13:35:43 <andythenorth> new button on buy list? "Buy (random variant)"
13:35:51 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1051492515536187412/image.png
13:35:51 <andythenorth> I could provide dice icons 😛
13:54:14 <andythenorth> what if we could ctrl-click for articulated vehicles? 😛
13:54:21 <andythenorth> I am aware this cannot be done 😛
14:22:55 <TallTyler> I do like the option to buy a random variant
14:23:15 <TallTyler> Not sure where in the UI it would go
14:23:33 <TallTyler> Ctrl-click the Buy button? 😛 (only half joking)
14:24:13 <TallTyler> Then similar Horse wagons could be variants of some base class like boxcar
14:55:58 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
15:25:19 *** WormnestAndroid has joined #openttd
15:50:05 <andythenorth> was it nap time?
15:51:46 <petern> Nope
15:56:19 <andythenorth> I may need to admit a mistake in that case
16:13:27 <petern> Meh saveload conversion failing, poot.
16:17:56 *** sla_ro|master has joined #openttd
16:30:26 <andythenorth> why am I making steam engines that drive backwards?
16:31:26 <Eddi|zuHause> because REALISM!!!
16:31:40 <andythenorth> maybe
16:33:04 <petern> Variants eh?
16:35:07 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1051537626311696494/image.png
16:35:07 <andythenorth> this is sort of supported now
16:35:14 <andythenorth> although the smoke is still wrong when running
16:36:03 <andythenorth> did I miss the merge of 10220? I was napping 😛
16:49:34 <DorpsGek> [OpenTTD/OpenTTD] PeterN updated pull request #10220: Feature: Engine variant groups https://github.com/OpenTTD/OpenTTD/pull/10220
16:49:37 <petern> Maybe better o_O
16:50:29 <andythenorth> I do a build
16:51:16 <andythenorth> 78%
16:51:18 <andythenorth> slow
16:53:28 <andythenorth> reliability sync works so far across variants
16:54:13 <petern> Yes it is, the issue was it was very similar for non-synced engines too.
17:00:34 <petern> Maybe we should have apply an extra random seed when executing StartupEngines()
17:00:39 <petern> -have
17:18:59 <andythenorth> hmm
17:19:07 <andythenorth> I should move variant creation to post_init_actions
17:19:09 <andythenorth> cleaner
17:21:57 <petern> Simpler ctrl-click variants?
17:22:19 <andythenorth> 'maybe'
17:22:33 <andythenorth> I like 10220 though
17:22:55 <andythenorth> ctrl-click sucks for auto-replace 😛
17:23:42 <petern> Very
17:25:12 <andythenorth> I think I'm going to remove all ctrl-click Horse liveries, except where it flips 1CC and 2CC for wagons
17:29:50 *** HerzogDeXtEr1 has joined #openttd
17:31:00 <petern> Alternate paint
17:31:27 <petern> Does the paint job change when the wagon reverses?
17:33:22 <petern> That's what ctrl-click does, right? It calls CMD_REVERSE_TRAIN_DIRECTION
17:34:00 <petern> Which then does ToggleBit(v->flags, VRF_REVERSE_DIRECTION);
17:34:13 <andythenorth> yes
17:34:21 <andythenorth> then I read the bit and flip company colour
17:34:25 <andythenorth> or other stupid tricks
17:34:30 <andythenorth> but the stupid tricks can be deleted
17:35:25 <petern> Ah, that's different from VRF_REVERSING 🙂
17:35:32 *** HerzogDeXtEr has quit IRC (Ping timeout: 480 seconds)
17:35:46 <andythenorth> oh wait, which one is the one that counts reversing of whole consist?
17:35:49 * andythenorth has to look now :P
17:36:01 <petern> Okay so why can one not toggle VRF_REVERSE_DIRECTION on an articulated engine...
17:36:31 <petern> VRF_REVERSING is the whole consist, yes.
17:36:36 *** Wormnest has joined #openttd
17:36:43 <andythenorth> I think it's 0xC8 I'm reading probably
17:37:01 <petern> Same variable, different bit.
17:37:23 <andythenorth> the train reversed one is 0xFE
17:38:55 <andythenorth> Eddi has explained to me at least twice why we can't reverse articulated engines
17:39:00 <andythenorth> but I forget
17:40:08 <petern> Oh right, 48 is sprite num, which is... absolutely silly.
17:40:22 <petern> But it is FE for reversed, and FD for not.
17:40:59 <petern> and var FE/FF
17:41:23 <petern> which is modflags, which has VRF_TOGGLE_REVERSE. Huh.
17:41:56 <petern> Nice, 3 flags 🙂
17:42:24 <petern> This is all smelly historical reasons
17:42:31 *** Flygon has quit IRC (Quit: A toaster's basically a soldering iron designed to toast bread)
17:42:52 <andythenorth> such
17:44:33 <petern> <https://bbcmic.ro/?t=6Rp3b> Oh christmas tree, oh christmas tree..
17:51:07 <andythenorth> most beautiful thing I've seen this year
17:51:15 <andythenorth> 17 lines also
18:01:28 <andythenorth> hmm shall I drop the commit for stupid reversing variant hack? 😛
18:35:25 <andythenorth> 'yes'
18:44:40 <DorpsGek> [OpenTTD/OpenTTD] DorpsGek pushed 1 commits to master https://github.com/OpenTTD/OpenTTD/commit/49c121ec2946ce3fd2255c2c0510fc6fe71c3c79
18:44:41 <DorpsGek> - Update: Translations from eints (by translators)
18:44:59 *** wallabra_ has joined #openttd
18:50:23 *** wallabra has quit IRC (Ping timeout: 480 seconds)
18:50:23 *** wallabra_ is now known as wallabra
19:22:04 <petern> Such UI
19:27:20 <petern> More thinking with portals.
19:35:00 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1051582898072985681/image.png
19:35:00 <andythenorth> maybe I should do the coaches next
19:35:08 <andythenorth> 2 liveries, ctrl-click magic
19:35:12 <andythenorth> -> variants
19:39:03 *** Wormnest has quit IRC (Ping timeout: 480 seconds)
19:43:08 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
19:43:38 *** WormnestAndroid has joined #openttd
19:51:43 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
19:51:43 *** WormnestAndroid has joined #openttd
20:00:36 <petern> It would un-hide them.
20:03:37 <petern> nVidia Remix is quite impressive.
20:05:05 <andythenorth> is it an AI 😛
20:05:08 <andythenorth> what does it do?
20:08:09 *** Wormnest has joined #openttd
20:23:13 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1051595027391983687/image.png
20:23:18 <petern> It's like RTX ON for specific DX8/9 games, it can intercept textures and assets and replace them with updated versions, along with adding raytracing.
20:23:33 <petern> It's how they did Portal RTX.
20:23:41 <petern> That is a coach with variants.
20:23:45 <andythenorth> it is
20:23:48 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1051595178261102623/image.png
20:23:58 <andythenorth> however only the buy menu works 😛
20:24:23 <petern> Oof
20:24:45 <petern> When do we implement an in-game voxel renderer?
20:24:49 <andythenorth> yes
20:25:14 <petern> Actually why bother. 3D model renderer.
20:25:47 <petern> Step 1: automatically render model into 8 directional sprites.
20:25:58 <petern> Step 2: ...
20:26:01 <petern> Step 3: Profit
20:26:40 <andythenorth> well
20:26:48 <andythenorth> sprites have funny lengths 😛
20:26:58 <andythenorth> in different angles
20:28:37 <andythenorth> hmm
20:29:05 <andythenorth> I could do a coach that magically adapts to certain engines
20:29:06 <andythenorth> like now
20:29:16 <andythenorth> but also you can choose specific variants
20:29:21 <andythenorth> but that will waste action 1s
20:29:36 <andythenorth> I can't be arsed to refactor the compile to group all the action 1s
20:36:13 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
20:37:00 *** WormnestAndroid has joined #openttd
20:39:43 <petern> An in-game renderer could know all that, heh.
20:39:50 <petern> But yes.
20:40:08 <petern> What is a wasted action 1?
20:40:13 <andythenorth> duplicate
20:40:33 <andythenorth> /me wonders why the author has to manage this crap
20:40:38 <petern> You can link to the same action 1s
20:40:48 <andythenorth> I can yes, the compile isn't constructed that way currently 😛
20:41:40 <petern> Problem is you've built a huge automated work flow which wasn't designed for this 🙂
20:41:43 <andythenorth> there are some global action 1s, but most are defined per-vehicle
20:41:50 <petern> Imagine if you had a separate artist and coder like the big NewGRFs 😉
20:41:53 <andythenorth> imagine
20:42:00 <andythenorth> when is TrueGRF done?
20:42:35 <andythenorth> I mean....there are 93000 duplicate action 1s already
20:42:38 <andythenorth> what's a few more? 😛
20:44:27 <petern> NFO would be easier right?
20:44:51 <andythenorth> much
20:45:01 <andythenorth> it would limit the scope to about 10% 😛
20:45:12 <andythenorth> NML encourages...ideas
20:46:03 <FLHerne> action1 is basically spriteset {}, right?
20:46:13 <andythenorth> yes
20:46:33 <FLHerne> I wonder if NML can deduplicate those
20:46:40 <andythenorth> not really 🙂
20:46:50 <andythenorth> nearly all of the duplicates would be gone if OpenTTD handled vehicles that are less than 8/8
20:47:34 <FLHerne> do I misunderstand what you mean by "duplicate"?
20:47:34 <andythenorth> for e.g. a 6/8 vehicle there is no real choice excepting duplicating the action 1
20:47:41 <andythenorth> sprites come in blocks of 8
20:48:01 <andythenorth> and to handle non 8/8 vehicles, two blocks are needed
20:48:10 <andythenorth> but it's the same realsprites, different sequence
20:48:17 <petern> What's the issue with shorter vehicles?
20:48:25 <glx[d]> reverse
20:48:26 <andythenorth> they don't adjust the offsets
20:48:54 <andythenorth> there's some reason they can't currently
20:48:59 <andythenorth> probably grfs
20:49:04 <andythenorth> usually it's grfs
20:49:05 <petern> Is this one of those things where instead of actually reporting a bug, people developed silly workarounds?
20:49:18 <glx[d]> probably
20:49:23 *** gelignite has quit IRC (Quit: Stay safe!)
20:49:29 <glx[d]> you know how grf authors are
20:49:30 <petern> And by reporting I mean filing it, not just saying "it doesn't work"
20:49:35 <andythenorth> I think that dice comes up 6
20:49:57 <andythenorth> well...the old way was to ask in irc, and get told it can't be fixed and needs a state machine
20:50:09 <andythenorth> but I am looking if there's an issue, and will make one if not
20:51:26 <glx[d]> at least we stopped them abusing temp storage for inter grf communication 🙂
20:51:36 <petern> Oof, what?
20:52:29 <andythenorth> we could do what now?
20:52:33 <andythenorth> this sounds interesting
20:52:39 <glx[d]> temp storage used to be not reset before each varact2 resolution
20:53:34 <glx[d]> so of course it was abused
20:54:42 <glx[d]> but I think it was only abused inside grf, not between them
20:55:03 <petern> Probably thought it was intentional.
20:55:07 <petern> It's storage right...
20:59:58 <andythenorth> I don't see an issue for < 8/8 vehicles
21:06:54 <andythenorth> ok is it a bug?
21:07:07 <andythenorth> /me gets a twitch from grf authors requesting spec features 😛
21:07:09 <andythenorth> historically
21:11:22 <andythenorth> oof I should make a test case shouldn't I 😦
21:13:11 <andythenorth> oh that's a one line change in Horse 😛
21:20:22 <andythenorth> meh I can't repro the exact issue
21:20:41 <andythenorth> without the special handling, I get blank sprites when flipping some 6/8 vehicles
21:25:00 <DorpsGek> [OpenTTD/OpenTTD] andythenorth opened issue #10231: [Bug]: GRF vehicles < 8/8 long need special handling of action 1 realsprites when reversed (flipped) https://github.com/OpenTTD/OpenTTD/issues/10231
21:35:13 <DorpsGek> [OpenTTD/OpenTTD] andythenorth commented on issue #10231: [Bug]: GRF vehicles < 8/8 long need special handling of action 1 realsprites when reversed (flipped) https://github.com/OpenTTD/OpenTTD/issues/10231
21:37:13 <DorpsGek> [OpenTTD/OpenTTD] andythenorth commented on issue #10231: [Bug]: GRF vehicles < 8/8 long need special handling of action 1 realsprites when reversed (flipped) https://github.com/OpenTTD/OpenTTD/issues/10231
21:41:35 <DorpsGek> [OpenTTD/OpenTTD] andythenorth commented on issue #10231: [Bug]: GRF vehicles < 8/8 long need special handling of action 1 realsprites when reversed (flipped) https://github.com/OpenTTD/OpenTTD/issues/10231
21:43:45 <dP> can reversed offsets even be determined automatically in general case?
21:44:00 <dP> though I guess having sensible defaults won't hurt anyway
21:44:15 <andythenorth> dunno, every time this was discussed someone said it can't be fixed 🙂
21:44:17 <andythenorth> but eh
21:44:37 <andythenorth> it's not like my compile-side fix is complicated eh? https://github.com/andythenorth/iron-horse/blob/main/src/utils.py#L82
21:45:16 *** nielsm has quit IRC (Ping timeout: 480 seconds)
21:45:58 *** Tirili has joined #openttd
21:46:35 <dP> it's overcomplicated :p
21:46:39 <dP> `flipped_offsets = base_offsets[4:8] + base_offsets[0:4]`
21:46:59 <andythenorth> well
21:47:03 <andythenorth> 😛
21:47:18 <dP> actually even just return
21:47:26 <andythenorth> that would definitely improve the main issue 😛
21:48:10 *** _aD has joined #openttd
21:49:27 *** keikoz has quit IRC (Ping timeout: 480 seconds)
21:53:37 <dP> another way to fix it is to allow reusing the same sprite with different offsets
21:54:52 <dP> or, well, "fix"
21:56:06 <JGR> The GRF file format does allow re-using real sprite data with multiple action 1s
21:56:24 <dP> but only with same offsets afaict
21:57:01 <dP> though I guess in this case they're just shifted around so that will work
21:59:51 <dP> I need to add sprite de-duplicator to grf-py
22:00:14 <dP> So I can advertise it every time andy mentions dupes 😆
22:00:56 <JGR> Yes, it seems offsets are loaded from the same place as data in LoadSpriteV2
22:02:08 <andythenorth> can we post-process the grf on load?
22:02:29 <dP> oh, actually, no, it won't work in this case as if I'm reading it right horse only switches offsets but sprites stay the same
22:02:29 <andythenorth> not really wanting to fix all the toolchains to teach them about a new way to action 1 😛
22:04:10 <JGR> It'd probably be easier to add some flag to do the swap at runtime which you could set via temp store variable 0x100 or whatever
22:06:00 <dP> it may require some awkward code to take offset from another sprite
22:07:54 <JGR> Or just put the offset to add in the register
22:08:30 <dP> yep, third way to do sprite layouts 🤣
22:08:47 <andythenorth> we can't fix it in the client because it will break existing grfs?
22:09:11 <JGR> You'd have to add a flag to enable the new mode, there are plenty of flags like that
22:09:50 <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on issue #10231: [Bug]: GRF vehicles < 8/8 long need special handling of action 1 realsprites when reversed (flipped) https://github.com/OpenTTD/OpenTTD/issues/10231
22:10:40 <DorpsGek> [OpenTTD/OpenTTD] andythenorth commented on issue #10231: [Bug]: GRF vehicles < 8/8 long need special handling of action 1 realsprites when reversed (flipped) https://github.com/OpenTTD/OpenTTD/issues/10231
22:10:58 <DorpsGek> [OpenTTD/OpenTTD] andythenorth commented on issue #10231: [Bug]: GRF vehicles < 8/8 long need special handling of action 1 realsprites when reversed (flipped) https://github.com/OpenTTD/OpenTTD/issues/10231
22:11:39 <andythenorth> I could show the bounding boxes in screenshot, but doesn't add much
22:12:36 <petern> 4.2MB is a bit big for a test-case
22:13:18 <petern> As is your NML.
22:14:20 <DorpsGek> [OpenTTD/OpenTTD] Eddi-z commented on issue #10231: [Bug]: GRF vehicles < 8/8 long need special handling of action 1 realsprites when reversed (flipped) https://github.com/OpenTTD/OpenTTD/issues/10231
22:14:29 <andythenorth> someone could make a smaller one 🙂
22:15:17 <andythenorth> ^ Eddi's comment is why I never filed a bug
22:15:25 <andythenorth> it's the intended spec, not a bug
22:18:24 <Eddi|zuHause> there's probably some clever trick for making it work without special sprites, but a) is probably more involved, and b) probably breaks other existing things
22:22:27 <dwfreed> I mean, it seems like it's padding the sprite to 8 and then mirroring it, instead of mirroring it on its original size?
22:29:58 <Eddi|zuHause> as far as i remember (without looking things up) is that the issue is that the anchor point of the sprite is not the center of the bounding box, but the backside of the bounding box (the hidden corner)
22:30:12 <Eddi|zuHause> and that was originally the unshortened bounding box
22:30:17 *** sla_ro|master has quit IRC ()
22:30:34 <Eddi|zuHause> so the bounding box was asymmetric
22:31:12 <Eddi|zuHause> at some point the bounding boxes got fixed, but the offsets had to stay the same
22:33:13 <Eddi|zuHause> thus the flipping works on the original 8/8 bounding box, even if the real bounding box is now shortened
22:47:11 <petern> andythenorth: your offsets are all over the place, even for non-short wagons.
22:47:37 <andythenorth> super 🙂
22:48:38 <andythenorth> I never tried them with original vehicles, wonder how that looks
22:50:28 <andythenorth> it must be at least a year since I last reset them all, probably time again? 😛
22:51:43 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
22:52:28 *** WormnestAndroid has joined #openttd
22:52:42 <andythenorth> I should release new ones annually, collectables
22:52:57 <petern> Heh
22:53:30 <andythenorth> ok they definitely don't match OGFX+ trains, for whatever that's worth
22:54:23 <andythenorth> oh, I think that's because I draw \ / views taller than default sprites maybe
22:54:47 <andythenorth> yeah 6 pixel coach sides not 5 pixel
22:54:55 <petern> Hm
22:55:52 <petern> Step 1: Fix the sprite aligner...
22:56:33 <andythenorth> ok, it's been a while since offsets got changed, maybe they're getting stale https://github.com/andythenorth/iron-horse/commit/851f98e6bb636ba2c1b2a79160a2d7d7cf901ed1
22:56:55 <glx[d]> sprite aligner, the thing that always moves ?
22:57:14 <andythenorth> I never filed a bug against it 😛
22:57:20 <andythenorth> because I never worked out what's broken
22:57:21 <petern> Always moves?
22:57:33 <andythenorth> it's great for finding sprite numbers though 😛
22:57:56 <petern> Main issue is it cancels out the offsets to the sprite is always centred.
22:57:58 <glx[d]> I never understood how to use it
22:58:03 <petern> So it's kinda useless.
22:58:56 <andythenorth> it's good for moving sprites around by relative amounts, and counting
22:59:03 <andythenorth> then adding the delta to the values in nml 😛
22:59:10 <andythenorth> I use my fingers 😛
22:59:25 <andythenorth> if the delta is > 10 I have to do it twice
22:59:33 <petern> The number it displays is the sprite offset... what's tricky about that?
23:00:37 <andythenorth> it's better now it's chunky
23:05:18 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
23:06:55 <reldred> I am looking forward to JGRPP 0.50 now that it has the chunk
23:07:00 <reldred> chonk
23:07:46 <petern> Eddi for / and \ views, yeah.
23:07:55 <petern> For horizontal or vertical, it's the centre.
23:08:04 <petern> At least for 8/8 😄
23:16:00 * andythenorth must to sleeping
23:31:42 <petern> Somebody changed english.txt