Config
Log for #openttd on 3rd January 2024:
Times are UTC Toggle Colours
00:14:31  <truebrain> Happens when you optimized based on code instead of performance ๐Ÿ™‚
00:15:00  <truebrain> But I guess I am starting to become a broken record ๐Ÿ˜›
00:26:55  <truebrain> https://discord.com/channels/142724111502802944/142725338831519744/1191898031092662403
00:26:55  <truebrain> Crosslink for visibility. Older AIs rendering strings wrong .. sounds we should address that. Maybe a compat-fix, or at least reject the string. But showing wrong information sounds like we kinda broke shit to me ๐Ÿ˜›
00:28:50  <truebrain> (Caused by 14.x string related changes / fixes; now location strings show the wrong location with AIs)
00:29:16  <truebrain> Guess it should be a bug-report ๐Ÿ™‚
00:29:59  <truebrain> AI -> GS, but whatever .. tomato tomato ๐Ÿ™‚
00:33:48  <_jgr_> It's the script from this issue: <https://github.com/OpenTTD/OpenTTD/issues/10542>
00:41:56  <peter1138[d]> 34
00:47:38  <peter1138[d]> Okay, so is this STRING instead of STRING1,2,3 etc?
00:48:38  <peter1138[d]> Yes,.
00:48:43  <peter1138[d]> It's so easy to fix the GS, but...
01:05:46  <peter1138[d]> https://cdn.discordapp.com/attachments/1008473233844097104/1191910241063944252/image.png?ex=65a727ea&is=6594b2ea&hm=04b23298ee81d9127b029e25240c04d135849f5be73a102c915b5edb901d5a26&
01:05:46  <peter1138[d]> Ummm. not ideal ๐Ÿ˜„
01:09:16  <_glx_> yeah most GS don't follow the param rules, and it's enforced now
01:10:31  <DorpsGek> [OpenTTD/OpenTTD] npabisz opened pull request #11672: Allow GS to add animated text to the map https://github.com/OpenTTD/OpenTTD/pull/11672
01:11:51  <peter1138[d]> https://cdn.discordapp.com/attachments/1008473233844097104/1191911773046067310/image.png?ex=65a72957&is=6594b457&hm=9742a9f8d0811564be5996bc3d8f2ac5406a3695316dd01d384d8e66b496b331&
01:11:51  <peter1138[d]> Maybe?
01:17:09  <peter1138[d]> Doesn't really fix the problem but at least it doesn't just show industry 0.
01:18:49  <_glx_> https://cdn.discordapp.com/attachments/1008473233844097104/1191913523568181278/image.png?ex=65a72af8&is=6594b5f8&hm=021ef778a0c2fae683823fb4bb7bf12d7ff911af34c59c26e11775915a447b66&
01:19:33  <peter1138[d]> Yeah
01:19:55  <peter1138[d]> But that error doesn't pop up the console, so players don't see a problem.
01:21:14  <_glx_> the parameter should still be present somewhere
01:22:15  <peter1138[d]> Funny how the GS log shows the correct name, cos it's built differently ๐Ÿ™‚
01:27:19  <peter1138[d]> I wonder if we can 'modify' the STRING to the correct form, by checking if the parameter... has parameters.
01:29:12  <peter1138[d]> I suspect it is all too far disconnected.
01:38:33  <_glx_> hmm the value is actually present
01:42:24  <peter1138[d]> Yeah it will be.
01:42:51  <DorpsGek> [OpenTTD/OpenTTD] github-advanced-security[bot] commented on pull request #11672: Allow GS to add animated text to the map https://github.com/OpenTTD/OpenTTD/pull/11672#pullrequestreview-1801280031
01:51:37  <_jgr_> Changing the subspans passed to STRING/STRINGN to include all the remaining the parameters, but only advancing the parent offset by the correct number of parameters should be enough for it to work, as that's essentially the old behaviour
01:52:17  <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #11672: Allow GS to add animated text to the map https://github.com/OpenTTD/OpenTTD/pull/11672#issuecomment-1874762019
02:02:20  *** herms has quit IRC
02:03:12  *** herms has joined #openttd
02:21:33  <_glx_> https://cdn.discordapp.com/attachments/1008473233844097104/1191929311826026546/image.png?ex=65a739ac&is=6594c4ac&hm=77d75d9b5ccf10df4aa9c947d0545a4d6310ca6aa55dfd30f1cc42412829d9fc&
02:21:33  <_glx_> I was looking at ScriptText, but it does the right thing, the parameters are properly encoded to say "Deliver {GOLD}[oil, 1050] {ORANGE}to {YELLOW}[Rodez Oil Refinery]"
02:21:56  <_glx_> https://cdn.discordapp.com/attachments/1008473233844097104/1191929409884659843/image.png?ex=65a739c4&is=6594c4c4&hm=861dddbc4a1e83cbf2e2822e6c20c4fb9da8c958281520359eb36df8fdc159bf&
02:21:56  <_glx_> but it's displayed
02:22:04  <peter1138[d]> Yes
02:22:24  <_glx_> it's deeper ๐Ÿ™‚
02:22:28  <peter1138[d]> Not really.
02:22:46  <peter1138[d]> `GetnExtParameterPointer()` returns nullptr if the parameter number is out of range.
02:22:49  <_glx_> at least the param is properly passed to openttd
02:23:22  <peter1138[d]> `GetNextParameter<>()` returns 0 if `GetNextParameterPointer()` returns nullptr.
02:23:39  <peter1138[d]> So instead of showing nothing, or an error, it shows industry 0.
02:24:07  <_glx_> yeah I was not looking at the right place ๐Ÿ™‚
02:24:50  <_glx_> I was focused on `for (int i = count; i < cur_param.consumes; i++) fmt::format_to(output, ":0");`
02:24:51  <peter1138[d]> We could do what JGR suggests so that the parameters are accessible.
02:25:01  <peter1138[d]> You did a Xarick? ๐Ÿ˜‰
02:25:25  <peter1138[d]> Or we could be properly strict, and not turn a missing parameter into 0.
02:25:41  <_glx_> I forgot I properly did support "broken" GS when adding the validation on GSText side
02:26:21  <peter1138[d]> To be properly strict is really easyโ€”instead of returning nullptr, throw an exception, and then catch it in FormatString.
02:26:27  <_glx_> the 0 here is for when the script forgot to add it
02:26:49  <_glx_> but in busybee case it's present
02:26:59  <_glx_> so no 0 added
02:27:16  *** thelounge345 has quit IRC
02:45:36  *** herms has quit IRC
02:54:06  *** Wormnest has quit IRC
03:05:32  <DorpsGek> [OpenTTD/OpenTTD] PeterN opened pull request #11673: Change: Don't handle 'missing' string parameters as 0. https://github.com/OpenTTD/OpenTTD/pull/11673
03:06:10  <_glx_> actually ScriptText makes sure the string has enough parameters for the used STRING/STRINGN, so always passing the full span if `game_script` should be fine
03:07:58  <_glx_> even if the wrong type was used in the string
03:09:16  <peter1138[d]> Mostly indentation changes :/
03:09:48  <peter1138[d]> https://cdn.discordapp.com/attachments/1008473233844097104/1191941454696812654/image.png?ex=65a744fc&is=6594cffc&hm=fb35204ea3b834b6f5747de270cef14894e7950c17877f7aae6def639d64a212&
03:09:48  <peter1138[d]> AI ๐Ÿ˜„
03:11:22  <peter1138[d]> https://cdn.discordapp.com/attachments/1008473233844097104/1191941848273526866/image.png?ex=65a74559&is=6594d059&hm=22de08f96e7b060e2cb70e36b5fc563c71fee72c270435d0a231da32ac5eee91&
03:11:22  <peter1138[d]> Yay
03:11:29  <_glx_> but yeah your change also works for openttd strings
03:12:32  <peter1138[d]> Yup. The issue with returning 0 is it's not actually obvious. You might see the debug message, but it doesn't have anything to correlate it.
03:26:32  *** Flygon has joined #openttd
03:34:17  <DorpsGek> [OpenTTD/OpenTTD] github-advanced-security[bot] commented on pull request #11673: Change: Don't handle 'missing' string parameters as 0. https://github.com/OpenTTD/OpenTTD/pull/11673#pullrequestreview-1801332431
03:36:19  <peter1138[d]> Hehe, yeah I bet it does ๐Ÿ˜„
03:55:10  *** D-HUND has joined #openttd
03:58:33  *** debdog has quit IRC
04:00:39  *** D-HUND is now known as debdog
04:15:21  *** Smedles has quit IRC
04:15:27  *** Smedles has joined #openttd
05:10:54  *** keikoz has joined #openttd
06:42:59  *** nightingale33 has joined #openttd
06:42:59  <nightingale33> I'm on JGR 1.52, with this issue.
06:42:59  <nightingale33> I've got a local copy of the GS repo, I'll have a closer look at the string handling part of the API and maybe I can make the fix for my own one (and offer a PR back to the unupdated GS). By the sounds of it, incomplete parameterization. Given the issue appears as the wrong town/industry. Must be missing a parameter on that fetch and its defaulting
06:52:09  <locosage> peter1138[d]: https://hackaday.com/2023/12/31/welcome-to-the-year-of-the-diagonal-linux-desktop/
07:11:32  <DorpsGek> [OpenTTD/OpenTTD] Gadg8eer opened pull request #11674: Patch for issue #11123 https://github.com/OpenTTD/OpenTTD/pull/11674
07:30:55  *** tokai has joined #openttd
07:30:55  *** ChanServ sets mode: +v tokai
07:32:02  <DorpsGek> [OpenTTD/OpenTTD] LordAro commented on pull request #11673: Change: Don't handle 'missing' string parameters as 0. https://github.com/OpenTTD/OpenTTD/pull/11673#pullrequestreview-1801492675
07:37:21  <DorpsGek> [OpenTTD/OpenTTD] LordAro commented on pull request #11673: Change: Don't handle 'missing' string parameters as 0. https://github.com/OpenTTD/OpenTTD/pull/11673#pullrequestreview-1801497554
07:37:51  *** tokai|noir has quit IRC
07:41:52  <andythenorth> so...how do livery overrides work?
07:42:05  <andythenorth> the actual question is "can I abuse them?"
07:43:54  <andythenorth> seems like a weird feature still https://newgrf-specs.tt-wiki.net/wiki/Action3LiveryOverride
07:44:58  <locosage> "and in the future, the look of train visual effects such as steam and diesel smoke." xD
07:48:18  <andythenorth> anyway it's not going to do what I want ๐Ÿ˜›
07:48:39  <andythenorth> I want to chain from an action 2 to the **action 3** of another vehicle
07:49:10  <Eddi|zuHause> no.
07:49:15  <andythenorth> loops? ๐Ÿ˜›
07:49:27  <Eddi|zuHause> no.
07:49:35  <andythenorth> although chaining action 2 is possible across the grf, it requires manually managing action 2 IDs, which is not favourable in nml
07:50:12  <andythenorth> there are 2 use cases
07:50:36  <Eddi|zuHause> no.
07:51:01  <andythenorth> - vehicles that have separate IDs, but use identical sprites e.g. (railcars + their unpowered trailers)
07:51:01  <andythenorth> - 'randomised' wagons, that 'build' a random choice from a subset of real wagons
07:51:30  <andythenorth> the first case is currently handled by copying everything (including the spritesheet)
07:52:08  <andythenorth> the second case is handled by some elaborate re-ordering of the grf at compile time, to ensure that vehicles can chain to other vehicles action 2 chain without running out of ID
08:12:16  <truebrain> peter1138[d]: Nice fix! Now the question remains .. can we patch up older GSes to still work ๐Ÿ˜„
08:33:46  <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #11673: Change: Don't handle 'missing' string parameters as 0. https://github.com/OpenTTD/OpenTTD/pull/11673#pullrequestreview-1801563251
08:34:06  *** ahyangyi has joined #openttd
08:34:06  <ahyangyi> andythenorth: The realsprites in the first case is already automagically deduplicated if you use grf-py ๐Ÿ˜ฎ
08:34:59  <DorpsGek> [OpenTTD/OpenTTD] PeterN updated pull request #11673: Change: Don't handle 'missing' string parameters as 0. https://github.com/OpenTTD/OpenTTD/pull/11673
08:37:55  <peter1138[d]> truebrain: truebrain probably. I think the main issue of the game crashing when trying to access out-of-bounds parameters is resolved, so being slightly lenient with incorrect strings from GS should be "okay", if not ideal.
08:38:53  <peter1138[d]> It might be preferable to only allow it for scripts using a compatibility layer below 14.
08:38:59  <truebrain> We can be strict if compat 14 is loaded, and relaxed if 13 or older?
08:39:03  <peter1138[d]> Haha
08:39:07  <truebrain> ๐Ÿ˜„
08:39:28  <peter1138[d]> I'm not sure how that can be done though ๐Ÿ™‚
08:41:12  <peter1138[d]> Yeah, outputting the string with an error isn't useful: `Trying to read invalid string parameter in "๎ƒ๎€ˆ"` ๐Ÿ™‚
08:47:55  <peter1138[d]> Oh crap, nearly 9am already ๐Ÿ˜ฆ
08:48:15  <andythenorth> coffee time
08:51:59  <_zephyris> cappuccino, nice dark Ethiopian roast
08:52:32  <_zephyris> How do I enter arbitrary unicode characters in OTTD?
08:52:47  <_zephyris> I want to play with bitcoin as currency...
08:53:14  <peter1138[d]> If you have a compose key that should work.
08:53:35  <peter1138[d]> Or copy & paste?
08:53:46  <peter1138[d]> Not sure if we support that ๐Ÿ˜„
08:56:47  <_zephyris> Ill try ๐Ÿ™‚
08:57:19  <_zephyris> I'm trying alt+code and copy paste, but by remote desktop from my phone on a bus! Not sure where the weak link is
08:58:10  <peter1138[d]> Ah the weakest link in the chain...
08:58:53  <peter1138[d]> I don't think alt+code will work.
09:16:59  <_zephyris> Ctrl+C Ctrl+V works ๐Ÿคฃ
09:17:23  <_zephyris> Now I'm confused by my laptop keyboard for trying Alt+numpad
09:23:28  <peter1138[d]> > Floating editor windows - Drag and drop editors onto your desktop.
09:23:35  <peter1138[d]> Because code isn't already on my desktop ๐Ÿ˜ฎ
09:23:57  <nightingale33> https://cdn.discordapp.com/attachments/1008473233844097104/1192035613290004602/image.png?ex=65a79cad&is=659527ad&hm=31de1b736d1cb0d118733079d239d3bca0189e2b5a913c0d433ef45192f5d70a&
09:23:57  <nightingale33> https://cdn.discordapp.com/attachments/1008473233844097104/1192035613520695376/image.png?ex=65a79cad&is=659527ad&hm=d19793a720456e2061825afdf2b2f668b52eb9618869be721045477d4daaa7b4&
09:23:57  <nightingale33> https://cdn.discordapp.com/attachments/1008473233844097104/1192035613747191858/image.png?ex=65a79cad&is=659527ad&hm=b79f3e980b544a9ba268c06d8b51ed3be3c6bf2f6e2931c971c28ae87636bbec&
09:23:57  <nightingale33> Looking through the GS that was causing me issues. I noticed that I can't spot an issue with the calling convention, at least as per the official docs.
09:23:57  <nightingale33> Best I can tell, that is perfectly valid usage.
09:24:38  <nightingale33> The only swap aspect that could help, is using the other convention of "AddParam"
09:26:31  <nightingale33> ```c++
09:26:31  <nightingale33> destination = accept.town;
09:26:31  <nightingale33> destination_string = GSText(GSText.STR_TOWN_NAME).AddParam(destination);
09:26:31  <nightingale33> destination_string_news = GSText(GSText.STR_TOWN_NAME_NEWS).AddParam(destination);
09:26:31  <nightingale33> ``` is the alternate form, is this liable to work better?
09:28:10  <peter1138[d]> No, the issue is we require {STRING1} instead of {STRING} in the language file.
09:28:31  <truebrain> peter1138[d]: to make a variable available which gives compat mode, I can arrange that. As for the string-stuff .. I have no clue ๐Ÿ˜›
09:28:31  <truebrain> It always puzzled me a bit why the DParam stuff is not more stack-lack, which would kinda invalidate the need of STRING1 etc. But that is unfixible now ๐Ÿ™‚
09:28:55  <nightingale33> peter1138[d]: Ah, I see, so `STR_TOWN_NAME   :{WHITE}{TOWN1}` is the intended correct usage?
09:29:12  <peter1138[d]> No, literally there's a {STRING} which should be {STRING1}
09:29:21  <peter1138[d]> It's a string that includes another string which uses a parameter.
09:29:40  <peter1138[d]> STRING mean no parameters, STRING1 means 1 parameter.
09:30:02  <peter1138[d]> This used to work because OpenTTD didn't do bounds checking here (and this could/would result in crashes)
09:30:03  <nightingale33> Gotcha, so I need to update this line (and all similar)`STR_COMPANY_GOAL                       :Deliver {GOLD}{CARGO_LONG} {ORANGE}to {STRING}`
09:31:53  <peter1138[d]> truebrain: I don't think it's unfixable, but it's as far as I can tell it's there deliberately to ensure that the correct number of parameters is consumed.
09:32:33  <peter1138[d]> nightingale33: Yes
09:32:56  <truebrain> peter1138[d]: I guess that is fair too. Just compat-fixing things seems a bit tricky in the way it is currently setup ๐Ÿ™‚
09:33:00  <peter1138[d]> The issue is "this used to work" so we are trying to come up with a way of allowing older scripts to "break the rules"
09:33:25  <nightingale33> From a definition stand-point. It definitely feels like something the "user" writing the mod shouldn't have to deal with.
09:33:25  <nightingale33> But regardless,
09:33:26  <nightingale33> Just to check I fully understand it.
09:33:26  <nightingale33> If the expected substitution string was something like `{TOWN}-{COMPANY}` then I would replace `{STRING}` with `{STRING2}`?
09:34:26  <peter1138[d]> Yes. I'm not entirely sure what happens when consume a substring that could be different number of parameters. Seems a bit awkward ๐Ÿ™‚
09:35:01  <truebrain> peter1138[d]: Ironically I do that with social presence ๐Ÿ˜›
09:35:05  <nightingale33> I doubt there are any instances of `{STRING2}` in this GS. But it's worth checking I understood it.
09:35:19  <peter1138[d]> truebrain: imo the main issue (crashing) is solved by StringParameters doing bounds checking.
09:36:18  <peter1138[d]> Oh, and it's not just a GS issue. This trips us up on our own strings too, and the only way to know is by trying to format a string.
09:37:06  <peter1138[d]> Given it's a runtime problem, and the number of strings and all the combinations, that makes a unit-test a bit hard ๐Ÿ™‚
09:38:48  <truebrain> custom SAST? ๐Ÿ˜›
09:40:40  <peter1138[d]> Custom what?
09:40:52  <truebrain> static code analysis ๐Ÿ™‚
09:40:54  <truebrain> CodeQL
09:40:59  <peter1138[d]> Ahh
09:41:10  <peter1138[d]> You can try? ๐Ÿ™‚
09:41:25  <truebrain> it will be able to detect a lot, but not all; which makes false positives very likely
09:41:31  <truebrain> we are not that clean in where we do a DParam
09:44:39  <peter1138[d]> All those str + x would be interesting.
09:44:59  <truebrain> at least I marked them all ๐Ÿ™‚
09:45:23  <peter1138[d]> Yeah, but SAST validating that x is in range?
09:45:39  <truebrain> we need to customly feed every string to it
09:45:42  <truebrain> it won't be easy ๐Ÿ˜„
09:46:04  <truebrain> I guess I should have added a /s instead of a ๐Ÿ˜› ๐Ÿ™‚
09:46:52  <truebrain> main issue btw is windows .. where what STR used is miles away from where the DParams are set
09:46:56  <truebrain> correlating that is hard
09:47:03  <truebrain> even for us humans
09:51:41  <peter1138[d]> Oh don't mind me, I aware you were not serious ๐Ÿ™‚
09:51:54  <DorpsGek> [OpenTTD/OpenTTD] SamuXarick updated pull request #10548: Change: Groups cache vehicle lists https://github.com/OpenTTD/OpenTTD/pull/10548
09:52:04  <peter1138[d]> I'm not American, I don't need sarcasm to be explicitly pointed out ๐Ÿ˜‰
09:52:09  <truebrain> hahaha
09:52:30  <andythenorth> are you sure?
09:55:33  <peter1138[d]> I'm not falling for that trap.
09:56:26  <nightingale33> Ahah, Numbers are not parameters. I think, somehow
09:57:41  <andythenorth> peter1138[d]: "really?"
09:58:40  <andythenorth> truebrain: can you explain Dutch sarcasm to me?
09:58:54  <truebrain> fuck off
09:59:04  <truebrain> wait, that was Dutch rudeness, my mistake
09:59:21  <andythenorth> there's Dutch rudeness? ๐Ÿ˜ฎ
09:59:24  *** osswix has joined #openttd
09:59:24  <osswix> andythenorth: Dat gaat niet.
09:59:40  <truebrain> your mother
09:59:54  <truebrain> these things translate so lovely ๐Ÿ™‚
10:00:46  <andythenorth> some things are probably universal
10:01:13  <truebrain> dunno; do Brits just reply with "Your mother" to a question?
10:02:18  <andythenorth> at a certain level of emotional maturity, definitely
10:02:24  <andythenorth> absolutely the default answer
10:02:34  <andythenorth> except it's "Your mum"
10:03:01  <truebrain> I just love slang
10:03:33  <andythenorth> today is therapist day, I can discuss this with them
10:04:00  <truebrain> sounds wasteful
10:04:25  <andythenorth> you are right
10:04:40  <truebrain> I also cannot be wrong in how things sound to me ๐Ÿ˜„
10:04:44  <truebrain> which is just a lovely concept ๐Ÿ˜›
10:05:00  <andythenorth> ask your therapist about it
10:05:22  <andythenorth> ok it's now time for my daily chat with GPT
10:05:23  <andythenorth> work-related
10:05:33  <andythenorth> "hello GPT, how you today?"
10:05:38  <andythenorth> oh, wrong window
10:06:23  <truebrain> ah, yes, a world where we have better emotional connections with an AI than with humans ๐Ÿ™‚
10:10:53  <andythenorth> well they're trained to give the socialised responses ๐Ÿ˜›
10:11:07  <andythenorth> because we write the world as it should be or how we want it to be, using neat and tidy words
10:11:29  <andythenorth> which have no real relation to actual human interactions, which are mostly grunting
10:14:04  <peter1138[d]> https://cdn.discordapp.com/attachments/1008473233844097104/1192048224714895400/8e2f328e5db6fa60.png?ex=65a7a86b&is=6595336b&hm=f8bdca6ee95b9784c6ff2b21b72cf8262860b6a8836fd3cc11758501a853e783&
10:14:04  <peter1138[d]> Ah... these...
10:22:10  <peter1138[d]> Right, where was I, apart from over 30 years ago...
10:28:55  <nightingale33> Woo, looks like I've fixed it up. Very satisfying
10:29:13  <andythenorth> what even is?  That's not a Jazz drive
10:53:47  <xarick> CheckClickOnVehicle, can I assume effect vehicles and disaster vehicles, free wagons, are always unclickable
10:54:04  <xarick> I'm about to give it the group treatment
10:54:57  <peter1138[d]> Can you get it reduced from 6ms to 35ยตs on Wentbourne?
10:55:26  <reldred> andythenorth: Looks like early DVD cassettes
10:55:40  <reldred> DVD-RAM was supposed to be like that
10:55:47  <peter1138[d]> It says what it is in the picture ๐Ÿ™‚
10:55:49  <peter1138[d]> It's a CD Caddy.
10:56:15  <reldred> peter1138[d]: I didnโ€™t zoom in ๐Ÿ˜›
10:56:23  <reldred> I just knew it wasnโ€™t a minidisc
10:56:51  <xarick> peter1138[d]: I doubt it will be reduced that much
10:57:20  <xarick> only a little
10:57:44  <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1192059215573962792/s-l1600.png?ex=65a7b2a8&is=65953da8&hm=5e486c782759f6aeea4c711b605578a33ef6503f1c6b1e6cb93504e150c35603&
10:57:44  <andythenorth> this is a CD caddy ๐Ÿ˜›
10:57:46  <peter1138[d]> Okay, then don't bother ๐Ÿ™‚
10:59:45  <peter1138[d]> > dbg: [misc] [CheckClickOnVehicle] 21 us [avg: 21.0 us]
11:04:52  <georgevb> _zephyris: Letter ะ™ is missing in cyrillic
11:07:30  <peter1138[d]> > dbg: [misc] [CheckClickOnVehicle] 9 us [avg: 9.0 us]
11:07:34  <peter1138[d]> Oh, that's not bad.
11:08:22  <truebrain> lol
11:13:09  <peter1138[d]> Ah shit I didn't extend my API with some new reports ๐Ÿ˜ฆ
11:15:58  <peter1138[d]> Okay, release build is not that impressive :p
11:17:12  <peter1138[d]> Fairly constant 1100ยตs to 5-20ยตs
11:17:17  <peter1138[d]> 1.1ms
11:18:16  <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1192064383279444031/image.png?ex=65a7b778&is=65954278&hm=fa16e76bc30ed95d22cc1c6798235cbf11a8e5b1e28aeae76a4f913790b71947&
11:18:20  <xarick> I lose
11:18:26  <peter1138[d]> I wonder why ๐Ÿ™‚
11:18:30  <peter1138[d]> (No, I don't.)
11:18:47  <peter1138[d]> That's slower than iterating all vehicles.
11:18:59  <xarick> not sure, will test that now
11:19:01  <peter1138[d]> Unless it's a debug build.
11:20:10  *** thelounge345 has joined #openttd
11:22:35  <DorpsGek> [OpenTTD/OpenTTD] SamuXarick updated pull request #10548: Change: Groups cache vehicle lists https://github.com/OpenTTD/OpenTTD/pull/10548
11:25:29  <_zephyris> https://cdn.discordapp.com/attachments/1008473233844097104/1192066200054812752/image.png?ex=65a7b929&is=65954429&hm=1cafa9010d52ba220e9e8e4bf698a7a2eea2e51ca97753397a7f75d63c1e7e80&
11:25:30  <_zephyris> georgevb: That's just a preview, I promise they are there ๐Ÿ™‚ Should be full coverage for all Cyrillic translations for OpenTTD.
11:25:33  <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1192066214990721105/image.png?ex=65a7b92d&is=6595442d&hm=02d6fe3df8b8879e94520b779bfee04e059b57e309628f98470d33d614de1479&
11:25:33  <xarick> yeh, it's worse ๐Ÿ˜ฆ
11:26:10  <xarick> what a failurew
11:26:22  <peter1138[d]> Here's a tip. If you need to iterate all vehicles, then the best thing to do is to iterate all vehicles.
11:27:21  <andythenorth> it's funny how doing the thing is often the thing you need to do
11:27:38  <andythenorth> took me too long to learn that in software ๐Ÿ˜›
11:27:47  <andythenorth> "just do the thing and stop fucking around"
11:28:06  <xarick> dropping commit
11:28:55  <_glx_> peter1138[d]: For now the validation is skipped for all extra parameters, like in busy bee case the town/industry id from substring could be consumed by next command (if there was any), but the type check is disabled
11:28:59  <peter1138[d]> Can you perhaps stop pushing to your branch if you haven't even verified your changes are more performant?
11:29:25  <_glx_> I started to look at how to improve the function to not disable the check
11:30:06  <_glx_> Anyway the number of parameters is still validated
11:30:09  <peter1138[d]> Perhaps at the parent string check if there are excess parameters.
11:30:10  <DorpsGek> [OpenTTD/OpenTTD] SamuXarick updated pull request #10548: Change: Groups cache vehicle lists https://github.com/OpenTTD/OpenTTD/pull/10548
11:30:54  <peter1138[d]> If there are excess parameters for the parent string, then pass them to the child. But only in GS-compatibility-level mode?
11:32:18  <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #10548: Change: Groups cache vehicle lists https://github.com/OpenTTD/OpenTTD/pull/10548#issuecomment-1875225233
11:33:16  <_glx_> The child already checks it has the minimum required number for itself, and throw if there's not enough
11:34:05  <peter1138[d]> In GS-land or FormatString-land?
11:34:54  <_glx_> Then parent string handling adds more to match the command, or use extra params before continuing to use it's own
11:35:01  <_glx_> It's in GS land
11:35:30  <_glx_> But when using extra it doesn't type check
11:35:48  <peter1138[d]> Okay, so if GS can change STRING to be STRING1/2/3 as needed, then it would work. But it might not do what is wanted.
11:35:57  <peter1138[d]> And it probably can't ๐Ÿ™‚
11:36:28  <_glx_> GS validation tries to simulate FormatString
11:37:45  <_jgr_> The script end can't correct the string codes because only the string ID is passed via SCC_ENCODED
11:37:45  <_glx_> But it's not complete for extra params, and I think I can improve it
11:39:48  <xarick> sorry, I don't get why some times there's an improvement and some other times there isn't.
11:40:36  <xarick> the total sum of vehicles is less, just slightly though, but still I expecteded an improvement
11:41:30  <LordAro> xarick: trying to optimise without understanding what exactly is slow is a waste of time
11:41:36  <LordAro> i.e. do profiling first
11:41:43  <peter1138[d]> I reckon we can change FormatString to just allow use of the remaining parameters in {STRING}, if it's game-script below 14.0.
11:42:26  <LordAro> and perhaps more relevantly, test locally rather than pushing to your PR every 5 minutes and abusing our CI resources
11:42:33  <peter1138[d]> LordAro, I finally fixed the spoke... only to find another one. (It was still in the nipple, but not attached...)
11:42:59  <peter1138[d]> Fortunately *before* I put everything back together ๐Ÿ˜„
11:43:15  <LordAro> it's a pull *request* - if you don't have anything ready, or any idea of what you're doing, don't waste our time
11:43:21  <LordAro> peter1138[d]: oh well done
11:44:19  <peter1138[d]> And I mastered the art of not allowing the nipple to fall between the rim layers. That cost me about an hour last time...
11:44:58  <peter1138[d]> I don't want to imagine the annoyance of a nipple rattling around in the rim while riding ๐Ÿ˜„
11:45:00  <andythenorth> I am a bad person.  I would have bought a new wheel
11:45:05  <LordAro> maybe i've misunderstood the changes, but don't invalid GS strings just result in "invalid parameter" being used, rather than any GS crashes? given previously the values were garbage anyway, i don't really see the issue?
11:45:11  <LordAro> andythenorth: ditto
11:45:16  <andythenorth> I will spend time fixing many silly things, but I've done my time fixing bikes
11:45:19  <LordAro> or taken it somewhere and thrown money at it
11:45:28  <peter1138[d]> LordAro, with my most recent PR, yes.
11:45:47  <peter1138[d]> The issue is that pre 14.0, the strings used to work because we didn't validate the parameters.
11:45:57  <peter1138[d]> So we've "broken" the scripts by fixing it.
11:46:11  <LordAro> you mean the values weren't garbage before?
11:46:16  <peter1138[d]> Correct.
11:46:22  <LordAro> i see
11:46:26  <LordAro> that does feel like a regression
11:46:36  <peter1138[d]> The values are there, but the StringParameter system now range checks and prevents access to them.
11:47:08  <LordAro> i see
11:47:10  <peter1138[d]> Given we do know now the parameter bounds, it should be safe to allow GS to use up to the full range anyway. It still can't go out of bounds.
11:47:43  <LordAro> not wanting to be all project-manager, but can this get written up into an actual issue, rather than just being here?
11:48:08  <peter1138[d]> We've got 2TallTyler for the PM role ๐Ÿ˜‰
11:48:22  <peter1138[d]> But probably.
11:48:29  <peter1138[d]> There might even be an open issue.
11:48:41  <LordAro> we tell people off for not doing things in the right place, should exercise good practices ourselves
11:52:42  <peter1138[d]> <https://github.com/OpenTTD/OpenTTD/issues/10542> Ah, not ideal, it's closed with a fix that fixes the reported issue, but doesn't make the strings work ๐Ÿ™‚
11:55:01  <_jgr_> At the time of that issue, the fix did resolve the problem
11:55:24  <_jgr_> String parameter subspans was added afterwards
11:59:41  <peter1138[d]> Ah right.
12:00:15  *** thelounge345 has quit IRC
12:01:11  *** thelounge345 has joined #openttd
12:01:17  <xarick> I know I shouldn't say this but I'm surprised you care about old scripts not crashing
12:01:58  <peter1138[d]> The script does not crash here.
12:02:45  <peter1138[d]> Eh, I guess it did. I thought it was a game crash ๐Ÿ™‚
12:03:03  <_jgr_> xarick: Having every existing script not work when 14.0 comes out seems likely to lead to user support issues
12:03:06  <peter1138[d]> But there's a difference between scripts crashing, and scripts that used to work no longer working.
12:16:33  <DorpsGek> [OpenTTD/OpenTTD] PeterN opened pull request #11675: Codechange: Use vehicle viewport hash to find clicked vehicle. https://github.com/OpenTTD/OpenTTD/pull/11675
12:18:17  <LordAro> ld-elf.so.1: Shared object "libcrypto.so.111" not found, required by "sudo"
12:18:19  <LordAro> oops.
12:23:23  <peter1138[d]> Oh dear.
12:23:42  *** LordAro has quit IRC
12:23:56  *** LordAro has joined #openttd
12:24:51  <xarick> ohh, I knew you were up to something
12:27:57  *** LordAro has quit IRC
12:28:31  *** LordAro has joined #openttd
12:32:18  <xarick> I'm going to report everything I measured (profiled?) to see if there are regressions in performance. I was under the wrong expectations there would always be a gain. But I'm scared it might make the PR unreadable
12:32:38  <xarick> it's a lot!
12:34:02  <peter1138[d]> It's already unreadable.
12:41:16  <merni> Oh man the latest jgrpp without the pressed-button-shifting looks so weird
12:41:23  <merni> No doubt I'll get used to it but it's a bit of a shock
12:41:57  <truebrain> lol @ remark in 11675 ๐Ÿ˜„
12:42:29  <LordAro> right, that's router, fileserver & both VPSes upgraded
12:42:36  <DorpsGek> [OpenTTD/OpenTTD] TrueBrain approved pull request #11675: Codechange: Use vehicle viewport hash to find clicked vehicle. https://github.com/OpenTTD/OpenTTD/pull/11675#pullrequestreview-1801933331
12:43:17  <merni> > Clicking on a vehicle in a vehicle
12:43:17  <merni> should this be "in a vehicle viewport"?
12:47:30  <_glx_> Hmm are aircraft in viewport hash ?
12:49:04  <_jgr_> Yes, they wouldn't be drawn otherwise
12:55:16  <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #11675: Codechange: Use vehicle viewport hash to find clicked vehicle. https://github.com/OpenTTD/OpenTTD/pull/11675#issuecomment-1875330363
12:55:31  *** herms has joined #openttd
12:57:59  <peter1138[d]> Weird, someone called our home phoneโ€”which only has VoIP-voicemail service, and hasn't been used for inbound or outbound calls for about 10 yearsโ€”looking for my partner's employer...
13:00:11  <merni> Btw, does a VoIP-landline work when you don't have electricity at home, like a normal landline does?
13:01:27  <merni> Recently we had a cyclone that knocked out power to home and many cell towers, so we were relying on landline (which worked perfectly throughout) for a day or two... that makes me rather worried about the phone provider's VoIP switchover plan
13:02:41  <peter1138[d]> If you have a UPS running your modem, router and phone, sure.
13:06:06  <merni> does UPS run for two days though
13:06:19  <merni> I have a UPS for my internet router but it lasts a few hours tops
13:07:50  <_glx_> Often when power lines are down there's a huge probability for telephone lines to be affected by the same trees
13:08:18  *** herms has quit IRC
13:09:37  <peter1138[d]> Well, I could get a generator, I guess ๐Ÿ˜„
13:10:09  <peter1138[d]> Our phone lines are being phased out, so it'll be VoIP over fibre as the only option soon.
13:10:26  <peter1138[d]> Hmm, how do I rip a Bluray? I guess I'd need a Bluray drive.
13:17:36  <peter1138[d]> Oh, I didn't realise that cargo icons are resolved in act 3/2/1 every time. I hope nobody uses a long complex chain now that they appear in more places ๐Ÿ™‚
13:22:23  <merni> _glx_: Maybe we wete just lucky with the phone lines this tike then, though I live in a city and many of the lines are underground
13:23:42  <merni> Also the power supply was turned off because of the massive flooding, even if lines weren't actually broken
13:27:52  <_glx_> here only power lines are underground, fibre is aerial on the same poles as copper
13:29:15  <_zephyris> https://cdn.discordapp.com/attachments/1008473233844097104/1192097343382769734/image.png?ex=65a7d62a&is=6595612a&hm=2ddf1d6a10446bafed1c388f6676d91f5f82e23f1ccf79e3bd93f3028cca65a1&
13:29:15  <_zephyris> Hmm, how does mono sprite font sizing work? It seems to ignore the sprite sizes...
13:29:20  <merni> Internet/fibre is a huge mess here between different providers
13:29:29  <_glx_> btw most modern phones won't work without power (DECT needs power to the base)
13:30:05  <merni> Base -> cordless phone?
13:30:24  <merni> Bc my landline phone has no wire for power, only a phone line
13:31:05  <merni> But yes to charge the wireless handset it needs power, but you can still use the actual landline phone
13:32:43  <merni> I also have a faux-antique rotary phone which uses pulse dialling which also worked, so perhaps our landline networks are just old fashioned lol
13:33:13  <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler closed pull request #10548: Change: Groups cache vehicle lists https://github.com/OpenTTD/OpenTTD/pull/10548
13:33:16  <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler commented on pull request #10548: Change: Groups cache vehicle lists https://github.com/OpenTTD/OpenTTD/pull/10548#issuecomment-1875378956
13:35:26  <goddess_ishtar> Is city placement exposed to NewGRFs at all, or is that patch territory?
13:38:46  <brickblock19280> no only somewhat within a town
13:38:49  <peter1138[d]> _zephyris: What did you do to get that?
13:39:40  <goddess_ishtar> I wanted to make the game place towns in a slightly more regular manner instead of just randomly wherever
13:40:02  <peter1138[d]> You'll need to patch for that.
13:40:18  <locosage> gs can probably do that too
13:40:42  <peter1138[d]> Oh right, I guess you could start with 1 town and let GS create the rest.
13:40:43  <_glx_> GS will need to remove towns first
13:41:11  <peter1138[d]> This goes back to "create methods to let GS set up the map"
13:41:15  <_glx_> because it runs after the map is fully generated with towns and industries
13:41:21  <peter1138[d]> andy was probably going to do it ๐Ÿ˜‰
13:41:26  <andythenorth> GS can set up the map
13:41:28  <andythenorth> I already do it
13:41:41  <peter1138[d]> No, it can only change the map after it's been created.
13:41:49  <andythenorth> oh yes, I see ๐Ÿ™‚
13:41:53  <andythenorth> fair point
13:42:10  <andythenorth> GS can *pretend* to set up the map, post-hoc
13:42:21  <andythenorth> just look away while it does it
13:42:26  <andythenorth> and don't read the news history
13:43:14  <peter1138[d]> Allow GS to do things without creating a news entry was probably also part of that...
13:46:38  <peter1138[d]> _zephyris: Also "I have a patch" that lets the text file viewer switch between normal and mono font.
13:46:59  <peter1138[d]> For most documents, line-wrapped proportional works just fine.
13:48:28  <peter1138[d]> We could also reformat line-breaks as per markdown spec.
13:50:06  <peter1138[d]> https://cdn.discordapp.com/attachments/1008473233844097104/1192102589723058226/image.png?ex=65a7db0d&is=6595660d&hm=2bf42cba3f034229c0606f896d926a93c11fec219241e56df228dff3c2632521&
13:50:06  <peter1138[d]> Uhhhh
13:50:37  <_zephyris> peter1138[d]: I gave it a sprite font where every character is 18x20px
13:51:19  <peter1138[d]> Not unless you want to draw a 2x sprite font ๐Ÿ™‚
13:51:23  <merni> peter1138[d]: India moment
13:51:30  <merni> though 300 is a bit high
13:51:55  <peter1138[d]> monospace font should be 8 pixels of ascender, 2 pixels of descender, although with offsets you can go outside that bounds a little if needed.
13:52:04  <peter1138[d]> (Same as normal font)
13:52:31  <_zephyris> Yeah, I know I was pushing it by giving it double height. But it seems to ignore the sprite width, hardcoded to expect 7px(?)
13:52:47  <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler commented on pull request #11674: Patch for issue #11123 https://github.com/OpenTTD/OpenTTD/pull/11674#pullrequestreview-1802083013
13:53:04  <merni> Wonder if anyone will create an RV set with the ability for pax to ride on top of lorries
13:54:51  <peter1138[d]> _zephyris: I don't think there's anything that hardcodes a width.
13:55:55  <peter1138[d]> In fact width-wise your screenshot looks fine.
13:56:44  <merni> Spaces seem to be missing
13:59:10  <peter1138[d]> Perhaps it's been auto-cropped by the GRF build.
14:07:14  <_zephyris> Ah, I'll give that a go
14:07:44  <peter1138[d]> Nothing will make the wrong height work though ๐Ÿ™‚
14:09:44  <peter1138[d]> Hmm, should fixing this string issue still produce a warning?
14:10:14  <peter1138[d]> I think that's harder to do.
14:11:07  <goddess_ishtar> patches require making changes to the C++ directly and compiling it yourself, right?
14:12:54  <peter1138[d]> Yup
14:20:29  <peter1138[d]> So it would be nice if it could be properly delegated to GS. Almost downloading a map generator from bananas....
14:20:55  <goddess_ishtar> how much of a pain is that for someone who doesn't know much C++?
14:24:19  <andythenorth> peter1138[d]: Ship it as a GS lib ๐Ÿ˜›
14:27:53  <_zephyris> peter1138[d]: Thanks, dumb mistake!
14:28:11  <_zephyris> peter1138[d]: Thanks, dumb mistake
14:32:27  <peter1138[d]> Hmm, is squirrel compatibility done entirely in squirrel?
14:33:24  <_glx_> yes redefinition of squirrel functions in squirrel
14:33:48  <peter1138[d]> Hmm, not sure how to do thing thing to only allow older scripts to bypass the string formatting restriction then.
14:35:46  <peter1138[d]> Could add a method that says provides a compatibility level to OpenTTD, alongside the GSLog.Info(), and then rely on that to determine behaviour. But that's a bit prone to abuse.
14:35:57  <_glx_> I think if validation is complete (meaning only properly drawable strings are passed to OpenTTD) there's no need to check API version but only `game_script` bool
14:36:22  <peter1138[d]> The idea is to allow old scripts to work, but require new scripts to be properly formed.
14:37:15  <_jgr_> I started writing an issue on this, but briefly there appears to be no documentation to tell script authors what "properly formed" is
14:37:41  <peter1138[d]> You found documentation at all? ๐Ÿ˜„
14:38:13  <_jgr_> There is plenty of stuff on the wiki and in doxygen
14:38:25  <_glx_> yeah the doc only says "in the same format as OpenTTD does, including tags like {BLACK}, {STRING1}"
14:38:41  <_glx_> without details on the commands themselves
14:39:25  <peter1138[d]> By the argument that there is no document to say what is properly formed, we should just accept anything.
14:39:29  <_jgr_> None of it says anything about STRING vs STRINGN and the text APIs by themselves don't suggest why authors should care about how parameters are mapped internally
14:39:48  <peter1138[d]> It's not mapped internally though.
14:40:02  <peter1138[d]> Well, okay.
14:40:06  <peter1138[d]> It kinda is.
14:40:19  <peter1138[d]> The expectation is they get a string. And can put that string in somewhere else.
14:40:36  <_glx_> anyway the validation ensure the param count is correct for the substring even if the parent string is not using the correct command
14:40:39  <peter1138[d]> But it seems what actually happens is they get a reference to a string that'll be built later.
14:41:22  <peter1138[d]> destination_string = GSText(GSText.STR_INDUSTRY_NAME, destination);
14:41:53  <_glx_> yes string are built when passed to openttd
14:42:03  <peter1138[d]> Translations I suppose.
14:42:21  <peter1138[d]> If it was made concrete during that call then it would be stuff forever ๐Ÿ™‚
14:42:50  <_glx_> not translations (that's handled by openttd when drawing), but encoding of parameters
14:43:28  <peter1138[d]> Yes, it's handled by OpenTTD -- but if it was made into a concrete string at that point then it couldn't be translated. That was my point ๐Ÿ™‚
14:43:42  <peter1138[d]> std::string I mean.
14:43:48  <peter1138[d]> Sorry I missed that.
14:44:12  <_jgr_> Script authors effectively provide parameters as a tree, not as a linear sequence
14:44:39  <_jgr_> So the parameter count stuff doesn't really make sense unless you know about that linearisation
14:46:08  <peter1138[d]> Okay, well it's a one-liner to allow it and not care about versions.
14:47:27  <_glx_> I think authors won't like the errors in scriptlog when writing new GS, so they do the "right" thing ๐Ÿ™‚
14:49:05  <_glx_> a missing param is auto fixed with a 0 (which won't display the expected string) so they will most likely fix their code
14:49:22  <peter1138[d]> No, if we allow it, then there are no errors in scriptlog.
14:49:31  <_jgr_> It seems like setting up script authors to fail when they won't understand what they're supposed to do
14:50:03  <_glx_> extra params will offset the params, and is not fully validated now
14:50:22  <LordAro> documentation definitely needs improving
14:50:36  <LordAro> but can we keep the warning in the log but carry on regardless?
14:52:33  <peter1138[d]> Hmm, let me see.
14:52:51  <peter1138[d]> Yes it is.
14:53:05  <peter1138[d]> The Debug() message is goen, but the gamescript log is still validated.
14:53:36  <peter1138[d]> But if we're going to allow it... why have the log?
14:54:25  <_glx_> because the strings are incorrect, but validation makes them safe for openttd
14:55:13  <_glx_> and the drawn string might not be what they expected
14:59:28  <LordAro> ^
14:59:48  <LordAro> same reason we (used to?) warn about strings not fitting in buffers
14:59:56  <LordAro> it works, but might not be what you expect
15:06:06  <xarick> fake news! a human player beat Tetris!
15:06:36  <xarick> making it crash, what an achievement
15:08:16  <xarick> the local radio station spreading this as news every hour is cringe
15:25:58  <peter1138[d]> Hmm, I guess a USB Bluray drive makes most sense.
15:26:31  <peter1138[d]> Or at least as much sense as Bluray can make in 2024.
15:41:59  <peter1138[d]> Oh no.
15:42:44  <peter1138[d]> For some reason OpenTTD debug messages are appearing in... my /var/log/syslog !?
15:42:54  <peter1138[d]> > # grep "Trying to read invalid string parameter" /var/log/syslog | wc -l
15:42:54  <peter1138[d]> > 2492816
15:43:08  <LordAro> how exciting
15:45:52  <peter1138[d]> At least my sudo still works for now ๐Ÿ™‚
15:46:09  *** Wormnest has joined #openttd
16:09:17  <xarick> I feel depressed
16:11:59  <xarick> SLV_25 - were the already articulated road vehicles in this version?
16:13:51  <peter1138[d]> (svn r10097) -Feature: Add support for articulated road vehicle
16:14:04  <peter1138[d]> SLV_25,                                 ///<  25    4259 (svn r4259)
16:14:25  <peter1138[d]> Articulated rail vehicles were still new at that point ๐Ÿ™‚
16:14:45  <xarick> thanks
16:30:10  *** nielsm has joined #openttd
16:30:37  *** thelounge345 has quit IRC
16:50:16  <peter1138[d]> Hmm, game seems to be waiting in NetworkShutDown() for quite a long time.
16:51:17  <peter1138[d]> Still waiting ๐Ÿ˜ฎ
16:55:11  <goddess_ishtar> xarick: don't worry I do to
16:59:57  <peter1138[d]> Hmm, 3893ยตs -> 1431ยตs
17:00:06  <peter1138[d]> Not a huge saving, but...
17:00:45  <goddess_ishtar> found https://wiki.openttd.org/en/Community/Essays/energetic2%27s%20New%20Towns and am wondering if it's a good idea to implement in a patch or whether it's a horrible concept
17:14:07  *** gelignite has joined #openttd
17:18:51  <andythenorth> why bother with a patch? ๐Ÿ™‚
17:18:53  <andythenorth> just use GS
17:26:20  <xarick> I'm assuming so many things in afterload
17:26:56  <xarick> I didn't live the history of OpenTTD, I know little about how things were back
17:30:28  <Eddi|zuHause> just don't touch it.
17:30:53  <andythenorth> don't even look ๐Ÿ™‚
17:31:09  <andythenorth> data migrations are never anything but procedural string
17:31:17  <Eddi|zuHause> you can look, but sanity not guaranteed.
17:39:53  <xarick> doing it for science
17:47:36  <Eddi|zuHause> inbetween conversions the game is in all kinds of invalid states
17:58:05  <peter1138[d]> https://cdn.discordapp.com/attachments/1008473233844097104/1192165000857538671/image.png?ex=65a8152d&is=6595a02d&hm=4bd4f8f1043a682d617cf1e39116b514cf637dd8a586571bdefa6e06fa3eb4a9&
17:58:05  <peter1138[d]> Worth doing?
17:58:19  <peter1138[d]> Larger number is master, smaller number is patched.
17:58:32  <alfagamma7> us?
17:58:39  <alfagamma7> What unit is that
17:58:40  <xarick> what is it?
17:58:44  <xarick> but yes, do it
17:58:46  <peter1138[d]> ยตs
17:59:01  <alfagamma7> Oh right
17:59:35  <xarick> what are  you working on?
18:07:28  <locosage> peter1138[d]: https://tenor.com/view/jeremy-clarkson-speed-speed-and-power-gif-27212846
18:08:02  <andythenorth> hmm
18:08:06  <andythenorth> persistent storage for trains?
18:12:17  <DorpsGek> [OpenTTD/OpenTTD] glx22 commented on pull request #11673: Change: Don't handle 'missing' string parameters as 0. https://github.com/OpenTTD/OpenTTD/pull/11673#pullrequestreview-1802850847
18:17:11  <xarick> What do trains and aircraft have in common?
18:17:43  <Rubidium> xarick: I wouldn't touch afterload for science. Maybe if you're doing a PhD in history...
18:19:18  <peter1138[d]> dbg: [misc] [VL_STATION_LIST] 2134 us [avg: 2134.0 us]
18:19:18  <peter1138[d]> dbg: [misc] [VL_STATION_LIST] 364 us [avg: 364.0 us]
18:19:28  <peter1138[d]> Not bad?
18:19:41  <peter1138[d]> That's Wentbourne...
18:19:57  <_glx_> so high number of things
18:20:09  <truebrain> is it executed once every game? ๐Ÿ˜›
18:20:33  <peter1138[d]> Heheh
18:20:56  <_glx_> only if you open some windows I think
18:21:14  <truebrain> so I am not far off ๐Ÿ˜›
18:21:38  <Rubidium> xarick: they both carry only one cargo type, but further vehicles can increase the number of cargo types that can be carried?
18:21:41  <peter1138[d]> Vehicle lists of stations and depots, but also same treatment for the gamescript versions of those.
18:21:50  <peter1138[d]> Which is the one that Xarick abuses ๐Ÿ˜„
18:22:16  <xarick> oh, nice!
18:22:48  <xarick> I'm gonna like it
18:27:22  <locosage> peter1138[d]: can you maybe fix #7247 while at it? ;)
18:28:48  <DorpsGek> [OpenTTD/OpenTTD] frosch123 approved pull request #11665: Fix: replace the cedilla characters with comma ones for Romanian https://github.com/OpenTTD/OpenTTD/pull/11665#pullrequestreview-1802874560
18:29:34  <truebrain> is frosch123 now going against his own documentation? ๐Ÿ˜„
18:30:24  *** frosch123 has joined #openttd
18:30:24  <frosch123> i see no contradiction to the documentation
18:30:36  <DorpsGek> [OpenTTD/OpenTTD] PeterN opened pull request #11676: Codechange: Build station and depot vehicle lists from shared order lists. https://github.com/OpenTTD/OpenTTD/pull/11676
18:30:47  <frosch123> the docs do not forbid mass changes, they only list some limitations for them
18:30:55  <truebrain> it says eints will overwrite them
18:31:06  <truebrain> otherwise, it needs a bit of rewording ๐Ÿ˜‰
18:31:18  <truebrain> also: hi ๐Ÿ™‚
18:33:13  <frosch123> feel free to reword, i have no idea which statement is ambiguous
18:33:26  <truebrain> https://github.com/OpenTTD/OpenTTD/blob/master/docs/eints.md#i-want-to-submit-translations-via-pr
18:33:28  <truebrain> that is the first
18:33:32  <truebrain> that is very ... unambigious ๐Ÿ™‚
18:33:45  <truebrain> it leaves no room ๐Ÿ˜„
18:33:47  <frosch123> yes, that one should stay, just to discourage people
18:33:52  <peter1138[d]> xarick: so not as fast as your change in that area, but still an improvement.
18:33:53  <frosch123> it's a fake fact :p
18:34:00  <frosch123> like "we reed the suggestion forum"
18:34:01  <truebrain> and ... how do we know, as mere mortals? ๐Ÿ˜„
18:34:05  <_glx_> https://cdn.discordapp.com/attachments/1008473233844097104/1192174059862106132/image.png?ex=65a81d9d&is=6595a89d&hm=350553d7dea761da72a989441f793552e65032c3aee763dbde1e98cd1300acef&
18:34:05  <_glx_> did a quick GS test with `STR_TEST :{STRING} - {COLOUR}{STRING}`
18:34:34  <frosch123> all other sections give reasons, this one does not ๐Ÿ™‚
18:34:44  <DorpsGek> [OpenTTD/OpenTTD] PeterN updated pull request #11673: Change: Don't handle 'missing' string parameters as 0. https://github.com/OpenTTD/OpenTTD/pull/11673
18:34:59  <peter1138[d]> ^ Now includes the one-liner to allow GSText strings to work.
18:35:08  <peter1138[d]> But I need to modify to remove the redundant code.
18:35:17  <_glx_> so {COLOUR} used the extra param from first string and second string received the colour
18:35:33  <truebrain> anyway, although https://github.com/OpenTTD/OpenTTD/blob/master/docs/eints.md#i-want-to-revert-a-broken-change-some-translator-just-did-via-eints  is only about reverts, it is the only one that comes close to indicating anything about what happens when you make changes in master.  Hence our conclusion here ๐Ÿ™‚
18:36:09  <frosch123> yes, as i wrote in the PR, the PR will work, reverting the PR with another PR won't ๐Ÿ™‚
18:36:27  <frosch123> PRs only work for new translations, they cannot handle edit wars
18:36:31  <truebrain> yeah ... I still wouldn't know how we would know that ๐Ÿ™‚ Happy you know, don't get me wrong, but .. ๐Ÿ™‚
18:36:37  <DorpsGek> [OpenTTD/OpenTTD] PeterN merged pull request #11675: Codechange: Use vehicle viewport hash to find clicked vehicle. https://github.com/OpenTTD/OpenTTD/pull/11675
18:37:38  <xarick> PeterNviaGitHub: I got another save i've been using for my tests https://github.com/OpenTTD/OpenTTD/files/10832481/road.vehicle.ticks.over.260.ms.zip
18:37:54  <xarick> from my other PR
18:38:09  <xarick> i recommend using dummyAIs
18:38:12  <xarick> it's slow
18:39:23  <DorpsGek> [OpenTTD/OpenTTD] eints-sync[bot] pushed 1 commits to master https://github.com/OpenTTD/OpenTTD/commit/799455abf72e0bdb3840ad8d5d6fdd37f1117686
18:39:24  <DorpsGek>   - Update: Translations from eints (by translators)
18:39:54  <DorpsGek> [OpenTTD/OpenTTD] glx22 commented on pull request #11673: Change: Don't handle 'missing' string parameters as 0. https://github.com/OpenTTD/OpenTTD/pull/11673#pullrequestreview-1802888311
18:39:59  <DorpsGek> [OpenTTD/OpenTTD] PeterN updated pull request #11673: Change: Don't handle 'missing' string parameters as 0. https://github.com/OpenTTD/OpenTTD/pull/11673
18:40:05  <DorpsGek> [OpenTTD/OpenTTD] TrueBrain opened pull request #11677: Docs: indicate a bit better that mass-change PRs for translations are possible https://github.com/OpenTTD/OpenTTD/pull/11677
18:40:39  <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #11673: Change: Don't handle 'missing' string parameters as 0. https://github.com/OpenTTD/OpenTTD/pull/11673#pullrequestreview-1802889210
18:40:59  <DorpsGek> [OpenTTD/OpenTTD] TrueBrain updated pull request #11677: Docs: indicate a bit better that mass-change PRs for translations are possible https://github.com/OpenTTD/OpenTTD/pull/11677
18:41:08  <truebrain> at least some snippets for future-us ๐Ÿ™‚
18:41:12  <truebrain> for over .. 10 years ๐Ÿ˜›
18:41:48  <peter1138[d]> I never believed it wasn't... never had a problem every time I've done it ๐Ÿ™‚
18:42:17  <DorpsGek> [OpenTTD/OpenTTD] JGRennison commented on pull request #11673: Change: Don't handle 'missing' string parameters as 0. https://github.com/OpenTTD/OpenTTD/pull/11673#pullrequestreview-1802891272
18:43:38  <truebrain> yet you didn't say anything ๐Ÿ˜‰
18:44:43  <DorpsGek> [OpenTTD/OpenTTD] glx22 commented on pull request #11673: Change: Don't handle 'missing' string parameters as 0. https://github.com/OpenTTD/OpenTTD/pull/11673#pullrequestreview-1802894273
19:00:47  <DorpsGek> [OpenTTD/OpenTTD] glx22 commented on pull request #11673: Change: Don't handle 'missing' string parameters as 0. https://github.com/OpenTTD/OpenTTD/pull/11673#pullrequestreview-1802917107
19:01:34  <peter1138[d]> I always assume you know more than me ๐Ÿ™‚
19:01:49  <truebrain> lolz; that is a terrible assumption to have ๐Ÿ˜›
19:01:52  <andythenorth> I do that tooooo
19:02:18  <truebrain> but granted, I assume the same about you peter1138[d] , so we created a cycle! ๐Ÿ˜›
19:06:17  <DorpsGek> [OpenTTD/OpenTTD] JGRennison commented on pull request #11673: Change: Don't handle 'missing' string parameters as 0. https://github.com/OpenTTD/OpenTTD/pull/11673#pullrequestreview-1802923897
19:07:19  <_jgr_> I have an idea to make this all less painful, I'll see if I can make a draft PR in a day or two
19:09:08  *** Flygon has quit IRC
19:12:06  <peter1138[d]> So coping from StringParameters modifies the original parameters? Or something else is going on...
19:12:21  <peter1138[d]> It seemed to work considering it's meant to not work.
19:12:47  <_jgr_> It's in the destructor when parent is non-null
19:13:35  *** gelignite has quit IRC
19:19:50  <_zephyris> Why are original graphics signals different to OpenGFX1 signals? Is there a logic/realism argument/something behind that?
19:54:32  <frosch123> huh? i don't understand the question. what is different?
19:56:11  <DorpsGek> [OpenTTD/OpenTTD] frosch123 merged pull request #11665: Fix: replace the cedilla characters with comma ones for Romanian https://github.com/OpenTTD/OpenTTD/pull/11665
19:59:18  <xarick> science is failing me
19:59:29  <xarick> I don't understand consts
20:00:18  <xarick> let me expose my problem with gist
20:04:23  <xarick> <https://gist.github.com/SamuXarick/509ce2e915c02f7052219b731b6eae2f> - Problem: the list at line 36 is still the same list defined at line 19. Why?
20:04:32  <xarick> it's in another bracket!
20:05:57  <xarick> openttd crashes obivously, it's iterating trains!
20:06:03  <xarick> and i want aircraft
20:06:08  <Rubidium> const is basically a "contract" that you're not going to modify it
20:07:00  <xarick> but it's in another bracket, why doesn't that matter?
20:07:15  <xarick> another scope?! or wtv..
20:08:58  <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler commented on pull request #11677: Docs: indicate a bit better that mass-change PRs for translations are possible https://github.com/OpenTTD/OpenTTD/pull/11677#pullrequestreview-1803000616
20:08:59  <Rubidium> then for some reason trains have been added to the aircraft vehicle list in between
20:09:22  *** gelignite has joined #openttd
20:10:12  <DorpsGek> [OpenTTD/OpenTTD] TrueBrain updated pull request #11677: Doc: indicate a bit better that mass-change PRs for translations are possible https://github.com/OpenTTD/OpenTTD/pull/11677
20:10:34  <xarick> when i revert the changes for SLV_136, the one at SLV_146 will work correctly
20:12:10  <Rubidium> oh, line 19 writes the train list into the aircraft list
20:12:28  <xarick> yes
20:13:12  <LordAro> it assigns, rather than gives a name to
20:13:41  <Rubidium> as in, you got two envelopes. One with the aircraft and one with the trains, at line 19 you open the envelope remove all the aircraft and put copies of the trains into that envelope. Now you got two envelopes with trains (and none with aircraft)
20:14:04  <LordAro> you've effectively got `c->group_all[VEH_AIRCRAFT].vehicle_list = c->group_all[VEH_TRAIN].vehicle_list;`
20:16:17  <_glx_> hehe the joy of references
20:19:15  <_glx_> line 13 says use vehicle_list as a short name for c->group_all[VEH_AIRCRAFT].vehicle_list
20:20:02  <LordAro> i'm not immediately seeing a good solution. different scopes, perhaps?
20:20:07  <_zephyris> https://cdn.discordapp.com/attachments/1008473233844097104/1192200743302742186/image.png?ex=65a83677&is=6595c177&hm=5dabbb01f7de5018129fda25df983ebf29ce4cb444246b958bbbff2fef0c44d3&
20:20:07  <_zephyris> frosch123: Original at the top, OpenGFX1 at the bottom. The electric entry/exit and path signals have totally different light layouts...
20:21:01  <_glx_> easier to directly use the long version in range-for
20:22:03  <xarick> I'm going with 2 different names
20:22:10  <xarick> should solve
20:22:36  <_glx_> why use a variable when you access it only once ?
20:23:50  <xarick> for readability I thought
20:24:18  <xarick> is accessed once?
20:24:51  <_glx_> I see 2 for (const Vehicle *v : vehicle_list) but each vehicle_list is different
20:25:11  <_glx_> so effectively each list is used only once
20:26:01  <xarick> I could do (const Vehicle *v : c->group_all[VEH_TRAIN].vehicle_list) all this time?
20:26:45  <_glx_> when you don't need c->group_all[VEH_TRAIN].vehicle_list later in the scope yes
20:27:42  <xarick> I thought that it was helping perform better
20:27:53  <_glx_> compiler is smart enough
20:28:06  <frosch123> _zephyris: ah, no idea. i never understood why they were taller at all. only the yellow/white bar mattered, but the lights only know two states
20:29:15  <xarick> there are only a few cases I've found where the vehicle is deleted, how do I handle those?
20:29:24  <xarick> the list contents is changed
20:30:03  <_glx_> if anything modifies your list you can't use the list
20:31:15  <xarick> I was simply omiting the &vehicle_list, but if I'm to do it in that manner const Vehicle *v : c->group_all[VEH_TRAIN].vehicle_list, I wonder if it's gonna work
20:31:22  <xarick> the & in vehicle_list
20:33:25  <_glx_> `VehicleList &vehicle_list = c->group_all[VEH_AIRCRAFT].vehicle_list;` vehicle_list is a reference to c->group_all[VEH_AIRCRAFT].vehicle_list, `VehicleList &vehicle_list = c->group_all[VEH_AIRCRAFT].vehicle_list;` vehicle_list is a copy of c->group_all[VEH_AIRCRAFT].vehicle_list
20:33:53  <_glx_> forgot to edit the second one
20:34:00  <Rubidium> xarick: do not think for the compiler. If you think something is better, check it first! A really nice example of this is https://github.com/OpenTTD/OpenTTD/pull/11119 where someone "thought" something would be faster, when in fact it wasn't
20:34:54  <_glx_> IIRC this one was also incorrect ๐Ÿ™‚
20:35:44  <_glx_> ha no the removed ++ was fine
20:46:06  <xarick> <https://github.com/OpenTTD/OpenTTD/blob/4fcd94a1cba996de57b8a6dff59db7fbbf414747/src/saveload/afterload.cpp#L2400>
20:46:06  <xarick> Depot* d
21:06:10  *** nielsm has quit IRC
21:09:25  <Rubidium> wow... you found one. There are at least three dozen similar cases ;)
21:11:08  <_glx_> https://cdn.discordapp.com/attachments/1008473233844097104/1192213583824687164/image.png?ex=65a8426c&is=6595cd6c&hm=3cde735c33d2dc9c0241e84dc77205da7b4f3ae5a71693c44a9791cdf87c42b1&
21:11:09  <_glx_> <https://github.com/PeterN/OpenTTD/compare/invalid-parameters...glx22:OpenTTD:pr/11673> seems to do what I expect for `STR_TEST :{STRING} - {COLOUR}{NUM} is supposed to be 42` with first param being `STR_FOO  :'{RAW_STRING}'`
21:11:27  *** gelignite has quit IRC
21:15:01  <_glx_> https://cdn.discordapp.com/attachments/1008473233844097104/1192214560174776421/image.png?ex=65a84355&is=6595ce55&hm=55ee02288b7ce9baa5ce14f79ad6075d473549de8efc8367cbae8b0cda2b4bf1&
21:15:01  <_glx_> encoded string is
21:19:28  <_zephyris> Niche question: Has anyone actually seen the endgame magazine in TTD? Or in OTTD? Half of the front cover is #0000FF transparent blue in the original graphics.
21:20:19  <frosch123> ogfx had a bug for 10 years: most of the score-1000 screen were flashy water
21:20:35  <frosch123> noone reported it, just nml reported it somewhen
21:20:54  <frosch123> i did not even know there was a different screen for score=1000
21:24:49  <frosch123> hmm, i just tried in dosbox: there is a fade-through-black transition to the endgame and highscore screens
21:29:22  <DorpsGek> [OpenTTD/OpenTTD] glx22 commented on pull request #11673: Change: Don't handle 'missing' string parameters as 0. https://github.com/OpenTTD/OpenTTD/pull/11673#issuecomment-1875996467
21:32:50  <frosch123> ah, the transparent blue also affects the only the score=1000 screen
21:36:13  <xarick> yay, finished science on AfterLoadGame(), that massive function
21:36:44  <frosch123> https://cdn.discordapp.com/attachments/1008473233844097104/1192220023251537940/image.png?ex=65a8486b&is=6595d36b&hm=395b3a91017783b6d430d34d3145fef859e833770a2ed9ac11327215c58127d7&
21:36:44  <frosch123> _zephyris: openttd with original DOS graphics, score=1000:
21:37:04  <frosch123> harder to test with TTDP
21:37:25  <DorpsGek> [OpenTTD/OpenTTD] Kuhnovic updated pull request #10543: Feature: Region-based pathfinder for ships (buoys no longer required!) https://github.com/OpenTTD/OpenTTD/pull/10543
21:37:48  <_zephyris> frosch123: Yeah... I'd love to know the intended behaviour!
21:37:53  <frosch123> it's possible that it is just black in TTD
21:38:04  <frosch123> there used to be an extra sprite flag to apply transparency
21:38:15  <frosch123> but ottd probably got rid of that
21:38:30  <frosch123> without that flag, colour 0 is pure black
21:39:19  <_zephyris> https://cdn.discordapp.com/attachments/1008473233844097104/1192220675906216026/image.png?ex=65a84907&is=6595d407&hm=f1d27989b41af14046cdb1cccb8cbf17190f0830b16f8ccd416bb3d76b445d9e&
21:39:23  <_zephyris> Makes sense
21:39:32  <frosch123> but i cannot even get that info out of grfcodec anymore
21:43:05  <xarick> the moment of truth... TICC TOCC AfterLoadGame
21:43:17  <xarick> for science
21:47:38  *** Wormnest has quit IRC
21:48:26  <DorpsGek> [OpenTTD/OpenTTD] rubidium42 opened pull request #11678: Codechange: coding style fixes https://github.com/OpenTTD/OpenTTD/pull/11678
21:50:23  <xarick> wow, you found that many
21:59:06  <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1192225652686995658/image.png?ex=65a84daa&is=6595d8aa&hm=0174f4a5f79ecf7b10b709f6207aab2d9e1b4f7ca39444328fe3f4ff7d0786db&
21:59:06  <xarick> what a failure
21:59:23  <xarick> I disappoint myself
22:01:45  <kuhnovic> 9 scripts died unexpectedly in a fireball
22:03:16  <xarick> okay, i found some savegames where I get some gains
22:03:30  <xarick> minimal gains ๐Ÿ˜ฆ
22:04:12  <xarick> 63849 us vs 62705 us
22:04:40  <_jgr_> The saveload conversion code is quite subtle and serious rigour is required
22:04:50  <_jgr_> I'd suggest that you leave it alone
22:05:02  <xarick> I'm going to, I was just curious
22:06:50  <frosch123> well, i looked up when the brown was added: https://github.com/OpenTTD/OpenTTD/commit/3a3162865b3174bddcc295fd4bd4eb5398a50ea5#diff-b487ef978ed3e5abaefa3b23188593200fec716f51176e213304283bafb15a7e
22:07:14  <frosch123> looks like it was uniniitialised-memory-colour before?
22:07:51  <frosch123> either way, TTDP works entirely different with that fade-to-black transition
22:07:59  <frosch123> and TTDP has no signcheat for scores
22:08:05  <frosch123> so, no way to really check
22:10:56  <xarick> what's the biggest oldest savegame you have out there?
22:16:41  <xarick> some of the savegames here have an error
22:16:59  <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1192230151967215677/image.png?ex=65a851da&is=6595dcda&hm=95af8c68b74a02583b0d7060a1f1c043228c0dd44c2c7e2a5ffe730f9a7536cf&
22:17:17  <DorpsGek> [OpenTTD/OpenTTD] Kuhnovic commented on pull request #10543: Feature: Region-based pathfinder for ships (buoys no longer required!) https://github.com/OpenTTD/OpenTTD/pull/10543#issuecomment-1876043087
22:18:23  <xarick> loads in 13.4
22:18:25  <xarick> hmm
22:27:16  <_glx_> if it loads in 13.4 but doesn't in master it's a regression, and you should file a bug report
22:28:12  <DorpsGek> [OpenTTD/OpenGFX] Fabizocker456 opened issue #86: Rendering order visual bug with buildings and plastic fountains. https://github.com/OpenTTD/OpenGFX/issues/86
22:34:55  <DorpsGek> [OpenTTD/OpenGFX] PeterN commented on issue #86: Rendering order visual bug with buildings and plastic fountains. https://github.com/OpenTTD/OpenGFX/issues/86
22:38:14  *** Wormnest has joined #openttd
22:43:42  <peter1138[d]> Hmm so my 'fix' only worked because it was the last item
22:49:19  <DorpsGek> [OpenTTD/OpenTTD] frosch123 opened pull request #11679: Fix: Original graphics' tycoon-of-the-century sprite assumes a black background. https://github.com/OpenTTD/OpenTTD/pull/11679
22:54:28  <xarick> I'm bored
22:54:38  <xarick> such is life
22:58:04  <DorpsGek> [OpenTTD/OpenTTD] rubidium42 approved pull request #11679: Fix: Original graphics' tycoon-of-the-century sprite assumes a black background. https://github.com/OpenTTD/OpenTTD/pull/11679#pullrequestreview-1803199492
23:05:58  *** keikoz has quit IRC
23:15:48  <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #11679: Fix: Original graphics' tycoon-of-the-century sprite assumes a black background. https://github.com/OpenTTD/OpenTTD/pull/11679#issuecomment-1876096919
23:24:52  <peter1138[d]> Could the recent http changes be causing my OpenTTD to hang when closing...
23:25:27  <DorpsGek> [OpenTTD/OpenTTD] zephyris commented on pull request #11679: Fix: Original graphics' tycoon-of-the-century sprite assumes a black background. https://github.com/OpenTTD/OpenTTD/pull/11679#issuecomment-1876104053
23:36:49  <DorpsGek> [OpenTTD/OpenTTD] PeterN updated pull request #11673: Change: Don't handle 'missing' string parameters as 0. https://github.com/OpenTTD/OpenTTD/pull/11673
23:38:07  <DorpsGek> [OpenTTD/OpenTTD] zephyris commented on pull request #11679: Fix: Original graphics' tycoon-of-the-century sprite assumes a black background. https://github.com/OpenTTD/OpenTTD/pull/11679#issuecomment-1876114041
23:38:28  <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #11673: Change: Don't handle 'missing' string parameters as 0. https://github.com/OpenTTD/OpenTTD/pull/11673#issuecomment-1876114268
23:39:22  <peter1138[d]> _zephyris: "nice" etc etc
23:39:48  <peter1138[d]> Also the original game does a palette fade-to-black, and then fade-in to the screen.
23:40:18  <peter1138[d]> I wonder if I shoud... ๐Ÿ˜„
23:41:31  <_zephyris> Hehe, I say yes ๐Ÿ˜‰
23:43:11  <_zephyris> Annoying as splash screens can be, they do add an air of professionality, and a big OpenTTD logo then fade into the title screen would be fun. (skipped by any interaction of/c)
23:45:22  <DorpsGek> [OpenTTD/OpenTTD] glx22 commented on pull request #11679: Fix: Original graphics' tycoon-of-the-century sprite assumes a black background. https://github.com/OpenTTD/OpenTTD/pull/11679#pullrequestreview-1803235801
23:52:32  *** Wormnest has quit IRC
2024-01-04T03:5

Powered by YARRSTE version: svn-trunk