IRC logs for #openttd on OFTC at 2023-09-30
            
00:48:20 <Flygon> https://i.redd.it/k25762stb5y81.jpg It'd be nice to have this in OTTD. Sydney's junction is about as compact as you can make this thing. But... well, yeah. You'd need a lot of nice features hahaha.
00:49:42 <Flygon> I have done them regardless. But they're a *lot* longer.
00:52:13 <Flygon> https://i.imgur.com/E2ejcTv.png
02:06:38 <Eddi|zuHause> in openttd, junctions and stations tend to be very wide. in transport fever they are much narrower, but also much longer
02:30:57 *** D-HUND has joined #openttd
02:34:16 *** debdog has quit IRC (Ping timeout: 480 seconds)
02:49:13 *** Wormnest has quit IRC (Quit: Leaving)
03:04:15 <osswix> Eddi|zuHause: Jgrpp allows for signalled bridges already
03:06:01 <Eddi|zuHause> real signals or still just these fake-repeated-every-few-tiles-but-not-working-with-path-signals patch?
03:06:39 <Eddi|zuHause> that's been around for a decade.
03:06:54 <osswix> What makes the repeated every few tiles signals not work?
03:08:08 <osswix> Unless you need (very) long 2 way single rail bridges they seem to work fine for me.
03:08:55 <Eddi|zuHause> the "not working with path signals" is the worse part
03:08:55 <osswix> I have not tested a bridge with two trains going into the non dominant direction of a path signal bridge
03:09:36 <osswix> What aspect of the path signals doesn't work?
03:10:04 <osswix> It reserves paths and allows it to be two way for me last I tried
03:10:11 <Eddi|zuHause> it was just not implemented at all by the original patch author
03:10:29 <osswix> I guess it is now
04:28:26 *** Flygon has quit IRC (Read error: Connection reset by peer)
04:33:29 *** D-HUND is now known as debdog
04:34:02 <debdog> why would one require path signals on a bridge?
04:35:12 *** JD64 has joined #openttd
04:35:12 <JD64> debdog: Usually for long bridges
04:36:01 <debdog> hmm, so it's a pathfinder issue?
05:23:11 <Eddi|zuHause> debdog: because my bridges usually merge into a junction, and that junction would benefit from having the entry path signal on the bridge head (or the bridge itself if custom bridge heads ever gets implemented)
05:24:24 <Eddi|zuHause> and for other potentially local and individual reasons, i might only want this one signal on the brige, no repetitions.
05:24:48 <Eddi|zuHause> and particularly not always the same repetition length
05:30:24 <debdog> I have to think about that
06:47:14 <andythenorth> Eddi - compile JGRPP and see for yourself πŸ™‚
06:58:21 * andythenorth saves Eddi the work
06:58:23 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1157572133216596049/image.png?ex=6519188f&is=6517c70f&hm=976ea81c7a58aa6571d33d0dd6c3f1bdcce0dbc05bd20da8d560b8d46bc70cd8&
07:02:09 <LordAro> moin
07:11:20 *** nielsm has joined #openttd
07:28:59 *** HerzogDeXtEr has joined #openttd
07:34:36 <_pruple> Boin
07:46:45 *** HerzogDeXtEr has quit IRC (Read error: Connection reset by peer)
08:07:32 <andythenorth> hmm I see no case for me setting spritelayout bbox xoffset and yoffset
08:07:36 <andythenorth> sound correct?
08:07:46 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1157589593802149899/image.png?ex=651928d2&is=6517d752&hm=3ca91452e7de730cfa78e9d333b92bcc73c12971cba5620ecda73ad68d301670&
08:08:32 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1157589787469938799/image.png?ex=65192900&is=6517d780&hm=58f39ad3564b9a9cff73726aa9eeb56b34d627408916573ddc1c76458411f629&
08:08:32 <andythenorth> maybe there's a case from nfo chips with the buffer stops
08:12:25 <ahyangyi> I guess they are more useful when you stack things in one tile
08:24:07 *** keikoz has joined #openttd
08:40:18 <andythenorth> eh rail stations are fun
08:40:23 <andythenorth> once the confusion is over
08:40:47 <andythenorth> just need to do cargo sprites and randomised tile decorations
08:45:06 <andythenorth> display of cargo eh? πŸ™‚
08:46:06 <andythenorth> how about instead of little / lots amounts, I just show appropriate sprites if the station has recently handled a cargo?
08:46:31 <alfagamma7> m4nfo is so useful
08:46:40 <alfagamma7> Why didn't I use it earlier
08:46:43 <andythenorth> and then use angry red recolour sprites if there is (A) a very large amount of cargo waiting (B) the cargo is transported, but the rating is very low (C) both of the above
08:46:58 <andythenorth> alfagamma7: because it's still nfo? πŸ˜›
08:47:09 <alfagamma7> Correct
08:47:20 <andythenorth> I looked at it because it will be much faster than nmlc
08:47:29 <andythenorth> but your still stuck reading nfo output when things don't work
08:48:50 <andythenorth> ok so not having little / lots amounts makes it faster to draw station cargo sprites
08:48:56 <andythenorth> just have one instance
08:49:02 <andythenorth> goldilocks sized
08:49:31 <andythenorth> alternatively I could use cargo icons and float them above the tile in true arcade game style?
09:13:36 *** nielsm has quit IRC (Ping timeout: 480 seconds)
09:41:20 <ahyangyi> Why not both
09:41:40 <ahyangyi> Angry passengers, angry fish, angry iron ore
09:50:59 *** nielsm has joined #openttd
09:59:01 *** nielsm has quit IRC (Ping timeout: 480 seconds)
10:14:13 *** nielsm has joined #openttd
10:47:37 <talltyler> andythenorth: I like this
10:50:43 <peter1138> Well
10:53:28 <peter1138> If you want to show varying cargo amounts or types, use the little / lots functionality.
10:54:23 <peter1138> That when if/when we improve OpenTTD, the NewGRF still just work.
10:54:48 <peter1138> However I'm loading up Minecraft, so no patching right now :D
11:11:02 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler approved pull request #11337: Change: Store station blocked/wires/pylons flags in map. https://github.com/OpenTTD/OpenTTD/pull/11337#pullrequestreview-1651679621
11:11:52 *** Extrems has quit IRC (Ping timeout: 480 seconds)
11:14:05 <andythenorth> peter1138: could use little for 'nice cargo' and lots for 'angry red recolour sprite'
11:30:29 <DorpsGek> [OpenTTD/OpenTTD] PeterN merged pull request #11337: Change: Store station blocked/wires/pylons flags in map. https://github.com/OpenTTD/OpenTTD/pull/11337
11:30:40 <andythenorth> marginal gains πŸ™‚
11:30:46 <andythenorth> add up
12:00:32 <peter1138> wELL
12:00:50 *** Wolf01 has joined #openttd
12:03:44 <Wolf01> Good, replaced games SSD
12:09:23 <andythenorth> hmm
12:09:49 <andythenorth> went climbing, can't type properly now πŸ˜›
12:09:51 <Wolf01> Now I can install like... 6 more games
12:10:48 <andythenorth> right how do station cargos even work?
12:10:54 * andythenorth back to the example from glx
12:15:05 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler opened pull request #11341: Feature: Real-Time Mode https://github.com/OpenTTD/OpenTTD/pull/11341
12:27:16 <andythenorth> ok so station action 3 handles cargo labels
12:27:18 <andythenorth> and OpenTTD just picks the one with most waiting?
12:29:49 <_glx_> ``` 00..FD: cargo-type (index in cargo translation table; cargobit if no table present) waiting at the station. The waiting amount of this cargo is used in Action2 to decide the spriteset.
12:29:49 <_glx_> FE: used if none of the listed cids apply. Action2 will assume "zero waiting cargo".
12:29:49 <_glx_> FF: purchase list
12:29:49 <_glx_> default: used if none of the listed cids apply. Action2 will use "sum of all waiting cargos".```
12:35:30 <_glx_> and FE is not handled magically by nml, maybe a "no_cargo" callback can be added
12:38:11 <andythenorth> so do I need to check cargo label in the varact2 for most waiting?
12:38:19 <andythenorth> or is that just a magic thing?
12:38:35 <andythenorth> I have no model for how the station selects which cargo to show
12:39:01 <andythenorth> I can see the little/lots selector, that part is obvious
12:42:29 <peter1138> It picks whatever it likes. You don't need to do anything in varact2.
12:46:02 <andythenorth> so it's like a vehicle action 3 (just whatever cargo label is supplied)?
13:25:52 <andythenorth> hmmmm
13:25:57 <andythenorth> all the cargo sprites in one spriteset?
13:26:10 <andythenorth> or use custom_spriteset and switch per cargo label
13:31:49 <andythenorth> one giant spriteset is easier
13:32:52 <peter1138> Not with act3
13:35:35 <_glx_> cargo is usually in DEFAULT()
13:35:53 <_glx_> action3 selects the spriteset
13:38:10 <andythenorth> hmm
13:38:31 *** Flygon has joined #openttd
13:38:33 <andythenorth> so which spritelayout does that use?
13:39:41 <andythenorth> hmm
13:39:43 <andythenorth> DEFAULT ok
13:43:09 <andythenorth> I don't really understand where to handle the cargo label
13:43:21 <andythenorth> I'm sure it will become obvious in a bit πŸ™‚
13:43:24 <peter1138> It's in the action 3.
13:45:44 <peter1138> Does NML hide all that?
13:47:19 <peter1138> It is supported in NML.
13:47:51 <andythenorth> once I understand it I can update the docs to document it
13:47:54 <andythenorth> "once"
13:47:54 <andythenorth> πŸ˜›
13:48:04 <andythenorth> think the draft docs cover this question https://docs.google.com/document/d/1NHXIqofmgeXbqRZhFhJN52dNV-zMYaZEAUFevDvp1qs/edit
13:49:13 <peter1138> How do you select the cargo for vehicles in action 3 in NML?
13:50:06 <_glx_> spritelayout is chosen via CB14 or tiletype, then cargo callback selects the spriteset used as DEFAULT()
13:50:27 <peter1138> Huh?
13:50:43 <_glx_> station spec weirdness
13:51:06 <peter1138> "cargo callback"?
13:51:24 <_glx_> action3 stuff in nml world
13:51:39 <andythenorth> ok so I won't immediately use up all the spritesets by adding cargo support
13:51:43 <peter1138> Hmm, so it pretends there's a callback. It's not a callback!
13:51:53 <andythenorth> so I don't need to put all sprites in one giant spriteset
13:53:08 <andythenorth> but I do need to handle default
13:53:53 <andythenorth> so usually `default` is the graphics chain
13:54:01 <andythenorth> but in this case it's...the graphics chain
13:54:12 <andythenorth> but the graphics chain is just to select a spriteset for cargos?
13:54:14 <_glx_> https://cdn.discordapp.com/attachments/1008473233844097104/1157676784020627526/1000px-Nml_station_graphics.dot.png?ex=65197a05&is=65182885&hm=06936e406d18e4b9d84814c6a1123c7035b633eda7ec3d55678e8595b21d6791&
13:54:27 <_glx_> it's all in the image πŸ™‚
13:54:30 <andythenorth> it is yes
13:54:55 <andythenorth> I just can't see the code path that gets me to a realsprite
13:55:16 <andythenorth> stations don't have one entry point, they have 4?
13:55:24 <peter1138> That doesn't exactly show the syntax required.
13:55:39 <_glx_> it shows the flow
13:55:44 <peter1138> NFO is so much easier.
13:56:07 <andythenorth> I have never seen real nfo for stations
13:56:12 <andythenorth> CHIPS is all GRM
13:56:22 <andythenorth> and CPP macro templating
13:56:29 <andythenorth> understanding that .... nah
13:56:48 <_glx_> GRM is a way to work around not using var10 stuff
13:57:34 <_glx_> because handling var10 by hand would be a pain
13:58:08 <peter1138> MB's newstats didn't need anything of this stuff, and is full of features...
13:59:01 <_glx_> I think it used GRM (var10 stuff is in advanced spritelayouts, added after industries and objects)
13:59:08 <andythenorth> nml stations was always said to be hard
13:59:23 <andythenorth> at least we're finding out now πŸ™‚
13:59:58 <_glx_> implementing the spec in nml was hard yes, but I tried to make it not so hard to use
14:00:17 <andythenorth> it will be easier when we have docs that are complete
14:00:28 <andythenorth> it's just a bit chicken-egg currently
14:00:34 <_glx_> it's definitely different to other features
14:00:38 <andythenorth> I still end up writing most nml docs, even if I'm bad at them 😐
14:00:50 <andythenorth> "these docs are written by someone who doesn't quite understand"
14:00:56 <andythenorth> we should put that in the wiki template
14:05:57 <andythenorth> ok so spriteset per cargo, and handle label -> spriteset mapping in `default`
14:06:04 <peter1138> Okay, so.
14:06:07 <andythenorth> and `DEFAULT` takes a spriteset index
14:07:42 * peter1138 tests per-tile cargo type selection.
14:08:10 <peter1138> Although... I need a station set I suppose :D
14:08:42 <_glx_> CHIPS and its magic tiles πŸ™‚
14:13:16 <_glx_> they support a lot of different cargos <https://github.com/andythenorth/chips/blob/main/src/templates/simple_action_3.tnfo>
14:13:50 <andythenorth> what is CHIPS mapping to cargo labels there? GRM identifiers?
14:13:55 <andythenorth> or action 2?
14:14:36 <andythenorth> yes, I maintain the grf, but I just cargo-cult existing entries and run away
14:15:48 <_glx_> action2 chains
14:16:26 <_glx_> there's one <https://github.com/andythenorth/chips/blob/main/src/templates/simple_track_tile_1_cargo.tnfo> for each cargo label
14:18:40 <andythenorth> oh I didn't restore buffer support to track tiles yet πŸ™‚
14:18:43 <andythenorth> good reminder
14:20:22 <_glx_> and <https://github.com/andythenorth/chips/blob/main/src/templates/simple_track_tile_1.tnfo> defines the spritelayouts and purchase/default action2 chains
14:24:04 <_glx_> I was wondering why it did set temp 0 value, but this part most likely comes from the non-track stuff
14:25:45 <_glx_> non-track use register 0 for the skip railtype offset trick
14:28:08 <andythenorth> I didn't find I needed that yet
14:28:13 <andythenorth> is it waiting for me in my future? πŸ˜›
14:29:07 <_glx_> it's handled by nml πŸ˜‰
14:31:14 <_glx_> it's the `+ a` thing in example
14:32:00 <_glx_> or automatic without needing `+ a` in <https://github.com/OpenTTD/nml/pull/304>
14:46:27 <alfagamma7> Does anybody need an nml extension on emacs?
14:46:28 <alfagamma7> I sure do
14:46:42 <alfagamma7> Maybe I should try doing that
14:47:01 <alfagamma7> (actually absolutely clueless where to start)
14:50:07 <andythenorth> eh, should cargo sprites get snow or not?
14:50:32 <andythenorth> 'or not' is my current idea πŸ˜›
14:55:08 *** virtualrandomnumber has joined #openttd
15:02:46 *** Extrems has joined #openttd
15:11:50 <andythenorth> hmm how do I put the value into `DEFAULT` for spritelayout?
15:11:57 <andythenorth> `default` doesn't seem to do it
15:13:01 <andythenorth> nah issue is elsewhere found it
15:14:18 <andythenorth> ok so do I need to handle cargo labels, or will OpenTTD just insert them into default?
15:14:54 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1157697087237001307/image.png?ex=65198cee&is=65183b6e&hm=57ca0d6adc936f7b516336c629d0f96a600b4761fc22e21db83f60de2f6ed911&
15:14:54 <andythenorth> I have made cargo sprites appear πŸ˜›
15:16:01 <_glx_> DEFAULT is just the result of cargo-label/default/purchase
15:16:50 <andythenorth> ok so I just handle all known labels as callbacks, returning a spritegroup
15:17:35 <andythenorth> unusual pattern eh πŸ™‚
15:17:50 <andythenorth> maybe I should just check the cargo on the station in a switch for `default`
15:18:52 <_glx_> `default` uses the sum of all waiting cargo, while cargo labels use the exact waiting amount
15:21:49 <andythenorth> maybe I should plan what I actually want to display πŸ˜›
15:21:56 <andythenorth> then figure the implementation out
15:23:41 <andythenorth> do I need to provide an invalid CB result for default?
15:23:49 <andythenorth> if I don't have any sprites for it?
15:24:02 <andythenorth> only known cargos have cargo sprites
15:24:07 <andythenorth> otherwise tile is empty
15:24:35 <ahyangyi> Andy, did FIRS have any documentation before 1.4.4?
15:24:43 *** Wormnest has joined #openttd
15:24:44 <ahyangyi> which is the first version available at grf.farm
15:24:48 <andythenorth> dunno
15:24:58 <andythenorth> have a look in the repo?
15:25:00 <andythenorth> at tags
15:27:09 <ahyangyi> Hmm, it had doc_templates as well
15:27:59 <ahyangyi> I'm just annoyed that FIRS forks tend to not provide docs like you did
15:28:15 <ahyangyi> despite that the code is already there
15:28:31 <ahyangyi> Perhaps it has something to do with openttdcoop though, I'll take a look at that
15:29:07 <andythenorth> hmm I could use DEFAULT to set my one giant spriteset
15:29:17 <andythenorth> then use the index to pick the sprite for the cargo label
15:29:54 <andythenorth> this assumes that I can set a register in `prepare_layout` and it will be picked up / won't be cleared by cargo handling action 3
15:30:00 <andythenorth> 'probably fine'
15:33:37 <andythenorth> ahyangyi: as far as I know, most FIRS forks throw away the compile and edit the generated nml
15:34:05 <andythenorth> as it's much easier for people to edit something 1000 times manually, than learn how a complicated python compile works
15:34:27 <andythenorth> and nobody has written an nml -> docs generator
15:43:13 <andythenorth> err...1 giant cargo spriteset, I'm just pointlessly deviating from what the spec wants
15:43:23 <andythenorth> so we'll have a spriteset per cargo I guess
15:43:37 <andythenorth> how this works with the spriteset limit per station....dunno πŸ™‚
15:43:58 <andythenorth> 49 cargos though
15:44:06 <andythenorth> maybe this is why nfo CHIPS used GRM
15:44:27 <ahyangyi> andythenorth: That explains it >_<
15:44:53 <andythenorth> I understand exactly why they do it, and I do the same with things I don't understand
15:45:04 <andythenorth> but they lose a lot of what the FIRS compile offers
15:45:13 *** virtualrandomnumber has quit IRC (Quit: virtualrandomnumber)
15:45:29 <andythenorth> but if you're using nmlc.exe on windows, you won't have any python environment available
15:46:17 <andythenorth> /me needs to learn about var10
15:47:38 <andythenorth> how do I find var10 in openttd src?
15:47:43 <andythenorth> nfo wiki is spartan for it
15:47:45 <andythenorth> https://newgrf-specs.tt-wiki.net/wiki/GlobalVariables#Extra_callback_info_.2810_.2F_-.29_and_.2818_.2F_-.29
15:47:57 <andythenorth> links to this, but empty https://newgrf-specs.tt-wiki.net/wiki/AdvancedSpriteLayout
15:49:07 <_jgr_> Variable 10 is used for lots of things, you're won't get anywhere just grepping for it
15:49:07 * peter1138 returns.
15:49:18 <andythenorth> is it 0x10 or 0x0A?
15:49:24 <_jgr_> 0x10
15:49:25 <andythenorth> for starters πŸ˜›
15:49:28 <andythenorth> thanks
15:50:17 <andythenorth> ok so it seems it provides built-in support for ground tile etc
15:50:32 <andythenorth> according to https://newgrf-specs.tt-wiki.net/wiki/Action0/Stations#General_Flags_.2813.29
15:54:55 <_jgr_> <https://github.com/OpenTTD/OpenTTD/blob/master/src/newgrf_station.cpp#L794-L805> and <https://github.com/OpenTTD/OpenTTD/blob/master/src/station_cmd.cpp#L3126-L3144> are likely where you want to look in the source
15:57:04 <andythenorth> thanks
15:57:39 <peter1138> Hmm, per-tile sort of works.
15:57:41 <andythenorth> ha that shines a lot of light πŸ™‚
15:58:06 <andythenorth> I now understand why it's `prepare_layout`
16:01:44 <peter1138> https://user-images.githubusercontent.com/639850/271783112-9f02bbf1-6822-459d-9f00-02bcbdac8947.png
16:01:49 <andythenorth> so the limit of 6 spritesets only applies to what prepare_layout assembles?
16:02:02 <andythenorth> it's not actually 6 total per station ID?
16:02:20 <andythenorth> peter1138: this is nice eh?
16:03:17 <peter1138> Ignoring the dodgy sorting due to bad offsets...
16:03:20 <andythenorth> hmm no it's 6 for all spritelayouts per station
16:03:25 * andythenorth needs to count on fingers
16:04:55 <peter1138> The coal piles are all from the default algorithm, as that platform hasn't been used.
16:04:59 <peter1138> So it's not... ideal.
16:05:47 <peter1138> And if you only load wood, but there is coal waiting, it would only show wood, not coal. So also not great.
16:06:17 <peter1138> And of course non-track tiles are never see a vehicle, so they never have a cargo type set.
16:06:25 <_glx_> it's 6 different values of var10 with result of action2 chain being a spriteset, but it doesn't have to be a spriteset in the array, it can be a switch too
16:07:49 <_glx_> so the number of spriteset can be much higher than 6, but there's only 6 entry points
16:10:07 <_glx_> in the CHIPS example I used only 2 values in the array, one for the ground and the other is a switch for the different extra stuff on the tile (crane, truck, building, forklift)
16:13:02 <andythenorth> ok so there's no reason at all to merge all cargo sprites into one spriteset
16:13:18 <_glx_> and the direct reference in the layout are also translated to var10 stuff
16:14:18 <_glx_> so actually in my example 4 var10 values are used, 2 direct references (buffers and buildings) and 2 from the array
16:16:59 <_glx_> and that allows to use the same spritelayout syntax as all other features with the 2 extra CUSTOM and DEFAULT
16:18:03 <andythenorth> thanks
16:18:24 <_glx_> all the complexity is hidden by nml, but that comes with some limitations
16:19:38 <_glx_> sum of direct references and custom array length can't be higher than 6
16:22:40 <andythenorth> that's the neatest way to explain it
16:23:03 <andythenorth> I've added a comment here https://docs.google.com/document/d/1NHXIqofmgeXbqRZhFhJN52dNV-zMYaZEAUFevDvp1qs/edit
16:26:02 <_glx_> as I already said, I can explain how it works internally, but it's very hard for me to do it from the user POV
16:26:43 <andythenorth> it's ok, we'll get there
16:26:56 <andythenorth> most of it is in docs or draft docs
16:27:17 <andythenorth> just the flow is very different to what I am used to with industries, and that trips me up
16:28:16 <_glx_> more examples will help too, but for the multilayout version I'm blocked because <https://github.com/OpenTTD/nml/pull/306>
16:28:32 <_glx_> (will show CB14 use)
16:29:09 <_glx_> and I didn't start writing the CB14 part in it πŸ˜‰
16:52:29 *** HerzogDeXtEr has joined #openttd
17:08:14 <peter1138> So should stations have cargo capacity limits?
17:08:44 <andythenorth> as in, they stop accepting if limit reached?
17:10:01 <peter1138> Yes
17:10:24 <andythenorth> but you can add silo tiles? πŸ˜›
17:10:29 <peter1138> Yes.
17:10:37 <andythenorth> 'maybe' πŸ™‚
17:10:52 <andythenorth> Railroad Tycoon does that
17:11:37 <peter1138> Would also help with that single bus stop in town having 4000 passengers waiting...
17:12:23 <peter1138> But other issue: train can't unload because platform is full...
17:17:07 <andythenorth> does full station make cdist confused?
17:17:23 <andythenorth> what about tiles that improve rating πŸ˜›
17:17:35 <andythenorth> mad idea: statues in towns?
17:17:40 <peter1138> This is all "use a gamescript" stuff isn't it?
17:17:47 <peter1138> (Except GS can't do it)
17:17:55 <andythenorth> it wouldn't be the best way
17:19:20 <talltyler> It could be a station tile property, with default stations and newgrfs without the property set defaulting to infinite
17:19:42 <talltyler> β€œUse a GS” is my least favorite excuse for avoiding change πŸ™‚
17:20:23 <andythenorth> I made my peace with it
17:20:35 <andythenorth> 10 years of it, then I wrote a GS πŸ˜„
17:20:46 <andythenorth> GS is great
17:21:14 <peter1138> "defaulting to infinite" basically means it's the player that decides capacity, not the game.
17:22:19 <peter1138> This means you'll build a fancy looking station, and then when capacity starts getting limit, you'll place a single default station tile to get around it. And it'll be pointless.
17:22:29 <andythenorth> do rating πŸ˜›
17:22:38 <andythenorth> nerf loading speed
17:22:47 <andythenorth> IRL stations that are too busy are inefficient
17:24:08 <peter1138> (By all means have the thing as a setting so that existing saves aren't 'broken'...)
17:25:13 <andythenorth> does it ruin the economic balance? πŸ™‚
17:26:28 <peter1138> For sure :D
17:26:53 <peter1138> Like a plague.
17:30:11 <talltyler> Oh right πŸ™‚
17:32:21 <andythenorth> okay, so....
17:40:22 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1157733695826972814/image.png?ex=6519af06&is=65185d86&hm=920171528a40d75c18e5f487b4abf23ad904cce3f7fe2dde1a9dbc0aa24f1ea8&
17:40:22 <andythenorth> does trucks now πŸ˜›
17:40:29 <andythenorth> such progress
17:40:49 <talltyler> Ooh
17:55:28 <andythenorth> I need to write something to set tile order
17:55:46 <andythenorth> 'probably fine'
18:26:49 <andythenorth> presumably DEFAULT() doesn't accept spriteset labels, only indexes (or LOAD_TEMP())
18:37:17 <DorpsGek> [OpenTTD/OpenTTD] eints-sync[bot] pushed 1 commits to master https://github.com/OpenTTD/OpenTTD/commit/c84219a42ee04582b0897bb7c6afc754d2223cce
18:37:18 <DorpsGek> - Update: Translations from eints (by translators)
18:40:05 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1157748721673568256/image.png?ex=6519bd05&is=65186b85&hm=7976adad12c1b8be4c989557babe5cd9629b90b99a00143cd2e8dce95e90f3d2&
18:40:05 <andythenorth> work to do πŸ˜›
18:40:21 <andythenorth> moving the bounding box offset means changing the sprite offsets elsewhere πŸ˜›
18:42:33 <frosch123> don't you generate both anyway?
18:43:19 <frosch123> you can subtract the bb offset algorithmically from the sprite offset
18:44:43 <andythenorth> yes
18:51:26 <andythenorth> hmm sprite xoffset and yoffset are screen axes or tile axes?
18:51:33 * andythenorth never knows how this works
18:53:21 <andythenorth> I'll just guess numbers until it looks right πŸ™‚
18:55:49 <frosch123> sprite_screen_offset = (2 * (bb_y_offset - bb_x_offset), bb_x_offset + bb_y_offset)
18:56:23 <frosch123> not sure about the sign/whether to add/subtract
18:56:41 <andythenorth> thanks
19:02:42 <peter1138> Aligning offsets is quite simple... the ground-level-top-corner should end up as 0,0.
19:04:28 <peter1138> Unless... you are fiddling with layout offsets to help the sprite sorter ;)
19:05:56 <peter1138> https://user-images.githubusercontent.com/639850/271790883-16758015-d5fd-492a-a51b-6b32942e7db4.png
19:06:12 <peter1138>
19:06:48 <frosch123> i think andy has industry sprites with offsets for (0,0), which he needs to put into the station front BB at (0, 11) or (11, 0)
19:08:41 <peter1138> *nod*
19:09:12 <peter1138> So fiddling. But also, use the in-game sprite aligner...
19:12:35 <frosch123> https://cdn.discordapp.com/attachments/1008473233844097104/1157756901912748163/image.png?ex=6519c4a3&is=65187323&hm=c469ec555533511f6bcad79d180d6b4aeb1adcb66810bbe1900b26f9007e39f6&
19:12:35 <frosch123> seems to mostly work:
19:13:35 <frosch123> fun fact: i spent a whole day compiling ogfx2 some weeks ago, because i wanted a testgrf. then i learned that it already had the parameters, and was already in the right shape for testing :p
19:14:43 <peter1138> Excellent. Then we can disable the hack that is uses currently.
19:21:17 <peter1138> And while checking offsets I found a bug in OpenGFX2 ;)
19:35:47 <DorpsGek> [OpenTTD/OpenTTD] merni-ns opened pull request #11342: Fix #11168: Display variant groups that consist only of unavailable sub-groups https://github.com/OpenTTD/OpenTTD/pull/11342
19:36:55 <merni> georgevb: , your help would be appreciated in testing it and ensuring it works as expected. Not sure what the expected output of your test GRF in #11168 should actually be
19:37:18 <merni> Damn trailing whitespace
19:38:12 <peter1138> Editors can automatically remove that...
19:38:41 *** wensimehrp has quit IRC (Quit: User went offline on Discord a while ago)
19:38:53 <merni> Yes unfortunately I do not use such an editor atm
19:38:55 <merni> I should
19:41:09 <DorpsGek> [OpenTTD/OpenTTD] merni-ns updated pull request #11342: Fix #11168: Display variant groups that consist only of unavailable sub-groups https://github.com/OpenTTD/OpenTTD/pull/11342
19:42:03 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1157764317085712394/image.png?ex=6519cb8b&is=65187a0b&hm=9f4d1158417b96d7ea68b1ce01fccfe491ed8a3704621962c8acb292eb8cf03e&
19:42:03 <andythenorth> seems about right now πŸ™‚
19:44:02 *** georgevb has joined #openttd
19:44:02 <georgevb> merni: Let me know how can I help you
19:45:58 <georgevb> If you can provide a .exe file for win10 I can test it and tell you, if the issue is fixed
19:46:18 <DorpsGek> [OpenTTD/OpenTTD] merni-ns updated pull request #11342: Fix #11168: Display variant groups that consist only of unavailable sub-groups https://github.com/OpenTTD/OpenTTD/pull/11342
19:46:58 <merni> georgevb: I will try to compile on windows then :)
19:50:49 <peter1138> Hmm, this reminds me.
19:57:24 *** Alkel_U3 has quit IRC (Quit: maintenance)
20:05:55 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1157770322968330261/image.png?ex=6519d123&is=65187fa3&hm=91f9d675faaeac28a0c718a69051dc1b91dd4319638a03347bc652692b082ff8&
20:05:55 <andythenorth> a surfeit of buffer stops πŸ˜›
20:13:46 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1157772298259013692/image.png?ex=6519d2fa&is=6518817a&hm=b51026457e46ff2e3cfc4f0fe84f28af79b14a7d5304662bd8b7aab0d2a7b562&
20:13:46 <andythenorth> now I need to figure out how to hide them πŸ˜„
20:17:11 *** Wormnest has quit IRC (Ping timeout: 480 seconds)
20:18:27 *** Wormnest has joined #openttd
20:19:35 <andythenorth> glx has already written the code for that πŸ™‚
20:19:37 <andythenorth> how handy
20:21:49 <andythenorth> that's a nice interface for rail_continuation πŸ™‚
20:21:58 <andythenorth> /me was expecting to have to tile walk
20:23:32 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1157774756922261535/image.png?ex=6519d544&is=651883c4&hm=ae0d5e927fab52f02f1c8f1f2d755aa04ddb80a985e48cea73fbefcc747d9c82&
20:25:53 <peter1138> Hmm, Iron Horse 3 takes ages to load in Debug mode.
20:26:45 <andythenorth> sorry πŸ™‚
20:27:13 <andythenorth> it's 33 MB eh
20:27:45 <_pruple> manyhorses
20:28:04 <andythenorth> the nfo is 64 MB
20:28:09 <andythenorth> remarkables
20:29:06 <andythenorth> ha station order being ID based
20:29:22 <andythenorth> that's going to repeatedly break the stations in my testing savegame πŸ˜„
20:29:41 <_pruple> station IDs are based
20:30:23 <_pruple> based on what? based on newgrf order. We finally have an answer.
20:31:11 <andythenorth> is it id or ID?
20:31:37 <andythenorth> /me also wonders who made Doom
20:32:15 * _pruple wonders why it's sunday
20:32:28 <andythenorth> I don't know what you've done wrong, but it's clearly Saturday
20:32:34 <_pruple> I need bread for breakfast but the shop doesn't open until 9 😦
20:32:47 <andythenorth> don't you have oranges?
20:32:57 <andythenorth> oranges = breakfast
20:33:04 <_pruple> I do not, and they are no substitute for bread in any case
20:33:06 <andythenorth> pineapples?
20:33:51 <_pruple> no, breakfast is clearly MNX sandwiches
20:34:34 <andythenorth> google did not tell me what MNX is
20:34:38 <andythenorth> does GPT know?
20:34:48 <_pruple> FUNEX? SVFX.
20:35:32 <andythenorth> a George Foreman?
20:37:01 <peter1138> Hmm, when removing a recursion limit check increases the number of lines...
20:37:26 <_pruple> andythenorth: sim'lar. https://www.youtube.com/watch?v=HD7R1X4AL30
20:38:03 <peter1138> If andythenorth doesn't know that he needs to relinquish his English Person credentials.
20:38:29 <andythenorth> I stuck to "he's in training"
20:44:51 <_glx_> andythenorth: clearly shows examples are useful πŸ™‚
20:46:11 <andythenorth> yup
21:08:33 <merni> https://cdn.discordapp.com/attachments/1008473233844097104/1157786085854818504/openttd.zip?ex=6519dfd1&is=65188e51&hm=27fe680956e35b57fc4bae66f7315053344b8fd9042abcc494b18cc03930491b&
21:08:33 <merni> georgevb:
21:16:55 <georgevb> https://cdn.discordapp.com/attachments/1008473233844097104/1157788189528969438/image.png?ex=6519e1c7&is=65189047&hm=4d826df587be6a0656b2bb543e13658d4a4dfde55e9ae337615838097fb28976&
21:16:55 <georgevb> https://cdn.discordapp.com/attachments/1008473233844097104/1157788189755457626/image.png?ex=6519e1c7&is=65189047&hm=7dd49f5392c79a33d6789933c34e01a9e224969738c0553ae31367d0d49d6bd3&
21:16:55 <georgevb> https://cdn.discordapp.com/attachments/1008473233844097104/1157788190007103528/image.png?ex=6519e1c7&is=65189047&hm=95f10da68bc91f56070ef88e2458d8c10c276168c98bbf4fd93cabb2391ceb23&
21:16:55 <georgevb> https://cdn.discordapp.com/attachments/1008473233844097104/1157788190242000997/image.png?ex=6519e1c7&is=65189047&hm=97d62bc787e8c2068085a05126acfc5468e2a34ed4ccf0354ae088a07255216e&
21:17:39 <georgevb> It does not start
21:21:46 <_jgr_> Looks like you've made a debug build
21:21:57 <_jgr_> You should do a normal release build instead
21:28:43 <_glx_> might be simpler if I trigger a pr build
21:41:11 *** keikoz has quit IRC (Ping timeout: 480 seconds)
21:51:26 <andythenorth> is it possible that station order in construction could be split from ID?
21:51:41 <andythenorth> 'no' is fine of course πŸ™‚
21:54:30 <peter1138> It could be possible.
22:06:25 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
22:06:41 <andythenorth> would it be similar to train prop 0x1A? https://newgrf-specs.tt-wiki.net/wiki/Action0/Vehicles/Trains#Sort_vehicle_list_.281A.29
22:07:10 *** Wormnest has quit IRC (Ping timeout: 480 seconds)
22:16:52 <peter1138> No I'd keep it simple and just make it sort by name.
22:20:26 *** tokai|noir has joined #openttd
22:20:26 *** ChanServ sets mode: +v tokai|noir
22:24:28 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1157805190989221938/image.png?ex=6519f19c&is=6518a01c&hm=54e772c87136347647315df7a51537d560407a7839f49044cec3d18c60251d0a&
22:24:28 <andythenorth> oops
22:25:18 <_glx_> ah yes crash window crashes on mac
22:25:21 <_glx_> known πŸ™‚
22:26:50 <_glx_> but it may have written crash.log
22:27:13 *** tokai has quit IRC (Ping timeout: 480 seconds)
22:28:18 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1157806156832571422/crash20230930222401.log?ex=6519f282&is=6518a102&hm=b61cef929dd4e6061dfbce1df092a3dbfd0b377c562a2d260c08fa451cfde7cb&
22:28:49 <andythenorth> I would guess grf stations πŸ˜›
22:42:31 <_glx_> ok crash log won't help, I think it's showing the second crash
22:43:46 <_jgr_> The actual crash is likely frame 30 in the stack trace
22:43:51 *** Wormnest has joined #openttd
22:44:34 <_glx_> I see a NOT_REACHED in frame 29
22:45:14 <andythenorth> I would have bet on station tile ID changing and making a track tile a non track tile πŸ˜›
22:45:20 <andythenorth> whilst a train was in it
22:45:24 <andythenorth> or similar
22:45:43 <_glx_> very possible
22:45:52 <peter1138> Run the game in your debugger...
22:46:20 <_glx_> or decode the dmp
22:46:31 <_jgr_> andy: Might be worth checking if there is another crash log file
22:46:31 <andythenorth> I need to sleep πŸ˜›
22:47:02 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1157810870756323358/image.png?ex=6519f6e6&is=6518a566&hm=31cd385db0479a38bbafa5c54f55b3988b235d1a2c8aef568353331b6f8471f0&
22:47:02 <andythenorth> the only ones today
22:47:34 <_jgr_> Hmm, as the crashes were at the same time it'd overwrite the first file, which is incovenient
22:47:42 <andythenorth> hmm I have broken cargo display on my new CHIPS somehow πŸ˜› it was working earlier. but too tired to see what's wrong πŸ˜„
22:47:54 <_glx_> we should try to fix the macos crash window crash
22:48:13 <andythenorth> maybe I just need to pull
22:48:25 <andythenorth> I tested a build for TB where the crash handling didn't crash
22:48:27 <_glx_> (it's because the window is opened from the wrong thread)
22:51:22 <peter1138> Hmm, we're still doing this game after 18 years... meanwhile, John Romero is currently streaming making maps for Doom. Such 30 years.
22:52:50 <andythenorth> such πŸ™‚
22:53:07 <andythenorth> linedef linedef linedef
22:59:13 <_pruple> very
22:59:17 <_pruple> okay it's bread o'clock
23:10:56 <DorpsGek> [OpenTTD/OpenTTD] PeterN opened pull request #11343: Change: Check for engine variant loops during NewGRF initialization. https://github.com/OpenTTD/OpenTTD/pull/11343
23:11:27 <peter1138> Why Change: and not Fix:? Because it's 00:11 and I'm not thinking...
23:11:49 <DorpsGek> [OpenTTD/OpenTTD] PeterN updated pull request #11343: Change: Check for engine variant loops during NewGRF initialization. https://github.com/OpenTTD/OpenTTD/pull/11343
23:21:20 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler updated pull request #11341: Feature: Real-Time Mode https://github.com/OpenTTD/OpenTTD/pull/11341
23:22:48 <talltyler> Let’s see if that fixes all the annotations πŸ™‚
23:28:16 *** HerzogDeXtEr has quit IRC (Read error: Connection reset by peer)
23:44:21 *** nielsm has quit IRC (Ping timeout: 480 seconds)