IRC logs for #openttd on OFTC at 2023-10-15
            
00:02:56 *** HerzogDeXtEr has quit IRC (Read error: Connection reset by peer)
00:35:01 *** Wormnest has quit IRC (Ping timeout: 480 seconds)
00:39:38 *** breezebuilder has joined #openttd
00:39:38 <breezebuilder> Is there a reason why most of the functions in `tree_cmd.cpp` are static? Would it be crazy for me to create `tree_base.h` to provide access to the random tree placement functions instead of re-implementing duplicates of the functions?
00:40:44 <_glx_> the usual reason is they are only used there
00:43:03 <breezebuilder> Is it standard practice for openttd devs to provide their own access to functions when needed? I don't want to defy any conventions, just want to know what the expected change would be
00:43:57 <_glx_> if a static function needs to be used somewhere else we remove the static and add it to a header
00:44:30 <breezebuilder> Great, that's easy
00:56:39 *** Tirili has quit IRC (Quit: Leaving)
01:05:31 *** Wormnest has joined #openttd
01:59:46 *** Wormnest has quit IRC (Ping timeout: 480 seconds)
02:13:48 *** D-HUND has joined #openttd
02:14:18 *** Wormnest has joined #openttd
02:16:00 *** Wormnest has quit IRC ()
02:17:19 *** debdog has quit IRC (Ping timeout: 480 seconds)
02:37:15 *** debdog has joined #openttd
02:38:14 *** D-HUND has quit IRC (Remote host closed the connection)
02:39:02 *** D-HUND has joined #openttd
02:41:44 *** debdog has quit IRC ()
02:58:08 <wallabra> those city growth scripts are a bit too Malthusian for my tastes
02:58:42 <wallabra> well not "my tastes", I love the scripts
03:03:05 <wallabra> but it is notable that they make population dynamics hinge on transport company services a bit too much
03:07:27 *** pm has joined #openttd
03:08:05 *** pm is now known as Guest3383
03:13:46 *** Guest3301 has quit IRC (Ping timeout: 480 seconds)
03:41:20 *** keikoz has joined #openttd
04:26:17 <merni> Well, as an openttd player that is what you can control :p
04:44:04 *** HerzogDeXtEr has joined #openttd
05:18:41 *** HerzogDeXtEr has quit IRC (Read error: Connection reset by peer)
05:37:37 *** Flygon has joined #openttd
06:00:10 <DorpsGek> [OpenTTD/team] Norodix opened issue #456: [hu_HU] Translator access request https://github.com/OpenTTD/team/issues/456
06:45:45 *** Wolf01 has joined #openttd
08:01:35 *** nielsm has joined #openttd
08:23:22 <andythenorth> so...I need to test bits for raised corners
08:23:34 <andythenorth> bitmask(CORNER_E) gets me an integer I think, I want bools
08:27:54 <andythenorth> is it just 5 bits in order? https://newgrf-specs.tt-wiki.net/wiki/NML:List_of_tile_slopes
08:30:27 <_pruple> do you need to check bits? can't you just use the SLOPE_NW etc constants and let nml do its thing, if you're looking for particular slopes?
08:31:55 <andythenorth> it's quite a lot of checks
08:32:04 <andythenorth> all the correct slopes have to be handled
08:32:23 <andythenorth> whereas afaict, the 6 foundation sprites map directly to the 5 corner bits (flat has 2 foundations)
08:32:40 <andythenorth> I can't pretend I know what I'm doing though
08:33:30 <_pruple> ultimately, however you do it you're going to end up differentiating all the different slopes though, right? because every different slope will require a different [combination of?] foundation sprite.
08:33:56 <andythenorth> each sprite is turned on or off in the spritelayout
08:34:20 <andythenorth> I still think this is all a terrible idea for the record
08:34:39 <andythenorth> 'replace base set foundations, but only next to water' is not going to go well
08:35:05 <brickblock19280> It can work and would be nice
08:37:02 <andythenorth> _pruple: ok yes, there are combinations where 'corner raised S' just doesn't check enough
08:37:40 <andythenorth> ok I might park all this in a branch
08:37:47 <andythenorth> it's a total waste of time
08:38:19 <_pruple> isn't it
08:39:04 <brickblock19280> Why even deal with the constants?
08:39:06 <andythenorth> going to revert
08:39:42 <_pruple> https://old.reddit.com/r/openttd/comments/17884f5/firs_industries_only_on_one_side_of_the_map/ wot larks
08:40:04 <andythenorth> I might have done that
08:40:12 <andythenorth> did I do that?
08:40:19 <_pruple> I think you might have
08:40:45 <andythenorth> "biomes"
08:43:06 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1163034305656803399/image.png?ex=653e1b1a&is=652ba61a&hm=ff0ee090ec46857a5b4067cbc8355b9456a61c34301c49a095cf5e22f7f284de&
08:43:06 <andythenorth> ok objects as the spec intends
08:43:21 <andythenorth> fucking around with foundations is a waste of time
08:44:07 <andythenorth> if I move FIRS ports onto land, this issue disappears
08:48:07 <andythenorth> if I could figure out what expressions to write for this, it would be better
08:48:14 <andythenorth> I'm not writing switch chains, I hate writing nml
08:50:29 <andythenorth> ok I'm being an ass, I need to have coffee and breakfast and be a better person
08:51:39 *** HerzogDeXtEr has joined #openttd
08:55:42 <_pruple> coffee and breakfast sounds like a good plan, me too
08:55:53 <_pruple> (yes, it's breakfast at 7pm)
09:03:25 <andythenorth> ok, so instead of 6 sprites with 'hide_sprite', use 2
09:03:35 <andythenorth> store the spriteset indexes in 2 registers, not 6
09:03:45 <andythenorth> if there's no foundation just draw an empty sprite
09:04:04 <andythenorth> do all the defs in python, and make a code generator
09:04:30 <andythenorth> for each supported slope, list the correct foundations, and the offsets for water tiles to check
09:05:34 <andythenorth> I looked at how FIRS does this yesterday: 8 or so separate spritelayouts, handling 16 or so different slope cases
09:05:43 <andythenorth> looked stupid, but now I see why that's easier
09:46:09 <andythenorth> ha ha, this is better πŸ˜„ https://github.com/andythenorth/chips/blob/custom-foundations-failed/src/foundations.py#L15
09:46:14 <andythenorth> just need to do water checks now
09:46:33 <andythenorth> I can use the same structure to index into a list of base set sprites
09:59:23 *** Flygon_ has joined #openttd
10:03:29 *** APTX_ has joined #openttd
10:04:46 *** Smedles_ has joined #openttd
10:06:31 *** Flygon has quit IRC (singleton.oftc.net coherence.oftc.net)
10:06:31 *** Smedles has quit IRC (singleton.oftc.net coherence.oftc.net)
10:06:31 *** APTX has quit IRC (singleton.oftc.net coherence.oftc.net)
10:06:51 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1163055381237481513/image.png?ex=653e2ebb&is=652bb9bb&hm=5977b48e4989c5f49c2343562d6cf59882f7f609408a9ed4ac17490829d02452&
10:06:51 <andythenorth> oof this so nearly worked πŸ™‚
10:07:44 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1163055602021433374/image.png?ex=653e2ef0&is=652bb9f0&hm=a329b657f143af5b36d8972e29b5269b35080f697e7ea854666b0911e8cfea55&
10:07:44 <andythenorth> the red case I was expecting and know how to solve
10:08:01 <andythenorth> the blue case is a pisser, because it's a case where "coast is sea", except when it isn't
10:08:07 <andythenorth> in this case, coast is sea
10:08:40 <andythenorth> I can check tile elevation also, but that might cause other issues with lakes and rivers
10:09:16 <brickblock19280> Are you looking at sea or water in general?
10:09:27 <andythenorth> anything that isn't WATER_CLASS_NONE
10:09:40 <brickblock19280> Ok
10:13:44 <andythenorth> not actually sure why the blue one is doing what it's doing
10:14:07 <andythenorth> the checks are `[(0, 1), (0, -1), (1, 0), (-1, 0)]`
10:14:24 <andythenorth> the tile at (0, -1) is not reported as coast by the inspector tool in game
10:15:19 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1163057509918064680/image.png?ex=653e30b6&is=652bbbb6&hm=49b23273c5887c90fcbfb61ac575ac7468160043dda25bd2d7029c5240a6d184&
10:15:19 <andythenorth> it's a replicable effect though
10:15:53 <brickblock19280> Odd I don't think I had any issues with this but I am not sure I tested
10:16:36 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1163057832342605925/image.png?ex=653e3103&is=652bbc03&hm=94fa8c2029c77857ac75dc8b820e25cd6b53c084bcbe3a41414c8bb209401fe3&
10:16:36 <andythenorth> wonder why we report "Coast or riverbank"
10:16:40 <andythenorth> there is no concept of riverbank
10:16:54 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1163057910671220796/image.png?ex=653e3116&is=652bbc16&hm=809abac98ffc321f6ad8cc953b65903bf2e91d5c89287f8bd03272e9c1fd8a42&
10:17:06 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1163057957941026877/image.png?ex=653e3121&is=652bbc21&hm=75128ff76e8f19b4854a1f72b6d76bdbd1743643c9769159cf2ede3d0c92c5e3&
10:17:06 <andythenorth> and river is river
10:19:00 <andythenorth> at least I avoided writing nml πŸ˜„ https://github.com/andythenorth/chips/blob/custom-foundations-failed/src/templates/foundations.pynml
10:30:33 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1163061344979927090/image.png?ex=653e3449&is=652bbf49&hm=ec8b54b297c62b5c8cbc3e7255c33a0820a76c38e9018c527fbc15a6f89694ab&
10:30:33 <andythenorth> cases llike this are going to show two types of foundation on adjacent tiles
10:30:59 <_pruple> andythenorth: because "river" isn't a thing in TTD, and I imagine that description dates back that far πŸ™‚
10:31:08 <andythenorth> good reason πŸ™‚
10:32:26 <brickblock19280> Can ports be built on rivers?
10:32:57 <_pruple> river (and canal) tiles have their banks on their own tile, so I'd be inclined to only use special foundations if the neighbouring tile is sea
10:33:11 <alfagamma7> brickblock19280: Yes
10:33:15 <alfagamma7> I have
10:41:29 <_pruple> https://cdn.discordapp.com/attachments/1008473233844097104/1163064094467829770/Bratchester_Transport_1958-09-10.png?ex=653e36d8&is=652bc1d8&hm=018bf6e7306c5232382d4429295e90179611c8d1f04acc54823c597b4278a1af&
10:41:29 <_pruple> objects, slopes and coasts... what a faff.
10:41:39 <_pruple> (I didn't avoid writing nfo 😦 )
10:42:36 <andythenorth> _pruple: it's an idea
10:43:29 *** Smedles_ has quit IRC (Ping timeout: 480 seconds)
10:44:37 <brickblock19280> Industries would have to work the same way tho imo
10:46:14 <DorpsGek> [OpenTTD/team] glx22 commented on issue #456: [hu_HU] Translator access request https://github.com/OpenTTD/team/issues/456
10:46:57 <andythenorth> brickblock19280: for FIRS, it's extremely difficult to build a port not on sea
10:47:17 <andythenorth> other industry sets may vary πŸ˜›
10:47:30 <brickblock19280> We don't care about those tho
10:47:32 <andythenorth> hmm
10:47:33 *** Smedles has joined #openttd
10:47:51 <andythenorth> I assumed I could OR the results of nearby_tile_water_class() with `||`
10:47:55 <andythenorth> maybe I need bitwise OR?
10:47:56 <andythenorth> dunno
10:48:05 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1163065758385975346/image.png?ex=653e3865&is=652bc365&hm=8235181cb699d7b4ad7fdf713a8c128b43a6d11e9f0c74a1364ef1438b621d37&
10:48:05 <andythenorth> or river is sea
10:49:11 <andythenorth> `1 || 2 || 0` evaluats to 1?
10:49:53 <andythenorth> ok bitwise OR seems to work
10:56:14 <_glx_> With || result is 1, with | it's 3
10:57:19 <_glx_> And || is expansive in nml
10:59:23 <andythenorth> I suspect my logic might have mistakes in that case πŸ™‚
11:08:39 *** Smedles has quit IRC (Ping timeout: 480 seconds)
11:11:03 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1163071537998467072/image.png?ex=653e3dc7&is=652bc8c7&hm=fe182deab63e3f04021b480df27466b89ab0668f6cdd1635426d4991cdeb5a62&
11:11:03 <andythenorth> testing pathological cases
11:11:10 <andythenorth> flat land at height level 0 πŸ˜›
11:12:59 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1163072021421375568/image.png?ex=653e3e3a&is=652bc93a&hm=dc42fda14d6356575d7c320188e7edee4f5ccaa9c8b64776234c3a98471044a1&
11:12:59 <andythenorth> another: object built on canal at sea level
11:13:01 <andythenorth> can fix that one
11:13:49 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1163072232126431242/image.png?ex=653e3e6c&is=652bc96c&hm=cc1898f156cf4e74880d3e418e766d6e8a900cccf5f6f60bc18d4aa2226f3940&
11:13:49 <andythenorth> means objects built on canal don't have foundations
11:13:56 <andythenorth> probably best TBH
11:16:56 <brickblock19280> would checking all 8 tiles around for water not be sufficient?
11:17:16 <brickblock19280> andythenorth: in order to solve this
11:18:21 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1163073374768091277/image.png?ex=653e3f7d&is=652bca7d&hm=100042a2fd83b8a9535348db886ef4805b0f9f0f46d4c4802acc8e8f0159ae59&
11:18:21 <andythenorth> checking all 8 will cause cases like this to show water foundations
11:18:26 <andythenorth> it has to be slope-specific
11:18:36 <andythenorth> unless that's what you meant πŸ™‚
11:19:43 <brickblock19280> no but I guess it has to be
11:19:47 *** Smedles has joined #openttd
11:19:49 *** Xaroth92 has joined #openttd
11:21:03 *** jlx___ has joined #openttd
11:21:05 *** berndj has joined #openttd
11:21:08 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1163074072222117888/image.png?ex=653e4023&is=652bcb23&hm=2bf50fb53a05aaf3962cc4de29a3425479026db3654fcfa0ae8f5877ee00bc81&
11:21:08 <andythenorth> will need to fix purchase πŸ˜„
11:21:10 <andythenorth> looks nice though πŸ˜›
11:21:22 *** Wolf03 has joined #openttd
11:21:38 <andythenorth> somehow life would be much easier if I just did a class of 'dock objects' πŸ˜›
11:21:48 <andythenorth> less magical, but eh
11:22:26 *** jlx__ has quit IRC (Read error: Connection reset by peer)
11:22:26 *** michi_cc has quit IRC (Read error: Connection reset by peer)
11:22:26 *** michi_cc has joined #openttd
11:22:26 *** Wolf01 is now known as Guest3456
11:22:26 *** ChanServ sets mode: +v michi_cc
11:22:28 *** Wolf03 is now known as Wolf01
11:22:29 *** berndj-blackout has quit IRC (Read error: Connection reset by peer)
11:22:30 <andythenorth> for objects, I could have use the extra orientations
11:22:36 <andythenorth> but I need this to work for station tiles also
11:24:30 *** cjmonagle[m] has quit IRC (Ping timeout: 480 seconds)
11:24:45 <_glx_> For stations it's simpler, openttd handles the orientation and nearby tests use the same offsets
11:25:00 *** Guest3456 has quit IRC (Ping timeout: 480 seconds)
11:25:10 *** debdog has joined #openttd
11:25:20 <andythenorth> I think magic is the only way to have a consistent building interface for players
11:25:30 *** Xaroth9 has quit IRC (Ping timeout: 480 seconds)
11:26:21 *** cjmonagle[m] has joined #openttd
11:26:59 <_glx_> It's not (x,y) but (along platform, between platform)
11:28:00 <_glx_> And you can only build parallel to the slope IIRC
11:28:30 <brickblock19280> yes
11:28:56 <andythenorth> hmm
11:29:31 <brickblock19280> seems easier
11:29:55 *** Webster has quit IRC (Ping timeout: 480 seconds)
11:29:57 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1163076292011380736/image.png?ex=653e4234&is=652bcd34&hm=e6eab56f1adc1830cb29e9e721dc5170b44cf47ce902dd539908030ed93ad65a&
11:29:57 <andythenorth> ok this fails if water is cleared on a nearby tile
11:30:03 <andythenorth> because it's bare land
11:30:09 <andythenorth> so the foundations stop showing
11:30:14 <brickblock19280> that's fine
11:30:16 <andythenorth> really, this is not going to be possible, I am sure
11:30:22 <_glx_> It will reappear
11:30:36 <_glx_> Once bare land is flooded
11:30:38 <andythenorth> that's not acceptable behaviour from the grf πŸ™‚
11:30:51 <andythenorth> might be ok once the base set foundations show?
11:30:55 <andythenorth> is that the thinking?
11:31:01 <brickblock19280> yes
11:31:04 <andythenorth> hmm
11:31:14 <andythenorth> ok so houses use base set
11:31:22 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1163076649852620800/image.png?ex=653e428a&is=652bcd8a&hm=42f2fd20c26c555ba78d75114f2959a6880ccd77c12e13f0403cb302e85f0073&
11:31:22 <andythenorth> so object use in towns is now weird
11:31:39 <andythenorth> live with it?
11:31:59 <brickblock19280> yes all other objects use baseset so its fine
11:32:24 <brickblock19280> and I wouldn't use just one chips object
11:32:26 <andythenorth> if only objects had some variant system
11:32:33 <andythenorth> like....up to 4 views or something
11:32:55 <_glx_> Different foundation on different tiles is quite realistic
11:35:10 <andythenorth> at least this way matches docks
11:35:24 <andythenorth> personally, I don't decorate towns with objects
11:35:59 <brickblock19280> I do but not with chips ones
11:36:03 <andythenorth> ok I wonder if nml has a convenient builtin to get the base set sprite numbers
11:36:05 <Wolf01> Towns are meant to be decorated with objects :P
11:44:44 <andythenorth> nml has a var specifically for the last computed result?
11:44:54 * andythenorth looking for it, want to pass it as a parameter to a procedure
11:48:37 <_glx_> There is a var yes
11:50:46 *** jlx___ has quit IRC (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
11:51:44 *** jlx__ has joined #openttd
11:58:15 <_glx_> `last_computed_result` (var1C)
12:08:53 <andythenorth> ta
12:28:19 <andythenorth> https://github.com/andythenorth/chips/blob/custom-foundations-failed/src/templates/foundations.pynml
12:28:26 <andythenorth> better implementation πŸ˜›
12:29:07 <andythenorth> now I just need 'initialise_baseset_foundation_sprites' I think πŸ˜›
12:35:03 <peter1138> wibble
12:35:37 *** APTX_ has quit IRC (Remote host closed the connection)
12:38:19 *** APTX has joined #openttd
13:05:08 <_pruple> thought as much
13:36:53 *** virtualrandomnumber has joined #openttd
13:37:01 *** virtualrandomnumber has quit IRC ()
13:45:07 <andythenorth> Yes
13:45:59 <andythenorth> So…foundations callback for objects to supplement the action 0 flag bit? πŸ˜›
14:08:02 *** Guest3383 has quit IRC (Remote host closed the connection)
14:35:22 <DorpsGek> [OpenTTD/OpenTTD] PeterN opened pull request #11369: Codechange: Replace refit option list C-array with std::map. https://github.com/OpenTTD/OpenTTD/pull/11369
15:18:09 *** Wormnest has joined #openttd
15:38:07 <DorpsGek> [OpenTTD/OpenTTD] PeterN updated pull request #11369: Codechange: Replace refit option list C-array with std::map. https://github.com/OpenTTD/OpenTTD/pull/11369
15:41:38 <andythenorth> does nml have anything to flip a bool (NOT)?
15:41:51 <andythenorth> or I just write a procedure πŸ˜›
15:43:47 <alfagamma7> Does callback 37 work for custom cargoes as well?
15:44:05 <alfagamma7> (ignore,wrong cb)
15:44:15 <Eddi|zuHause> andythenorth: NML doesn't have a concept of "bool"
15:44:22 <peter1138> 37 ONLY works for custom cargoes...
15:44:28 <andythenorth> yes FIRS uses 37
15:44:39 <peter1138> Ignore, wrong feature :D
15:44:52 <peter1138> I dunno industries, they are all complex and stuff.
15:44:54 <andythenorth> `(LOAD_TEMP(${graphics_temp_storage.CABBAGE}) ? 0 : 1)`
15:45:02 <andythenorth> bool flip in evil ternary πŸ˜›
15:46:01 <Eddi|zuHause> just use ranges of "0" and "default" in your switch?
15:47:06 <Eddi|zuHause> anyway, there probably is a "!" operator, but results may be strange/undefined if other values than 0 and 1 are encountered
15:47:17 <andythenorth> probably
15:47:27 <andythenorth> I am avoiding switch ranges, this is all expression stuff
15:47:35 <andythenorth> as far as possible I try to avoid using switches as switches πŸ˜›
15:47:57 <alfagamma7> I was thinking of experimenting with a small industry chain of my own
15:51:50 <Eddi|zuHause> avoiding switches may be... inefficient...
15:54:26 <andythenorth> it's efficient for authoring
15:54:42 <andythenorth> hmm I was hoping I could use `slope_to_sprite_offset(slope)` to pick out the correct foundation
15:54:53 <andythenorth> but it appears to be for ground tiles only
15:56:41 <Eddi|zuHause> <andythenorth> it's efficient for authoring <-- but do the needs of one outweigh the needs of many?
15:58:10 <andythenorth> it's utilitarian: there can be a grf, or no grf
15:58:19 <andythenorth> an inefficient grf is better than no grf
15:58:26 <andythenorth> NoGRF, we should PR that
15:59:50 <andythenorth> is there a table of slopes in src?
15:59:52 * andythenorth looks
16:01:35 <andythenorth> `SPR_SLOPES_VIRTUAL_BASE + SPR_SLOPES_INCLINED_OFFSET + sprite_block * SPR_TRKFOUND_BLOCK_SIZE;`
16:01:39 <andythenorth> probably that
16:02:50 <andythenorth> SPR_FOUNDATION_BASE = 989
16:03:31 <andythenorth> it's complicated because of steep slopes, but I don't need to handle those for objects / stations
16:09:52 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1163146735628058835/image.png?ex=653e83cf&is=652c0ecf&hm=3a17b7d7225b6e5198ce3121dd03e0a4c131034e6af1da3717caa4b4df0cee4c&
16:09:52 <andythenorth> well it's not 989 πŸ˜›
16:09:55 <andythenorth> obiwan I guess
16:10:44 <alfagamma7> What is that
16:11:02 <merni> sprite misuse
16:18:11 <andythenorth> looks like foundation sprites 5465 and 5473 are identical
16:18:22 <andythenorth> wonder if there's something I should look up about them πŸ˜›
16:25:40 <kamnet> andythenorth: New disaster scenario when? This look like an alien invasion.
16:28:52 <_pruple> there's already an alien invasion disaster...
16:31:39 *** virtualrandomnumber has joined #openttd
16:32:40 <andythenorth> if anybody wants to test my slope numbers? πŸ˜› https://github.com/andythenorth/chips/blob/custom-foundations-failed/src/foundations.py#L15
16:32:51 <andythenorth> or we can wait until it ships
16:35:23 <andythenorth> do we want objects that can build on sea?
16:35:37 <andythenorth> it looks good, but they can also be built on canals and block them
16:36:57 <brickblock19280> I think you should have them
16:37:13 <brickblock19280> Do you have a grf that we could test
16:39:10 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1163154108988006451/chips.grf?ex=653e8aad&is=652c15ad&hm=6d58d00928d70551ad87581837674a1436d086d582a44c26cc034f74a6381e87&
16:39:10 <andythenorth> objects only
16:39:25 <andythenorth> no water objects in that
16:39:40 <andythenorth> they're too weird on canals
16:39:49 <andythenorth> they're built over the canal, but they block it
16:40:02 <andythenorth> removing them leaves the canal in place
16:40:12 <andythenorth> visually it's weird AF
16:41:11 <brickblock19280> Thx
16:41:44 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1163154754017439794/image.png?ex=653e8b47&is=652c1647&hm=5ee5e27a4e9e35441edf464dd94e02e8abb151c688bb425134f5106458c811ab&
16:42:08 <andythenorth> that river is block for navigation, but river bank drawing isn't triggered
16:42:35 <brickblock19280> ok that ain't good
16:42:45 <andythenorth> there's no flag for 'allow ships to traverse'
16:42:56 <andythenorth> although there is a flag for 'draw water'
16:43:02 <brickblock19280> that would be even weirder
16:43:13 <andythenorth> traversing objects eh?
16:43:17 <merni> Houseboat sheds?
16:43:27 <alfagamma7> It would have been good to allow fish shoals to be created on rivers
16:43:53 <andythenorth> CHIPS objects on sea tiles looks good, if I add foundations
16:44:02 <andythenorth> but it's non-trivial to disallow rivers / canalas
16:44:18 <andythenorth> and then it's annoying to not be able to build them in large lakes of river tiles
16:45:17 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1163155648012374026/image.png?ex=653e8c1c&is=652c171c&hm=6192e46e5a84a0b5b649b59de92c87f7175fb39b7ee3cd555491e942d7bc4547&
16:45:35 <andythenorth> no need for a 1 tile ridge of land
16:46:51 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1163156043715592344/image.png?ex=653e8c7b&is=652c177b&hm=83791c9c1ccc938f83f134b1f1b90f991d3a7348f7c10116b10e7bd313aa4b10&
16:46:51 *** virtualrandomnumber has quit IRC (Quit: virtualrandomnumber)
16:47:21 <brickblock19280> make it elevetad on rivers too?
16:47:56 <alfagamma7> Rivers need be wider for real
16:48:03 <FLHerne> andythenorth: presumably you've seen the 'FIRS and CHIPS style objects' grf made by someone else on BaNaNaS?
16:48:10 <alfagamma7> like 6 tiles wide for big rivers
16:48:19 <FLHerne> it has quite a few of the things you're playing with
16:48:54 <alfagamma7> Seems like Andy wants to replace that
16:48:58 <andythenorth> FLHerne: yes, FACSO is the inspiration for FIRS objects
16:49:17 <andythenorth> it's unrealistic for FACSO to keep up with FIRS or CHIPS dev
16:49:27 <andythenorth> whereas I can generate objects as a side effect of the compile
16:49:39 <alfagamma7> It hasn't been updated since 2020
16:49:44 <alfagamma7> so Andy is right
16:50:03 <andythenorth> navigable objects would have been good πŸ˜›
16:50:10 <andythenorth> loading gantries etc
16:50:22 <andythenorth> I dislike the overlapping sprites trick
16:50:30 <FLHerne> Eddi|zuHause: NML certainly has a concept of Boolean internally
16:50:37 <FLHerne> andythenorth: !(value) should work
16:50:45 <FLHerne> (parens optional)
16:51:30 <andythenorth> thanks, appears to work
16:53:54 <FLHerne> hm
16:54:25 <FLHerne> Eddi|zuHause is right that it won't work for true values that aren't 1
16:54:40 <andythenorth> that's ok in this case
16:54:51 <andythenorth> it's all going to be bytes eh
16:55:01 <brickblock19280> https://cdn.discordapp.com/attachments/1008473233844097104/1163158098538676294/image.png?ex=653e8e65&is=652c1965&hm=20c6053f5ea0129ae4324b035386d52bd6336290ab18f0dc0747e1c621a5397c&
16:55:01 <brickblock19280> this one also has to look at the diagonally adjacent tile
16:55:15 *** gelignite has joined #openttd
16:55:23 <brickblock19280> https://cdn.discordapp.com/attachments/1008473233844097104/1163158190708490330/image.png?ex=653e8e7b&is=652c197b&hm=bbaebd1036084935ac015efbc67338997545c28e34b2abf92b7c77b571cb76f9&
16:56:13 <FLHerne> it's implemented as XOR(value, 1), so e.g. Not(3) is still a non-zero value
16:56:36 <andythenorth> brickblock19280: thanks, there will be some errors in some of the offsets
16:56:50 <andythenorth> or I need to make the checks more generous
16:56:57 <brickblock19280> would be odd if there wasn't
16:57:20 <andythenorth> checks are here https://github.com/andythenorth/chips/blob/nml-port/src/foundations.py#L15
16:57:33 <andythenorth> but some of them need to check another 2 or so tiles I think
16:57:34 <FLHerne> hm, I might be wrong
16:57:51 <FLHerne> I think there might be an implicit conversion of the arguments to Boolean
16:58:20 <andythenorth> is it 0 and (any other value)?
16:58:23 <andythenorth> for false / true?
16:58:32 <andythenorth> in the implicit conversion?
16:58:44 <FLHerne> there is, in parser.py
16:59:13 <FLHerne> so yes, I think it ought to treat any non-zero value as true and work consistently
16:59:26 <FLHerne> the codebase is kind of a rats' nest though :-(
16:59:39 <andythenorth> nature of the beast πŸ™‚
16:59:54 <FLHerne> every action implements all the operators independently which makes picking through how each one works a bit of a pain
16:59:55 <brickblock19280> Slope
17:00:11 <FLHerne> it's all part of NML being implemented backwards from how any sane compiler backend works
17:01:10 <brickblock19280> slope NW should also check (1, 1) ans (-1, 1) in order to work correctly
17:01:27 <brickblock19280> same for all other similar slopes I believe
17:02:33 <andythenorth> tend to agree
17:02:41 <andythenorth> working these out today has boggled my brain πŸ™‚
17:03:56 <andythenorth> SLOPE_SW should be (-1, 0), (-1, 1), (-1, -1)
17:03:57 <andythenorth> I think
17:05:38 <andythenorth> SLOPE_NWS?
17:06:19 <brickblock19280> probably
17:06:59 <brickblock19280> NWS is fine currently
17:07:15 <brickblock19280> since you won't see the foundations anyway
17:07:56 *** debdog has quit IRC (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
17:08:55 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1163161594570748035/Sprite3992.png?ex=653e91a6&is=652c1ca6&hm=a8e4e5626aad225a4c2e1c2ee67b5e5e1395e572d6baafd79d72728359c0b800&
17:08:57 <andythenorth> NWS?
17:09:30 <andythenorth> I have that as (0, 1) but I think it's wrong
17:15:25 *** Eddi|zuHause2 has joined #openttd
17:19:01 *** Eddi|zuHause has quit IRC (Ping timeout: 480 seconds)
17:22:57 <andythenorth> ok think I corrected them all
17:23:34 *** Eddi|zuHause2 is now known as Eddi|zuHause
17:52:38 <brickblock19280> yeah I was wrong
18:11:44 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1163177403380666489/chips.grf?ex=653ea05f&is=652c2b5f&hm=4ec6b9e804f8fcc5b2d53640148cacaa0cb4aa5f81b390ba80ae33b8674c8cdd&
18:11:44 <andythenorth> revised grf
18:15:44 <brickblock19280> Seems to work but why do you have every colour instead of using the same as firs does
18:15:58 <brickblock19280> you have already written the code for it
18:20:44 <brickblock19280> your foundations are also one pixel to far up which means they don't match the firs industries
18:21:07 <andythenorth> how would CHIPS know what colour FIRS is using?
18:21:41 <alfagamma7> CHIPS uses Company colour right?
18:21:46 <brickblock19280> update them both at the same time
18:21:50 <alfagamma7> Or am I wrong
18:21:53 <_pruple> how do the FIRS objects know what colour the industries are using?
18:22:24 <brickblock19280> they use the same colour code as the industries which uses town zones
18:22:59 <andythenorth> but that relies on knowing the industry type....
18:23:18 <andythenorth> it's not that I don't want to, it's that it's impossible πŸ™‚
18:23:28 <brickblock19280> I have done it
18:23:39 <andythenorth> but generic objects don't have an industry type
18:23:56 <brickblock19280> make them industry specific
18:24:06 <andythenorth> but they're generic
18:24:18 <brickblock19280> why tho
18:24:21 <alfagamma7> I thought industry colours in FIRS and it's clones were merely randomised
18:24:44 <brickblock19280> they were but that was changed
18:25:00 <_pruple> or make the town have a favourite colour for all industries. but I think we had this discussion the other day. πŸ™‚
18:25:10 <brickblock19280> currently firs and chips style dock objects use the same colouring system
18:25:36 <andythenorth> they're randomised, using the town number as a random seed
18:25:45 <alfagamma7> I think at least the industries that players make should be company coloured
18:26:01 <alfagamma7> andythenorth: Nice way to do it
18:26:31 <andythenorth> reldred's idea πŸ™‚
18:29:58 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1163181994025431133/image.png?ex=653ea4a6&is=652c2fa6&hm=3967b8b286f9095143a2bf48a2f9923577f306ea7203e0bc0a19e82d01cde682&
18:29:58 <andythenorth> good catch πŸ™‚
18:30:38 <brickblock19280> I only noticed it because they were different from mine
18:31:09 <peter1138> Hmm, so.
18:31:12 <peter1138> Well.
18:31:12 <andythenorth> now trying to work out which one is wrong πŸ˜›
18:31:14 <andythenorth> might be FIRS
18:31:40 <alfagamma7> I wish there was a way to standardise ground sprites in OpenTTD ( different newgrfs have widely different ground sprites for the same thing)
18:32:21 <brickblock19280> there kinda is if you use the baseset sprites
18:32:27 <brickblock19280> or we just implement BGT
18:32:31 <alfagamma7> Might be an old idea
18:35:44 <truebrain> I think I am going to request a rename of this channel on Discord πŸ˜›
18:36:57 <DorpsGek> [OpenTTD/OpenTTD] eints-sync[bot] pushed 1 commits to master https://github.com/OpenTTD/OpenTTD/commit/2be1b72a5b2d18f74481f34d70cdf33d70fc0b4d
18:36:58 <DorpsGek> - Update: Translations from eints (by translators)
18:37:24 <peter1138> Can we unlink #openttd?
18:38:14 <andythenorth> is this not just irc Discord channel #openttd?
18:39:12 <truebrain> it is more that other people with this interest might not expect this chat to happen in this channel
18:39:37 <andythenorth> but if it's not here, some people on irc won't be in it 😦
18:40:18 <alfagamma7> How about openttd-on-irc?
18:40:51 <truebrain> I think that means those people on IRC should move to Discord to πŸ˜‰
18:40:57 <andythenorth> ach I can just talk grf stuff in Discord channel #add-on-development
18:41:13 <andythenorth> but it's intertwined with nml stuff, and at least one nml dev isn't there afaik (flherne)
18:41:22 <alfagamma7> Or just openttd-irc
18:42:04 <truebrain> it is okay, really, but find a balance here please πŸ™‚
18:42:22 <truebrain> I am really not interested in seeing an endless amount of pictures with minor pixels being different πŸ˜›
18:42:48 <FLHerne> andythenorth: eh, I'm not really an NML dev
18:42:50 <FLHerne> I just poke at it when I get bored
18:44:36 <FLHerne> truebrain: then make a thing that bridges all the Discord channels to IRC ;-)
18:44:44 <truebrain> or, you know, install Discord! πŸ™‚
18:44:50 <FLHerne> Someoneβ„’ has to do it and it's always you :p
18:44:56 <FLHerne> not a chance
18:45:33 <truebrain> just a thin line; before you know it, everyone wants to chat here, for those few of you πŸ˜› Anyway, again, just find a balance, all I wanted to say πŸ™‚
18:45:41 <FLHerne> (the bridge really is neat though)
18:45:54 <FLHerne> it's the only IRC-to-anything bridge that I really don't notice from the IRC side
18:46:06 <truebrain> tnx πŸ™‚ I really tried πŸ˜‰
18:46:09 <andythenorth> I don't mind a bit more channel discipline, I just go where I get useful feedback πŸ˜›
18:46:18 <andythenorth> and some of the useful people aren't in the other place
18:46:19 <truebrain> helps that I come from IRC πŸ˜„
18:48:14 <FLHerne> Would it be particularly hard to make dibridge bridge multiple channels? Naively it seems like a do-the-same-thing-in-parallel problem
18:48:37 <FLHerne> although literally parallel processes would end up with duplicate IRC users
18:48:50 <truebrain> there has to be an insentive to get on Discord πŸ˜›
18:49:29 <FLHerne> Why do we want an incentive to join a proprietary platform
18:50:07 <truebrain> anyway, main reason is that IRC has the whole community (that what is left πŸ˜› πŸ˜› ) in 1 channel
18:50:11 <truebrain> I didn't want to scatter that over more
18:52:21 <FLHerne> hm, dibridge is a lot more readable than I thought it would be
18:52:46 <FLHerne> it's such a seamless bridge that I don't think that's an issue
18:52:58 <FLHerne> (assuming that the multiple Discord channels have a viable number of users)
18:52:59 <truebrain> πŸ˜„
18:56:07 <FLHerne> testing any changes might be awkward because I don't have a public IPv6 block
18:56:18 <FLHerne> I suppose I could run an IRC server locally
18:56:25 <truebrain> that is how I test it πŸ™‚
18:56:51 <FLHerne> does it need any special permissions on the Discord side to function?
18:56:59 <truebrain> yup
18:57:04 <truebrain> it needs a webhook on the channel
18:57:51 <truebrain> not an issue on your own server; but on a server like OpenTTD, requires permissions
19:06:34 <LordAro> we never had an issue with such things pre-discord
19:06:46 <truebrain> insert xkcd here
19:07:06 <peter1138> Testing with godbolt can be fun, when gcc decides "this array isn't touched, so it's all 0, and therefore I can optimize away all this code that you are trying to test..."
19:07:46 <truebrain> `-O0` πŸ˜›
19:07:49 <truebrain> but that ruins other shit
19:07:53 <LordAro> peter1138: making it a function parameter usual helps
19:08:25 <peter1138> Praps but in this case to be equivalent the array needs to be local
19:08:35 *** Wormnest has quit IRC (Ping timeout: 480 seconds)
19:11:08 *** Wormnest has joined #openttd
19:40:59 <DorpsGek> [OpenTTD/OpenTTD] PeterN opened pull request #11370: Codechange: Use max_element to find best cargo (sub-)type in NewGRF var 42 https://github.com/OpenTTD/OpenTTD/pull/11370
19:41:35 <Eddi|zuHause> define the array as volatile?
19:42:01 <Eddi|zuHause> may be too much
19:48:15 <_glx_> andythenorth: Boolean conversion uses `expr = nmlop.MINU(expr.expr, 1)`
19:54:06 *** Smedles has quit IRC (Remote host closed the connection)
19:56:23 *** Smedles has joined #openttd
20:02:02 <andythenorth> hmm
20:02:17 <andythenorth> I thought switch IDs could be duplicated across feature types in nml
20:02:21 <andythenorth> seems not πŸ™‚
20:06:20 *** Wormnest has quit IRC (Ping timeout: 480 seconds)
20:09:01 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 approved pull request #11370: Codechange: Use max_element to find best cargo (sub-)type in NewGRF var 42 https://github.com/OpenTTD/OpenTTD/pull/11370#pullrequestreview-1678863718
20:11:23 *** Wormnest has joined #openttd
20:12:02 <andythenorth> _jgr_: does roadstops have a foundations flag or callback?
20:15:56 <_jgr_> andythenorth: No, it's not necessary. Road stops are always level
20:16:50 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1163208888632492052/image.png?ex=653ebdb2&is=652c48b2&hm=293449da1ecd6ed64b8ad12b48994dbe79e3069b947fbbc0a34cfe8126398a45&
20:16:50 <andythenorth> o_O
20:17:29 <_jgr_> The foundation has been added for you, you don't need to try to add it manually
20:17:50 <andythenorth> sprite replacement
20:17:56 <andythenorth> wonder if I can just overlay them?
20:20:42 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler updated pull request #11359: Change: Don't set vehicle on time if timetable not started https://github.com/OpenTTD/OpenTTD/pull/11359
20:21:40 <_jgr_> Hmm, I suppose that something for could be added to the spec, rail stations seem to have a flag for it
20:22:06 <_jgr_> Though that seems to be tied in to the really awkward way that the station spec is implemented
20:22:20 <andythenorth> objects, industry tiles, airport tiles have a callback
20:24:17 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 commented on pull request #11369: Codechange: Replace refit option list C-array with std::map. https://github.com/OpenTTD/OpenTTD/pull/11369#pullrequestreview-1678866529
20:26:47 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 approved pull request #11355: Codechange: Use std::vector in fallback layouter, and shorten accessors. https://github.com/OpenTTD/OpenTTD/pull/11355#pullrequestreview-1678866798
20:28:25 <_jgr_> It seems that for objects that there isn't a callback, you just turn them off and draw one yourself
20:28:49 <_pruple> yes
20:29:07 <_pruple> (or more typically, turn them off and draw a sloped groundtile)
20:31:11 <andythenorth> _jgr_: oops yes, mixed up houses and objects πŸ™‚
20:37:55 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1163214192313110548/image.png?ex=653ec2a2&is=652c4da2&hm=a242aeb805217de30f93536ce4a1ba958df59505b011ae1881452924cfa449af&
20:37:55 <andythenorth> possibly I can just overlay them
20:38:12 <andythenorth> although my varact 2 chain is failing on water class check I think, but that's a different issue
20:43:19 <andythenorth> any chance road stops always report TILE_FLAT
20:43:46 <andythenorth> var 0x60
20:43:58 <andythenorth> I have no real way of debugging except changing things in the grf
20:44:40 <_jgr_> You can see the value of variables in the debug window
20:45:06 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1163215998397198438/image.png?ex=653ec451&is=652c4f51&hm=fc3ba09a533506ccf2004fd2182f6606426c460500971cb1faa49a6351d3a5d9&
20:45:06 <andythenorth> no debug for road stops πŸ™‚
20:45:11 *** nielsm has quit IRC (Ping timeout: 480 seconds)
20:45:19 <andythenorth> oh it's via inspect
20:45:19 <andythenorth> ok
20:48:33 <andythenorth> values change with slope in same way as objects, so probably an issue local to me
20:52:00 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1163217738509066290/chips.grf?ex=653ec5f0&is=652c50f0&hm=f7aa5b1084d7e70b48be137abdec1f3a6709c93bf53c2a979d0bb3522751cf4c&
20:52:00 <andythenorth> test grf
20:52:26 <DorpsGek> [OpenTTD/OpenTTD] PeterN updated pull request #11369: Codechange: Replace refit option list C-array with std::map. https://github.com/OpenTTD/OpenTTD/pull/11369
20:55:52 <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #11369: Codechange: Replace refit option list C-array with std::map. https://github.com/OpenTTD/OpenTTD/pull/11369#pullrequestreview-1678870227
20:58:30 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler updated pull request #11142: Feature: Setting to automatically restart server based on hours played https://github.com/OpenTTD/OpenTTD/pull/11142
20:58:36 <DorpsGek> [OpenTTD/OpenTTD] JGRennison opened pull request #11371: Fix: Assertion in sprite aligner window when clicking sprite number after re-opening window having previously used sprite picker tool https://github.com/OpenTTD/OpenTTD/pull/11371
20:59:14 <DorpsGek> [OpenTTD/OpenTTD] PeterN merged pull request #11355: Codechange: Use std::vector in fallback layouter, and shorten accessors. https://github.com/OpenTTD/OpenTTD/pull/11355
21:01:43 <DorpsGek> [OpenTTD/OpenTTD] PeterN dismissed a review for pull request #11370: Codechange: Use max_element to find best cargo (sub-)type in NewGRF var 42 https://github.com/OpenTTD/OpenTTD/pull/11370#pullrequestreview-1678863718
21:01:46 <DorpsGek> [OpenTTD/OpenTTD] PeterN updated pull request #11370: Codechange: Use max_element to find best cargo (sub-)type in NewGRF var 42 https://github.com/OpenTTD/OpenTTD/pull/11370
21:02:05 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler commented on pull request #11142: Feature: Setting to automatically restart server based on hours played https://github.com/OpenTTD/OpenTTD/pull/11142#pullrequestreview-1678868709
21:04:04 <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #11370: Codechange: Use max_element to find best cargo (sub-)type in NewGRF var 42 https://github.com/OpenTTD/OpenTTD/pull/11370#pullrequestreview-1678871303
21:06:05 *** Wormnest has quit IRC (Ping timeout: 480 seconds)
21:09:07 <andythenorth> _jgr_: if I switch from my var from `tile_slope` to `nearby_tile_slope(0, 0)` I get expected result
21:09:12 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1163222067118886932/image.png?ex=653ec9f8&is=652c54f8&hm=bd737240f6367f4c2a3244d94af191f5269f1e6596bebf703591df102f47d081&
21:09:42 <andythenorth> at first glance, `tile_slope` looks correct in nml, at least seems same as object implementation afaict
21:10:04 <andythenorth> and object implementation works with object var 0x41
21:15:07 <_jgr_> Not sure why it's in NML at all, as there's nothing in those bits in the implementation or documentation
21:15:59 * andythenorth was trying to find `GetTerrainType`
21:16:14 <_jgr_> Probably less disruptive to just add it than to remove something from NML
21:16:21 <andythenorth> wonder why it works for objects
21:16:29 <andythenorth> oh, objects aren't using base station?
21:16:35 <_jgr_> It is implemented for objects
21:16:40 <_jgr_> An object isn't a station
21:16:50 <andythenorth> indeed
21:17:23 *** keikoz has quit IRC (Ping timeout: 480 seconds)
21:18:11 *** gelignite has quit IRC (Quit: Stay safe!)
21:21:11 *** Wormnest has joined #openttd
21:22:59 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler opened pull request #11372: Fix e4fd99a, Fix #11270: Vehicle max age is not subject to leap years https://github.com/OpenTTD/OpenTTD/pull/11372
21:32:27 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
21:36:57 <DorpsGek> [OpenTTD/OpenTTD] PeterN approved pull request #11372: Fix e4fd99a, Fix #11270: Vehicle max age is not subject to leap years https://github.com/OpenTTD/OpenTTD/pull/11372#pullrequestreview-1678875244
21:38:19 <DorpsGek> [OpenTTD/OpenTTD] JGRennison opened pull request #11373: Fix: Tile slope missing from road stops varact2 variable 0x42 https://github.com/OpenTTD/OpenTTD/pull/11373
22:07:03 <peter1138> Hmm, https://newgrf-specs.tt-wiki.net/ does not seem to appear in bing search...
22:07:11 <peter1138> (And thus, not in DuckDuckGo)
22:08:20 <peter1138> And https://newgrf-specs.tt-wiki.net/wiki/VariationalAction2/Road_Stops does not exist, so, hmm.
22:33:57 <_glx_> closest doc is <https://jgrennison.github.io/OpenTTD-patches/newgrf-roadstops.html#roadstop_terrain_type>
22:34:08 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler merged pull request #11372: Fix e4fd99a, Fix #11270: Vehicle max age is not subject to leap years https://github.com/OpenTTD/OpenTTD/pull/11372
22:34:11 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler closed issue #11270: [Bug]: Vehicle max age in years calculated incorrectly https://github.com/OpenTTD/OpenTTD/issues/11270
22:36:58 <DorpsGek> [OpenTTD/OpenTTD] glx22 approved pull request #11373: Fix: Tile slope missing from road stops varact2 variable 0x42 https://github.com/OpenTTD/OpenTTD/pull/11373#pullrequestreview-1678885122
22:45:40 *** Webster has joined #openttd
22:56:04 *** Smedles has quit IRC (Remote host closed the connection)
23:01:08 *** Smedles has joined #openttd
23:07:02 <talltyler> Fixed up my JSON town importer to use nlohmann, and got it to build! It doesn’t work…but it does build. πŸ˜‰
23:07:37 <talltyler> Making it do something is a problem for another day
23:11:18 <peter1138> Heh :)
23:31:12 *** Flygon_ has quit IRC (Read error: Connection reset by peer)