IRC logs for #openttd on OFTC at 2024-01-30
โด go to previous day
00:09:12 *** tabytac has joined #openttd
00:09:12 <tabytac> most people ive seen, including myself, when disabling if towns can build roads dont leave road endings to expand from anywhere, leading to you needing to deleting buildings anyway to expand the road network.
00:09:22 <tabytac> so i think it could work
00:15:13 <peter1138[d]> Sandbox mode eh?
00:16:48 <reldred> Look, I could be drugged out of my gourd atm but I could swear I've been getting houses building on road ends in my JGRPP games
00:21:31 <locosage> emperorjake: That's how it worked long ago and citymania (or maybe it was novapolis back then) client even had a special road tool that didn't leave half tile roads because is it
00:31:33 <_glx_> took me hours to translate/fix, so many changes in english.txt ๐
00:32:43 <_glx_> and I had to dig into recent eints commit to retrieve previous translations
02:16:30 <kale91> tabytac: I don't like doing this, makes towns look too blob-y, road ends to make them look more sprawl-y
02:49:27 *** Wormnest has quit IRC (Quit: Leaving)
02:53:41 <merni> Perhaps wasting my time replying to that one but it is a long commute
03:29:11 *** debdog has quit IRC (Ping timeout: 480 seconds)
03:32:10 *** gnu_jj_ has joined #openttd
03:35:20 *** gnu_jj has quit IRC (Ping timeout: 480 seconds)
06:01:45 *** nielsm has quit IRC (Ping timeout: 480 seconds)
06:21:55 *** keikoz has quit IRC (Ping timeout: 480 seconds)
08:29:08 <_zephyris> merni: FWIW, I like your implementation ๐
08:43:46 <reldred> Yeah I think there's some value to it, as for specific coding implementation/etc I can't comment, but I've always been a fan of in Cities Skylines of their infinite money mechanism still showing your finances and your operating profit.
08:44:12 <reldred> If anything, I'd like it if in such a sandbox money mode the cash balance in the bottom right is replaced by the operating profit.
09:30:34 *** thelounge345 has joined #openttd
09:31:11 <locosage> I remember seeing some percentage scaling functions in some of the daylength PRs are they in the master already?
09:33:16 <locosage> nvm, found them in 10606
09:33:22 <locosage> guess I'll just do something similar
10:26:23 *** D-HUND is now known as debdog
10:29:29 <tabytac> reldred: to be honest, at one point in typ in most games, I dont really care about the totla money i ahve and the profit is more useful, so this option in any regular game could be great too
10:47:59 <peter1138[d]> > For example, using prefixes like โprod,โ โdev,โ โstaging,โ or โlogsโ can help categorize buckets (e.g., cloudsee-marketing-prod, cloudsee-admin-test).
10:48:03 <peter1138[d]> That looks like a suffix to me ;D
10:54:49 <truebrain> this seems very hard for people, what is a suffix and what is a prefix ๐
11:01:18 <merni> reldred: I can see that option being useful in general. But in infinite money mode (intentionally not called sandbox as that would confuse with the new 'sandbox options) there would be a good proportion of people who have negative profit as well, and keeping that red number in the corner is just as bad as the money balance. If at all such an option is added, it should be a separate option that can
11:01:18 <merni> be enabled either with or without infinite money mode.
11:03:29 <merni> DefinitelyNotRau117v: If we in future merge cheats with settings, how can the tracking be done? Afaik there is no record of whether a setting was ever used, only whether it is active now
11:03:51 <truebrain> the tracking will be removed
11:04:26 <truebrain> as in, with settings like yours, they become redundant
11:04:33 <truebrain> I do wonder, does our gamelog track setting-changes?
11:04:39 <LordAro> are you thinking of turning them into settings that can't be changed within game?
11:05:01 <truebrain> LordAro: I am not; are you?
11:05:18 <truebrain> ah, yes, gamelog contains setting changes already
11:05:39 <truebrain> gamelog is a log we keep for changes that happened to the game
11:05:50 <truebrain> version changes, NewGRFs that are being changed, setting changes, etc
11:06:15 <merni> truebrain: Tbf my setting is obvious when it is "abused" in that the money will be negative :p
11:06:42 <truebrain> so if we remove the "give 10M money" with your new setting, we can still see when people, even for a brief moment, had that setting on
11:07:06 <truebrain> so we already track users like that ๐
11:07:26 <merni> Is this log accessible anywhere from the game or written to a file?
11:07:31 <truebrain> does make me wonder if we delibrately never made a GUI for it, or if nobody bothered ๐
11:07:42 <truebrain> merni: dumped when your game crashes!
11:07:50 <LordAro> i think there's a command?
11:07:50 <truebrain> and any savegame reader can see it ๐
11:08:04 <LordAro> but a GUI would be nice
11:08:19 <truebrain> LordAro: there indeed is even a command
11:08:28 <truebrain> the wonders if using functionality that already exist; so lovely
11:10:09 <truebrain> so that gives a nice road forwards to removing more of this cheat stuff
11:10:12 <truebrain> that is pretty nice
11:10:48 <truebrain> guess the "changing company" and "changing date" are the only two "annoying" onces
11:11:09 <merni> Yes... those are not logically settings
11:11:10 <truebrain> but okay, for 14.0 I suggest we just leave sandbox bla alone
11:11:27 <locosage> there is nothing wrong with having "active" cheats that aren't settings
11:12:07 <merni> locosage: When they are called cheats no, but when they are called "sandbox settings" ideally they should be :p
11:12:24 <locosage> I don't care what they're called
11:13:12 <LordAro> tbh, those are *cheats*
11:14:33 <rau117> truebrain: To maintain at least some competitiveness, we need to not remove tracking from (not_)cheats, but add it to every setting that affects gameplay.
11:14:33 <rau117> Then in the challenges it will be possible to clearly say that one player completed it as required, and the other cheated on easy settings and changed them at the end of the game to standard ones.
11:15:01 <rau117> Anyway, โcreativity/sandbox/realismโ is not the only possible game scenario.
11:15:03 <locosage> read below, it's already added to every setting
11:15:08 <merni> And what TB is saying is there is already tracking for every setting
11:15:30 <merni> Just not shown ingame as a tick mark
11:15:42 <truebrain> add tick mark to every setting when?
11:16:07 <rau117> locosage: well... looks like I thought about the text for too long so that the discord didn't scroll to new messages (=
11:17:32 <merni> Heck, cheats are also tracked in the game log apparently
11:17:52 <merni> So there is already an easier way to find cheat use than savegame decoding
11:18:11 <truebrain> gamelog in general is very useful, especially for bug reports
11:18:20 <truebrain> too many bug reports were like: THE GAME CRASHES I PROMISES I DIDNT CHANGE NEWGRFS MIDGAME
11:18:22 <locosage> don't see cheats in the gamelog...
11:18:22 <truebrain> which was a lie ๐
11:21:40 <merni> locosage: Yeah, I may have been misled. There is a text message for it but nothing actually logs cheats i seems
11:22:24 <merni> Probably not too hard to add
11:22:34 <rau117> merni: Maybe then make a switch? For some, current balance is more important, for others โ yearly profit. Others may find it useful to be able to access sandbox settings.
11:22:34 <rau117> *Although I don't know how bad you have to play for the profit to be negative even on vanilla settings. Which โgood proportion of playersโ are you talking about?..*
11:23:10 <merni> Those who mostly optimise aesthetics
11:23:17 *** greeter has quit IRC (Remote host closed the connection)
11:23:37 <merni> By "good proportion of players" I mean proportion of players who would use the infinite money mode
11:23:53 <merni> Not that such statistics matter anyway...
11:24:48 <locosage> yearly profit only updates once a year, don't see much point in showing it in the status bar
11:25:02 <rau117> truebrain: Change company definitely can be ยซjust a settingยป. For example when you save multiplayer game, you always will join company 1, and only way to join your own company is using ยซcheatsยป.
11:25:46 <merni> I am wary to add a setting for something that is just one click away (in the finance window)
11:26:05 <LordAro> shouldn't be difficult (ha!) to pop up a dialog on loading a multiplayer save to ask which company to join
11:26:20 *** greeter has joined #openttd
11:26:32 <peter1138[d]> merni: don't feature creep ๐
11:26:56 <locosage> join save as spectator xD
11:27:23 <xarick> I have a start_as_spectator for single player
11:28:33 <rau117> merni: Even with perfectly aesthetic things, the company will have at least some profit. And in normal settings, this profit will definitely be higher than the costs. Making money is difficult for some ยซhardcoreยป settings, but using sandbox mode on such thing is slightly pointless.
11:29:11 <LordAro> rau117: you're straight up incorrect there
11:29:23 <LordAro> to the point where it's not worth mentioning further
11:29:24 <peter1138[d]> If you're arguing that it's too easy too make a profit, you're also arguing that there shouldn't be an infinite money mode.
11:29:47 <peter1138[d]> I reckon you should just not use it.
11:30:50 <merni> peter1138[d]: It will never be in this PR anyway
11:31:37 <rau117> Well... I didnโt say that there shouldnโt be such a game mode. I'm just saying that money and profit shouldn't be completely removed from such mode.
11:31:37 <rau117> Still, the sandbox can be used to test tactics for a โregular money gameโ.
11:31:38 <merni> Because such a setting would be also useful in non-infinite-money mode
11:32:00 <peter1138[d]> merni: That was code for "ignore the silly" ๐
11:32:06 <merni> rau117: ... It is not removing money and profit
11:32:15 <peter1138[d]> Okay well you're in luck, before money and profit are not removed.
11:32:34 <locosage> show micro operating profit chart in the statusbar ๐คญ
11:34:08 <LordAro> i've heard worse ideas
11:35:43 <locosage> it was mean as joke but the more I think about it the more I like it
11:36:15 <locosage> there are ways to make miniature but useful profit visualization
11:36:22 <locosage> and will also act as a button for chart
11:36:56 <peter1138[d]> Do it like the framerate performance graphs... scrolls so quick you can't actually see anything useful...
11:37:25 <locosage> cpu/ram minicharts in status/toolbars are not unheard of
11:44:11 <xarick> interesting, the sped up game has a noticeable impact on my AI performance
11:49:53 <rau117> I guess that this is because other parts of the game take over the performance, leaving a less resources for the AI
11:51:30 <xarick> wondering if it has any real impact
11:54:46 <rau117> locosage: Well then, display the average profit for the last [12] minutes with an update of [10] seconds
11:57:57 <xarick> it already starts doing different things
11:59:08 <rau117> Under stable conditions, are the actions exactly the same?
11:59:29 <xarick> yes, I expected that to be the case
12:01:20 <xarick> oh nevermind... I forgot an important detail...
12:01:35 <xarick> the stupid loadgame rerandomization of ai settings
12:02:25 <xarick> I keep stumbling upon this bug all the time
12:07:56 <rau117> merni: Maybe then open the settings window when you click on the balance area? The usefulness is questionable, but it will help distance the player from โlooking at the red numbersโ
12:08:18 <merni> Open the *settings* window? why?
12:08:35 <rau117> well... if cheats are moved to the settings category
12:09:06 <merni> Clicking there already opens the finance window, which is sensibly related to the money balance/
12:09:54 <merni> Opening either the cheat/sandbox window or settings window is unrelated to the money balance
12:12:31 <rau117> If the problem was to distance players from the "red negative numbers". Do not show the current balance and do not open money window it when clicked.
12:18:07 <merni> That is huge overcomplication. As I said to zorg on the PR, the point is not to prevent players from intentionally opening windows and getting upset or whatever. Removing the balance from the status bar is a good idea because that is just passively there all the time and cannot be hidden; opening the finance window (either from the menu or by clicking on the balance) is a conscious action and the
12:18:07 <merni> assumption is that the player actually wants to see the stuff.
12:19:34 <merni> You will also notice that there are still floating cost/income/expense texts (which can be disabled by a separate setting), and red text in the vehicle list/description if a vehicle is making a loss. I did briefly consider making those not red if the setting is enabled, but I think that is also too much complication.
12:20:18 <merni> Also, it is not like seeing red text is an earth-shattering thing. It is just mildly annoying.
12:20:50 <xarick> it's a tycoon game! imagine not looking at profits
12:20:52 <merni> Also also, that is not the "problem" this PR tries to solve -- the problem is the unsuitability of the current method (money cheat) for the needs of sandbox play
12:21:15 <merni> xarick: Today that is just one of the reasons people play openttd
12:23:35 <peter1138[d]> I want to use sandbox mode and look at profits.
12:24:14 <peter1138[d]> But then again I also have a massive initial loan ๐
12:25:03 <merni> peter1138[d]: well, yeah, and this is possible :)
12:25:10 <peter1138[d]> Hmm, 230 ships, what's the expected performance of the region pathfinder.
12:25:11 <merni> just not in the statusbar right now
12:25:39 <peter1138[d]> Getting 19ms average per tick which seems quite high.
12:26:20 <peter1138[d]> I was testing the uninitialized memory
12:26:52 <peter1138[d]> 0.21ms, that seems better.
12:27:20 <merni> Is it just me or does anyone else find "Disallow train reversing in stations: Off" a confusing way to put it? "Allow train reversing in stations: On" seems clearer
12:27:39 <rau117> merni: I mean no offense, but in my opinion, the idea with โinfinite moneyโ is overcomplicated. It could be solved with a simple input field. Instead of having to click on โadd ยฃ10mโ several times, just give the player the opportunity to enter 999 999 999 into the balance window, the game will handle the rest on its own.
12:30:20 <merni> rau117: OK, so I can enter 99999999 into the balance field, what would happen then with the finances? That probably would be handled (like with the money cheat) as a miscellaneous income
12:30:30 <merni> Wich messes up the profit numbers
12:30:43 <peter1138[d]> That's basically a "don't change anything" optiojn.
12:31:14 <LordAro> this feels like we're back at the beginning again
12:31:26 <LordAro> i think we're probably done here
12:31:46 <peter1138[d]> We were hours ago ๐
12:32:02 <peter1138[d]> It was almost merged already apart from one minor bug ๐
12:32:08 <peter1138[d]> This AI likes canals right.
12:32:10 <merni> Yeah, there is only so much time you can restate the same argument
12:32:25 <merni> My grammar is suffering
12:32:55 <merni> peter1138[d]: How about getting it closer to that state again with a review :p
12:33:05 <LordAro> peter1138[d]: who needs money anyway
12:33:23 <peter1138[d]> Currently this AI, because I don't have an infinite money mode yet.
12:33:26 <LordAro> that is, amusingly, a reference to your image, rather than the previous discussion
12:34:10 <rau117> merni: Instead of adding as profit, just change the amount of money. Well... let's say it's like changing a variable through a cheat engine.
12:34:27 <peter1138[d]> Ah, these AIs have taken out the full loan.
12:34:35 <merni> Then the finance figures don't even add up. That is just accounting fraud
12:34:44 <peter1138[d]> They are now having to pay ยฃ40,000,000 interest per period.
12:35:48 <peter1138[d]> Do AIs start off with max loan, or has this one not realised that it shouldn't just go for max? ๐
12:36:20 <peter1138[d]> I guess most AIs will do it because it's easy.
12:36:54 <rau117> merni: Well, yes. The name does not greatly affect the result. It can be called cheating. It can be called infi. money or just sandbox mode.
12:36:54 <rau117> But if it's easy to implement, and if it just works, why not do it?
12:37:29 <merni> This way is even easier to implement
12:37:36 <merni> And has already been implemented and tested
12:38:21 <merni> though of course further testing to uncover any other edge-cases would not be bad
12:40:12 <blathijs> merni: About disallow vs allow reversing in stations: I think it is worded like this because it was originally a list of options that changed behavior compared to the classic TTD, so all "Off" would mean you got the original behavior. That might not be relevant anymore now, of course.
12:41:19 <rau117> merni: Can it be just downloaded as ready-bade? Well... without having to build the game from source code. *instead of giving dubious ideas, I can just help to test it*
12:41:51 <merni> rau117: Online preview is already available. A PR build can be enabled by one of the core devs if they feel it is necessary
12:42:02 <merni> Then it can be downloaded as a compiled executable
12:43:07 <talltyler> Go to the PR and find the `View deployment` button to play the preview
12:57:14 <merni> andythenorth: GS can already manage money...?
13:08:20 <rau117> A little distant question. The inability to set 1 year in less than 12 minutes is this how it was intended?
13:09:50 <rau117> Okay... why not allow it?
13:12:46 <peter1138[d]> andythenorth: Yes. This spring onion is a strong one...
13:16:25 <talltyler> At normal speed, TimerGameCalendar::date_fract counts up every tick until it reaches 74, then the day advances and date_fract resets to 0 to count the next day. When calendar time is slower, date_fract counts up less often (not every tick) but still goes to 74. We cannot change the day before it gets to 74 or make it increment by more than 1, because we expose it to GRFs.
13:20:54 <talltyler> We design a lot of things around not breaking old GRFs ๐
13:21:45 <rau117> eh okey, thanks for the answer
13:21:49 <locosage> newgrfs, the root of all evil ๐คญ
13:46:42 <peter1138[d]> I do actually need a new bike shed...
13:51:47 <talltyler> Does your squash button not work, Peter? ๐
13:57:37 <truebrain> lol @ talltyler and that approval message ๐
13:59:03 <LordAro> i do like that comment from xorg
13:59:11 <LordAro> "Maybe it's even better than before"
14:00:07 <truebrain> LordAro: did you see my message about changelog script? Could use your input, as you are a wizard when it comes to making changelogs ๐
14:01:17 <truebrain> guess you didn't see either! ๐
14:03:51 <LordAro> did you account for fixes to issues that were only introduced after 13.4 ?
14:04:25 <LordAro> i think that covers quite a lot of them
14:04:28 <truebrain> If someone did `Fix <hash>`, and that hash is inside the set of commits to consider, it removes them
14:04:55 <truebrain> if you have better ideas to detect what shouldn't be in the list, I am all ears
14:05:10 <truebrain> I can access both the commit as the PR
14:05:47 <LordAro> mm, to automate it you'd have to rely on the "OpenTTD version" in the original being accurate
14:06:05 <LordAro> or rather to be accurately set to the minimum version
14:06:20 <truebrain> yeah .. so I didn't really see a way to do so
14:06:34 <LordAro> there's quite a few "Fix #nnn, <hash>" still in the log too, does that get accounted for?
14:06:56 <truebrain> hmmm ... can you give me one example?
14:07:23 <LordAro> 308 is definitely a "new" bug
14:09:23 <LordAro> line 641 has a "(#-1)"
14:09:35 <truebrain> yeah .. some commits don't give me a PR back
14:09:43 <truebrain> so those are -1, as ... GitHub weirdness
14:09:50 <truebrain> only happens with 2 commits in the 1800 commits
14:10:05 <truebrain> now I think about it .. I think someone force-pushed to master at some point
14:10:09 <truebrain> that most likely is the reason
14:10:50 <LordAro> but in terms of actually automating it, no further ideas
14:10:59 <truebrain> too bad; as the list is long
14:11:03 <LordAro> could flag up a few lines by matching on certain keywords
14:11:04 <truebrain> but I will get those 306s removed ๐
14:11:19 <truebrain> already did for `[CI]` and friends ๐
14:11:35 <LordAro> there'd be no guarantee that they'd want to be removed though
14:11:45 <truebrain> that is always the case
14:11:51 <truebrain> I remove all `Codechanges`... there might be something in there
14:11:57 <truebrain> but .. on the other hand ... wtf were we doing!
14:15:12 <truebrain> I also tried to use LLM to classify whether the commit should be mentioned .... but it considered most statements very technical
14:15:49 <LordAro> guess we'd better make a start on curating it then
14:16:17 <LordAro> at a brief glance we should be able to at least cut it in half by removing all the technical stuff
14:16:28 <truebrain> yeah; something for later this week I guess
14:16:35 <truebrain> when we approach either RC1 or beta1
14:16:58 <truebrain> I managed to make a commit " Add: "
14:17:07 <truebrain> I changed the title before squash
14:17:54 <LordAro> no commit checker for squash messages
14:20:50 <truebrain> okay, could remove 71 "fix" commits
14:20:57 <truebrain> because my reference detection didn't even work ๐
14:22:53 <truebrain> just the amount of entries that cleans up ๐
14:23:23 <truebrain> owh, the `-1` entries are also gone now
14:23:36 <truebrain> ah, yes, I made that a bit different, by just not mentioning -1
14:24:22 <peter1138[d]> Urgh, bootstrap, why :S
14:57:13 <xarick> after some years being around, I start to understand how you feel when someone mentions another new setting.
14:57:25 <xarick> i'm starting to feel it too
15:03:04 <peter1138[d]> Silly AIs, aren't they intelligent enough to know they don't need buoys...
15:03:48 <peter1138[d]> Hmm, I need some better scaling for heights
15:04:01 <xarick> well, I edited mine to stop using buoys
15:04:17 <xarick> but haven't uploaded to bananas yet
15:04:57 <xarick> there is also the train code I added in which is... rather messy, I don't feel like shipping it, it's not good enough for my standards
15:05:45 <merni> I updated my PR description and added screenshots. Maybe a bit too late since it is already approved, bvut whatever :p
15:06:56 <xarick> it's in a limbo, not sure what to do with it
15:08:19 <xarick> too many disrespectful train newgrfs, many limitations, hmm.,..
15:08:50 <xarick> what works for one newgrf may not work for another
15:09:44 <xarick> besides, it's slow, a heck of a ton slow, compared with other AIs
15:16:00 <xarick> most importantly, I can't make it reach 5000 trains
15:19:57 <xarick> I was waiting for glx to do the `static const SQInteger MAX_VALUATE_OPS = 1000000;` PR
15:21:45 <merni> why can you not do that yourself?
15:23:32 <peter1138[d]> He won't be able to explain why it should be changed ๐
15:24:54 <xarick> I wanted a different approach
15:25:04 <xarick> one that doesn't kill ais
15:25:42 <truebrain> okay ... what other bugs are we going to squash for 14.0 .. let's seeeee
15:27:13 <merni> it would be nice to fix #11470 but that requires a good bit of thinking
15:28:41 <merni> ie on separating at least a little the concept of "group" and "first vehicle/last bought vehicle of a group"
15:31:13 <peter1138[d]> Hmm, non-fractional scaling looks weird now.
15:31:46 <peter1138[d]> All the gaps. I got used to them not being there quickly ๐
15:35:58 <truebrain> okay, `generation_seed` is kinda funny .. you get the impression you can change it in the configuration file, but you really cannot
15:40:27 <peter1138[d]> There used to be a seed field but someone decided it was not necessary.
15:47:05 <xarick> btw, the random seed for ais, what is it based upon?
15:47:08 <LordAro> in the past year at work i've deleted 50 times more lines than i've added
15:47:24 <truebrain> LordAro: I assume there is no KPI for you on lines-of-code-written? ๐
15:47:34 <LordAro> admittedly ~80% of those deletions are from the same commit
15:47:38 <LordAro> truebrain: thankfully no
15:47:53 <LordAro> but i think i'll leave the numbers in anyway, just to make sure it remains that way
15:49:03 <xarick> there is a slight issue imo with the random gen seed. It's not so random in places where it's expected to be
15:49:49 <xarick> random deviation, and random settings keep rerolling the same values on different "new games"
15:50:23 <xarick> map gen seed is randomized, but not these ai seeds
15:51:36 <xarick> I think they should be based on the map gen seed
15:53:36 <truebrain> spend more time on the PR description than I did on the code ๐
15:57:46 <truebrain> it is fun to see how years of small changes make some code flows very odd ๐
15:58:28 <truebrain> merni: I don't do NewGRF issues, so I leave that to others ๐
15:59:42 <peter1138[d]> Bah, there's only 3 unicode shade blocks, so I've only got 5 shades to play with.
16:01:43 <truebrain> "Can you test ABC", user does something else .. ๐
16:03:16 <truebrain> Didn't I recently see some work on midi volume bla?
16:03:45 <truebrain> ah, yes, peter1138[d] did. Likely that fixes that issue too?
16:04:59 <peter1138[d]> Probably not, and there's no much that can be done as midi volume is separate.
16:05:20 <peter1138[d]> It's like changing your TV volume and your Hi-Fi volume and expecting 5 to be the same level.
16:06:26 <truebrain> well, the report in #9295 says the some files do obey the volume control where others do not
16:06:28 <truebrain> that ofc is a bit odd
16:07:27 <peter1138[d]> Oh okay, actually reading it, yes, that's probably fixed.
16:08:44 <truebrain> always sad, to read over a year later that nobody actually put any effort in a request made ๐
16:08:47 <truebrain> clearly nobody cares enough ๐
16:09:19 <truebrain> pretty sure 9483 is just lack of CPU power
16:09:37 <truebrain> higher resolution -> more distortion ...
16:19:09 <truebrain> really ... that report is so weird.
16:19:16 <truebrain> it claims to have swap enabled, but I really really doubt that is true
16:25:41 <xarick> he runs 15 NoCAB instances, 8 GB each
16:31:44 <truebrain> feel free to explain here talltyler , but I don't get it ๐
16:33:23 <truebrain> now I am even more confused ๐
16:33:37 <truebrain> like I explained in my PR description, no functionality is changed with my PR
16:33:49 <talltyler> Your linked comment seems to say otherwise
16:33:53 <truebrain> what do you think `-G` does? Might be a good start to understand what you are trying to say ๐
16:34:10 <talltyler> I dunno, you told me it did something! (In the linked comment)
16:34:22 <truebrain> `You can use -G on startup to force a seed. ` that part?
16:35:21 <truebrain> You seem to imply that `-G` loads a value from `openttd.cfg`, but I can't find any comment of mine that states that. So I think I don't understand what you are saying ๐
16:35:21 <talltyler> Why storing it in openttd.cfg is weird to me: if you ever by accident put a number in there that is not GENERATE_NEW_SEED, and looking at this PR many people already have that now in their openttd.cfg, you will always get the same map over and over and over and over and over again, without clear feedback why this is the case.
16:36:09 <talltyler> Oh, are you saying that we shouldn't fix #9433 by reading the seed from the config file?
16:36:14 <truebrain> okay, I see where you are confused. The PR linked to the issue, instead of #9435. Fixed that.
16:36:26 <truebrain> it was a cross-post why #9435 was a bad idea
16:37:04 <truebrain> so just so we are on the same page: `-G <seed>` is the CLI parameter
16:37:11 <truebrain> it sets a seed, and only works in combination with `-g`
16:37:22 <truebrain> so `-g -G <seed> ` starts a game with that seed ๐
16:37:41 <talltyler> I didn't realize you were talking about 9435, and were describing how it currently worked
16:38:14 <truebrain> yeah, that linking failure was a bad mistake on my part ๐
16:39:15 <xarick> isn't the seed read from those macro scripts .scr files if i recall?
16:39:25 <truebrain> tnx talltyler , I understand why you are confused and why I was confused, and why there was confusion all around! ๐
16:39:57 <talltyler> Heheh, here's a fun bug caused by a NewGRF author abusing the spec ๐
16:40:15 <truebrain> shall I just close it? ๐
16:40:32 <talltyler> Spec says it can be negative ๐
16:40:40 <truebrain> specs often lie ๐
16:40:47 <talltyler> (Spec is a wiki file, maybe I wrote it) ๐
16:44:00 <peter1138[d]> Why is negative cargo value allowed...
16:44:44 <talltyler> No, cargos that cost you money to transport
16:44:59 <talltyler> Industries of the Caribbean is built on the premise of paying for imports
16:46:37 <peter1138[d]> I'd suggest that transfer credits should not apply if cargo value is negative.
16:47:06 <peter1138[d]> All legs have to pay the fee, and if you transport it weirdly, you get to pay higher fees.
16:47:34 <peter1138[d]> Better place ๐
16:47:55 <peter1138[d]> Arastais was a reliable contributor ๐
16:48:23 <xarick> not sure if that was sarcasm
16:49:16 <talltyler> They probably just had no free time ๐
16:51:40 <xarick> he single-handendly broke ... stuff
16:52:02 <xarick> better not say more... it still irks me to this day
16:55:08 <peter1138[d]> Single-handedly.
16:55:14 <peter1138[d]> With reviewers and everything.
16:55:54 *** Wormnest has joined #openttd
17:05:26 <truebrain> oops, I mis analyzed #9742 .. fixed now, but now I need to delve into things a bit more ๐
17:17:42 <merni> where can I find a vanilla save with shared orders and timetables?
17:17:51 <andythenorth> hmm dozens of OpenTTDs
17:17:53 <merni> (I have never played with timetables in vanilla :p )
17:19:00 *** gilgames has joined #openttd
17:19:00 <gilgames> I have a small suggestion for any update. Make the iron ore mine color on the industries map, different. Currently it's blends in way too good.
17:23:58 <frosch123> there is a setting to change the minimap colour
17:24:22 <frosch123> which means that no colour schema will ever work with everything ๐
17:24:45 <frosch123> you can also hover above the industry type in the legend, and it will highlight the matches
17:29:53 <peter1138[d]> That map went wrong ๐ฎ
17:40:59 <xarick> can finally run 15 Hogs
17:42:16 <xarick> I need an AI that maxes out the map!
17:42:49 <xarick> there's no better than AAAHogEx atm
17:52:46 <michi_cc[d]> Is #11902 waiting on anything specific for merging, or are you just waiting on a scapegoat to take the blame? ๐คฃ I'd volunteer for it.
17:57:24 <frosch123> i bet on "what, you can't give AIs infinite money as well" ๐
17:58:10 <peter1138[d]> Just needs a good description for the squash merge.
18:00:53 <michi_cc[d]> Hmm, I think "Feature: Infinite money mode" is fine, if you need the novel, there's always the PR.
18:05:29 <peter1138[d]> Does 'newmap' cause a survey to be sent...
18:07:42 <merni> didn't want to subimt this earlier as I would have to rebase one of them anyway
18:08:36 <talltyler> Yep no worries. I enabled auto-merge so itโll go as soon as CI finishes
18:08:56 *** gelignite has joined #openttd
18:10:39 <merni> now I am looking at the order list to see about exporting it... no guarantees anything will come of it but...
18:11:32 <peter1138[d]> Hmm, kind of variety...
18:13:34 <xarick> I'm trying to decipher why ScriptObject::random_states[owner]; doesn't work as expected
18:15:50 *** virtualrandomnumber has joined #openttd
18:16:41 <michi_cc[d]> I'll take a share of the OTTD 14 pitch forks, pease ๐
18:16:59 <talltyler> michi_cc[d]: If you're looking to stir up any more trouble, #10606 is the only thing standing in the way of a beta1 release. It's just waiting on a brave developer to approve it -- TrueBrain already recused himself from the decision ๐
18:19:27 <peter1138[d]> The only thing eh?
18:19:54 <talltyler> Uh, sorry -- last thing on the NotDaylength list. I'm not sure what else is blocking it ๐
18:21:51 <talltyler> Oh, I missed that comment entirely ๐
18:21:56 <talltyler> Will update momentarily
18:23:06 *** virtualrandomnumber has quit IRC (Quit: virtualrandomnumber)
18:27:28 <michi_cc[d]> talltyler: Something like a readable changelog I guess ๐
18:36:41 <peter1138[d]> #11378 fixes various issues with those hardcoded cargo types.
18:36:42 <DorpsGek> - Update: Translations from eints (by translators)
18:38:35 <peter1138[d]> And it had a conflict ๐
18:42:20 <xarick> i dont understand random states, why it comes back to the original value
18:43:43 <xarick> what happens first? the seed or the scriptconfig?
19:00:33 <truebrain> hmm .. it feels like #9742 is because although a TCP connection was established, no data is actually flowing
19:00:48 <peter1138[d]> Let the data flow
19:00:49 <truebrain> but without the ability to debug it up close, hard to figure out
19:07:32 <talltyler> Hmm, now why did I pick 400% as the maximum...?
19:09:57 <LordAro> truebrain: we must construct additional datas
19:10:22 <truebrain> yeah, I was considered adding a lot, and I mean a lot, more debug statements on lvl6
19:10:29 <truebrain> just to trace in much more detail what happens
19:10:44 <LordAro> we should do more to discourage -d9 :D
19:15:17 <truebrain> like 80% sure what the issue is ... but I need more data to be sure
19:15:41 <truebrain> I might write a solution for what I think might be the issue just to be sure ... meh
19:15:54 <truebrain> timing might be a factor, so it is a hard gamble
19:16:01 <truebrain> first, `-dnetwork=9` statements; lots of them!
19:19:04 <talltyler> Hmm, maybe I should avoid more than one industry production callback per day, just in case GRFs are doing silly things with the `produce_256_ticks` callback ๐ค
19:19:32 <talltyler> 300% of default sounds like plenty of production anyway
19:34:31 <truebrain> ```dbg: [net] [0] Receive_SERVER_WELCOME(): client_id=3
19:34:31 <truebrain> dbg: [net] [0] SendGetMap()
19:34:31 <truebrain> dbg: [net] [0] Receive_SERVER_CLIENT_INFO(): client_id=1, playas=255
19:34:31 <truebrain> dbg: [net] [1223] Receive_SERVER_MAP_BEGIN(): frame_counter=1223```
19:34:52 <truebrain> just the number in front isn't increasing ... guess I need to use one of the new timers instead of `_frame_counter` ๐
19:37:33 <truebrain> tbh ... the `Debug` should add the time
19:37:41 <truebrain> so done with logs that doesn't show the progress of time ๐
19:38:54 <truebrain> it is rather expensive to do the actual time, I guess
19:39:12 <truebrain> on the other hand .. debug messages ....
19:41:04 <_jgr_> There is already a setting to timestamp debug messages
19:41:10 <_jgr_> It's just not on by default
19:41:36 <truebrain> owh, `LogPrefix` .. was not looking there for it
19:47:26 <truebrain> lol, a bit messy that date on/off stuff ๐ Time to fix that too a bit ๐
19:52:31 <truebrain> awh, `%N` is not known by `fmt` .. too bad ๐
19:58:11 <truebrain> ```[2024-01-30 20:57:47] dbg: [net:9] NetworkClient_Connected()
19:58:11 <truebrain> [2024-01-30 20:57:47] dbg: [net:9] SendJoin()
19:58:11 <truebrain> [2024-01-30 20:57:47] dbg: [net:9] Receive_SERVER_CHECK_NEWGRFS(): grf_count=1
19:58:11 <truebrain> [2024-01-30 20:57:47] dbg: [net:9] SendNewGRFsOk()```
20:00:27 <frosch123> btw... why is that timestamp setting not enabled by default?
20:00:36 <truebrain> I was just bitching about that
20:00:40 <truebrain> will be over soon ๐
20:01:09 <truebrain> not the bitching btw; you have to deal with that ๐
20:12:13 <talltyler> Thanks michi_cc[d] โค๏ธ
20:12:43 <truebrain> ```[2024-01-30 21:12:08] dbg: [net:3] [server] Client connected from 127.0.0.1 on frame 406
20:12:43 <truebrain> [2024-01-30 21:12:08] dbg: [net:9] client[3].status = INACTIVE
20:12:43 <truebrain> [2024-01-30 21:12:08] dbg: [net:9] Receive_CLIENT_JOIN(): client_revision=20240130-more-networ-m96651b5ada, newgrf_version=503344484
20:12:43 <truebrain> [2024-01-30 21:12:08] dbg: [net:9] client[3].status = NEWGRFS_CHECK
20:12:43 <truebrain> [2024-01-30 21:12:08] dbg: [net:9] SendNewGRFCheck()```
20:13:06 *** Flygon has quit IRC (Quit: A toaster's basically a soldering iron designed to toast bread)
20:17:31 *** HerzogDeXtEr has joined #openttd
20:17:54 <xarick> i was clicking Step Into, following the code, and suddenly this
20:20:01 <peter1138[d]> Look further back
20:25:03 <truebrain> frosch123: I went a bit more extreme than the default ๐
20:27:50 <truebrain> 118 debug statements
20:33:02 <xarick> seems to have stumbled upon reaching the character 'รง' in the message
20:33:16 <_glx_> xarick: this construct, and the comment is so weird
20:34:15 <_glx_> oh I guess there's a missing conversion from OS
20:35:19 <_glx_> xarick: move up to see where the "native" string comes from
20:37:13 <_glx_> but you triggered the "crash" because stepping made OpenTTD unresponsive and killed the connection
20:37:34 <xarick> i have openttd language set to english
20:37:47 <_glx_> this string comes from windows
20:37:49 <xarick> why is that small part portuguese
20:38:09 <_glx_> that's why I said move up to see where message is filled
20:39:23 <truebrain> Rubidium: starting to look sharp ๐
20:39:31 <_glx_> I see what could go wrong
20:40:33 <_glx_> using FormatMessageA might not be the best choice for GetLastErrorAsString
20:40:49 <xarick> there's nothing before this
20:41:46 <_glx_> xarick: it's most likely GetLastErrorAsString() using wrong encoding
20:42:19 <Rubidium> truebrain: thanks; still not completely happy with the naming of things... though I just got an idea
20:51:32 <xarick> ~uint32_t(); very interesting
20:52:04 <xarick> a quick way to get MAX_UINT32?
20:52:18 <xarick> or UINT32_MAX i never know the order
20:57:34 <truebrain> regression failing because I forcefully enable dates in logs ... oh-oh ๐
20:58:01 <_glx_> but regression is supposed to clear the date prefix
21:00:10 <_zephyris> No survey this week?
21:00:38 <_glx_> timestamps should be ignored (the code says so)
21:03:25 <_glx_> annoying, whatever I try to trigger an http error, I just get a "freezed" download window
21:03:47 <_glx_> guess I'll need to play with firewall
21:03:55 <andythenorth> a long time ago I made 66% of the patch to fix the obscured speed number
21:04:02 <andythenorth> but I couldn't figure out the missing part ๐
21:04:14 <andythenorth> all it needs to do is move the speed to the before the destination
21:06:25 <truebrain> `Regression failed - Output in OpenTTD/build/regression_stationlist_output.txt` .. nah, that file is empty yo
21:06:38 <peter1138[d]> andythenorth: Is showing the speed necessary? :p
21:07:01 <belajalilija> andythenorth: so perfectly aligned
21:08:19 <andythenorth> peter1138[d]: I prefer it to seeing the full destination
21:08:24 <andythenorth> very hard to be objective ๐
21:08:49 <peter1138[d]> Show one, hover to show the other?
21:08:58 <peter1138[d]> Or cycle between then.
21:09:25 <andythenorth> marquee of course
21:09:32 <peter1138[d]> Hmm, this is almost like variety distribution but better.
21:09:42 <andythenorth> maybe I should just use 1x UI
21:09:52 <andythenorth> seems to have a giant vehicle window size
21:11:18 <talltyler> Looks easy to change, what should it say?
21:12:12 <andythenorth> peter1138[d]: or is it worser?
21:12:40 <frosch123> truebrain: i guess i never looked at the Debug macro. but i am shocked that it is an unguarded "if", and it never broke something with a "else" following the "Debug()"
21:12:51 <talltyler> `{VELOCITY} - Heading for {STATION}`?
21:13:05 <andythenorth> there are some special cases iirc though
21:13:07 <talltyler> I wonder if we can simplify at all
21:13:09 <andythenorth> nested conditionals
21:13:10 <truebrain> frosch123: yikes; will fix ๐
21:14:06 <truebrain> frosch123: at least it doesn't have a `;`, so you are forced to add one ๐
21:14:49 <frosch123> `do { ... } while (0)` works with following `;`
21:15:42 <truebrain> now to understand the bleeping CMake REGEX
21:15:46 <truebrain> as something is really fishy ๐
21:16:11 <truebrain> tons of `misc` statements are in there now .. and I am not sure why ๐
21:16:45 <_glx_> I just did ` if (true || _settings_client.gui.show_date_in_logs) {` (easy forcing) and regression pass for me
21:17:02 <frosch123> pff, our `assert` has the same issue
21:17:03 <truebrain> it is something else; please don't waste too much time debugging my failures ๐
21:17:20 <truebrain> frosch123: okay, in that case, mind making a separate PR out of this, to fix them all? ๐
21:18:18 <truebrain> `REGEX REPLACE` does not do what I would expect it to do ๐
21:19:08 <_glx_> ah yes it can be annoying
21:19:32 <truebrain> I think the timestamp entry is missing some slashes, and it just happens to work by accident ๐
21:19:42 <frosch123> you broke the regression btw
21:19:51 <truebrain> ..... welcome to, like, what, 20 minutes ago? ๐
21:20:01 <xarick> "GetTickCount overflows roughly every 49 days.
21:20:05 <frosch123> i do not read backlog ๐
21:20:12 <truebrain> truebrain: 23! ๐
21:20:28 <_glx_> xarick: not an issue usually
21:20:45 <_glx_> it's just a counter continuously counting
21:20:56 <xarick> the real source of the random number is something coming from microsoft
21:21:12 <truebrain> _glx_: any idea why we have `-dmisc` enabled for regression?
21:21:13 <xarick> and it's usually 0, not really that random
21:21:50 <_glx_> hmm we don't use system random IIRC
21:22:19 <xarick> the first value ever assigned to _random
21:22:47 <_glx_> Randomizer _random, _interactive_random;
21:22:57 <_glx_> these are our globla randomizers
21:23:22 <truebrain> I do not understand how our regression script could even work with `-dmisc=9` there ..
21:23:25 <truebrain> they are not in the result file
21:23:42 <xarick> okay, it's not 0, it's something different
21:23:52 <_glx_> anything not script is deleted from the result
21:24:37 <xarick> seed 42713921 unsigned int
21:24:44 <xarick> seems to be some kind of counter
21:24:56 <xarick> SetRandomSeed(GetTickCount());
21:24:57 *** gelignite has quit IRC (Quit: Stay safe!)
21:25:02 <_glx_> string(REGEX REPLACE "dbg: ([^\n]*)\n?" "" REGRESSION_RESULT "${REGRESSION_RESULT}")
21:25:09 <truebrain> omg, because for script `dbg` is removed
21:25:16 <truebrain> so that brings me back: why is it there in the first place
21:26:02 <_glx_> we first do `string(REPLACE "\ndbg: [script]" "\n" REGRESSION_RESULT "${REGRESSION_RESULT}")`
21:26:16 <_glx_> so dbg is still there for other types
21:26:28 <truebrain> yes yes, I already mentioned that ๐
21:26:37 <truebrain> but why do we have `misc` on when we just strip it?
21:26:50 <_glx_> dunno, I didn't write the command ๐
21:27:24 <xarick> The return value is the number of milliseconds that have elapsed since the system was started.
21:27:35 <truebrain> I did; but I also don't know ๐ฆ
21:27:40 <xarick> ah... the real source of the true random seed number
21:29:02 <_glx_> will never be used in openttd
21:29:33 <xarick> are you sure? I just looked at it
21:30:25 <truebrain> right, that should fix it
21:31:29 <_glx_> but that's only for the init and newgames, if you load a save or a scenario it will use the saved values
21:32:32 <talltyler> `String 0x88EC is invalid. You are probably using an old version of the .lng file.`
21:32:39 <talltyler> There's an error I've not seen before.
21:32:48 <_glx_> linux/osx use `SetRandomSeed(time(nullptr));`
21:32:52 <xarick> _random.SetSeed(_settings_game.game_creation.generation_seed)
21:33:02 <talltyler> No string with that ID is found in strings.h ๐ค
21:33:04 <xarick> ah, this is what makes it 0
21:33:22 <peter1138[d]> If it existed it wouldn't be invalid ๐
21:33:29 <truebrain> talltyler: lol .. happens for me when I use a different `lng` file than the version I build for
21:33:46 <peter1138[d]> Invalid lang pack or somesuch is the normal error.
21:34:33 <talltyler> I moved one SetDParam but don't know why that would break it
21:34:44 <frosch123> 0x88EC is too large for a StringID, you mixed up dparams order
21:37:54 <_glx_> SetDParam(0, v->type); is wrong in OT_GOTO_DEPOT case
21:38:00 <_glx_> it's for the depot type
21:38:53 <talltyler> Oh I see, thanks ๐
21:39:18 <_glx_> usually if something is wrong check the string commands
21:39:52 <talltyler> Wait, I confused myself
21:39:58 <talltyler> I didn't touch that DParam
21:40:23 <_glx_> yeah check SCC_DEPOT_NAME
21:40:28 <talltyler> Ah, so that needs to be set right before destination?
21:40:31 <_glx_> it needs type and destination
21:40:38 <_jgr_> You could re-order the parameters in the language file with the {N: syntax
21:42:06 <truebrain> almost under 150 bugs! I have 2 bugs fixed in PRs, so I guess it is at 150 ๐
21:42:54 <xarick> that should make it 149 at least
21:43:08 <xarick> already counting with the rejecteds
21:43:39 <truebrain> merni: will you now fix #10370 yourself? ๐
21:43:51 <_glx_> IIRC for obm both windows and dos use the same tag
21:44:34 <truebrain> _glx_: can you confirm and inform the user?
21:47:55 <talltyler> Just for you andythenorth โค๏ธ
21:48:12 <_glx_> and both windows and dos work for me
21:48:22 <truebrain> yeah, so we need better logs
21:49:00 <andythenorth> was it merged yet talltyler ๐
21:49:37 <_glx_> oh maybe one of the extra music set uses TTDW shortname
21:49:47 <_glx_> only thing I can think of
21:50:08 <talltyler> Did you give your kids your Discord password? ๐ Sounds like "are we there yet?" on a long drive!
21:50:58 <andythenorth> I had something merged once
21:51:03 <andythenorth> it was very exciting
21:52:54 <_glx_> does it need a scrollbar ?
21:53:05 <truebrain> it now can hide information without telling the user
21:53:10 <truebrain> whatever the solution should be, this is not it ๐
21:54:17 <LordAro> does bananas check for duplicate shortnames?
21:54:29 <LordAro> ...and is TTDW reserved if so?
21:55:25 <truebrain> on BaNaNaS you cannot have duplicated shortnames ๐
21:55:33 <truebrain> otherwise shit would have hit the fan years ago ๐
21:55:52 <truebrain> and no, there is no explicit ignore list; there are several entries blacklisted however
21:56:02 <truebrain> no clue if TTDW is among that
21:57:07 <_glx_> pff need to conver the numbers into letters
21:57:22 <truebrain> or ........ the letters into numbers ๐
21:57:24 <truebrain> might be faster ๐
21:57:36 *** nielsm has quit IRC (Ping timeout: 480 seconds)
21:58:09 <LordAro> is that what the 43414e33 are?
21:59:04 <LordAro> in which case, no, only one starts with 'T'
21:59:10 <LordAro> and the second letter is not 'T'
21:59:57 <peter1138[d]> Ah that one. I remember getting side-tracked supporting fractional font sizes...
22:00:18 <truebrain> peter1138[d]: focus is hard ๐
22:00:33 <peter1138[d]> As I get older, yes.
22:00:38 <_glx_> should have 5454 in begin or end, and it's not the case
22:00:44 <peter1138[d]> Oh you mean mental...
22:02:14 <peter1138[d]> And the issue with that is the config system doesn't understand floats at all, so I did it as a string, and... urgh :p
22:02:30 <truebrain> peter1138[d]: haha, yeah ..... ๐
22:02:38 <truebrain> but is the bug a valid bug?
22:02:43 <truebrain> before you get side tracked in your side track again ๐
22:03:09 <peter1138[d]> Sure, I already commented in the issue long ago.
22:03:22 <truebrain> yeah, but your comment can be read in two ways ๐
22:03:48 <peter1138[d]> Also, when using the OpenTTD Sans as a default font, the font size stuff doesn't do anything. Hmm.
22:04:08 <truebrain> as what the user reports is: it scale with interface scaling. Your reply to that is: that is expected
22:04:18 <truebrain> so I am not sure what the exact bug is in that ticket
22:04:35 <truebrain> I was hoping you could give some insights there, but I see you get side tracked by just thinking about this ๐
22:05:02 <peter1138[d]> The issue is the font command output is not unscaled by interface scale.
22:05:08 <peter1138[d]> So you enter 10, and it prints 20.
22:05:43 <truebrain> but it prints the `10` between the `[]` .. not sure what that means btw, the two prints
22:05:52 <truebrain> I assumed one was something like "configuration" and the other "applied"
22:05:56 <truebrain> but ... blindly guessing
22:06:22 <truebrain> so I am still puzzled what the bug is ๐
22:06:29 <peter1138[d]> Thanks fonts ๐ฎ
22:06:45 <peter1138[d]> unscaling it is subject to rounding issues.
22:06:58 <truebrain> is that an actual issue? ๐
22:07:05 <truebrain> can't do 8.5 anyway ๐
22:07:12 <truebrain> (honest question btw; I really do not know)
22:07:59 <peter1138[d]> I don't know any more, since OpenTTD Sans came it's all been kinda irrelevant.
22:08:38 <peter1138[d]> I'm going with: unscaling it produces just as unexpected results, so let's not do that for the moment.
22:09:06 <peter1138[d]> And therefore, technically that bug is not valid, as the INPUT is meant to be scaled.
22:10:43 <truebrain> my brain hurts. Let me check if I get this right. The user inputted a value, which was processed unscaled
22:10:50 *** keikoz has quit IRC (Ping timeout: 480 seconds)
22:10:54 <truebrain> you say: let's not do that?
22:11:02 <truebrain> as then it is a valid bug, as we should read it as scaled value?
22:11:17 <truebrain> (sorry, fonts still hurt my head)
22:12:47 <_glx_> user ask 10, interface is set to x2, command prints 20
22:13:49 <_glx_> yeah it shows 20 in active font and 10 in requested (between [])
22:14:17 <peter1138[d]> Requested vs Active. Expected behaviour. Not a bug.
22:15:18 <truebrain> and for my understanding, that means that the console parameter is an unscaled value, right?
22:15:37 <_glx_> requested value is unscaled
22:16:57 <_glx_> font command is very basic, it just displays internal data
22:17:47 <truebrain> peter1138[d]: mind commenting in the ticket and closing it up? Or I can, but .. not sure I fully grasp it yet ๐
22:18:10 <truebrain> _glx_: yeah; it is one of those commands you actually need to know to understand; there are more of those ๐
22:18:44 <_glx_> but it's still better than closing openttd, edit config and restart ๐
22:19:13 <_glx_> and of course it's affected by annoying fallback mechanism ๐
22:19:17 <truebrain> I am however actually trying to understand it, but the language used is rather confusing ๐ฆ
22:20:43 <truebrain> Ah, okay, it is `Active [Requested]`
22:24:36 <_glx_> for the fun try `font large symbol` ๐
22:25:09 <_glx_> and see it change the 2 others to the fallback
22:25:36 <peter1138[d]> By the way, the font command came a month after interface scaling was merged, so it's always been like that.
22:25:58 <peter1138[d]> It's quite simple to make the font change only apply to the selected size.
22:26:16 <peter1138[d]> The way it does it now with the backup is a bit weird.
22:29:04 <truebrain> hmm .. can you set the maximum size of a WWT_TEXT ..
22:29:30 <peter1138[d]> No, only minimum size.
22:29:43 <truebrain> the Online Players window is a bit awkward when the server has a really long name
22:29:50 <peter1138[d]> You can set it in UpdateWidgetSize
22:29:55 <talltyler> There's got to be a better way (meaning, actually works) to get the previous order of a vehicle...
22:30:04 <talltyler> `Order *previous_order = this->GetOrder(this->cur_implicit_order_index - 1);`
22:30:28 <talltyler> Not sure what the difference is between implicit and real order indexes
22:31:00 <peter1138[d]> normally we use std::max to set size->width, but you can use std::min... and remember to scale ๐
22:31:55 <truebrain> I kinda only want to do it when it first opens
22:32:07 <truebrain> hmm .. yeah, should be fine
22:32:22 <peter1138[d]> UpdateWidgetSize is the right place.
22:33:29 <peter1138[d]> That is only called when the widgets are set up, or if interface scale is changed. (or fonts changed, etc...)
22:34:14 <truebrain> lol, `AddressSanitizer: heap-buffer-overflow on address` when changing interface size ingame
22:36:00 <truebrain> something is wrong here .. hmm
22:37:43 <Rubidium> lets see whether regression works there
22:38:33 <peter1138[d]> truebrain: If you mean the spacing, I know I have a patch for that.
22:39:04 <truebrain> and the `Invite` seems more to the left than the rest
22:39:06 <truebrain> but that might be the font
22:39:08 <Rubidium> for me there's a line difference and lots of trailing quotes with regression :(
22:39:46 <truebrain> Rubidium: Trailing quotes are a bug in the regression script
22:39:48 <LordAro> mm looks kerning related rather than actually offset
22:39:51 <truebrain> you can ignore those; they are not actually there ๐
22:42:33 <truebrain> still seems a pixel or so off .. curious
22:43:14 <peter1138[d]> Height wise it's because the top two lines contain buttons.
22:44:49 <_glx_> hmm but it's ${CMAKE_BINARY_DIR} so that's from build folder
22:46:25 <truebrain> _glx_: it contains the compat scripts
22:46:32 <_glx_> oh yes we copy .nut to binary
22:46:55 <truebrain> I wonder if Emscripten embeds the new fonts
22:47:06 <_glx_> then it should also need bin/lang
22:47:28 <_glx_> else it wouldn't even have english
22:47:30 <truebrain> ah, no, my original code was correct, hihi
22:47:45 <truebrain> I was too blindly following your comments, without any thinking of my own ๐
22:49:06 <truebrain> and indeed, nobody considered Emscripten when doing the embedded font ๐
22:49:55 <_glx_> oh emscripten does magic stuff
22:53:31 <truebrain> yeah, too much magic for my taste
22:57:07 <truebrain> ah, I never found the time to add FreeType to Emscripten either
22:57:38 <michi_cc[d]> truebrain: Isn't Emscripten missing Freetype anyway?
22:57:44 <_glx_> haha your comment in #9871 " if we notice the game crashed due to a driver failure", actually it's if we notice the game crashed
22:57:49 <michi_cc[d]> Oh, you just wrote that. LOL
22:57:55 <_glx_> and it's sometimes annoying
22:58:14 <frosch123> lordaro: you commented after i enabled auto-merge, now you have to PR yourself :p
22:58:25 <truebrain> _glx_: that nuance is not important to the end-user ๐
22:59:04 <truebrain> right, _zephyris asked about survey .. why didn't it work ..
22:59:10 <truebrain> ah, someone added lists ... where did lists get added ..
23:00:58 <frosch123> good that i don't read backlog then :p
23:02:40 <truebrain> the reason I forgot, is tha tI don't know how to do it ๐
23:03:24 <truebrain> lol, returns an `int`, which `std::min` doesn't appreciate ๐
23:03:27 <truebrain> you got to love C++
23:03:59 <peter1138[d]> Depending on your interface scale you might need to adjust that 200. It should be pixels at the old 1x size.
23:04:26 <truebrain> yeah, it is ๐ But good point
23:04:34 <truebrain> the default width of the window is 220, so I went slightly below it
23:04:41 <truebrain> (as there is shit on the left)
23:04:52 <truebrain> so by default it is every so slightly bigger than the minimum value
23:04:57 <truebrain> no clue if that is a good call
23:10:15 <truebrain> emperorjake: did you happen to see my request from the other day? ๐
23:10:40 <emperorjake> Yep, I'll have time tomorrow
23:11:05 <truebrain> no worries, when ever ๐ Just checking you saw it ๐
23:12:33 <xarick> I think TrueBrain broke something
23:12:37 *** HerzogDeXtEr has quit IRC (Read error: Connection reset by peer)
23:12:55 <xarick> newgame gen seed wasn't randomized
23:13:42 <xarick> must check where the newgame one is set
23:18:34 <truebrain> and in other news: 150 open bugs ๐ Was 226 last month ๐
23:18:52 <truebrain> This week, 23 closed issues and 1 new ๐
23:19:25 <_glx_> xarick: just tested, newgame->abandon->newgame, I got 2 different maps
23:20:35 <_glx_> and `newgame 10` then `newgame 10` in the console gives me the same map, as expected
23:20:51 <xarick> something's not randomizing in the script settings
23:21:02 <xarick> and i can't point out why
23:21:08 <truebrain> always good to point fingers first
23:21:13 <truebrain> always works well in this world
23:21:35 <xarick> i keep getting the same random deviation values on new game
23:21:53 <xarick> the map layout is randomized, but these settings aren't
23:22:04 <truebrain> hmm, that quote was amazing ๐
23:22:26 <truebrain> the regression test is btw a bit annoying, if a newline is added somewhere, you get a diff of the full file
23:22:35 <truebrain> but I doubt we can implement an actual diff in CMake ๐
23:22:51 <_glx_> yeah I did a very basic diff ๐
23:22:54 <xarick> i would expect the settings to be the same if newgame seed is the same
23:23:10 <xarick> but not when using newgame, random
23:23:27 <_glx_> AddRandomDeviation() uses OWNER_NON randomizer
23:24:39 <xarick> correction, these settings are random deviated but always to the same values between newgames
23:24:41 <_glx_> and these randomizer are initialised from _random
23:25:27 <_glx_> which is initialised with the seed
23:26:15 <_glx_> so maybe InitializeRandomizers is done too early
23:26:36 <truebrain> must be my PR, that did absolutely nothing in relation to any of this
23:26:45 <peter1138[d]> It's done 3 lines after _random.SetSeed()
23:27:21 <peter1138[d]> (But it is also done in AfterLoadGame() via InitializeWindowsAndCaches()
23:27:42 <_glx_> but in AfterLoadGame() it's after the seed is read
23:27:50 <_glx_> so it should be fine too
23:28:16 <xarick> MakeNewGameSettingsLive does a `_settings_game = _settings_newgame;`
23:28:20 <truebrain> now with working actions, I hope ๐
23:28:40 <xarick> this newgame isn't updated or something with a new random value...
23:28:59 *** ChanServ sets mode: +v tokai
23:29:12 <_glx_> but it is, else the map would always be the same
23:29:45 <xarick> don't know then why it happens
23:30:32 <peter1138[d]> AddRandomDeviation() is called several times before InitializeRandomizers() is called.
23:30:53 <xarick> yes, but it's still after _settings_game = _settings_newgame;
23:32:11 <DorpsGek> - Add: summary for week 04 of 2024 (by OpenTTD Survey)
23:32:30 <_glx_> I guess AddRandomDeviation was already wrong before ๐
23:32:54 <_glx_> and you jumped to the wrong conclusion
23:32:59 <truebrain> _zephyris: fixed! (survey results)
23:33:00 <xarick> im not sure, let me get 13.4
23:33:24 <_zephyris> truebrain: Sweet, thanks! I need my data fix ๐
23:33:28 <_glx_> just check in a05b7acec8
23:34:16 <xarick> i got 60 60 60 first time, and 68 68 70 after abandon, new game
23:34:38 <peter1138[d]> Okay, they are all during ScriptConfig::ScriptConfig() with no config actually in use.
23:35:19 <peter1138[d]> Then the randomizers are intialized, then the AIs are started.
23:35:19 <xarick> those that read "Approximate number of days..."
23:35:25 <_glx_> as said, check with a05b7acec8
23:35:28 <xarick> have the random deviation
23:35:52 <truebrain> peter1138[d]: so the ScriptConfig uses the randomizer state of the last run, where-ever it was? ๐
23:36:02 *** tokai|noir has quit IRC (Ping timeout: 480 seconds)
23:37:06 <_glx_> something might have broken it between 13.4 and now
23:37:18 <truebrain> odds are high it was always broken
23:37:23 <truebrain> and it was never based on the seed of the game ๐
23:37:37 <xarick> was maybe interactive random?
23:37:38 <_glx_> oh I think your change just made it visible
23:37:51 <truebrain> still wouldn't know how my change would influence it, one way or the other
23:38:57 <truebrain> the only "change" my PR does, is no longer changing the newgame generation_seed every time; as it is always GENERATE_NEW_SEED anyway ๐
23:39:34 <truebrain> feels more like that it is easy to blame the first commit that has the same letters in the message ๐ But .. who knows, OpenTTD works in mysterious ways
23:39:57 <xarick> im doing checkout detach
23:40:01 <_glx_> maybe it was `start_date` removal, as it simplified some stuff
23:40:22 <xarick> yes, I also suspect that
23:40:34 <_glx_> let me introduce you to `git bisect` ๐
23:40:42 <_glx_> easiest way to find out
23:40:51 <xarick> or that one that switch to script randomizers
23:40:54 <truebrain> owh, the ScriptConfig .. I remember that nightmare ๐
23:41:39 <peter1138[d]> Anyway, in summary, script config is set up before the map gen is started, therefore before the seed is it.
23:42:12 <_glx_> so Randomizers introduction could be the problem
23:42:27 <truebrain> no, that would only highlight the problem ๐
23:42:34 <peter1138[d]> But, when a script is actually started, AddRandomDeviation() is called.
23:42:50 <xarick> still getting the same 70 65 64
23:42:58 <_glx_> well we introduced Randomizer to ensure everything was reproducible
23:43:11 <_glx_> it works fine on load ๐
23:43:37 <_glx_> but it could be wrong with newgame
23:43:58 <truebrain> _glx_: I hope on load we don't run AddRandomDeviation anymore ๐
23:44:51 <truebrain> `MakeNewgameSettingsLive` initializes the ScriptConfigs btw
23:44:52 <_glx_> I think we do, but xarick knows better about that
23:44:59 <xarick> even between openttd restarts
23:45:17 <_glx_> so yeah initialisation happens too early
23:45:25 <truebrain> yeah, it is a bit of an odd place ๐
23:46:10 <truebrain> from what I remember when creating this stuff, there was a bit of a meh between when to initialize this stuff
23:46:17 <truebrain> like, do you do it in the main menu, when you look at the values?
23:46:20 <truebrain> or do you do it in-game
23:47:06 <xarick> it should be after getting it based on the map seed imo
23:48:06 <truebrain> but with the start_date stuff out of the way, possibly the easiest is to remove AddRandomDeviation from the constructor, and just call it at a moment you would expect
23:48:08 <peter1138[d]> It is weird that landscape generation is seeding scripts...
23:48:15 <peter1138[d]> So I suspect that is in the wrong place.
23:49:08 <_glx_> xarick: script randomizers are not yet initialized so they all are 0, means they will all give the same random numbers
23:51:02 <_glx_> but after when doing newgame->abandon->newgame they should give different numbers
23:51:57 <_glx_> oh no they are initialised when loading intro game
23:52:34 <_glx_> so yeah you'll always get the same numbers
23:54:15 <xarick> it's a different issue though, related but not this
23:54:46 <truebrain> that `::Change` is weird... so if you change a value in-game which is marked as random
23:54:49 <truebrain> it doesn't take on your setting
23:54:51 <truebrain> but changes it slightly
23:54:54 <truebrain> like ... that sounds evil
23:55:29 <truebrain> lol, dates back from the times you had difficulty settings ๐
23:55:39 <truebrain> has that been removed by now? ๐
23:55:49 <xarick> difficulty settings still exist
23:56:06 <truebrain> the world is build on good intentions ๐ But the ambition here was a bit odd ๐
23:56:07 <xarick> they are required fields for a setting
23:56:08 <_glx_> I'd say we should move all this setting randomisation out of ::Change()
23:56:37 <_glx_> and add an explicit function for that
23:56:42 <truebrain> owh, no, I misread that function; it is when the script changes in-game
23:56:45 <truebrain> not a property of it
23:57:13 <_glx_> so we call ::Change(), then the randomisation function
23:57:22 <_glx_> and only when it actually matters
23:57:33 <truebrain> btw, there are two types of random
23:57:35 <truebrain> just to be clear on that
23:57:44 <truebrain> and SCRIPTCONFIG_RANDOM
23:57:51 <truebrain> it just spices things up ๐
23:58:45 <_glx_> so when loading a game, ::Change is called alone, but when a new AI is starting ::Change is called, then the setting stuff
23:58:45 <truebrain> SCRIPTCONFIG_RANDOM is documented to only work on custom difficulty
continue to next day โต