IRC logs for #openttd on OFTC at 2025-08-29
            
00:03:14 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler commented on pull request #14537: Doc: Define policy on AI usage in OpenTTD development https://github.com/OpenTTD/OpenTTD/pull/14537#issuecomment-3235298458
00:05:57 <dh1> there's a concept in tax law of a general anti-avoidance rule which is basically a catch-all "look, it doesn't matter what this is technically, we know tax avoidance when we see it" and i feel like an analogous kinda policy works best with LLM stuff
00:07:21 <dh1> i have bastardised the explanation of the GAAR there but this is irc so who gives a shit
00:34:16 *** Wormnest has quit IRC (Ping timeout: 480 seconds)
00:37:27 *** keikoz has joined #openttd
01:54:17 *** Wormnest has joined #openttd
02:01:08 *** Wormnest has quit IRC (Quit: Leaving)
03:00:06 *** herms has quit IRC (Quit: bye)
03:04:11 *** herms has joined #openttd
03:13:20 *** Zathras_11 has joined #openttd
03:16:52 *** Zathras has quit IRC (Ping timeout: 480 seconds)
04:38:59 <DorpsGek> [OpenTTD/OpenTTD] eints-sync[bot] pushed 1 commits to master https://github.com/OpenTTD/OpenTTD/commit/5c285f3e0cb5a7f287101510f91079cb3e02d2e5
04:39:00 <DorpsGek> - Update: Translations from eints (by translators)
04:57:15 <DorpsGek> [OpenTTD/OpenTTD] Rito13 commented on pull request #14548: Codechange: Add unit tests for tile creation [No LLM] https://github.com/OpenTTD/OpenTTD/pull/14548#pullrequestreview-3167362867
05:13:44 *** WormnestAndroid has quit IRC (Remote host closed the connection)
05:13:47 *** WormnestAndroid has joined #openttd
05:31:06 *** dh1 has quit IRC (Quit: My Mac has gone to sleep. ZZZzzz…)
05:38:15 <DorpsGek> [OpenTTD/OpenTTD] Rito13 commented on issue #13915: [Bug]: Excessive (spam of) vehicle testing offers https://github.com/OpenTTD/OpenTTD/issues/13915
06:14:31 *** keikoz has quit IRC (Ping timeout: 480 seconds)
06:52:28 <peter1138> https://www.youtube.com/watch?v=bYpCy61c8JE How many ears do you need anyway?
06:53:54 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain commented on pull request #14537: Doc: Define policy on AI usage in OpenTTD development https://github.com/OpenTTD/OpenTTD/pull/14537#issuecomment-3235938111
07:08:12 *** dh1 has joined #openttd
07:28:30 <yiffgirl> peter1138: this is surprisingly listenable
07:29:08 <yiffgirl> oh my god, this isn't the only four ears video they've done
07:36:12 <peter1138> Have you seen this live music coding? She just knocks out that code like magic. https://www.youtube.com/watch?v=HkgV_-nJOuE
07:49:42 <DorpsGek> [OpenTTD/OpenTTD] PeterN closed pull request #14425: Feature: [NewGRF] Stations under bridges https://github.com/OpenTTD/OpenTTD/pull/14425
07:49:45 <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #14425: Feature: [NewGRF] Stations under bridges https://github.com/OpenTTD/OpenTTD/pull/14425#issuecomment-3236081115
07:57:19 <andythenorth> hmm
07:57:27 <andythenorth> 64 railtypes eh
08:03:48 <DorpsGek> [OpenTTD/OpenGFX2] zephyris updated pull request #212: Doc: Update to correctly explain Github releases-based workflow https://github.com/OpenTTD/OpenGFX2/pull/212
08:09:48 <ahyangyi> Peter, is there stuff I can read about the existing blitters. 14547 "fixed" my issue but I feel very unsure about it.
08:11:12 *** orudge` has joined #openttd
08:11:12 *** ChanServ sets mode: +o orudge`
08:24:04 <LordAro> ahyangyi: the code and its history is probably the best you can do
08:40:33 <ahyangyi> Yeah, my patch is based on the part of the code I read, and when I look at its history I see Peter.
08:44:12 <andythenorth> is there a size limit to railtype props 0x0E and similar? They're `B n*D` in the spec
08:44:36 <andythenorth> I need to autogenerate labels based on all the possible combinations permitted in the standardised label scheme
08:47:06 <andythenorth> it's a countable number of combinations I think
08:47:42 <andythenorth> I think it's `ASCII character count * 5`
08:47:51 <andythenorth> so 640
08:52:52 <ahyangyi> The set of strings of arbitrary length is countable, so no worries 😛
08:54:08 <peter1138> The translation table maximum length is currently 255.
08:54:39 <peter1138> Wait, no it's not, I slyly raised it.
08:55:54 <peter1138> You can only set 255 in one go, but don't need to start at 0 any more.
08:56:04 <peter1138> Although...
08:56:18 <peter1138> The index into it is always a byte, so... uh, 256 limit.
08:57:01 <peter1138> As for Prop 0E etc, the size limit is also a 255 entries.
08:57:31 <peter1138> But as it's a raw label, not an index, you can use a different set of labels in each action.
08:57:59 <peter1138> These properties are, oddly, additive, so you can also just keep setting it.
08:59:09 <andythenorth> ok thanks
08:59:44 <andythenorth> in principle the second character of the standardised scheme has 128 valid entries
08:59:51 <andythenorth> unless we don't allow full ASCII
09:00:30 <peter1138> Are you being weird again?
09:01:23 <andythenorth> not intentionally, I have an idea that simplifies something
09:01:35 <andythenorth> but then I'm trying to be completionist about all cases
09:01:40 <andythenorth> which is the opposite of simple
09:06:01 <ahyangyi> andythenorth: Do we allow non-ASCII characters?
09:06:16 <ahyangyi> I know we do for labels in general, but I don't know much about rail types
09:07:45 <andythenorth> the label is a dword
09:08:28 <andythenorth> I don't know how the bytes map to ordinals, way out of my depth
09:09:10 <andythenorth> TL;DR I just want to provide compatibility from Horse trains to some of the most popular railtype grfs
09:09:17 <andythenorth> which is within scope
09:09:18 <peter1138> In the spec they are just 4 bytes of anything.
09:09:37 <peter1138> Even a NUL-byte is permitted but I would suggest to avoid that.
09:10:17 <peter1138> It's only badges which are different, as they are variable length strings. Technically they can have any non-NUL character still.
09:12:39 <andythenorth> ok so the standardised scheme provides an unrestricted byte for 'Speed limit/appearance class'
09:12:51 <andythenorth> the other bytes all have practical constraints applied
09:12:52 <peter1138> All 256 combinations.
09:13:17 <peter1138> If you want to be completionist, you need to account for all 4+ billion combinations.
09:14:12 <andythenorth> which would obviously be silly
09:15:52 <ahyangyi> Yes.
09:21:10 <andythenorth> well the second byte can't be limited to just A-E
09:21:16 <andythenorth> the spec permits arbitrary characters
09:21:29 <andythenorth> JP+ uses entries beyond 'E'
09:37:04 <peter1138> Beep
09:47:34 <andythenorth> ok so A-Z might be reasonable to support
09:47:36 <andythenorth> and _
09:47:57 <andythenorth> that's 135
09:48:15 <andythenorth> then narrow gauge / standard gauge, so 270
09:51:38 <ahyangyi> What about
09:51:46 <ahyangyi> only supporting those that's actually used
09:52:56 <ahyangyi> Sure that's not future proof, but there are many ways to achieve future-proofing, such as releasing a new version of horse
09:53:58 <andythenorth> it's an option yes
09:54:06 <andythenorth> there's no quick way to detemine what's actually used
09:54:18 <andythenorth> other than loading all the railtype grfs and doing `dumpinfo railtypes`
09:54:32 <andythenorth> I've asked lots of times in channels where players and authors are present
09:54:42 <andythenorth> but nearly all authors don't understand railtypes
09:55:26 <andythenorth> but I have the stats for which railtype grfs are most used
10:10:00 <peter1138> Should've left it at 16 types.
10:35:30 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler commented on pull request #14537: Doc: Define policy on AI usage in OpenTTD development https://github.com/OpenTTD/OpenTTD/pull/14537#issuecomment-3236572604
10:40:35 *** dh1 has quit IRC (Quit: My Mac has gone to sleep. ZZZzzz…)
10:41:00 *** dh1 has joined #openttd
11:18:43 <andythenorth> 4 billion or bust
11:38:35 <peter1138> https://www.jsanilac.com/ailom/
11:48:20 <andythenorth> well
11:50:52 <peter1138> https://www.reuters.com/legal/government/internet-forum-4chan-sues-uk-regulator-us-over-free-speech-2025-08-28/
11:51:18 <peter1138> Bad people, but could be interesting to see the outcome.
11:53:12 <jfkuayue> My mother just relies on AI for nearly anything, even including my postgraduate recommendations
11:54:03 <andythenorth> it's potentially a phenomenal control channel
11:54:10 <andythenorth> much better than TV or tabloid newspapers
11:54:16 <andythenorth> which were the traditional means
11:54:45 <rito12_51026> manipulation
12:00:10 <andythenorth> the question is whether it can be tuned enough to control populations reliably
12:00:52 <andythenorth> one of the hallmarks of gaslighting: if you recognise you're being gaslit, you're no longer being gaslit
12:43:15 <ahyangyi> The modern alternative to AI is tiktok
12:43:33 <ahyangyi> And somehow I think AI is slightly more trustworthy
13:14:23 *** toktik has quit IRC (Remote host closed the connection)
13:15:02 *** toktik has joined #openttd
13:25:49 *** toktik has quit IRC (Remote host closed the connection)
13:26:16 *** toktik has joined #openttd
13:43:34 <talltyler> \* shakes fist at clouds *
14:01:25 *** Flygon has quit IRC (Remote host closed the connection)
14:21:29 <peter1138> Wel.
14:21:32 <peter1138> l
14:22:29 <LordAro> Wel.l
14:28:40 <rito12_51026> peter1138: You've made my day
14:59:21 *** keikoz has joined #openttd
15:04:28 *** Wormnest has joined #openttd
15:05:21 <audigex> peter1138: Weirdly I haven't been in the UK once since that law came into effect. At least as far as internet connectivity goes...
15:06:28 <peter1138> Well it's only been a month.
15:07:48 *** gelignite has joined #openttd
15:09:19 <audigex> peter1138: I don't care who painted it, that painting they use as an example is shite whether it's AI or human
15:12:54 <andythenorth> essay was all a bit baudrillard
15:12:58 <andythenorth> desert of the hyperreal
15:13:44 <andythenorth> https://en.wikipedia.org/wiki/Simulacra_and_Simulation
15:49:57 *** orudge` has quit IRC (Quit: Goodbye.)
16:26:52 *** Wolf01 has joined #openttd
16:35:12 *** gelignite is now known as Guest25325
16:35:12 *** Guest25325 has quit IRC (Read error: Connection reset by peer)
16:35:15 *** gelignite has joined #openttd
16:46:42 *** toktik has quit IRC (Remote host closed the connection)
16:47:16 *** toktik has joined #openttd
17:29:18 *** gelignite has quit IRC (Read error: Connection reset by peer)
18:35:47 *** gelignite has joined #openttd
18:43:32 <ahyangyi> I feel the human act of picking a random AI generated image and writing a whole essay about how it's meaningless, also gives the image some meaning.
18:43:32 <ahyangyi> But that's OK, because the message isn't about this particular AI generated image, but about AI generated images (and other media) in general.
18:43:32 <ahyangyi> Anyways, not an new idea. Duchamp was one century ago.
18:49:25 <DorpsGek> [OpenTTD/OpenTTD] JGRennison opened pull request #14550: Cleanup: Misspellings of "dropdown" in order_gui.cpp https://github.com/OpenTTD/OpenTTD/pull/14550
18:50:35 <DorpsGek> [OpenTTD/OpenTTD] PeterN approved pull request #14550: Cleanup: Misspellings of "dropdown" in order_gui.cpp https://github.com/OpenTTD/OpenTTD/pull/14550#pullrequestreview-3169730514
18:50:51 <andythenorth> wonder how what `railtype_available` does
18:51:48 <andythenorth> I want to disable Horse railtypes individually, if another railtype already handles the label in prop 0x1D
18:52:28 <peter1138> Better to just let them configure it.
18:52:53 <andythenorth> the disabling?
18:52:53 <peter1138> If you did use act7/9 skips, then it would depend on load order.
18:53:01 <andythenorth> hmm
18:53:09 <andythenorth> but configuring it can't be done during game
18:53:22 <peter1138> Why does it need to be done in game?
18:53:30 <andythenorth> players tend not to understand
18:53:37 <andythenorth> so then they have to be told in discord or reddit
18:54:02 <peter1138> IMHO you should make the railtypes a separate NewGRF.
18:54:09 <andythenorth> that's worse
18:54:13 <andythenorth> then they don't have the trains
18:54:18 <andythenorth> I was worried it would depend on load order 😐
18:54:44 <andythenorth> it would be simpler if there wasn't such a demand to consume all 64 slots
18:54:53 <peter1138> It's a more desirable failure case -- players should already be aware that things may not appear when the correct/compatible tracks are not availble.
18:54:58 <andythenorth> the disabling is mostly needed because Horse breaks other railtype grfs
18:55:33 <peter1138> Anyway, if no NewGRF railtypes are loaded, why don't you fall back to vanilla types?
18:55:48 <andythenorth> because I don't understand
18:56:02 <andythenorth> I seem to be way out on a limb, but that makes no sense to ne
18:56:03 <peter1138> Evidently.
18:56:33 <andythenorth> if I wanted to include another 10 RAIL engines, I'd have done that
18:56:38 <andythenorth> it's not very interesting
18:56:55 <andythenorth> the point of railtypes is to be able to do different types of vehicles
18:57:04 <andythenorth> not model every last variation of ballast colur
18:57:14 <peter1138> Okay, forget about vanilla fallbacks.
18:57:47 <andythenorth> the Horse case *only* arises with specific grfs with specific need to use ~all 64 slots
18:57:59 <peter1138> What happens at the moment when IH and JP+ Tracks are loaded?
18:58:10 <peter1138> (In both possible load orders)
18:58:21 <andythenorth> nobody so far has been able to describe the problems as repros
18:58:29 <andythenorth> just "it's wrong"
18:59:13 <andythenorth> the current Horse parameter to disable railtypes isn't helping
18:59:30 <andythenorth> because JP+ has already tried to handle the Horse labels, mostly successfully
18:59:40 <peter1138> Sure, players are not GRF experts, and don't necessarily understand the behaviours.
19:00:04 <andythenorth> it's quite confusing actually, JP+ handles Horse trains well, explicitly
19:00:14 *** dh1 has quit IRC (Quit: My Mac has gone to sleep. ZZZzzz…)
19:00:19 <andythenorth> but the parameter to disable Horse railtypes is needed to not break JP+ (and some others)
19:00:44 <andythenorth> but when the Horse railtypes are disabled, the handling is *less* predictable as it relies on the NML fallbacks
19:01:02 <rito12_51026> peter1138: He could fall back metro onto Maglev and narrow gauge onto monorail
19:01:14 <peter1138> That would be different...
19:01:16 <andythenorth> I appreciate the humour
19:01:23 <andythenorth> metrolev
19:01:52 <peter1138> Austin Metrolev.
19:01:58 <andythenorth> in Green
19:02:10 <peter1138> Rover Monogauge.
19:02:29 <peter1138> That reminds me, there's a new Look Mum No Engine video to watch.
19:02:48 <peter1138> Or I could watch Master Hellish trying to write a mod.
19:02:57 <rito12_51026> they just look similar enough
19:03:00 <andythenorth> is it a GFR?
19:04:01 <andythenorth> if I define narrow gauge as NAAN, and another railtype grf defines it, what actually happens?
19:04:10 <andythenorth> are some properties replaced, and some additive?
19:04:32 <andythenorth> who wins the act3?
19:08:21 <peter1138> Well, if a NewGRF replaces a railtype, it... replaces it.
19:08:39 <DorpsGek> [OpenTTD/OpenTTD] zephyris commented on pull request #14537: Doc: Define policy on AI usage in OpenTTD development https://github.com/OpenTTD/OpenTTD/pull/14537#pullrequestreview-3169763213
19:10:44 <andythenorth> with the exception of the properties that are additive...
19:13:01 <peter1138> Yup.
19:13:27 <ahyangyi> That ominous comment
19:13:27 <ahyangyi> `// Animation colours don't work with alpha-blending.`
19:13:27 <ahyangyi> from this commit:
19:13:27 <ahyangyi> https://github.com/OpenTTD/OpenTTD/commit/94d8acb7d007150606c0756060c6f0cf90ee7f70
19:13:35 <andythenorth> so 0x0E, 0x0F and 0x1D are additive I think
19:13:42 <andythenorth> I should read openttd src eh
19:14:12 <ahyangyi> I still don't quite get what the 40bpp blitter does. My use case is company colour, not animation colour, so I don't understand what exactly don't work and why that affects company colours.
19:15:05 <ahyangyi> And why "speed up palette animation" while breaking company colour alpha blending is a worthwhile tradeoff...
19:15:44 <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #14537: Doc: Define policy on AI usage in OpenTTD development https://github.com/OpenTTD/OpenTTD/pull/14537#pullrequestreview-3169796832
19:16:28 <ahyangyi> Can I just apply the old fashioned AdjustBrightness for any palette index below `PALETTE_ANIM_START`?
19:17:50 <andythenorth> hmm my brain is melted
19:18:15 <peter1138> If it's additive then it will be added, yes.
19:18:42 <andythenorth> brain melt arises from trying to figure out how to disable things depending on other grfs
19:18:58 <andythenorth> and not get caught out by load order
19:20:44 <andythenorth> I can get a list of all grfs that will be active?
19:21:27 <andythenorth> wonder what this code was for
19:21:27 <andythenorth> ` if (railtype_available("IHB_") || (loading_stage == LOADING_STAGE_RESERVE)) {`
19:22:52 <andythenorth> oh that's just a cargo cult from https://newgrf-specs.tt-wiki.net/wiki/NML:Railtypes
19:25:30 <peter1138> During reservation the railtype availability checks are dependent on load order.
19:25:58 <ahyangyi> I don't have time tonight, but I guess I will add those to the issue and continue tomorrow.
19:26:30 <ahyangyi> And I feel that I also need to care about animation colours to truly understand that blitter
19:29:24 <andythenorth> ok so the only way for Horse to not break railtype grfs really is a parameter
19:29:45 <andythenorth> or maybe I should detect the specific grfs by grfid
19:32:05 <ahyangyi> peter1138: Also, was this a comment on the same issue?
19:34:38 <peter1138> ?
19:35:13 <DorpsGek> [OpenTTD/OpenTTD] ahyangyi commented on issue #14528: [Bug]: 40bpp blitter handles semitransparent company colours in inconsistent ways https://github.com/OpenTTD/OpenTTD/issues/14528
19:35:40 <ahyangyi> peter1138: ?
19:35:49 <peter1138> That's what I said.
19:39:18 <ahyangyi> I guess I should stop working on this
19:40:39 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 merged pull request #14550: Cleanup: Misspellings of "dropdown" in order_gui.cpp https://github.com/OpenTTD/OpenTTD/pull/14550
19:42:26 <_zephyris> ahyangyi: https://github.com/OpenTTD/OpenTTD/issues/11538
19:44:35 <DorpsGek> [OpenTTD/OpenTTD] zephyris commented on issue #14549: [Bug]: Increasing interface scale when world view is at max zoom 'wraps around' to zoomed out https://github.com/OpenTTD/OpenTTD/issues/14549
19:45:33 <ahyangyi> _zephyris: Thanks for the context (though I still don't understand why Peter answers a simple yes/no question with a "?")
19:57:12 <peter1138> What no idea what you are asking.
19:57:19 <peter1138> I have no idea.
20:00:36 <ahyangyi> OK, let me ask again. Was your comment `For the company colour stuff the map is calculated and just refers to the game's palette table for unchanged entries.
20:00:36 <ahyangyi> ` related to the bug #14528, linked below for your convenience?
20:00:36 <ahyangyi> https://github.com/OpenTTD/OpenTTD/issues/14528
20:00:36 <ahyangyi> A. Yes.
20:00:36 <ahyangyi> B. No.
20:00:37 <ahyangyi> C. You do not think it is a bug at all.
20:00:37 <ahyangyi> D. You do not think I should work on this bug at all.
20:00:39 <ahyangyi> E. Other responses (please specify)
20:02:36 <peter1138> Uh... absolutely no relation to any of that. That comment was about the custom company colours PR, IIRC.
20:03:26 <ahyangyi> I see.
20:03:54 <ahyangyi> ( though that's just `B. No` )
20:04:26 <peter1138> Am I going to have to quit IRC as well?
20:08:56 <andythenorth> was it lunch yet?
20:10:58 <peter1138> andythenorth, having late dinner.
20:12:04 <DorpsGek> [OpenTTD/OpenTTD] ahyangyi commented on issue #14528: [Bug]: 40bpp blitter handles semitransparent company colours in inconsistent ways https://github.com/OpenTTD/OpenTTD/issues/14528
20:17:03 <andythenorth> Maybe it’s naptime
20:19:23 <peter1138> Unlikely.
20:27:03 <andythenorth> 65536 railtypes, but only 16 are buildable?
20:27:07 <andythenorth> naptime 😛
20:29:45 <peter1138> THat's a somewhat large bitmask.
20:40:15 <Rubidium> nah, you don't need a large bitmask. You just need to have a byte per railtype to define the bit it uses, and 0xFF for 'not used'. So once you used the 16th you can't build any more rail types.
21:00:25 *** tokai has quit IRC (Ping timeout: 480 seconds)
21:04:14 <_glx_> IIRC the only real indication of too many types is the weird newgrf error box
21:04:43 *** tokai has joined #openttd
21:04:43 *** ChanServ sets mode: +v tokai
21:11:59 <peter1138> Depends how you want to handle compatible railtypes. If I only place ELRL, that will use a bit, but I should be able to use RAIL as well. WHich may or may not also need a bit.
21:32:22 *** keikoz has quit IRC (Ping timeout: 480 seconds)
21:37:15 *** toktik is now known as Guest25350
21:37:21 *** toktik has joined #openttd
21:42:46 *** Guest25350 has quit IRC (Ping timeout: 480 seconds)
21:58:32 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
22:09:42 *** ryandtw has quit IRC (Quit: User went offline on Discord a while ago)
22:10:09 *** jinks has quit IRC (Quit: ZNC - http://znc.in)
22:10:27 *** jinks has joined #openttd
22:23:52 *** dh1 has joined #openttd
22:24:53 *** Flygon has joined #openttd