IRC logs for #openttd on OFTC at 2023-05-01
β΄ go to previous day
00:15:31 *** HerzogDeXtEr has quit IRC (Read error: Connection reset by peer)
00:19:53 <glx[d]> I don't want to do that again
00:22:42 *** Soni has quit IRC (Ping timeout: 480 seconds)
02:03:39 *** Wormnest has quit IRC (Quit: Leaving)
02:15:26 *** debdog has quit IRC (Ping timeout: 480 seconds)
02:17:45 *** D-HUND is now known as debdog
02:56:39 *** Soni has quit IRC (Ping timeout: 480 seconds)
03:34:39 *** TROILUS9 has joined #openttd
03:41:43 *** TROILUS has quit IRC (Ping timeout: 480 seconds)
03:41:43 *** TROILUS9 is now known as TROILUS
06:43:33 <TrueBrain> lol, okay, so the layouter is mostly working, but it turns out, it takes RTL very seriously .. it also renders things from bottom to top π That seems less ideal π
07:02:09 *** WormnestAndroid has quit IRC (Read error: No route to host)
07:06:29 *** WormnestAndroid has joined #openttd
07:36:38 <FLHerne> you should make it render front-to-back instead, for VR support :p
07:38:42 <andythenorth> a few action 0s adds a lot of grf filesize
07:44:45 <Eddi|zuHause> that depends on how they are coded...
07:46:01 <Eddi|zuHause> like, if their value is set by action 6s
07:48:50 <petern> You need a lot of action 0s to add a lot of grf filesize.
07:49:49 <Eddi|zuHause> and i need to go
08:00:43 <TrueBrain> right, multi-line support works ... it just doesn't break sentences yet π
08:06:01 <andythenorth> wow grf is now 22 MB
08:07:16 *** HerzogDeXtEr has joined #openttd
08:07:39 <pickpacket> andythenorth: firs?
08:13:35 <FLHerne> andythenorth: I love the random wagons
08:14:06 <FLHerne> tbh, at this point I might switch to Horse, or try to
08:14:50 <FLHerne> needs a "realisticβ’ names" parameter so I can lie to myself more easily :p
08:15:18 <andythenorth> new lang file? π
08:15:53 <andythenorth> wagons might be done in a week or 2
08:15:54 <FLHerne> Yeah, should be easy enough
08:17:01 <FLHerne> The wagons and diesel roster are great, the steamies still felt a bit placeholderish last time I played, but might be unfair as that was ages ago
08:17:48 <FLHerne> unfortunately fixing my boats is taking up all my free time IRL :-(
08:18:22 <TrueBrain> that moment you spend 20 minutes figuring out you used `resize` instead of `reserver`.. if you need be, I will be in the corner crying now.
08:22:17 <pickpacket> TrueBrain: just 20 minutes though. Thatβs not too bad
08:27:21 <andythenorth> I rebuilt my dev environment for 8 hours because I don't know how to `env` properly
09:22:10 <petern> I'm not sure why adding random variations makes it so much larger, unless it's including the sprites multiple times.
09:22:34 <petern> But reusing action 1 should be within NML's abilities.
09:24:40 <petern> Hmm, should I add a inner-widget-'layouter'?
09:25:19 <andythenorth> 22MB instead of 21 MB
09:25:20 <petern> The Rect helpers are okay for things like an icon and some text, but can get a bit unwieldy when you have multiples.
09:25:38 <petern> Shut up stomach, you do not need food yet.
09:25:54 <petern> It's expecting another huge burger like I had last night.
09:25:58 <andythenorth> might be that I've got a load of duplicate junk for each vehicle
09:26:01 <andythenorth> I will look later
09:26:09 * andythenorth making a magic variant nester
09:26:26 <andythenorth> because clicking + buttons for several levels is what Horse has been missing π
09:34:36 <petern> All very fancy, but if you're redesigning the "New Game" window and adding a scrollbar, I think you're doing it wrong π
09:40:40 <petern> Hmm, I have an idea involving this JSON library that Truebrain adds.
09:42:13 <TrueBrain> that scrollbar is ... weird
09:42:31 <TrueBrain> petern: oh-oh .... GUI in JSON? π
09:50:56 <TrueBrain> wauw, editing in RTL is .. wauw
09:50:57 <TrueBrain> I hope their keyboards make that easier ..
09:51:47 <TrueBrain> at least the behaviour I now give with ICU is the same as with uniscribe .. but .. I wouldn't have guessed this is normal π
09:51:48 <petern> Nah, storing NewGRF scan data in JSON so we can reload it later. Then do things like you did on the server to categorize things, but locally, to give a better UX.
09:52:02 <TrueBrain> sounds like an excellent plan
09:52:14 <TrueBrain> if I need to PR the JSON library addition as a separate PR, let me know π
09:52:51 <petern> I haven't looked but I'm hoping I can just cherry-pick that so it will be the same either way.
09:53:01 <petern> To avoid the "adding things that aren't used yet" situation.
09:53:06 <TrueBrain> I didn't put it in its own commit; I am lazy like that π
09:53:22 <TrueBrain> but just cherry-pick my survey PR, and off you go π
09:53:25 <TrueBrain> we will figure it out later π
09:53:29 <petern> Well it is a draft anyway.
09:53:48 <TrueBrain> I will see if I can make it a bit prettier when I am done battling multi-line
09:53:55 <TrueBrain> I think I am really close .. not sure yet
09:54:42 <petern> We could add a NewGRF voting system, except it's only local. Just to troll π
10:28:07 <TrueBrain> hmm .. multi-line for English works fine, but it crashes for Arabic .. what did I do for a silly thing π
10:32:35 *** gelignite has joined #openttd
10:37:45 <TrueBrain> okay, that works too
10:37:50 <TrueBrain> I just break at different places than Windows
10:40:00 <TrueBrain> okay, the console in arabic is weird π There are rules for things like `[]` in regards to LTR and RTL
10:40:19 <TrueBrain> so when you type `[` it is RTL, so rendered as `]`. But when you type `]` next, it becomes LTR, so it reads `[]`
10:41:01 <TrueBrain> what is a good place to test overflow multiline text with? One I can resize?
10:43:24 <TrueBrain> not many descriptions are translated
10:44:17 <glx[d]> Abase or zbase in main menu should print a multiline about missing sprites
10:44:28 <TrueBrain> yeah, but can't resize that window π
10:44:48 *** HerzogDeXtEr has quit IRC (Read error: Connection reset by peer)
10:45:25 <TrueBrain> well, lunch first .. I also see that clustering is acting weird π Curious ...
10:59:47 <michi_cc[d]> TrueBrain: Unfortunately there aren't many resizable windows that have a high chance of the wanted text. Industry/vehicle/town NewGRF/GS text is one, but unfortunately usually not translated.
11:00:05 <michi_cc[d]> Lot's of multi-line text in news (like subsidies), just not resizable.
11:00:20 <michi_cc[d]> I think I mostly tested this by varying font size to get different breaking points.
11:00:49 <petern> That's at least easier now π
11:13:46 <petern> I've gone from MS Build only compiling one source file at one time to seemingly trying to compile them all together...
11:14:38 <TrueBrain> michi_cc[d]: Tnx. Guess we will get bug-reports if I did it wrong .. in like .. never? So it is fine π
11:15:08 <petern> ` "cmake.parallelJobs": 1,` didn't help
11:32:34 <glx[d]> petern: Tried with ninja ?
11:32:57 <petern> Nope, how do I do that?
11:36:19 <glx[d]> It's the default for MSVC in open folder mode
11:39:29 <glx[d]> So `"cmake.generator": "ninja"` for you I think
11:41:06 *** gelignite has quit IRC (Quit: Stay safe!)
11:42:49 <petern> Okay. Not sure where it needs to be installed for CMake to see it. The documents go on to how to build ninja itself, but not install it.
11:44:44 <glx[d]> It's installed by MSVC for me
11:46:25 <TrueBrain> lol .. all was working well, till a single run needed to be split over more than 2 lines π
11:46:46 <TrueBrain> not actually sure how uniscribe handles that correctly .. it is a bit annoying π
11:48:17 <petern> Okay, I told cmake where ninja lives but then it doesn't know what compilers are installed. I don't think this is helping π
11:48:29 <petern> No idea how you get VS Code to install ninja itself.
11:49:16 <petern> Oh, you use MSVC, not VSCode.
11:51:27 <TrueBrain> michi_cc[d]: I found a bug in the Uniscribe .. shall I just ignore it? It can cause an overflow every so tiny π
11:52:13 <glx[d]> Could be the font lying about sizes
11:52:23 <TrueBrain> no, it works with my layouter
11:52:31 <TrueBrain> could be a bug in mine π
11:54:12 <TrueBrain> I think I got it .....
11:56:48 *** Quantum has joined #openttd
11:56:48 <Quantum> Hi, I'm not sure this is the right place to ask but I'm going to try anyways: does anybody know where I can find the default bitmap font used in openttd? Tried looking through the OpenGFX repository and only found these sprites: https://github.com/OpenTTD/OpenGFX/blob/master/sprites/png/gui/fonts.png. The font is there, but the individual sprites also contain the shadows, and I'm not sure how to get the letters only. I'm specifically
11:56:48 <Quantum> so the one used throughout the UI.
11:56:48 <Quantum> (I already asked in Discord channel #openttd-help but no one answered, so I figured this might be a better place to ask)
11:57:35 <TrueBrain> the horizontal scrollbar in a changelog is totally broken with RTL btw; on all platforms π
11:57:41 <michi_cc[d]> TrueBrain: Which window is this? (And what font/size?)
11:57:58 <TrueBrain> Settings, DejaVu Sans Bold, and on every I think
12:00:35 <TrueBrain> other than that, my local version seems identical to the uniscribe result π
12:00:56 <TrueBrain> he says when the game crashes
12:02:13 <glx[d]> Font sprites always include the shadow, even in original TTD Quantum
12:02:30 <michi_cc[d]> Can you make a bigger screenshot? I can't see any problem in the Settings window, so it might actually be a font thingy.
12:03:03 <glx[d]> But the shadow is not the same colour (even if it looks the same in the image)
12:03:36 <petern> Quantum: Hmm, the connecting lines are missing
12:03:45 <petern> Oops, wrong reply to :/
12:04:26 <glx[d]> Quantum: just edit the palette to change the pink colors
12:04:56 <Quantum> glx[d]: Thanks, I thought about that but I couldn't see the difference, even with the color picker
12:05:21 <petern> It's a paletted image, the palette index is different.
12:05:50 <Quantum> glx[d]: Ok thanks, I will try now
12:05:52 <petern> indices 0, 1 and 2 are used for fonts.
12:07:39 <TrueBrain> okay ... that PR should work fine. Now to clean it up π
12:07:54 <TrueBrain> owh, right, custom sprites support .. I forgot
12:10:54 <TrueBrain> michi_cc[d]: do I read the uniscribe correct that it uses the `?` character to shape the string with those custom sprites, but replaces the `?` (and the advancing) after the fact?
12:11:16 <TrueBrain> I guess strictly seen that could mean it would go over `max_width`, but I doubt that is an actual issue π
12:12:58 <TrueBrain> well, no, it should remain in the `max_width`; there are no consequence of doing it like that I think
12:13:39 <michi_cc[d]> It should use whatever the font uses for the .undef glyph (which probably is often a ?). And `max_width` is not a problem as the shaping is done before any line breaking is done.
12:14:35 <michi_cc[d]> We re-shape after a line break to get the first and last glyph shape correct, but the normal run width is known before the line breaking.
12:14:53 <TrueBrain> yeah, as you can read, I realized that too π
12:15:04 <TrueBrain> so it is fine to use `?` for shaping first, replacing it later
12:21:17 <TrueBrain> just their location is weird sometimes .. let's see if Uniscribe has that too π
12:25:13 <TrueBrain> michi_cc[d]: I am considering moving the ICU implementation to `os/unix/`; good idea, bad idea?
12:25:22 <TrueBrain> (strictly seen ICU is ofc also available for MacOS and Windows ...)
12:28:55 <TallTyler> Today I try to leave the rabbit hole alone π
12:29:13 <Eddi|zuHause> conclusion: the outside world still exists
12:34:08 <michi_cc[d]> TrueBrain: Okay, you found a bug in the Uniscribe code (and maybe CoreText, too, didn't check that yet). When line breaking, the space after "selected" is not chopped off, which you don't notice on normal LTR text as the anchor position is left. But on an RTL layout with LTR text, the anchor is of course the right side, so the space is wrongly output.
12:35:47 <michi_cc[d]> The code chops off whitespace after the braking point, which is correct for a LTR base, just incorrect for an RTL base.
12:36:07 <TrueBrain> RTL is just annoying π (when you are used to LTR)
12:38:44 <michi_cc[d]> Okay, CoreText should be okay, any run chopping is handled internally there.
12:44:31 <michi_cc[d]> TrueBrain: I think that is okay as this really is the intended platform for ICU.
12:44:49 <TrueBrain> I keep going back and forth about it in my head π
12:44:56 <TrueBrain> as you could use ICU for Windows just fine ..
12:51:02 <glx[d]> TrueBrain: but why enduring the pain of building ICU on windows ?
12:51:15 <TrueBrain> with vcpkg it is actually pretty easy
12:51:45 <glx[d]> yeah compared to when we provided the libs it's easier
12:51:53 <TrueBrain> ` HarfBuzz depends on ICU to function; HarfBuzz will be disabled`
12:51:58 <TrueBrain> that works too π
12:52:35 <petern> It's also possible to use FreeType on Windows still, if you're mad.
12:52:58 <petern> Although maybe you were for this anyway, hmm.
12:53:59 <glx[d]> replacing `const char16_t chars[]` with `const char16_t *chars` to make CodeQL happy would be a possible option
12:54:20 <TrueBrain> `Without HarfBuzz and ICU i18n the game will not be able to render right-to-left languages correctly` <- good text?
12:55:28 <michi_cc[d]> There are LTR languages that require shaping as well, though. Some asian stuff and anything that only has decomposed accents.
12:56:11 <glx[d]> but RTL is the most obvious
12:56:24 <michi_cc[d]> Ah, tamil it was. We have it and it requires shaping as well.
12:56:31 <michi_cc[d]> And is still LTR.
13:01:56 <TrueBrain> well, this only took 2 days .. the Uniscribe implementation was very helpful
13:04:42 <TrueBrain> ready for review π
13:06:00 <TrueBrain> time to test if this now works with a recent vcpkg ICU π
13:07:49 <TrueBrain> as in the end, that is what started all this π
13:17:28 <glx[d]> oh no you add another seprintf π
13:19:13 <TrueBrain> yes; consistency above anything else π
13:19:25 <TrueBrain> and no, I am not going to fix those all π
13:22:03 <glx[d]> I think there's a PR for the crashlog ones
13:45:49 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
13:46:00 *** WormnestAndroid has joined #openttd
13:53:45 <petern> Hmm, of course std::vector doesn't work with forward declared types. Bah.
13:58:12 *** WormnestAndroid has quit IRC (Remote host closed the connection)
13:58:17 *** WormnestAndroid has joined #openttd
14:07:13 <TrueBrain> right, building for releases works fine too π
14:07:37 <TrueBrain> new Game Options is pretty π
14:08:48 *** WormnestAndroid has quit IRC (Remote host closed the connection)
14:09:49 *** WormnestAndroid has joined #openttd
14:09:54 <petern> Not sure about pretty, but less cluttered I think.
14:10:40 <TrueBrain> much more modern π
14:10:54 <TrueBrain> okay, did some more comparing between Windows and Linux, can't really find a difference π
14:11:09 <TrueBrain> could use some other Linux fanboys testing it out π
14:11:21 <TrueBrain> but then again .. nobody complained it was broken to start with, so *shrug* π
14:13:23 <TrueBrain> that looks wrong .. not my PR btw π
14:13:30 <TrueBrain> guess it is related to my scaling π
14:13:40 *** WormnestAndroid has quit IRC (Remote host closed the connection)
14:13:51 <TrueBrain> no, even looks wrong at 1x
14:14:47 <TrueBrain> when is andythenorth going to fix this? π
14:17:27 *** WormnestAndroid has joined #openttd
14:24:36 <petern> Of course making this is a separate struct so I can forward declare everything means I need to new/delete it. Argh.
14:40:30 *** HerzogDeXtEr has joined #openttd
14:47:40 <TallTyler> Successfully avoided the worst of the rabbitholes π
14:56:25 <TallTyler> Ugh, messed up the rebase
15:16:05 *** frosch has quit IRC (Quit: User went offline on Discord a while ago)
15:23:18 <andythenorth> lol 24 hours trying to write an automated group tree thing
15:29:52 <andythenorth> more what I was trying to achieve
15:30:00 <andythenorth> give or take 'CABBAGE"
15:31:19 <andythenorth> in levels, or height?
15:34:41 <andythenorth> hmm can't figure out a way to have a group comprised of 2 subgroups
15:36:35 <andythenorth> the ones with "Mixed Colours"
15:36:38 <andythenorth> could be grouped
15:36:53 <andythenorth> but the parent would be the parent of the entire tree
15:37:40 <andythenorth> unless I miss something... π
15:38:20 <petern> You just need to make one of the mixed colours be parent of the others.
15:38:38 <andythenorth> but it's also the parent of non-mixed group
15:38:55 <petern> It's not, they have CABBAGE as their parent.
15:39:01 <andythenorth> nah that's just a string
15:40:13 <andythenorth> I renamed in game π
15:40:56 <andythenorth> I'd need one intermediary to create the mixed group on
15:41:01 <andythenorth> to act as parent for the whole tree
15:41:52 <andythenorth> lol just superset the 'mixed'?
15:42:03 <andythenorth> so you get a vehicle which is a random choice from 'mixed'? π
15:42:28 <andythenorth> oh wait, that's not even stupid
15:42:45 <andythenorth> one of the 3 'mixed' is basically that already
15:44:49 <andythenorth> anyway this is fine, just curious how I could do it differently π
15:48:03 <andythenorth> think I preferred the "SIMON" version π
16:06:17 <Rubidium_> TallTyler: about 10519, have you tried rebasing it against current master? Is that going "just fine", or is that going to add a second instance of AddLine(const std::string &)?
16:07:02 <Rubidium_> (not that you necessarily need to push that rebased version if everything goes fine, just a check to prevent knowingly creating something that doesn't build in master by merging this)
16:12:59 <TallTyler> Ah, yeah, it does need a manual rebase. It understood the implementation but added a duplicate declaration in the header. Let me just make sure it still builds and works, then I'll push.
16:27:06 <andythenorth> wonder if I can recurse variant_group ids
16:27:12 <andythenorth> can A be parent of B which is parent A?
16:28:40 <petern> Nope, variants can't be top-level engines.
16:29:57 <TallTyler> Huh, CodeQL failed to run properly on #10753?
16:30:29 <TallTyler> ```Error: We were unable to automatically build your code. Please replace the call to the autobuild action with your custom build steps. Failure invoking /opt/hostedtoolcache/CodeQL/2.13.0-20230414/x64/codeql/cpp/tools/autobuild.sh with arguments .```
16:37:45 <andythenorth> confusing enough? π
16:40:00 <Rubidium_> TallTyler: look earlier in the log, e.g. #2384 complains about undefined references
16:41:04 <andythenorth> I need to give all the colours names, like a Dulux catalogue
16:41:14 <andythenorth> or paints from Citadel / Games Workshop
16:42:21 <andythenorth> for the 'Mixed' ones should the default be most random or least random?
16:42:46 <andythenorth> probably most random
16:58:24 <andythenorth> unbuildable vehicles to act as category parents? π
16:58:26 <andythenorth> nah, just annoying
16:58:50 <TallTyler> No idea what's wrong there, but found a few little mistakes. Maybe one of them is the cause. π€·
17:02:57 <andythenorth> ach need to do some fancy buy menu graphics
17:03:41 <andythenorth> the main thing, if you don't open the variant tree, and just build, you get this
17:04:05 <andythenorth> I need to also figure out a parameter option for 'no random' π
17:04:20 <andythenorth> which means action [something] on the variant_group action 0 prop
17:04:33 <andythenorth> as the group parents will be missing π
18:08:04 <TrueBrain> tnx to those that are sending surveys; much appreciated π
18:08:13 <TrueBrain> I need a few more if possible, but at least I now have some data to work with π
18:08:27 <TrueBrain> guess most work will be done after release .. as without data it is hard to make analysis π
18:36:04 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
18:37:26 *** WormnestAndroid has joined #openttd
18:39:30 <DorpsGek> - Update: Translations from eints (by translators)
18:42:56 <TrueBrain> a commit full of newlines
18:43:26 <petern> Heh, yeah, eints like to format them that way.
19:14:07 <michi_cc[d]> TrueBrain: I want to approve #10747, but it has is sad and has conflicts.
19:16:28 <TrueBrain> who did that?! π
19:19:40 <TrueBrain> tnx π That was quick π
19:29:48 <andythenorth> do we have a var for sprite context? e.g. purchase list, depot etc?
19:29:52 <andythenorth> I thought we did, but I can't find it
19:31:19 <andythenorth> can I test for vehicle cargo type being 0xFF?
19:32:49 <andythenorth> ach nvm, I'll just put it in storage
19:33:12 *** gelignite has joined #openttd
19:42:34 <petern> context is the cargo id in the action 3.
19:46:06 *** gelignite has quit IRC (Read error: Connection reset by peer)
19:49:29 <petern> Thanks to git history, I've just been reminded that we used to have "global" cargo IDs.
19:52:13 *** geli has quit IRC (Quit: Stay safe!)
19:53:56 <glx[d]> TrueBrain: I think I just sent one, but the debug window on windows is fast to close
19:54:15 <TrueBrain> so don't quit the game, but go back to the main menu π
19:54:17 <TrueBrain> also sends a survey π
19:56:47 <TrueBrain> glx[d]: I did receive 2 surveys, one at 2152 and one at 2156 (it is now 2156)
19:57:27 <glx[d]> I saw no lines in debug log when returning to menu
19:57:42 <TrueBrain> nothing shows with -d0
19:58:24 <glx[d]> -d0 shows failed requests π
19:58:43 <glx[d]> that was after loading and returning to menu again
19:59:07 <glx[d]> code 429 is the timeout between requests I guess
19:59:26 <glx[d]> so that means it worked π
19:59:33 *** nielsm has quit IRC (Ping timeout: 480 seconds)
19:59:56 <TrueBrain> feels like a long time between surveys, but when ever I actually think about it, I realise it is fine π
20:00:21 <glx[d]> yeah 1 per minute is more than enough
20:01:47 <glx[d]> you're most likely testing stuff and not really playing if you need to send reports more than once per minute
20:02:06 <TrueBrain> even if you are playing, I don't actually care if your playtime is <1 min
20:06:02 *** axet has quit IRC (Quit: Leaving.)
20:13:18 <andythenorth> lol the complexity hiding here
20:13:50 <Eddi|zuHause> <andythenorth> do we have a var for sprite context? e.g. purchase list, depot etc? <-- extra callback info (1 or 2, not sure)
20:15:20 <andythenorth> funny how things are hard to find in docs sometimes
20:21:08 <andythenorth> extra_callback_info1
20:21:19 <andythenorth> I've already stuff it into a register now π
20:23:03 <petern> It's like everyone ignores the purchase list functionality of action 3.
20:23:05 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
20:23:30 <Eddi|zuHause> these are slightly different use cases
20:23:36 *** WormnestAndroid has joined #openttd
20:23:51 <Eddi|zuHause> extra_callback_info1 was mainly intended for things like vehicle list
20:24:17 <petern> vehicle list should never need a different sprite from viewport.
20:24:44 <Eddi|zuHause> then you have never looked at CETS :p
20:24:58 <andythenorth> petern: there's not much can be done with action 3 in nml?
20:25:25 <Eddi|zuHause> but say, you have animated rods on an engine. you might want to animate them only in the viewport, not in the vehicle list
20:25:40 <petern> In action 3 you use cargo ID 0xFF for purchase-list stuff.
20:26:04 <andythenorth> I think nml uses that for `purchase` variant of callbacks
20:26:06 <Eddi|zuHause> nml supports that with "purchase" callbacks
20:26:12 <andythenorth> haven't checked, but that's my assumption
20:26:41 <andythenorth> using `purchase` is my current solution but eh
20:26:44 <petern> That is also for purchase variant of sprites...
20:27:02 <Eddi|zuHause> also an example, say you have a closed wagon with loading states, the viewport could draw them closed while moving, but the vehicle list open and show the cargo
20:28:04 <petern> I suppose everyone just uses a single action 3 cargo and uses varactions instead these days.
20:28:21 <petern> Like perl, many ways to skin a cat.
20:28:29 <Eddi|zuHause> anyway, the main purpose of the "purchase" callbacks is that many variables cannot be accessed, so you need different decision chains
20:29:33 <Eddi|zuHause> and even then, you can still have different sprites in purchase list and prototype offer windows with extra_callback_info1
20:32:05 <Eddi|zuHause> (my idea there would be that the prototype offer has less width restrictions)
20:32:06 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
20:32:07 *** WormnestAndroid has joined #openttd
20:32:12 <petern> Jesus Christ MS Build/Cmake/VS Code.
20:32:18 <petern> Stop after the first blood compile error!
20:32:18 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
20:32:36 <Eddi|zuHause> i would imagine there's a setting for that
20:33:36 *** WormnestAndroid has joined #openttd
20:33:49 <andythenorth> hmm the Horse buy menu eh
20:33:56 <andythenorth> it's the #1 train grf apparently
20:34:01 <andythenorth> but the buy menu is hectic
20:34:24 <Eddi|zuHause> just means the other grfs are probably worse :p
20:37:51 *** gnomechomsky has joined #openttd
20:37:51 <gnomechomsky> Guys anyone know how to edit settings_sl_compat.h?
20:37:54 <gnomechomsky> do things need to be in order ?
20:38:36 <TrueBrain> yes; it converts the old savegame that needed to be in order to the new that no longer cares
20:39:01 <gnomechomsky> I'm trying to add a new boolean setting
20:39:15 <TrueBrain> that has no need to be in `_compat.h` files
20:39:21 <TrueBrain> those are only for compatibility with old savegames π
20:40:10 <gnomechomsky> ah, so far I'm adding things to settings_gui.cpp, settings_type.h, and world_settings.ini
20:40:17 <andythenorth> wonder if {small} works in buy menu π
20:40:22 <gnomechomsky> And later I'll do the strings
20:41:09 <andythenorth> so I could fix the quote marks?
20:43:28 <andythenorth> tiny font works in buy menu, not sure it's helping π
20:48:57 *** lobstarooo has joined #openttd
20:49:48 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
20:49:56 <petern> Try it with truetype fonts.
20:50:50 *** WormnestAndroid has joined #openttd
20:51:23 <petern> Font glyphs is how the default sprite font is extended in openttd.grf, not sure why that would be surprising π
20:55:49 <TrueBrain> meh; can't build binaries for the survey, as I added a new lib .. and it uses the CI files from master .. so that fails π
20:56:00 <petern> I've fixed my concurrency issue by increasing the limit from 1 to 2.
20:56:07 <TrueBrain> guess tomorrow I will make a branch on upstream with those CI files changes; that way I can build them π
20:56:22 <petern> Seems like 1 means it doesn't append a parameter, so it defaults to lots? Dunno.
20:56:47 <petern> Hmm, how do I make ++ work on a enum type again...
21:01:18 <andythenorth> small font in warnings also π
21:05:17 <andythenorth> watching a YT video where someone has discord open π
21:05:24 <andythenorth> confusing sound effects
21:06:30 *** Wormnest has joined #openttd
21:08:38 <andythenorth> move the dice to layers? π
21:08:48 <andythenorth> currently they're composited in the graphics generator
21:15:28 <Eddi|zuHause> superscript meaning ΒΉΒ²Β³
21:15:49 <blathijs> Hey cool, harfbuzz support for RTL text. Nice if we can have that back in Debian again :-)
21:16:58 *** Flygon has quit IRC (Remote host closed the connection)
21:17:31 <TrueBrain> Took a few years, but finallllyyyyy π
21:22:44 *** HerzogDeXtEr has quit IRC (Read error: Connection reset by peer)
21:25:19 <Eddi|zuHause> someone thanked TrueBrain? the world must be ending
21:29:54 <TallTyler> Uh, whatever you did to add those commits, you don't want that
21:31:00 <glx[d]> andythenorth: if you change font inside a string, at least restore it at the end
21:31:01 <gnomechomsky> TallTyler: I did a pull with git config pull.rebase true. What should I have done instead?
21:31:12 <gnomechomsky> And how best should I revert?
21:32:17 <petern> Rebase on top of master.
21:32:34 <gnomechomsky> I can just force the branch back I guess
21:33:03 <glx[d]> you can use `git reflog` and `git reset`
21:33:49 *** keikoz has quit IRC (Ping timeout: 480 seconds)
21:34:29 <gnomechomsky> I just set the branch back to my commit and then force pushed. looks like it worked
21:35:21 <gnomechomsky> I'm going to try again
21:36:33 <glx[d]> of course you still need to rebase, but take your time π
21:37:01 <Eddi|zuHause> i think everyone does that the wrong way once :p
21:37:20 <glx[d]> well the rebase is even optional as there's no conflicts
21:38:39 <gnomechomsky> hmm it doesn't like my whitespace.
21:39:43 <glx[d]> it doesn't like the trailing whitespaces at end of lines
21:40:15 <Eddi|zuHause> you can probably configure your editor to remove those automatically
21:47:48 <gnomechomsky> TallTyler: I see your comment about the save load version. What do I do with ```from = SLV_COMPETITOR_CROSSINGS``` in world_settings.ini?
21:50:19 <gnomechomsky> Sorry, I skipped over the PR temlpate assuming it was from github and not the openttd developers. Maybe it should be mentioned in CONTRIBUTING.md
21:50:32 <gnomechomsky> I'm used to gitlab
21:52:50 <gnomechomsky> gnomechomsky: It seems from is optional, so I'll get rid of it
22:00:18 <petern> Oh do settings just work without a savegame bump these days?
22:03:07 <andythenorth> we probably have some mechanism for plurals eh?
22:03:34 <andythenorth> currently this involves strings for "Acid Tanker" and "Acid Tankers"
22:04:50 <andythenorth> hmm I'd have to fuck around putting some values on the text stack for plurals?
22:04:58 <andythenorth> might just concatenate 's' and move on π
22:05:25 <TrueBrain> petern: Savegames now have headers, so you can add (and remove) entries freely π
22:06:19 <TrueBrain> Or at least .. that is how it should work. Hasn't been tested a lot.. as we don't add many things lately :p
22:08:20 <Eddi|zuHause> andythenorth: builtin plurals only work if a string parameter is an actual number
22:08:43 <glx[d]> yeah plural needs a number
22:13:13 <andythenorth> will just manually add them π
22:18:52 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
22:23:21 <andythenorth> greengrocers acid tanker
22:59:55 *** WormnestAndroid has quit IRC (Remote host closed the connection)
23:08:51 *** WormnestAndroid has joined #openttd
continue to next day β΅