IRC logs for #openttd on OFTC at 2024-02-03
โด go to previous day
01:04:43 *** gelignite has quit IRC (Quit: Stay safe!)
03:24:44 *** debdog has quit IRC (Ping timeout: 480 seconds)
03:26:11 *** Wormnest has quit IRC (Quit: Leaving)
03:27:26 *** gnu_jj_ has joined #openttd
03:30:55 *** gnu_jj has quit IRC (Ping timeout: 480 seconds)
03:32:07 *** reldred has quit IRC (Quit: User went offline on Discord a while ago)
06:23:39 *** D-HUND is now known as debdog
08:46:22 <truebrain> LordAro: #11606 is okay to merge? You didn't change your mind about the solution in the meantime or something?
08:50:49 *** gelignite has joined #openttd
08:51:54 <truebrain> it is funny if you dive into some of our console commands .. the interaction between "newgame", "restart" and "reload" is just a bit weird
08:52:01 <truebrain> not by their description, but by what they actually do ๐
09:18:50 <truebrain> this might just solve xarick 's scenarios too
09:21:24 <truebrain> it is however a bit more radical in solving what "restart" actually does ๐
09:34:34 <truebrain> ๐ฎ I tried creating a new Steam depot, and it now works! Didn't get an email about it, but complaining helps, it seems ๐
09:34:57 <truebrain> 7 hours ago they fixed it, w00p
09:36:51 <truebrain> lolz; you are not wrong, but do we need to mention that you think?
09:37:01 <truebrain> I have no issues doing that Rubidium; but before I do, checking if we should
09:37:48 <truebrain> `if you started from a new game, the game will be identical to when you started it (unless you used 'setting_newgame', of course)` ?
09:41:20 <Rubidium> I'm wondering that as well
09:45:37 <truebrain> It kinda feels like common sense .. and with that remark I added, aren't we being childish towards the user? Meh. Pedantic is pedantic, and I don't know what is wise ๐
09:45:47 <truebrain> maybe we can rewrite the sentence to avoid this
09:46:05 <truebrain> `if you started from a new game, and your newgame settings haven't changed, the game will be identical to when you started it`
09:57:57 <truebrain> hmm .. with Steam is always the question: did I make a mistake, or does this need time ...
10:01:09 <truebrain> there it is! Steam nightly now ships with Steam integration ๐
10:02:38 <truebrain> and by the looks, it should work on all platforms; time will tell ๐
10:03:23 <_zephyris> Sounds like it's been a pain to get the social integration all running, I think it's really worthwhile though
10:03:58 <truebrain> I hope so ๐ As it took many hours indeed ๐ Well, with 14.0 it is still a very empty shell, but hopefully someone now picks it up for 15.0 to make it awesome ๐
10:04:30 <_zephyris> Even the soft visibility/advertising, with no extra functionality, is valuable IMO
10:07:09 <truebrain> ugh ... need to do some Steam stuff which requires Steam emailing me. The issue? Well .... openttd.org is still running an greylister, and Steam mails get stuck in it .. so it takes at least 5 minutes, and several attempt, for me to get the email from Steam
10:07:13 <truebrain> it is annoying as .....
10:08:19 <truebrain> _zephyris: I agree; also why I went for this first. And adding on to this is now 100000 times easier ๐
10:10:12 <truebrain> 7 open tickets for 14.0, 4 of which are approved .. we are getting there! ๐
10:17:30 <truebrain> okay, finally won the battle with Steam, and I can now also publish new releases again (I had to add some security bla ๐ )
10:33:04 <truebrain> I can't paste the changelog in an online collab tool, as it exceeds 25000 characters
10:33:25 <truebrain> we are at 45000 ๐
10:33:49 <Rubidium> sounds like *way* too much for a changelog
10:34:00 <truebrain> lot of entries can be removed
10:34:19 <Rubidium> how many lines is that?
10:35:13 <truebrain> Feel free to help out remove that what isn't needed
10:36:34 <truebrain> the other tool we used, you could see what people were doing
10:36:47 <truebrain> this one doesn't seem to do that, but okay .. at least a way for others to help out ๐
10:37:47 *** reldred has joined #openttd
10:44:32 <_jgr_> There seems to be a lot of stuff which would only be of any interest to our Indeed understandable by developers
10:44:53 <truebrain> we mostly remove most of that
10:44:58 <truebrain> keep it player-facing, basically
10:45:16 <truebrain> exception there is Script and NewGRF references
10:45:24 <truebrain> (which we prefix with those tags)
10:45:42 <truebrain> but yeah, we suck at indicating what kind of title should go in the changelog when making PRs .. so this is always a very annoying job to do ๐
10:46:15 <truebrain> also what LordAro mostly does, is rewording things a lot to be more .. understandable by our end-user ๐
10:47:13 <_jgr_> If an internal change fixes a crash or visible bug, I'd be inclined to rephrase it in terms of that, otherwise its likely not worth mentioning at all
10:47:36 <truebrain> this list btw is already heavily pruned
10:47:44 <truebrain> I removed for example any commit that fixes a commit in this release
10:48:45 <_jgr_> I see the list is getting shorter as I'm reading it ๐
10:49:01 <truebrain> "Fix: Ensure MD5Hash is initialized (#10876)" .. like .. yeah ... not useful for anyone ๐
10:52:33 <truebrain> what is always funny to me with this kind of pruning, that things I am like: that sounds interesting, the next one is like: nah
10:52:35 <truebrain> and that is totally fine ๐
10:53:00 <truebrain> 200 lines removed .. still a lot to go ๐
10:56:32 *** gelignite has quit IRC (Quit: Stay safe!)
10:56:38 <Rubidium> maybe just remove most of the script changes, since most of them will be in the script specific changelogs?
10:56:47 <truebrain> mostly we leave them in
10:57:11 <Rubidium> true, but if the changelog is still too unwieldy, that can be considered
10:58:19 <truebrain> I am removing all window fixes
10:58:29 <truebrain> we can just have one entry: fix A LOT of window-related inconsistencies ๐
11:05:41 <andythenorth> โChange: 47 new GS methodsโ
11:06:18 <andythenorth> Grf changelogs I often have to summarise 50 commits to a single story etc
11:08:18 <xarick> I don't know what kind of miracle TrueBrain pulled, but YES! He finally understood the assignment!
11:13:17 <truebrain> okay ... removed a lot more entries ... went through the list twice now ๐
11:13:37 <truebrain> 350 entries left. That is a lot better ๐
11:13:45 *** Timberwolf has quit IRC (Ping timeout: 480 seconds)
11:15:47 <xarick> the issue at line 143, funnily enough was not present in 13.4.
11:17:09 <peter1138[d]> Commenting on PRs while at the coffee stop on my ride :p
11:20:02 <truebrain> okay, I think the list Add / Feature is fine like this. Already 71 entries, lolz
11:20:45 <xarick> btw MakeNewGame(false, new_mode == SM_NEWGAME); this is now always true
11:21:19 <xarick> the other situation where it'd be false was with SM_RESTARTGAME
11:24:35 <truebrain> okay, Change list looks also good to me .. now time for some lunch ๐
11:30:09 <peter1138[d]> Hopefully we'll leave soon
11:30:20 <truebrain> you still not on your bike again?! ๐
11:30:55 <truebrain> okay, 332 entries .. I think this is about it. Some sentences could work, but ugh .. how much time do you want to spend on a changelog ๐
11:33:43 <truebrain> Rubidium: all script references are only 10% of the changelog; so I guess we can just leave them in
11:41:57 <michi_cc[d]> I know we generally order the changelog chronologically, but maybe it would make sense here to group script and NewGRF so it is easier to pick out.
11:42:23 <michi_cc[d]> Especially in the change and fix sections.
11:42:47 <merni> wow that is a lot of features
11:43:14 <truebrain> michi_cc[d]: I never liked how we sorted the entries, but some people had a very strong opinion about it ๐
11:43:34 <truebrain> Guess this way is the most neutral, and avoids people picking their own order .. but yeah
11:43:37 <merni> They seem to be ordered by PR number, not even chronologically
11:43:41 <truebrain> We can break tradition ๐
11:43:49 <truebrain> merni: That is the same
11:44:13 <merni> Well, not in chronological order of merging
11:44:20 <merni> but rather chronological order of opening the PR
11:44:22 <truebrain> Nobody said merging
11:45:34 <merni> yeah but to me it doesn't really matter "when did this become developed enough to submit a PR" but rather "when did this become part of openttd" :P
11:45:37 <michi_cc[d]> truebrain: Iโd change it, but youโd have to wait until the evening because I am not doing that on mobile ๐
11:45:49 <truebrain> michi_cc[d]: Sounds good
11:46:14 <truebrain> merni: Not meant to be rude, but this order wasn't created to please you ๐
11:46:25 <truebrain> This order is the most neutral way of ordering
11:46:45 <LordAro> truebrain: shall i take a look?
11:47:26 <merni> truebrain: No worries, I am not suggesting changing anything :p
11:47:27 <truebrain> LordAro: You make the best changelogs ๐
11:47:43 <michi_cc[d]> merni: Make enough PRs until your Discord color changes, then you can mess up the changelog, too ๐คฃ
11:48:08 <truebrain> You have 1 year ๐
11:48:57 <merni> > Remove: Last remnants of SunOS port (#11210)
11:48:57 <merni> > Remove: OS/2 port (#11018)
11:49:35 <truebrain> I expect pitchforks
11:50:08 <michi_cc[d]> That is the on-boarding process around here: make enough PRs until we get feed up hitting merge all the time ourselves.
11:50:35 <LordAro> truebrain: do you have a copy of it elsewhere, before i start breaking it?
11:51:12 <_glx_> xarick: On load the randomizers are reinit, but every load has the same result, it's a kind resync of randomizers
11:51:17 <truebrain> LordAro: Pfff, like I would revert your work ๐
11:51:23 <truebrain> Just go for it ๐
11:51:27 <merni> michi_cc[d]: Well, it would be nice if I actually understood some things about c++, like templates, first :)
11:51:34 <LordAro> i'm more concerned about accidentally deleting something after you've already gone through it all :p
11:51:56 <truebrain> LordAro: Undo works on this site fine ๐
11:52:20 <truebrain> merni: talltyler didn't a few months ago, and look at him now!
11:52:50 <LordAro> does anyone understand templates, really?
11:54:03 <_glx_> _glx_: Only game randomizer is in the save, all other derive from it
11:56:00 <truebrain> michi_cc[d]: but do script/newgrf go on top or at the bottom of the list? ๐
11:57:10 <michi_cc[d]> Bottom, as they are only relevant for a subset of the audience, A player will not care about a changed AI api or a fixed act2 var directly.
12:02:28 <truebrain> LordAro says "reword", I am like: nah, remove! ๐
12:11:14 <truebrain> LordAro: that change is odd
12:11:35 <truebrain> the issue that 11366 solved was when you closed the popup
12:11:39 <truebrain> it didn't consider that a "No"
12:12:11 <truebrain> the Relay window is not the same as the connection window
12:12:13 <truebrain> (which you cannot close)
12:15:12 <truebrain> Also somewhat tempted to sort all the `Fix #...` based on the number they fix
12:15:44 <truebrain> not while you are still busy, mind you ๐
12:16:49 <truebrain> will move all those script/newgrfs when you are done ๐
12:17:52 *** ahyangyi has quit IRC (Quit: User went offline on Discord a while ago)
12:28:03 <andythenorth> oh we actually did remove OS/2
12:28:09 <andythenorth> I posted a link recently as a joke suggestion
12:28:34 <truebrain> nobody knew if it was still working ๐
12:28:56 <truebrain> LordAro: I removed all references to fixes to our windows etc, and made it one `Change` ๐
12:29:02 <truebrain> that cut down about 100 entries ๐
12:48:47 <peter1138[d]> Damn, not quite 100km
12:56:13 <LordAro> truebrain: i've gone back down to the bottom again
12:56:25 <truebrain> I noticed ๐ I lost you for a bit, but found your cursor again ๐
12:56:26 <LordAro> should be quicker this time
12:56:56 <LordAro> i think we should be able to get it under 300
12:57:48 <peter1138[d]> Is it lunchtime?
12:57:49 <LordAro> truebrain: i just found something your script could filter out - when the fix #nnn applies to a PR
12:58:01 <andythenorth> peter1138[d]: I had cookies
12:58:20 <LordAro> (assuming the PR is new enough, of course)
12:58:23 <peter1138[d]> Sounds like elevenses
12:58:38 <andythenorth> thirteen-hundredses
12:59:56 <peter1138[d]> Flat variant cookies?
13:02:17 <rau117> *(if this issue cannot be resolved in discord, Iโll probably need to create a bug report... let's try simple way for now)*
13:02:17 <rau117> Is it possible to change the format of saves that use wallclock? Or more precisely, is the decision to display โmap timeโ in save formatting final?
13:02:18 <rau117> It's nice to see time spent on a mapโฆ but it only makes sense when given in global numbers. โHow much **real** time have I spent on this map?โ
13:02:18 <rau117> In "equivalent" units, time doesn't have much sense. Moreover, date still present in game, and it is more important thing for the game than ยซplain timeยป. It is much easier and more precise to manage saves when the current year is visible, rather than the time. For example, โdelete all saves, except 10-year progressionโ is impossible (or way too complicated) in wallclock time mode.
13:02:20 <rau117> "4 hoursโ in 1 minute on fast forward.
13:02:29 <andythenorth> hmm reload_newgrfs has gone super slow
13:02:39 <andythenorth> wonder if I've accidentally done a debug build instead of release
13:06:49 <andythenorth> oh I shouldn't build fat binaries either ๐
13:07:00 <peter1138[d]> I'm a fat binary
13:07:16 <andythenorth> it's all gone a bit Twitter suddenly
13:07:23 <andythenorth> except nobody does actual jokes there
13:07:27 <andythenorth> not that I read it any more
13:11:55 <locosage> rau117: saves are using wallclock timer? how does that even work with build on pause?
13:12:52 <locosage> though I guess year is no different...
13:13:08 <truebrain> complaining about functionality that is not changed; classic
13:13:36 <truebrain> rau117: that number is "Play time", and acts exactly the same as calendar time does
13:14:05 <truebrain> and when in wallclock mode, there is no other way to represent the value
13:15:24 <locosage> a lot of other games simply use real clock btw
13:16:04 <rau117> truebrain: but the date itself remains, it is even visible if you open the save info panel
13:16:31 <truebrain> Now imagine you freeze that calendar date of yours
13:17:27 <_glx_> the setting under "wallclock" set to 0
13:17:31 <truebrain> the whole idea of wallclock time is to represent a lot of information in a wallclock way ..
13:18:18 <rau117> โinsideโ the game some (but not all...) moments are more convenient to consider as real minutes, schedule for trains for example. But โoutsideโ this time (7h 40m) does not mean anything.
13:18:36 <truebrain> That is your opinion. We disagree ๐
13:19:26 <truebrain> just wait till he looks at the network list ... so many things there that don't mean anything ๐
13:20:24 <LordAro> i'd rather a more sortable format than 7h 40m though :p
13:20:36 <rau117> Maybe then additionally display the date? At least a year.
13:20:46 <truebrain> LordAro: natural sort is your friend ๐
13:22:13 <andythenorth> can we register metadata with the OS?
13:22:22 <andythenorth> macOS has some way to do that
13:22:39 <truebrain> PRs are ... ---> that way ๐
13:23:03 <peter1138[d]> Right, NewGRF tracker... where's that.
13:23:14 <truebrain> or or or, merging of a PR first? ๐
13:23:17 <peter1138[d]> Ah there's a link ๐
13:25:34 <rau117> LordAro: The solution is the ISO format. Year-month-date. It sorts pretty well and displays the save more clearly.
13:25:58 <_glx_> but what date should it use ?
13:26:10 <LordAro> rau117: you don't get to claim that i'm agreeing with your point of view like that
13:28:05 <rau117> _glx_: Well... the current date is in the save.
13:28:05 <rau117> And if the calendar progression is zero and the date remains the same, then the time spent really shows everything you need to know.
13:28:40 <frosch123> truebrain: i am not sure what was the difference between "restart" and "reload". but isn't "restart" now the same as "newgame"?
13:28:53 <truebrain> frosch123: with the same seed, yes
13:29:03 <rau117> rau117: Then it will be possible to understand which save is using a frozen date, and which calendar time is somehow moving.
13:29:32 <truebrain> frosch123: that kinda was already what people expected it to do, except it in a subtle way didn't
13:30:06 <frosch123> ok, i always used "newgame" and "restart", and was unaware of "reload" :p
13:30:21 <truebrain> the naming is not ideal ๐
13:30:43 <truebrain> but at least it is now explainable what the difference between restart and reload is ๐
13:31:38 <truebrain> 290 entries in the changelog
13:31:45 <truebrain> (from 650+ entries)
13:32:31 <peter1138[d]> newmap also but that might just be an alias.
13:32:48 <truebrain> we have too many aliases
13:33:09 <_glx_> and we have duplicates not being aliases ๐
13:35:41 <frosch123> well, i'll update my brain to now only use "newgame" and "reload". "restart" is for weirdos
13:36:09 <truebrain> they both have their nice ..
13:37:13 <frosch123> do they? using new mapgen settings but same seed is a very weird usecase to me
13:37:19 <LordAro> truebrain: i think i'm done
13:37:30 <truebrain> LordAro: cool! Nice work ๐ I will take it further ๐
13:37:37 <truebrain> frosch123: which is what `reload` does ๐
13:38:05 <truebrain> so now I am confused ๐
13:38:58 <truebrain> `restart` creates, assuming you didn't use `setting_newgame` in the consume, the exact same map based on the same configuration as the new map you started.
13:38:58 <truebrain> `reload` creates based on the same seed the map, with the current settings applied (which can include mapgen changes etc :P)
13:39:02 <frosch123> `"restart" now uses the seed of the current map and your newgame settings` <- the PR desc says that
13:39:26 <truebrain> normally when you are ingame, it is really hard to change newgame settings
13:39:32 <truebrain> like ... only via the console you can do that ๐
13:39:43 <_glx_> hmm doesn't "reload" reloads the save ?
13:39:48 <truebrain> so I am not sure how you read that as "new mapgen settings" ๐
13:39:49 <LordAro> truebrain: ok, now i am done
13:39:53 <LordAro> i shall close the window :D
13:40:12 <frosch123> truebrain: huh? it litterally says "newgame settings"
13:40:27 <frosch123> is "newgame settings" not the settings for new games?
13:40:28 <truebrain> yes ... `_settings_newgame` ๐
13:40:38 <truebrain> the thing you cannot change in a current game
13:40:45 <truebrain> somehow we have a disconnect ๐
13:40:55 <frosch123> yes, i agree on that :p
13:41:07 <frosch123> i guess i better read the code then
13:41:17 <truebrain> we have `_settings_game` and `_settings_newgame`, right?
13:41:26 <truebrain> when you are in a game, all setting changes you make, are applied to the first
13:41:33 <truebrain> when you are in the menu, all changes are applied to the second
13:41:43 <truebrain> `reload` uses the first to generate the map (based on the same seed)
13:41:46 <truebrain> `restart` uses the second
13:41:53 <truebrain> does that help? ๐
13:42:20 <frosch123> yes, that's how i understand it as well
13:42:58 <frosch123> but now "restart" claims to use `_settings_newgame` for everything, except it uses the "seed" from `_settings_game`
13:43:16 <truebrain> so "restart" used to use `_settings_game`, which gave a few unpredictable results
13:43:39 <frosch123> ok, and i consider that usecase super weird ๐ it makes no sense to use the same seed with different mapgen settings
13:43:50 <truebrain> the "different mapgen settings" again
13:43:57 <truebrain> how would they be different? ๐
13:43:59 <frosch123> so I see usecases for both "newgame" and "reload", but "restart" is wtf
13:44:08 <truebrain> owh, okay, I have an idea where we have a disconnect here
13:44:13 <truebrain> there are 2 flows into restart/reload
13:44:26 <truebrain> which one are you talking about?
13:45:28 <frosch123> ok, next try: we are in a game created with `_settings_game.terrain_type` and `_settings_game.seed`. we type "restart" and get a game with `_settings_newgame.terrain_type` and `_settings_game.seed`, right?
13:45:50 <truebrain> "in a game" needs a bit more context
13:45:54 <truebrain> from a newgame, or from a savegame? ๐
13:45:59 <truebrain> those are two different flows ๐
13:46:06 <frosch123> i only talk about random maps so far, no scenarios
13:46:08 <_glx_> you can have modified _settings_game before "restart"
13:46:27 <truebrain> so if you created a new map, and are "in game", it is not `_settings_game.terrain_type`, but `_settings_newgame.terrain_type`, right?
13:46:39 <truebrain> as you can change `_settings_game.terrain_type` after the game started
13:47:31 <truebrain> (and this is the core of the issue we were having btw; that restart uses something that most people assume was the original setting, but actually doesn't have to be)
13:48:10 <truebrain> So now you can do: create new map -> change ANY setting you like -> "restart" -> you get the same map back
13:48:26 <truebrain> the other flow is: create new map -> change any setting you load -> "reload" -> might or might not give you a similar map
13:50:20 <truebrain> (I removed the shared changelog, as I am not postprocessing it)
13:51:24 <rau117> LordAro: *oh yeah, sorry, somehow I didnโt notice one particle that completely changed the essence of the sentence (=*
13:51:53 <_glx_> of course "restart" doing exactly the same is only valid for the current "newgame" session
13:52:18 <truebrain> and this is why I was asking if you were talking about a newgame
13:52:43 <_glx_> because it's the only moment we can guarantee newgame_settings are untouched
13:52:45 <truebrain> I don't ask these questions for nothing! ๐
13:53:13 <truebrain> frosch123: we do not store the settings as they were when generating a new map
13:53:26 <truebrain> Your case 2 btw reloads the savegame
13:53:31 <truebrain> it does not generate a new map
13:53:46 <truebrain> basically if we want that, we need a 3rd mode
13:53:50 <frosch123> well, i give up then, i don't understand it
13:53:51 <truebrain> but I couldn't find a usecase where that would be useful
13:57:14 <frosch123> i only use random mapgen, for that i see exactly two use cases: (1) start a new game, don't like the seed result, quickly regenerate with differen seed. i use "newgame" for that. (2) get an existing savegame, want to see what the map looked like at the start, i used "restart" in the past.
13:57:39 <frosch123> now apparenlty there are 3 commands, "newgame" still does what i think it does. the other two i do not understand
13:57:43 <_glx_> case 2 was never accurate
13:58:07 <_glx_> unless no game_settings were modified
13:58:21 <frosch123> yes, i know, i used it as a debugging tool, when someone else sends a savegame
13:59:05 <frosch123> changeing mapgen setting in-game is hard. the bigger problem is using a different version of ottd, which calls random in other places
13:59:20 <truebrain> among other problems ๐
13:59:37 <truebrain> but okay, it doesn't mean we don't have to support that .. let me make something simple
13:59:38 <_glx_> and savegame can come from a heightmap
14:00:52 <xarick> I'm still experimenting with one other alternative, one that doesn't touch restart command
14:01:04 <xarick> but so far, no success
14:01:05 <truebrain> how do you do a stringcompare against a `const char *` in OpenTTD? Kinda forgot ๐
14:01:15 <peter1138[d]> Convert it to a std::string ๐
14:02:18 <frosch123> what kind of compare? binary equallity? or natural sorting?
14:03:27 <frosch123> i get about 40 grep results for classic "strcmp"
14:03:41 <truebrain> yeah, but that doesn't tell me how we do it in the here and now ๐
14:03:47 <truebrain> but convert and == works for me
14:03:47 <_glx_> oh we still have some strcmp ?
14:04:28 <_glx_> I know we also use .compare() in some location (std::string equivalent to strcmp)
14:04:54 <truebrain> sometimes just hard to follow for those "in between" parts what we prefer ๐
14:04:56 <_jgr_> peter1138[d]: Surely string_view is better for comparisons?
14:05:21 <peter1138[d]> Probably is, mine was not a serious suggestion.
14:05:38 <truebrain> `if (argc == 0 || std::string_view(argv[1]) == "newgame") {`
14:06:43 <frosch123> i get no grep hits for either string or string_view literals
14:07:42 <truebrain> doesn't the compiler do that for you?
14:09:15 <truebrain> owh, like that; lol. I don't care ๐
14:09:36 <frosch123> maybe too magic :p forget the "sv" and it breaks
14:11:18 <Rubidium> we just need to do more std::string(_view) conversions, then it'll automatically resolve
14:11:45 <truebrain> wow, `FT_INVALID` is an annoying value
14:11:56 <truebrain> there is `FT_MASK`, but if it is `FT_INVALID`, it matches all
14:12:04 <truebrain> so it is both a savegame, scenario, and heightmap in one!
14:15:05 <truebrain> maybe this unconfuses frosch123
14:17:27 <frosch123> with "new game" you mean "random-generated games"?
14:17:50 <truebrain> could be a "newgame 123", so "random" is strictly seen untrue
14:18:30 <frosch123> the implied vocabulary :p
14:18:46 <truebrain> open for better wording; but this wording was already in the console command
14:19:28 <peter1138[d]> truebrain: It's not a bitmask though, is it?
14:19:42 <truebrain> peter1138[d]: no, but `FT_MASK` suggests it is
14:20:01 <truebrain> it just confused me ๐ฆ
14:20:10 <_glx_> abused enum as always ?
14:20:12 <truebrain> but it only masks the amount of bits needed ๐
14:20:47 <truebrain> the INVALID being 7 I guess is just because someone was: we have 1, 2, 3, so 4 is not a good value, I am going to the end of the next bit, so 7
14:21:08 <truebrain> but you are right, FT_ values aren't a bitfield
14:21:54 <truebrain> _zephyris: my dictionary says: `"unbunch": Unknown word`
14:23:03 <truebrain> anyway, with that PR frosch123 , what you want, is `restart current`, and not `reload` in your case thingy ๐
14:23:24 <brickblock19280> prevent bunching could work I guess
14:24:12 <talltyler> It doesnโt prevent it, it undoes the bunching if it has already occurred
14:24:18 <_glx_> google translate knows unbunch
14:29:46 <truebrain> okay, being able to pick what settings you want to use does feel more robust; so that is good
14:35:19 <locosage> _glx_: translates as disasseble xD
14:35:47 <_glx_> it translates as ungroup for me ๐
14:36:21 <_glx_> not fully correct I'd say, but gives a hint
14:41:09 <locosage> dunno swedish but it looks interesting xD
14:43:03 <truebrain> talltyler: if you can help me with a Steam image, that would be much appreciated
14:43:51 <truebrain> or maybe _zephyris feels inspired to do so? ๐ We always have images like https://github.com/OpenTTD/website/pull/273 , but spicing it up a bit wouldn't be the worst ๐ (Steam images are posted on the Steam page to announce updates)
14:44:10 <truebrain> it btw needs to be in that exact width/height format
14:45:15 <talltyler> I can do that unless Zeph beats me to it
14:45:36 <truebrain> I will be out for a few hours; if nobody did, I would like to release then
14:46:05 <talltyler> I was about to start writing an announcement post, but you got there first. I am reviewing your text now ๐
14:46:46 <truebrain> hmm, should not have pushed it to my fork, but okay. Too late now ๐
14:57:09 <_glx_> (if I don't do it, nobody does ๐ )
14:59:04 <_zephyris> truebrain: I'm busy till this evening (UK time) - but very happy to help if it's still needed!
15:10:07 <talltyler> _zephyris: I made one, but feel free to do better ๐
15:13:52 <xarick> clicking on start new game and generate is different that typing newgame in console
15:14:09 <xarick> different paths for the seed
15:15:44 <truebrain> _glx_: I know how you feel ๐
15:16:19 <truebrain> talltyler: mind just pushing those changes to my branch?
15:16:57 <truebrain> same for the others, please just push to my branch, it is fine
15:17:03 <truebrain> saves us both a lot of time
15:17:14 <peter1138[d]> Collaborative development, whatever next!?
15:17:38 <truebrain> Rubidium: can I ask you the same for the changelog? ๐
15:20:11 <_zephyris> A 2 min solution, if you want to use it. Using the new logo and OpenTTD Sans font. The background screenie should be better though, view this as a template ๐
15:20:46 <xarick> /* Generate a new seed when opening the window */
15:20:46 <xarick> generation_seed = InteractiveRandom()
15:20:46 <xarick> /* DEF_CONSOLE_CMD(ConNewGame) */
15:20:46 <xarick> generation_seed = GENERATE_NEW_SEED
15:21:37 <xarick> inconsistency detected
15:22:25 <truebrain> frosch123: and just to check up, does my PR actually fix the flow you described?
15:22:53 <truebrain> what-ever .. English .. hard
15:23:42 <frosch123> i don't know yet ๐ i don't understand the "words", i'll have to read the "code"
15:24:22 <truebrain> to use your words: `restart current` -> new game based on `_settings`
15:27:52 <_glx_> xarick: it's a newgame anyway
15:29:16 <xarick> well, I wonder if it's affecting ScriptObject::InitializeRandomizers
15:31:07 <brickblock19280> locosage: wth
15:40:54 <xarick> seems to me, when I was using "newgame" in the console, the deviation was being applied based on this constant: GENERATE_NEW_SEED.
15:41:26 <xarick> but then random deviation was fixed in another way, obfuscates the issue
15:41:27 <peter1138[d]> SamuXarick has been promoted to developer ๐
15:42:07 <peter1138[d]> "promoted" is not the right word but I'm sure you know what I mean ๐
15:45:25 <xarick> I usually take 9 months breaks
15:46:51 <xarick> I don't have my own projects for 14.0, but I have some side PRs
15:49:19 <xarick> I had what it's common called patchpacks, but the target audience was only me, cus I know nobody else cares
15:49:54 <xarick> I don't have a patchpack atm
15:51:11 <xarick> they're very AI focused
16:06:43 *** Wormnest has joined #openttd
16:08:54 <xarick> what will happen if I Initialize randomizers in MakeNewGameSettingsLive
16:10:14 <peter1138[d]> The random seed isn't initialised yet at that point.
16:12:10 <_glx_> there's `if (_settings_game.game_creation.generation_seed == GENERATE_NEW_SEED) _settings_game.game_creation.generation_seed = InteractiveRandom();` in `GenerateWorld()`
16:13:10 <_glx_> so both GUI and console path get a new random seed anyway
16:14:50 <_glx_> GUI used to show the seed, that's why `_settings_newgame.game_creation.generation_seed = InteractiveRandom();` happens when opening the window
16:15:02 <truebrain> peter1138[d]: Not sure what shocks me more .. that you read the forum or to read an actual mature post on it ๐
16:17:50 <xarick> oops, doesn't work the way I expected ๐
16:25:14 <LordAro> talltyler: also advertise the titlegame competition?
16:25:25 <LordAro> or has that not been organised yet?
16:25:42 <LordAro> talltyler / truebrain
16:25:49 <_glx_> _glx_: this could actually be replaced with `_settings_newgame.game_creation.generation_seed = GENERATE_NEW_SEED`, but it really doesn't matter, as long as both GUI and console have a new seed when generating
16:26:57 <_glx_> I think the titlegame competition is already started
16:27:36 <LordAro> well, definitely needs mentioning then :)
16:28:53 *** Timberwolf has joined #openttd
16:37:31 <talltyler> Itโs mentioned in the website post?
16:43:29 <truebrain> I am not sure how LordAro just managed to read 300+ lines careful but fails to read 1 sentence in the news post ๐ ๐ ๐
16:43:44 <_glx_> hmm implementing 6B in nml will be fun
17:05:12 <michi_cc[d]> truebrain: Reads like we got a proper PR department now with the 14.0-beta1 announcement proposal. ๐คฃ Have to drag the excitement, hype and engagement out as long as possible to stimulate pre-orders ๐
17:12:42 <truebrain> michi_cc[d]: You understood the message ๐
17:14:12 <truebrain> Just hoping to avoid being posted on Hackernews etc till 14.0 hits
17:14:34 <talltyler> Uh oh, are we doing a Cities: Skylines 2?
17:14:39 <truebrain> Result in better experience for those players ๐
17:15:08 <truebrain> Owh, rebrand to OpenTTD2 you say? ๐
17:15:11 <michi_cc[d]> talltyler: Well, if yes, you have a big chunk of it LOL
17:15:31 <talltyler> Do we need to get some influencers to do official livestreams with an earpiece so we can make sure they only say approved things? ๐
17:15:55 <truebrain> That is insane ๐
17:16:30 <merni> truebrain: Oh but then who will confidently say the entirety of our infrastructure can be hosted on a laptop?
17:16:39 <michi_cc[d]> Well, they announced e.g. modding support "a few days after release", and now it is more like "maybe one year after release".
17:18:24 <michi_cc[d]> And that was two weeks before release or so. No way they didn't know it wasn't finished at all.
17:19:54 <andythenorth> my laptop is busy
17:20:02 <Eddi|zuHause> merni: not "a laptop". "mbp"
17:20:11 <andythenorth> AV scan is running, so can't host the 14.0 launch
17:21:26 <peter1138[d]> That's okay, we don't need high-availability.
17:21:47 <peter1138[d]> Doesn't matter if it all goes down a few days.
17:21:59 <andythenorth> well the AV scan only takes a few hours anyway
17:23:56 <truebrain> And most home connections can handle a few TB per month easily. A 10mbps line is sufficient
17:24:12 <truebrain> Owh, can you upgrade to 5G? Better for mobility
17:26:03 <_glx_> I can see 2 ways to implement 6B in nml, a new variable, or a super complex handling of 68 and 6B with the existing one
17:30:53 <LordAro> truebrain: worn out from all the previous stuff
17:31:14 <LordAro> and possibly i just read through the existing suggestion diffs and didn't look at the actual diff
17:33:34 <_glx_> I guess for roadstops just replacing with 6B is fine as they are only in 14
17:33:48 <_glx_> but for stations it's not as simple
17:40:47 <wensimehrp> I'd perfer auto-separation โน๏ธ
17:41:54 <michi_cc[d]> How much do we love or hate pointers now?
17:41:54 <michi_cc[d]> Thinking about my newmap branch. It has a lot of Tile* in it. Replacing them with references isn't ideal as I sometimes need nullptr support and fast pointer increment. Nullptr could of course be `optional`, but that still leaves the fast pointer increment missing, and I'm not sure mixing pointer and ref all over is good either.
17:41:54 <michi_cc[d]> I could wrap this (and some helper functions) in a `TileRef` or something, but I'm not sure how that would fly.
17:42:25 <peter1138[d]> If you need a pointer you need a pointer ๐
17:42:45 <michi_cc[d]> Well, some instances need to support nullptr, but most do not.
17:43:51 <peter1138[d]> You could have a reference returning method and a pointer returning method depending on whether it's guaranteed to have a result.
17:43:56 <michi_cc[d]> A `TileRef` would probably be ideal as it could encapsulate when a pointer increment is valid and when not. But it will make the map code rely even more on the compiler optimizer.
18:00:33 <_zephyris> wensimehrp: Translate it to that if you think it is better!
18:03:03 <peter1138[d]> Although translations should match English where it makes sense.
18:07:45 <wensimehrp> that means open buses
18:07:45 <wensimehrp> and this means to unleash buses
18:14:47 <andythenorth> TBH, we've added so much I'm running out of tedious meme requests
18:15:01 <andythenorth> basically, grf docks, and the game is done
18:18:12 <belajalilija> docks, depots and airports
18:18:36 <belajalilija> more tree types would be cool too and maybe have it so different types dont mix much
18:18:42 <belajalilija> so you can have pine forests
18:19:18 <belajalilija> so you can have vineyards with farm tiles
18:21:05 <_zephyris> Newgrf fields, newgrf terrain, newgrf trees :p
18:22:09 <brickblock19280> Newgrf tunnels (I am totally not failing to code those)
18:25:14 <merni> andythenorth: game = newgrf api I guess :p
18:25:30 <belajalilija> locomotion even has ski slopes that are like farms
18:25:41 <truebrain> Everyone happy with changelog and news post? Could use an approval within the hour or so, so I can make the actual release happen ๐
18:25:41 <merni> wensimehrp: Nothing says that the translations offered by some dumb online translator are the ones that you should use
18:26:15 <merni> Use your actual knowledge of language to create a proper translation of "unbunch" (even if it is not one word)
18:26:36 <merni> Though unleashing buses sounds fun!
18:26:46 <belajalilija> who wouldnt wanna live in this village
18:27:26 <wensimehrp> the closest thing is "auto-separation"...
18:27:55 <merni> I have lived all my life in a big city and cannot imagine being happy in a rural setting like that
18:29:30 <merni> wensimehrp: if that is so, translate it that way. Though there should be some translation for "bus bunching", can that be used somehow?
18:30:16 <merni> particularly considering that "auto" isn't even in the english, can that really be the closest?
18:31:00 <wensimehrp> I think that the translation should not be limited by the original text in this case
18:33:14 <belajalilija> merni: fair, im the exact opposite
18:34:52 <DorpsGek> - Update: Translations from eints (by translators)
18:38:04 <andythenorth> website 14.x announcement looks great to me ๐
18:47:28 <merni> out of curiosity, why the secrecy with statements like
18:47:28 <merni> > There are many more things worth talking about, and this will be made more clear when we approach the release of 14.0.
18:48:27 <Rubidium> hmm, was I just too quick?
19:11:23 <truebrain> sorry michi_cc[d] ๐
19:11:25 <truebrain> need a new one ๐
19:11:44 <jfs> merni: that's not really meant as "secrecy" but rather "we want to keep this announcement brief, and have dedicated posts at later dates explaining the changes in more detail"
19:12:52 <locosage> jfs: writing that 3 times might be a bit excessive though :p
19:13:29 <truebrain> hmm, one open comment in the changelog and nobody did anything with it? ๐
19:13:43 <truebrain> sad, as that means I need to wait even longer before I can merge ๐
19:15:20 <truebrain> A poll: should I distribute the Discord plugin on Steam or not?
19:15:43 <peter1138[d]> What distribution methods do we have for plugins?
19:16:44 <truebrain> www.openttd.org ๐
19:17:51 <michi_cc[d]> Do you want it to be used? If yes, that's a +1 for Steam.
19:18:16 <truebrain> The only reason I am a bit doubtful, is that it feels so odd .. it is very consumer friendly, but .. dunno
19:18:24 <truebrain> I thought about making it a DLC, but that is a lot of work for very little gain ๐
19:18:45 <michi_cc[d]> Social plugin DLC? ๐
19:19:09 <michi_cc[d]> The most social DLC ever? ๐
19:19:27 <truebrain> I will just ship it with the default install, and see if someone complains
19:23:16 <_zephyris> You've given instructions on how to uninstall, so...
19:23:30 <peter1138[d]> Still will reinstall though ๐
19:26:16 <truebrain> should arrive on Steam in a few minutes ๐
19:26:42 <jfs> truebrain: sell it for 1 EUR as a way to placate everyone missing a way to donate
19:26:59 <truebrain> I am afraid that will generate a lot of money ๐
19:27:30 <truebrain> btw, with beta1 going out, it does mean we won't be branching. Still I think we would do wise not add a tons of new features / codechanges to master, so to be able to actually have a solid RC1 "soon" ๐
19:27:55 <truebrain> bug-fixes etc are always fine ofc ๐
19:29:06 <peter1138[d]> 11719 fixes bugs, so that's cool.
19:29:26 <truebrain> and it is not black&white anyway ๐
19:31:02 <truebrain> Maybe someone can also poke the translators via a discussion topic on the team page or something to start looking at what needs translating ๐ talltyler ? ๐
19:32:24 <locosage> time to rebrand features as fixes ๐คญ
19:32:38 <truebrain> and now we wait for MinGW .. my favorite thing to do! ๐
19:34:35 <truebrain> no language is complete atm ๐ You don't see that a lot
19:36:24 <truebrain> and Discord integration arrived safely on Steam \o/
19:41:33 <truebrain> ugh, right, CodeQL is mandatory these days ... so it isn't MinGW that is slowest ๐
19:43:56 <truebrain> `[100/167 eval 3m49s] Evaluation done; writing results to codeql/cpp-queries/Critical/IncorrectCheckScanf.bqrs.` .. that is a long time to check for something like that ๐
19:47:37 <wensimehrp> Is unbunching basically evenly depart?
19:47:54 <michi_cc[d]> It's "evening out the headway"
19:48:27 <truebrain> anything I forget to make a beta1?
19:49:10 <truebrain> no need to disable asserts right?
19:49:22 <michi_cc[d]> truebrain: I don't think so. I looked at the last beta and we didn't do any further special changes either.
19:51:00 <wensimehrp> I know what bunching means, I'm just looking for an appropriate term to translate.
19:51:05 <truebrain> right, and now to wait for an hour for the compile farm to do its thing
19:51:12 <truebrain> hopefully nothing breaks ๐
19:51:19 <wensimehrp> That's why I'm asking "is bunching basically xxx
19:51:25 <truebrain> at least we don't have the Debian / Ubuntus anymore that can break what the nightly didn't notice ๐
19:51:41 <frosch123> i also think that steam should distribute the discord plugin. just the gog plugin would we weird :p
19:51:58 <truebrain> frosch123: yeah ... but ironically I will distribute the Steam plugin with GOG ! ๐
19:52:14 <truebrain> (GOG integrates with Steam too, for clarification)
19:52:48 <truebrain> I did not do the plugins for GOG with this beta; it is an annoying job, and I will get to it "soon" ๐
19:53:12 <truebrain> GOG integrates with all platforms btw; it is meant as a "solve it all" platform
19:53:28 <truebrain> one of their SDK solutions is a wrapper around your Steam integration, which is also funny
19:53:33 <wensimehrp> michi_cc[d]: But "evenly depart" is "evening out the headway"
19:54:23 <michi_cc[d]> Maybe something like "evenly space out vehicles" results in a good chinese term.
19:54:35 <Rubidium> michi_cc[d]: I amended the comment, as the one I thought could be a queue can't be because it needs clear()
19:55:27 <michi_cc[d]> So too many cases of "it's not really a queue".
20:06:08 <locosage> wensimehrp: the only russian translation I could think of that would fit that button in highly profane xD
20:07:54 <locosage> otherwise it's either distribute or disperse...
20:08:34 <wensimehrp> while I'm thinking how to limit the translation to four characters...
20:13:31 <truebrain> lol .. the release process is being slowed because of a queue on our CI ๐
20:15:11 <truebrain> sorry Rubidium, I cancelled a few of your tasks
20:15:17 <truebrain> feel free to requeue them after the release is done ๐
20:24:16 <truebrain> Guess that is a JGRPP server with daylength active? ๐
20:24:38 <truebrain> 20 hours per in-game year? ๐
20:25:15 <truebrain> talltyler: of all changes, I like that "Play time" came out of it for network games ๐ I don't care much myself about daylength etc, but I really like this ๐
20:26:38 <locosage> not that it required any daylength to implement :p
20:30:25 <truebrain> notarizing MacOS ......
20:35:19 <wensimehrp> Steam version, why are there multiple copies of social integrations?
20:36:26 <truebrain> Rubidium: I restarted all the jobs I cancelled
20:37:22 <Rubidium> thanks, though it wasn't quite needed for the source location PR. I just fixed some merge conflicts, but I doubt vcpkg has been added to the MacOS runner yet
20:37:37 <michi_cc[d]> Who's left to update the IRC topic?
20:37:51 <truebrain> michi_cc[d]: : mind doing reddit?
20:37:57 <truebrain> peter1138[d]: : mind doing Mastadon?
20:38:04 <truebrain> jfs: : mind doing tt-forums?
20:38:56 <truebrain> owh, lol, out of CI spots to publish the blog article .. I always forget the limit is per organisation ๐
20:39:15 <truebrain> sorry Rubidium, few more cancel emails ๐
20:40:00 <jfs> btw there was talk last year about a 20th anniversary gathering, did planning ever proceed on that?
20:40:18 <truebrain> jfs: I wondered myself that too, but it seems it did not
20:40:27 <peter1138[d]> Ctrl-C Ctrl-V at the ready.
20:41:11 <Rubidium> @topic set 1 13.4, 14.0-beta1
20:41:11 *** DorpsGek changes topic to "13.4, 14.0-beta1 | Website: *.openttd.org (source: github, translator: translator, server list: servers, wiki: wiki) | Don't ask to ask, just ask | 'Latest' is not a valid version, 'Most recent' neither | English only"
20:41:42 <Rubidium> guess today I was allowed to change the topic ;)
20:42:59 <Rubidium> truebrain: you can forgo restarting the CI jobs you cancelled
20:43:33 <michi_cc[d]> truebrain: Reddit done
20:43:36 <peter1138[d]> Damn this thing has a character limit :S
20:45:02 <michi_cc[d]> I tried X (Twitter), but I need the confirmation code from some email somewhere.
20:45:23 <truebrain> owh, yes, that platform also still exists
20:45:49 <truebrain> michi_cc[d]: `ipm4kid4`
20:46:56 <truebrain> even an image! ๐
20:47:04 <truebrain> Discord done. Steam news done.
20:47:51 <truebrain> nitpick: `beta1` ๐
20:48:34 <jfs> I assume the thread will be re-used for any subsequent beta versions
20:48:50 <truebrain> I hope we don't have another beta ๐
20:48:51 <michi_cc[d]> Xitter done, too.
20:49:10 <truebrain> the idea was to do RC1 in one or two weeks? I think
20:49:16 <truebrain> as we are way behind on the timeline ๐
20:50:42 <truebrain> 1.11 had its first RC on 14th of March .. so it could be worse ๐
20:51:01 <truebrain> 1.9 had its beta on the 9th of February ๐
20:51:13 <truebrain> it also had beta2 on the same day
20:51:29 <truebrain> anyway, nice work all, tnx for all the assist etc ๐
20:52:07 <michi_cc[d]> "Fix: Non-Windows builds did not get correct git hash" Oops
20:53:12 <_glx_> hmm STR_ORDER_DEPOT_ACTION_TOOLTIP is a little too generic, most strings mentioning "depot" are specific to the depot type
21:07:02 <xarick> Incorrect GroupStatistics after selling leading wagon (#11311) I missed this one
21:07:11 <xarick> let me check what it does
21:07:25 <talltyler> I can split it per vehicle type
21:10:15 <talltyler> Hmm, actually, can I?
21:10:39 <talltyler> I don't know how to set params for a tooltip
21:10:59 <truebrain> plenty of other examples with DEPOTs, I read ๐
21:11:07 <truebrain> so not useful comment of mine ๐
21:11:47 <peter1138[d]> talltyler: depot_gui.cpp:589
21:12:02 <peter1138[d]> talltyler: the window just changing the tooltip data for each widget.
21:14:24 <truebrain> My dream for 14.0 is that this `/1.0` number will become really small, and this `/2` number REALLY big
21:14:47 *** Xaroth92 has joined #openttd
21:15:11 <truebrain> for the mbp discussion, I have this lovely image:
21:15:32 <truebrain> that is MiB/s ... so ~50 mbps on traffic. That is BaNaNaS alone.
21:16:49 <truebrain> and talking about these random screenshots, remember I was working on better caching for our wiki? I think I succeeded ๐
21:17:49 <truebrain> that is 100:1 ? It is insanely good ๐
21:18:48 <michi_cc[d]> How many games did we sell on Steam so far? The various stream trackers have something from 300k to 1.5m, so not exactly accurate.
21:19:20 <truebrain> TURN btw uses 33 KiB/s; a fraction of BaNaNaS ๐
21:20:12 <peter1138[d]> Too much for a late 90s modem connection.
21:20:15 <truebrain> pick your poison ๐
21:20:24 <truebrain> Daily active users: 4575
21:20:42 <michi_cc[d]> Okay, so SteamSpy (for which you apparently now need an account), is by far the most accurate with 1M - 2M.
21:21:31 <michi_cc[d]> Still, 1.4 million is not too shabby ๐
21:21:45 <truebrain> WE ARE DECLINING! OMG! OpenTTD is DEAD!
21:22:54 <truebrain> on average 1000 new people download our game every single day
21:23:24 <truebrain> so yeah, one could say it is a popular game or something
21:24:10 <jfs> kamnet: maybe this topic also needs to be updated soon? ๐
21:24:55 <peter1138[d]> They're all bots.
21:25:04 <truebrain> our rating is at 93.28% on steamdb .. we need to be just above 94% to be in the top 250 rated games .. SO close ๐
21:25:18 <truebrain> 10,000 people were positive about the game, just 440 negative
21:25:35 <truebrain> the insanity of these numbers never stop to amaze me
21:30:19 <talltyler> Hmm, there's a bunch of errors that mention depots too...need I split all of them by vehicle too?
21:32:37 <_glx_> yeah depots are annoying because they can have a different name
21:32:52 <talltyler> I wonder if I can just rewrite it. It's called if you to try to use a "service if required" order with a depot:
21:32:52 <talltyler> `... vehicle must always visit the depot to unbunch there`
21:33:06 <peter1138[d]> (Do aircraft unbunch too?)
21:33:15 <talltyler> Yes, aircraft can be unbunched
21:33:35 <_glx_> they do it in hangar, not depot ๐
21:33:35 <talltyler> I suspect ground operations take so long they'd only bunch if you have slow planes or a really long route
21:33:46 *** nielsm has quit IRC (Ping timeout: 480 seconds)
21:33:57 <talltyler> Tooltip is already split, now I'm just working on the error message
21:34:03 <peter1138[d]> Give the translators more to do ๐
21:34:32 <truebrain> Who approved that change, to just call everything depot?! Horrible English speaker that must been
21:34:58 <talltyler> en-US calls road vehicle depots "garages" IIRC
21:35:02 <_glx_> but "Scale" is not easy
21:36:30 <peter1138[d]> Interface scaling?
21:37:57 <_glx_> interface scaling was easy, but for production scaling it feels wrong to use the same french term
21:41:53 <wensimehrp> talltyler: same with zh_cn lol, railway garages
21:45:54 <talltyler> Heheh, this error isn't even needed now that the depot action is a dropdown
21:47:32 <truebrain> First beta report \o/
21:48:48 <truebrain> I am sure peter1138[d] has a patch for this ๐
21:50:47 <truebrain> I wonder if we should link to gog and steam in our release posts
21:50:54 <truebrain> It now doesn't mention any of that
21:53:14 <peter1138[d]> Well, I can't reproduce 11966.
21:54:48 <truebrain> Did you install some plugin? Don't know if it matters
21:54:54 <talltyler> First bugfix PR \o/
21:55:10 <peter1138[d]> Installed the Steam beta version to test for that reason.
21:55:10 <talltyler> Did I set a record for how soon after release I had to fix something? ๐
21:55:31 <truebrain> talltyler: Check 1.9.0 beta 1
21:57:03 <_glx_> weird I can't always reproduce it
21:57:38 <talltyler> Hmm, unused strings in CI... What am I supposed to do with `###next-name-looks-similar`?
21:58:07 <locosage> reminds me of some bug with story window missing last lines
21:58:17 <locosage> also couldn't reliably reproduce
21:58:22 <truebrain> talltyler: No need for the backport label, we didn't branch ๐
21:58:47 <_glx_> that's the main advantage of beta ๐
22:00:28 <peter1138[d]> Yeah, I am resizing the window. No issue here.
22:01:20 <peter1138[d]> Wonder if deferred resize is behaving differently depending on settings/OS.
22:02:13 <_glx_> ah it does it but only on first opening
22:02:37 <_glx_> if I close the window and reopen I can't reproduce
22:04:33 <eratonysiad> truebrain: Can we get a button to the github page from openttd.org?
22:05:04 <_glx_> same here, but not after I first closed the window
22:05:05 <truebrain> eratonysiad: There are several links; so why are you asking? (Bit generic question :P)
22:05:24 <eratonysiad> I need to report a crash and I can't find the github without googling and lazy
22:05:46 <truebrain> It is in the news post on the frontend
22:06:03 <_glx_> and it the crash window ๐
22:06:36 <eratonysiad> _glx_: can't click it tho ๐
22:06:38 <truebrain> But we need a redesign of the website .. people keep saying they are going to do it, they never do ๐ฆ
22:11:54 <truebrain> That sounds really bad ...
22:12:22 <eratonysiad> It worked fine for the previous road vehicles
22:14:11 <_glx_> it's so nice to just being able to double click on dmp from the zip
22:17:48 <_glx_> can't extract more info
22:19:35 <_glx_> hmm but string 97 is STR_QUANTITY_BATTERIES
22:21:50 <_zephyris> _glx_: Remove toyland ๐
22:22:02 <_glx_> hmm could also be STR_JUST_STRING (34881)
22:22:38 <Rubidium> do you know the string being passed into GetStringBoundingBox?
22:24:05 <_glx_> 34881 is string parameter in GetString()
22:24:05 *** keikoz has quit IRC (Ping timeout: 480 seconds)
22:24:24 <_glx_> I don't have access to strid in GetStringBoundingBox
22:25:03 <truebrain> Build without optimization and crash the game? ๐
22:25:30 <_glx_> bounding box is for NWID_PUSHBUTTON_DROPDOWN
22:26:08 <peter1138[d]> The issue is TextfileWindow uses GetCharacterHeight(FS_MONO) before the monospace font cache is initialised.
22:26:36 <peter1138[d]> Therefore it gets the height of the sprite-based monospace font, then the text file is loaded which triggers the truetype font to be loaded, which is a different height.
22:26:54 <peter1138[d]> This is why it's only wrong the first time, after that it's already loaded.
22:27:23 <peter1138[d]> And it's coincidentally not wrong if if your truetype font height matches the sprite font height.
22:27:46 <peter1138[d]> Can we just remove the deferred loading of the monospace font?
22:27:51 <truebrain> Haha, what a bug ๐
22:28:53 <peter1138[d]> (Coincidentally, I do have a patch to do that...)
22:29:32 <peter1138[d]> Glyphs are only rendered when they're used, so it's not like deferring it serves that much purpose.
22:30:10 <michi_cc[d]> GetStringBoundingBox has STR_JUST_STRING (34881)
22:30:14 <peter1138[d]> We should release a beta in the morning so we have all day to fix things ๐
22:30:28 <andythenorth> if I try to stay awake, but I fail, is that sleeping? ๐
22:30:40 <_glx_> so yeah 97 is the string passed to STR_JUST_STRING
22:30:54 <_glx_> that feels wrong in this window
22:31:04 <michi_cc[d]> And it is for WID_O_DEPOT_ACTION
22:31:27 <Rubidium> I guess it's line 1168
22:31:28 <peter1138[d]> if (order == nullptr || !order->IsType(OT_GOTO_DEPOT)) break;
22:31:37 <peter1138[d]> It does not set a parameter.
22:31:45 <michi_cc[d]> Yes, that would do it I guess.
22:31:48 <peter1138[d]> STR_EMPTY would be enough.
22:31:53 <_glx_> but that explains why it crashes on {P}
22:32:01 <truebrain> So the last minute PR merge strikes? ๐
22:32:45 <_glx_> global params strike again ๐
22:33:17 <truebrain> I have been looking into extending my draft PR for normal string operations too .. but it is a massive undertaking
22:33:55 <_glx_> GS does it, but it might be a pain to convert all OTTD code base
22:34:19 <frosch123> truebrain: by Zuu, another old person returns
22:34:27 <michi_cc[d]> Ignoring any effort, I think the "better" API would be that all calls are like `DrawString(string, params)` or `GetString(string, params)` .
22:34:44 <truebrain> frosch123: I was wondering why the name sounded familiar ๐
22:35:02 <truebrain> michi_cc[d]: See my draft PR ๐
22:35:25 <xarick> I got this where I wanted
22:35:31 <_zephyris> peter1138[d]: Does this make it a windows only bug? IIRC, like the sans ttf, windows treats the line height of mono as larger (12px?) then the font size.
22:36:58 <frosch123> michi_cc[d]: in that case i would expect `string` to be part of the parameter class as well. and that it would accept itself for `{STRINGx}` parameters
22:37:58 <frosch123> well, possibly strgen could generate functions for each string, which takes the required parameters :p
22:38:11 <truebrain> That would help too
22:38:25 <truebrain> I now had to check every string if I found all DParams involved
22:38:33 <truebrain> It wasn't a fun job
22:39:20 <truebrain> Sometimes we set a parameter 2 screens above where it is used etc
22:39:26 <truebrain> Sometimes in different functions
22:39:31 <_glx_> WID_O_COND_VALUE might be an issue too
22:41:10 <truebrain> frosch123: Seems that even summoned lea001 to Discord ๐
22:42:40 <_glx_> indeed it uses STR_JUST_COMMA but can skip SetDParam
22:43:13 *** Wormnest has quit IRC (Ping timeout: 480 seconds)
22:44:40 <peter1138[d]> STR_JUST_COMMA won't crash so won't be noticed I guess.
22:45:35 <peter1138[d]> _zephyris: #10273 to fix that bug then? ๐
22:45:54 <_glx_> it can crash since assert(this->parameters[n].string == nullptr)
22:47:26 <truebrain> So just disable asserts? ๐
22:47:38 <lea001> frosch123: That is true ๐
22:47:55 <peter1138[d]> {COMMA} does not call GetParam()
22:48:03 <peter1138[d]> It's still wrong, but it won't crash ๐
22:48:35 <_glx_> ah right GetNextParameter() doesn't validate
22:52:24 <_zephyris> peter1138[d]: Looks good!
22:52:40 <_glx_> I feel beta1 might generate a lot of duplicate reports ๐
22:54:10 <_glx_> but deviate was just wrong before
22:54:41 <truebrain> _glx_: Beta2 is created easily ๐
22:54:51 <_glx_> totally unpredictable when deviation would happen
22:57:04 <xarick> not making a PR about it, don't wanna create more buzz
23:01:41 <_glx_> oh no, not inflation again
23:02:25 <_glx_> hehe when it was a cheat we could just discard the report
23:03:04 <truebrain> We can still close it
23:05:59 <peter1138[d]> Well, that might be a bit much.
23:06:09 <peter1138[d]> And the commit predated the issue ;D
23:08:19 <truebrain> We could just have removed inflation in 14.0 .. plague release anyway ๐
23:08:28 *** Wormnest has joined #openttd
23:08:50 <locosage> Leave something for 15.0 :p
23:14:26 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
23:14:39 <truebrain> Thinking more about 11969, it is working exactly as intended. If you want to go through the horrible years of inflation again, nobody is stopping you!
23:23:34 <xarick> keep inflation, sometimes I use it to test AIs strength
23:24:01 <Eddi|zuHause> that's probably the worst argument to keep a feature
23:24:11 <_jgr_> xarick: You can just use basecosts if you need to make things more expensive
23:25:25 <xarick> there was a time where inflation used to bankrupt profitable AIs
23:27:23 <xarick> it helps gauge how the AI decides how to upgrade its infrastructure. It's interesting
23:29:30 <lea001> Leffe108viaGitHub: Turned out that this is quite a corner case, but truebrain wanted to have it logged. ๐
23:30:29 <xarick> sometimes only by complete demolition of the weaker routes could make the AI survive. They can't outdo the upkeep to remain with the same old routes.
23:31:02 <xarick> that's what inflation does
23:33:30 <truebrain> lea001: Yes, I do ๐ tnx!
23:38:00 <truebrain> Last time it took 3 years to fix a bug with graphs; let's see if this gets fixed sooner ๐
23:39:00 <_glx_> you're the graph specialist now ๐
23:46:41 <peter1138[d]> We should close all bug reports to do with cropped text if the user is not use our lovely custom OpenTTD fonts ๐
23:48:19 <_jgr_> All the users using CJK languages might not be too thrilled with that
23:48:53 <truebrain> I can't read what they are saying anyway ๐
23:49:32 <peter1138[d]> Zephyris just needs to get to work ๐ท
23:50:21 <peter1138[d]> But yeah, that bug report has the small size font set to a larger size than the medium size font...
23:55:17 <xarick> think i found a bug with the colour stuff in the script config list
continue to next day โต