IRC logs for #openttd on OFTC at 2024-03-01
โด go to previous day
00:42:36 *** HerzogDeXtEr has quit IRC (Read error: Connection reset by peer)
00:48:32 *** Tirili has quit IRC (Remote host closed the connection)
00:50:31 *** Leopold_ has quit IRC (Remote host closed the connection)
00:51:17 *** Leopold_ has joined #openttd
00:56:51 *** Leopold_ has quit IRC (Remote host closed the connection)
00:57:56 *** Leopold has joined #openttd
01:10:38 <talltyler> andythenorth: Actually, forget the GRF flag, because then it would always randomize even if you buy a specific one. Instead, each vehicle could get a flag if it was purchased randomly, and then continue to be randomized when cloned or autoreplaced.
01:12:07 <talltyler> Which is even easier since it doesnโt involve adding to GRF spec ๐
01:12:47 <peter1138> 2 files changed, 42 insertions(+), 42 deletions(-)
01:12:51 <peter1138> How have I done that? ๐
02:06:27 <_glx_> (and it's a WIP version which handles simpleton's)
02:51:11 *** Leopold has quit IRC (Remote host closed the connection)
02:52:31 *** Leopold_ has joined #openttd
03:25:24 *** Wormnest has quit IRC (Quit: Leaving)
03:51:49 *** debdog has quit IRC (Ping timeout: 480 seconds)
03:54:04 *** gnu_jj_ has joined #openttd
03:54:33 *** D-HUND is now known as debdog
03:57:11 *** gnu_jj has quit IRC (Ping timeout: 480 seconds)
04:49:21 *** Leopold_ has quit IRC (Read error: Connection reset by peer)
04:49:45 *** Leopold_ has joined #openttd
05:06:37 *** Flygon has quit IRC (Quit: A toaster's basically a soldering iron designed to toast bread)
05:36:33 *** Leopold_ has quit IRC (Remote host closed the connection)
05:37:48 *** Leopold_ has joined #openttd
05:53:22 *** Leopold_ has quit IRC (Remote host closed the connection)
05:53:30 *** Leopold_ has joined #openttd
06:15:22 *** keikoz has quit IRC (Ping timeout: 480 seconds)
06:25:20 *** Leopold_ has quit IRC (Remote host closed the connection)
06:26:34 *** Leopold has joined #openttd
06:36:25 *** Leopold has quit IRC (Remote host closed the connection)
06:37:32 *** Leopold has joined #openttd
06:42:39 <LordAro> i quite like the look of zorg's mockups in #12197 tbh
06:43:07 <LordAro> no idea if it's feasible to overlay text like that though
06:43:21 <LordAro> and it'd need some new icons which is always a pain
06:48:58 <andythenorth> we overlay signs elsewhere with no background (town names)
06:49:23 <andythenorth> and there will be edge cases, mockups of this kind tend to present things in the best light
07:14:56 <truebrain> I wonder if it would kooks better with a solid background. Without it there will be many instances the information will be hard to read, which the red text already shows
07:22:56 <andythenorth> the window doesn't waste much space on anything currently eh
07:23:12 <andythenorth> the extra 'pin' icon always puzzles me, but I'm sure there's a reason
07:23:37 <truebrain> Where is the second one? ๐
07:23:41 <andythenorth> bottom right, greyed out
07:23:50 <andythenorth> it gets enabled in some context I forget
07:23:59 <truebrain> That isn't a pin icon ๐
07:24:10 <truebrain> Top right is pinning! ๐
07:24:29 <truebrain> But now I found the icon you meant ๐
07:24:58 <andythenorth> the one that should be an eye, but none us could draw it well ๐
07:25:02 <truebrain> I assume that one is about the destination ๐
08:05:36 *** Ox7C5 has quit IRC (Ping timeout: 480 seconds)
08:11:41 *** Ox7C5_ has quit IRC (Ping timeout: 480 seconds)
08:27:34 <locosage> LordAro: it is possible to do overlays even though it's less efficient as you'll need to redraw stuff underneath
08:27:44 <locosage> and, no, with solid background it will look awful
08:31:34 <LordAro> locosage: given it's already a viewport that's getting redrawn anyway, does make that much difference?
08:32:31 <locosage> it does make some as corner are usually moved, not redrawn
08:36:00 <locosage> hm, I just noticed rail reservation redraws quite a large chunk of screen, wonder if that can be optimized
08:45:30 <peter1138> Yes, turn off rail reservation ๐
08:48:19 <peter1138> > 9 files changed, 157 insertions(+), 158 deletions(-)
08:48:28 <peter1138> This deduplication effort is not going well ;D
08:57:56 <truebrain> peter1138: well, still -1 line ๐
09:10:03 <truebrain> Is this an improvement?
09:11:43 <LordAro> no need for #38 now :p
09:11:52 <andythenorth> what changed in signals?
09:11:56 <andythenorth> something bad apparently
09:11:56 <LordAro> but yes, an improvement
09:12:14 <truebrain> `We received surveys for a total of 477655 hours of games played, over a total of 723 games. This is an average of 660.66 hours per game. ` .. that feels wrong ๐ Let's check why it says that
09:12:41 <truebrain> LordAro: Ghehe, yeah, #38 is not implied ๐ It could still say it in the listing, but .. yeah ๐
09:13:00 <LordAro> more seriously, i didn't have an issue with listing the hidden versions (if nothing else it might be worth noting that someone's still using it)
09:13:12 <LordAro> also there's no obvious definition of what "enough" survey results is
09:13:17 <_jgr_> truebrain: It's likely the switch time bug you already fixed
09:13:37 <truebrain> _jgr_: but I ignore those results ... or maybe because of an early crash? As that I fixed more recent, ofc ..
09:14:22 <truebrain> LordAro: what value does it have to the reader to know what is "enough" anyway? Not something they can influence. And it is in the code. So I was like .. let's not duplicate that information, with a high chance of it getting in a disconnect-mode ๐
09:15:08 <LordAro> it's not especially "transparent" to hide details like that away in the code
09:15:12 <truebrain> and the reason to hide versions is more with the look on the future .. if this would have been active with 1.0, we would have an entry for every version, beta, RC, etc .. does that still add value?
09:15:52 <LordAro> i guess not, but i'd argue it's still interesting
09:16:07 <truebrain> for you; maybe. For most people visiting the survey result website, I doubt that
09:16:13 <LordAro> just `14.0-beta2 (5 results)` etc
09:16:30 <LordAro> could hide it behind a summary/details block :p
09:16:36 <truebrain> for the same reason I collapse "vanilla-master", as the list was getting VERY long
09:18:40 <truebrain> `'seconds': 1708461831` .. yeah, that is a unix timestamp ๐
09:18:59 <truebrain> `'reason': 'leave'`
09:19:40 <truebrain> owh, wait, I ignore those results ... hmm
09:22:09 <truebrain> ah, no, I do not ignore that result ... so how did that happen ... interesting ...
09:22:44 <peter1138> andythenorth: cycle range changed
09:23:56 <peter1138> truebrain: Does splitting by version (other than vanilla, jgrpp, cmclient) have any value either?
09:24:22 <truebrain> the page (bandwidth-wise) was getting rather large
09:24:26 <truebrain> so load-times were a bit annoying
09:24:33 <truebrain> or what do you mean?
09:24:47 <ahyangyi> Perhaps splitting major version has more value than splitting minor versions?
09:24:54 <peter1138> I mean don't even count them separately. vanilla is vanilla, not 14.0-beta3 or 14.0-RC1
09:25:09 <truebrain> ah; that was an explicit request, as vanilla-master might have different settings over 14.0
09:25:15 <truebrain> so people were like: owh no, we should split them
09:25:47 <merni> also, the nerds who play nightlies might have different settings from 'normal' players
09:26:04 <LordAro> with that argument, why do we publish survey results from any version other than the latest?
09:26:18 <truebrain> because there is no concept of "latest" in the survey processor
09:26:39 <peter1138> Because then you lose history unless we stop making new releases.
09:27:12 <peter1138> I guess part of the problem is they're weekly at the moment. When it is switched to quarterly there's be a lot less pages.
09:27:41 <merni> is that going to happen?
09:27:57 <truebrain> _jgr_: so I actually have a survey result of a user just leaving the game, with this abnormal timestamp .. the game was clearly active, as I see a lot of infrastructure (as in, it wasn't the main menu) .. clearly there is still a flow that can lead to this. I will investigate later ๐
09:30:23 <_jgr_> truebrain: jgrpp-0.57.1 pre-dates the fixes for that
09:30:43 <truebrain> well, we only fixed the network-client bug
09:31:03 <truebrain> but this shows there is still a flow into a game without setting the "you start the game now" variable ๐
09:33:43 *** Leopold has joined #openttd
09:36:42 <xarick> I hibernate openttd, could this screw results?
09:37:08 <xarick> or maybe it was a loaded savegame?
09:37:36 <LordAro> my first thought was via `-g` or similar
09:38:27 <peter1138> Mouse cursor still moves but no keyboard response.
09:38:27 <_jgr_> Either way It should be fixed by #12184
09:38:48 <LordAro> i'm pretty sure it's true that hibernating/sleeping the computer would screw with play time
09:39:26 <LordAro> i guess the idea is that the number of those should be small enough to not affect the results too much
09:51:55 *** Leopold has quit IRC (Remote host closed the connection)
09:52:38 *** Leopold has joined #openttd
09:53:22 <truebrain> _jgr_: no, #12184 would hide this issue ๐ As that only ensures the values are not weirdly huge
09:53:55 <truebrain> as this survey shows you can enter a game without it being set to the start of the game
09:54:02 <truebrain> we just have too many flows to get in a game, tbh ๐
09:58:00 <truebrain> let's at least make sure it doesn't have this big of an impact
09:59:52 <truebrain> LordAro: `-g` isn't the cause at least; had to double-check ๐
10:16:55 <truebrain> _jgr_: this is a network game that is reported wrongly ๐ So it is indeed fixed, but the bug is that it says it isn't a network game, while it is ๐
10:17:16 <truebrain> but there are several flows where `_networking` is set to `false` before the survey is transmitted
10:19:17 <truebrain> `ClientError` being the most noticable there
10:43:27 <peter1138> Hmm, weather looking bad for tomorrow.
10:46:16 <truebrain> hmm ... so I am ignoring survey results related to network-client atm, as pre 14.0-RC1 is broken. But .. when am I going to count them again ๐ I am trying really hard not to do any version analysis in the survey analyzer, as that is just annoying to maintain
10:51:02 *** Leopold has quit IRC (Remote host closed the connection)
10:52:12 *** Leopold_ has joined #openttd
11:00:40 <xarick> let's try an assert(src_tile == v->tile);
11:02:40 <truebrain> there; think that is the most clean way to resolve this ๐
11:03:07 <LordAro> truebrain: i like it :)
11:03:37 <truebrain> LordAro: also the description? "transparent" enough for you? ๐
11:03:48 <LordAro> imo it's still lacking specifics about what "sufficient" is - add a "(more than x results)" or whatever it is ?
11:04:14 <peter1138> Everything I clicked on cropped that message.
11:05:14 <truebrain> LordAro: again, mentioning all those details everywhere isn't really helping anyone. And it is also not a single thing it is based on. There is being transparent, and being overly detailed .. in my opinion, this is rather transparent, that there were entries, they were just not sufficient
11:06:34 <LordAro> but in which case, just drop the section entirely
11:07:39 <LordAro> as it is currently in #40 i just find it vague and irrelevant
11:07:45 <LordAro> it either needs the detail or not be there at all
11:07:50 <truebrain> I had it removed, and you didn't like that either ๐
11:07:52 <LordAro> so we are, sort of, in agreement :)
11:08:11 <LordAro> maybe i just needed to see it :p
11:08:19 <truebrain> .... next time you can do that in your own time ๐
11:09:32 <LordAro> ooh, bug in the version page titles - "14.0 Rc1"
11:10:08 <LordAro> (the actual <title> that is)
11:10:36 <truebrain> ugh, Jekyll for you
11:24:47 <truebrain> LordAro: anyway, how ever I slice it, I do need to mention something on that page, as otherwise people will keep asking "why isn't NNN there" ๐
11:27:42 <xarick> peter1138: #12192 could be further cleaned! I am 99.99% sure that calculation for `src_tile` isn't required. ChooseShipTrack is called upon entering `tile`, and looking further back to the caller, it can be deduced that `v->tile` matches `src_tile`. With that said, and combined with your changes, `enterdir` can also be removed, as it's not used anywhere else!
11:37:43 <xarick> further cleanings! `CreateRandomPath` and `GetRandomFollowUpTrackdir`is being fed `src_tile` as it's 2nd parameter. This could be eliminated, as `v` is also being passed to it. Just use `v->tile` in those functions.
11:50:38 *** Leopold_ has quit IRC (Remote host closed the connection)
11:51:53 *** Leopold_ has joined #openttd
11:55:15 <peter1138> Hmm, tinned food with BBE 2022. Probably out to bin that.
11:57:59 <peter1138> And, indeed, ought.
12:01:15 <xarick> not getting any asserts so far
12:34:39 <truebrain> First day of the month, so many mails from dependabot ๐
12:57:07 *** Leopold_ has quit IRC (Remote host closed the connection)
12:57:55 <orudge> It sounds like Microsoft will give us access to the Azure code signing thing, which is nice
12:58:13 *** Leopold_ has joined #openttd
12:58:32 <truebrain> what will be the cost?
12:58:53 <orudge> I don't know yet, ImageMagick's post about it suggests that it's free at the moment
13:00:17 <peter1138> Avoid extortion, don't sign...
13:00:29 <truebrain> does mean we will change certificate provider, meaning we will need to build up trust again; but that will be fine I guess ๐
13:00:43 <orudge> peter1138: And then everyone complains "I can't download OpenTTD, it's blocked" :(
13:00:44 <truebrain> at least signing can be done via GitHub Workflow
13:01:02 <orudge> truebrain: potentially yes, though given it'll be signed by Microsoft somewhat directly, who knows how it'll be handled
13:01:22 <truebrain> and nice it was documented this well what the steps were
13:02:23 <orudge> Given you can pay Apple $99/year or whatever it is for a developer account which includes a code signing certificate, it surprises me a little that Microsoft haven't yet done something similar. Maybe this will be their answer to it I guess.
13:02:35 <orudge> Or maybe they're in the pocket of Big SSL.
13:03:00 <orudge> (of course, with Apple, you can *only* use their certificate if you want macOS to accept it...)
13:03:00 <truebrain> did you actually name the Azure Subscription "Azure subscription 1"? ๐
13:03:23 <orudge> when it switched it to PAYG
13:03:41 <truebrain> did not know Azure offered anything else
13:04:31 <orudge> I'm not too sure either, but didn't want to suddenly get a charge for $XYZ after a month
13:06:16 <truebrain> owh, right, all repos need a bumpybump .. ugh ..
13:06:36 *** ufo-piloot_ has quit IRC (Ping timeout: 480 seconds)
13:10:32 <_glx_> Ah not all had dependabot
13:11:02 <truebrain> the commit message isn't accurate; but I am too lazy to change it, and it is already in too many other repos ๐
13:16:14 <truebrain> I think that is all
13:16:52 <LordAro> would perhaps it make sense to do the workflow updates slightly offset, so that the updated workflows are already done?
13:17:26 <truebrain> wouldn't know how to offset, and given they are already in 50% of our repos like this, it is what it is ๐
13:22:21 *** Leopold_ has quit IRC (Remote host closed the connection)
13:23:25 *** Leopold_ has joined #openttd
13:32:20 <truebrain> okay .. fixt all repositories, except for the wiki .. there the e2e tests all of a sudden fail .. let's dive in!
13:32:50 <truebrain> always curious, if something fails without it being changed
13:33:47 <peter1138> If you already have a repo call SamuXarick/OpenTTD that's going to be awkward.
13:33:50 <peter1138> But. It's the same.
13:34:06 <peter1138> So you don't need to fork it.
13:34:46 <xarick> so many difficult questions
13:35:19 <peter1138> Sounds like your UI is making it more complex than it needs.
13:48:03 <xarick> i fail at this cross fork stuff
13:54:40 <xarick> ok, I sent a PR to peter
13:55:25 <xarick> I can't add commits to open PR's in OpenTTD
13:57:39 <LordAro> that is how git is "supposed" to work
13:58:01 <LordAro> it's not exactly intended workflow for github, but it's a way of doing it
13:58:58 <truebrain> can't find any documentation about it, but seems playwright "fixed" a bug with wait_for_url, that causes my tests to fail ๐
14:10:46 <truebrain> upgrading dibridge; we will be right back! (on IRC)
14:13:18 *** DorpsGek has joined #openttd
14:13:18 *** ChanServ sets mode: +o DorpsGek
14:13:28 *** georgevb has quit IRC (Remote host closed the connection)
14:13:28 *** j_n has quit IRC (Remote host closed the connection)
14:13:28 *** _zephyris has quit IRC (Remote host closed the connection)
14:13:28 *** tony_pixel has quit IRC (Remote host closed the connection)
14:13:28 *** klote[d] has quit IRC (Remote host closed the connection)
14:13:28 *** chucky76 has quit IRC (Remote host closed the connection)
14:13:28 *** ajmiles has quit IRC (Remote host closed the connection)
14:13:28 *** sinas128 has quit IRC (Remote host closed the connection)
14:13:28 *** janciothor has quit IRC (Remote host closed the connection)
14:13:28 *** gwyd4016 has quit IRC (Remote host closed the connection)
14:13:28 *** _glados_ has quit IRC (Remote host closed the connection)
14:13:28 *** brickblock19280 has quit IRC (Remote host closed the connection)
14:13:28 *** nanapipirara has quit IRC (Remote host closed the connection)
14:13:28 *** kamnet has quit IRC (Remote host closed the connection)
14:13:28 *** andythenorth has quit IRC (Remote host closed the connection)
14:13:28 *** _jgr_ has quit IRC (Remote host closed the connection)
14:13:28 *** wensimehrp has quit IRC (Remote host closed the connection)
14:13:28 *** jfs has quit IRC (Remote host closed the connection)
14:13:28 *** johnfranklin has quit IRC (Remote host closed the connection)
14:13:28 *** necroprimata has quit IRC (Remote host closed the connection)
14:13:28 *** frosch123 has quit IRC (Remote host closed the connection)
14:13:28 *** alfagamma7 has quit IRC (Remote host closed the connection)
14:13:28 *** merni has quit IRC (Remote host closed the connection)
14:13:28 *** xarothbrook has quit IRC (Remote host closed the connection)
14:13:28 *** michi_cc[d] has quit IRC (Remote host closed the connection)
14:13:28 *** xarick has quit IRC (Remote host closed the connection)
14:13:28 *** j0anjosep has quit IRC (Remote host closed the connection)
14:13:28 *** talltyler has quit IRC (Remote host closed the connection)
14:13:28 *** rau117 has quit IRC (Remote host closed the connection)
14:13:28 *** belajalilija has quit IRC (Remote host closed the connection)
14:13:28 *** locosage has quit IRC (Remote host closed the connection)
14:13:28 *** truebrain has quit IRC (Remote host closed the connection)
14:13:28 *** emperorjake has quit IRC (Remote host closed the connection)
14:13:28 *** reldred has quit IRC (Remote host closed the connection)
14:13:28 *** peter1138 has quit IRC (Remote host closed the connection)
14:13:28 *** _glx_ has quit IRC (Remote host closed the connection)
14:13:28 *** DorpsGek_vi has quit IRC (Remote host closed the connection)
14:13:28 *** ahyangyi has quit IRC (Remote host closed the connection)
14:13:28 *** khanterwinters has quit IRC (Remote host closed the connection)
14:13:28 *** _rei4122 has quit IRC (Remote host closed the connection)
14:13:28 *** kuhnovic has quit IRC (Remote host closed the connection)
14:13:38 *** DorpsGek_vi has joined #openttd
14:15:35 *** truebrain has joined #openttd
14:15:35 <truebrain> right ... most things are up-to-date again, and no longer failing CI etc ๐ How lovely
14:20:05 <truebrain> the bananas-api upgrade PR is a bit in a limbo state ... dependabot keeps claiming it is still rebasing it, but nothing is really happening ๐
14:38:37 <_glx_> Exception levรฉe ร 0x00007FF9BC3F5B0C dans openttd.exeย : exception Microsoft C++ย : fmt::v10::format_error ร l'emplacement de mรฉmoire 0x00000042161FD3E8.
14:38:37 <_glx_> Exception levรฉe ร 0x00007FF9BC3F5B0C dans openttd.exeย : exception Microsoft C++ย : [rethrow] ร l'emplacement de mรฉmoire 0x0000000000000000.
14:38:37 <_glx_> Exception levรฉe ร 0x00007FF9BC3F5B0C dans openttd.exeย : exception Microsoft C++ย : fmt::v10::format_error ร l'emplacement de mรฉmoire 0x00000042161FD3E8.
14:38:37 <_glx_> Exception levรฉe ร 0x00007FF9BC3F5B0C dans openttd.exeย : exception Microsoft C++ย : [rethrow] ร l'emplacement de mรฉmoire 0x0000000000000000.
14:38:37 <_glx_> Exception levรฉe ร 0x00007FF9BC3F5B0C dans openttd.exeย : exception Microsoft C++ย : fmt::v10::format_error ร l'emplacement de mรฉmoire 0x00000042161FD3E8.
14:38:39 <_glx_> clientcore\windows\advcore\ctf\uim\tim.cpp(800)\MSCTF.dll!00007FF9BDD465D9: (caller: 00007FF9BDD4720C) LogHr(3) tid(89ec) 8007029C Un รฉchec dโassertion sโest produit.
14:38:39 <_glx_> clientcore\windows\advcore\ctf\uim\tim.cpp(800)\MSCTF.dll!00007FF9BDD465D9: (caller: 00007FF9BDD4720C) LogHr(4) tid(89ec) 8007029C Un รฉchec dโassertion sโest produit.
14:38:41 <_glx_> ``` the NOT_REACHED in start thread is so annoying, I can see what could be wrong, but not where
14:39:35 <_glx_> (might be my debug expressions)
14:40:46 <truebrain> remove the NOT_REACHED, and let the exception just happen! ๐
14:42:11 <truebrain> but at least you know it is fmt that is throwing an exception here ๐
14:43:58 <_glx_> yeah but it's used a lot, I partially know the area as I'm doing GS string tests
14:57:55 <xarick> any of these savegame statistics interest you for your testings, peter1138 ?
14:59:10 <_glx_> ok removing the try/catch I get a better view, but the dmp just point to a try/catch block in SQVM
15:00:07 <_glx_> I know it's related to GSText as that's what I'm working on ๐
15:00:52 <_glx_> but tracking exceptions in scripts is a pain
15:01:32 <_glx_> it's full of `catch (...)`
15:04:02 <_glx_> it's fine to handle our expected exceptions used to control script run, but not for real errors
15:06:46 <_glx_> hmm I think I know what is my error
15:08:28 <_glx_> yeah fmt doesn't like printing nullptr
15:09:28 *** ufo-piloot has joined #openttd
15:11:18 <truebrain> `fmt::ptr(nullptr)` ๐
15:11:22 <truebrain> it does't like printing any pointer btw
15:14:16 <_glx_> yeah but I wanted to print a const char* string ๐
15:14:51 <_glx_> at least we know the most likely cause to trigger the NOT_REACHED is fmt
15:15:24 <_glx_> as we don't fire too many exceptions, and we usually handle our own
15:16:12 <_glx_> it's just impossible to trace as soon a `catch (...)` intercepts it
15:29:47 <_jgr_> _glx_: You could replace those with a `catch (std::exception &ex)`
15:30:33 <_jgr_> Then feed ex.what into FatalErrorI or whatever
15:41:59 <_glx_> but that won't help to know where it was thrown
15:51:51 <_glx_> yeah a little more informative than NOT_REACHED
15:52:36 <_glx_> still impossible to trace, but at least it gives some details
15:58:02 *** nielsm has quit IRC (Ping timeout: 480 seconds)
15:58:48 *** ebla71 has quit IRC (Remote host closed the connection)
16:03:21 <truebrain> Not a way to retrieve the file and linenumber of an exception?
16:06:36 <_jgr_> You can subclass std::exception to add stuff like that but it doesn't capture anything along those lines out of the box
16:36:36 <xarick> I created a commit on a detached head... ๐ฆ
16:37:21 <xarick> I don't want to lose it
16:37:28 <LordAro> git checkout -b my-branch-name
16:38:32 <xarick> hmm which branch should I use?
16:39:06 <LordAro> the above command creates a branch
16:51:20 *** Wormnest has joined #openttd
17:12:56 *** ahyangyi has joined #openttd
17:13:04 <ahyangyi> I don't use jgrpp-0.57.1
17:13:14 <ahyangyi> I use jgrpp-0.57.1-H5E83286A
17:13:54 <ahyangyi> Where would my statistics go
17:14:33 <_jgr_> They won't go anywhere without a survey key compiled into your build
17:15:12 <xarick> ```for (const TileIndex &tile : ta) {
17:15:12 <xarick> for (const TileIndex tile : ta) {
17:15:12 <xarick> for (TileIndex tile : ta) {
17:15:12 <xarick> for (TileIndex &tile : ta) {```
17:15:12 <xarick> which one should I use? ta is a TileArea
17:15:47 <xarick> oh, the last one doesn'twork
17:16:01 <_glx_> you don't expect to modify the tile, and you don't want a copy
17:17:05 <_glx_> yes always use const references where possible
17:17:17 <xarick> gonna const everything from now on
17:17:34 <xarick> ah, references is the & symbol right?
17:18:12 <LordAro> *except for basic types like int and bool and things
17:18:22 <LordAro> just going to get ahead of the inevitable there
17:18:41 <xarick> const TileArea &ta = st->docking_station;
17:20:16 *** kuhnovic has joined #openttd
17:20:16 <kuhnovic> And be very careful with accidential copies. They can be hard to spot if you're not used to taking them into account. They can cause a performance hit, or worse: you end up modifying a copy instead of the original, and then you wonder why the damn thing doesn't work
17:20:45 <_glx_> you're not supposed to modify a const ๐
17:20:48 <kuhnovic> It's a rite of passage of becoming a C++ developer ๐
17:21:31 <_glx_> but yeah references are less explicit than pointers
17:21:35 <kuhnovic> _glx_: I wasn't talking about const here ๐
17:22:02 <_glx_> so it's easy to make a copy when you actually wanted a reference
17:22:08 <kuhnovic> We'll have that conversation when we see him pull out the good old const_cast sledgehammer
17:23:59 <_glx_> `type a = b; a.field = x;` is not the same as `type &a = b; a.field = x;`
17:25:30 <_glx_> second does like `type *a = &b; a->field = x;`
17:34:25 *** peter1138 has joined #openttd
17:34:25 <peter1138> LordAro: And TileIndex...
17:36:41 *** locosage has joined #openttd
17:36:41 <locosage> _jgr_: iirc technically they'll still go to survey server but then will be discarded
17:38:28 <_jgr_> I turned off sending them at all if there's no survey key
17:40:46 <xarick> error C2338: static_assert failed: 'The C++ Standard forbids containers of const elements because allocator<const T> is ill-formed.'
17:43:45 <kuhnovic> Items in std containers must be assignable, and you can't assign to something that's const
17:45:35 <locosage> _jgr_: ah, I was thinking vanilla
17:56:33 <merni> Also, why retain the function as an alias instead of just using the standard function>
17:57:25 <LordAro> well because you'd have to do round(sqrt(x)) every time
17:57:29 <LordAro> which would get irritating
18:06:29 *** frosch123 has joined #openttd
18:07:47 <LordAro> looks like it's only used for infrastructure costs
18:07:51 <_glx_> and we rely on int being 32bit everywhere ๐
18:08:32 <_glx_> but there's a static assert somewhere about that IIRC
18:08:47 <_jgr_> _glx_: Changing the size of int would break so many projects that's all but ossified into stone now
18:09:16 <LordAro> unless you're in the embedded world
18:09:26 <LordAro> and of course `long` is completely up in the air
18:32:56 <xarick> so bad at doing commits...
18:33:05 <xarick> i end up squashing everything
18:35:41 <DorpsGek> - Update: Translations from eints (by translators)
18:35:56 <xarick> of course... conflicts I hate this
18:44:32 <xarick> i get so confused with these merges, I have no idea what's happening
19:03:26 *** siciuvatiresubumbras has joined #openttd
19:03:26 <siciuvatiresubumbras> OpenTTD does enforced linear history it seems so your best option is to `git rebase` on top of `master` every so often
19:38:55 <xarick> this is what happens: I do some work on feature A, I commit, then I think of some other feature B, related to A, and I commit again. Later, I remember I could do feature A better, and I have no idea how to commit in-between the 2 commits...
19:39:15 <xarick> then I get a mess of conflicts to solve when I try to
19:40:39 <xarick> I rather just squash everything than be bothered with it
19:45:39 *** HerzogDeXtEr has joined #openttd
19:50:34 *** andythenorth has joined #openttd
19:53:33 <andythenorth> pff my reddit log in isn't working any more
19:55:56 <andythenorth> someone is wrong though
19:56:04 <frosch123> lol, someone asked on reddit for a train set with fewer vehicles, and the top recommendation is nuts?
19:56:20 <frosch123> is nuts considered a small trainset these days?
19:59:00 <andythenorth> frosch123: I think I moved the bar ๐
20:00:26 <_glx_> xarick: It's not hard to do, you commit your changes improving A, then you rebase interactively and move the commit where it belongs.You can also integrate (fixup) it in A.
20:04:25 <truebrain> lol, the "select upgrade" button only shows when something in the filter can be upgraded, but selects all "to upgrade" items when it does
20:04:45 <truebrain> when ever that filter got added, some things were missed ๐
20:05:00 <truebrain> same with "unselect all", haha
20:06:55 <andythenorth> oof so tired I can't grf
20:07:00 <andythenorth> reduced to playing 2048 ๐
20:07:41 <truebrain> Okay, how do we vote ... should "select upgrades" only select the entries after the filter is applied?
20:07:41 <truebrain> And how about "Download", should it only download the selected items after the filter?
20:08:01 <frosch123> it's already broken in ottd 1.2 ๐
20:08:09 <frosch123> that's the oldes binary i had around
20:09:59 <frosch123> just to throw in a 3rd option: if the filter never hides selected items, download is unambiguous
20:10:47 <truebrain> frosch123: that doesn't answer the "select upgrades" question ๐
20:11:27 <frosch123> i vote for: (c) filter does not apply to selected items. and (d) both select-upgrads and unselect-all are disabled, if any filter is active
20:12:14 <truebrain> implementation-wise I can just see how this happened .. the code was all already there, and the filter was added later, not knowing code later on assumed it saw everything
20:12:45 <truebrain> frosch123: not being able to unselect all feels a bit weird; we could make it "unselect selected" when filtering, and "unselect all" when unfiltered
20:12:57 <truebrain> "unselect current"? Something like that
20:13:13 <frosch123> hmm, actually (c) also makes unselect-all unambiguous, so (d) is reduced to disabling select-upgrades
20:13:44 <frosch123> i only have two use-cases for content download: search something and download it, or upgrade everything i already have
20:14:07 <truebrain> this user seemly tried to upgrade based on a filter, which is not a usecase I find logic ๐
20:14:09 <frosch123> i have no idea why i would want to filter and mix selecting/unselecting or partial upgrades
20:14:39 <frosch123> maybe they want to save bandwidth
20:14:57 <frosch123> only upgrade ais, do not upgrade newgrf
20:15:14 <truebrain> hmm, there are two filters in that window ... where is that second one ...
20:15:23 <frosch123> maybe they do not know about the "show old newgrf versions", and hate some upgrade hiding their favorite spacebar heating version
20:15:51 <frosch123> the content window can opened in different places
20:16:05 <frosch123> sometimes it is filtered for specific contentids, sometimes for contenttypes
20:16:26 <truebrain> as the other filter already keeps all selected entries
20:16:35 <frosch123> main menu > play heightmap > online content
20:16:46 <frosch123> only shows heightmaps
20:17:56 <frosch123> same exists for newgrf, scenarios, ais and gs
20:18:04 <frosch123> only basesets are left out
20:18:29 <truebrain> pfff, worthless things anyway
20:18:33 <truebrain> only hog up the connection
20:18:55 <peter1138> Just remove [az]base did you say?
20:19:04 <truebrain> ghehe, with your (c) it finally becomes possible to see all selected for upgrades ๐
20:19:13 <truebrain> by just entering nonsense in the filter ๐
20:19:39 <frosch123> haha, good point, that also annoyed me
20:19:45 <frosch123> you can sort by the check-state
20:19:51 <frosch123> but the selected ones are in the middle
20:19:52 <truebrain> not sure this is a proper solution for that, but .. who cares ๐
20:21:41 <rau117> truebrain: *at least for me it seems logical that the โselect updatesโ button (should) only work on filtered resources*
20:21:41 <rau117> how about changing name of the button to โselect updates by filterโ (well, and "unselect filtered"), when there is at least something in search field?
20:26:13 <truebrain> hmm ... when you select something, I should rebuild the list now, as there might be a dependency it added
20:26:18 *** Leopold_ has quit IRC (Remote host closed the connection)
20:27:14 <truebrain> first need to find content that does that ๐
20:27:43 *** Leopold_ has joined #openttd
20:28:39 <andythenorth> seriously though, when the main contributor votes to remove alphabetBase?
20:29:06 <truebrain> if that being the case, shouldn't that contributor do so? ๐
20:29:23 <andythenorth> do we allow deleting yet? ๐
20:29:40 <truebrain> deleting: no. Removing from listing: yes, upon request.
20:32:02 <rau117> truebrain: Display dependencies with a small space and automatically mark them?
20:32:03 <truebrain> frosch123: something like this should work ๐
20:32:37 <truebrain> rau117: PRs are welcome.
20:33:23 <peter1138> rau117: That assumes dependencies are a tree... and they're not.
20:35:10 <rau117> TrueBrainviaGitHub: But in this case, it will be completely impossible to understand which of the filtered contents have updates - either update everything at once, or first select everything, then filter.
20:35:10 <rau117> It will work a little more logically, but itโs very difficult to call it โplayer-friendlyโ
20:35:47 <rau117> rau117: ah... even this way it wonโt work, since all selected content is displayed completely
20:35:55 <frosch123> darn, i am so triggered by potential micro optimisations :p
20:36:06 <truebrain> frosch123: do tell ๐
20:36:14 <frosch123> doing an expensive string filter test, when the selection state will overrule it later
20:37:15 <truebrain> frosch123: mostly I know this solution is safe; I am not sure what these `ResetState` etc have as side-effects ๐
20:37:53 <frosch123> ah, yeah, the string filter is not very RAII ๐
20:38:17 <truebrain> it is very anti-OOP even ๐ Acting like it is a local thing .... it isn't!
20:38:17 <frosch123> the usage is (1) ResetFilter (2) zero or more AddLine (3) GetState
20:38:21 <truebrain> NOT THREAD SAFE etc etc ๐
20:38:30 <frosch123> you can put the state filter before the resetstate just fine
20:39:32 <truebrain> the upgrade system is still very weird
20:40:36 <frosch123> yeah, content depending on explicit versions already resulted in selecting multiple versions of libs
20:40:59 <truebrain> who knows, one day someone comes by to fix that GUI to be useful etc ๐
20:43:34 <rau117> Another idea: draw some icon (for example from autorenew) if there is an update
20:43:34 <rau117> *sorry, but all I can do is throwing dubious ideas; I'm still far from real coding now...*
20:44:12 <truebrain> we do not lack ideas and suggestions; but the first task is to find someone that is willing to work on it
20:46:29 <truebrain> `return (previous_order->GetDepotActionType() & ODATFB_UNBUNCH);` I always forget, do we allow this, or do we want the ` != 0` behind it?
20:46:51 *** talltyler has joined #openttd
20:47:03 <frosch123> our style requires ` != 0`
20:47:12 <peter1138> Sometimes we forget.
20:47:22 <frosch123> but it's not my personal style, so I forget it often, and maybe also others ๐
20:47:49 <truebrain> it is why I ask ๐ In other projects I never do that, so there is always this faint light glowing, reminding me OpenTTD was different ๐
20:47:55 <frosch123> probably everything should be switched to std::bitset
20:48:17 <frosch123> by now ottd is very different in general
20:48:41 <truebrain> I hope I fixed it correct ๐
20:50:58 <frosch123> hmm that `cur_real_order_index - 1` looks wrong
20:51:05 <frosch123> does that work when implicit orders are present?
20:51:22 <frosch123> i am not sure, it has been so long since i looked at them
20:51:24 <truebrain> that code was already there, so I did not check ๐
20:52:52 <talltyler> frosch123: I tested with implicit orders and it seemed to work. Did _zephyris also test implicit orders?
20:53:59 *** _zephyris has joined #openttd
20:53:59 <_zephyris> I tested pretty comprehensively with implicit orders, didn't notice any issues.
20:54:46 <frosch123> i'll test, and blame you both if i find a problem then ๐
20:56:29 <_zephyris> frosch123: Fair ๐
20:59:46 <andythenorth> can I set the flip flag per spritelayer? ๐
20:59:57 <andythenorth> /me thinks not ๐
21:02:36 <truebrain> 16 merged "backport requested", 11 open .. we are good in finding / solving bugs ๐
21:07:17 <frosch123> i saved ttt from unemployment ๐
21:10:09 <truebrain> frosch123: I am kinda waiting for the "blaming" part ๐
21:11:14 <frosch123> i am lost in options, so many to blame, most but me
21:11:49 <peter1138> Ah scrollbar changes. Oops.
21:14:06 <_zephyris> frosch123: Good work ๐
21:14:46 <frosch123> tb said i failed the blaming part :p
21:17:44 <truebrain> michi_cc: : I picked you, for next week, the sausage post. Seems the daylength post is not there yet, and I don't want to pressure anyone while we have a perfectly good post ready to go ๐ And I kinda like to throw in a non-technical post in between ๐
21:19:29 <peter1138> Yay, race condition that was unnoticed before.
21:20:07 <frosch123> oh right, i considered trying some AI to generate a picture of a train-shaped cake with 20 candles
21:20:29 <frosch123> since noone is around to eat a real one
21:20:57 <talltyler> Hmm seems like my testing was ineffective ๐
21:21:31 <truebrain> and does the "not blaming" frosch123 is doing make it better or worse talltyler ? Just a random poll I am doing ๐
21:21:41 <frosch123> talltyler: there are 2 hard problems in programming: naming things, cache invalidation, and off-by-one errors
21:21:49 <frosch123> i think this falls into the latter category
21:23:29 <frosch123> oh, i did not realise NotBlaming was so on-brand
21:25:01 <frosch123> NoBla does not sound on-brand for this channel
21:26:09 <talltyler> Is it really off-by-one or is it just implicit orders being weird and misunderstood?
21:26:42 <frosch123> we have `SkipToNextRealOrderIndex` and friends, but no reverse
21:27:06 <truebrain> keep doing Skip till you are back at your own order, and use the last? ๐
21:28:05 <frosch123> `ScriptOrderPositionToRealOrderPosition` does something similar as well
21:28:58 <frosch123> i guess that's what we get for trying to keep compatibility with weird features from 1994
21:30:48 <talltyler> Thatโs a good place to look I guess, for which order list we should even look at ๐
21:33:14 <truebrain> some last minute changes to the blog-post; if someone (who understands English better than I do) mind taking a look, would be appreciated ๐
21:33:35 <peter1138> My English are surely lacking. I blame having had Covid.
21:40:42 <peter1138> I wonder if the pool iterators could be improved.
21:42:12 <peter1138> They do a lot of working with index, which probably means they do some array indexing, instead of just working with a pointer to it all.
21:42:41 <peter1138> Although using index is safer if the pool gets reallocated during the iteration.
21:43:02 *** Ox7C5 has quit IRC (Quit: Lost terminal)
21:43:38 <peter1138> The filtered iterators get passed an index so have to do `T::Get(index)`
21:44:39 <truebrain> Adding/removing items during iterating is asking for trouble in general ๐
21:44:59 <peter1138> Pretty sure we remove all the time.
21:45:16 <peter1138> Because the pool doesn't get resized it's no problem.
21:45:27 <_jgr_> The extra T::Get in filters just gets inlined away
21:49:09 <peter1138> Mainly I wanted to be able to filter with lambdas instead of the class-based system we use now ๐
21:53:45 <peter1138> Hmm, not going to work anyway. Oh well.
21:54:54 <peter1138> There is, understandably, no `size()` implemented for filtered pool iterators.
21:56:23 <_glx_> All GS that used to work in 13.4 should be fine after this
22:01:41 <_glx_> some will be very verbose in the log ๐
22:02:54 <truebrain> Now that is a proper PR description โค๏ธ
22:10:21 <truebrain> The comments feel like an AI talking ๐
22:11:46 *** Wormnest has quit IRC (Ping timeout: 480 seconds)
22:16:06 *** keikoz has quit IRC (Ping timeout: 480 seconds)
22:30:43 <_glx_> fixed the referenced PR in #12202 ๐
22:33:25 <truebrain> _glx_: #12204 you mean? ๐ Fixing the fix ๐
22:35:47 <peter1138> Yeah that commentor is, randomly appears out of nowhere, suggests things without apparently seeing full context. AI-like.
22:38:57 *** Leopold_ has quit IRC (Remote host closed the connection)
22:40:07 *** Leopold has joined #openttd
22:40:24 <truebrain> Okay, it went from okayish, to overly pedantic ๐
22:40:52 <truebrain> Should have stopped while it was ahead
22:41:56 <_glx_> painting the bikeshed ๐
22:43:11 <xarick> I'm about to create a PR, but... I'm undecided
22:47:18 *** Wormnest has joined #openttd
23:05:57 *** tokai|noir has joined #openttd
23:05:57 *** ChanServ sets mode: +v tokai|noir
23:12:51 *** tokai has quit IRC (Ping timeout: 480 seconds)
23:33:55 <_zephyris> Should've written this script a long time ago...
23:33:55 <_zephyris> OpenTTD-Mono missing 48: (ุุุุกุขุฃุคุฅุฆุงุจุฉุชุซุฌุญุฎุฏุฐุฑุฒุณุดุตุถุทุธุนุบูููููู
ูููููููููชฺค๏ปน)
23:33:57 <_zephyris> OpenTTD-Sans missing 48: (ุุุุกุขุฃุคุฅุฆุงุจุฉุชุซุฌุญุฎุฏุฐุฑุฒุณุดุตุถุทุธุนุบูููููู
ูููููููููชฺค๏ปน)
23:33:57 <_zephyris> OpenTTD-Serif missing 48: (ุุุุกุขุฃุคุฅุฆุงุจุฉุชุซุฌุญุฎุฏุฐุฑุฒุณุดุตุถุทุธุนุบูููููู
ูููููููููชฺค๏ปน)
23:33:59 <_zephyris> OpenTTD-Small missing 48: (ุุุุกุขุฃุคุฅุฆุงุจุฉุชุซุฌุญุฎุฏุฐุฑุฒุณุดุตุถุทุธุนุบูููููู
ูููููููููชฺค๏ปน)
23:34:03 <_zephyris> brazilian_portuguese
23:34:11 <_zephyris> OpenTTD-Small missing 2: (าชาซ)
23:35:11 <_zephyris> So a couple of characters were missing for `chuvash` and `serbian`. Both fixed now.
23:35:17 <_zephyris> How quickly are translations trickling in?
23:39:50 <truebrain> Based on what do you detect what is complete?
23:40:20 <_zephyris> Using Python `fontTools` to get the character codes from the TTF files
23:40:48 <truebrain> But how do you know what char codes you should support?
23:41:16 <_zephyris> Ah, scraping the OpenTTD `src\lang` directory
23:41:32 *** Wormnest has quit IRC (Ping timeout: 480 seconds)
23:43:05 <_zephyris> I think dumb = smart here ๐
23:45:31 <xarick> took 1 hour to write it!
23:47:00 <truebrain> _zephyris: Why dumb? I didn't think of it, so I think it is smart ๐ me being the average, ofc. So maybe that is dumb to you, and my smart is still your dumb .. hmm, I guess that is possible ๐
23:47:28 <xarick> commit checker didn't like it
23:47:56 <_glx_> your script just does what OpenTTD does when checking for glyphs
23:48:04 <truebrain> Everything is relative, except the speed of light. That has its own rules.
23:51:37 <xarick> "trailing whitespace invalid tab usage"
23:59:29 <_zephyris> Well, it's in the font repo now. Good for silly coding mistakes and quick checks for translation updates
continue to next day โต