IRC logs for #openttd on OFTC at 2023-02-12
โด go to previous day
03:06:01 *** Wormnest has quit IRC (Quit: Leaving)
03:06:08 *** ChanServ sets mode: +v tokai
03:12:55 *** tokai|noir has quit IRC (Ping timeout: 480 seconds)
03:45:10 *** debdog has quit IRC (Ping timeout: 480 seconds)
04:14:11 *** TROILUS has quit IRC (Read error: Connection reset by peer)
04:14:11 *** TROILUS4 has joined #openttd
04:14:12 *** TROILUS4 is now known as TROILUS
04:17:50 *** TROILUS4 has joined #openttd
04:23:40 *** TROILUS has quit IRC (Ping timeout: 480 seconds)
04:23:41 *** TROILUS4 is now known as TROILUS
06:30:10 *** D-HUND is now known as debdog
06:48:31 *** HerzogDeXtEr has joined #openttd
07:33:00 <GeorgeVB> A question about railtypes
07:33:00 <GeorgeVB> How to check combination of track on a tile? I want to make underlay graphics to be different depending on tracks layout.
07:33:00 <GeorgeVB> Is it possible to check combination of track on a nearby tile? I would like to take it into account too.
07:36:01 <GeorgeVB> These two layouts use the same underlay.
07:37:42 <GeorgeVB> The location of the switch is the same, but it should be different.
07:38:17 <GeorgeVB> So I need to check tracks and use the right graphics
07:45:33 <Brickblock1> Could you not just do it the other way and have every combination be a sprite
07:53:52 <Gwyd> GeorgeVB: You can use callback "precombined" to define a sprite for every possible combination of tracks (63) available
07:56:18 <GeorgeVB> It is rail track graphics, but underlay graphics. It should hot become grey when a train reserves a way trough the tile
07:57:22 <Gwyd> Precombined is precombined track and underlay graphics which is the only way that I know of to do what you're describing
07:57:47 <Gwyd> I believe it still uses the track overlays to show reservation
08:00:26 <GeorgeVB> It sounds a bit strange to draw something over the precombined sprites. But in anyway it does not answer my question - How to check it in the underlay callback.
08:04:07 <Brickblock1> There are only a few variables and that doesn't seam possible
08:35:45 <GeorgeVB> How hard would it be to provide such vars?
08:35:45 <GeorgeVB> - Tracks layout of nearby tiles
08:35:45 <GeorgeVB> - Land info of nearby tiles
08:35:45 <GeorgeVB> - Bridge info of nearby tiles (to hold the direction correctly, because on the same slope it can flat or go up)
09:19:56 <Gwyd> Provide a spriteset with 63 sprites with the switch in different locations, call that spriteset in the precombined callback - this currently isn't possible using the underlay callback, which was a problem until precombined was added
09:20:20 <Gwyd> I think you can already access land info of nearby tiles but the info you can get is limited
09:20:43 <Gwyd> Using FEAT_GLOBAL variables
09:34:51 <andythenorth> I think we believe getting nearby land info is expensive
09:34:57 <andythenorth> Might be wrong though
09:54:28 <GeorgeVB> Gwyd: I can't find anything like that
09:54:28 <GeorgeVB> Could you provide a link to a page, where I can read about it?
10:02:46 <TrueBrain> a review after the review .. and I thought I was done ๐
10:03:59 <Rubidium> sorry, I just looked through the code before not the cmake/documentation stuff
10:05:06 <Rubidium> TrueBrain: also, does DorpsGek like you enough to do @topic set 1 13.0
10:05:18 <DorpsGek> TrueBrain: Error: You don't have permissions to perform this action.
10:06:59 <TrueBrain> Rubidium: don't worry about it, I like reviews ๐ It just made me giggle ๐
10:09:11 <TrueBrain> meh; I could make libcurl optional .. but do we want that ..
10:09:25 <TrueBrain> all this "optional" stuff .. it becomes completely unusable
10:09:36 <TrueBrain> similar with libpng, liblzma, zlib .. sure, you can, but .. really?
10:09:59 <Rubidium> that's the philosophical question to answer, but also more generically with zlib and the likes
10:10:13 <TrueBrain> very tempted to just make them required ๐ฆ
10:10:17 <TrueBrain> but that would be for another PR
10:12:05 *** sla_ro|master has joined #openttd
10:13:51 <TrueBrain> ` CURL not found; compiling OpenTTD without CURL is strongly discouraged`
10:14:06 <TrueBrain> only shows up on Linux-targets, ofc
10:22:09 *** reldred has quit IRC (Quit: User went offline on Discord a while ago)
10:23:35 *** michi_cc[d] has joined #openttd
10:23:35 <michi_cc[d]> OpenTTD is perfectly usable without the content download, so in that sense I don't see CURL has absolutely necessary. Of course you'd never leave it out for any official/public build, but content can be gotten outside of the game.
10:23:53 <TrueBrain> and that is the endless argument we use to have everything optional, yes ๐
10:24:00 <TrueBrain> same with zlib and lzma ๐
10:24:07 <TrueBrain> I just sometimes wonder if we don't make things more complex because of that
10:24:14 <TrueBrain> instead of keeping it simple .. both for the user and for our code
10:24:50 <TrueBrain> as said, it is a philosophical question ๐
10:25:17 <TrueBrain> ` Curl SSL: OpenSSL/3.0.2`
10:26:28 <TrueBrain> hmm, our CI doesn't actually check if you can leave out all those libraries and that it still builds
10:26:47 <michi_cc[d]> But CURL especially is already optional if you don't use it on every target.
10:27:33 <TrueBrain> yes. And that silly enough is an argument against having it optional, as for Windows it "just works" ๐
10:28:05 <TrueBrain> but it is okay, this philosophical discussion we can have another day; for now I will comply with the establishment ๐
10:28:12 <michi_cc[d]> I wouldn't add any extra stuff just to be able to turn something off, but if you have multiple backends anyway, the infrastructure is already there.
10:28:36 <TrueBrain> michi_cc[d]: these are all circle arguments, reinforcing the discussion made in the past ๐
10:28:48 <TrueBrain> my question is challenging that discussion of the past
10:28:55 <TrueBrain> especially for things like lzma and zlib
10:29:26 <TrueBrain> discussion -> decision, what-ever. English sucks ๐
10:30:25 <TrueBrain> Rubidium: crashlog was a nice catch, I totally forgot we printed lib-versions there ๐
10:36:08 <TrueBrain> shall we add a job to the CI that builds without all the required libs? Just to confirm everything is working as expected? Do we add an extra build for it .. or use the dedicated build for that .. hmm ..
10:36:24 <michi_cc[d]> I'm not an active Linux user, so in the end I "don't care", i.e. I'll go along with whatever Linux users decide. Philosophical I'm in the camp of maximum compatibility when the effort is reasonable, as compatibility with mostly anything was one of the things making OpenTTD successful in the first place. Of course using C++17 somewhat contradicts that, but if the benefits are good enough, that is okay.
10:37:00 <TrueBrain> I can understand that reasoning; but libpng, libz and lzma also holds for Windows
10:37:15 <TrueBrain> you need to vcpkg install those
10:37:28 <TrueBrain> so you don't have to be a Linux user for this ๐
10:38:07 <TrueBrain> what annoys me a bit about this setup, that someone might go like: owh, I have a fully functional OpenTTD, but in reality, several things don't work or work crappy ..
10:38:25 <TrueBrain> so do we actually gain anything by making it optional for the shake of ... making it optional
10:38:37 <TrueBrain> as it is not benefiting the actual user, I would argue
10:38:47 <TrueBrain> it feels a lot a "because we can"
10:45:25 <TrueBrain> in theory we should do the same for Windows and MacOS, but we already have so many builds .....
10:56:33 <TrueBrain> okay, #10468 is pointless ... default GitHub runners have all our dependencies already installed ๐
10:56:52 <TrueBrain> so yeah .... that is not adding any value ๐
10:58:13 <TrueBrain> tnx for the reviews Rubidium .. I am scared shitless to merge this, but we will see how many people actually use nightlies ๐
10:58:37 <TrueBrain> owh, totally missed MacOS .. that is why I added it to vcpkg!
10:58:42 <TrueBrain> darn it .. I knew I had a reason ...
10:59:14 <TrueBrain> well, yes, they will have to deduce it .. I agree with you that that is .. euh .. interesting problem to tackle
10:59:32 <Rubidium> fewer optional libraries also means fewer issues, and since zlib, liblzma, libpng are basically installed on any recent computer, that doesn't seem like such a big stretch to use. If someone really wants to have a build without it, they can maintain their own fork ;)
11:01:25 <Rubidium> and it wouldn't be such a stretch to add lzo2 just to keep backward compatibility working. The rest is all not required on some platform, so keeping those optional is not as big as a burden I'd say.
11:01:39 <Rubidium> andythenorth: dinner time?
11:04:21 <andythenorth> Just had breakfast
11:13:17 <TrueBrain> frosch: : `BASESET_DOCKS`, shouldnt that be `BASESET_STATIONS`, for consistency? ๐
11:16:08 <michi_cc[d]> TrueBrain: Didn't andy report that curl was just there from him, i.e. part of the os install?
11:16:31 <TrueBrain> yeah, but you never know if that is a trustworthy report ๐
11:16:46 <TrueBrain> for our release builds, we install it via vcpkg
11:17:16 <michi_cc[d]> "libcurl is also installed with macOS itself and always present, and if you install the development environment XCode from Apple, you can use libcurl directly without having to install anything extra as the curl include files are bundled there."
11:18:14 <TrueBrain> how nice of them ๐
11:18:32 <TrueBrain> I wouldn't be surprised if the same holds for stuff like libz etc
11:18:36 <TrueBrain> (as libcurl depends on libz)
11:21:05 <TrueBrain> but yeah, I think we can remove more of those entries in `vcpkg install` ๐
11:24:43 <TrueBrain> the advantage of using vcpkg is that you get a newer version for older platforms
11:24:45 <TrueBrain> so there is some benefit
11:42:26 <FLHerne> TrueBrain: compiling without liblzma was useful to me like a decade ago
11:42:47 <FLHerne> it didn't work on m68k CPUs for some reason
11:43:00 <TrueBrain> That is the correct way of phrasing it .. a decade ago ๐
11:44:00 <TrueBrain> Not disagreeing with early statement that this flexibility helped adoption of the game .. but times have changed .. our users have changed, etc ๐
11:44:28 <TrueBrain> We used to build for all these niche platforms too ๐ now we demand C++17 ๐
11:45:39 *** frosch123 has joined #openttd
11:45:52 *** DorpsGek changes topic to "13.0 | Website: *.openttd.org (source: github, translator: translator, server list: servers, wiki: wiki) | Don't ask to ask, just ask | 'Latest' is not a valid version, 'Most recent' neither | English only"
11:46:27 <FLHerne> yeah, I reckon we should just drop it
11:47:06 <FLHerne> anyone compiling on a weird enough platform that the optional deps aren't available can patch them out on their own
11:47:33 <FLHerne> and in 2023 that's a very weird platform indeed
11:50:43 <frosch> TrueBrain: there is no BASESET_STATIONS? and DOCKS also includes locks etc, it's the equivalent to ROAD, RAIL, AIRPORTS. just that WATER did not sound quite right to me
11:53:43 <Xarick> hmm something fishy here
11:57:53 <TrueBrain> frosch: I know there isn't, that was why I was asking ๐ It felt like it meant stations, but naming it WATER would have been more clear there ๐ Bit hard to guess all the context here .. the game is weird ๐
11:58:43 <frosch> how about INFRA_RAIL, INFRA_ROAD, INFRA_WATER, INFRA_AIR ?
11:58:57 <TrueBrain> ha, yes, I like that ๐
11:59:30 <TrueBrain> `RAILTYPES=12, BASESET_ROAD=12` .. do I want to know what kind of GRF that is? Lol ..
11:59:55 <frosch> it's possible that BASESET_ROAD includes level crossing sprites
12:00:12 <TrueBrain> I also have `BASESET_ROAD=119, RAILTYPES=2`
12:00:15 <TrueBrain> load of crossings ๐
12:00:33 <TrueBrain> load? Loads or lots .. pick one ๐
12:02:54 <TrueBrain> `TRAINS=116, HOUSES=110`
12:03:01 <Samu> the bug is in openttd? somehow it thinks 0 is a lower value than any negative number?
12:03:02 <TrueBrain> there will just be a few GRFs I will classify as "other" ๐
12:05:58 <Samu> a negative number is higher than zero
12:06:05 <TrueBrain> `BASESET_COMPANY_PROPERTY`, what are the things I have to think about frosch ? ๐
12:06:34 <frosch> i even left a comment in the code about that one :p
12:06:44 <frosch> head quarters and statue
12:06:54 <frosch> i just did not know where else to put them
12:07:08 <TrueBrain> `City Tram Track] ERROR: features: BASESET_COMPANY_PROPERTY=29, ROAD_VEHICLES=9` so that is just a bit of a weird combo?
12:07:08 <frosch> and i certainly did not want a separate category for the statue sprite
12:07:38 <frosch> city tram track replaces hqs?
12:07:47 <TrueBrain> it has 29 entries in that category
12:08:14 <TrueBrain> HQs or statues, I just read ๐
12:08:36 <TrueBrain> but okay, I can write a heuristic for that, that isn't a real problem .. it still is a road-set to me ๐
12:09:05 <frosch> comfirmed, it does replace the hq sprites
12:09:12 <TrueBrain> haha ๐ Silly ๐
12:09:21 <frosch> lots of grf secretly replacing things :p
12:09:31 <TrueBrain> `Cursor / GUI Replacer] ERROR: features: BASESET_BRIDGES=8, BASESET_INFRA_WATER=1`
12:09:38 <TrueBrain> yeah ... some are not what they seem ๐
12:10:04 <frosch> well, cursors include cusors with "build bridge" and "build canal"
12:10:08 <frosch> no idea where to sort them
12:10:17 <TrueBrain> but BASESET_GUI is kinda missing ๐
12:10:20 <frosch> and not sure whether it is really possible to sort every single sprite :p
12:10:39 <TrueBrain> `BASESET_SIGNALS=239, RAILTYPES=7` .. a rail-set?
12:10:56 <TrueBrain> the signals part feels less important
12:11:00 <frosch> yes, there are different methods for replacing signals
12:11:07 <frosch> globally and railtype-specific
12:11:28 <TrueBrain> so a signal-set? Or do we just call those rail-sets too .. might be easier / better
12:11:44 <frosch> it's like industries + cargo
12:11:54 <frosch> signals alone is a signal set, signals+rail is a rail set
12:12:24 <frosch> but, yeah, may not be worth the extra category
12:12:26 <TrueBrain> `TRAINS=116, HOUSES=2` .. I just love GRFs ๐ This is fun, to look through all of them ๐
12:12:36 <frosch> i did not bother with an extra category for catenary either
12:12:50 <TrueBrain> so crossings were in `BASESET_INFRA_ROAD` you said, right?
12:12:59 <TrueBrain> `TRAINS=116, BASESET_LANDSCAPE=16, BASESET_INFRA_ROAD=12, BASESET_BRIDGES=54`
12:13:14 <TrueBrain> that would explain such combo at least ๐
12:14:09 <frosch> checked, level-crossing is sprite 1371, which i put into INFRA_ROAD
12:14:21 <TrueBrain> it is neither ROAD nor RAIL, so what can we do ๐
12:16:19 *** TROILUS6 has joined #openttd
12:16:48 <glx[d]> Samu: remember (int64)-1 == (uint64)UINT64_MAX
12:16:56 *** TROILUS has quit IRC (Read error: Connection reset by peer)
12:16:57 *** TROILUS6 is now known as TROILUS
12:18:33 <TrueBrain> `BASESET_LANDSCAPE=559, CANALS=5, BASESET_INFRA_ROAD=93, BASESET_INFRA_RAIL=174, OBJECTS=5` .. hmm .. that is a bit of an annoying one ..
12:18:41 <TrueBrain> it is a Landscape GRF
12:18:53 <TrueBrain> but the canals is disrupting the heuristics I have ๐
12:19:33 <Samu> i actually use STR_SCORE : {GREEN}{CURRENCY_SHORT}{ORANGE} ({COMMA}%)
12:19:40 <Samu> for displaying the value
12:21:15 <TrueBrain> how would you classify `ECS Town vector`? ๐
12:22:31 <TrueBrain> good .. that is also what the heuristic predicted ๐ The name made me doubt the result ๐
12:25:50 <TrueBrain> `HOUSES=92, TRAINS=6, ROAD_VEHICLES=52` .. lot of those "server" mods are collections like that
12:27:37 <Samu> it's not finished, but should be sufficient to test the issue
12:28:05 <frosch> maybe do not call them "other", but "random mess"? :p
12:28:06 <TrueBrain> How would you classify `BRIX`? (I just don't know GRFs well enough :P)
12:28:21 <frosch> i think it's landscape?
12:28:48 <TrueBrain> it also does a lot of rail and signals .. but yeah, that is still possible ๐
12:28:55 <TrueBrain> detecting the landscape ones is tricky
12:29:16 <TrueBrain> similar, detecting object-sets ๐
12:30:38 *** sla_ro|master has quit IRC ()
12:32:43 <frosch> that's the problem with basesets ๐ level crossing sprite contains grass + road + rail ๐
12:33:23 <TrueBrain> grf `0100403a` (`City Objects`) doesn't have a single feature .. lol .. annoying ๐
12:33:49 <TrueBrain> no, that can't be right .. must be a bug in my Python script
12:34:16 <TrueBrain> yeah, okay, it indeed is a bug in my script
12:35:09 <michi_cc[d]> BRIX is baseset-that-is-not-a-baseset.
12:35:48 <frosch> can that be a category? baseset-that-is-not-a-baseset?
12:36:43 <TrueBrain> `City Tram Track] ERROR: no features detected; original: SPRITES=94, BASESET_COMPANY_PROPERTY=29` <- one of the older uploads of City Tram Track .. it only contained HQ ๐
12:37:02 <TrueBrain> so traced the origin or why those are in there! ๐
12:38:05 <frosch> sounds like they were developing a MOBA, and shortly before release switched to a open-world-battle-royal?
12:38:13 <andythenorth> What if I could write GS in the game
12:38:26 <andythenorth> Interactive interpreter
12:38:36 <frosch> switch the console to squirrel?
12:39:35 <TrueBrain> `BASESET_INFRA_RAIL=18, BASESET_FACES=25`
12:40:50 <andythenorth> Gives a lot of game state inspection also
12:41:35 <andythenorth> Also epic MP griefing opportunities
12:42:30 <andythenorth> I wasnโt just trolling though ๐
12:45:35 <TrueBrain> frosch: any way to detect those GRFs that only do basecost changes?
12:45:39 <frosch> that file does the authorization, authentication goes via nickserv
12:46:04 <frosch> TrueBrain: i thought about that, and discarded it as a maintenance hassle
12:46:12 <frosch> would have to parse too much of action0
12:47:13 <TrueBrain> wtf are those `NML CAT` uploads ...
12:47:40 <TrueBrain> reading the description
12:47:55 <frosch> they do nothing except show a "==== <category ===" in the newgrf config list
12:48:01 <TrueBrain> especially as there is also a "2.0" variant ..
12:48:01 <frosch> so people can use it as visual separator in the list
12:48:21 <frosch> maybe 2.0 replaces "===" with "->->->" :p
12:48:47 <TrueBrain> `Improved M Cars] ERROR: features: SHIPS=11, AIRCRAFT=43, TRAINS=37, ROAD_VEHICLES=36` THAT NAME IS A LIE
12:49:29 <TrueBrain> `Korean Signal Set` is a bit weird .. one version does have `BASESET_SIGNALS`, but all other versions have no features; only sprites
12:50:44 <frosch> it should have SIGNALS, not BASESET_SIGNALS
12:50:58 <TrueBrain> not based on our current detection ofc
12:52:40 <frosch> hmm, i actually do not know how jgrpp does signals. SIGNALS is the old TTDP implementation of jgr. i just assumed that jgrpp did the same, but it may as well do something else
12:55:00 <frosch> wiki says it's different, but it still uses feature E, so should still trigger the detection
12:55:36 <TrueBrain> so I have to dive into the actual GRF to see what it is doing ๐ On my TODO list ๐
12:56:48 <frosch> oh wait, i looked at north-korean signal set
13:00:02 <frosch> the korean signal set i get from bananas (latest), says BASESET_GUI=1, BASESET_SIGNALS=208, SIGNALS=1
13:00:20 <TrueBrain> yes, that is the one version that does work properly ๐
13:00:31 <frosch> maybe the other ones were just buggy then :p
13:00:43 <frosch> or again rebranded grfs shortly before release for marketing reasons :p
13:01:14 <frosch> they invested 3 years into developing a tree set, but then the hype was on signals
13:01:45 <TrueBrain> `BASESET_GUI=74, BASESET_BRIDGES=2` .. hihi, those stats just make me giggle ๐
13:02:21 <JGR> frosch: Older versions tried to use ActionA, but did so in an incorrect way
13:02:38 <TrueBrain> cool, tnx ๐ Means I don't have to look into it further ๐
13:02:57 <TrueBrain> `Dutch Road Furniture] ERROR: features: BASESET_INFRA_ROAD=2, OBJECTS=42` .. road-set? object-set?
13:03:36 <TrueBrain> `CityMania Alpine Climate] ERROR: features: BASESET_LANDSCAPE=210, BASESET_INFRA_ROAD=19, BASESET_TREES=112, OBJECTS=81` .. `other`?
13:04:03 <frosch> normally landscape, no idea what the objects are doing there
13:04:36 <JGR> DP was using objects for fake rivers
13:05:04 <frosch> haha, nice, good look classifying that ๐
13:14:03 <Samu> do I have to fix league_sl.cpp?
13:16:25 <TrueBrain> okay, 317 entries fail detection based on simplistic "if this feature exist, this one is not important" .. 76 entries don't have features at all. Of those 317, let's try to do some weight-based guesses .. should reduce that count by a lot
13:16:47 <TrueBrain> I mean .. `BASESET_TREES=1, BASESET_LANDSCAPE=1, HOUSES=1, TRAINS=191` .. I think it is safe to say that is a train-set ๐
13:17:20 <frosch> i wonder which tree is that :p
13:17:23 <michi_cc[d]> train-set-with-side-effects ๐
13:17:33 <frosch> i mean, exactly one, no growth states or similar
13:18:13 <frosch> ah, it's a christmas tree then
13:18:38 <frosch> random christmas decorations on random objects
13:27:49 <TrueBrain> okay, so if one (major) feature is four times bigger than the rest, it picks that one. Seems like a fair balance
13:28:41 <frosch> features scale differently. BASESET_xxx are individual sprites, so always very large numbers
13:28:55 <frosch> TRAINS are medium numbers
13:28:57 <TrueBrain> yeah, hence the (major) part, BASESETS are not those ๐
13:29:12 <frosch> RAIL_TYPES are really low numbers, and CANALS is a max 1
13:29:36 <TrueBrain> CANALS is a pain in my butt
13:29:42 <TrueBrain> it doesn't actually help classifying ๐
13:29:46 <frosch> what we have seen so far, OBJECTS could be anything :p
13:31:54 <andythenorth> frosch: Working as intended, no? ๐
13:32:29 <TrueBrain> 319 -> 235 with the "major" feature (so just the action0 features) .. now with balancing basesets ..
13:33:38 <TrueBrain> `BASESET_LANDSCAPE=349, CANALS=5, BASESET_INFRA_RAIL=190` .. canals can be more than 1 ๐
13:33:49 <TrueBrain> right, 192 .. that did less than I was hoping for ๐
13:34:40 <Samu> there was no savegame bump when league table was introduced?
13:34:57 <frosch> oh, true, canals can go up to 9
13:35:16 <frosch> canals can also be rivers btw :p
13:38:34 <TrueBrain> `Cow farms] ERROR: no features detected; original: SPRITES=12`
13:39:12 <TrueBrain> 166 unclassified entries .. I think this is "good enough" ๐
13:39:28 <andythenorth> More than good enough ๐
13:39:47 <TrueBrain> `INDUSTRIES=2, ROAD_VEHICLES=1, TRAINS=1` .. I mean .. things like this are left over
13:39:57 <TrueBrain> and BRIX fails to be classified, but that is a good thing ๐
13:40:42 <Samu> HELP! I don't know which savegame version was the "First savegame version that has the field"
13:40:53 <Samu> speaking about League Tables
13:41:45 <TrueBrain> I expected that a few "vehicle sets" would jump out
13:41:50 <TrueBrain> but most also tend to do houses or industries
13:41:56 <TrueBrain> so yeah .. no "vehicle sets" category
13:42:02 <frosch> i ignore baseset sprites replacing default industries and houses
13:42:13 <frosch> that's why cow farms is not detected
13:42:27 <frosch> i just assume that proper newgrf use the real house and industry feature
13:43:04 <TrueBrain> only 4 GRFs fail detection despite them having sprites
13:43:12 <TrueBrain> so I think that is a fine balance you picked there ๐
13:44:30 <frosch> only 4? so the other 72 of the 76 without feature have no sprites?
13:44:40 <TrueBrain> no features detected at all
13:44:40 <frosch> ah, i guess 60 of those are the stupid categories
13:44:43 <TrueBrain> not a single one ๐
13:44:44 <frosch> and the rest is basecost
13:44:52 <TrueBrain> I can make a list in a second
13:45:02 <Samu> what do i put in the "from" field?
13:45:15 <frosch> is "featureless" a category? :p
13:45:47 <TrueBrain> an `Other` category will hopefully push authors to make it more clear what their GRF is actually about ๐
13:46:15 <frosch> yes, and stop andy duplicating all sprites into industries, stations and objects ๐
13:46:23 <frosch> imagine firs not being classified as industries :p
13:47:06 <Rubidium> Samu: looks like that rating should be int64, as all calls from GS are also int64. I wonder why that wasn't caught during review. Luckily it's a relatively easy fix, and content wise the data is the same
13:47:55 <TrueBrain> I think a `misc` category and `other` category could be good
13:48:00 <Samu> why didn't it have a savegame bump when the feature was introduced?
13:48:00 <TrueBrain> the first when there are just too many features
13:48:05 <TrueBrain> the latter when there are none
13:48:47 <Rubidium> Samu: new chunks don't need a version to introduce them, as the existence of the chunk already tells you that
13:50:13 <Samu> SLE_CONDVAR(LeagueTableElement, rating, SLE_INT64, what-version-from? ),
13:50:52 <Rubidium> Samu: no need to go through that; just change the SLE_UINT64 to SLE_INT64. That's fine in this specific case
13:51:03 <Samu> i tried, i get a corrupt savegame error
13:51:17 <Samu> unexpected type or whatever
13:51:34 <Rubidium> then you did something else that's not quite right
13:51:59 <TrueBrain> Rubidium: with SLE_FROM .. SLE_TO stuff, yes ๐
13:52:29 *** WormnestAndroid has quit IRC (Remote host closed the connection)
13:52:57 <Rubidium> oh that table stuff... that might complicate things :(
13:53:20 <TrueBrain> SLE_FILE vs SLE_VAR, that were the ones ๐
13:54:20 <Samu> dbg: [sl] Game Load Failed
13:54:20 <Samu> Broken savegame - Field type is different than expected
13:56:19 <Rubidium> you could just use version 0 (or rather whatever the enum for that is)
13:57:07 <Rubidium> with SLE_FILE_UINT64 | SLE_VAR_INT64
13:58:10 <andythenorth> frosch: Might do houses also, to fix cargo acceptance ๐
13:59:20 <Rubidium> though adding a savegame bump for this seems kinda pointless. Maybe set the to/from to the current last version + 1 and not update the savegame version? Should be fine as the in64 can safely be stored in the uin64 and then be restored as int64
14:01:55 <TrueBrain> so how do we want to do sets ... an airport .. "air set"? Aircraft too?
14:02:04 <TrueBrain> and railtypes, trains, etc all "rail set"?
14:02:36 <TrueBrain> or do we want to be more specific .. "train set" .. "railtrack set" ?
14:05:02 <frosch> some sets call themself "railtype set"
14:05:28 <frosch> but "train" is always something ele
14:05:35 *** sla_ro|master has joined #openttd
14:07:18 <TrueBrain> that too too long ๐
14:07:30 <andythenorth> petern: It is lunch
14:07:52 <andythenorth> Might have chicken ceasar salad
14:08:24 <petern> Kebab is salad with bread right?
14:09:55 <TrueBrain> frosch: : so you are saying, split "railtype" from "train", and don't call it just "rail"?
14:10:16 <TrueBrain> "roadtype" vs "road"?
14:10:34 <TrueBrain> how about air .. just "air"? Or split airports from airplanes?
14:10:59 <frosch> road is no nasty because of bus/truck/tram/cargotram, which we cannot detect
14:11:26 <frosch> aircraft set is again distinct from airport set
14:11:39 <frosch> there are only like 2 airport sets, probably :p
14:12:26 <TrueBrain> what are the right words for water here? Dock vs ship?
14:12:35 <frosch> "trains", "rail infrastructure", "road vehicles", "road infrastructure", "ships", "water infrastructure", "aircraft", "airports"?
14:13:20 <TrueBrain> good enough for now
14:13:24 <TrueBrain> will need to be tuned over time anyway
14:14:18 <TrueBrain> hmm .. shouldn't airports just be stations?
14:15:31 <andythenorth> Airports are airports
14:15:35 <frosch> "rail stations" are a very large category
14:15:43 <frosch> "airports" are a different thing
14:15:51 <TrueBrain> but we only have stations?
14:15:59 <TrueBrain> or are they always rail stations?
14:16:14 <frosch> you can select between 250 "rail stations"
14:16:16 <TrueBrain> and I guess the one for road never landed yet? I remember a PR about that ๐
14:16:24 <frosch> some people are working on doing the same for "road stations"
14:16:36 <andythenorth> I meanโฆwe could have multiple mappings of keywords to features?
14:16:36 <andythenorth> But then โฆ I never wanted to be a librarian ๐
14:16:42 <frosch> we have nothing for docks, and very limited stuff for airports
14:16:51 <TrueBrain> I was about to ask about docks ๐ Hihi, tnx, gotcha
14:16:54 <frosch> but noone suggested to merge any of them :p
14:17:18 <andythenorth> Reldred asked a lot
14:19:12 <TrueBrain> okay ... now I have 4523 entries of classified GRFs .. and I need a second and third opinion on that ๐
14:19:19 <TrueBrain> let's see if we can make it a bit more .. understandable
14:19:45 <TrueBrain> first, let's filter out all those not marked `new-games`
14:20:35 <TallTyler> Road stations PR exists and needs review, I donโt think itโs a draft anymore. So planning ahead for that category might be wise
14:21:52 <JGR> I will probably make some more changes to it
14:22:22 <JGR> I've added/changed a few things in the version in my branch since then
14:23:43 <TrueBrain> now what would be the easiest way to view such a list .. hmm .. per category? I guess ..
14:26:02 <TrueBrain> no, I just want a review .. I will bring it to the bananas-frontend-web after that ๐
14:26:20 <frosch> just a csv? grfid, name, category?
14:26:27 <TrueBrain> yeah, did something like that
14:26:35 <TrueBrain> just not a csv, but similar, and hopefully readable ๐
14:26:48 <TrueBrain> I added multi-process support for this analysis
14:26:51 <TrueBrain> still takes 2 minutes
14:27:00 <XarothBrook> I would troll and say xml, but I think yaml might work.
14:27:12 <frosch> xml just turned 25 ๐
14:27:19 <TrueBrain> you are so lucky I cannot kick you from this discord XarothBrook
14:28:08 <TrueBrain> Did not look over it myself, but let me know if anything stands out please
14:28:25 <TrueBrain> found the first one .. town != townname ..
14:29:30 <frosch> i do not dare to look at "better world cities"
14:29:38 <TrueBrain> `New Trains` .. such a good name for a GRF
14:30:20 <frosch> "swedish houses" is wrong
14:30:25 <TrueBrain> `FISH 1 (Ships)` .. can't believe FISH needed an explanation ๐
14:30:38 <TrueBrain> ignore the "town set" list for now
14:30:43 <TrueBrain> it is a mix of "town set" and "townname set"
14:30:47 <TrueBrain> fixing that as we speak ๐
14:31:37 <TrueBrain> `EmptyGRF` .. clearly not that empty
14:32:02 <frosch> i like the "(country)" part in "georgian town names (country)" ๐
14:32:32 <TrueBrain> "Other" category only contains CARGO feature entries .. so that is a bit of a bad name
14:33:53 <frosch> oh, sorry for "debug vehicles" ๐
14:33:55 <TrueBrain> "OpenGFX+ Landscape" is misclassified, lol .. let's see why ...
14:34:16 <TrueBrain> owh, I know why .. but no, that is wrong ๐
14:35:51 <TrueBrain> but overall it seems to hit the mark pretty well, from what I can tell ๐
14:36:17 <frosch> yes, so far i have only found "oof" sets, which fit nowhere ๐
14:38:43 <TrueBrain> sorted the list, so I can diff changes better ๐
14:39:20 <TrueBrain> this classification already just feels better, than an endless list of GRFs ๐
14:41:19 <TrueBrain> lol, I fixed some of the water-infra issues, but now `CHIPS Custom Docks` is seen as a GUI set ๐
14:42:33 <TrueBrain> 1 CANAL entry and 3 GUI entries .. okay, this needs a tiny bit of tuning for CANAL specifically
14:43:50 <TrueBrain> CANAL is just a bit of everything and nothing .. which is funny ๐
14:43:59 <TrueBrain> guess it contains both docks and rivers
14:44:49 <TrueBrain> yeah ... people really want apeshit on it
14:45:18 <TrueBrain> okay, CANAL indeed can contain docks
14:45:23 <TrueBrain> which is why classifying it is a bit tricky
14:45:41 <frosch> just put them all into water-infrastructure?
14:45:45 <frosch> there are not that many sets
14:45:58 <TrueBrain> that means `OpenGFX+ Landscape` is also considered a water-infrastructure
14:46:03 <TrueBrain> which feels bad ๐
14:46:52 <frosch> 4738520b - PLZ_IGNORE <- oh dear
14:47:04 <frosch> we need that "hide from download" button in the gui
14:47:14 <andythenorth> Classifying is never perfect ๐
14:47:40 <frosch> oh, there are more of them
14:47:44 <TrueBrain> frosch: honestly, that entry is close to griefing ๐
14:47:58 <TrueBrain> something something ragequit
14:48:26 <TrueBrain> I was tempted back then to just revert the `name` entry change
14:49:43 <TrueBrain> pushed new update; see "Revisions" for what changed
14:49:51 <TrueBrain> basically, fixed `OpenGFX+ Landscape` ๐
14:50:33 <TrueBrain> it now makes the estimation, that if you only did CANAL, it is a dock change, but if you also did a lot of LANDSCAPE, it is a landscape ๐
14:51:04 <TrueBrain> having Docks in that same feature is just annoying ๐ But what-ever .. guestimations get you far ๐
14:52:43 <frosch> should i bother implementing basecost and snowline detection?
14:52:59 <TrueBrain> I now pushed it in the Other category, not?
14:53:23 <TrueBrain> how about we collapse Other and Unknown in a single category?
14:53:46 <TrueBrain> "Other" currently are only those that modify CARGO stuff .. so pretty close to "base cost" mods
14:54:30 <frosch> the "mixed" category contains a lot of sets which have vehicles of many types
14:54:51 <frosch> maybe add a "vehicle" category for grfs, which have only vehicles, but can't decide betrween trains, road veihcle, ships, ...
14:55:05 <TrueBrain> there are only 2 GRFs which have purely vehicles in their set in Mixed
14:55:10 <TrueBrain> the others all have industries and/or houses too
14:55:40 <TrueBrain> (or landscape stuff)
14:55:48 <TrueBrain> I didn't want to make a category for 2 ๐
14:56:00 <frosch> ok, i expected 5 or so ๐
14:56:51 <TrueBrain> one of them is `Original vehicle names`
14:57:08 <frosch> the other is better vehicle names?
14:57:20 <TrueBrain> let me run the exact names/count
15:01:52 <GeorgeVB> GeorgeVB: Sorry for rising the question up, would it be hard to provide such vars? I would like to make some improvements to xUSSR rails sets, like adding manual railroad switch graphics, but I need the vars to check rails and landscape to draw them correctly.
15:03:12 <TrueBrain> so yeah, more than 2; but most were below threshold of 10, so I didn't see them at first ๐
15:03:51 <TrueBrain> so sure, "Vehicle set" it is
15:05:14 <frosch> how is opengfx+trees classified?
15:06:36 <TrueBrain> the first version contained BASESET_TREES
15:06:39 <TrueBrain> but the last 4 versions do not
15:06:57 <TrueBrain> `{Feature.BASESET_GUI: {742}}`
15:07:24 <TrueBrain> yeah, only contains sprites and 1 GUI
15:09:08 <frosch> it has parameters to replace different types of trees
15:09:19 <TrueBrain> haha, yeah .. we cannot detect that stuff ๐
15:09:49 <frosch> so, yeah, bad luck, your fault for using action6 :p
15:10:05 <TrueBrain> `City Tram Track` is seen as a HQ mod .. a bit weird ๐
15:10:14 <TrueBrain> but most likely the same as the other City mod
15:10:31 <frosch> we discussed it before, and concluded it is a hq set ๐
15:11:12 <TrueBrain> you are right; I thought it was another .. but it isn't ๐
15:11:40 <frosch> ok, next steps: cooking, try detecting basecosts and snow-line-stuff
15:11:44 <andythenorth> My ship grfs modify building base cost ๐
15:13:37 <TrueBrain> `Cargo set` .. does that make sense?
15:13:48 <TrueBrain> I don't know how to classify something that only changes CARGO features ..
15:13:55 <TrueBrain> most do something with payment
15:14:44 <TrueBrain> `paxWorkers` for example only changes the name of pax to .. workers ๐
15:15:23 *** WormnestAndroid has joined #openttd
15:16:42 <TrueBrain> `WR Basic Industries (WRBI)` is a town-set .. feels wrong ๐
15:17:47 <TrueBrain> it does houses and industries .. and I classify that as a town-set, as that is true in most cases ๐
15:18:40 <TrueBrain> `Other features: Houses can accept Passengers, Mail, Goods, Food, Building Materials, Water.`
15:18:42 <TrueBrain> and this is why ๐
15:21:50 <TrueBrain> okay, only 3 grfs have this conflict; will move them to `mixed` instead ๐
15:29:34 <Samu> GSLeagueTable is missing a few functions imo
15:30:04 <Samu> for example, I only wanna update the score if the score changes
15:30:30 <Samu> otherwise I'm always sending DoCommands and i know these delay the whole thing
15:30:42 <Samu> should be a way to get the current score
15:35:31 *** sla_ro|master has quit IRC ()
15:39:12 *** sla_ro|master has joined #openttd
15:47:16 <glx[d]> store it in the script
15:47:49 <glx[d]> as only the script updates the score anyway
15:48:02 <glx[d]> so it should know if it changed
15:53:02 <frosch> TrueBrain: does that improve things, or break things? ๐
15:53:31 <TrueBrain> Will check after dinner!
15:53:47 <glx[d]> I can't remember, but why didn't we allow AI to use Text ?
15:55:30 <frosch> they do not display it anywhere
15:55:41 <frosch> ai do not write in town gui, they do not trigger news, ...
15:56:17 <glx[d]> but they can set some names
15:56:42 <frosch> only gs have translation files, ai only have rawstrings
15:57:11 <frosch> gs also send the translation files to clients in savegames
15:57:30 <frosch> starting ais would send them to clients when starting?
15:57:43 <glx[d]> funny the doc mentions AIText ๐
15:57:49 <frosch> but then, what names can ai set? are they translatable?
15:58:40 <glx[d]> station name, company name, ...
16:00:26 <glx[d]> as I see it, ScriptText is a kind fmt::format
16:00:57 <Samu> hmm i'd need to use list.swap
16:04:38 <glx[d]> but yeah AI don't really need ScriptText as raw string is enough
16:05:59 <andythenorth> Feature request: detect FIRS forks as a category ๐
16:07:17 <Samu> actually just a 2nd list, no need to swap
16:13:31 <Samu> i can create stuff like "vehicle with the most profit last year per company"
16:14:03 *** TROILUS4 has joined #openttd
16:16:16 <Samu> and actually link it to the vehicle, heh
16:17:53 *** TROILUS has quit IRC (Read error: No route to host)
16:17:53 *** TROILUS4 is now known as TROILUS
16:35:54 *** Wormnest has joined #openttd
17:28:45 *** TROILUS7 has joined #openttd
17:32:59 *** TROILUS has quit IRC (Read error: No route to host)
17:33:00 *** TROILUS7 is now known as TROILUS
17:40:44 <Samu> this.tables.company_value_table.companies[3] is this long? I want to get the league table element id of company 3 on the league table named company_value_table
18:06:50 <Samu> dang it, i wanted to use Valuate so much, but the darn thing isn't saveable
18:43:58 *** Flygon has quit IRC (Read error: Connection reset by peer)
18:45:11 <DorpsGek> - Update: Translations from eints (by translators)
18:52:03 <Samu> want to have everything in tables
18:52:16 <Samu> so when i save, i just save that
19:26:50 <Samu> oh, i can't save functions?
19:33:42 *** gelignite has joined #openttd
20:00:56 <Samu> how do i get the name of a key?
20:01:55 <Samu> company_value_table is a key in this case, how do i do a comparison
20:02:47 <Samu> if (tablevariable == "company_value_table") { dostuff; }
20:03:01 <Samu> but i dunno how to get it
20:06:17 <TrueBrain> frosch: : lol, that is not getting less complicated ๐
20:06:20 <Samu> wanna extract the name of the key
20:06:45 <TrueBrain> frosch: : is line 405 a typo? 0x13 instead of 13?
20:07:51 <TrueBrain> hmm .. do we really want to have a set with "snowline"? ๐
20:08:07 <frosch> no, put them into landscape or so
20:08:49 <frosch> maybe cargo+basecost could become "economy"
20:09:06 <frosch> though maybe that promises too much
20:14:12 <frosch> ah silly me, i coded it explicitly so it would ignore errors when parsing. that's why i did not notice the 13/0x13 thing
20:14:59 <frosch> i assumed using firs would test them, but my test was useless
20:16:08 <frosch> knowing that, it works now ๐
20:18:15 *** crem2 has quit IRC (Ping timeout: 480 seconds)
20:21:42 <TrueBrain> okay, let's see .. what changes because of these new two features ..
20:30:07 <CplBurdenR3294> I'm the baaaaadFIRS
20:30:14 <CplBurdenR3294> *Billie Ellish intensifies*
20:40:27 <dP> TrueBrain: lol, this "trainset" defines no trains ๐คฃ
20:41:07 <dP> tbf I don't think it fits any particular category, it's kinda like "special" or "misc" type
20:43:15 <dP> also, what happened to industries and cargoes? cmevent defines plenty of those
20:44:28 <TrueBrain> what a strange way to talk to people ... where is that mute button?
20:44:47 <Samu> awww... dP, LinkType can't be a vehicle or a station :(
20:45:29 <TrueBrain> frosch: found 9 economy sets; seems to work fine ๐
20:45:40 <TrueBrain> 2 are now correctly seen as landscape
20:46:00 <TrueBrain> Unknown category is getting really empty now ๐
20:47:40 <frosch> some other sets moved, like lct vehicle set
20:47:46 <TrueBrain> yeah, made some other fixes
20:47:50 <TrueBrain> ships wasn't processed properly
20:47:56 <TrueBrain> as we don't have that many of them ๐
20:48:07 <TrueBrain> LCT Vehicle set has many more aircrafts than ships, and nothing else
20:48:15 <TrueBrain> (it has 1 ship, and 8+ aircrafts)
20:49:33 <frosch> i think cargo + economy can be merged
20:49:37 <dP> Samu: yeah, I think I just copied goals or smth
20:50:18 <TrueBrain> frosch: but some cargo just rename cargo-names for example
20:50:27 <TrueBrain> well, I guess they can, it is not right, but also not really wrong
20:52:33 <frosch> most of them are payment stuff
20:53:34 <TrueBrain> most, yes, not all ๐ But .. nitpicking ๐
20:56:20 <TrueBrain> updated the cargo to economy (and updated BaNaNaS on request)
20:59:29 <TrueBrain> rename Unknown to ... miscellaneous?
21:00:10 <frosch> yeah, or "other", but "misc" sounds more fancy
21:00:21 *** TROILUS9 has joined #openttd
21:00:57 <frosch> hq and water-infra are small categories
21:01:03 <TrueBrain> okay .. next step is to run this on upload, after that to update all YAML with the correct classification .. then to add it to the API .. the add it to the frontend-web ๐
21:01:16 <TrueBrain> after that, see if we can do this for more content ๐
21:01:17 <frosch> i guess water-infra just has to exist for symmetry
21:01:20 <frosch> but no idea about hq...
21:02:40 <frosch> i prefer having "misc" for "bad sets" :p
21:03:01 <TrueBrain> also solves the issue that strictly seen a statue GRF would also be under HQ now ๐
21:03:27 <TrueBrain> Feature.BASESET_COLOUR_SCHEMA: Classification.GUI,
21:03:27 <TrueBrain> Feature.BASESET_COMPANY_PROPERTY: Classification.LANDSCAPE,
21:03:27 <TrueBrain> Feature.BASESET_FACES: Classification.GUI,
21:03:27 <TrueBrain> Feature.BASESET_FONT: Classification.GUI,
21:03:27 <TrueBrain> Feature.BASESET_GUI: Classification.GUI,
21:06:12 <TrueBrain> right, let's see if I can tune this slightly for objects .. not always correct .. but that is an annoying one to tune ๐
21:06:36 <TrueBrain> updated for HQ -> Town
21:07:27 *** TROILUS has quit IRC (Ping timeout: 480 seconds)
21:07:28 *** TROILUS9 is now known as TROILUS
21:09:11 <TrueBrain> okay ... a fix for one, breaks `OpenGFX+ Landscape` .. it is such an annoying set ๐ ๐
21:10:30 <frosch> doesn't ogfx+landscape do snowline?
21:10:35 <frosch> give more weight to that :p
21:12:40 <TrueBrain> nah, detection just has a bug .. ah, there we go
21:12:52 <TrueBrain> I really have to simplify this a bit, but okay ๐
21:20:58 <TrueBrain> silly XarothBrook just showed me this:
21:21:35 <TrueBrain> I am done with this world now ๐ Fuck logic
21:24:02 <frosch> i would have bet on O2 ๐
21:24:26 <TrueBrain> "An infinite loop? Let me just optimize that away for you! Can't possibly do anything" - Said no-one ever
21:24:46 <LordAro> undefined behaviour ;)
21:24:48 <FLHerne> presumably instead of printing "Hello, world" it can print "Iรค! Iรค! Cthulhu fhtagn!" before making demons fly out of your nose
21:26:22 <XarothBrook> ```An iteration statement whose controlling expression is not a constant expression, that performs no input/output operations, does not access volatile objects, and performs no synchronization or atomic operations in its body, controlling expression, or (in the case of a for statement) its expression-3, may be assumed by the implementation to terminate.```
21:26:52 <dwfreed> except the controlling expression is a constant expression
21:27:37 <frosch> one day a coworker came to me: look this fancy attribute annotates pointer parameters as non-nullptr, so the compiler can already warn you, before you trigger the runtime checks. reality was: the compiler would only warn about trivial cases, but optimise all run-time checks away because nullptr was no longer allowed.
21:29:52 <frosch> if you skip the tables, it's really short ๐
21:30:24 <TrueBrain> I like the simplicity of it all, in the end
21:30:32 <TrueBrain> just a priority table and very simple heuristics
21:31:08 <frosch> there are no "sound sets" though ๐
21:31:22 <frosch> "sounds" is an add-on to other sets
21:31:31 <frosch> "vehicle set with 32bpp sprites", "vehicle set with sound"
21:31:47 <TrueBrain> I added it to have an entry for everything, but as you noticed, nothing actually hits it ๐
21:32:09 <TrueBrain> but yeah, that needs some work .. 32bpp needs adding too ๐
21:32:22 <frosch> yes, but line 151 should be merged into line 155
21:32:47 <frosch> it's not "sound is a thing, if there is nothing else"
21:32:49 <TrueBrain> I wasn't 100% sure when I wrote that ๐
21:33:07 <TrueBrain> wanted to be sure I picked up on any set only defining sound ๐
21:34:06 <frosch> if there was one, it would be landscape ๐
21:34:21 <frosch> there is an "ambient sound" callback
21:34:24 <TrueBrain> well, will end up in `misc` now ๐
21:34:52 <TrueBrain> hmm, I can nitpick your PR, but .. I don't feel like it ๐
21:35:22 <frosch> what level of nitpicking? spelling? capitalisation?
21:35:51 <TrueBrain> `in (0x15,)` vs `== 0x01`
21:35:56 <TrueBrain> I just couldn't be arshed ๐
21:36:38 <frosch> that's intentional ๐ it's not my fault there is only one item in the tuple for nw
21:36:59 <TrueBrain> it is about the balance of things .. you can't do a `==` in one place, and an `in (A,)` in another
21:37:02 <TrueBrain> that is just wrong ๐
21:37:30 <TrueBrain> either do them both in 1 syntax, or both in the other .. this is just punishing people with OCD for no reason other than hurting them
21:39:15 <TrueBrain> only really small ones
21:40:12 <dwfreed> XarothBrook: just noticed that quote appears to be from C11, not C++
21:42:44 <Samu> im still not okay with percentages, but oh well
21:43:58 <TrueBrain> okay, I am happy with this classifier .. let's see how long it takes me to integrate into the API etc ๐
21:45:50 <frosch> lordaro: it was funny that HN had an article on "code style > code quality" correlation one day, and the followed up with a "swear words > code quality" one ๐
21:46:46 <TrueBrain> I am happy you put in the effort for snowline and basecost detection frosch , it feels better now ๐ Those small things .. they are worth it ๐
21:47:18 <TrueBrain> with 4500 test-files ... yeah, it will break at some point in time ๐
21:48:54 <frosch> ottd 1.10 was the last time that would have broken it
21:49:19 <LordAro> XarothBrook: dwfreed: ^
21:50:41 <TrueBrain> for now: zzz time ๐
21:50:47 <dwfreed> LordAro: that is about C, not C++
21:50:53 *** HerzogDeXtEr has quit IRC (Read error: Connection reset by peer)
21:51:39 <dwfreed> and the clang behavior has been fixed to comply with the C standard; if you switch the language to C, clang correctly produces the infinite loop
21:52:00 *** HerzogDeXtEr has joined #openttd
21:52:33 *** keikoz has quit IRC (Ping timeout: 480 seconds)
21:52:50 *** HerzogDeXtEr has quit IRC (Read error: Connection reset by peer)
22:01:01 *** gelignite has quit IRC (Quit: Stay safe!)
22:05:33 *** nielsm has quit IRC (Ping timeout: 480 seconds)
22:25:20 <frosch> not sure why merging PRs is no longer allowed when outdated
22:25:41 <TrueBrain> Will check tomorrow ๐
22:25:57 <frosch> there is only a setting to "always offer update button"
22:26:07 <frosch> but none to require pressing it first
22:27:05 <TrueBrain> Checked, branch protection is wrong .. but cannot fix it via mobile :p
22:27:40 <frosch> ah, found it, unchecked it, for next time :p
22:28:18 <frosch> hmm, i did not see any post on HN about gh team discussions
22:28:26 <frosch> was there any drama as you hoped for?
22:36:38 <TrueBrain> Enterprise customers talk to their agent .. those make changes :p
22:37:13 <TrueBrain> We are not enterprise
22:39:25 <frosch> did you see that linux nightly failed because of missing libcurl4-openssl-dev ?
22:39:45 <frosch> is nightly using something else than the PR checks?
22:44:49 <glx[d]> nightly uses a different workflow
22:46:47 <glx[d]> frosch: oh might be yum vs apt
22:47:24 <frosch> huh, why yum? it says ubuntu-20.04 in both cases
22:47:44 <frosch> ah no, that's the supervisor
22:47:48 <frosch> the container is manylinux
22:50:44 <dwfreed> and manylinux is centos-based, iirc
22:50:51 <dwfreed> because lowest common denominator
22:51:00 <frosch> there is a libcurl-devel, no idea whether the "4" or "openssl" part is important
22:51:04 <Samu> i wanna print the name of a vehicle in white text, can't manage to do it, any help?
22:51:45 <Samu> I have GSText(GSText.STR_STRING, GSVehicle.GetName(total_profits.Begin()))
22:51:59 <Samu> STR_STRING : {WHITE}{RAW_STRING}
22:52:07 <Samu> doesn't work, prints blank
22:52:25 <frosch> ah, there is also libcurl-openssl-devel, so only the "4" is missing now
22:52:42 <dwfreed> frosch: the 4 is soname, which is a debian family peculiarity
22:54:00 <glx[d]> samu: I think {WHITE}{VEHICULE} should work, but pass the id as parameter not the name
22:54:39 <dwfreed> so libcurl-openssl-devel should work just fine where on debian you'd use libcurl4-openssl-dev
22:56:28 <Samu> fantastic! amazing, i love it
22:58:53 <frosch> tb will love me for submitting a completely untested PR again
22:59:36 <TrueBrain> frosch: It does?! I was sure I checked that...
23:00:04 <frosch> CI was happy, who would run a rpm-based system?
23:00:38 <TrueBrain> Owh, it runs in a container
23:00:53 <frosch> only corporations run rpm ๐
23:00:58 <TrueBrain> You can test it by starting that docker
23:01:15 <frosch> sounds like something for tomorrow ๐
23:01:38 <TrueBrain> `docker run --rm quay.io/pypa/manylinux2014_x86_64`
23:01:46 <TrueBrain> And execute those yum commands
23:02:06 <TrueBrain> Owh, `-it` needed too
23:02:24 <frosch> yeah, tomorrow, sleep now ๐
23:02:31 <TrueBrain> Cant check from mobile, but good to check before merge ๐
23:08:15 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
23:09:25 *** Samu has quit IRC (Quit: Leaving)
23:26:29 *** sla_ro|master has quit IRC ()
23:48:21 <dP> can minor releases bump savegame version?
continue to next day โต