IRC logs for #openttd on OFTC at 2024-01-28
            
00:00:57 <DorpsGek> [OpenTTD/eints] glx22 opened pull request #172: Add: [Dependabot] introduce Dependabot to keep our workflows up-to-date https://github.com/OpenTTD/eints/pull/172
00:01:37 <DorpsGek> [OpenTTD/eints] TrueBrain approved pull request #172: Add: [Dependabot] introduce Dependabot to keep our workflows up-to-date https://github.com/OpenTTD/eints/pull/172#pullrequestreview-1847336225
00:03:08 <_glx_> that was easy 🙂
00:03:26 <truebrain> The next step too!
00:03:50 <_glx_> and all that from the browser
00:04:54 <DorpsGek> [OpenTTD/eints] glx22 merged pull request #172: Add: [Dependabot] introduce Dependabot to keep our workflows up-to-date https://github.com/OpenTTD/eints/pull/172
00:05:47 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
00:06:16 <truebrain> And now wait till PR is all green 😄
00:07:18 <_glx_> funny it only lists 2 updates while doing 5
00:07:56 <_glx_> ah no, there's a global one doing many
00:08:02 <truebrain> Yeah, not build for the subactions 😛
00:11:18 <_glx_> pff stupid button
00:12:38 <truebrain> What button?
00:13:18 <_glx_> the update button
00:13:19 <DorpsGek> [OpenTTD/eints] TrueBrain updated pull request #168: Add: Support for time-unit parameters from OpenTTD#11341. https://github.com/OpenTTD/eints/pull/168
00:13:35 <_glx_> I should have discussed with the bot
00:14:43 <DorpsGek> [OpenTTD/eints] TrueBrain approved pull request #168: Add: Support for time-unit parameters from OpenTTD#11341. https://github.com/OpenTTD/eints/pull/168#pullrequestreview-1847338880
00:15:30 <_glx_> my comment was about the second dependabot PR 😉
00:19:10 <_glx_> eints should be up to date now
00:24:07 *** bryjen has joined #openttd
00:26:03 <DorpsGek> [OpenTTD/eints] frosch123 merged pull request #168: Add: Support for time-unit parameters from OpenTTD#11341. https://github.com/OpenTTD/eints/pull/168
00:26:15 <truebrain> _glx_: Nice!
00:27:06 <_glx_> until next month 😉
00:54:11 <_glx_> hmm it's hard to translate `{UNITS_MONTHS_OR_MINUTES} remaining`, month is male, minute is female
00:54:50 <_glx_> I need to check the command itself to see if it can have gender
00:56:42 <_glx_> seems it can
00:58:26 <_glx_> ah no it cannot, but it should
00:58:53 <_glx_> let's test in openttd (could be an eints issue)
01:07:04 *** tokai has joined #openttd
01:07:04 *** ChanServ sets mode: +v tokai
01:14:00 *** tokai|noir has quit IRC (Ping timeout: 480 seconds)
01:14:35 <_glx_> yeah openttd doesn't support gender in `{UNITS_MONTHS_OR_MINUTES}`, that's annoying
01:15:45 <wensimehrp> Are you going to make a PR for that?
01:18:12 <_glx_> it's not easy
01:23:55 <DorpsGek> [OpenTTD/OpenTTD] glx22 opened issue #11907: [Bug]: {UNITS_MONTHS_OR_MINUTES} (and friends) doesn't support genders. https://github.com/OpenTTD/OpenTTD/issues/11907
02:07:56 *** geli has joined #openttd
02:13:27 <DorpsGek> [OpenTTD/OpenTTD] glx22 opened pull request #11908: Fix #11907: Allow genders for time related {UNITS_XXX} https://github.com/OpenTTD/OpenTTD/pull/11908
02:14:10 <_glx_> finally it was easy, the hardest part is properly writing the strings
02:15:14 *** gelignite has quit IRC (Ping timeout: 480 seconds)
03:08:39 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler approved pull request #11908: Fix #11907: Allow genders for time related {UNITS_XXX} https://github.com/OpenTTD/OpenTTD/pull/11908#pullrequestreview-1847373752
03:12:51 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler updated pull request #11904: Fix: Extra refit button when train/RV is in a depot https://github.com/OpenTTD/OpenTTD/pull/11904
03:17:03 *** Wormnest has quit IRC (Quit: Leaving)
03:28:08 *** D-HUND has joined #openttd
03:31:34 *** debdog has quit IRC (Ping timeout: 480 seconds)
04:25:26 *** bryjen has quit IRC (Quit: Leaving)
04:29:13 <DorpsGek> [OpenTTD/OpenTTD] merni-ns updated pull request #11902: Add: Infinite money mode https://github.com/OpenTTD/OpenTTD/pull/11902
04:31:41 <DorpsGek> [OpenTTD/OpenTTD] merni-ns commented on pull request #11902: Add: Infinite money mode https://github.com/OpenTTD/OpenTTD/pull/11902#pullrequestreview-1847388358
04:32:48 <merni> I am amazed that this only took 20 lines
05:06:01 *** geli has quit IRC (Quit: Stay safe!)
05:07:33 *** keikoz has joined #openttd
06:35:36 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 commented on pull request #11906: Remove TKM string code https://github.com/OpenTTD/OpenTTD/pull/11906#pullrequestreview-1847405122
06:41:11 <DorpsGek> [OpenTTD/OpenTTD] WenSimEHRP opened issue #11909: [Crash]: Clicking on "Preview survey results" cause the game to crash https://github.com/OpenTTD/OpenTTD/issues/11909
07:09:28 *** Wolf01 has joined #openttd
07:15:34 <DorpsGek> [OpenTTD/OpenTTD] James103 opened issue #11910: [Bug]: `dmp_cmds_SEED_DATE.sav` fills the date part with the calendar date, not economy date. https://github.com/OpenTTD/OpenTTD/issues/11910
07:52:12 *** andythenorth[m] has joined #openttd
07:52:21 *** calbasi[m]1 has joined #openttd
07:52:33 *** audunm[m] has joined #openttd
07:52:42 *** Bilb[m] has joined #openttd
07:52:52 *** blikjeham[m] has joined #openttd
07:53:02 *** citronbleuv[m] has joined #openttd
07:53:14 *** cjmonagle[m] has joined #openttd
07:53:22 *** CornsMcGowan[m] has joined #openttd
07:53:32 *** einar[m] has joined #openttd
07:53:41 *** elliot[m] has joined #openttd
07:53:44 <DorpsGek> [OpenTTD/OpenTTD] PeterN closed issue #11909: [Crash]: Clicking on "Preview survey results" cause the game to crash https://github.com/OpenTTD/OpenTTD/issues/11909
07:53:47 <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on issue #11909: [Crash]: Clicking on "Preview survey results" cause the game to crash https://github.com/OpenTTD/OpenTTD/issues/11909
07:54:03 *** emilyd[m] has joined #openttd
07:54:12 *** FelixActually[m] has joined #openttd
07:54:21 *** fiddeldibu[m] has joined #openttd
07:54:32 *** gdown has joined #openttd
07:54:41 *** freu[m] has joined #openttd
07:54:41 *** nielsm has joined #openttd
07:54:52 *** giords[m] has joined #openttd
07:55:01 *** grag[m] has joined #openttd
07:55:11 *** gretel[m] has joined #openttd
07:55:22 *** hamstonkid[m] has joined #openttd
07:55:32 *** Heiki[m] has joined #openttd
07:55:42 *** pikaHeiki has joined #openttd
07:55:51 *** igor[m] has joined #openttd
07:56:01 *** imlostlmao[m]1 has joined #openttd
07:56:11 *** jact[m] has joined #openttd
07:56:21 *** jeeg[m] has joined #openttd
07:56:33 *** jeremy[m]12 has joined #openttd
07:56:42 *** joey[m] has joined #openttd
07:56:51 *** karl[m]12 has joined #openttd
07:57:01 *** karoline[m] has joined #openttd
07:57:11 *** kstar892[m] has joined #openttd
07:57:23 *** leward[m] has joined #openttd
07:57:31 *** luffy[m] has joined #openttd
07:57:43 *** luk3Z[m] has joined #openttd
07:57:53 *** magdalena[m] has joined #openttd
07:58:02 *** menelaos[m] has joined #openttd
07:58:11 *** nolep[m] has joined #openttd
07:58:22 *** osvaldo[m] has joined #openttd
07:58:32 *** patricia[m]1 has joined #openttd
07:58:41 *** patrick[m]1 has joined #openttd
07:58:51 *** paulus[m] has joined #openttd
07:59:03 *** phil[m]123 has joined #openttd
07:59:12 *** philip[m] has joined #openttd
07:59:21 *** playback2396[m] has joined #openttd
07:59:32 *** royills[m] has joined #openttd
07:59:42 *** Rdolfs[m] has joined #openttd
07:59:51 *** SergioMassa[m] has joined #openttd
08:00:03 *** shedidthedog[m] has joined #openttd
08:00:12 *** Farrokh[m] has joined #openttd
08:00:22 *** soylent_cow[m] has joined #openttd
08:00:31 *** throwawayaccount[m] has joined #openttd
08:00:43 *** temeo[m] has joined #openttd
08:00:52 *** thelonelyellipsis[m] has joined #openttd
08:01:02 *** thomas[m]1234 has joined #openttd
08:01:12 *** tonyfinn has joined #openttd
08:01:23 *** Gadg8eer[m] has joined #openttd
08:01:31 *** tuxayo has joined #openttd
08:01:41 *** JamesRoss[m] has joined #openttd
08:01:52 *** vista_narvas[m] has joined #openttd
08:02:01 *** VincentKadar[m]12345 has joined #openttd
08:02:13 *** Elysianthekitsunesheher[m] has joined #openttd
08:02:21 *** wormnest[m] has joined #openttd
08:02:32 *** xyii[m] has joined #openttd
08:02:41 *** Guest681 has joined #openttd
08:02:51 *** yubvin[m] has joined #openttd
08:03:04 *** zzy2357[m] has joined #openttd
08:09:30 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 commented on pull request #11878: Add: public key authentication to the admin connection https://github.com/OpenTTD/OpenTTD/pull/11878#pullrequestreview-1847431015
08:23:21 *** jact[m] has quit IRC ()
08:45:15 <peter1138[d]> Hmm, #11495 would be useful for fractional scaling.
08:48:46 <truebrain> b16decode .. is that just hex?
08:49:43 <Rubidium> yes
08:50:03 <truebrain> ah! Never knew b16decode existed 😄
08:51:51 <truebrain> purely curious, why not use the ChaCha20 from cryptography?
08:56:35 <Rubidium> because that uses 12 byte nonces and monocypher uses 24 byte nonces; monocypher is actually XChaCha20Poly1305
08:57:02 <truebrain> yeah, cryptography also has that
08:57:06 <truebrain> owh, the X
08:57:09 <truebrain> ugh, always the X
08:57:19 <truebrain> eXtension
08:57:19 <truebrain> 😛
09:01:34 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 updated pull request #11878: Add: public key authentication to the admin connection https://github.com/OpenTTD/OpenTTD/pull/11878
09:09:05 <truebrain> oof, cryptography did a bad job making it extendable ..
09:12:50 <truebrain> especially as the lastest uses rust to speed up crypto stuff, so you can't even alter it 😛
09:12:52 <truebrain> such sadness
09:14:20 <truebrain> btw Rubidium, you can just do "bytes.fromhex(self._private_key)" instead of those b16, upper, and encode. If you like.
09:20:30 <truebrain> hmm .. I can't make any more "depots" in Steam, to add the plugin too
09:20:35 <truebrain> we reached a max, for some reason 😛
09:21:58 <merni> https://discord.com/channels/142724111502802944/477434889508093952/1201091562986278992
09:21:58 <merni> Along with the rebranding of cheats, are games involving "sandbox options" still excluded from highscores?
09:22:34 <merni> I can imagine people complaining if sandboxed games are included in high scores
09:23:14 <peter1138[d]> Who even looks at high scores?
09:24:49 <truebrain> wait, we have highscore?
09:25:33 <truebrain> oops, send Steam a message via the wrong account ... that was not intentional
09:25:48 <truebrain> you can be logged in to three accounts when working with the Steam backend
09:25:52 <truebrain> every subdomain has their own tracking
09:25:58 <truebrain> so sometimes I get confused 😛
09:26:02 <merni> peter1138[d]: evidently SeaFloor does :P
09:26:13 <peter1138[d]> No idea who/what that is.
09:26:23 <merni> The person in the message I linked
09:35:26 <peter1138[d]> Just read that, and it seems they DO want it to appear in highscores :p
09:35:36 <peter1138[d]> Hmm, lambda with captures, or void *userdata...
09:37:23 <truebrain> I was more thinking a review of my smooth scrolling fix PR? 😛
09:42:20 <merni> peter1138[d]: In this case yes
09:50:44 <peter1138[d]> 1955-1961 looks like a hack 😄
09:50:56 <truebrain> workaround 😉
09:54:03 <peter1138[d]> Shall I turn on smooth scrolling perhaps...
09:54:16 <truebrain> would be useful for testing, yes 😛
09:56:22 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 updated pull request #11878: Add: public key authentication to the admin connection https://github.com/OpenTTD/OpenTTD/pull/11878
09:56:25 <DorpsGek> [OpenTTD/OpenTTD] PeterN approved pull request #11884: Fix ea8c1d85: improve smoothness of smooth-scrolling for 60+Hz screens https://github.com/OpenTTD/OpenTTD/pull/11884#pullrequestreview-1847472011
09:56:28 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain merged pull request #11884: Fix ea8c1d85: improve smoothness of smooth-scrolling for 60+Hz screens https://github.com/OpenTTD/OpenTTD/pull/11884
09:56:31 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain closed issue #11883: [Bug(ish)]: Poor edge scrolling on high refresh rate screens https://github.com/OpenTTD/OpenTTD/issues/11883
09:56:39 <peter1138[d]> (I can't actually test > 60Hz though)
09:57:21 <truebrain> I did 😛
09:57:23 <truebrain> tnx 😄
10:01:15 <DorpsGek> [OpenTTD/OpenTTD] PeterN updated pull request #11719: Change: Cargo type is label https://github.com/OpenTTD/OpenTTD/pull/11719
10:02:29 <merni> could someone also take a look at 11902? 😄
10:03:05 <peter1138[d]> Oh, conflicts, of course.
10:05:32 <peter1138[d]> Someone will get around to it Merni
10:06:50 <DorpsGek> [OpenTTD/OpenTTD] PeterN updated pull request #11378: Change: Decouple town cargo production from cargo type. https://github.com/OpenTTD/OpenTTD/pull/11378
10:07:25 <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #11378: Change: Decouple town cargo production from cargo type. https://github.com/OpenTTD/OpenTTD/pull/11378#issuecomment-1913541748
10:08:31 <peter1138[d]> Hmm, strong type stuff maybe.
10:10:48 <peter1138[d]> Ah, no, they serve no purpose by themselves.
10:10:58 <peter1138[d]> Not even sure I need to use a strongtype any more actually.
10:26:07 <DorpsGek> [OpenTTD/OpenTTD] PeterN updated pull request #11719: Change: Cargo type is label https://github.com/OpenTTD/OpenTTD/pull/11719
10:27:54 <peter1138[d]> Hmm
10:28:31 <DorpsGek> [OpenTTD/OpenTTD] PeterN updated pull request #11719: Change: Cargo type is label https://github.com/OpenTTD/OpenTTD/pull/11719
10:29:05 <truebrain> Doing a Merni? 😛
10:30:02 <peter1138[d]> clangd inserted a header where it's not necessary.
10:30:48 <peter1138[d]> And also it's a PR built on top of another PR, but only the second conflicted, but still needed to update both.
10:35:00 <andythenorth> Multi-cargo boats for 15.0?
10:36:54 <_zephyris> Well, would be nice. I'd prefer (read: beg for) object as fields 🙂
10:38:29 <andythenorth> JGRPP already has multi-cargo boats, it looks like we could downstream it 🙂
10:40:31 <_jgr_> It's something on my list to look into, I haven't had time to write a proper GRF for it yet
10:42:27 <peter1138[d]> Articulated boats tho'!
10:42:41 <_glx_> The only way I guess
10:42:54 <DorpsGek> [OpenTTD/OpenTTD] michicc commented on pull request #11878: Add: public key authentication to the admin connection https://github.com/OpenTTD/OpenTTD/pull/11878#pullrequestreview-1847486447
10:43:14 <peter1138[d]> It's not articulated boats, I believe it's more like aircraft.
10:43:46 <peter1138[d]> Hmm, that IsOriginalCargo function needs work 😮
10:45:12 <peter1138[d]> Yeah it needs to be only the default cargos for the current climate.
10:53:23 <xarick> 10341 and 9540, let me revisit it
10:59:30 <xarick> Bug 1 is gone
10:59:35 <xarick> no start_date, no bug
11:16:14 <xarick> okay, Bug 3 remains
11:16:33 <xarick> Bug 1 and 2 are gone, thx to start_date disappearance
11:32:05 <xarick> std:: stuff is so difficult to debug
12:03:23 <DorpsGek> [OpenTTD/OpenTTD] michalc started discussion #11911: Bananas protocol - how to know if there are any more response packets https://github.com/OpenTTD/OpenTTD/discussions/11911
12:06:33 <_zephyris> Is there any need for specific icons or logos BTW? I was poking at making sav and grf file icons. Maybe bananas logo or similar?
12:10:43 <xarick> ` std::string name_with_version = fmt::format("{}.{}", name, version);
12:10:43 <xarick> auto it = this->info_list.find(name_with_version);`
12:10:43 <xarick> how do you even debug this
12:11:27 <xarick> std:: fmt:: locale stuff, asm stuff, heap stuff
12:12:08 <xarick> too bloated for something that wants to match a name with a version
12:20:13 *** gelignite has joined #openttd
12:20:24 <andythenorth> _jgr_: I made a branch in Sam for it
12:20:50 <andythenorth> https://github.com/andythenorth/unsinkable-sam/compare/main...articulated-ships
12:21:14 <andythenorth> it doesn't do anything beyond attach the ship 3 times, with same capacity
12:23:01 <Rubidium> xarick: might you have lost essentially rule #1 of software development? The one about premature optimisation. Making a string and then looking for it in a list might not be the fastest, but it's two simple lines instead of way more lines with manual loop management and such
12:23:02 <andythenorth> I've tested it with the jgr nml fork
12:27:17 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain commented on discussion #11911: Bananas protocol - how to know if there are any more response packets https://github.com/OpenTTD/OpenTTD/discussions/11911
12:30:40 <_jgr_> andythenorth: I locally modified the SHARK GRF in much the same way
12:30:56 <peter1138[d]> Hmm, wonder if this assert is necessary.
12:30:59 <_jgr_> It's not really enough to put in front of players for play-testing though
12:32:03 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1201142647809646602/image.png?ex=65c8be43&is=65b64943&hm=c5f7aa123d9e38743b5d649bd1a5f47f90343a0375940fe47e57dfc1c3e2c810&
12:32:03 <xarick> this is incredibly difficult to debug 😦
12:32:14 <xarick> there are repeated member names
12:32:28 <xarick> they exist for different purposes
12:39:01 *** wormnest[m] has quit IRC (Quit: Client limit exceeded: 20000)
12:43:33 <DorpsGek> [OpenTTD/OpenTTD] michalc commented on discussion #11911: Bananas protocol - how to know if there are any more response packets https://github.com/OpenTTD/OpenTTD/discussions/11911
12:44:24 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain commented on discussion #11911: Bananas protocol - how to know if there are any more response packets https://github.com/OpenTTD/OpenTTD/discussions/11911
12:45:07 <DorpsGek> [OpenTTD/OpenTTD] michalc commented on discussion #11911: Bananas protocol - how to know if there are any more response packets https://github.com/OpenTTD/OpenTTD/discussions/11911
12:51:37 <DorpsGek> [OpenTTD/eints] frosch123 opened pull request #175: Add: time-unit parameters allow genders since OpenTTD#11908 https://github.com/OpenTTD/eints/pull/175
12:55:42 <DorpsGek> [OpenTTD/OpenTTD] frosch123 approved pull request #11904: Fix: Extra refit button when train/RV is in a depot https://github.com/OpenTTD/OpenTTD/pull/11904#pullrequestreview-1847531209
12:56:01 <DorpsGek> [OpenTTD/eints] PeterN approved pull request #175: Add: time-unit parameters allow genders since OpenTTD#11908 https://github.com/OpenTTD/eints/pull/175#pullrequestreview-1847531271
12:59:00 <DorpsGek> [OpenTTD/OpenTTD] PeterN updated pull request #11719: Change: Cargo type is label https://github.com/OpenTTD/OpenTTD/pull/11719
12:59:17 <DorpsGek> [OpenTTD/OpenTTD] frosch123 commented on pull request #11906: Remove TKM string code https://github.com/OpenTTD/OpenTTD/pull/11906#pullrequestreview-1847531851
13:01:13 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler merged pull request #11904: Fix: Extra refit button when train/RV is in a depot https://github.com/OpenTTD/OpenTTD/pull/11904
13:03:52 <peter1138[d]> Hmm, minified version of Zephyris' svg logo is 3924 bytes, and it could still be less.
13:07:05 *** efffdgd has joined #openttd
13:08:20 <DorpsGek> [OpenTTD/OpenTTD] frosch123 updated pull request #11906: Remove TKM string code https://github.com/OpenTTD/OpenTTD/pull/11906
13:19:49 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 approved pull request #11906: Remove TKM string code https://github.com/OpenTTD/OpenTTD/pull/11906#pullrequestreview-1847535432
13:32:09 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 updated pull request #11878: Add: public key authentication to the admin connection https://github.com/OpenTTD/OpenTTD/pull/11878
13:40:16 <_zephyris> peter1138[d]: Does it need to be? I bet coding it by hand would be _very_ small.
13:41:14 *** efffdgd has quit IRC (Quit: Page closed)
13:43:53 <peter1138[d]> Not particularly necessary at the moment.
13:44:28 <DorpsGek> [OpenTTD/OpenTTD] frosch123 merged pull request #11906: Remove TKM string code https://github.com/OpenTTD/OpenTTD/pull/11906
13:45:12 <DorpsGek> [OpenTTD/OpenTTD] frosch123 merged pull request #11908: Fix #11907: Allow genders for time related {UNITS_XXX} https://github.com/OpenTTD/OpenTTD/pull/11908
13:45:15 <DorpsGek> [OpenTTD/OpenTTD] frosch123 closed issue #11907: [Bug]: {UNITS_MONTHS_OR_MINUTES} (and friends) doesn't support genders. https://github.com/OpenTTD/OpenTTD/issues/11907
13:45:54 <talltyler> So, title game competition dates. Submissions due by March 11, voting closes March 25?
13:46:15 <frosch123> hmm, i'll add ottd developers as valid approvers to eints
13:47:06 <DorpsGek> [OpenTTD/eints] frosch123 merged pull request #175: Add: time-unit parameters allow genders since OpenTTD#11908 https://github.com/OpenTTD/eints/pull/175
13:54:56 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 merged pull request #10734: Feature: [NewGRF] Allow higher max speeds for ships https://github.com/OpenTTD/OpenTTD/pull/10734
13:55:50 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 approved pull request #11905: Codechange: ignore duplicate script messages in regression output https://github.com/OpenTTD/OpenTTD/pull/11905#pullrequestreview-1847546842
14:00:27 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler opened pull request #11912: Fix #11910: Use alternate timekeeping units in savegame title https://github.com/OpenTTD/OpenTTD/pull/11912
14:00:43 <_zephyris> Now, can anyone help me out updating nml with the new ship speed/accel options
14:01:39 <_zephyris> I've tried to update `action0properties.py` with the new `0x23` and `0x24` properties, but somehow end up failing `introduction_date` in the regression tests...
14:06:10 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain commented on pull request #11878: Add: public key authentication to the admin connection https://github.com/OpenTTD/OpenTTD/pull/11878#pullrequestreview-1847548474
14:11:18 <Rubidium> _zephyris: have you done something similar to roadveh_speed_prop (~line 460) for the new 0x23?
14:11:23 *** maxshpuntozavr has quit IRC (Quit: User went offline on Discord a while ago)
14:12:04 <_zephyris> def ship_speed_prop(prop_info):
14:12:04 <_zephyris> # prop 0B value is min(value, 255)
14:12:04 <_zephyris> def prop0B_value(value):
14:12:04 <_zephyris> return nmlop.MIN(value, 0xFF).reduce()
14:12:04 <_zephyris> # prop 23 value is min(value, 255)
14:12:06 <_zephyris> def prop23_value(value):
14:12:06 <_zephyris> return nmlop.MIN(value, 0xFFFF).reduce()
14:12:08 <_zephyris> # prop 23 should not be set if value(prop0B_value) <= 255.
14:12:08 <_zephyris> # But as we test prop15 and prop15 = 0.25/prop08, test for 64:
14:12:10 <_zephyris> def prop23_test(value):
14:12:10 <_zephyris> return isinstance(value, ConstantNumeric) and value.value >= 0x00FF
14:12:12 <_zephyris> prop0B = {"size": 1, "num": 0x0B, "value_function": prop0B_value}
14:12:12 <_zephyris> prop23 = {"size": 2, "num": 0x23, "value_function": prop23_value, "test_function": prop23_test}
14:12:14 <_zephyris> for key in prop_info:
14:12:14 <_zephyris> prop0B[key] = prop23[key] = prop_info[key]
14:12:16 <_zephyris> return [prop0B, prop23]
14:12:28 <_zephyris> ^Yup^ Not sure it's correct, but I'm surprised it failed to make without regression!
14:13:05 <_zephyris> "speed": ship_speed_prop(
14:13:05 <_zephyris> {
14:13:05 <_zephyris> "unit_type": "speed",
14:13:05 <_zephyris> "unit_conversion": (10000, 1397),
14:13:05 <_zephyris> "adjust_value": lambda val, unit: ottd_display_speed(val, 1, 2, unit),
14:13:06 <_zephyris> }
14:13:06 <_zephyris> ),
14:13:08 <_zephyris> ...
14:13:08 <_zephyris> "acceleration": {"size": 2, "num": 0x24},
14:13:26 <Rubidium> acceleration is only a byte
14:14:19 <peter1138[d]> Seems... overly complicated?
14:14:38 <talltyler> talltyler: Do we have any new features that could be visible in a title game, that entries might show?
14:14:44 <peter1138[d]> Just use prop 23 all the time.
14:15:24 <peter1138[d]> Need particular need to conditionally use the old property, except if you wanted to build a 13.x compatible NewGRF, which I think is already likely broken.
14:15:36 <_zephyris> Breaks backwards compatibility... That'd be the waypoint names all over again.
14:15:45 <talltyler> New ship pathfinder, perhaps
14:16:23 <peter1138[d]> Well, road vehicle speed was done differently.
14:16:48 <Rubidium> talltyler: like showing no buoys? Not sure what's visible there
14:16:52 <peter1138[d]> So not a lot of point in copying what that did.
14:17:12 <Rubidium> talltyler: maybe the shading of sloped rivers?
14:17:15 <peter1138[d]> The comments seem odd too
14:17:34 <_zephyris> I was planning on just getting it working first 😉 Then think more logically about implementation!
14:17:35 <peter1138[d]> `# prop 0B value is min(value, 255)`
14:17:44 <peter1138[d]> `# prop 23 value is min(value, 255)`
14:17:58 <talltyler> It's not terribly visible, no. Besides just showing lots of boats (but you could do that before)
14:18:06 <peter1138[d]> That should be 65535, but... documenting that way is weird, especially as the code two lines below does the min operation.
14:18:45 <peter1138[d]> 0x00FF is a bit weird, just 0xFF is fine.
14:18:53 <peter1138[d]> And the comment still says 64 but that isn't...
14:18:56 <kuhnovic> The intro game doesn't really show a large map so it's hard to show how well the ship pathfinder is able to deal with longer distances.
14:19:29 <peter1138[d]> Yeah it needs to be a small map to avoid slow loads.
14:19:45 <_zephyris> It someone more competent wants to try... I'm surprised I ran into difficulties TBH
14:20:26 <peter1138[d]> Well, the main probably is probably the 2 for acceleration 🙂
14:21:01 <talltyler> Dates look okay though? Submissions by March 11, voting closes March 25?
14:21:09 <talltyler> I have the forum post done, just waiting to hit submit 🙂
14:22:43 <_zephyris> nml.generic.ScriptError: "006_vehicle.nml", line 70: Unknown property name: introduction_date
14:22:43 <_zephyris> make[1]: *** [Makefile:21: 006_vehicle] Error 1
14:22:43 <_zephyris> make[1]: Leaving directory '/mnt/f/Documents/GitHub/nml/regression'
14:22:43 <_zephyris> make: *** [Makefile:8: regression] Error 2
14:22:58 <_zephyris> Yeah, a word for accel would be a problem, if it made without regression errors...
14:23:38 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 commented on pull request #11878: Add: public key authentication to the admin connection https://github.com/OpenTTD/OpenTTD/pull/11878#pullrequestreview-1847552347
14:24:52 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain commented on pull request #11878: Add: public key authentication to the admin connection https://github.com/OpenTTD/OpenTTD/pull/11878#pullrequestreview-1847552594
14:28:03 <_zephyris> Well, I'm stuck and naptime's over - maybe another time!
14:28:06 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler commented on pull request #11902: Add: Infinite money mode https://github.com/OpenTTD/OpenTTD/pull/11902#pullrequestreview-1847548130
14:35:22 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler updated pull request #11798: Fix #10118: Cycle through current signal group, not just path signals https://github.com/OpenTTD/OpenTTD/pull/11798
14:46:17 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler updated pull request #10409: Feature: Import real-world town data via JSON file https://github.com/OpenTTD/OpenTTD/pull/10409
14:51:39 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 commented on pull request #11878: Add: public key authentication to the admin connection https://github.com/OpenTTD/OpenTTD/pull/11878#pullrequestreview-1847561284
14:52:00 <merni> TallTylerviaGitHub: Hm, I found a little bug while checking the preview out :(
14:53:36 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain commented on pull request #11878: Add: public key authentication to the admin connection https://github.com/OpenTTD/OpenTTD/pull/11878#pullrequestreview-1847561602
14:53:36 <merni> If you turn on the setting while the game is running, the money balance is shown as `$20,000` or whatever for a few seconds, then `(infi0,000` for a few seconds, then correctly to `(infinite money)` and vice versa when turning it off
14:54:03 <peter1138[d]> MarkWholeScreenDirty()
14:54:04 <merni> looks like some invalidation is needed when changing the setitng
14:54:12 <peter1138[d]> Brute force :p
14:54:25 <merni> peter1138[d]: thanks, but where should that be triggered?
14:54:28 <peter1138[d]> You can just mark the status bar dirty too, there's probably a function for that.
14:54:50 <peter1138[d]> Settings can have callbacks.
14:54:55 <merni> is there some place to add a "callback" or whatever that gets...
14:54:59 <merni> how?
14:56:51 <peter1138[d]> `post_cb = [](auto) { MarkWholeScreenDirty(); }`
14:56:59 <peter1138[d]> In the .ini file where you added the setting
14:57:26 <frosch123> truebrain: i'll trigger eints manually now, let's see what happens
14:57:54 <peter1138[d]> `InvalidateWindowData(WC_STATUSBAR, 0);` might be enough to just refresh the statusbar.
14:57:55 <georgevb> Are there plans / intentions to make objects buildable on rails / roads? Something like gates, checkpoint etc.
14:58:31 <merni> peter1138[d]: thanks, will try
14:58:36 <peter1138[d]> Or not, that doesn't necessarily mark it as dirty. H mm.
14:59:07 <peter1138[d]> `SetWindowDirty(WC_STATUS_BAR, 0);`
14:59:33 <peter1138[d]> MarkWholeScreenDirty is fine, it only happens when changing the setting 🙂
14:59:57 <peter1138[d]> georgevb: No, objects are object tiles, which are not rails or roads.
15:00:47 <DorpsGek> [OpenTTD/OpenTTD] eints-sync[bot] pushed 1 commits to master https://github.com/OpenTTD/OpenTTD/commit/809b599c212fe61348de4497b2f5d4bd87d5b4cf
15:00:48 <DorpsGek> - Update: Translations from eints (by translators)
15:01:14 <truebrain> that doesn't look terrible
15:07:31 <frosch123> why was that so fast?
15:08:39 <peter1138[d]> Bypasses the CI, unless you mean something else.
15:09:18 <frosch123> eints used to run for 40 minutes, not 3 :p
15:09:59 <frosch123> _glx_: the gender stuff should now work in eints
15:10:10 <andythenorth> peter1138[d]: goes it flatrailobjects?
15:10:12 <truebrain> 40? It normally runs in 8 minutes .. it now took 10
15:10:18 <truebrain> not sure how your watch is running frosch123 , but I worry 😄
15:10:38 <truebrain> https://github.com/OpenTTD/workflows/actions/workflows/eints-sync.yml to see a list of times 😛
15:10:49 <xarick> not trying to be woke, but how many genders are there in eints/openttd?
15:11:17 <andythenorth> 3 probably?
15:11:25 <andythenorth> der / die / das?
15:11:48 <peter1138[d]> Try to be woke, it's good for you.
15:12:04 <peter1138[d]> But it is language-defined.
15:12:34 <Rubidium> about 95?
15:12:37 <peter1138[d]> Hmm, my changes to #11495 have lost JGR as an author on one commit 😒
15:13:06 <_jgr_> I'm not going to stress about things like that
15:13:20 <peter1138[d]> <https://github.com/OpenTTD/OpenTTD/compare/master...PeterN:OpenTTD:pr11495?expand=1>
15:13:31 *** elliot[m] has quit IRC ()
15:14:00 <DorpsGek> [OpenTTD/eints] frosch123 closed issue #170: Base language version error https://github.com/OpenTTD/eints/issues/170
15:14:01 <peter1138[d]> I replaced AllocatorProc with a class, and that class can of course have state.
15:14:04 <DorpsGek> [OpenTTD/eints] frosch123 commented on issue #170: Base language version error https://github.com/OpenTTD/eints/issues/170
15:14:28 <merni> woo, another complete recompile...
15:15:19 <talltyler> Earlier this morning I accidentally deleted Cmake, and boy was that a long recompile
15:15:19 <peter1138[d]> That means your... special bits in AllocSprite and AssignLastAllocSprite are unnecessary.
15:16:48 <peter1138[d]> I did initially do it with a lambda and captures, but then I realised that `std::function<void *(size_t)>` is way too open and it was possible to use some random function by mistake.
15:17:37 <peter1138[d]> talltyler: "Just making sure it's reproducible"
15:18:07 <_jgr_> peter1138[d]: I've got no problems with you making my code nicer/better
15:18:11 <_jgr_> Sounds good to me
15:18:31 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1201184538496344174/image.png?ex=65c8e546&is=65b67046&hm=4c88ea5ad8f94f4bf4bfa50a25b25431d2b9ff3926272c78385c690d431189af&
15:18:31 <andythenorth> "16 GB was enough they said"
15:18:46 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1201184604548251729/image.png?ex=65c8e556&is=65b67056&hm=7c923c97e545f6e73c20e5efbb04274a3d8be7ac0f480bfdb83d310478e42a97&
15:18:46 <andythenorth> oh, a memory leak 😛
15:19:02 <peter1138[d]> Okay, I'll force-push to your branch?
15:19:27 <_jgr_> Sure
15:19:28 <frosch123> andythenorth: did you open one of your generated nml files? :p
15:19:42 <peter1138[d]> Saves opening on another PR 🙂
15:20:42 <DorpsGek> [OpenTTD/OpenTTD] PeterN updated pull request #11495: Change: Simplify sprite cache memory management https://github.com/OpenTTD/OpenTTD/pull/11495
15:21:06 *** v453000[d] has joined #openttd
15:21:06 <v453000[d]> frosch123: 😄
15:21:16 <truebrain> and THAT wakes v453000[d] up .. wth
15:21:18 <frosch123> it's a V!
15:21:18 <andythenorth> pasted from google sheets to my text editor 😦
15:21:29 <andythenorth> V is my secret macOS friend
15:21:32 <LordAro> xarick: Portuguese has 5...
15:21:40 <v453000[d]> hello 🙂
15:21:59 <LordAro> such V
15:22:10 <frosch123> and he transformed from a slug into a fish
15:22:16 <v453000[d]> :0
15:22:50 <v453000[d]> What's new?
15:24:12 <peter1138[d]> TrueBrain did start work on a changelog 😄
15:24:23 <v453000[d]> god damn that's some features
15:24:51 <peter1138[d]> Hmm, I can't really review and approve #11495, hehe.
15:24:54 <truebrain> frosch123: you reanbled the eints workflow?
15:24:54 <v453000[d]> I'm sure people are going wild of such log
15:25:07 <truebrain> v453000[d]: if not, all hope is lost! 😛
15:25:13 <peter1138[d]> That's all it is.
15:25:15 <v453000[d]> haha
15:25:23 <peter1138[d]> Changes since 13.4: Updated changelog.
15:26:02 <frosch123> truebrain: yes, i even had to, it blocked the manual trigger
15:26:07 <truebrain> haha
15:26:11 <truebrain> nice 🙂
15:26:23 <merni> peter1138[d]: This works :)
15:26:56 <DorpsGek> [OpenTTD/OpenTTD] merni-ns updated pull request #11902: Add: Infinite money mode https://github.com/OpenTTD/OpenTTD/pull/11902
15:27:08 <v453000[d]> I had thought you've immortalized Rubidium into a bot but I guess that's just some bot mentioning comments XD
15:27:20 <merni> That's the IRC bridge lol
15:27:23 <truebrain> Discord <-> IRC bridge, as ... people
15:27:30 <v453000[d]> Ah right
15:27:34 <truebrain> <insert XKCD here>
15:27:47 <v453000[d]> well I'm one of the discord heathens soo yeah
15:28:06 <v453000[d]> just like you, this wtf modern day and age
15:28:21 <v453000[d]> I don't even remember how would I log onto IRC anymore probably (:
15:28:37 <truebrain> not a bad thing; but some people in here don't agree 😛
15:28:40 <DorpsGek> [OpenTTD/OpenTTD] merni-ns commented on pull request #11902: Feature: Infinite money mode https://github.com/OpenTTD/OpenTTD/pull/11902#pullrequestreview-1847573141
15:29:17 <peter1138> IRC is FINE.
15:30:35 <Rubidium> v453000[d]: I've not passed the Turing test, so... maybe I am a bot?
15:33:22 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler commented on pull request #11902: Feature: Infinite money mode https://github.com/OpenTTD/OpenTTD/pull/11902#pullrequestreview-1847573820
15:34:04 <merni> Hm
15:34:12 <merni> Another `git rebase --interactive` !
15:34:33 <talltyler> Yep, sorry 😦
15:34:53 <merni> Can that be added to commit checker?
15:35:15 <talltyler> It doesn't help you now, but that PR could be one big commit 😛
15:35:23 <talltyler> (not even that big, 20 lines)
15:35:43 <merni> True, it helped me to split up what I was working on
15:36:00 <talltyler> Yes, and it's helpful for reviewing too
15:36:00 <peter1138[d]> Oh loads of compilers failed :/
15:36:05 <merni> because basically between each part I had to go on a search through the code to find "which file is this feature in"
15:37:06 <peter1138[d]> Ah whoops.
15:37:35 <DorpsGek> [OpenTTD/OpenTTD] merni-ns updated pull request #11902: Feature: Infinite money mode https://github.com/OpenTTD/OpenTTD/pull/11902
15:38:00 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler approved pull request #11902: Feature: Infinite money mode https://github.com/OpenTTD/OpenTTD/pull/11902#pullrequestreview-1847574591
15:39:00 <DorpsGek> [OpenTTD/OpenTTD] PeterN updated pull request #11495: Change: Simplify sprite cache memory management https://github.com/OpenTTD/OpenTTD/pull/11495
15:39:15 <talltyler> Another feature that I'll probably enable and never look back, thanks merni! 😄
15:39:33 <merni> isn't there a way to merge all the commits while merging?
15:39:39 <merni> Thanks, I expect it will be the same with me :)
15:39:47 <talltyler> Yes, we can squash when merging
15:40:14 <talltyler> So it will show as one commit in the commit log, but if you open the PR you can see all the original commits
15:40:48 <talltyler> That's what I did with my timekeeping PRs -- it's like 3 commits when squashed, down from forty-something in the PRs! 🙂
15:42:05 <talltyler> Hmm, after this one is merged, goes it remove money cheat?
15:42:57 <merni> yes there was some talk about that yesterday
15:45:36 <talltyler> Anyway, Sunday is my partial digital detox day, so I'll be back later. If nobody has raised any concerns about the title game competition dates by then I will post the announcement tonight. As a refresh: entries in by March 11, voting opens by March 18 (probably sooner), and voting closes March 25.
15:50:14 <DorpsGek> [OpenTTD/eints] pasantoro commented on issue #170: Base language version error https://github.com/OpenTTD/eints/issues/170
15:52:07 <Rubidium> truebrain: I seem to remember some talk about the TurnServer was doing some "packet" inspection, like checking the length. I've tried looking for the implementation, but I can't find it. I found turn.py in game-coordinator though.
15:55:36 <truebrain> Rubidium: it doesn't do inspection as such, but it does process the length bytes
15:55:52 <truebrain> so in turn.py you see that two connections are peered together
15:55:57 <truebrain> `receive_raw` now handles that traffic
15:56:05 <truebrain> https://github.com/OpenTTD/py-protocol/blob/main/openttd_protocol/wire/tcp.py#L172
15:56:07 <truebrain> that comes from there
15:56:18 <truebrain> https://github.com/OpenTTD/py-protocol/blob/main/openttd_protocol/wire/tcp.py#L146
15:56:18 <truebrain> adds things to the queue
15:56:28 <truebrain> and as you can see a bit higher, it processed the length bytes
15:58:50 <Rubidium> good, so my memory's not that bad... just process of finding the right place a bit off ;)
15:59:34 <truebrain> and also, don't worry too much about this; this is all fully versionized etc, so we can easily make changes to it
16:00:13 <truebrain> (at least, I assume this is related to your draft PR 😛 )
16:01:01 <Rubidium> yup
16:01:33 <truebrain> reminds me I should finish my rust variant of this ... so much faster / less CPU / less memory 😛
16:02:17 <truebrain> I keep hoping Cloudflare comes with non-HTTP support, but it keeps on not happening ... 😦
16:02:37 <truebrain> they hint about it in more than one blog-post ... but that doesn't buy me anything!
16:04:11 <v453000[d]> Rubidium: 😂
16:04:28 <truebrain> v453000[d]: one thing to know about the IRC bridge: they have no clue what you are replying to 😛
16:04:40 <v453000[d]> Ahaha
16:05:06 <truebrain> IRC doesn't handle that at all ..... which is one of the reasons I like Discord 😄 Cross-talk is so much easier
16:09:20 <DorpsGek> [OpenTTD/OpenTTD] PeterN updated pull request #11495: Change: Simplify sprite cache memory management https://github.com/OpenTTD/OpenTTD/pull/11495
16:09:28 <peter1138[d]> Stupid includes, I wish I knew how to turn that off 😒
16:15:58 <truebrain> It is why I use 'git add -p', to somewhat know what I am adding .. not for includes in my case, but debug statements 😄
16:17:51 <peter1138[d]> I normally use git gui, but must've just not spotted this :S
16:17:59 <truebrain> Happens
16:31:03 <DorpsGek> [OpenTTD/OpenTTD] michalc commented on discussion #11863: Bananas - Python client? https://github.com/OpenTTD/OpenTTD/discussions/11863
16:32:58 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain commented on discussion #11863: Bananas - Python client? https://github.com/OpenTTD/OpenTTD/discussions/11863
16:34:14 <peter1138[d]> Phew, it compiled 😄
16:46:38 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 commented on pull request #11878: Add: public key authentication to the admin connection https://github.com/OpenTTD/OpenTTD/pull/11878#pullrequestreview-1847589069
16:55:21 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain commented on pull request #11878: Add: public key authentication to the admin connection https://github.com/OpenTTD/OpenTTD/pull/11878#pullrequestreview-1847590248
17:06:26 *** Wormnest has joined #openttd
17:14:06 <peter1138[d]> Hmm, actually for my purpose it makes sense to reference the vector rather than the spritecache item.Hm.
17:21:05 <peter1138[d]> Aww yeah, no leaks ;D
17:26:26 <locosage> freaking modern web apps
17:26:36 <locosage> always fun to see right click menu stuck loading :/
17:34:14 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 commented on pull request #11878: Add: public key authentication to the admin connection https://github.com/OpenTTD/OpenTTD/pull/11878#pullrequestreview-1847595620
17:48:32 <xarick> These examples... I can't follow <https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#supported-color-models>
17:48:54 <xarick> what's the point of a coloured blob
17:49:01 <xarick> I want coloured text
18:07:57 <andythenorth> 14.0 changelog is nuts 🙂
18:08:19 <andythenorth> Biggest release for some years
18:09:21 <merni> and it did not even mention some more things such as new road stops
18:10:35 <truebrain> Add what needs adding 🙂
18:10:52 <merni> I tried, it gives me the option to fork and create a PR
18:10:52 <truebrain> we need to condense it some how .. not sure how yet 😛
18:11:20 <merni> or do I need to commit to that repo somehow?
18:11:45 <truebrain> accept invite, try again
18:15:00 <DorpsGek> [OpenTTD/OpenTTD] PeterN updated pull request #11495: Change: Simplify sprite cache memory management https://github.com/OpenTTD/OpenTTD/pull/11495
18:15:25 <peter1138[d]> pom te pom. Enough.
18:17:07 <peter1138[d]> Hmm, I think I broke _spritecache_bytes_used. Oops.
18:19:38 <truebrain> stop breaking stuff
18:19:48 <peter1138[d]> It was updated in a function I removed.
18:19:49 <DorpsGek> [OpenTTD/website] merni-ns updated pull request #289: Add: Release announcement for 14.0 https://github.com/OpenTTD/website/pull/289
18:24:54 <DorpsGek> [OpenTTD/OpenTTD] michicc commented on pull request #11495: Change: Simplify sprite cache memory management https://github.com/OpenTTD/OpenTTD/pull/11495#pullrequestreview-1847608505
18:26:11 <merni> truebrain: Maybe add just the titles at the top as links to their own sections?
18:26:43 <merni> If 11902 gets merged I imagine there may need to be another section -- or at least addition to the cheat section 😉
18:27:45 <truebrain> the website doesn't handle sections all that well; but we will figure it out
18:27:48 <truebrain> we have a few eeeks
18:29:47 <DorpsGek> [OpenTTD/OpenTTD] SamuXarick commented on issue #10341: [Bug]: AI/GS settings randomization issues https://github.com/OpenTTD/OpenTTD/issues/10341
18:34:24 <DorpsGek> [OpenTTD/website] michicc updated pull request #289: Add: Release announcement for 14.0 https://github.com/OpenTTD/website/pull/289
18:35:32 <DorpsGek> [OpenTTD/OpenTTD] glx22 merged pull request #11905: Codechange: ignore duplicate script messages in regression output https://github.com/OpenTTD/OpenTTD/pull/11905
18:39:35 <xarick> best feature imo is still the ship pathfinder
18:41:08 <xarick> too bad group vehicle cache won't make it
18:41:28 <peter1138[d]> https://cdn.discordapp.com/attachments/1008473233844097104/1201235614532636843/image.png?ex=65c914d8&is=65b69fd8&hm=90c023b3531e5bd35e7a5e62957b31f5a6c74c6e2d9745d89efd43a44a22108a&
18:41:28 <peter1138[d]> Hmm, so a const method can modify a vector...?
18:41:37 <peter1138[d]> (Also, truelight r1 lol)
18:42:37 <truebrain> in TypeScript a list can always be a const, as the variable doesn't change; its content does 😄
18:42:39 <truebrain> it is such a weir drule
18:43:13 <peter1138[d]> I expected this not to work, which is why I didn't make it const.
18:43:50 <truebrain> I guess here too, `this->data` isnt changed
18:43:51 <truebrain> or something odd
18:43:55 <truebrain> I expected that to fail 😛
18:46:08 <peter1138[d]> Designing an Allocate function that is designed to allow state to be changed, and then making it const, seems a bit weird.
18:46:33 <truebrain> it does
18:46:35 <peter1138[d]> And then to top that off, making it const allows it to work anyway!? but perhaps only in this instance because it's a vector...
18:47:53 <xarick> you can't const vectors or something, according to visual studio
18:49:07 <peter1138[d]> You can.
18:49:33 <_jgr_> data seems to be a reference not a normal member in the PR
18:49:49 <peter1138[d]> That's true.
18:51:05 <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #11495: Change: Simplify sprite cache memory management https://github.com/OpenTTD/OpenTTD/pull/11495#pullrequestreview-1847612997
18:54:02 <peter1138[d]> I didn't know that affected it.
18:57:02 <DorpsGek> [OpenTTD/OpenTTD] michicc commented on pull request #11495: Change: Simplify sprite cache memory management https://github.com/OpenTTD/OpenTTD/pull/11495#pullrequestreview-1847613698
19:00:54 <xarick> can I PR this? https://github.com/OpenTTD/OpenTTD/compare/master...SamuXarick:OpenTTD:also-anchor-SCRIPTCONFIG_RANDOM-as-unchangeable-settings
19:02:06 <xarick> fix for #10341... it's not the correct way to fix it, but since you prefer simple fixes...
19:11:01 <michi_cc[d]> xarick: We prefer fixes that a) work, b) are understandable, and c) do what they say on the tin. Usually, it is a lot easier to achieve if the fix is simple.
19:23:59 <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #11495: Change: Simplify sprite cache memory management https://github.com/OpenTTD/OpenTTD/pull/11495#pullrequestreview-1847616970
19:28:12 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain commented on pull request #11495: Change: Simplify sprite cache memory management https://github.com/OpenTTD/OpenTTD/pull/11495#pullrequestreview-1847617601
19:28:43 <truebrain> owh, more C-casts later
19:28:48 <truebrain> but I am sure you can find them on your own 😄
19:30:12 <peter1138[d]> Damn it, I knew git removing the attribution of JGR would fail me 😉
19:31:12 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain commented on pull request #11495: Change: Simplify sprite cache memory management https://github.com/OpenTTD/OpenTTD/pull/11495#pullrequestreview-1847617962
19:31:18 <truebrain> and that is more a high-level coding style thingy
19:33:04 <truebrain> right ... can we get the bugs down to 150 tonight?
19:33:07 <truebrain> let's find out!
19:33:58 <_jgr_> The PR is based on code from more than 5 years ago, so I don't feel too bad about the odd traditional casts 😛
19:35:45 <truebrain> https://github.com/OpenTTD/OpenTTD/issues/8253
19:35:45 <truebrain> These kind of bugs .. are they actual bugs? 😛
19:36:43 <LordAro> kinda
19:37:29 <LordAro> that sort of strange edge case is probably more likely in sandbox mode
19:37:40 <LordAro> (depending how it's implemented, of course)
19:38:06 <truebrain> no, even in sandbox I consider it REALLY unlikely for someone to hit INT_MAX 😛
19:38:58 <LordAro> INT_MIN is definitely possible though
19:39:07 <truebrain> INT64_MIN, ffs, you know what I mean
19:39:10 <LordAro> and that probably has the same bug
19:39:37 <LordAro> it's been hit before, that's how we discovered that OverflowSafeInt wasn't underflow safe :)
19:40:09 <truebrain> owh, that code in graph_gui.cpp ... wauw
19:40:25 <peter1138[d]> Hmm, given SpriteCache doesn't have a constructor, I'm not sure it needs all that initialization anyway.
19:40:56 <truebrain> `Apparently these don't play well with enums`
19:41:00 <truebrain> now that is a good and useful comment 😛
19:42:22 <truebrain> hmm, a proper fix adds ~10KB of RAM to the game
19:43:46 <peter1138[d]> What is your proper fix?
19:44:13 <LordAro> int arr[2500];
19:44:15 <truebrain> making the `cost` an `std::optional<Money>`, as that is what it is actually doing 😛
19:45:15 <truebrain> owh, funny, it isn't even INT64_MAX
19:45:21 <truebrain> it is `INT64_MAX - 1`
19:45:21 <truebrain> 😄
19:48:51 <truebrain> also odd, I can't take out a loan with that savegame
19:48:55 <truebrain> not sure why not
19:50:54 <truebrain> https://cdn.discordapp.com/attachments/1008473233844097104/1201253087722090616/image.png?ex=65c9251e&is=65b6b01e&hm=b6e0b81a3d413d7e56e9356299b1289dcc41cc922bc41d2d563c4c98aace3d70&
19:50:54 <truebrain> always happy to read that some random dude create a project board and put all our tickets on it
19:50:57 <truebrain> just ... lovely useful GitHub
19:50:58 <truebrain> tnx
19:51:50 <locosage> is there some precedent for adding "optional" baseset sprites?
19:52:03 <locosage> there are lots of cases where adding extra sprites would make things much better
19:52:38 <locosage> but for original baseset they need to be either empty or copy some other sprite
19:53:31 <locosage> stuff like fences that are just impossible to align
19:54:05 <_jgr_> Basesets can have parameters as of recently, so you could make such things optional that way?
19:54:29 <_zephyris> locosage: What do you mean? Like farm field and rail fences?
19:54:53 <locosage> farm fences, haven't looked at rail ones yet
19:55:45 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain opened pull request #11913: Fix #8253: don't use INVALID_DATAPOINT for a valid value https://github.com/OpenTTD/OpenTTD/pull/11913
19:55:55 <locosage> _jgr_: don't see how options would help here, it's original baseset that needs an option no not provide these sprites
19:56:26 <_zephyris> But... They're always needed?
19:56:31 <truebrain> `(11 * current_interval.highest) / 10;` ... lol .. that doesn't work when you are 1/10th of the max ...
19:56:43 <peter1138[d]> I'm unclear on what "impossible to align" means, given they're all... aligned in the current basesets.
19:57:39 <_jgr_> The baseset needs to provide all the basic sprites, even if they get overriden later by some other GRF
19:57:53 <locosage> https://cdn.discordapp.com/attachments/1008473233844097104/1201254844401471620/Screenshot_from_2024-01-29_01-27-42.png?ex=65c926c1&is=65b6b1c1&hm=d1d7b196b3e1e93fbf01355ed5312800c6263620b83bc19614c51f6e46615f97&
19:57:53 <locosage> peter1138[d]: opengfx2
19:58:49 <_zephyris> It's a tradeoff. The fences are drawn 1px into the tile, so you can either have perfect full length edges or perfect corners. I think.
19:59:01 <truebrain> why does `current_interval.highest / 10` trigger a SIGFPE ... the function says the divisor is zero ... it aint zero ....
19:59:07 <locosage> current basesets solve the problem by making fence sprites very vague so overlap isn't noticeable
19:59:27 <truebrain> owh, it actually is zero ... lolz
19:59:33 <wensimehrp> Why are there transparent pixels in factory graphics?
19:59:38 <locosage> _zephyris: yes, so I suggest just having another set of fence sprites for other side of the tile
20:00:27 <locosage> original would use same sprite for both, new basesets can provide different ones that actually align
20:01:19 <_zephyris> The _real_ solution is newgrf defined fields! 😜
20:01:35 <locosage> newgrf is no solution for a baseset :p
20:01:40 <peter1138[d]> https://cdn.discordapp.com/attachments/1008473233844097104/1201255795216629891/image.png?ex=65c927a3&is=65b6b2a3&hm=4d8488dc4adb8a3468e37a2a59d9021f959e90a3bc00742473f8f127ae34bc37&
20:01:40 <peter1138[d]> This is why they are not on the far edge of the tile.
20:02:41 <LordAro> oh wait, i did the initial investigation of #8253
20:02:42 <LordAro> lol
20:02:42 <peter1138[d]> The solution to adding optional sprites is to make then NOT optional, but make sure that the original sprites are copied in place of the new sprites.
20:02:48 <truebrain> I segfaulted clang \o/
20:02:58 <LordAro> \o/
20:03:36 <truebrain> do not use `Debug` on `Money` 😛
20:04:09 <peter1138[d]> dbg: [script] [5] [S] Your script made an error: excessive CPU usage in valuator function
20:04:09 <peter1138[d]> RIp
20:04:29 <truebrain> the graph code absolutely does not love drawing anything near the INT64_MAX range
20:04:45 <locosage> peter1138[d]: yeah, but is there a precedent I can use as an example?
20:04:55 <_jgr_> No quantities are going to be anywhere near INT64_MAX in real games
20:05:05 <locosage> I've seen some mess of the shoreline sprites, is that all just for the same reason?
20:05:12 <locosage> wouldn't want to repeat that thb
20:05:25 <truebrain> _jgr_: I have a LordAro that disagrees with that ... so I am forced to fix it, instead of closing with: lolz
20:07:28 <peter1138[d]> I've also managed to crash clang.
20:07:45 <truebrain> TWINCIES!
20:09:03 <peter1138[d]> Trying to fmt::println a pointer that isn't void.
20:09:12 <_zephyris> locosage: Original graphics 😉 I can't remember why I've tweaked it...
20:09:18 <peter1138[d]> It's meant to not work, but it's not meant to crash the compiler 😄
20:09:35 <_zephyris> locosage: In what way? And should probably do this in the addon dev channel
20:09:47 <truebrain> peter1138[d]: well, it is observable that this started to happen with the latest fmt upgrade
20:09:54 <truebrain> that errors in fmt causes clang to crash
20:09:58 <truebrain> at least, mine was also in fmt ... 🙂
20:10:04 <locosage> nah, this is about openttd code not addons per se
20:10:42 <locosage> shorelines sprites have a lot of extra management code around them
20:11:02 <locosage> something about 10-set and 16-set
20:11:43 <truebrain> hmm ... when converting a double with the value `9.223372036854776e+18` back to an int64_t, it becomes negative
20:12:21 <truebrain> I consider that a C++ bug
20:13:58 <truebrain> https://godbolt.org/z/rKdMzP67h
20:14:03 <truebrain> here it is zero, but same idea
20:14:17 <truebrain> unexpected to me 🙂
20:14:51 <truebrain> change the `+18` to `+17`, and it is negative
20:14:53 <truebrain> funny
20:15:02 <_jgr_> If stuff doesn't fit it just gets truncated
20:15:35 <truebrain> owh, my printf is wrong
20:15:35 <truebrain> haha
20:15:40 <truebrain> https://godbolt.org/z/6jKK91jxf
20:15:42 <truebrain> that is better 😛
20:15:57 <truebrain> _jgr_: it is not truncating, that is the annoying part
20:16:06 <_zephyris> locosage: Base set has 10, a TTDPatch/OpenTTD extension is 16 - which can be in base set extra and static newgrfs
20:16:19 <truebrain> it is actually overflowing
20:16:39 <truebrain> like it implicitly first converts to an unsigned or something
20:17:28 <truebrain> is this actually worth fixing ....
20:17:35 <locosage> https://cdn.discordapp.com/attachments/1008473233844097104/1201259802228174989/Screenshot_from_2024-01-29_01-47-16.png?ex=65c92b5f&is=65b6b65f&hm=3e4cf605ecaa7d3c6610e44d3109fcc9ea669f1bae34c6c11adf2d58669a075c&
20:17:35 <locosage> oh, original sprites also have this issue
20:21:17 <xarick> SwitchMode wow this list increased!
20:21:20 <xarick> enum
20:21:59 <_zephyris> _zephyris: locosage Yup, see my previous message.
20:23:11 <truebrain> https://cdn.discordapp.com/attachments/1008473233844097104/1201261210247630929/image.png?ex=65c92cae&is=65b6b7ae&hm=d46245ea5aabd11106505e6dbe2639fc8b27962bf933e48d3bcd69c83d355064&
20:23:17 <truebrain> ughly, but .... we can't draw any higher 😛
20:24:21 <locosage> _zephyris: well, yeah, and I want a solution not a tradeoff xD
20:24:50 <_zephyris> locosage: Yeah - custom field objects is the real solution!
20:25:16 <locosage> yeah, yeah, every tile is an object, solution to everything :p
20:25:34 <_zephyris> I know that requires a newgrf, but realistically this is a tiny graphical glitch.
20:25:41 <locosage> object-oriented map array 🤣
20:27:07 <DorpsGek> [OpenTTD/OpenTTD] PeterN updated pull request #11495: Change: Simplify sprite cache memory management https://github.com/OpenTTD/OpenTTD/pull/11495
20:27:08 <_jgr_> truebrain: The constant that is returned is the integer overflow sentinel
20:27:26 <truebrain> it's a sentinel? Now that is useful
20:27:38 <truebrain> tnx 🙂 I can work with that
20:27:47 <_jgr_> On x86
20:28:08 <peter1138[d]> Is there std:: stuff to handle this 🙂
20:28:24 <truebrain> also, why is my Company Value in the Company Overview a different value than in the Company Value Graph?
20:28:35 <_jgr_> It's on p457 of the doc from here: <https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html>
20:28:45 <_jgr_> (Very prominently on display)
20:28:57 <truebrain> (one seems with loan, other seems without)
20:31:48 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 updated pull request #11878: Add: public key authentication to the admin connection https://github.com/OpenTTD/OpenTTD/pull/11878
20:31:53 <DorpsGek> [OpenTTD/OpenTTD] SamuXarick opened pull request #11914: Fix: AI/GS settings with the flag SCRIPTCONFIG_RANDOM could be altered after loading from a savegame. https://github.com/OpenTTD/OpenTTD/pull/11914
20:32:14 <frosch123> hmm, so we reenabled eints, and on the first day someone merges in parallel and denies eints again :p
20:32:32 <truebrain> nice!
20:32:41 <truebrain> was it me was it me? Please tell me it was me 😄
20:33:17 <Rubidium> truebrain: the code is very bad but it's more to prove that is can be done: https://github.com/OpenTTD/OpenTTD/compare/master...rubidium42:encrypted-game-socket?expand=1 (it will load the game, but fail quickly afterwards but I think I know what's causing the problem)
20:33:17 <_glx_> me maybe
20:33:28 <frosch123> i was at a concert, it can't be me, i have an alibi
20:33:36 <michi_cc[d]> locosage: That's already called Simutrans.
20:34:02 <truebrain> Rubidium: nice! That is some good progress 😄
20:34:07 <michi_cc[d]> For reference: <https://github.com/aburch/simutrans/blob/master/src/simutrans/ground/grund.h>
20:34:45 <locosage> only thing I know about simutrans is spaceship-oriented ui, never got past that 😅
20:34:52 <_glx_> ah yeah it was me (19:35)
20:35:09 <frosch123> `std::unique_ptr<class ConnectionEncryptionState>` <- elaborate type specifiers!
20:35:13 <truebrain> SHAME! SHAME! SHAME! SHAME! SHAME! (like in the medival times, with a bell, going around the houses)
20:35:17 <truebrain> nah, just kidding ofc 🙂
20:35:45 <_glx_> we had an eints merge earlier anyway
20:36:18 <locosage> nice variable naming :/ <https://github.com/aburch/simutrans/blob/master/src/simutrans/ground/grund.h#L238>
20:36:19 <frosch123> michi_cc[d]: nice denglish 🙂 "is part of a halt"
20:37:14 <truebrain> Rubidium: didn't monocypher suggest to use the aead read/write file instead of lock/unlock? As I believe the first rotates the key for you
20:37:17 <truebrain> not sure if the latter does
20:37:45 <truebrain> no clue why I wrote "file" there
20:37:50 <truebrain> read/write, and "file" just followed ... lol
20:38:29 <truebrain> Rubidium: ah, in theory lock/unlock does the right thing (calls read/write internally), but they also keep calling init_x. That is less ideal 🙂
20:39:06 <truebrain> `implicit conversion from 'long' to 'double' changes value from 9223372036854775806 to 9223372036854775808`
20:39:06 <truebrain> nice
20:39:20 <_jgr_> locosage: It'd be very easy to accidentally tank performance with something like that
20:41:18 <Rubidium> truebrain: I'm not going for ideal now. The code to get here is all significantly less than ideal :)
20:41:32 <truebrain> I am not talking about ideal; I am talking about secure 🙂
20:41:47 <truebrain> so the word ideal of mine was in another context 😉
20:42:25 <truebrain> with lock, you reinialize with the same key and nonce. So that is insecure. That is why the manual says to use read/write, which cycles the key 🙂
20:43:39 <Rubidium> well, it's using a different nonce each time
20:44:11 <truebrain> ah .. yes .. as we talked about, please don't do that 🙂
20:44:19 <truebrain> please follow what Monocypher says .. they really know better
20:44:40 <truebrain> this cryptographic stuff is very tricky to do right, and monocypher really tries to help out
20:45:09 <truebrain> something as simple as that rotation you do in the nonce, might proof to be a mathematical disaster and makes it trivial to crack the encryption, for example. I honestly do not know
20:45:13 <truebrain> and I also really do not want to know 🙂
20:46:00 <DorpsGek> [OpenTTD/OpenTTD] SamuXarick commented on issue #8022: Ship automatic service causes them to be stuck in a loop https://github.com/OpenTTD/OpenTTD/issues/8022
20:46:22 <_jgr_> Looking at the documentation crypto_aead_write is for incremental encryption of a large single message
20:46:48 <_jgr_> It's not a stream cypher
20:47:09 <truebrain> `There is also an incremental interface to facilitate file encryption and encrypted streams.`
20:47:27 <truebrain> one can argue if there is actually a difference from a very large single message, or a stream of smaller messages
20:48:27 <truebrain> otherwise we can ask the author; he was very responsive to questions
20:49:21 <locosage> hm, yeah, railroad fences don't align at all either...
20:50:24 <_jgr_> It reads to me that you can't start decrypting until the entire encrypt is done, because you need the mac to authenticate it
20:51:14 <truebrain> you get a mac for each block, if I read the interface correct
20:51:33 <locosage> https://cdn.discordapp.com/attachments/1008473233844097104/1201268351079551076/Screenshot_from_2024-01-29_02-21-17.png?ex=65c93355&is=65b6be55&hm=0c40b95b88fff50e0270df998546431c160a5638c86bce1597e688d14144319f&
20:52:05 <peter1138[d]> That is perfectly aligned.
20:52:12 <truebrain> https://github.com/LoupVaillant/Monocypher/issues/218 has lots written about this interface, but it is a thinking process, hard to follow what actually went in the code
20:52:16 <peter1138[d]> It might not be the alignment that you want, but it is correct :p
20:54:04 <locosage> it's only "correct" by the means of it being original graphics
20:54:19 <locosage> but you can't make a continuous fence with this alignment
20:54:54 <v453000[d]> wasn't intended to be continuous, GG
20:55:36 <_jgr_> truebrain: Hmm, that is interesting
20:55:41 <v453000[d]> soooo how does one install OpenTTD on a mac? Just get the zip like usual? Asking for a friend
20:55:49 <locosage> none of the openttd features were intended in the original game :P
20:55:59 <_jgr_> I think I may have to do some more reading but it seems promising
20:59:13 <truebrain> yeah, it is how I read it ... run the write function on every packet, transmit cipher_text and mac for every packet, and things go round and round
20:59:24 <truebrain> but I am just going to ask him, as `incremental interface` can have more than one meaning 😄
21:00:46 <locosage> though for continuous railroad fences it's not just alignment but lots of corner pieces that are missing
21:00:55 *** gelignite has quit IRC (Quit: Stay safe!)
21:01:19 <Rubidium> truebrain: I've changed it to read/write, and fixed the issue while it bailed out prematurely. Only caveat... if you set a server password, it must currently be the same as the admin password... but it proves the point that it can be done
21:01:58 <truebrain> 😄
21:02:02 <truebrain> and I wrote https://github.com/LoupVaillant/Monocypher/issues/270
21:02:11 <truebrain> as I am just not sure myself, and I am rather have we are sure about this 😛
21:02:22 <xarick> as I suspected...
21:02:40 <xarick> found an edge case for Kuhnovic
21:03:47 <truebrain> and there is one thing I learnt about crypto shit .. it is better to look stupid than make a huge mistake 😄
21:05:17 <peter1138[d]> Great, because I'm good at looking stupid.
21:06:15 <truebrain> owh, right, I was trying to figure out if there is a single way that we get notified double->int overflowed
21:06:22 <truebrain> to not assume x86 🙂
21:07:12 <_jgr_> Probably easiest to do a comparison before the conversion?
21:07:21 <truebrain> a bit of a key issue for me currently is that INT64_MAX cannot be represented in double, and it makes it a tiny bit bigger 😛
21:07:28 <truebrain> so that comparison doesn't work 😄
21:07:55 <truebrain> the one method that does work, is check if the value is negative after conversion; but that might depend on the CPU, I guess
21:08:29 <truebrain> truebrain: this is btw what happens if you try to compare before conversion 😄
21:09:17 <truebrain> hmm .. did I copy that wrong?
21:09:25 <truebrain> `'long' to 'double' changes value from 9223372036854775807 to 9223372036854775808`
21:09:27 <truebrain> I did!
21:10:05 *** nielsm has quit IRC (Ping timeout: 480 seconds)
21:10:48 <truebrain> even `INT64_MAX - 4` gets rounded up to that `808` 😦
21:11:09 <_jgr_> The threshold would be the double value which is just lower than that
21:11:20 <_jgr_> Whatever that is, as everything larger isn't convertible
21:11:21 <truebrain> yeah, but how to find that in a way that makes sense in the code 🙂
21:11:29 <truebrain> ofc I can find that number, but ... hmm
21:11:37 <truebrain> I was hoping C++ would assist me here, but I can't find anything
21:13:30 <truebrain> it is 512 btw .. `INT64_MAX - 512` is the first value that fits
21:14:17 <peter1138[d]> What's the mantissa of a double?
21:14:24 <Rubidium> double does not have the precision at that level. It has a mantissa of 52
21:14:35 <peter1138[d]> 2^52 will be the max value.
21:14:52 <peter1138[d]> (53 if you're lucky)
21:15:35 <peter1138[d]> (Maybe there's a std thing for this 52 🙂
21:15:39 <Rubidium> so at 2**64 it will have 2**12 between values/steps, so any double value that is within about 4000 from the boundary of uint64_t is... suspect
21:16:04 <truebrain> peter1138[d]: of a double? 2^63 fits perfectly fine 😛
21:16:27 <truebrain> not sure what you meant, I have to admit 🙂
21:16:53 <truebrain> Rubidium: turns out, `INT64_MAX - 512` is the last value that doesn't overflow
21:16:54 <Rubidium> but 2^63-1024 to 2^63+1024 will probably all map to 2^63
21:18:08 <peter1138[d]> At that point , just show ETooMuchMoney
21:18:33 <truebrain> or just close the issue with `lolz`
21:19:09 <peter1138[d]> BigInt
21:19:55 <dwfreed> this is why it's common for currency APIs to represent money in integer values of cents
21:20:26 <truebrain> doesn't that make it 100 times sooner to hit this issue? 😛
21:20:27 <dwfreed> (eg, the Stripe APIs do this; if you want to charge some one 1 USD, you charge them 100 cents)
21:21:08 <peter1138[d]> Just in case someone has a 2^63 transaction 😉
21:21:54 <truebrain> hmm .. right into the next issue ... I assign `INT64_MAX` to `Money`, and it returns me a negative value .. wuth? 😄
21:22:14 <truebrain> isn't it designed to avoid that ..
21:22:31 <truebrain> it is ...
21:22:37 <truebrain> sometimes, compilers make weird choices
21:22:45 <dwfreed> are you sure that long is an int64_t ?
21:22:56 <dwfreed> what value is it giving you?
21:23:22 <truebrain> given the fact that the value that comes after it is very close to 2**31, yes, I am sure 🙂
21:23:43 <truebrain> okay ... tenary operator is sometimes funky 🙂
21:23:58 * dwfreed hands truebrain an 'r'
21:24:07 <dwfreed> not to mention 2**31 would fit in an int32_t :P
21:24:16 <truebrain> "very close" does
21:24:28 <dwfreed> well, 2**31 -1
21:24:32 <truebrain> `auto a = true ? INT64_MAX : double` .. I assumed the type would be an int
21:24:33 <truebrain> stupid me
21:25:06 <dwfreed> there are probably rules regarding type selection with ternary
21:25:45 <truebrain> anyway ... what was I doing?
21:25:57 <dwfreed> personally I'd only use auto-typing when the return value can only be one type, and there's just no need to type it out
21:28:30 <_jgr_> The C type integer promotion rules are a bit of a minefield in general
21:29:05 <_jgr_> I gather rust did away with all that
21:32:26 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain opened pull request #11915: Fix: allow rendering graphs with values over 2**31 / 10 https://github.com/OpenTTD/OpenTTD/pull/11915
21:33:43 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain commented on issue #8253: Very large company values are not graphed correctly https://github.com/OpenTTD/OpenTTD/issues/8253
21:34:03 <truebrain> well, my goal of this night will not be reached ...... haha 😄
21:34:08 <truebrain> 1 bug already took 2 hours 😛
21:34:36 <dwfreed> a quick test on godbolt shows that if one branch of your ternary is long, and the other is double, auto will be double
21:34:56 <truebrain> it most likely takes the container that can hold the largest values or something
21:34:57 <dwfreed> regardless of whether the ternary's condition is a constant
21:35:02 <dwfreed> yeah
21:35:11 <truebrain> like with int32 vs int64, I assume it becomes an int64
21:35:14 <truebrain> but .. assumptions
21:35:38 <dwfreed> yeah, it does
21:36:04 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain updated pull request #11915: Fix: allow rendering graphs with values over 2**31 / 10 https://github.com/OpenTTD/OpenTTD/pull/11915
21:36:57 <truebrain> anyway, next to the failure to determine grid-sizes, it actually worked, drawing big numbers .. surprising
21:38:02 <truebrain> peter1138[d]: great job on making clangs address sanitizer return less hits when closing 😄 Now I can actually see the start of my prompt when closing 🙂
21:38:13 <locosage> _jgr_: funnily even python is more strongly typed than C
21:40:50 <kuhnovic> xarick: You have my attention 🙂
21:41:17 <xarick> ah, it's #8022
21:41:33 <xarick> you fixed it, and at the same time you didn't
21:41:50 <truebrain> https://cdn.discordapp.com/attachments/1008473233844097104/1201281002715226212/image.png?ex=65c93f1d&is=65b6ca1d&hm=47cb03477a8af0e294ffa3f3cb7337f9a83075acb28c6f42b3cd8ea4b8f82c31&
21:41:50 <truebrain> so these two windows open up on top of each other .. they have very little difference in to notice they do ... they are same size, same colour, only the header is different ... what to do about that ...
21:43:06 <truebrain> not make them `WDP_CENTER` would be my suggestion, but LordAro suggested that GSes might not want that, as they use it as greating screen .. can I only `WDP_CENTER` it when a GS opens it, and not when a human does?
21:44:46 <truebrain> `if (goal_company == INVALID_COMPANY ? story_company != INVALID_COMPANY : story_company != INVALID_COMPANY && story_company != goal_company) return;`
21:44:56 <truebrain> wow .. who the fuck wrote that monster of a statement 😄
21:45:07 <truebrain> a ternary operator inside an if ... lol
21:45:22 <kuhnovic> xarick: Not very helpful 😆
21:45:23 <dwfreed> jesus christ
21:45:41 <truebrain> the worst part? Left and right does the same!
21:45:46 <truebrain> so what the actual fuck 😛
21:45:53 <dwfreed> wouldn't that just simplify to story_company != goal_company
21:46:09 <xarick> inb4 it was me
21:46:10 <dwfreed> well, I guess not if both are invalid
21:46:23 <truebrain> dwfreed: yeah; but the ternary can go 😛
21:46:34 <frosch123> && has higher priority that ? :
21:46:41 <frosch123> so left and right are not entirely the same
21:46:43 <truebrain> omg, does it?
21:46:55 <kuhnovic> Readability? Fuck that shit, everything on one line!
21:46:56 <truebrain> ...... okay, so whoever did this should be punished
21:46:56 <frosch123> but you can definitely simplify it
21:47:08 <xarick> please don't check the blame
21:47:59 <truebrain> good catch frosch123 ; I did not expect that, but that is always the bitch with ternaries 😄
21:48:26 <frosch123> `story_company != INVALID_COMPANY && (goal_company == INVALID_COMPANY || goal_company != story_company)` <- i think that's the same
21:48:28 <dwfreed> blame: https://github.com/OpenTTD/OpenTTD/commit/6fc653d2d729d8a5c0efeba9f588e6523c3ea13d
21:48:35 <truebrain> frosch123: or just two returns 🙂
21:48:45 <locosage> storybook api design in general is quite meh
21:48:54 <locosage> to have some company-specific info you need to copy the whole page
21:48:55 <_jgr_> Nested/stacked tenaries used to be much more popular than it is now
21:49:07 <andythenorth> I think they were more l33t
21:49:09 <dwfreed> dates all the way back to svn
21:49:09 <andythenorth> or something
21:49:20 <xarick> wow, it wasn't me, 🙂
21:50:14 <truebrain> why do I now have Rick and Morty in my head with Mr Meeseeks
21:51:35 <truebrain> hmm .. can we manually center a window ..
21:52:17 <xarick> kuhnovic: load the 2nd savegame, it shows ships doing loops
21:52:22 <xarick> near the dock
21:52:58 <talltyler> https://cdn.discordapp.com/attachments/1008473233844097104/1201283806058004550/uhoh.png?ex=65c941ba&is=65b6ccba&hm=8558e658d0d91770e183be6c484bb163ea0bc7e0a98fb5025623a0f32c96f9fd&
21:52:58 <talltyler> So I deleted Cmake this morning when trying to fix a git issue, and had to do some reinstalling... and now I can't build OpenTTD properly. Anyone seen this before?
21:53:23 <truebrain> yeah, I had similar issues, where Windows Defender really doesn't like OpenTTD when self-compiling 😛
21:53:34 <truebrain> I just whitelisted it
21:55:27 <talltyler> That fixed it, thanks 🙂
21:55:57 <truebrain> often if you give it a sec, it realises it isn't a virus btw, and allows you to start it
21:56:01 <truebrain> really no idea why it is so annoying 😛
21:56:10 *** Wormnest has quit IRC (Quit: Leaving)
21:56:10 <truebrain> was afraid it was the plugin interface, but it also happened without
21:57:28 <LordAro> whitelisting dev dirs is generally sensible anyway
21:57:34 *** Taco has joined #openttd
21:57:40 <LordAro> realtime scanning does slow things down
21:57:47 <truebrain> I just don't hope Windows will find it a virus when we release 14.0 😛
21:58:03 <_glx_> I triggered it a lot yesterday when testing gender
21:58:12 <LordAro> that's what the codesigning is for
21:58:15 <LordAro> :)
21:58:17 <talltyler> https://cdn.discordapp.com/attachments/1008473233844097104/1201285144556863568/Screenshot_2024-01-28_165800.png?ex=65c942f9&is=65b6cdf9&hm=c6d26fc84070742016e1117433f30ab0a0c8cea2eb38381f5d5e0fc173463dda&
21:58:17 <talltyler> Hmm, what is this?
21:58:28 <LordAro> fixes everything, dontcha know
21:58:28 <_glx_> yeah signed version will be fine
21:58:32 <truebrain> talltyler: the same thing 😛
21:58:46 <truebrain> LordAro: signing first requires building trust too 🙂 So we will see 🙂
21:58:48 <talltyler> https://cdn.discordapp.com/attachments/1008473233844097104/1201285274366378024/Screenshot_2024-01-28_165836.png?ex=65c94318&is=65b6ce18&hm=5bde77510d9222ebfe425801293b7f58cdb1498c295ea898ab5df367569295f1&
21:58:48 <talltyler> Maybe should show the whole thing
21:59:05 <_glx_> yeah same thing here
21:59:05 <truebrain> talltyler: not sure what confuses you, but that is the reason you got the other popup
21:59:29 <talltyler> What is `HackTool:Win32/Craerohl!pz` ?
21:59:45 <truebrain> you actually expect us to answer that? 😄
21:59:55 <_glx_> guess the compiler somehow managed to output similar code
22:00:00 <talltyler> Windows thinks it's in OpenTTD
22:00:06 <talltyler> Windows is confused?
22:00:13 <_glx_> heuristic detection
22:00:18 <truebrain> okay, seems we need to explain modern anti-virus a bit 😄
22:00:25 <truebrain> viruses are clever, so AVs try to be clever too
22:00:31 <truebrain> so they no longer check for a certain amount of bytes or whatever
22:00:38 <truebrain> but they run heuristics over an executable
22:00:44 <truebrain> see if things look .. somewhat ... similar .. a bit
22:00:48 <truebrain> just .. somewhere in the region of
22:00:59 <truebrain> similar, but not really .... maybe the same dress? hair? color of your eyes?
22:01:05 <truebrain> and when it matches, it goes OMG PANIC PANIC
22:01:15 <_glx_> like variants 🙂
22:01:15 <truebrain> in the backend it send your executable to a Microsoft farm for further analysis
22:01:24 <truebrain> and after a while, that farm is like: what the fuck are you on about?
22:01:30 <truebrain> there is NOTHING wrong with this executable
22:01:33 <truebrain> you must be on some strong shit
22:01:40 <talltyler> Seems like we're not the only ones: https://www.reddit.com/r/techsupport/comments/18k5rbn/windows_10_found_hacktoolwin32craerohlpz_the/
22:01:41 <truebrain> and Windows Defender goes like: sorry sorry sorry, I was overreacting
22:01:47 <kuhnovic> xarick: Which savegame?
22:01:51 <truebrain> and withdraws the complaint
22:02:00 <talltyler> Ah, so hopefully this will not affect real users
22:02:04 <truebrain> the first few times I had the problem happening, it was gone before I could see what happened
22:02:09 <xarick> https://github.com/OpenTTD/OpenTTD/files/14077702/Charningstone.Transport.1964-05-30.zip
22:02:09 <truebrain> which was even more scary
22:02:17 <truebrain> as it goes: PANIC, then you click it, and it is: nah bro, I'm fine
22:02:27 <_glx_> real users usually get a signed build, which prevent a lot
22:02:45 <truebrain> talltyler: hopefully; we have reports of people showing that Windows went: OMG A NEWGRF BAD BAD BAD, and refused to download the NewGRF 🙂
22:03:18 <kuhnovic> xarick: I hope I can have a look at this tomorrow. Can you report it as a bug? Good to have this tracked
22:03:20 <talltyler> Thanks for the antivirus explanation, makes sense 🙂
22:03:23 <truebrain> but I do not apprecaited people talking through my epic theatrical performance of Windows Defender versus the world. Just dissapointed.
22:03:29 <truebrain> 😄
22:03:50 <xarick> there is a open issue
22:04:01 <kuhnovic> TrueBrain wants the stage all for himself 😆
22:04:01 <xarick> https://github.com/OpenTTD/OpenTTD/issues/8022
22:04:02 <LordAro> detection signatures do go through phases of being far too trigger happy
22:04:20 <LordAro> usually fixes itself/gets fixed within a week
22:04:29 <truebrain> it is even quicker these days
22:04:32 <truebrain> but yeah ...
22:04:39 <truebrain> on the other hand, viruses are also getting really annoying
22:04:40 <_glx_> false positive is way better than false negative btw
22:05:12 <truebrain> anyway, talltyler , most likely it is fine; if not, it is MSVC that is infected, infecting your binary .. and if so, all hope is lost anyway
22:05:30 <truebrain> (there are great stories about what would happen if a compiler would inject a virus in binaries ... 😄 )
22:06:02 <truebrain> the reasoning I use: I just compiled this binary, so it cannot possibly contain any virus unless I wrote it in myself
22:06:06 <_glx_> oh and some USB sticks too
22:06:12 <_glx_> from factory
22:06:57 <xarick> let me scan my system
22:07:31 <Taco> *queue csi graphics*
22:07:43 <truebrain> lol
22:08:18 <Taco> do viruses even exist anymore? I havent bought nortons for years
22:08:30 <truebrain> on Windows, Windows Defener is more than sufficient
22:08:34 <truebrain> no need to buy any other AV ever
22:08:41 <_glx_> yeah they do, and can be very nasty
22:08:55 <Taco> seems like all the security risk moved to linux ehehehehe
22:08:57 <Eddi|zuHause> most notably you got ransomware nowadays.
22:09:02 <truebrain> but "do they exist"... /me opens news .. ransomware here, ransomware there
22:09:09 <truebrain> yeah, they do exist; a lot
22:11:19 <Eddi|zuHause> but modern antivirus is probably more like goggles in an acid flood
22:12:46 *** keikoz has quit IRC (Ping timeout: 480 seconds)
22:13:56 <truebrain> https://www.eset.com/us/business/protect-platform/ is how modern AVs work. Just to complexity alone ...
22:14:44 <truebrain> btw talltyler , if you are ever actually in doubt if your executable is bad, just upload it to https://www.virustotal.com/gui/home/upload
22:14:46 <truebrain> it will tell you
22:16:18 <truebrain> https://www.virustotal.com/gui/file/4ef745f5cb34b86a7e5d525c60b22c544c9f9da11e86698c0d12e252468084a0/detection for example is OpenTTD 13.3 .. it shows you a complete analysis of which AV found anything weird with it, but also what kind of behaviour was detected
22:16:34 <Taco> yea but the real ones making the news is x corporation got data breached, to add to the other 20 in the past 3 months
22:16:57 <Taco> and its always shit like SQL injection, exposed APIs, dumb people sending emails to people they shouldn't, etc.
22:17:12 <truebrain> after which they upload a virus, to take control of a system
22:17:14 <truebrain> 😉
22:19:06 <_jgr_> You don't even need to do that a lot of the time, if you can just phone an employee up pretending to be IT services and get them to give you their password 😛
22:22:40 <Taco> depends on the corporation and the culture
22:23:33 <Taco> although it turns out that almost every corp has a bad culture in some form
22:23:42 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain opened pull request #11916: Change: only open story-book in center when a GS does it https://github.com/OpenTTD/OpenTTD/pull/11916
22:24:00 <truebrain> that PR might leak through, just ever so slightly, what I think of windows opening in the center 😄 Your opinion might vary 😄
22:41:46 <peter1138[d]> https://cdn.discordapp.com/attachments/1008473233844097104/1201296086309011526/image.png?ex=65c94d29&is=65b6d829&hm=d29f18032bdb9a5c9c5fd4070ee9e85822d8880059b310b82d1569c778f10426&
22:41:46 <peter1138[d]> Hmm
22:43:07 <peter1138[d]> That seems to be in the wrong place. But I guess you already solved this report. Never mind.
22:43:33 <peter1138[d]> Oh right, because it would overflow, except overflowsafeint doesn't 😄
22:44:14 <truebrain> my mind-read device is a bit damaged, and I fail to understand the context you are having 😄
22:45:16 <peter1138[d]> The largest Y-label should be larger than that. But overflowsafeint is doing its thing.
22:45:45 <truebrain> ah; yup
22:45:51 <truebrain> can't have an Y-axis over INT64_MAX! 😄
22:46:35 <truebrain> well, or int128_t, but .. no
22:48:25 <truebrain> lol @ test failing ... it is not wrong
22:48:31 <truebrain> but I guess I need a cleaner way to do what I did 🙂
22:50:46 <peter1138[d]> Make flags non-const and allow them to be changed... urgh :p
22:51:04 <xarick> No threats found on my sys!
22:51:15 <peter1138[d]> (Don't do that)
22:51:30 <truebrain> haha, no
22:51:35 <truebrain> was more thinking about a function that centers a window
22:51:42 <truebrain> the code is there, just not in a function
22:57:02 *** D-HUND is now known as debdog
22:59:12 <peter1138[d]> Displaying that much money is also broken.
22:59:17 <peter1138[d]> number *= spec->rate;
22:59:48 <truebrain> reason I used credits during testing 🙂
23:01:25 <xarick> #10156 is a hot topic for me personally
23:02:01 <xarick> oh, I see you made it a discussion
23:02:26 <truebrain> peter1138[d]: I basically reasoned: as long as things are visible and not completely broken, I am fine with it. No reasonable game ever has so much money, so ... yeah.
23:08:24 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler commented on issue #9056: missing scrollbar on infrastructure window https://github.com/OpenTTD/OpenTTD/issues/9056
23:08:42 <talltyler> What a frustrating bug, that's twice now that I've attempted to fix it and gotten stuck on something silly
23:09:09 <talltyler> And I really don't care -- if you have that many railtypes, your GRF is not meant for humans to use
23:09:12 <truebrain> I just stopped looking at the bug after that one reply 😛
23:10:43 <talltyler> Let's do something more productive. Title game announcement time!
23:11:00 <_jgr_> TallTylerviaGitHub: It's probably been changed in more recent commits when merging stuff from vanilla
23:12:02 <_jgr_> I can perhaps take a look at it later this week
23:17:17 <truebrain> talltyler: or or or, review some PRs! 😛
23:17:41 <truebrain> there are over 80!
23:17:47 <truebrain> of which at least 70 will make you more frustrated 😛
23:19:02 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
23:21:41 <talltyler> I've reviewed every PR that I feel qualified to, and isn't waiting on the author 🙂
23:21:59 <talltyler> https://cdn.discordapp.com/attachments/1008473233844097104/1201306208208957551/chart.png?ex=65c95697&is=65b6e197&hm=4bbd502d0ee7d8902fdb8969e65fa0b413c8370ac4e6ad0cfa275bdf7f478429&
23:21:59 <talltyler> I review a lot of PRs 😄
23:22:20 <truebrain> Ghehe
23:24:24 <truebrain> For OpenTTD for me it is 1/3rd on the most left 3
23:24:31 <truebrain> Nicely balanced
23:24:52 <truebrain> Just 1% on issues; lol
23:28:18 <xarick> how do i get those statistics?
23:28:31 <reldred> It’s your GitHub profile
23:29:31 <_glx_> https://cdn.discordapp.com/attachments/1008473233844097104/1201308104533475348/image.png?ex=65c9585b&is=65b6e35b&hm=560a4c85487463ee25f0a16df7e938910cbb0a3c4f328ed5f85964e056818430&
23:29:40 <_glx_> (vcpkg issue spotted 😉 )
23:30:25 <xarick> nice stuff
23:30:29 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1201308348864282655/image.png?ex=65c95895&is=65b6e395&hm=81e9cfdc692e6ef9998967df56d985d35c82dcfdd75352eb75457ed4b75c1674&
23:33:44 <locosage> https://cdn.discordapp.com/attachments/1008473233844097104/1201309162752192562/Screenshot_from_2024-01-29_05-03-33.png?ex=65c95957&is=65b6e457&hm=0810f22546d40dd1ff48983bb40f48ade8151602355026d839ede55ba0c7c2a3&
23:33:44 <locosage> xD
23:35:46 <_glx_> most in your fork ?
23:36:03 <_glx_> oh and grf-py I guess
23:36:58 <locosage> my projects in general
23:37:08 <locosage> 104 commits in bonkygfx alone
23:37:10 <locosage> in two months
23:38:37 <DorpsGek> [OpenTTD/OpenTTD] PeterN closed pull request #10726: Fix: Moving cargo definition slots prevents normal town/industry behaviour. https://github.com/OpenTTD/OpenTTD/pull/10726
23:38:40 <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #10726: Fix: Moving cargo definition slots prevents normal town/industry behaviour. https://github.com/OpenTTD/OpenTTD/pull/10726#issuecomment-1913761299
23:39:41 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1201310661444116520/image.png?ex=65c95abc&is=65b6e5bc&hm=f30b1f2423f53edc758b3661b4dbc72186c0b11b87897b161f9abbf82b7b690e&
23:39:41 <xarick> peter1138[d]: what is this fix about <https://github.com/OpenTTD/OpenTTD/pull/11423>
23:40:52 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1201310962037301298/image.png?ex=65c95b04&is=65b6e604&hm=f351f79d624775378e529e6ab8ed3603f3e4c9791b8f66808f17970ee52714e4&
23:40:53 <xarick> I had something else in mind...
23:41:00 <xarick> top left
23:41:39 <peter1138[d]> Try it if you must.
23:43:28 <xarick> what's the FILE LINE for, do I keep that?
23:43:47 <peter1138[d]> They identify the file and line of the definition.
23:49:17 <xarick> CompanyID == Owner ?
23:49:41 <xarick> (CompanyID)OWNER_DEITY is this cast really required