Config
Log for #openttd on 17th November 2021:
Times are UTC Toggle Colours
10:38:48  <FLHerne> Definitely don't unban, he's still whining about signals in an unrelated issue even in that comment :-/
10:39:54  <LordAro> Realistically we should ban his new account too, as it's just being used to circumvent it
10:41:15  <FLHerne> It's also a violation of GH ToS
10:48:38  <dP> LordAro, yeah, I never rly understood those reasons
10:48:56  <dP> especially now that we're apparently ok to scan all known servers but too afraid to ask gc
10:50:13  <dP> and with turn if needed too
10:52:09  <LordAro> Rau0x75 also banned now
11:08:28  <andythenorth> ta
11:12:26  *** tokai|noir has joined #openttd
11:12:26  *** ChanServ sets mode: +v tokai|noir
11:19:36  *** tokai has quit IRC
11:20:48  *** andythenorth has quit IRC
12:14:20  *** sla_ro|master has joined #openttd
12:15:21  *** gelignite has joined #openttd
12:31:37  *** virtualrandomnumber has joined #openttd
12:31:52  <dP> it's getting more ridiculous xD https://i.imgur.com/IpjnSVu.png
12:32:06  <dP> also, google is hilariously bad at translating russian obscene lexic
12:36:01  *** virtualrandomnumber has quit IRC
12:38:30  *** WormnestAndroid has joined #openttd
12:39:22  <LordAro> i knew they were working together
12:40:52  <LordAro> maybe i should just ban everyone
12:42:26  <dP> well, it's just a chat group and rau is the most obnoxious one even there
12:43:22  <dP> I'm not sure anyone will even go through with this idea of his
13:09:28  *** WormnestAndroid has quit IRC
13:09:43  *** WormnestAndroid has joined #openttd
13:19:32  *** glx has joined #openttd
13:19:32  *** ChanServ sets mode: +v glx
13:45:41  <DorpsGek> [OpenTTD/OpenTTD] LEB0VSKI opened issue #9705: [Bug]: the ability to select the default signal has disappeared https://git.io/J1BH4
13:47:09  <DorpsGek> [OpenTTD/OpenTTD] LC-Zorg commented on issue #9702: [Bug]: It is not possible to transfer vehicles sharing orders between groups (using Ctrl+drag doesn't work) https://git.io/J1CpR
13:48:55  <LordAro> oho
13:49:08  <glx> duplicate ?
13:49:51  <LordAro> tempted to keep this one over #9631, as it doesn't have all the nonsense in it
13:51:03  *** while has quit IRC
13:51:20  *** while has joined #openttd
13:51:25  <LordAro> alternatively, if they follow through to make another sock puppet account as per dP's image, i'm just going to ban everyone
13:52:21  <glx> oh I didn't notice the username :)
13:55:36  <dP> he said he couldn't find how to change the username xDDD
14:03:28  <DorpsGek> [OpenTTD/OpenTTD] btzy commented on issue #9702: [Bug]: It is not possible to transfer vehicles sharing orders between groups (using Ctrl+drag doesn't work) https://git.io/J1CpR
14:10:28  *** andythenorth has joined #openttd
14:18:31  *** andythenorth has quit IRC
14:23:23  <FLHerne> Well, tat least this one is to the point
14:26:15  <DorpsGek> [OpenTTD/OpenTTD] LC-Zorg commented on issue #9702: [Bug]: It is not possible to transfer vehicles sharing orders between groups (using Ctrl+drag doesn't work) https://git.io/J1CpR
14:28:20  <Timberwolf> I have to get better at mentioning it when I get one of these "oh that's weird, the UI isn't working the way I was used to" things.
14:28:42  <Timberwolf> I noticed that Ctrl-click oddity a while back then just got used to "don't press ctrl until you're dragging"
14:32:23  *** tokai has joined #openttd
14:32:23  *** ChanServ sets mode: +v tokai
14:34:33  <supermop_work> What's all this then
14:35:03  *** nielsm has joined #openttd
14:39:22  *** tokai|noir has quit IRC
14:41:49  <DorpsGek> [OpenTTD/OpenTTD] FLHerne commented on issue #9705: [Bug]: the ability to select the default signal has disappeared https://git.io/J1BH4
14:42:10  <FLHerne> perhaps unhelpfully, I actually agree with this one :p
14:42:36  <LordAro> i don't think anyone particularly disagrees
14:49:04  <glx> pff I again failed to convert an nfo realsprite into nml one (silly compression bit in the middle of the list)
14:50:47  <glx> s/bit/byte
15:47:33  <glx> ok station implementation is not fully usable, layout registers are set way too early so it's impossible to use load_temp in the layout, because the switch used to set the values is after the registers are set
15:52:05  <supermop_work> you guys are doing stations?
15:52:24  <glx> https://gist.github.com/glx22/301ac434df8bfd41e137bc219a5bf465 <-- buffers are supposed to disappear when needed, but due to how nfo is created it can't work
15:53:17  <glx> yes I added stations support to nml, but it's not fully working for advanced stuff
15:56:33  <supermop_work> cool
15:57:03  <supermop_work> maybe i'll redo my sheds
15:58:58  *** andythenorth has joined #openttd
16:07:07  <supermop_work> hi andythenorth
16:07:38  <DorpsGek> [OpenTTD/OpenTTD] btzy commented on issue #9702: [Bug]: It is not possible to transfer vehicles sharing orders between groups (using Ctrl+drag doesn't work) https://git.io/J1CpR
16:24:34  *** Wormnest has joined #openttd
16:26:39  <FLHerne> > The android port is maintained by a separate entity, I believe it's just one person.
16:28:11  <LordAro> yup
16:35:23  <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler commented on issue #9705: [Bug]: the ability to select the default signal has disappeared https://git.io/J1BH4
16:44:21  <FLHerne> I just found the "entity" amusing for some reason
16:44:38  <FLHerne> like there are non-person entities who maintain OpenTTD
16:45:07  <FLHerne> Presumably they meant to include teams, but eh
16:46:16  *** tokai|noir has joined #openttd
16:46:16  *** ChanServ sets mode: +v tokai|noir
16:47:20  <Flygon> Non-person entities? Alas, it is not me, a Flygon.
16:47:37  <Flygon> I say, about to buzz off at 3:47AM.
16:48:02  *** Flygon has quit IRC
16:53:17  *** tokai has quit IRC
17:01:01  *** frosch123 has joined #openttd
17:19:04  <DorpsGek> [OpenTTD/nml] glx22 commented on pull request #244: Add: support for stations https://git.io/J10JH
17:19:15  *** esselfe has quit IRC
17:21:41  *** esselfe has joined #openttd
17:38:06  <DorpsGek> [OpenTTD/OpenTTD] rob9283 opened issue #9706: [Crash]: Repeated Out Of Memory crashes https://git.io/J10LG
17:39:23  <LordAro> there is... absolutely nothing we can do about that
17:39:45  <glx> though 16GB should be more than enough
17:39:56  <LordAro> not if it's already at 90%
17:43:12  <dP> unless it's a memory leak somehow
17:52:56  <frosch123> is "productivity apps" slang for "scam ware"?
17:53:24  <dwfreed> it's slang for 10 copies of chromium, because they're all electron apps
17:53:35  <Rubidium> Adobe Premiere/Photoshop/...
17:54:22  <frosch123> there was a time when my brother-in-law used ie6, and half of the screen was covered by toolbar-addons :)
17:56:39  <glx> oh yeah I know people like that
17:57:04  <glx> all the prechecked boxes in installers
18:06:55  <DorpsGek> [OpenTTD/OpenTTD] LC-Zorg commented on issue #9705: [Bug]: the ability to select the default signal has disappeared https://git.io/J1BH4
18:43:08  <LordAro> i'm not sure what answer they're looking for there
18:43:18  <LordAro> "because we didn't think anyone would care"
18:43:24  <LordAro> is probably the most truthful
18:44:54  <DorpsGek> [OpenTTD/OpenTTD] nielsmh commented on issue #9706: [Crash]: Repeated Out Of Memory crashes https://git.io/J10LG
18:45:38  <nielsm> I'm not sure what that user means by the "being patient enough", that we should implement a memory allocator that sleeps for a bit and tries again if allocation fails at first?
18:46:50  <LordAro> i think they have an unrealistic expectation of how memory management works
18:46:54  <dP> LordAro, then why not just answer like that?
18:47:29  <frosch123> LordAro: not really
18:48:15  <frosch123> hiding block signals made some values of that setting contraditory, like "hide block signals + default to block signal".
18:48:35  <frosch123> following that, some decision had to be made about changing that setting *somehow*
18:48:48  <frosch123> and only then it was removed, because it was deemed unnecessary
18:49:11  <frosch123> you can also compare it how most gui state is not saved, like sorting of lists
18:49:14  <LordAro> dP: because wording it like that would just result in "why don't you care about your users"
18:49:44  <dP> LordAro, well you previous attempt resulted in "they want to remove all settings" :p
18:49:54  <dP> *your
18:50:20  <glx> we still want to remove some settings
18:50:42  *** tokai has joined #openttd
18:50:42  *** ChanServ sets mode: +v tokai
18:51:03  <LordAro> dP: exactly!
18:51:08  <LordAro> needs more thought first
18:51:17  <LordAro> and regardless, i was wrong
18:51:31  <LordAro> sounds like frosch123 has volunteered :p
18:54:21  <DorpsGek> [OpenTTD/OpenTTD] rob9283 commented on issue #9706: [Crash]: Repeated Out Of Memory crashes https://git.io/J10LG
18:54:47  <frosch123> wasn't the setting for enabling/disabling the signal gui removed as well?
18:55:01  <frosch123> i recall there was some forum drama when the signal gui was enabled by default in the past
18:55:06  <frosch123> i should dig up that thread :)
18:57:40  *** tokai|noir has quit IRC
19:09:18  <DorpsGek> [OpenTTD/OpenTTD] FLHerne commented on issue #9705: [Bug]: the ability to select the default signal has disappeared https://git.io/J1BH4
19:30:38  <DorpsGek> [OpenTTD/OpenTTD] LC-Zorg commented on issue #9705: [Bug]: the ability to select the default signal has disappeared https://git.io/J1BH4
19:33:20  <LordAro> i wonder how often LC is opening/closing OTTD such that this is a significant problem for them
19:38:22  <DorpsGek> [OpenTTD/OpenTTD] JGRennison commented on issue #9705: [Bug]: the ability to select the default signal has disappeared https://git.io/J1BH4
19:43:32  <dP> it's a noticeable problem for me as well but I agree with JGR there
19:47:26  <LordAro> it's been a "problem" since always, and there's very little we can do about it
19:54:25  <LordAro> short of entirely changing the config format/location, of course
19:58:06  <DorpsGek> [OpenTTD/OpenTTD] LC-Zorg commented on issue #9705: [Bug]: the ability to select the default signal has disappeared https://git.io/J1BH4
20:51:28  <TrueBrain> we are backward compatible, not forward compatible ;) You also can't load newer savegames in older versions .. similar, config flip/flops are expected (and we also have that on other places)
20:51:45  <TrueBrain> guess it is more  interesting to understand why you would jump between versions like that
20:51:47  <TrueBrain> just for comparing?
20:53:10  <dP> I jump because of multiplayer and patchpacks
20:53:48  <dP> thankfully version transition in mp is shorter now so it's less of a problem
20:54:27  *** tokai|noir has joined #openttd
20:54:27  *** ChanServ sets mode: +v tokai|noir
20:55:32  <dP> also, sometimes to test for regressions
20:56:58  <TrueBrain> so debugging stuff; basically the -x works fine for that
20:57:07  <TrueBrain> as that is all not a normal or common user-flow :)
21:01:36  *** tokai has quit IRC
21:01:56  <DorpsGek> [OpenTTD/OpenTTD] James103 commented on issue #9706: [Crash]: Repeated Out Of Memory crashes https://git.io/J10LG
21:07:15  *** andythenorth has quit IRC
21:09:06  <TrueBrain> right ... now to draw more than one image ... hmmmmmmm
21:23:33  <TrueBrain> I need to remember how to make a callback chain, and .. I do not remember :D haha
21:24:42  <frosch123> you check the callback variable (0C?) somewhere in your chain, usually the beginning
21:24:49  <frosch123> and you end with a callback result action2
21:25:35  <frosch123> sprite-result-action2 and callback-result-action2 are different leafs on the action2 DAG
21:26:08  <frosch123> you can also terminate callbacks with a sprite-result-action2, which is a special result "callback failed"
21:26:57  <frosch123> and you can terminate sprite resolves with a callback-result-action2, which is a special result "sprite failed". but this is not really used
21:27:30  <TrueBrain> yeah, you told me those things before :) And I have them in the code
21:27:35  <TrueBrain> just need to understand again what was actually going on
21:28:13  <TrueBrain> for example, if I do not set any flags on the industry tile .. is it a callback? :P
21:28:28  <frosch123> what flags?
21:28:35  <TrueBrain> any
21:28:51  <frosch123> no idea what you mean
21:29:05  <TrueBrain> callbacks confuse me, basically
21:29:37  *** andythenorth has joined #openttd
21:33:30  <TrueBrain> okay, so I can make action2 set-ids, one for each tile
21:34:24  <TrueBrain> next I can make an action2 that checks the relative position, and points to the right one based on the layout
21:34:36  <TrueBrain> next I can make an action2 that checks the industry layout, and picks the right action2 of above
21:34:56  <TrueBrain> that leaves a bit of a gap between the action3 and action2 .. not sure what CB is the "give me a sprite to draw"
21:35:29  <frosch123> that is deliberately "undefined"
21:35:51  <frosch123> the idea is that you check the callbacks you know, and then the "default" case continues to the sprites
21:36:05  <frosch123> that means that all unknown callbacks go to the sprites and result in "callback failed"
21:36:26  <TrueBrain> okay, so for now I don't even need to check 0C basically
21:36:55  <frosch123> yes, if you do not want to serve any callback, don't check it, always return the sprites
21:38:47  <TrueBrain> 00yxYYXX
21:38:48  <TrueBrain> hmm
21:38:50  <TrueBrain> annoying format :P
21:40:02  <frosch123> why?
21:40:27  <TrueBrain> now I need to think harder :P
21:40:49  <TrueBrain> and do some bitshifting I guess
21:41:43  <TrueBrain> I really have to refactor my code to make these things easier
21:41:52  <TrueBrain> all these bytes are not really understandable for me anymore :P
21:41:56  <TrueBrain> I only wrote it .. how many months ago? :D
21:42:07  <frosch123> maybe generate nml instead? :p
21:42:28  <TrueBrain> if NML wasn't Python, that would have been viable :)
21:42:32  <TrueBrain> I even most likely would have
21:42:34  <TrueBrain> but here we are :)
21:43:29  <TrueBrain> ah, right,  was D of primary object .. okay
21:43:35  <TrueBrain> so \x89\x43 should give me the position
21:44:37  <TrueBrain> mask, switch-size, switch-min/max .. I remember! :P
21:46:45  <andythenorth> can't we port nml to wasm? :P
21:46:50  <TrueBrain> nope
21:46:58  <andythenorth> cross-compile to node?
21:46:59  <TrueBrain> well, you can, but you are going to regret that
21:47:03  <TrueBrain> was something like .. 200MB? :P
21:47:19  <TrueBrain> well, no, not 200, but big :P
21:47:26  <andythenorth> sad times
21:48:17  *** nielsm has quit IRC
21:48:39  *** _aD has joined #openttd
21:48:59  <TrueBrain> owh, I forgot, I can just mask out the "x" and "y"
21:49:00  <TrueBrain> and only use XX and YY
21:49:00  <TrueBrain> nice
21:49:31  <TrueBrain> is it better to have a big single switch, or to have a nested switch, or it doesn't matter at all? As in: first check X, then Y? Or XY combined?
21:49:57  <frosch123> you have at most 256 cases per switch
21:50:04  <andythenorth> combined should be adequate
21:50:12  <frosch123> and you have at most 256 action2 id active
21:50:36  <TrueBrain> and we are back to the 16x16 :P
21:50:36  <frosch123> that means, you have to print your DAG in depth-first. breadth-first will fail quickly
21:50:48  <TrueBrain> but I was more wondering from a performance point of view of what-ever
21:51:02  <frosch123> viewer switches are better
21:51:10  <frosch123> ottd sorts them on load, and does binary search
21:51:21  <frosch123> s/viewer/fewer/ :/
21:51:35  <TrueBrain> we understood ;)
21:52:39  <TrueBrain> Copilot is still incredibly scary
21:52:47  <frosch123> anyway, the depth-first approach is the important part. many grf authors reach that point in nml, and then don't know what to do
21:52:54  <TrueBrain> I am just having my cursor idling while thinking about what to do next, and it gives a perfectly valid first attempt
21:53:37  <TrueBrain> frosch123: yeah, basically what I wrote above how I want to approach this ;)
21:55:58  *** Montana has joined #openttd
21:57:42  <TrueBrain> hmm .. wrote invalid GRF .. that is new :P
22:00:17  <andythenorth> depth vs. breadth in varact 2?
22:00:24  * andythenorth curious
22:00:47  <TrueBrain> how I understood frosch, start with rendering the leafs of your graph, and work your way up
22:01:10  <TrueBrain> from a coding perspective, I have no other choice, as I first need to have a valid set-id, before I can reference it
22:01:23  <TrueBrain> so I need to start with what-ever doesn't have a reference in it (read: sprites)
22:01:34  <frosch123> if you start with all leafs, it's breadth-first, and immediate gameover
22:01:55  <andythenorth> not sure what I do
22:02:25  <TrueBrain> https://camo.githubusercontent.com/81237833eeedea03b1f124ef97a2834f07e81e53/687474703a2f2f7777772e6373652e756e73772e6564752e61752f7e62696c6c772f4a757374736561726368312e676966
22:02:29  <TrueBrain> to make sure we talk the same language
22:02:38  <frosch123> imagine you have 10 industry layouts, each 10x10 tiles. then you start with a switch to distinguish 10 layouts, then each case distinguishes 100 positions, so you end up with 1000 leaves
22:02:56  <frosch123> however, the maximum number of active nodes is 256, so encoding fails
22:03:27  <frosch123> if you first do 100 leafs for layout1, then the position switch for layout1, you are back to one active node. and you can continue with the next 100 leaves
22:03:31  <TrueBrain> haha, I am happy with how I approach the problem, as that would code-wise be completely impossible to me
22:03:43  * andythenorth has encountered the issue multiple times
22:03:51  <TrueBrain> I render all industry-tiles for 1 industry at once .. but that is just because they have to be < 256 anyway :P
22:04:15  <TrueBrain> so I absolutely do breadth-first per industry-layout :)
22:07:24  <TrueBrain> I am still a bit confused why sometimes set-ids are W
22:07:28  <TrueBrain> where I can only define at most 256
22:07:34  <TrueBrain> but I think I have asked this before :P
22:08:38  <frosch123> ttdp implementation detail
22:09:10  <frosch123> it has a reason in ttdp, but that does not matter for the grf author
22:09:33  <TrueBrain> Read past end of pseudo-sprite .. grrrr
22:13:44  * andythenorth now lost in breadth vs. depth
22:13:58  <andythenorth> I read this stuff a few times before, but now I'm trying to draw FIRS DAG...in my head
22:14:01  <andythenorth> fail
22:14:17  <TrueBrain> just handle 1 entity at the time, even if that entity is part of another entity
22:14:21  <TrueBrain> and don't try to do all entities at once
22:14:44  <andythenorth> the complete DAG to a sprite gets more fun
22:14:51  <andythenorth> snowline
22:14:52  <andythenorth> desert
22:14:56  <andythenorth> construction state
22:15:03  <andythenorth> fences or not
22:15:13  <andythenorth> tile slope
22:16:05  <TrueBrain> frosch123: reminds me .. advise on this: check if it is the animation frame callback, do that first, or do that after selecting layout + tile position?
22:16:54  <frosch123> possibly never :p
22:17:02  <TrueBrain> no animation?
22:17:28  <frosch123> set the layout to use the animation frame as index into the spriteset (instead of construction stage)
22:17:37  <frosch123> the thing we talked 2 days ago about
22:17:43  <TrueBrain> okay, fair
22:17:49  <glx> always check callbacks first
22:17:54  <TrueBrain> and how about callback 25, for things like: receive callback?
22:17:56  <TrueBrain> receive cargo
22:17:59  <glx> if you really need to
22:18:18  <TrueBrain> well, especially for cb25, it seems easier to first select the tile, and then check what that tile should show, sprite-wise
22:18:29  <TrueBrain> as otherwise you get multiple trees for tile selection
22:18:51  <frosch123> it doesn't really make a difference
22:19:01  <TrueBrain> good
22:19:15  <frosch123> checking the cb first is better, if the result does not care about the tile or layout :)
22:19:23  <TrueBrain> yeah, ofc
22:19:33  <glx> it just use more space in the grf, but nml does that too
22:19:46  <TrueBrain> code generation just becomes easier if it can poop out everything about a single tile, put that on a set-id, and go to the next tile :)
22:20:11  <TrueBrain> instead of for every property generate the whole layout-tree first, if you get what I mean :)
22:22:29  <andythenorth> did we mention procedures? :P
22:23:12  <frosch123> for industry tiles i have no example. but there are features where certain callbacks are called before or during construction and where not all variables are available
22:23:40  <TrueBrain> okay, so I cannot take it as a generic rule
22:23:44  <TrueBrain> and have to take it one at the time
22:23:45  <TrueBrain> sure
22:23:54  <frosch123> in those cases it's a problem if you read an invalid variable first, and later figure out that it is pointless for the callback
22:24:43  <glx> yeah I found out I can't use only a smart layout for station, I also need dumb one for purchase
22:25:42  <glx> well the smart one could work if my implementation was better :)
22:25:44  *** sla_ro|master has quit IRC
22:26:01  <glx> but for now it's impossible to use load_temp
22:27:01  <TrueBrain> this thinking about set-ids as temporary values is funny
22:27:38  <glx> it requires to carefully track them yes
22:27:51  <TrueBrain> very volatile thinking :D
22:28:41  <TrueBrain> my code somewhat works, but the switch-case doesn't seem to route things correctly :P
22:29:06  <glx> ideally you start assigning them from the action3 and go up in the action2s
22:30:02  <glx> so you can use the same id most of the time, and add one when branching
22:31:59  <TrueBrain> okay, my layout thing works .. just it can only render the first sprite .. hmm
22:34:02  <TrueBrain> owh, and I see I just used \x00 for the bounding box :P
22:34:04  <TrueBrain> guess that is not ideal
22:35:29  <TrueBrain> hmm .. guess that needs a good Z value ..
22:35:45  <TrueBrain> frosch123: you mentioned a 16x16xZ bounding box .. why 16x16?
22:35:58  <glx> 16x16 is the tile size
22:36:13  <TrueBrain> 32x16, not?
22:36:19  <TrueBrain> (sorry for asking stupid questions, but I rather ask them :P)
22:36:21  <frosch123> world coordinates, not pixels
22:36:31  <frosch123> press ctrl+b in-game
22:36:33  <TrueBrain> ooowwhhhhh
22:36:40  <glx> 0x0 on north corner
22:37:03  <TrueBrain> okay, that just confused me in the docs
22:37:24  <TrueBrain> "size of sprite" .. lol
22:37:31  <TrueBrain> so I was like: my sprite is 32 in width, not 16 :P
22:37:45  <frosch123> isn't it 64?
22:37:52  <TrueBrain> euh, yeah, it is
22:37:52  <TrueBrain> lol
22:37:54  <TrueBrain> even worse :P
22:37:57  <glx> yeah sprites and tiles use different coord system
22:38:16  <glx> indeed 64x31 for the sprite I guess
22:38:23  <TrueBrain> if I had the energy and understanding, I would make a lot of changes to the wiki :P
22:38:28  <frosch123> Z should be at least 16, and lowe than aircraft flight altitude :p
22:38:35  * andythenorth reading FIRS nml :P
22:38:35  <TrueBrain> but I keep thinking: if I am done with this, I never have to read it again :D
22:38:36  <andythenorth> lol
22:39:05  <TrueBrain> can I just use the sprite (yes, sprite!) height for this? Or is that weird?
22:39:27  <frosch123> use a fixed value
22:39:45  <frosch123> sprite dimension is unrelated
22:40:14  <TrueBrain> any suggestions? 0x20?
22:40:30  <frosch123> sure
22:40:45  *** jottyfan has joined #openttd
22:40:57  <TrueBrain> right, now to figure out why my code doesn't do what I expect it to do ..
22:41:01  *** jottyfan has quit IRC
22:41:16  <TrueBrain> I render a "failed set", which returns a number (read: invalid as return value for sprites); put it on set-id 0xfd
22:41:24  <glx> hardest part in newgrf world ;)
22:41:35  <TrueBrain> next I set set 0 .. <tiles> to point to the actual sprite
22:42:33  <TrueBrain> next I create a set-id on 0xfe with a big-ass switch-case, that reads 0x43, masks it with 0xffff, and iterates a single layout, 0xXXYY -> set-id of tile
22:42:46  <TrueBrain> and I activate that set-id .. (currently not supporting more than 1 layout :P)
22:43:19  <TrueBrain> 0xfe set seems to work fine, except for the pointing to the right set-id of a tile ..
22:43:39  <andythenorth> FIRS looks like breadth first with sprinkles
22:43:50  * andythenorth fell in a rabbit hole
22:44:55  <TrueBrain> the weird thing is, it points to the 4th sprite or something
22:44:58  <TrueBrain> not the first
22:45:25  <TrueBrain> tnx for playing rubber ducky
22:45:27  <DorpsGek> [OpenTTD/OpenTTD] davewthompson opened issue #9707: [Bug]: Sub-tropical landscape has incorrect shops and office buildings https://git.io/J1EUM
22:45:33  <TrueBrain> that last part triggered enough to understand what I am doing wrong :P
22:46:23  <TrueBrain> (read: on action1, I flipped num-sets with num-ent :P)
22:46:34  <glx> hehe
22:46:38  * andythenorth is in the deep end without a float
22:46:51  <andythenorth> how does a tree get modelled when it has subsidiary trees?
22:47:00  <TrueBrain> https://cdn.discordapp.com/attachments/337701432230805505/910662312262774834/unknown.png
22:47:01  <TrueBrain> there we go :)
22:47:05  <TrueBrain> tnx frosch123 !!
22:47:06  <andythenorth> e.g. another set of nodes is traversed in a separate DAG
22:47:13  <TrueBrain> I literally couldn't have done this without your help :)
22:47:16  <andythenorth> TrueBrain nice sprites you drew! :)
22:47:26  <TrueBrain> hahahaha
22:47:28  <TrueBrain> funny guy :P
22:47:37  <TrueBrain> right, let's hook up multiple layout support now ..
22:49:24  <DorpsGek> [OpenTTD/OpenTTD] James103 commented on issue #9707: [Bug]: Sub-tropical landscape has incorrect shops and office buildings https://git.io/J1EUM
22:49:31  <frosch123> andythenorth: want a deeper hole? enhance nml to reorder the DAG so it uses less ids :p
22:50:16  <andythenorth> didn't glx do that already :P
22:50:47  <andythenorth> ok so TrueGRF subscription €7 / month
22:50:50  <andythenorth> contains FIRS
22:51:16  <andythenorth> extra FIRS DLC subscriptions, euro one off charge
22:51:35  * andythenorth was surprised that Discord Nitro is 99.99 / year and is basically 'stickers'
22:51:48  <andythenorth> I'd pay 99.99 for Discord, but not for stickers
22:52:41  <TrueBrain> pretty sure TrueGRF shouldn't charge the content creators :P
22:52:52  <TrueBrain> that is an anti-subscription
22:52:55  <andythenorth> they are the best people to charge :P
22:53:09  <andythenorth> how much do I pay for photoshop per month :P
22:53:10  <andythenorth> oof
22:53:14  <supermop_work> ha
22:53:27  <andythenorth> I just don't think there are enough of them
22:53:56  <andythenorth> you can't live your glamorous life on 147 euros / month
22:53:57  <supermop_work> be like dassault and solidworks
22:54:10  <supermop_work> and charge ,000 one off fee
22:54:19  <andythenorth> how much Maya licenses used to be :P
22:54:24  <TrueBrain> lol ... stupid var44 is 1-indexed :P Who does that :D
22:54:32  <dP> it there a way to start a new game with exact same settings as a save?
22:54:46  <dP> restart/reload/newgame don't do that
22:56:00  <dP> restart seems the closest but it removes all newgrfs
22:58:05  <frosch123> i would consider that a bug
22:58:12  <frosch123> "restart" is supposed to use the same settings as the save
22:58:37  <TrueBrain> https://truebrain.github.io/TrueGRF/ <- now with a "Chemical Plant" (and tnx andythenorth for having a permissive license to use the images :D)
22:58:56  <andythenorth> this is how I achieve immortality right?
22:58:57  <andythenorth> :P
22:59:29  <TrueBrain> I cannot believe I actually manage to do this with such a minimum amount of debugging information
22:59:34  <andythenorth> lol I am testing it in the browser now
22:59:40  <TrueBrain> it really is: I hope I understood correctly how many bytes to feed this action :P
22:59:42  <DorpsGek> [OpenTTD/OpenTTD] davewthompson commented on issue #9707: [Bug]: Sub-tropical landscape has incorrect shops and office buildings https://git.io/J1EUM
22:59:42  <andythenorth> this is a frigging awesome way to build the industry
23:00:00  <TrueBrain> I am happy with the "preview" too .. I should add ground-sprites too, but yeah
23:00:47  <andythenorth> you basically made Industry Whack!
23:00:48  <andythenorth> https://grf.farm/iron-horse/2.31.0/html/train_whack.html
23:01:02  <TrueBrain> just without a score :P
23:01:43  <TrueBrain> I am really happy how this is turning out so far :D
23:02:00  *** Elouin has quit IRC
23:02:45  *** Elouin has joined #openttd
23:02:50  <FLHerne> TrueBrain: What is it exactly?
23:03:01  <TrueBrain> what context are you lacking? :)
23:03:52  <frosch123> FLHerne: it's a trick to recruit tb for nml development
23:04:19  *** HerzogDeXtEr has joined #openttd
23:04:24  <TrueBrain> Pretty sure that kinda failed :D
23:04:37  <frosch123> it's a long term plan :)
23:04:46  <TrueBrain> NewGRF development, that would be more valid ;)
23:05:34  <TrueBrain> But yeah FLHerne, it is pretty much what it says .. NewGRFs made easy
23:05:44  <TrueBrain> That content creators can focus on .. content, not code
23:06:05  <TrueBrain> Not aimed at experts ofc .. for that we have NML
23:06:46  <FLHerne> Ok, so it's GrfMaker but better and not unmaintained for years? :p
23:07:16  <andythenorth> NML and 'experts' in one sentence :o
23:07:17  <andythenorth> ouch
23:07:27  <andythenorth> NML is 100% devlolopment
23:08:15  <FLHerne> The GrfMaker problem was always that projects developed to need 'expert' functionality but there was no way to get from GrfMaker to human-readable source without recoding from scratch
23:08:35  <FLHerne> Being maintained and hopefully updated to support new stuff should help though :-)
23:11:39  <TrueBrain> We will see where this ends up .. strongly depends if people appreciate it etc ;)
23:12:02  <TrueBrain> But so far I am really happy with the result.. also the integration with the game itself is really sweet
23:16:14  <TrueBrain> https://www.tt-forums.net/viewtopic.php?p=1191379#p1191379
23:16:15  <TrueBrain> cute :)
23:16:41  <TrueBrain> FLHerne: anyway, from what I understood GrfMaker was more a wrapper around NFO. The aim of TrueGRF is a bit different: I am trying to orientate it around content creators, so that they do not care how the rest works
23:16:46  <glx> hmm I probably can't put registers preparation somewhere else, but maybe I can add some fake callback to put stuff before it
23:16:46  <TrueBrain> they want to make an industry
23:16:54  <TrueBrain> not care about all the other fluff
23:18:14  <TrueBrain> so you absolutely won't be able to do everything you can with NML, basically :P
23:18:37  <glx> oh you can do a lot more than NML in pure NFO :)
23:19:03  <TrueBrain> originally I wanted to use NML in the backend, but that would have required me running a webservice for it .. so I ended up implementing my own GRF generator instead .. bit sad, as it is a lot of extra work, but alas
23:19:45  <TrueBrain> at least it now runs completely in the browser :)
23:19:55  <FLHerne> Isn't there some pypy-in-JS thing?
23:20:08  <TrueBrain> only if you like very fat downloads, yes :)
23:20:16  <TrueBrain> and it is rather slow, from my initial testing
23:20:31  <TrueBrain> also there isn't really a file-system, so sprites were interesting
23:20:52  <FLHerne> Hm
23:21:11  <TrueBrain> on a positive note, it allows me to truly understand NewGRF :P For what-ever that is worth :D
23:21:19  <FLHerne> Is TrueGRF native JS?
23:21:25  <FLHerne> or something compiled with emscripten?
23:21:27  <TrueBrain> it runs fully in the browser
23:21:33  <TrueBrain> "native JS" doesn't really mean anything anymore :P
23:21:38  <FLHerne> well, OK
23:21:49  <glx> and no it's not written in JS I think :)
23:22:02  <TrueBrain> its a combination of a lot of different techniques ..  it is coded in TrueScript, React and Rust
23:22:17  <TrueBrain> and uses OpenTTD emscripten for the game itself
23:22:19  <FLHerne> TrueScript??
23:22:25  <TrueBrain> :P
23:22:33  <TrueBrain> TypeScript, but I couldn't resist :)
23:22:55  <TrueBrain> so after compiling, you end up with a lot of Javascript and WASM
23:25:24  <TrueBrain> emscripten is only used for OpenTTD. Rust is done via wasm-pack for example, and TypeScript/React via npm
23:25:40  <TrueBrain> basically, the answer is: it is complicated
23:25:50  <glx> npm is a pain ;)
23:25:52  <TrueBrain> source is here: https://github.com/TrueBrain/TrueGRF
23:25:56  <TrueBrain> if you are interested in more details
23:26:39  <TrueBrain> I really need to clean up the code :D
23:28:18  <TrueBrain> and my main goal atm is to proof this can actually work, by doing everything just enough that we see it is viable, without making it really polished or feature-complete
23:28:39  <TrueBrain> like: you cannot add industries via the GUI, but the backend fully supports adding new ones .. currently you just have to do that in the React component
23:29:16  <TrueBrain> which means up I have gems like this: https://github.com/TrueBrain/TrueGRF/blob/main/src/App.tsx#L142 :D
23:33:02  *** Montana has quit IRC
23:41:25  *** andythenorth has quit IRC
23:52:59  *** frosch123 has quit IRC

Powered by YARRSTE version: svn-trunk