IRC logs for #openttd on OFTC at 2024-04-06
            
00:05:27 <peter1138> Not a fake one?
00:08:16 <Eddi|zuHause> we probably had enough of those :p
00:10:35 *** Tirili has quit IRC (Remote host closed the connection)
00:13:25 *** Tirili has joined #openttd
00:32:59 *** HerzogDeXtEr has quit IRC (Read error: Connection reset by peer)
01:38:37 *** Flygon has quit IRC (Quit: A toaster's basically a soldering iron designed to toast bread)
01:54:30 *** Tirili has quit IRC (Quit: Leaving)
01:56:32 *** Wormnest has joined #openttd
02:09:12 *** bertvvvs has quit IRC (Quit: You have a nice day.)
02:36:17 *** Wormnest has quit IRC (Quit: Leaving)
02:50:03 *** gnu_jj_ has joined #openttd
02:53:11 *** gnu_jj has quit IRC (Ping timeout: 480 seconds)
02:55:04 *** D-HUND has joined #openttd
02:58:40 *** debdog has quit IRC (Ping timeout: 480 seconds)
03:18:17 *** Smedles has quit IRC (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
03:18:22 *** Smedles has joined #openttd
03:27:57 <DorpsGek> [OpenTTD/OpenTTD] CI - Nightly workflow was not successful https://github.com/OpenTTD/OpenTTD/actions/runs/8578277604
03:48:23 <locosage> peter1138: it would be useful to have a buy limit for every vehicle controllable with gs
04:02:29 *** keikoz has joined #openttd
04:41:30 <DorpsGek> [OpenTTD/OpenTTD] eints-sync[bot] pushed 1 commits to master https://github.com/OpenTTD/OpenTTD/commit/eaafc57de679bb2991ef96c0c0f2a473f4cc1e54
04:41:31 <DorpsGek> - Update: Translations from eints (by translators)
05:21:34 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 merged pull request #12432: Fix: do not use lengthof() for non C-style arrays https://github.com/OpenTTD/OpenTTD/pull/12432
05:26:01 <DorpsGek> [OpenTTD/OpenTTD] Release workflow was not successful https://github.com/OpenTTD/OpenTTD/actions/runs/8578900116
06:16:04 *** keoz has joined #openttd
06:16:26 *** keikoz has quit IRC (Ping timeout: 480 seconds)
06:22:32 <peter1138> That's a big list to control
06:22:50 <peter1138> With no meaningful way to know what they are.
06:34:11 *** keoz has quit IRC (Ping timeout: 480 seconds)
06:37:25 <andythenorth> peter1138: Just generate the GS alongside the grfโ€ฆthen use engine ID
06:52:46 <pickpacket> the forums are broken ๐Ÿ˜ข
06:53:49 *** keikoz has joined #openttd
07:06:56 *** nielsm has joined #openttd
07:16:38 *** Ox7C5 has joined #openttd
07:49:08 *** HerzogDeXtEr has joined #openttd
07:53:59 *** SigHunter has quit IRC ()
07:56:37 *** SigHunter has joined #openttd
08:13:56 <kamnet> The forums are again unbroken.
09:10:47 <xarick> hi
09:11:30 <xarick> so I tested 10000, I find no ships in limbo
09:11:51 <xarick> 10000 is sufficiently big enough of a penatly
09:15:45 <xarick> okay, the other problem I have is service at nearest depot having not enough range to find a depot ๐Ÿ˜ฆ
09:15:53 <xarick> but that's unrelated to 12335
09:32:22 <kuhnovic> That's something else, which we both have unfinished PRs for ๐Ÿ˜‰
09:47:13 <xarick> ship_reverse_penalty
09:47:29 <xarick> gonna try 5000
10:24:33 *** Wolf01 has joined #openttd
10:42:12 <xarick> 5000 tested, it's sufficient too
10:42:26 <xarick> I think the reasoning is
10:43:15 <xarick> (region size + region size) * tile cost
10:43:34 <xarick> anything above 3200 seems to be a safe bet
10:43:59 <xarick> to account for 1 region discrepancy
10:44:48 *** gelignite has joined #openttd
10:45:02 <xarick> gonna try 3000
10:46:55 <xarick> maybe 1600
10:47:10 <xarick> if 3000 passes
10:48:12 <xarick> walking from 1 intermediate region to another is only 16 * 100
10:51:01 *** tateisukannanirase has joined #openttd
10:51:01 <tateisukannanirase> Does YAPF always just follow the least costly path every time?
10:55:16 <truebrain> Unless it goes on strike
10:57:21 <tateisukannanirase> it's French?
10:59:54 <reldred> Is your car on fire and upside down in the street? If so then yes.
11:00:38 <_glx_> No need for a strike for that
11:00:53 <tateisukannanirase> Well it's an RV and there's lots of black smoke ๐Ÿ˜„
11:05:57 <andythenorth> kamnet: I don't see an iOS version via the alternative app stores being viable
11:05:59 <andythenorth> https://www.theverge.com/24100979/altstore-europe-app-marketplace-price-games
11:06:22 <andythenorth> the CTF is likely to be triggered, and unless we charge for OpenTTD, it's not affordable afaict
11:06:36 <andythenorth> and we're not likely to charge for OpenTTD
11:14:05 <FLHerne> I don't, personally, think that charging 50p specifically to cover that would be unreasonable
11:14:27 <FLHerne> but are there alternate app stores that would allow GPL compliance?
11:14:57 <FLHerne> tateisukannanirase: yes, but a lot of factors are included in 'cost'
11:14:58 <andythenorth> probably?
11:15:20 <andythenorth> Apple should never have allowed the previous OpenTTD, "no GPL" is their own policy
11:15:33 <kamnet> andythenorth: You can sideload without an Appstore. But there's no reason an iOS developer could not charge a small fee for making it easier to do through an app store. I don't see this as a barrier.
11:15:58 <FLHerne> see all the yapf.*_penalty = 200 entries in openttd.cfg
11:15:59 <andythenorth> it's a tall poppy issue
11:16:24 <andythenorth> having a product for sale raises the chances of a copyright strike / claim / case
11:17:24 <kamnet> That's an issue that's always existed, though.
11:18:09 <kamnet> Who knows what that previous developer licensed as in order to get Apple approval. and nobody knows what happened to get the app removed, either.
11:23:14 *** georgevb has joined #openttd
11:23:14 <georgevb> peter1138: We just need a better way to manage appearing and disappearing of models, and you would have about 2 available at the time ๐Ÿ˜‰
11:23:50 *** gelignite has quit IRC (Quit: Stay safe!)
11:23:54 <tateisukannanirase> flherne: thanks. I have been working a bit on refining OneTileCost for road vehicles, but I have not yet put any thought into what happens downstream of that function.
11:24:34 <peter1138> georgevb: Yea, my bad I had never expire on as I was testing the tree
11:24:35 <xarick> 3000 tested, it's also sufficient. no ships in limbo
11:24:56 <xarick> gonna test 1500
11:24:56 <peter1138> Xussr is very useful for that ๐Ÿ™‚
11:25:20 <xarick> I expect to find issues now
11:25:22 <FLHerne> There's a certain amount of caching, which shouldn't normally be an issue, but it might get stale if you're trying to implement dynamic costs of some kind
11:25:36 <georgevb> peter1138: ๐Ÿ™‚
11:26:25 <peter1138> With #12434 it looks a lot better
11:26:34 <georgevb> But a better way to manage appearing and disappearing models from the menu is thinh, I miss a lot
11:26:38 <tateisukannanirase> flherne: at the moment I'm just trying to reform the calculation of the occupied level of drive through stops and I haven't noticed any caching yet.
11:27:06 *** gelignite has joined #openttd
11:28:05 <georgevb> I just wish to say "appear at" "disappear at" and not to have any change. In case random is needed, may be GRF should be able to do it on its side
11:30:16 <FLHerne> tateisukannanirase: https://github.com/OpenTTD/OpenTTD/issues/7592 is the kind of thing I was thinking of, and the "Do not cache road vehicle path within 8 tiles of destination with multiple entrances" commit that 'fixes' it is probably why you're not seeing an effect
11:30:59 <FLHerne> (that seems a bit hacky to me, but should work for most sane road layouts)
11:32:15 <andythenorth> georgevb: you can sync multiple vehicles, but no way to prevent the random jitter
11:33:58 <georgevb> And that is a huge problrm for xUSSR set, wich I wish to be solved someday
11:36:24 <andythenorth> why is random a problem? ๐Ÿ™‚
11:37:24 <peter1138> It's basically a realism set with actual dates, I think.
11:38:54 <peter1138> RV path cache is cleared near the destination so that road stop availability can be taken into account. I think it also doesn't clear it if there's only 1 drive-In stop
11:40:22 <peter1138> Clearing the cache isn't really a hack. Having the path cache at all is the real hack.
11:40:35 <peter1138> But it helps so much with performance
11:43:40 <tateisukannanirase> Interesting, the tt-forums thread linked in that issue is interesting. Load balancing in stations is something I want to improve, by enycouraging vehicles to use the back-side of drive-through stops. Mixed success, however. It's surprising how well the basic weighting, however crude you think it is, works.
11:46:26 <georgevb> andythenorth: because the model, that came 1 year earlier can appear 1 year later.
11:46:26 <georgevb> An other problem is model lyfe. Current game engine expects that model is available 8 years or longer, while we have models that were available only in a sertain year.
11:46:37 <DorpsGek> [OpenTTD/OpenTTD] Shump commented on discussion #9354: Discord request: screenshot channel (not competition) https://github.com/OpenTTD/OpenTTD/discussions/9354
11:47:07 <truebrain> someone went gravedigging
11:48:17 <andythenorth> georgevb: you've ruled out designing the grf to fit OpenTTD? Rather than expecting OpenTTD to support the grf?
11:49:18 <FLHerne> peter1138: fair point
11:50:48 *** Flygon has joined #openttd
11:51:24 <georgevb> I expect compromises are possible on both the sides.
11:51:24 <georgevb> GRFs development requests are one of the main sources for OpenTTD to enhance and extend.
11:55:36 <georgevb> We have gathered here not to argue, but to find mutually beneficial solutions.
11:57:03 <FLHerne> Frankly I find all the interconnected model life and reliability a bit weird
11:57:36 <FLHerne> why can't there just be callbacks for "is this vehicle available now?" and "how reliable is it?"
11:58:57 <FLHerne> set authors usually have a good idea of the results they want, and then waste time reverse-engineering parameters to get that
12:00:27 <andythenorth> reasons have been advanced before, but I don't remember them
12:00:45 <andythenorth> it's the kind of thing, where if it was technically possible, surely it would have been done by now?
12:01:09 <andythenorth> isn't it impossible to have an availability callback?
12:01:14 <andythenorth> due to circularity
12:01:50 <emperorjake> The fact that intro dates are randomised gives no incentive for coding accurate dates, because they'll just be randomised anyway. So it's always just 19XX-01-01
12:02:34 <Eddi|zuHause> the whole phase and early retirement thing is a pile of wtf
12:02:55 <emperorjake> I would also support non-randomised intro dates, as it's become more important now that the game supports much longer timescales
12:03:35 <Eddi|zuHause> i don't think puting the GRF in charge of the randomisation is the correct solution
12:03:47 <emperorjake> waiting on that 18 month randomised delay becomes a lot longer when a game year lasts a real week
12:04:03 <andythenorth> oh also it was a policy that this should be GS
12:04:14 <andythenorth> because GRF doesn't have global view of game state
12:04:28 <andythenorth> the proper domain was GS
12:04:36 <andythenorth> but that argument took place 12 years ago, and here we are
12:04:53 <Eddi|zuHause> you can put it in a setting...
12:05:07 <andythenorth> GS
12:05:17 <FLHerne> Eddi|zuHause: why not? it can be as random as the author wants
12:05:24 <andythenorth> we have engine availability already in GS, why is this even an issue now?
12:05:37 <Eddi|zuHause> FLHerne: but it should be as random as the PLAYER wants
12:06:10 <andythenorth> https://docs.openttd.org/gs-api/classGSEngine#a7cb222ce6deb5418ee527c9a378d71b0
12:06:12 <FLHerne> Players won't care
12:06:19 <Eddi|zuHause> because things like "the game year takes a week" is a player choice, not an author choice
12:06:39 <andythenorth> it's solvable in GS, therefore it's a content problem, not an OpenTTD problem
12:06:49 <FLHerne> Trying to keep things out of grf control has consistently proven to be a design mistake, IMO
12:07:12 <andythenorth> pff
12:07:15 <andythenorth> don't trust grf authors
12:07:17 <Eddi|zuHause> the bigger design mistake would be putting competing concepts in control
12:07:54 <FLHerne> grf authors always want the control anyway, and just do it in needless complicated ways because that's all that's available
12:08:34 <andythenorth> 'policy is to move extending the game to content', but 'every content extension must be debated by core devs and hangers on, as to whether it's valid gameplay'
12:08:40 <andythenorth> "I see no conflict there"
12:09:03 <andythenorth> was it lunch?
12:09:05 <FLHerne> GS as a whole is probably a design mistake, but GS controlling features of a particular grf is definitely a design mistake :p
12:09:12 <FLHerne> lunch: not yet
12:09:17 <Eddi|zuHause> who in this debate is a "core dev"?
12:09:25 <FLHerne> everyone but me
12:09:31 <andythenorth> not me
12:09:36 <Eddi|zuHause> definitely not me
12:09:36 <andythenorth> I'm "hangers on"
12:09:58 <andythenorth> I feel it might be lunch
12:10:29 <andythenorth> bad andythenorth seems to be out of his box
12:11:09 <andythenorth> next I'll be digging up the transcript where the GS <-> GRF argument was won (or lost)
12:11:11 <andythenorth> ๐Ÿ˜›
12:11:17 <andythenorth> a nice sandwich perhaps?
12:12:31 <locosage> FLHerne: and having to fork every freaking grf to configure a server is definitely not a "design mistake" ๐Ÿ˜œ
12:12:37 <Eddi|zuHause> andythenorth: i think that argument once was "won" by "let's make a hybrid", which then never happened
12:12:48 <andythenorth> I made a hybrid FIRS
12:12:56 <Eddi|zuHause> no, long before that
12:13:08 <andythenorth> a hybrid API?
12:13:24 <andythenorth> TB wrote a spec ๐Ÿ™‚
12:14:33 <andythenorth> hmm youtube...I only have to hover over the wrong video about marriage comedy, and for the next week I'm hitting "don't recommend" on manosphere red pill sigma crap
12:14:52 <andythenorth> really quite rapid
12:28:14 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1226146448622485595/02F06AFA-25FD-450D-A025-59396EEF07C5_1_102_o.jpeg?ex=6623b4de&is=66113fde&hm=b5c790598b3f6415f25632ab89d906ddf3e1df3e7f649e6146f3cf9d337a4924&
12:28:14 <andythenorth> lunch happened
12:30:35 <xarick> confirmed! 1500 is a too low penalty
12:30:50 <xarick> gonna try 2000
12:38:41 <DorpsGek> [OpenTTD/OpenTTD] PeterN opened pull request #12435: Change: Disallow using Action A to load sprites above the baseset unless reserved. https://github.com/OpenTTD/OpenTTD/pull/12435
12:39:38 <peter1138> andythenorth: Fried salad
12:39:57 <peter1138> PeterNviaGitHub: j_n Asasignals will be affected by this.
12:41:17 <peter1138> Cheese hot x bun for me.
12:43:09 <Eddi|zuHause> that doesn't look like a full meal
12:43:35 <andythenorth> it meets lunch criteria
12:43:50 <andythenorth> obviously the chips are omitted, so it wouldn't count as dinner
12:44:24 <peter1138> Too easy to eat too much. Especially after bike ride.
12:45:00 <andythenorth> what shall we make Flat today?
12:45:38 <peter1138> My tummy.
12:46:14 <peter1138> I've got a Jillian Michaels video somewhere for some reason...
12:48:42 <andythenorth> VariantContainer things?
12:48:48 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1226151625006121130/image.png?ex=6623b9b0&is=661144b0&hm=1e76583d0cbb7151dc3a9e51fed951f97dcca3c21183b1deb8a0865de88e2b6e&
12:49:15 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1226151736863883264/image.png?ex=6623b9ca&is=661144ca&hm=34ece7e242c7a6ddeba6de065a07696de2a902af85687ddd556d35c5185e8903&
12:49:15 <andythenorth> becomes this after building a few
12:49:34 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1226151816933281842/image.png?ex=6623b9dd&is=661144dd&hm=4ceee0332c9ed7b6500f3731e22dc0c9d2b49495210facfa6cc7621aaff52a4c&
12:49:34 <andythenorth> so the folded buy menu changes from
12:49:44 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1226151860717486100/image.png?ex=6623b9e8&is=661144e8&hm=4a1ee270464c9662fc42923df2bd62bbb264795dc696af19f73d581d0e71f187&
12:49:44 <andythenorth> to
12:49:52 <LordAro> peter1138: is it windy down south as well?
12:49:56 <peter1138> Somewhat.
12:50:05 <andythenorth> it's getting windy where I am
12:50:14 <LordAro> nothing like 12mph @ 300W
12:50:15 <peter1138> It's almost like the Blaze HST coaches shouldn't be a variant of the Blaze HST engines.
12:50:25 <andythenorth> "one considers that option"
12:50:50 <peter1138> I have no power meter, so I don't know.
12:51:10 <LordAro> neither do i, but it's what one of the others said
12:51:26 <andythenorth> it's convenient to group them together, and I _think_ I rely on them being variants to sync the availability
12:51:28 <andythenorth> or not
12:51:31 <peter1138> Ah. I take that with a pinch of salt, being 6'6" and somewhat heavier than them ๐Ÿ˜„
12:51:35 * andythenorth checks
12:51:53 <LordAro> heh
12:51:56 <peter1138> andythenorth: Fair, I guess it would otherwise be separated by the engine / wagon split.
12:52:10 <LordAro> peter1138: i imagine everyone ends up trying to hide behind you
12:52:14 <peter1138> Especially on a windy day. Difficult to tuck in when everyone is a foot shorter...
12:52:18 <peter1138> Oh yes.
12:52:31 <LordAro> hehe
12:52:56 <andythenorth> peter1138: yup. I rely on VEHICLE_FLAG_SYNC_VARIANT_EXCLUSIVE_PREVIEW as well
12:53:03 <andythenorth> otherwise engine, but no coaches
12:53:09 <peter1138> Skipped the last couple of hills today as my knee is playing up (after I injured it on Wednesday)
12:53:18 <LordAro> :(
12:53:27 <andythenorth> not sure if wagons actually respect exclusive preview ๐Ÿ˜›
12:53:30 <peter1138> NotVariants eh
12:53:30 <LordAro> mine's been making some funny noises in the last couple of weeks
12:53:36 <andythenorth> NotVariants2
12:53:40 <LordAro> which is decidedly unfun 10 days before Mallorca
12:53:54 <peter1138> Oof
12:54:05 <LordAro> really don't want a repeat of last year
12:54:32 <peter1138> Going away on a cycling trip and having to spend it all at the beach sounds like a terrible idea.
12:54:42 <LordAro> ha
12:54:50 <peter1138> (No, beach holidays don't appeal to me either, heh)
12:54:52 <xarick> too many trains in a certain newgrf
12:55:10 <LordAro> not when i'm spending โ‚ฌlots on bike hire
12:55:13 <peter1138> Wait til you see what regular players do with NewGRFs.
12:55:22 <andythenorth> 6000 variant name switches ๐Ÿ˜›
12:55:25 <andythenorth> "lol"
12:55:27 <xarick> makes my AI testing engine/wagon attachments take 10 years
12:55:33 <peter1138> Not just one. Not just two. Dozens of vehicle NewGRFs.
13:04:59 <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #12435: Change: Disallow using Action A to load sprites above the baseset unless reserved. https://github.com/OpenTTD/OpenTTD/pull/12435#issuecomment-2041076879
13:14:24 <_glx_> xarick: that's why I recommend you to just check newgrf id and provide a reduced set of working engine/wagons combo
13:21:03 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 commented on pull request #12435: Change: Disallow using Action A to load sprites above the baseset unless reserved. https://github.com/OpenTTD/OpenTTD/pull/12435#pullrequestreview-1984497596
13:21:08 <andythenorth> I wonder about GRF <-> GS comms ๐Ÿ˜›
13:22:27 <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #12435: Change: Disallow using Action A to load sprites above the baseset unless reserved. https://github.com/OpenTTD/OpenTTD/pull/12435#pullrequestreview-1984497750
13:29:02 <peter1138> Hmm, CZTR bridges fails due to #12435, but I think it is actually bugs in the NewGRF.
13:29:58 <peter1138> It reserves 4 chunks of 24 sprite IDs, but then tries to use them either in one block, or goes outside its reserved range.
13:30:20 <peter1138> Reserves 24, gets 6212, tries to use 6212+44.
13:31:13 <peter1138> So perhaps it's too strict right now.
13:31:22 <_glx_> CHIPS nfo version reserves a lot ๐Ÿ™‚
13:31:31 <peter1138> Reserving a lot and using them correctly is fine.
13:32:06 <peter1138> GRM sprites doesn't HAVE to guarantee the reserved range is contiguous, but it will be. But this NewGRF just assumes it is.
13:32:17 *** Ares has joined #openttd
13:33:55 <peter1138> Yeah, no warnings with chips.
13:34:18 <peter1138> Maybe instead of checking GRM reservations it's simply enough to check if a sprite does not already exist (if it's outside the baseset range)
13:36:57 <peter1138> Actually I should read the spec before asserting that ๐Ÿ™‚
13:39:07 <peter1138> Doesn't say either way.
13:39:24 <peter1138> Modular Wider Bridges reserves a single sprite ID, and just uses that as a base offset.
13:47:59 <xarick> oh wow, 2000 was not sufficient...
13:48:13 <xarick> got 3 companies with limbo ships
13:50:03 <peter1138> Ah no, my debug output is wrong ๐Ÿ˜„
13:51:04 <peter1138> (It output that first one as it was not a matching range, but there was a matching range after it)
13:56:12 <Rubidium> peter1138: maybe we should just do ASLR on GRM reservations, so if the user does the wrong thing it usually breaks ;) You reserved 24 and 20 and assumed they would be a contiguous 44? Tough luck, they're at completely different locations ;)
13:56:36 <peter1138> Okay, due to loading order, I think using SpriteIDs outside your allocated reservation can cause problems.
13:57:05 <_glx_> 2000 is about 20 tiles
13:58:17 <peter1138> With this patch that kinda happens.
13:58:23 <peter1138> They're "randomized" by changing the load order.
13:58:41 <peter1138> Oh but everything you reserve will be contiguous.
13:58:59 *** gelignite has quit IRC (Read error: Connection reset by peer)
13:59:10 <peter1138> So should we be lenient and allow that as long as it's within the lower and upper limits, or be strict...
13:59:28 <peter1138> I'm hesitant to break "working" NewGRFs.
13:59:46 <peter1138> (Other than the ones that are clearly one and potentially breaking other things.)
14:01:31 <_glx_> reservations are handled one GRF at a time IIRC, so even if it should be possible to get non continuous ranges it probably never happens
14:01:53 <peter1138> Sure.
14:02:14 <peter1138> But if you reserve 32, but actually use 64, you'll be trampling on something else's reserved sprites.
14:02:33 <peter1138> Although to be fair, the something else will overwrite them.
14:02:39 <_glx_> ah indeed if you reserve 32 you can't use more than 32
14:02:53 <peter1138> This might be some of the "it doesn't work unless you load it in this order" issues that people think is just normally...
14:03:18 <Eddi|zuHause> so we're "fixing" undefined behaviour today?
14:03:28 <peter1138> Hardening ๐Ÿ˜„
14:03:33 <_glx_> out of bound access
14:03:40 <_glx_> those are bad ๐Ÿ™‚
14:04:02 <Eddi|zuHause> the whole grf spec only exists because of undefined behaviour
14:04:45 <Eddi|zuHause> all the 80+ vars are "undefined behaviour, that happened to work"
14:05:11 *** virtualrandomnumber has joined #openttd
14:05:17 <_glx_> reserving 32 and using 64 when being the only loaded grf might cause crashes (but we probably have some stuff to prevent that)
14:06:01 <peter1138> No, that will be fine.
14:06:15 <Eddi|zuHause> just skimming backwards, is there any reason NOT to specify "separate reservations will be continuous within the same GRF"?
14:06:48 <peter1138> SpriteIDs are allocated as they are used anyway, GRM just means you get a block reserved for you, before Action 1s use up everything below < 16384.
14:07:30 <peter1138> (Not sure why GRM sprites need to be below 16384 any more, possibly something legacy)
14:07:38 *** gelignite has joined #openttd
14:09:25 <_glx_> TTDp limitation ?
14:09:27 <peter1138> Rubidium: I could do that just for fun, but... not really helpful ๐Ÿ˜„
14:09:52 <peter1138> Maybe be related to other bits being used in the places these values are placed.
14:10:27 <peter1138> e.g. if it's a callback result (not sure if that would ever make sense...) only bits 0..14 are usable.
14:11:42 <_glx_> oh the usual 15bits results
14:11:47 <Eddi|zuHause> but non-callback results are spritesets, not sprites?
14:12:25 <peter1138> https://cdn.discordapp.com/attachments/1008473233844097104/1226172666952810506/image.png?ex=6623cd48&is=66115848&hm=b262fd00d934e4552520a3fb256779ec63e3431f9847e6f086d2cbef2ce84862&
14:14:37 *** virtualrandomnumber has quit IRC (Quit: virtualrandomnumber)
14:17:17 <peter1138> CZTR Bridges reserves a total of 96 sprites but tries to load 116 sprites.
14:18:17 <peter1138> If it's kept strict, it's more like to be properly fixed. If it's mostly working but only a little bit isn't it might not even get noticed...
14:19:51 <DorpsGek> [OpenTTD/OpenTTD] PeterN updated pull request #12435: Change: Disallow using Action A to load sprites above the baseset unless reserved. https://github.com/OpenTTD/OpenTTD/pull/12435
14:21:13 *** Ares has quit IRC (Quit: Leaving)
14:21:16 <_glx_> trying to access more than reserved should never have worked
14:22:02 <DorpsGek> [OpenTTD/OpenTTD] PeterN updated pull request #12435: Change: Disallow using Action A to load sprites above the baseset unless reserved. https://github.com/OpenTTD/OpenTTD/pull/12435
14:22:04 <peter1138> Last for now ๐Ÿ™‚
14:22:33 <peter1138> Replaced "not reserved" with "not within reserved range" so it's more explicit on what it is expecting.
14:24:38 <peter1138> Although by default these messages aren't visible unless running from a terminal window. Hmm.
14:25:57 <peter1138> Judging by how confusing people find anything in a text console...
14:38:33 <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #12435: Change: Disallow using Action A to load sprites above the baseset unless reserved. https://github.com/OpenTTD/OpenTTD/pull/12435#issuecomment-2041107055
14:48:37 *** aperezdc has quit IRC (Remote host closed the connection)
14:53:16 *** aperezdc has joined #openttd
15:03:31 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1226185524499316848/2024-04-06_16-02-08.mp4?ex=6623d942&is=66116442&hm=2792315bca4fceea88944cd3bce67aebe444092f1e11b12f4b281b056e65fe04&
15:03:31 <xarick> penalty of 2000 insufficient ๐Ÿ˜ฆ
15:14:28 <Eddi|zuHause> no idea what you're trying to do, but chances are no amount of finite penalty will prevent constructing a pathologic case breaking it
15:28:49 <xarick> i'm testing 12335, and trying to find the best value for the reverse penalty
15:29:19 <xarick> I know 3000 works I already tested it
15:29:45 <xarick> currently testing 2500
15:39:35 *** Wormnest has joined #openttd
15:45:35 <j_n> peter1138: in that case I'd like to discontinue Asasignals
15:46:00 <j_n> AsasGFX will replace it, coming soonโ„ข๏ธ
15:46:09 <peter1138> Well that's up to you ๐Ÿ™‚
15:46:35 <peter1138> asasignals may randomly stop working properly in the future anyway.
15:48:09 <j_n> is there a way to work around that change or do I just eat shit
15:49:06 <peter1138> Well you can fix the NewGRF to do it correctly ๐Ÿ™‚
15:50:18 <_glx_> replacenew vs replace for signals
15:50:56 <j_n> I thought replacenew was exclusively for replacing new graphics introduced by OpenTTD or a patch pack
15:52:54 <peter1138> Yes...
15:53:02 <peter1138> And most signals are non-original
15:53:11 <j_n> except the one
15:53:12 <peter1138> Only 1275-1290 are original TTD signals.
15:53:15 <j_n> so what about that one?
15:53:16 <_glx_> well you use replace to replace the 2 basic green/red, all others are via replacenew
15:53:27 <j_n> oh that's what the change meant
15:53:27 <j_n> alright
15:53:32 <peter1138> replace is good for those.
15:53:33 <j_n> I'm an idiot
15:53:44 <peter1138> replacenew should be used for the rest
15:53:54 <peter1138> If your sprite ID is > 4895, Action A is wrong ๐Ÿ™‚
15:54:44 <j_n> I used replace because I found it more convinient
15:54:47 <j_n> gah, I should've known...
15:55:05 <_glx_> well it works until it won't ๐Ÿ™‚
15:55:34 <_glx_> additional graphics can move without notice
15:55:45 <_glx_> that's why action 5 exists
15:55:50 <_glx_> (replacenew)
15:58:53 <j_n> even so, I eventually plan to replace the functionality of Asasignals with a fork of OpenGFX2 (along with other ideas of mine)
15:59:02 <j_n> would be usable in multiplayer and visible on the title screen
16:01:23 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 opened pull request #12436: Codechange: use C++ containers for parsing the settings int lists https://github.com/OpenTTD/OpenTTD/pull/12436
16:02:52 <locosage> PeterNviaGitHub: tbf newgrf spec wasn't "always" very clear ๐Ÿ˜œ
16:06:59 <peter1138> > This means only sprites with a number up to (and including) 4895 may be replaced by action A.
16:07:13 <locosage> added few months ago ;)
16:07:19 <peter1138> December 2023. That's basically always.
16:07:40 <locosage> ๐Ÿคฃ
16:07:50 <peter1138> The fact it's new suggests that Rb already found this issue and had to edit the specs because nobody would listen :p
16:08:20 <peter1138> > action A modifies TTD's built-in sprites
16:08:26 <peter1138> That has been there forever.
16:08:41 <peter1138> TTD's built-in sprites does not include things OpenTTD adds.
16:09:27 <locosage> I think it was me who brought it up
16:09:41 <locosage> but it didn't say it can't be used for openttd adds ;)
16:09:56 <locosage> also, who the heck knows which are the new one, they all look the same in aligner
16:10:19 <locosage> anyway, it's good that it's clarified now
16:10:30 <xarick> 2500 works!
16:10:47 <xarick> gonna wait 1 more year just to be sure
16:11:52 <peter1138> It was always the case, that was the entire point of Action 5 existing.
16:12:16 <DorpsGek> [OpenTTD/OpenTTD] LordAro commented on pull request #12436: Codechange: use C++ containers for parsing the settings int lists https://github.com/OpenTTD/OpenTTD/pull/12436#pullrequestreview-1984580895
16:13:38 <peter1138> Hmm, how does `SPR_EMPTY_BOUNDING_BOX` get allocated...
16:14:12 <peter1138> Or is it always just a sprite that doesn't exist ๐Ÿ˜ฎ
16:14:27 <locosage> locosage: oh, yeah, found the discussion
16:21:02 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 commented on pull request #12436: Codechange: use C++ containers for parsing the settings int lists https://github.com/OpenTTD/OpenTTD/pull/12436#pullrequestreview-1984582133
16:27:24 <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #12436: Codechange: use C++ containers for parsing the settings int lists https://github.com/OpenTTD/OpenTTD/pull/12436#issuecomment-2041131386
16:38:13 <peter1138> https://cdn.discordapp.com/attachments/1008473233844097104/1226209358812151899/image.png?ex=6623ef75&is=66117a75&hm=f8b89e358515daae192e5c6a12fc55f577b8436b8c542044109357b403961160&
16:38:13 <peter1138> Bit more useful, but presentation isn't ideal...
16:41:22 <DorpsGek> [OpenTTD/OpenTTD] SamuXarick commented on pull request #12335: Fix #12228, #12231, #12333: Ship pathfinder always considered reversing https://github.com/OpenTTD/OpenTTD/pull/12335#pullrequestreview-1984584634
16:41:37 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 commented on pull request #12436: Codechange: use C++ containers for parsing the settings int lists https://github.com/OpenTTD/OpenTTD/pull/12436#issuecomment-2041134511
16:44:12 <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #12436: Codechange: use C++ containers for parsing the settings int lists https://github.com/OpenTTD/OpenTTD/pull/12436#issuecomment-2041134999
16:53:51 <peter1138> https://cdn.discordapp.com/attachments/1008473233844097104/1226213293484408963/image.png?ex=6623f31f&is=66117e1f&hm=fda2666bf95384a1ed73db4e77093b4c08d6a019a7907b0eefb3cd92e9dba542&
16:53:51 <peter1138> Maybe shrink the sprite number list and put the information below it.
16:58:00 <_glx_> showing which grf provides the sprite is nice
16:58:39 <peter1138> That's actually already there ๐Ÿ™‚
16:59:05 <peter1138> But it would just show "Aligning sprite 5,199 (dutchsignals)" before.
16:59:46 <peter1138> This won't, sadly, help with GRM reserved sprites, or action 1 spritesets.
17:01:09 <peter1138> Oh wait, spritecache->id is the nfo line
17:01:20 <peter1138> Well then ๐Ÿ™‚
17:02:23 <FLHerne> Can NML just do the right thing regardless? i.e. use Action5 for replace() when appropriate?
17:02:45 <FLHerne> or would it be hard to determine the amount of GRM reservation at compile time?
17:02:52 <_glx_> not the exact same syntax
17:03:08 <peter1138> FLHerne: No, because the numbers don't mean anything.
17:03:18 <FLHerne> peter1138: oh, I see
17:03:32 <peter1138> GRM reservation is nothing to do with Action 5.
17:03:47 <FLHerne> you'd have to know which version of OpenTTD they were trying to address sprites of
17:05:31 <peter1138> I guess nfo line isn't that useful for NML users.
17:05:38 <peter1138> But maybe it's more useful than the loaded ID.
17:08:09 <peter1138> Spritesets don't have useful IDs by themselves anyway.
17:08:22 <peter1138> GRM reservations neither.
17:11:55 <peter1138> https://cdn.discordapp.com/attachments/1008473233844097104/1226217840973971559/image.png?ex=6623f75b&is=6611825b&hm=9fb9244d67774db87395cb37f906e8e370f99940c65883afffef8f67d4984b1f&
17:12:09 <peter1138> https://cdn.discordapp.com/attachments/1008473233844097104/1226217898062778428/image.png?ex=6623f768&is=66118268&hm=dc28b0ec1bad60f2c64a50ccce59853877ab43d8a52225cbc76baf69f9b2b37f&
17:12:51 <peter1138> https://cdn.discordapp.com/attachments/1008473233844097104/1226218076983394314/image.png?ex=6623f793&is=66118293&hm=4d790b0abaa540da33c9a6eec9a04237d0a3d258d0a9eda5efe8204cc33e4042&
17:12:51 <peter1138> And for a GRM or Act1 sprite, just this
17:13:13 <peter1138> No sprite ID, as the dynamic ID isn't useful. But the NFO line is included (in standard file:line format)
17:14:00 <peter1138> So the numbers listed under the 'Pick sprite' button are also a bit useless, but difficult to show much information there.
17:14:13 <peter1138> Perhaps file:line would be better there though.
17:18:56 <locosage> nfo line isn't particularly useful either
17:19:26 <peter1138> nfo line is basically "GRF data block"
17:20:01 <peter1138> It's more useful than the loaded Sprite ID, and there is no other identifier that can be used.
17:30:16 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 commented on pull request #12335: Fix #12228, #12231, #12333: Ship pathfinder always considered reversing https://github.com/OpenTTD/OpenTTD/pull/12335#pullrequestreview-1984590469
18:03:38 <peter1138> Hmm, `std::span<const std::unique_ptr>` does, surprisingly, work.
18:06:26 <peter1138> https://cdn.discordapp.com/attachments/1008473233844097104/1226231560034975857/image.png?ex=66240422&is=66118f22&hm=e5c8259f43f79e5c32c9f951aff56ae0a7b511f0be63a260d08530a7df633fe5&
18:06:26 <peter1138> Maybe.
18:06:29 <Rubidium> why wouldn't it?
18:07:22 <peter1138> No reason, I'm just easily surprised.
18:12:50 <DorpsGek> [OpenTTD/website] rubidium42 opened pull request #313: Add: post about the XZ backdoor and the effect on us https://github.com/OpenTTD/website/pull/313
18:15:49 <_zephyris> Looks nice
18:15:59 <_zephyris> Really informative
18:16:58 <DorpsGek> [OpenTTD/OpenTTD] rbnagm opened pull request #12437: Add German town name parts https://github.com/OpenTTD/OpenTTD/pull/12437
18:18:50 <DorpsGek> [OpenTTD/website] James103 commented on pull request #313: Add: post about the XZ backdoor and the effect on us https://github.com/OpenTTD/website/pull/313#pullrequestreview-1984596160
18:23:31 <DorpsGek> [OpenTTD/website] LordAro commented on pull request #313: Add: post about the XZ backdoor and the effect on us https://github.com/OpenTTD/website/pull/313#issuecomment-2041159698
18:24:11 <DorpsGek> [OpenTTD/website] LordAro commented on pull request #313: Add: post about the XZ backdoor and the effect on us https://github.com/OpenTTD/website/pull/313#pullrequestreview-1984597711
18:24:41 <DorpsGek> [OpenTTD/website] LordAro commented on pull request #313: Add: post about the XZ backdoor and the effect on us https://github.com/OpenTTD/website/pull/313#pullrequestreview-1984597765
18:28:01 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 opened pull request #12438: Fix: 'Suspicious add with sizeof' CodeQL warnings https://github.com/OpenTTD/OpenTTD/pull/12438
18:28:54 <DorpsGek> [OpenTTD/OpenTTD] PeterN merged pull request #12427: Codechange: Simplify iteration of framerate performance elements. https://github.com/OpenTTD/OpenTTD/pull/12427
18:28:54 <peter1138> Sorry
18:29:45 <DorpsGek> [OpenTTD/OpenTTD] PeterN merged pull request #12422: Fix: Viewport signs assume small font is smaller than normal font. https://github.com/OpenTTD/OpenTTD/pull/12422
18:30:05 <DorpsGek> [OpenTTD/OpenTTD] PeterN merged pull request #12429: Codechange: Use range-for to iterate keycode-to-name lookups. https://github.com/OpenTTD/OpenTTD/pull/12429
18:30:22 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 closed pull request #12438: Fix: 'Suspicious add with sizeof' CodeQL warnings https://github.com/OpenTTD/OpenTTD/pull/12438
18:30:27 <DorpsGek> [OpenTTD/OpenTTD] PeterN merged pull request #12431: Codechange: Use std::initializer_list and range-for for credits window. https://github.com/OpenTTD/OpenTTD/pull/12431
18:31:17 <LordAro> i was about to say, no need for std::array there
18:32:26 <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #12437: Add German town name parts https://github.com/OpenTTD/OpenTTD/pull/12437#issuecomment-2041161884
18:37:31 <DorpsGek> [OpenTTD/website] rubidium42 commented on pull request #313: Add: post about the XZ backdoor and the effect on us https://github.com/OpenTTD/website/pull/313#pullrequestreview-1984599236
18:39:08 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 commented on pull request #12437: Add German town name parts https://github.com/OpenTTD/OpenTTD/pull/12437#issuecomment-2041163436
18:39:32 <peter1138> Failed to notice it was on rebase & merge instead of squash for the first one ๐Ÿ˜ฆ
18:41:22 <DorpsGek> [OpenTTD/OpenTTD] LordAro commented on pull request #12437: Add German town name parts https://github.com/OpenTTD/OpenTTD/pull/12437#issuecomment-2041163941
18:42:08 <rau117> andythenorth: this requires taking away **the only** GS slot. If you want to play with xussr real dates + town grow you need to choose. Moreover this requires additional work on grf dev part and on the player part, instead of idk, changing one NML parameter
18:49:19 <andythenorth> that's the API though
18:57:21 <rau117> rau117: well, possibility to add several gamescripts will be great for that, but (sorry, just a guess) needs way more work on openttd side than adding possibility to precisely control randomness (or at least being able to completely disable it)
18:57:21 <rau117> no argue, for a regular gameplay such a tiny random isn't so painful (except breakdowns)
18:57:21 <rau117> but when prototype locomotive comes out a year after mass-production variant looks suspicious
19:02:34 <andythenorth> has anyone proposed an actual spec?
19:02:37 <andythenorth> start a discussion
19:02:54 <locosage> what does that randomization even achieve?
19:03:10 <locosage> feels like a poor attempt of increasing replayability of the original game
19:06:05 <andythenorth> it's in the original so it has to be kept?
19:07:06 <locosage> just hardcode as 4 :p
19:07:17 <locosage> though I guess it's 73 now...
19:09:26 *** nielsm has quit IRC (Ping timeout: 480 seconds)
19:10:43 <andythenorth> so what would the spec be?
19:23:54 <DorpsGek> [OpenTTD/OpenTTD] PeterN opened pull request #12439: Change: Display more useful information in sprite aligner than sprite ID. https://github.com/OpenTTD/OpenTTD/pull/12439
19:27:07 <peter1138> Not duplicating the action 5 information is actually more lines of code, but... at least it's not duplicated and therefore potentially wrong.
19:32:27 *** zzy2357[m] has quit IRC (Quit: Client limit exceeded: 20000)
19:59:18 <Eddi|zuHause> i failed today's xkcd, i think.
20:00:26 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 opened pull request #12440: Codechange: replace most uses of lengthof with std::size https://github.com/OpenTTD/OpenTTD/pull/12440
20:11:00 <DorpsGek> [OpenTTD/OpenTTD] glx22 approved pull request #12439: Change: Display more useful information in sprite aligner than sprite ID. https://github.com/OpenTTD/OpenTTD/pull/12439#pullrequestreview-1984609306
20:15:13 <silent_tempest> https://cdn.discordapp.com/attachments/1008473233844097104/1226263969921110046/image.png?ex=66242251&is=6611ad51&hm=af331fd91d2ef166ec5d9304bb13bdf8f2bbaae7b9d5004f1ad703a98d309505&
20:15:13 <silent_tempest> Eddi|zuHause: This seems to EZ. Lol
20:16:05 <DorpsGek> [OpenTTD/OpenTTD] PeterN merged pull request #12439: Change: Display more useful information in sprite aligner than sprite ID. https://github.com/OpenTTD/OpenTTD/pull/12439
20:16:16 <Eddi|zuHause> i think you got an easier one... i had one with 4 inputs of 3 different colours
20:22:42 <DorpsGek> [OpenTTD/OpenTTD] PeterN opened pull request #12441: Codechange: Use std::initializer_list/array in framerate window. https://github.com/OpenTTD/OpenTTD/pull/12441
20:22:53 <peter1138> Hmm. I actually thought that was part of the other commit, oops.
20:24:08 <DorpsGek> [OpenTTD/OpenTTD] LordAro commented on pull request #12441: Codechange: Use std::initializer_list/array in framerate window. https://github.com/OpenTTD/OpenTTD/pull/12441#issuecomment-2041186370
20:35:31 <DorpsGek> [OpenTTD/OpenTTD] PeterN opened pull request #12442: Codechange: Use std::reduce to determine infrastructure total rail/road pieces. https://github.com/OpenTTD/OpenTTD/pull/12442
20:35:37 <peter1138> Bringing out the old commits now.
20:40:23 <DorpsGek> [OpenTTD/OpenTTD] LordAro commented on pull request #12442: Codechange: Use std::reduce to determine infrastructure total rail/road pieces. https://github.com/OpenTTD/OpenTTD/pull/12442#issuecomment-2041200466
20:41:33 <DorpsGek> [OpenTTD/OpenTTD] michicc commented on pull request #12442: Codechange: Use std::reduce to determine infrastructure total rail/road pieces. https://github.com/OpenTTD/OpenTTD/pull/12442#issuecomment-2041200725
20:42:24 <michi_cc> Two stupid people thinking the same, eh? ๐Ÿ™‚
20:42:50 <LordAro> :)
20:44:58 <peter1138> https://cdn.discordapp.com/attachments/1008473233844097104/1226271455579209878/image.png?ex=6624294a&is=6611b44a&hm=80263d8ecb170bc5f4da4640518b4de739dda37ba98419d2a6925964974b6157&
20:44:58 <peter1138> My stack-overflow (taken with a pinch of salt of course) answer I saw ages ago...
20:47:32 <peter1138> In terms of default operation, accumulate is the same as reduce too, except "accumulate" has the implication it's adding.
20:59:04 <DorpsGek> [OpenTTD/website] TrueBrain commented on pull request #313: Add: post about the XZ backdoor and the effect on us https://github.com/OpenTTD/website/pull/313#pullrequestreview-1984697201
21:01:16 <DorpsGek> [OpenTTD/team] imlystyi opened issue #545: [uk_UA] Translator access request https://github.com/OpenTTD/team/issues/545
21:08:48 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain closed pull request #12437: Add German town name parts https://github.com/OpenTTD/OpenTTD/pull/12437
21:08:51 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain commented on pull request #12437: Add German town name parts https://github.com/OpenTTD/OpenTTD/pull/12437#issuecomment-2041205949
21:10:52 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
21:14:09 <peter1138> Bah. Sidetracked.
21:15:40 <truebrain> Btw, so the xz repo is no longer blocked but a 404. So I guess it is private now, meaning the original author has access .. so hopefully he can clean up the mess soon ๐Ÿ™‚
21:22:17 <peter1138> Well
21:30:34 *** Flygon has quit IRC (Read error: Connection reset by peer)
21:31:49 *** Flygon has joined #openttd
21:46:46 *** keikoz has quit IRC (Ping timeout: 480 seconds)
21:58:13 <DorpsGek> [OpenTTD/OpenTTD] PeterN opened pull request #12443: Codefix: Social Plugins widget parts were not constexpr. https://github.com/OpenTTD/OpenTTD/pull/12443
21:58:43 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain approved pull request #12443: Codefix: Social Plugins widget parts were not constexpr. https://github.com/OpenTTD/OpenTTD/pull/12443#pullrequestreview-1984703583
22:03:43 <peter1138> I think I'm just going to have to disagree with LordAro. Not on bikes though ๐Ÿ™‚
22:11:58 *** aperezdc has quit IRC (Remote host closed the connection)
22:12:09 *** aperezdc has joined #openttd
22:14:44 <truebrain> Pfew. Otherwise the world would be broken.
22:30:25 <peter1138> https://cdn.discordapp.com/attachments/1008473233844097104/1226297994262085732/image.png?ex=66244201&is=6611cd01&hm=65275d6018f2289c856cb131f02d45f411cf77e2760deaca2710dafea48ff408&
22:30:25 <peter1138> Help :S
22:32:29 <DorpsGek> [OpenTTD/OpenTTD] PeterN merged pull request #12443: Codefix: Social Plugins widget parts were not constexpr. https://github.com/OpenTTD/OpenTTD/pull/12443
22:34:57 <DorpsGek> [OpenTTD/OpenTTD] PeterN updated pull request #12409: Codechange: Replace Array/FixedSizeArray with std::deque. https://github.com/OpenTTD/OpenTTD/pull/12409
22:35:42 <truebrain> Helped dispatched. It will arrive in 2034
22:54:21 *** gelignite has quit IRC (Quit: Stay safe!)
23:02:50 <DorpsGek> [OpenTTD/team] glx22 commented on issue #545: [uk_UA] Translator access request https://github.com/OpenTTD/team/issues/545
23:04:23 <peter1138> Will xz be back by then...
23:31:43 <_glx_> looking at <https://github.com/OpenTTD/nml/blob/master/nml/ast/replace.py#L56> is it enough if I add a "is constant" check and validate it's between 0 and 4895 in this case ?
23:39:16 *** bertvvvs has joined #openttd