IRC logs for #openttd on OFTC at 2025-07-23
            
00:07:59 *** Flygon has joined #openttd
00:26:01 *** NGC3982 has joined #openttd
00:26:07 *** NGC3982 has quit IRC ()
00:27:02 *** tokai|noir has quit IRC (Quit: c('~' )o)
00:27:18 *** tokai has joined #openttd
00:27:18 *** ChanServ sets mode: +v tokai
01:08:28 *** Heiki has joined #openttd
01:29:00 *** xava has joined #openttd
01:31:53 <talltyler> Always fun when a comment starts `// HACK …` 😛
01:42:42 <_glx_> oh it's more fun when there's no comment mentioning it
02:02:37 *** herms has quit IRC (Quit: bye)
02:03:33 *** herms has joined #openttd
02:33:04 *** wormnest[m] has joined #openttd
02:38:11 *** Wormnest has quit IRC (Quit: Leaving)
02:50:37 *** gnu_jj has joined #openttd
02:53:54 *** gnu_jj_ has quit IRC (Ping timeout: 480 seconds)
03:00:04 *** herms has quit IRC (Quit: bye)
03:04:07 *** herms has joined #openttd
03:18:45 *** xava has quit IRC (Quit: Leaving)
03:25:00 *** xava has joined #openttd
03:27:22 *** xava has quit IRC ()
04:48:25 <DorpsGek> [OpenTTD/OpenTTD] eints-sync[bot] pushed 1 commits to master https://github.com/OpenTTD/OpenTTD/commit/ae917cb8c61aea7fe1bd0738f52354f59654aa48
04:48:26 <DorpsGek> - Update: Translations from eints (by translators)
04:54:40 *** WormnestAndroid has quit IRC (Remote host closed the connection)
04:54:43 *** WormnestAndroid has joined #openttd
06:02:58 *** dh1 has quit IRC (Quit: My Mac has gone to sleep. ZZZzzz…)
06:25:03 *** dh1 has joined #openttd
06:26:03 *** dh1 has quit IRC ()
06:26:46 *** dh1 has joined #openttd
07:37:18 *** Smedles has quit IRC (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
07:37:30 *** Smedles has joined #openttd
08:47:10 *** xava has joined #openttd
08:47:25 *** xava has quit IRC ()
09:18:32 *** dh1 has quit IRC (Quit: My Mac has gone to sleep. ZZZzzz…)
09:18:43 *** alpapilus has joined #openttd
09:18:43 <alpapilus> _jgr_: I like those styles of stations, where you have to enter the street to switch platforms.
09:45:55 *** wm_ has joined #openttd
09:46:04 *** wm_ is now known as MinchinWeb
10:28:50 <peter1138[d]> Well.
10:37:21 <peter1138[d]> <https://www.tt-forums.net/viewtopic.php?p=1274863#p1274863> "vague" 😄
10:44:56 <talltyler> Vague == “I don’t understand it”
10:59:11 <peter1138[d]> How much performance would we get from replacing small vectors with arrays?
11:03:06 *** SigHunter has quit IRC ()
11:05:57 *** SigHunter has joined #openttd
11:59:38 *** MinchinWeb has quit IRC (Ping timeout: 480 seconds)
12:01:30 *** MinchinWeb has joined #openttd
12:04:49 *** michielbraas has joined #openttd
12:05:22 *** michielbraas is now known as lobster
12:09:56 <lobster> anyone in here still using Michael Blunck's NewStations newgrf?
12:11:35 <peter1138[d]> Still one of the best, IMHO.
12:14:29 <lobster> absolutely, all of his newgrfs are really
12:15:15 <lobster> but I installed them last night and am having some palette issues, so I wondered if this something that's a common issue
12:15:29 <lobster> already checked the tt-forums threads but nothing (recently) about it
12:15:51 <lobster> fairly sure I got the TTDptach Win / OpenTTD version too, from his ttdpatch.de site
12:17:49 <peter1138[d]> I use `newstats.grf` with palette set to Default (which means DOS).
12:18:26 <peter1138[d]> If you have `newstatsw.grf`, you'll need to use the "Toggle palette" button so the palette is "Legacy (W)"
12:18:49 <lobster> ah so that's it, thanks
12:19:16 <lobster> is it smarter to set the palette to legacy or to swap it for the DOS version?
12:19:40 <peter1138[d]> If a NewGRF has a choice of Windows or DOS versions, the DOS version should be preferred as there's more colours available in the DOS palette. Though whether the NewGRF uses them is another matter.
12:20:22 <DorpsGek> [OpenTTD/OpenTTD] janisozaur updated pull request #14365: Add: Gamepad viewport scrolling https://github.com/OpenTTD/OpenTTD/pull/14365
12:20:53 <DorpsGek> [OpenTTD/OpenTTD] janisozaur commented on pull request #14365: Add: Gamepad viewport scrolling https://github.com/OpenTTD/OpenTTD/pull/14365#issuecomment-3107747969
12:22:12 <lobster> intriguing, for some reason from back in the old TTDpatch days I always got the sense it was the other way round and the Win palette was the better one but I must've picked that up wrong
12:22:20 <lobster> not the first time that happens really
12:29:09 <peter1138[d]> In TTDPatch it really did depend on which version of the game you were running.
12:30:06 <peter1138[d]> So that kinda stuck with OpenTTD until at some point automatic palette conversion was implemented.
12:30:30 <peter1138[d]> Everyone just kinda assumed that Windows would be superior to DOS, as well 🙂
12:32:08 *** SigHunter has quit IRC (Ping timeout: 480 seconds)
12:52:31 <_glx_> windows palette is full of pink
13:02:31 <rito12_51026> https://cdn.discordapp.com/attachments/1008473233844097104/1397564533924691998/Zrzut_ekranu_z_2025-07-23_14-24-00.png?ex=68822ee6&is=6880dd66&hm=509800ca6290bd6ca2d9627f057a3ba592395e38c9386606473f46d813492331&
13:02:31 <rito12_51026> peter1138[d]: I've made it, but probably it is inefficient. How do I run performance tests?
13:03:01 <LordAro> hilarious
13:05:14 <peter1138> I think performance is the least of any issues here :-)
13:21:13 *** MinchinWeb has quit IRC (Ping timeout: 480 seconds)
13:21:17 <bigyihsuan> rito12_51026: looking at this image makes me feel itchy
13:54:59 * peter1138 attempts to remove legacy code.
13:57:55 <LordAro> *explosions heard in the distance*
14:03:37 <peter1138> You know what? "Maybe it'll be used later."
14:03:59 <LordAro> a classic
14:08:14 <kuhnovic> Addition a feature? Sure, no problem. Removing something? Not in a million years.
14:12:33 *** SigHunter has joined #openttd
14:18:56 *** SigHunter_ has joined #openttd
14:25:40 *** SigHunter has quit IRC (Ping timeout: 480 seconds)
14:28:34 <peter1138> When it's deeply embeded in a database schema as well, it gets a bit painful :(
14:30:29 *** Wormnest has joined #openttd
14:42:59 <DorpsGek> [OpenTTD/OpenTTD] FLHerne commented on pull request #13289: Feature: Draw infinite water when all borders are water https://github.com/OpenTTD/OpenTTD/pull/13289#issuecomment-3108954645
16:37:20 *** Smedles has quit IRC (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
16:37:32 *** Smedles has joined #openttd
17:12:09 <peter1138> Urgh.
17:19:57 *** Flygon has quit IRC (Remote host closed the connection)
17:50:58 <Rubidium> peter1138: regarding the 'prevent access to baseset parameter' PR, to what extent can access be limited except when an actual sprite ID to be drawn is resolved? Would that make any sense?
17:59:07 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 approved pull request #14475: Codechange: Simplify/breakout logic for selecting bridge table sprites. https://github.com/OpenTTD/OpenTTD/pull/14475#pullrequestreview-3048469133
18:08:25 <peter1138> Hmm, that might be possible. Sprites are drawn with "callback 0". If variable access is allowed for that case then graphical changes via action 3/2/1 chains might be feasible.
18:10:32 <michi_cc> Could you sneak a 'write permanent storage' (for the features that have it) into there? If yes, somebody will get ideas 🙂
18:12:36 <_jgr_> Writing permanent storage from graphics callbacks would create pretty immediate problems even without any kind of baseset reads
18:15:11 <peter1138> I must admit I was mostly thinking of act7/9 blocks, which would be harder to test for safety.
18:15:21 <peter1138> s/blocks/skips/
18:30:51 *** wm_ has joined #openttd
18:56:59 *** wm_ has quit IRC (Ping timeout: 480 seconds)
19:03:21 *** reldred has quit IRC (Quit: User went offline on Discord a while ago)
19:06:43 <ahyangyi> oof
19:06:50 <ahyangyi> Then there are also act6 blocks...?
19:07:36 *** Wolf01 has joined #openttd
19:11:10 <peter1138> act6 can only apply local parameters, so isn't affected.
19:12:26 <peter1138> local = its own.
19:31:19 <DorpsGek> [OpenTTD/OpenTTD] PeterN merged pull request #14475: Codechange: Simplify/breakout logic for selecting bridge table sprites. https://github.com/OpenTTD/OpenTTD/pull/14475
19:32:42 *** wm_ has joined #openttd
19:36:00 <_glx_> but act6 uses params set by actD, and actD can access params of other grf
19:37:58 <peter1138> Yes, the PR blocks Act7, 9 & D.
19:39:00 *** dh1 has joined #openttd
19:39:14 <peter1138> Hmm, in fact.
19:41:45 <rito12_51026> Why order in ParentSpriteToDraw struct has to be uint32_t, can't it be for example uint16_t or uint8_t?
19:42:23 <peter1138> Yeah, I don't think there is any access to another GRF's parameters via act2 variables.
19:42:27 <ahyangyi> peter1138: Makes sense in general, though I would also wish for station cb14
19:42:51 <peter1138> So Rubidium's comment about resolving sprites is not going to work.
19:45:24 <peter1138> Only Act D can access another GRFs parameters, so that sets local parameters. Act7/9 only test for GRF presence.
19:45:30 <peter1138> Pom te pom.
19:47:20 <peter1138> rito12_51026, because a `uint16_t` or `uint8_t` wouldn't fit world coordinates.
19:48:01 <ahyangyi> Not entirely, I guess? We can keep track whether each local parameter is "dependent on baseset parameters"
19:48:23 <Rubidium> peter1138: too bad, it was worth a ponder... so basically it's up to the NewGRF authors to not do stupid things
19:49:04 <ahyangyi> The only way for such a dependency to propagate in local parameters is via actionD, so it's possible to keep track of that
19:49:24 <peter1138> Querying parameters during "sprite drawing" time would be quite complex too, to do correctly.
19:49:40 <peter1138> e.g. which baseset is actually loaded, and what version of it...
19:51:02 <peter1138> ahyangyi, whatever you are saying doesn't seem to mean anything in the context of parameter access.
19:51:38 <peter1138> "propagate", "dependency" and "track" are not involved in parameter access.
19:52:29 <ahyangyi> peter1138: Was about this
19:53:06 <ahyangyi> You can allow Act D, but remember what parameters it touched
19:53:34 <ahyangyi> And only allow such touched parameters to be read in graphical act2s
19:54:09 <peter1138> Nope.
19:54:35 <peter1138> Oh, maybe.
19:55:50 <ahyangyi> Yeah, I'm not entirely convinced it's worth the effort, but I think it's a technical possibility
20:00:52 *** tokai|noir has joined #openttd
20:00:52 *** ChanServ sets mode: +v tokai|noir
20:02:29 <rito12_51026> peter1138: Does it also apply to PaletteID type?
20:05:18 <peter1138> Yes.
20:06:22 <peter1138> Probably the z-coordinates don't need to be uint32_t, but I think for SSE, alignment is important in that struct.
20:07:34 *** tokai has quit IRC (Ping timeout: 480 seconds)
20:12:32 *** wm__ has joined #openttd
20:13:09 <rito12_51026> Thanks, min z-coordinate works fine as uint16_t
20:16:58 <DorpsGek> [OpenTTD/OpenTTD] PeterN opened pull request #14476: Fix: Disallow unsafe access to baseset parameters. https://github.com/OpenTTD/OpenTTD/pull/14476
20:17:04 <peter1138> ahyangyi, well.
20:17:37 <peter1138> Now I need to find a NewGRF that does actually do this :p
20:19:19 *** wm_ has quit IRC (Ping timeout: 480 seconds)
20:23:38 <peter1138> Ah, it's not correct.
20:24:11 <peter1138> It's not unsafe to access parameters across other configured GRFs.
20:29:24 <brickblock19280> Is blocking for accessing if the grf exists also a part of the pr
20:29:57 <peter1138> Yes, testing for a particular baseset is unsafe.
20:33:04 <brickblock19280> Yeah I know but it wasn't in the title
20:36:36 <peter1138> That PR is, indeed, a dud :)
20:49:03 *** wm__ has quit IRC (Quit: Leaving)
20:56:51 <peter1138> Right, what was that callback?
20:57:02 <peter1138> CB14...
20:57:29 <peter1138> /** Choose a tile layout to draw, instead of the standard range. */
20:57:34 <peter1138> Potentially ok...
21:05:58 <DorpsGek> [OpenTTD/OpenTTD] PeterN updated pull request #14476: Fix: Disallow unsafe access to baseset parameters. https://github.com/OpenTTD/OpenTTD/pull/14476
21:05:58 <peter1138> Bit more to it.
21:29:38 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
21:31:12 *** xava has joined #openttd
21:32:16 *** xava has quit IRC ()
21:32:29 *** Smedles has quit IRC (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
21:32:41 *** Smedles has joined #openttd
21:33:41 *** lucas795643 has joined #openttd
21:33:41 <lucas795643> I’ll help 10 people to earn $100k within 72 hours but you will pay me 10% of your profit when you receive it. Note only interested people should apply, drop a message let’s get started by asking (HOW) via TG or WhatsApp
21:33:41 <lucas795643> @David_lucas061
21:33:41 <lucas795643> +1 (618) 913-0036
21:33:41 <lucas795643> https://t.me/David_lucas061
21:36:18 <peter1138> Did I break JP+ bridges, or does it not work with vanilla rail types?
21:36:46 *** reldred has joined #openttd
21:36:46 <reldred> Doesn’t work with vanilla I believe
21:36:57 <reldred> Wants a rail set
21:37:21 <peter1138> Well that's... special.
21:38:21 <reldred> Mmm, I can understand why, supporting running without a rail set means you have to prepare sprites for every default rail and then inevitably put up with people wanting support for three different base sets.
21:39:28 <reldred> So nine sets of graphics per tile if you’re covering the three default rails and three most common base sets (ttdlx, opengfx1, opengfx2). Or you just tell people to load a rail set.
22:05:48 <andythenorth> was it naptime?
22:09:39 <peter1138> Always.
22:30:42 <reldred> That would be nice to auto load those