IRC logs for #openttd on OFTC at 2020-12-21
⏴ go to previous day
00:23:59 *** Progman has quit IRC (Remote host closed the connection)
00:47:47 *** gregdek has quit IRC (Ping timeout: 480 seconds)
00:49:50 *** gregdek has joined #openttd
01:31:00 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
01:31:35 *** WormnestAndroid has joined #openttd
02:04:27 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
02:05:10 *** WormnestAndroid has joined #openttd
03:38:13 *** debdog has quit IRC (Ping timeout: 480 seconds)
05:16:53 *** HerzogDeXtEr has quit IRC (Read error: Connection reset by peer)
06:13:33 *** tokai|noir has quit IRC (Quit: c('~' )o)
06:22:40 <DorpsGek> [OpenTTD/OpenTTD] perezdidac opened issue #8405: Trains not unloading load at station to later go to the depot for maintenance https://git.io/JLVPs
06:31:40 <DorpsGek> [OpenTTD/OpenTTD] perezdidac commented on issue #8405: Trains not unloading load at station to later go to the depot for maintenance https://git.io/JLVPs
07:02:11 *** sla_ro|master has joined #openttd
07:37:36 *** Progman has joined #openttd
07:44:27 *** andythenorth has joined #openttd
08:43:10 * andythenorth admits defeat and reads the docs
08:43:45 <TrueBrain> noooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
08:46:11 <andythenorth> meh I'm scribbling over register 0x100 later in this chain
08:46:15 <andythenorth> that will be the problem
08:47:46 * andythenorth requires a better programmer
08:48:07 * andythenorth fixes clown shoes error
08:48:10 <TrueBrain> you can't pay me :P
08:49:17 <andythenorth> you wouldn't like it
08:49:46 <andythenorth> register 0x100 is used to hold flags for multiple different vars
08:50:13 <andythenorth> so initialising it so one can be read will break code that reads another
08:50:42 <andythenorth> and sometimes it's implicitly initialised, so reading a var causes chains to break silently
08:51:43 <andythenorth> 'made sense at the time'
08:55:25 <TrueBrain> well, I am blowing leafs!
08:58:43 <andythenorth> but not really, vehicle newgrf is 'fine' and 'mostly complete'
08:59:40 <andythenorth> it's just funny, we have a spec made for TTDP where everything had to be jack-hammered into place
08:59:49 <andythenorth> but OpenTTD has a sane environment for modding vehicles
08:59:52 <andythenorth> but we kept the old spec
08:59:57 <andythenorth> stuff and things
09:03:07 <andythenorth> ha ha, on-the-fly transpiler for old grfs :P
09:03:19 <andythenorth> throw away the old spec
09:05:28 <TrueBrain> I keep saying, the specs are not the issue, the language you have to write it in is :D But, I am a broken record now :)
09:07:12 <TrueBrain> this is what Computer Science has been doing for years :P
09:07:20 <TrueBrain> CPU instructions are not the most sane things to work with .. so we abstract it :)
09:10:34 *** WormnestAndroid has quit IRC (Remote host closed the connection)
09:10:47 *** WormnestAndroid has joined #openttd
09:13:03 <andythenorth> how can I help??! Etc etc
09:13:31 <TrueBrain> dunno .. blowing leafs :)
09:14:05 <TrueBrain> (as in: I am blowing leafs)
09:14:13 <andythenorth> I have a leaf blower in my shed
09:14:54 <andythenorth> oh that looks satisfying
09:15:05 <andythenorth> I made a flash game like that once, but you had to herd sheep
09:15:41 <andythenorth> the sheep try to maintain a distance away from you
09:15:53 <andythenorth> 'nuclear leaf blower' upgrade
09:16:29 <andythenorth> ok, so it would be quite wrong to declare newgrf vehicles 'all wrong', it's actually pretty good
09:16:34 <andythenorth> bu there are some mad parts
09:17:13 <andythenorth> then as a newbie author...like why?
09:17:22 <andythenorth> why do I have to care about property vs. callback?
09:17:37 <andythenorth> why does openttd not just expose all properties as callbacks and cache them appropriately?
09:17:45 <TrueBrain> this happens if assembly people write specs :)
09:18:07 <andythenorth> I don't really mean 'why?' for 'what is the reason'
09:18:18 <andythenorth> or 'could we improve him?'
09:18:20 <TrueBrain> and I did not mean to answer a question :)
09:20:23 <andythenorth> and should not exist in any world with a sense of decency
09:20:35 <andythenorth> I'm sure frosch made it as a giant troll about how stupid it is
09:21:16 <andythenorth> it's quite dedicated, making multiple .dot files to show the interactions
09:32:39 *** sla_ro|master2 has joined #openttd
09:37:20 *** sla_ro|master has quit IRC (Ping timeout: 480 seconds)
09:43:03 <_dp_> TrueBrain, specs may not be the issue in a perfect world of newgrf making
09:43:29 <_dp_> but when you try to change the game itself and see stuff like that refitting logic you realise how much of an isuse it is :p
09:43:57 <TrueBrain> you are not listening to what I say :)
09:44:26 <andythenorth> NML took a really _good_ step in abstracting away a bunch of things
09:44:40 <andythenorth> I can do stuff trivially in nml that would have taken a day of shifts and masks in nfo
09:44:55 <andythenorth> because the nml authors actually did a fricking awesome job
09:45:03 <andythenorth> even if we can now seem some oversights
09:45:40 <andythenorth> I don't know how to put into words this stuff correctly
09:45:43 <andythenorth> but it's something like
09:46:11 <andythenorth> "we started on this journey (making the game moddable), a lot of it is done, why don't we finish it?"
09:47:59 <_dp_> imo nml is ok for declarative stuff like graphics and properties (sans usage complexity) but when it comes to logic it's a disaster
09:48:57 <_dp_> well, nml too but that's secondary
09:49:15 <andythenorth> for industries etc I tend to agree
09:49:34 <andythenorth> I'm taking vehicles as a case because I think they're nearly good enough in plain newgrf
09:50:13 <andythenorth> either newgrf is entirely wrong and needs burned, or it's nearly fine
09:50:31 <andythenorth> but we have a lot of successful mods using it, so I'm thinking 'nearly fine'
09:51:24 <andythenorth> if we just changed the underlying implementation, then changed the format of mods and the method of compiling
10:08:11 <FLHerne> TrueBrain/andythenorth: It's very noticeable if you're reading NML source that it was written by assembly people
10:08:26 <TrueBrain> I have many PMs telling me similar stories :D
10:08:31 <FLHerne> It's all about "this NML construct represents these actions"
10:08:52 <TrueBrain> to be clear, I have nothing against NML; it has been a great help over the years for many people :)
10:09:05 <FLHerne> Not "we have this tree of NML actions, how do we generate a grf from it?"
10:09:28 <andythenorth> we can agree that NML is 'just fine'
10:09:29 <FLHerne> s/actions/statements/
10:09:40 <FLHerne> Yeah, it kind of works
10:09:44 <TrueBrain> FLHerne: yeah, a common pitfall :)
10:10:02 <andythenorth> the picture I am trying to see isn't about the toolchain :)
10:10:16 <andythenorth> it's about converting TB's idea of 'game is totally moddable'
10:10:19 <FLHerne> But it means that it's very hard to add higher-level things, or handle bits of implicit nonsense between blocks
10:10:23 <andythenorth> to reality of what the game is / does / should do
10:10:36 <andythenorth> as TB has no idea at all about grf
10:10:43 <andythenorth> and I have no idea about real programming
10:10:50 <andythenorth> this is a funny story
10:11:26 <TrueBrain> FLHerne: I was surprised it could do optimizations, tbh
10:11:31 <FLHerne> Like, NML still forces you to manually deal with the text stack, including random things implicitly blowing it up
10:11:38 <TrueBrain> that is pretty impressive to add it to NML, honestly :)
10:12:01 <andythenorth> the things NML does to make, e.g. expressions usable
10:12:11 <andythenorth> and what that means in the actual varaction 2s
10:12:13 <FLHerne> Because it mostly just translates each block directly into actions, there's no use chain for these variables
10:14:57 * andythenorth has been thinking about authoring
10:15:33 <andythenorth> ever built anything where you can author content from the main game/application interface? :)
10:17:15 <reldred> Plz give me a nice simple way to make stations and new objects from the game interface plz and k thx.
10:18:20 <reldred> I’m sitting on a complete sprite sheet for the first iteration of suburban stations 2: electric boogaloo and I am ducking dreading coding it. Probably gonna m4nfo but who knows.
10:39:50 <TrueBrain> and I am blowing leaves :D
10:41:48 * andythenorth built some flash apps where the app/game client was also the authoring client
10:41:52 <andythenorth> I wouldn't advise it :P
10:42:54 <andythenorth> edit properties in-game (directly modify object properties), post back to server (XML of course! it was 2004)
10:43:05 <andythenorth> wasn't so great with multiple authors working!
10:43:36 <andythenorth> also when there's a string on like...level 7 and you need to edit it, and the string shows on a random dice roll of about 1 in 10
10:43:59 <andythenorth> nice theory though
10:44:20 <TrueBrain> I once made a patch that allowed you to translate a language and you saw it immediately ingame
10:44:42 <andythenorth> i18n is the one good case for this, but as a hack, not the main client
10:44:54 <andythenorth> like browsers make it trivial to edit the DOM in place
10:44:59 <andythenorth> but not reliably
10:45:08 <andythenorth> and there's no 'save ' button :P
10:46:05 <andythenorth> editing state directly...when things might need to be co-dependent, or guarded, or calculated...
10:46:18 <andythenorth> ...has consequences
10:49:24 <reldred> don't care, gib button wot make grf come out, I'm not sure I can withstand the psychic damage that writing more NFO will inflict on me
10:50:05 <reldred> I showed a programmer friend my github and they just screamed 'what the fuck' on the voice chat repeatedly
10:51:46 * andythenorth doesn't write stations
10:52:10 <reldred> heh, last time I did a station set it was in grfmaker
10:53:10 <reldred> North American Building Set is now entirely converted to NFO and everythings broken up in my cludged system of abusing the GCC preprocessor and makefiles. Commenting could be better though.
10:53:19 * andythenorth looking for leaves
10:53:37 <andythenorth> one of the sillier things about grf is that the whole thing has to be recompiled, for just one change
10:54:01 <reldred> yeah it's a pain, but I got the process running pretty smooth now.
10:54:04 <andythenorth> so 500 vehicles need recompiled, to change a single character in a string of one vehicle name
10:54:18 <reldred> Yeah, I forgot the other .grf's you made :P
10:54:26 <andythenorth> even though we should be able to determine the scopes reliably
10:54:56 <reldred> Gib moar futuristic vehicles andy, I want more monorails and maglevs even though I never play a game long enough without rage-quitting to actually use them :P
10:55:24 <andythenorth> I am playing a 150 year Horse game right now
10:55:25 <reldred> I am enjoying the variety in Iron Horse lately though.
10:55:32 <andythenorth> got to 2066 from 1910
10:56:12 <andythenorth> Horse is quite addictive to make
10:57:11 <reldred> Yeah I'm playing one of Cpt K's heightmaps at 256x1024 with max height level of 255, in arctic with a tonne of old grf's and other things I've modified specifically to work together. It's hellish. It's cramped. The terrain is unforgiving.
10:58:36 <reldred> Started 1900 and I'm at 1971 now, just converted to diesel for my freight lines and I'm experimenting with Narrow gauge since around 1960 it suddenly stats wise looked compelling.
10:59:05 <andythenorth> NG is ok, but it runs out of progression :P
10:59:25 <reldred> What I love with certain grf sets is when you get to a certain year and then a certain leg of the tech tree looks interesting but you have no idea whether it'll last long term or be a dead end.
10:59:47 <reldred> Bit like how I remembered the Monorail to Maglev progression.
10:59:51 <andythenorth> 'only one monorail'
11:00:33 <reldred> I have no idea what that is *but I want it*
11:00:42 <andythenorth> it's a cargo sprinter / MPV
11:00:49 <andythenorth> with container wagons added in the middle
11:00:58 <andythenorth> but the wagons are the wrong colour
11:00:59 <andythenorth> maybe I read the company colours of the lead vehicle and remap the palette
11:02:14 <reldred> I love quirky stuff like that
11:02:52 <reldred> And stuff like the Chinook, I love how that looks on the rails with a loooong ass consist behind it
11:03:24 <andythenorth> I considered a 'forever' version of the chinook :P
11:03:27 <andythenorth> IRL they still run
11:18:38 <andythenorth> I can't really be arsed to generate 16x16 company colour palette combos right now
11:20:41 <andythenorth> not sure I usefully can here, at some point modding requires actually writing the mod :P
11:21:40 * andythenorth wonders how other games mix mods
11:21:54 <andythenorth> my kids tell me Minecraft does it
11:22:04 <andythenorth> "and sometimes it goes wrong and then you just don't mix those"
11:22:10 <FLHerne> Minecraft modding has its own stupidities
11:22:23 <FLHerne> Like, there were at least three mods that added copper
11:22:26 <reldred> It's been a staple in every game I've played/modded.
11:22:50 <FLHerne> And all of those were different and incompatible
11:22:53 <reldred> Like take a Bethsoft game, can easily get up to a *few hundred* mods.
11:22:59 <FLHerne> So someone decided "hey, we should fix this"
11:23:31 <FLHerne> ...and added an "ore dictionary" where you you could specify that your copper was compatible in recipes with everyone else's copper, but was still different
11:23:45 <FLHerne> (different textures, don't stack together, etc)
11:24:13 <andythenorth> this sounds oddly...familiar :D
11:24:46 <FLHerne> Also there are about ten different 'standards' for electrical power now
11:25:08 <FLHerne> And random mods contain converters between some of them, at incompatible ratios
11:25:21 <FLHerne> Such that you can create an infinite power loop
11:25:59 <reldred> oh god why did I take my nice pristine freight network and introduce passengers to it
11:25:59 <andythenorth> I mean...it gives people something to do right?
11:26:06 <andythenorth> imperfection stimulates creativity?
11:26:09 * andythenorth t-shirts for sale
11:33:31 <andythenorth> pff let's generate all these palette variants then
11:33:39 <andythenorth> I want this train done by christmas :P
11:33:55 <FLHerne> Soon Horse will be larger than Cyberpunk
11:35:49 <reldred> I want moar Road Horse, I'm currently mix and matching Roadhorse, bits of HEQS, small bits of Supermop's set, and the hover busses for late game (that I never end up getting to).
11:36:20 <reldred> And I'm using OpenGFX+ trains to scratch the monorail and maglev itch. RIMS/FRIMS didn't do it for me :\
11:39:56 <DorpsGek> [OpenTTD/OpenTTD] glx22 commented on pull request #8404: Feature: Snow line height can be autodetermined upon world generation https://git.io/JLw2M
11:40:21 <reldred> Huh, fun, even if a train is loaded heavily and can't reach speeds exceeding a lower speed newtracks type it'll still pathfinder prefer a longer route with a better track type.
11:40:40 * reldred throws more waypoints at the problem
11:42:36 <andythenorth> one day I'll do HogHorse 2
11:43:13 <reldred> Speaking of snow line height, I am in love with the arctic tree placement in jgr, I cobbled together a version of stolentrees that only replaces alpine and that+opengfx trees is absolutely sublime on a tall mountaineous map.
11:43:48 <reldred> Hah, in your own time Andy, I'm just glad you're still at it. I'd been out of things a while again.
11:43:59 <reldred> Only a two year hiatus this time for me :)
11:48:46 <andythenorth> meh fixing these wagons is a complete pain in the arse
11:52:23 *** gelignite has joined #openttd
11:56:03 <andythenorth> but it works for reasons it shouldn't
11:59:03 <andythenorth> nope this shouldn't work
12:02:01 <andythenorth> does company_colour1 yield different values depending how it's used?
12:02:15 <andythenorth> as a varact2 check, it yields the vehicle's company colour
12:02:36 <andythenorth> used with a palette sprite expression, it yields the global company colour
12:03:22 <andythenorth> it actually does exactly what I want for this case, but I don't like relying on side effects
12:05:35 <Samu> turns out I was mistaken about that comment. the PR wasn't introducing any issues, after further investigation
12:06:29 <Samu> Wondering if it is possible to re-open it?
12:08:24 <Samu> I have tidbits of my investigation in the irc logs, if needed
12:10:56 <andythenorth> it yields (as wanted) the wagon company colours in the first switch
12:11:23 <andythenorth> and the engine company colours in the second switch
12:11:38 <andythenorth> I assumed it was because I used PARENT
12:15:24 <andythenorth> so the value of 'base_sprite_2cc + 16 * company_colour2 + company_colour1' changes depending on...what?
12:16:19 <andythenorth> the company colour value is bound to parent if the ID is matched?
12:17:42 <reldred> ahhh I love that uremm2 has combined narrow+standard as an option :D
12:18:23 <reldred> things with nrt and ntt weren't quite as polished last I was playing
12:19:24 <FLHerne> Samu: I don't see why not if you're sure
12:19:51 <FLHerne> But you need a clear explanation of why that '+ 1' is necessary and not wrong
12:20:01 <FLHerne> And why it isn't better to fix it elsewhere
12:21:58 <Xaroth> I would recommend getting the investigation part done before asking for it to be re-opened.
12:24:17 <andythenorth> same wagons, moved to different engines
12:24:46 <andythenorth> it shouldn't work
12:24:56 <andythenorth> FLHerne this is...bizarre
12:25:08 <FLHerne> andythenorth: Even more reason to ship it quickly
12:25:13 <andythenorth> look at the first 2 switches in the gist
12:25:28 <FLHerne> Then when we find out why it shouldn't work, it'll be locked in because compatibility
12:25:53 <andythenorth> or a stealth bug
12:26:32 <andythenorth> the palette returned in both cases should be using the same company colours
12:26:42 <andythenorth> but the second switch takes the engine colours
12:27:33 <andythenorth> my guess is that using PARENT causes vars to be bound to lead engine, then not released
12:28:43 <FLHerne> andythenorth: Have you tried it with frosch's patch to fix var scopes being broken?
12:29:01 <FLHerne> That does look like a bug
12:31:00 <andythenorth> that looks relevant
12:31:46 <FLHerne> I was told to review it, but I don't know how it works yet :p
12:37:08 <andythenorth> hmm doesn't appear to fix this
12:37:16 <andythenorth> I am curious if OpenTTD is binding it
12:37:37 <FLHerne> I suspect NML is just even more broken
12:39:56 * andythenorth not sure what to do next :P
12:40:21 <andythenorth> probably ship it
13:01:30 <andythenorth> blow some leaves
13:10:29 *** frosch123 has joined #openttd
13:34:08 *** gelignite has quit IRC (Quit: Stay safe! Stay at home! Stop the chain reaction!)
13:34:48 *** HerzogDeXtEr has joined #openttd
13:54:25 *** virtualrandomnumber has joined #openttd
13:54:44 *** virtualrandomnumber has quit IRC ()
14:18:28 <Samu> glx, I'm trying to make a map height histogram, and i thought of an array to count the number of tiles for each height
14:18:43 <Samu> but i'm having trouble defining the size of the array
14:19:29 <andythenorth> can I have coffee?
14:19:31 <Samu> uint height_hist[256] = {}; This works, but I'm assuming there's a maximum height of 255
14:19:31 <glx> size can be MAX-MIN I think
14:20:00 <Samu> if the hard cap for max height changes again in some future openttd, this 256 is wrong
14:20:27 <glx> isn't there a max height value defined somewhere ?
14:20:40 <FLHerne> Samu: So if anyone ever adds >256 heightlevels it'll need changing
14:21:05 <FLHerne> But that would be ridiculous, so that seems like a non-issue
14:21:08 <Samu> I tried: uint height_hist[_settings_game.construction.max_heightlevel + 1] = {};
14:21:17 <andythenorth> so shall we explore nml var scope lolz?
14:21:20 <Samu> but it says i can't use a const or whatever
14:21:28 <FLHerne> Array sizes have to be compile-time constants
14:21:49 <FLHerne> I guess you could use alloca()
14:33:41 <LordAro> don't even say its name :p
14:33:59 <FLHerne> LordAro: Well, in this case the maximum possible allocation is smaller than the current array
14:34:24 <FLHerne> So it's not going to smash the stack unless that would have happened anyway
14:34:29 <LordAro> just make the array bigger?
14:35:12 <LordAro> a few unnecessary array values are hardly the worst thing in the world
14:35:34 <LordAro> alternatively, why is heap allocation out of the question?
14:35:55 <FLHerne> The array is already as big as it needs to be
14:36:15 <FLHerne> The issue is hypothetical and pointless, which is maybe predictable
14:36:33 <TrueBrain> so to help Samu : instead of 255,use MAX_TILE_HEIGHT. Problem solved :)
14:36:35 <FLHerne> In principle, alloca() would save a few bytes
14:36:59 <glx> hehe I knew there was a constant defined somewhere
14:37:11 <TrueBrain> of course there is; magic numbers were banned in 2010 already :P
14:37:14 <Samu> wow TrueBrain, totally forgot about that
14:37:22 <FLHerne> Can someone tell that to NML?
14:37:24 <TrueBrain> I just did "grep -R MAX | grep -i height"
14:37:44 <_dp_> there is also MAX_MAX_HEIGHTLEVEL :p
14:37:58 <FLHerne> Why do both of those exist?
14:38:23 <TrueBrain> _dp_: and its friend, MIN_MAX_HEIGHTLEVEL :D
14:38:40 <LordAro> FLHerne: it's not 1995 anymore, we don't have to worry about individual bytes :p
14:38:41 <TrueBrain> so max-max-loan was not the first time this contraption was constructed :P
14:39:32 <_dp_> I kinda expected that :p
14:40:18 <TrueBrain> well, at least I am blowing leaves
14:50:26 <Timberwolf> I have just been having a discussion at work where we talked about the concept of, "the ID of the warehouse stock is held in the warehouse partner's system. We identify which warehouse partner with the warehouse ID. Also some systems which get orders from the warehouse refer to the ID of the order in the warehouse system as 'warehouseID'"
14:51:06 <Timberwolf> MAX_MAX_LOAN doesn't feel too bad in that context :)
15:07:44 <Samu> wow, the histogram array approach is much faster
15:08:08 <Samu> i only need to iterate all tiles once
15:08:24 <glx> of course it is, you read the map only once for the histogram
15:10:11 <Samu> english question: is it landmass or land mass?
15:10:53 <FLHerne> Either, but more often landmass
15:15:18 <Samu> oh snap, i still need to compute the highest height
15:15:32 <Samu> that's still possible in 1 iteration
15:34:30 <DorpsGek> [OpenTTD/OpenTTD] SamuXarick updated pull request #8404: Feature: Snow line height can be autodetermined upon world generation https://git.io/JLa2N
15:36:55 <Samu> as for the whole thing looking like a hack, I kinda agree
15:39:48 <Samu> an alternative would be a new game setting: auto_snow on/off, leaving snow_line_height max and min unchanged
15:40:45 <Samu> wouldn't be stored on savegames
15:43:01 <Samu> i'm just not sure how to go about the worldgen gui
15:49:02 *** Flygon has quit IRC (Quit: A toaster's basically a soldering iron designed to toast bread)
15:58:29 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain approved pull request #7028: Feature: Option to group vehicle list by shared orders https://git.io/JLrzw
16:06:46 *** jottyfan has joined #openttd
16:17:18 <supermop_Home> andythenorth neato
16:17:42 <andythenorth> the cab needs replacing
16:18:20 <supermop_Home> chop up 43s IRL
16:19:58 <FLHerne> Incidentally, that picture shows that your making the wagons match was unrealistic :p
16:26:08 <andythenorth> only intermodal wagons change colour
16:29:44 <andythenorth> ok is it christmas yet?
16:29:53 * andythenorth tried to finish work on Friday
16:30:01 <andythenorth> but some HTML AND CSS had to be finished today
16:30:13 <andythenorth> I AM NEVER WRITING ANY MORE HTML OR CSS AGAIN
16:32:09 <FLHerne> It looks maybe 1px too pointy for a Windhoff
16:32:19 <FLHerne> The cabs are pretty blocky
16:36:19 <supermop_Home> put avocet cabs on it
16:37:12 <andythenorth> I'm going to actually draw some
16:37:24 <andythenorth> instead of pasting something else on, like I usually do
16:42:49 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
16:42:59 <andythenorth> IRL windhoff is quite boring cab
16:43:03 *** WormnestAndroid has joined #openttd
16:43:05 <andythenorth> maybe I have to jazz it up a bit
16:44:31 <Timberwolf> Animated chrome spinners.
16:45:32 <andythenorth> Freightliner livery swoosh I reckon
16:51:20 <FLHerne> andythenorth: Can't you just copy-paste the cab from whichever OGFX lorry has the really boxy cab? ;-)
17:13:27 <michi_cc> Is there any platform that has C++17 and requires the LIMITED_FDS define? Heck, for which port/platform was that initially intended anyway?
17:14:45 <TrueBrain> PSP has been removed a long time ago
17:14:50 <TrueBrain> so those can be removed too :)
17:15:02 <TrueBrain> PSP was limited to 10 open file descriptors :)
17:15:14 <frosch123> when you google something, and you find ottd code in the weirdest places
17:17:09 <michi_cc> Ah, it seems there's no way to get CMake to define it anyway :)
17:17:32 <TrueBrain> no, it is a remnant from the past :P Should have been removed when PSP got cut out :P (which was pre-CMake)
17:17:43 <DorpsGek> [OpenTTD/OpenTTD] frosch123 commented on pull request #8400: Fix c02ef3e4: [NewGRF] Variable 0x44 is always HZB_TOWN_EDGE for roadstops https://git.io/JLrD8
17:18:06 *** jottyfan has joined #openttd
17:18:40 <frosch123> do we need a label "needs review: map array" ?
17:18:48 <TrueBrain> michi_cc: commit 7cd68b5a07, if you are interested in more details
17:18:54 <TrueBrain> frosch123: go for it :)
17:19:14 <frosch123> i don't think 8400 has anything to do with newgrf
17:19:31 <TrueBrain> it says so in the topic :)
17:19:54 <frosch123> sure, it's as much about newgrf, as it is about openttd
17:19:55 <TrueBrain> it is even in a newgrf_ file :)
17:20:06 <TrueBrain> I just quick-filter with labels :)
17:20:36 <Timberwolf> frosch123: Are there any possibilities for a road tile other than "it is a road" or "it is a road stop"?
17:20:42 <michi_cc> Okay, now I just need a nice commit message.
17:20:54 <Timberwolf> What tile types do bridges and tunnels have?
17:20:57 <TrueBrain> "TrueBrain had one job, and failed at it" michi_cc ?
17:21:38 <frosch123> Timberwolf: there is docs/landscape*html
17:21:49 <frosch123> it used to have all the cases
17:25:30 <Timberwolf> Cheers, I'll check through that after work and see if there are any other things with inconsistent 0x44.
17:33:21 <frosch123> andythenorth: i added an example to nml regressions. i think it's the optimiser breaking it
17:34:38 <TrueBrain> quickest PR evah :P
17:35:20 <TrueBrain> ironically, I never did ... was tested fully on a VERY slow emulator
17:35:22 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
17:36:27 *** WormnestAndroid has joined #openttd
17:42:15 <DorpsGek> [OpenTTD/OpenTTD] mattkimber commented on pull request #8400: Fix c02ef3e4: [NewGRF] Variable 0x44 is always HZB_TOWN_EDGE for roadstops https://git.io/JLrHJ
17:43:40 <frosch123> andythenorth: thank, i fell in a rabbit hole
17:49:17 <FLHerne> frosch123: Breaking andythenorth's weird livery switched?
17:49:44 <frosch123> yes, i turned it into a regression test
17:49:57 <frosch123> so nfo you can read, instead of 100MB horse nfo :)
17:50:35 <andythenorth> I am proud of my use of "repeat [list]"
17:50:39 <andythenorth> it is a big skill
17:50:54 <andythenorth> I can automate problems at scale!
17:56:29 *** gelignite has joined #openttd
17:59:46 <andythenorth> improved it a bit grf.farm/images/le-oof-cinq.png
18:01:22 <FLHerne> frosch123: Is this smaller test accessible somewhere? :-)
18:01:44 <DorpsGek> [OpenTTD/OpenTTD] SamuXarick commented on pull request #8404: Feature: Snow line height can be autodetermined upon world generation https://git.io/JLr7b
18:08:40 <DorpsGek> - Update: Translations from eints (by translators)
18:08:53 <TrueBrain> more than 15 minutes drift :( Bah, stupid GHA schedule :P
18:15:32 <Samu> I wish I was a gui expert
18:28:40 <Wolf01> Don't wish, work to become it
18:35:08 <Eddi|zuHause> so much activity here. almost like there's a feature freeze window coming
18:43:15 * andythenorth considers fixing ... nope
18:43:25 <andythenorth> dual headed random triggers...nope
18:49:13 <FLHerne> Eddi|zuHause: Perhaps six-monthly feature releases would double productivity?
18:49:48 <Eddi|zuHause> i think we tried that. :p
18:52:16 *** jottyfan has joined #openttd
18:55:03 <frosch123> the nml file triggers the bug. the nfo file is the nml output, fixed by hand. so the diff to nml is the bug
18:55:41 <frosch123> i know where nml goes wrong
18:55:54 <frosch123> but exploring the options for fixing it, i found more bugs :)
18:56:02 <frosch123> so, now adding even more test cases
18:57:49 <andythenorth> what is 'productivity' :D
18:58:12 <frosch123> andythenorth: and yes, the "more bugs" is about random triggers :)
19:04:56 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
19:05:10 *** WormnestAndroid has joined #openttd
19:05:53 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
19:06:06 *** WormnestAndroid has joined #openttd
19:24:34 <frosch123> my regression tests output "nmlc warning: "037_optimised_trigger.nml", line 9: Block 'unconditional_switch' returns a constant, optimising.". but that's exactly what i want to test
19:25:02 <frosch123> how to test expected warnings?
19:25:23 <TrueBrain> pytest.except! :D (sorry, trolling)
19:25:54 <TrueBrain> and it is pytest.raises, owh boy ... my troll failed :(
19:26:28 *** jottyfan has quit IRC (Quit: jottyfan)
19:28:06 <frosch123> TrueBrain: good idea, can you add that to that PR ?
19:28:36 <frosch123> you don't need to limit it to that
19:29:08 <frosch123> but i still remember your "fix all bugs in ottd"-diff, so you can't make the same joke again :p
19:29:25 <TrueBrain> I am afraid it will be approved and merged :P
19:29:49 <TrueBrain> "self.min is not self.max" <- did you really mean to do an identity check?
19:29:59 <TrueBrain> (I don't know NML, this line stood out)
19:30:12 <frosch123> it's shameless c&p from elsewhere :)
19:30:25 <TrueBrain> closing browser window .... :)
19:30:28 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
19:30:30 <frosch123> but it's two objects, that may have been copied-by-reference earlier
19:30:36 *** WormnestAndroid has joined #openttd
19:30:46 <frosch123> and it checks whether whether that copy-case is active
19:31:12 <TrueBrain> I don't even .... no, nevermind. But happy it is deliberate :)
19:32:22 <frosch123> nml knows range-switch-cases "case a..b". and it translates "case a" into "case a..a", and in that place that needs to be reversed
19:32:45 <TrueBrain> doing identity comparisons mostly means something else is already a bit odd :)
19:32:59 <TrueBrain> but it is okay :) I just wanted to check if it was by accident; it isn't, so the world if well :)
19:33:32 <frosch123> oh, don't worry, I still did not fix the original bug
19:33:44 <TrueBrain> I am just happy I am blowing leaves :)
19:33:48 <frosch123> this is just the first step in the depth-first exploration
19:33:53 <TrueBrain> the game slowed down after ~6 hours, bit sad
19:33:58 <frosch123> is blowing leaves like yak shaving?
19:34:22 <Wolf01> andythenorth: are you leaving London too because of, you know...?
19:34:44 <andythenorth> I am in a tier 2 area
19:34:52 <andythenorth> almost freedom TBH
19:34:56 <frosch123> TrueBrain: stream is canceled, your host has been playing this for 72 hours?
19:35:27 <Wolf01> I should be in a full lockdown area but the government said "for christmas is FFA"
19:35:34 <TrueBrain> I am only 10 hours in atm
19:36:24 <TrueBrain> we are in "lockdown" over here .. 2 guest per day MAX. But for xmas .. you can have 3
19:36:27 <TrueBrain> as if that makes a difference :P
19:37:25 <Wolf01> We can have only 2 guests too, but kids don't count and impaired people don't count too, so you can go to grandparents house with 150 kids
19:37:40 <TrueBrain> same here, <13 is fine
19:38:31 <TrueBrain> what is funny to me: I have friends that cannot go to their parents with their family, but their parents can come to them
19:38:37 <TrueBrain> (they are with 4, parents with 2)
19:38:50 <TrueBrain> people find loopholes everywhere :)
19:38:52 <frosch123> here the limit is for number of households
19:38:58 <frosch123> with rather loose number of people
19:39:01 * andythenorth considering leaf mulching now
19:39:14 <TrueBrain> frosch123: that makes a bit more sense honestly
19:39:24 <TrueBrain> but what can you do ...
19:39:36 <andythenorth> we ended Tier 3 here Friday
19:39:54 <andythenorth> nobody here knows either
19:39:55 <andythenorth> so at 2.30am we got woken up by drunks, who thought they lived in this house
19:39:59 <TrueBrain> (I mean, I know what a tier is, just not what your tiers are :P)
19:40:15 <andythenorth> < 2 = drinking in public; > 2 = drinking at home
19:40:27 <andythenorth> I think that's it anyway
19:40:36 <TrueBrain> so they made it complicated
19:40:46 <TrueBrain> like most things, UK makes everything complicated :D
19:40:47 <frosch123> we also had tiers once. but then the max tier was reached everywhere, so the lower tiers were forgotton
19:41:28 <TrueBrain> here they just say what you can and cannot do for regions / country .. guess we are too stupid to understand categories :D
19:41:39 <frosch123> TrueBrain: they even invented their own virus branch. the continental virus was not good enough
19:41:49 <TrueBrain> they brought it over here :(
19:42:38 <TrueBrain> lot of Dutch people stuck in UK atm
19:43:03 <TrueBrain> guess: "travel only if it is really needed" was a difficult sentence for many :P
19:44:42 <andythenorth> also will wine be able to get into UK?
19:45:01 <andythenorth> is Leaf Blower Tycoon moddable
19:45:21 <TrueBrain> I love that UK people want apeshit when they learnt that they had to pay 6 pound to travel to Europe :P
19:45:25 <frosch123> and does the modding allow leaf mulching?
19:45:43 <andythenorth> TrueBrain we agreed not to talk about...*exit
19:45:55 <TrueBrain> I am not; I am laughing at stupid people :D
19:46:03 <andythenorth> couldn't comment
19:46:10 <frosch123> TrueBrain: for what?
19:46:10 <andythenorth> but the lolz are diverse and endless
19:46:28 <TrueBrain> laughing at the leader of the US Is coming to an end, so we have to find another country to laugh at
19:47:52 <frosch123> TrueBrain: i mean, travel always costs something. 6 pounds road toll? or what?
19:48:36 <andythenorth> as lolz go, it's now much more lolz that there are export controls on sending goods to Northern Ireland
19:48:44 <andythenorth> which is...part of the....UK
19:48:54 <TrueBrain> frosch123: visa something, did not really pay attention :P
19:49:12 <frosch123> andythenorth: ah, so that's the answer to cgp's second video?
19:50:17 <andythenorth> on the plus side, leaving the EU has removed all barriers from exporting to Australia!
19:50:23 <andythenorth> where I already had a business!
19:50:30 <andythenorth> and there are...no...barriers...of any kind
19:50:39 <andythenorth> but celebrate freedom!
19:51:29 <andythenorth> so which scripting language is fast enough that we can move the whole simulation into it (not pathfinding and crap - I mean the running of the economy, generation of cargo, growing towns etc)
19:51:52 <andythenorth> that was 100% not an answer I had predicted
19:51:57 <andythenorth> I may have die of shock
19:52:07 <TrueBrain> it is the same story I have been telling for a while now :)
19:52:34 <LordAro> TrueBrain: i wouldn't say "UK people went apeshit", more that trash tabloid invented outrage that didn't really exist
19:52:58 <TrueBrain> it made the news here .. it made me laugh .. I saw people yelling .. :)
19:53:12 <TrueBrain> they were people, they were from the UK, they were pissed
19:54:21 <TrueBrain> we need entertainment in 2020 :)
19:54:34 <andythenorth> you can always dig up an angry English person for a telly segment
19:55:14 <TrueBrain> anyway, andythenorth , trying to add another language to OpenTTD itself is just not productive. NewGRF is quick enough to do shit like town-growth etc
19:55:29 <TrueBrain> having a high-level language that makes writing that easier, that part I can fully get behind :)
19:55:46 <LordAro> i find it funnier that it made your news :p
19:55:47 <andythenorth> maybe I should listen to FLHerne
19:56:17 <TrueBrain> LordAro: in balance, the segment was as long as London is in lockdown :P
19:56:22 <TrueBrain> with a picture of empty streets
19:56:29 <TrueBrain> (which had to mean something or what-ever .. not sure)
19:56:47 <frosch123> TrueBrain: it's not that black&white. the best nml syntax improvements went along ottd introducing a more consistent nfo format
19:57:01 <andythenorth> we had both coverage of 'London streets are empty' and 'London streets are packed'
19:57:06 <TrueBrain> andythenorth: the thing is, if you go hunting for "yet another language", you just end up spending a lot of time with no progressing
19:57:28 <andythenorth> easiest argument ever IMHO
19:57:50 <DorpsGek> [OpenTTD/OpenTTD] SamuXarick updated pull request #8404: Feature: Snow line height can be autodetermined upon world generation https://git.io/JLa2N
19:57:50 <TrueBrain> frosch123: indeed, you read that too black and white :) I would never suggest we cannot alter the specs to make it easier :)
19:58:25 <FLHerne> andythenorth: What am I supposed to be telling you?
19:58:38 <andythenorth> to write grf directly from my compiles
19:58:40 <andythenorth> and sack off nml
19:59:08 <FLHerne> That isn't what I told you
19:59:17 <andythenorth> see, I should listen more :P
19:59:22 <frosch123> anyway, to get back to the present. nml test coverage is really low for industries. maybe someone is interested in adding regresison tests for both old and new produce syntax :)
19:59:30 <FLHerne> I told you to generate the NML ast directly from Python, instead of the template -> parse step
19:59:48 <andythenorth> oh yes, of course :)
20:00:12 <andythenorth> frosch123 I want to finish some things for a release, otherwise I would
20:01:17 <Samu> the evil commit checker never forgives
20:01:25 <FLHerne> frosch123: When glx re-added the old one, I ran it over a few FIRS versions and the results were the same as much older nmlc, modulo differences that seemed valid
20:01:41 <FLHerne> Of course that might mean old nmlc was broken too :p
20:01:46 <TrueBrain> I really didn't do anything today ... just been blowing leaves ... what a wasteful day :P
20:02:04 <andythenorth> I just play tanks
20:02:15 <DorpsGek> [OpenTTD/OpenTTD] SamuXarick updated pull request #8404: Feature: Snow line height can be autodetermined upon world generation https://git.io/JLa2N
20:04:08 <andythenorth> some days, I spend half the day figuring out where I wrote over register 0x100 :D
20:04:32 <FLHerne> andythenorth: Is that for the string parameters?
20:04:33 <TrueBrain> time to watch telly :)
20:04:53 <andythenorth> FLHerne spritelayers
20:04:59 <andythenorth> in combination with setting palette
20:05:04 <andythenorth> but not in the same switch
20:08:20 <andythenorth> Timberwolf nice picture though
20:08:25 <FLHerne> NML has this wonderful habit of ignoring the worst problems and leaving them for grf coders to deal with
20:08:57 <FLHerne> Timberwolf: Secret underground airbase
20:09:41 <TrueBrain> what do we do with stalled PRs? https://github.com/OpenTTD/OpenTTD/pull/7248 for example .. they agree another approach is better, but I do not think that will be created. Do we keep the PR around? Close it? Print and and put it up against the wall? :)
20:09:45 <Timberwolf> That just leaves the road junction in the top left, locally known as "destroyer of clutches"
20:12:01 <andythenorth> FLHerne but the newgrf debugging environment is so good!
20:12:06 <andythenorth> so it's quick to find them!
20:12:10 <andythenorth> only about 1 hour or so
20:13:14 <andythenorth> TrueBrain that one is an experiment, we won't merge it, so it should be closed
20:13:18 <andythenorth> GH won't delete it etc etc
20:13:24 <andythenorth> useful experiment
20:14:03 <andythenorth> possibly a dedicated tag
20:14:06 <LordAro> should probably only be an error when trying to package
20:14:48 * andythenorth is used to ticket systems with e.g. 'implemented', 'rejected', 'not now' etc
20:15:54 <TrueBrain> from a CMake perspective, it is correct
20:15:58 <TrueBrain> it is just not really friendly :D
20:16:54 <TrueBrain> is there a CMake flag to say: do not create CPack targets ..
20:17:36 <TrueBrain> I think I might have an idea
20:17:43 <TrueBrain> well .. either I have an idea, or I think I might have something
20:17:48 <TrueBrain> thinking I might have an idea sounds REALLY stupid
20:18:37 <LordAro> how badly does it screw up if it's just a warning?
20:20:17 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
20:21:46 <TrueBrain> " Argument not separated from preceding token by whitespace."
20:21:50 <TrueBrain> wtf is this for cryptic message
20:22:19 *** WormnestAndroid has joined #openttd
20:22:24 <TrueBrain> Unknown LSB-based Linux distribution 'Ubuntu' found for packaging; can only pack to a txz. Please consider creating a Pull Request to add support for this distribution.
20:22:29 <TrueBrain> LordAro: better you think ^^
20:23:31 <TrueBrain> I take that as a yes :P
20:23:58 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain opened pull request #8408: Fix: support non-ubuntu/debian Linux variants with LSB support https://git.io/JLotD
20:24:15 <_dp_> dunno about 7248 but 7247 is still quite relevant
20:24:21 <_dp_> so smth should probably be done about it
20:25:22 <TrueBrain> _dp_: nobody argued that :D I was just wondering if keeping a PR open like that is useful to anyone
20:25:33 <TrueBrain> the issue still links there, so anyone can see what was tried
20:25:45 <TrueBrain> the author will no longer update it, I would guess
20:26:22 <DorpsGek> [OpenTTD/OpenTTD] LordAro approved pull request #8408: Fix: support non-ubuntu/debian Linux variants with LSB support https://git.io/JLoqO
20:27:01 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain commented on pull request #7248: Change: Group processing of vehicle ticks by type of vehicle. This allows use of PerformanceCounter instead of PerformanceAccumulator. https://git.io/JLoqW
20:27:04 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain closed pull request #7248: Change: Group processing of vehicle ticks by type of vehicle. This allows use of PerformanceCounter instead of PerformanceAccumulator. https://git.io/fhdsM
20:27:21 <TrueBrain> lengthy captions are lengthy
20:29:10 <_dp_> idk, 7248 approach seems ok to me
20:29:24 <_dp_> looping 4 times shouldn't add any significant overhead afaict
20:29:58 <TrueBrain> 3 developers disagreed, including the original author :)
20:30:00 <_dp_> and maintaining some lists instead would be quite a hassle
20:30:03 <TrueBrain> I am not going to overrule that ;)
20:31:24 <TrueBrain> `Implementation-wise, having pre-sorted lists is probably useful`, `I think an alternative approach using pre-built lists for each vehicle type would be preferable`
20:31:28 <TrueBrain> owh, there were only 2
20:31:38 <_dp_> and that's not exactly a disagreement ;)
20:31:57 <TrueBrain> they both agreed another approach is better
20:32:36 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain merged pull request #8408: Fix: support non-ubuntu/debian Linux variants with LSB support https://git.io/JLotD
20:33:03 <_dp_> whatever the approach imo it's much worse to have nothing :p
20:33:30 <TrueBrain> _dp_: and that is the difference between vanilla and patchpacks most of the time :)
20:33:44 <_dp_> even if it's merged it doesn't prevent anyone from redoing it in another pr
20:34:03 <_dp_> it's just nobody probably will if the issue is solved
20:34:26 <frosch123> _dp_: it steals the gratification and leaves the cleaning up to someone else
20:34:38 <frosch123> it's the same as cooking yourself and leaving the dishes for someone else to clean
20:34:55 <DorpsGek> [OpenTTD/OpenTTD] mattkimber updated pull request #8400: Fix c02ef3e4: [NewGRF] Variable 0x44 is always HZB_TOWN_EDGE for roadstops https://git.io/JLuAU
20:35:03 <_dp_> well it's been 1.5 years and nobody seems to be after that gratification :p
20:37:06 <TrueBrain> ugh, talking about long outstanding issues .. something really is wrong with scripts and versions
20:37:11 <TrueBrain> in more than one way
20:37:29 <TrueBrain> there seems to be glitches with how it interacts when downloading dependencies, but also when loading
20:37:37 <TrueBrain> even non-deterministic issues
20:37:45 <TrueBrain> that ... needs a long debug-session, I am afraid
20:38:19 <_dp_> yeah, newgrf_version seems to be the same for all 1.10.* or smth
20:38:36 <TrueBrain> but that is unrelated to my issues :P
20:38:47 <TrueBrain> I have an AI that depends on pathfinder.road v3
20:38:52 * andythenorth needs to wash the dishes
20:38:57 <TrueBrain> that was NOT downloaded, and SOMETIMES it loads v4, and SOMETIMES it crashes on startup
20:39:03 <andythenorth> wife cooked, I wash up, that's the deal (or vice versa)
20:39:40 <DorpsGek> [OpenTTD/OpenTTD] mattkimber updated pull request #8400: Fix c02ef3e4: [NewGRF] Variable 0x44 is always HZB_TOWN_EDGE for roadstops https://git.io/JLuAU
20:41:08 <TrueBrain> owh, right, compatibility bla is in there too .. that was such a huge mistake ...
20:41:19 <TrueBrain> it could load the blob of an older version, but I doubt an AI ever implemented that correctly :P
20:41:46 <TrueBrain> so tempted to rewrite the whole loading code :P but it might break AIs :)
20:41:47 <DorpsGek> [OpenTTD/OpenTTD] mattkimber commented on pull request #8400: Fix c02ef3e4: [NewGRF] Variable 0x44 is always HZB_TOWN_EDGE for roadstops https://git.io/JLoYt
20:42:55 <TrueBrain> frosch123: sounds related, and shows the problem is bigger than I expected :P
20:43:57 <TrueBrain> we also have 2 PRs that tinker with this, but both seem to be addressing a small part of the issue
20:47:27 <DorpsGek> [OpenTTD/OpenTTD] frosch123 commented on pull request #8400: Fix c02ef3e4: [NewGRF] Variable 0x44 is always HZB_TOWN_EDGE for roadstops https://git.io/JLoOe
20:48:52 <DorpsGek> [OpenTTD/nml] glx22 commented on pull request #175: Fix mixing action features and variable scopes. https://git.io/JLoOZ
20:51:52 <frosch123> hmm, turns out this nml bug is quite complicated
20:52:05 <frosch123> duck typiing is hard to follow
20:53:26 <glx> yeah it's often hard to follow nml source
20:53:32 <DorpsGek> [OpenTTD/OpenTTD] mattkimber commented on pull request #8400: Fix c02ef3e4: [NewGRF] Variable 0x44 is always HZB_TOWN_EDGE for roadstops https://git.io/JLo3e
20:53:55 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain commented on pull request #8169: Fix #8153: Report autoreplace failure when new vehicle cannot carry the cargo https://git.io/JLo3T
20:54:46 <TrueBrain> I do not like that draft PRs are listed in the normal "pulls" list ..
20:54:53 <TrueBrain> they should just filter them out by default, and not include them in the number
20:55:08 <TrueBrain> I understand the use, but it is also a lot of noise
21:00:25 <TrueBrain> for the comments alone I would like to merge it :P
21:06:17 <DorpsGek> [OpenTTD/OpenTTD] frosch123 commented on pull request #8400: Fix c02ef3e4: [NewGRF] Variable 0x44 is always HZB_TOWN_EDGE for roadstops https://git.io/JLosD
21:09:20 <frosch123> TrueBrain: wasn't there a double-scale option in ottd 0.4, before you implemented the blitter abstraction?
21:10:00 <frosch123> but yes, the comments are nice. could extract them, and then close it
21:10:09 <DorpsGek> [OpenTTD/OpenTTD] mattkimber commented on pull request #8400: Fix c02ef3e4: [NewGRF] Variable 0x44 is always HZB_TOWN_EDGE for roadstops https://git.io/JLoGZ
21:10:16 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain opened pull request #8409: Codechange: some comments for the win32 video driver https://git.io/JLoGc
21:10:46 <TrueBrain> frosch123: that .. would surely be possible :P I remember something about a weird scaling thing .. but can't remember if it was OpenDUNE or OpenTTD :)
21:11:59 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain commented on pull request #7876: Feature: [Win32] Full window/display scaling https://git.io/JLoGa
21:12:02 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain closed pull request #7876: Feature: [Win32] Full window/display scaling https://git.io/Jebcu
21:13:14 <frosch123> didn't we have a "Doc" commit tag?
21:14:44 <DorpsGek> [OpenTTD/OpenTTD] LordAro approved pull request #8409: Codechange: some comments for the win32 video driver https://git.io/JLoGb
21:14:54 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain commented on pull request #7955: WIP Feature: NewGRF Road Stops (Feature 14) https://git.io/JLoGN
21:15:23 <TrueBrain> if you want a doc-tag, you get a dog-tag
21:15:26 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain dismissed a review for pull request #8409: Codechange: some comments for the win32 video driver https://git.io/JLoGb
21:15:29 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain updated pull request #8409: Codechange: some comments for the win32 video driver https://git.io/JLoGc
21:15:45 <DorpsGek> [OpenTTD/OpenTTD] frosch123 approved pull request #8409: Codechange: some comments for the win32 video driver https://git.io/JLoZT
21:16:50 <DorpsGek> [OpenTTD/OpenTTD] spnda commented on pull request #7955: WIP Feature: NewGRF Road Stops (Feature 14) https://git.io/JLoZq
21:17:28 <DorpsGek> [OpenTTD/OpenTTD] glx22 commented on pull request #8400: Fix c02ef3e4: [NewGRF] Variable 0x44 is always HZB_TOWN_EDGE for roadstops https://git.io/JLoZG
21:19:51 <TrueBrain> just poking old draft PRs .. :P
21:20:32 <TrueBrain> lol, I can not even filter them out of the list? ... this is just weird!
21:20:46 <TrueBrain> ah, "is:draft" works
21:21:32 <frosch123> what's the opposite of "draft"?
21:22:52 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain commented on pull request #7607: Feature: Rail/Road/Tram/Canal-Planner (WIP) https://git.io/JLoZb
21:23:27 <TrueBrain> frosch123: good question!
21:24:04 <frosch123> i tries "isnot:draft" :)
21:25:09 <glx> doc says "draft:true" or "draft:false "
21:26:02 <_dp_> I just don't do "drafts" :p
21:26:10 <TrueBrain> the "-is" syntax showed a "ProTip" at bottom of page for me :P
21:26:48 <TrueBrain> _dp_: I appreciate you not doing drafts :D And yeah, I gathered there were more than one implementation .. let's see if the author is still interested first :)
21:27:13 <frosch123> i don't understand ottd players... copy&paste is already alien to me, automated track pathing is even more alien. i thought that was "the game"
21:27:47 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
21:27:48 <_dp_> building gets repetitive quite fast
21:28:00 *** WormnestAndroid has joined #openttd
21:28:27 <frosch123> i accepted that copy&paste is for flat maps, that's why it works in factorio. but i always played hilly unique maps, where every junction is different
21:28:28 <_dp_> I like strategising much more than laying rails :p
21:28:51 <_dp_> c&p is mostly for newbies that build 10 tiles/year
21:29:00 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain merged pull request #8409: Codechange: some comments for the win32 video driver https://git.io/JLoGc
21:30:35 <TrueBrain> I have to be careful not to touch certain tickets :D :D
21:33:05 <_dp_> imo building tools should allow to build as much and as fast as possible without actually making decisions for player
21:33:14 <TrueBrain> 38 open non-draft non-X PRs :)
21:33:39 <TrueBrain> (I finally get where you got the X from frosch123 ... only took me a few days :P)
21:34:28 <_dp_> so stuff like c&p and selective demolition is good but 7607 not
21:36:05 <TrueBrain> slowly we get to the point where I will have to get my hands dirty to get some PRs merged :)
21:36:11 <TrueBrain> some just have minor bugs to fix etc
21:36:49 <frosch123> i liked adf's polyline tool. that still let's the player play the game, and not an ai pathfinder
21:38:16 <_dp_> frosch123, yeah, my rail thingie is basically poliline with a bit of pathfinding
21:38:57 <_dp_> just so it doesn't suggest impossible continuation
21:40:53 <DorpsGek> [OpenTTD/OpenTTD] mattkimber commented on pull request #8400: Fix c02ef3e4: [NewGRF] Variable 0x44 is always HZB_TOWN_EDGE for roadstops https://git.io/JLoCI
21:46:11 *** HerzogDeXtEr has quit IRC (Read error: Connection reset by peer)
22:01:04 <DorpsGek> [OpenTTD/OpenTTD] mattkimber updated pull request #8400: Fix c02ef3e4: [NewGRF] Variable 0x44 is always HZB_TOWN_EDGE for roadstops https://git.io/JLuAU
22:01:35 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain commented on pull request #8402: Add: New disaster mode that enables all disaster types regardless of era https://git.io/JLolo
22:01:38 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain closed pull request #8402: Add: New disaster mode that enables all disaster types regardless of era https://git.io/JL29l
22:03:11 <DorpsGek> [OpenTTD/OpenTTD] glx22 commented on pull request #8400: Fix c02ef3e4: [NewGRF] Variable 0x44 is always HZB_TOWN_EDGE for roadstops https://git.io/JLolS
22:03:17 <DorpsGek> [OpenTTD/OpenTTD] mattkimber updated pull request #8400: Fix c02ef3e4: [NewGRF] Variable 0x44 is always HZB_TOWN_EDGE for roadstops https://git.io/JLuAU
22:04:02 <TrueBrain> no: so much activity \o/
22:04:06 <LordAro> DorpsGek such a spammer
22:04:15 <TrueBrain> @kick DorpsGek stop spamming
22:04:15 <DorpsGek> TrueBrain: Error: I cowardly refuse to kick myself.
22:04:35 <frosch123> i like prs where the diffs become shorter
22:04:48 <Timberwolf> I think about 50% is me failing at noticing I'm still including a header I don't need :)
22:04:53 <frosch123> TrueBrain: you missed the chance when dg1 and dg4 were around
22:05:01 <TrueBrain> who were dg1 and dg4?
22:05:14 <Xaroth> DorpsGek 1 through 4? :P
22:05:34 <TrueBrain> my brain didn't make that connection :P
22:05:49 <TrueBrain> frosch123: I already had them battle for the name DorpsGek ... I considered that enough :P
22:06:21 <frosch123> i expected that answer :)
22:06:32 <frosch123> you did not disappoint me :)
22:06:43 <frosch123> in case of eddi i would have expected a "yes"
22:07:14 <TrueBrain> right, looked at another 10 PRs today .. slowly getting there :)
22:07:24 <TrueBrain> now people have to stop making more new PRs than I can process .. I would appreciate that :P
22:07:54 <TrueBrain> this week, 20 merged pull requests, 8 newly opened
22:09:17 <TrueBrain> 44 merged and 12 newly opened in the last month
22:12:19 <LordAro> TrueBrain: the latter :)
22:12:39 <TrueBrain> as I can imagine you want it together with the NML PR; not sure if anything breaks otherwise :D
22:12:45 <TrueBrain> well, I guess "before next release" is important
22:13:19 <glx> grf made with current nml will work
22:13:54 <TrueBrain> did not think of that :D
22:15:09 *** Samu has quit IRC (Quit: Leaving)
22:15:58 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain merged pull request #7028: Feature: Option to group vehicle list by shared orders https://git.io/fhGxd
22:17:35 <LordAro> TrueBrain: i thought i'd look at extending dorpsgek to be noisy about discussions as well.. but can't find any list of "notification types" in the github api
22:18:17 <TrueBrain> LordAro: I appreciate you looking into it :D I guess you missed I tried a few days ago ... GitHub did not add Discussions to their API yet
22:18:19 <glx> not sure it's implemented yet
22:18:25 <TrueBrain> it does not emit an event, and there is no endpoint to poll yet
22:18:30 <TrueBrain> "it is still in beta", they said
22:18:35 <TrueBrain> "but high on our roadmap"
22:18:36 <glx> discussion are not listed in mobile app
22:18:49 <LordAro> well, that's something
22:18:53 <LordAro> but where is the list anyway?
22:19:09 <TrueBrain> yes, but not named what you are looking for
22:20:37 <TrueBrain> that are all the events DorpsGek can receive (not all are configured for him to receive currently)
22:21:03 <LordAro> i think i did find that at one point
22:21:09 <LordAro> but was searching for "commit-comment"
22:21:57 <TrueBrain> I gave my thumbs-up to the people asking for an API endpoint, hoping it would help in prioritizing
22:27:51 <frosch123> people and their names... just shift the "-" one position to the right
22:29:08 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
22:30:00 *** WormnestAndroid has joined #openttd
22:32:58 <DorpsGek> [OpenTTD/OpenTTD] frosch123 approved pull request #8400: Fix c02ef3e4: [NewGRF] Variable 0x44 is always HZB_TOWN_EDGE for roadstops https://git.io/JLoBP
22:35:48 <TrueBrain> Are we going for 56 tonight?! :D
22:36:35 <Xaroth> merge SOME of the PRs?
22:40:10 <frosch123> meh, my fix still does not work
22:46:42 <DorpsGek> [OpenTTD/OpenTTD] frosch123 merged pull request #8400: Fix c02ef3e4: [NewGRF] Variable 0x44 is always HZB_TOWN_EDGE for roadstops https://git.io/JLuAU
22:49:57 <andythenorth> dear openttd, pls give me my CPU back thanks bai
23:02:00 *** nielsm has quit IRC (Ping timeout: 480 seconds)
23:03:24 *** sla_ro|master2 has quit IRC ()
23:04:50 *** gelignite has quit IRC (Quit: Stay safe! Stay at home! Stop the chain reaction!)
23:07:05 *** Wormnest has joined #openttd
23:07:45 <frosch123> i think i have to add another parameter to reduce()
23:08:06 <frosch123> which touches 177 code places or so...
23:08:56 <frosch123> maybe i can provoke some more bugs
23:11:02 <frosch123> it's probably the wrong solution :p
23:11:03 <FLHerne> What parameter do you think it needs?
23:11:55 <frosch123> the problem is: if an expression uses a variable like "company_colour", this is not self-contained
23:12:06 <frosch123> it depends on the SELF/PARENT thing in the switch header
23:12:36 <frosch123> but the optimiser only operates on expressions and may inline expressions into other expressions
23:12:56 <frosch123> that way variables may end with a different SELF/PARENT after optimising
23:13:33 <frosch123> i see two options: 1: disallow the inlining, when SELF/PARENT changes
23:13:37 <andythenorth> oh so the variant I tried with a separate switch using SELF will be inlined
23:13:41 * andythenorth understands, maybe
23:13:56 <frosch123> 2: attach the SELF/PARENT at the beginning of the parsing to all variables
23:14:07 <frosch123> both seem to touch insanely many codeplaces
23:14:28 <frosch123> the second option may be better for future additions, like mixing scopes in a single expression
23:15:00 <glx> the main issue is nml syntax stricter than NFO, while in NFO you can change scope for each variable
23:15:30 <frosch123> no, it's exactly the same
23:16:24 <glx> ah yes chaining is required
23:16:26 <frosch123> in nml it is more complicated because it also allows expression in return values, which need multiple actions in nfo
23:16:58 <frosch123> the other commits in #175 are already about this result value
23:17:20 <FLHerne> I don't understand why (1) is particularly difficult
23:17:38 <FLHerne> although I agree that (2) sounds like a better idea long-term
23:17:41 <frosch123> FLHerne: 177 code places is difficult :p
23:18:14 <frosch123> you have to chain the SELF/PARENT thing through the whole reduce ast-traversal
23:18:58 <frosch123> (2) sounds better, but no idea what it leads to :)
23:19:00 <glx> ideally everything should be self, then we could have a "parent." prefix when we want to access parent variable
23:19:29 <FLHerne> I don't think that's necessarily true
23:19:40 <glx> but nmlc then need to break expressions when scope changes
23:20:19 <FLHerne> What about attaching scope to variables with a pre_process() pass?
23:20:35 * FLHerne tries to figure out what he actually means by that :p
23:21:07 <frosch123> FLHerne: i think we need to deprecate the vehicle-random-of-other-vehicle thing first
23:21:54 <FLHerne> glx's idea is nice, but probably not an immediate solution :p
23:21:58 <frosch123> it's a stupid addition from the dark newgrf age, when noone knew newgrf, and people added features that were already possible in a more consistent way
23:22:28 <andythenorth> the whole PARENT scope is weird for vehicles
23:22:32 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
23:22:53 <andythenorth> it's a shortcut for something that can be read by offsetting anyway
23:22:58 <andythenorth> but eh, we are where we are
23:23:14 <FLHerne> frosch123: You mean scopes like BACKWARD_SELF?
23:25:17 *** dvim has quit IRC (Ping timeout: 480 seconds)
23:26:14 <frosch123> pretty sure noone uses BACKWARD/FORWARD stuff. and if there is a case, it's pretty easy to replace with a normal switch
23:26:33 <frosch123> which is way less ambiguous
23:27:42 <Eddi|zuHause> i'm pretty sure i used that in CETS
23:28:25 <andythenorth> I was using it, but it trashes 0x100
23:28:33 <andythenorth> so it's useless in any sensible context
23:32:25 <frosch123> andythenorth: you are supposed to only assign 0x100 immediately before usage
23:32:38 <frosch123> it's no temporary storage
23:33:32 <andythenorth> I couldn't see a way to do that and still use spritelayers?
23:33:34 <frosch123> 0x100+x registers are a weird tuple implementation
23:33:57 <andythenorth> anyway I deleted uses of FORWARD_SELF, there are other ways
23:35:09 <andythenorth> oh I use it, but I worked around a quirk
23:35:14 * andythenorth reads long comment
23:35:36 <andythenorth> FORWARD_SELF(0) in generated code will give a bad time
23:36:47 <andythenorth> I haven't tried reading random bits with 0x61, but I assumed it would work
23:37:20 <frosch123> in an ideal world random_switch would not exist :)
23:37:45 <andythenorth> I have started avoiding it
23:37:48 <frosch123> pretty sure nml2 will not have a random_switch like nml1
23:37:50 <andythenorth> it's too magical
23:38:01 <andythenorth> I am now picking out explicit bits in recent code
23:38:09 <andythenorth> it's more to manage, but isn't weird
23:38:12 <glx> hmm I have an idea, maybe it's possible to add stuff to SpriteGroupRef
23:38:34 <frosch123> glx: there is a testcase in my gist
23:38:44 <frosch123> not sure whether it needs the other fixes from the pr
23:45:10 <andythenorth> nml2, the no-nml edition :P
23:46:28 <andythenorth> ha ha 'new for 2020'
23:48:05 *** frosch123 has quit IRC (Quit: be yourself, except: if you have the opportunity to be a unicorn, then be a unicorn)
23:48:41 <andythenorth> but 28s Horse compile, 4.8s is spent rendering nml to disk, 3.2s is then spent opening it and parsing it
23:48:56 <DorpsGek> andythenorth: 0.2857142857142857
23:49:08 <andythenorth> yeah 28% of time spent on intermediary format :D
23:50:01 *** andythenorth has quit IRC (Quit: andythenorth)
23:59:55 <TrueBrain> michi_cc: maybe better to close it in that case?
continue to next day ⏵