IRC logs for #openttd on OFTC at 2021-11-17
            
00:00:06 <frosch123> meh, such typing skills
00:00:46 <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
00:01:37 <LordAro> oh hey, LC agrees with you :D
00:01:50 <LordAro> well, for option 2
00:01:57 <LordAro> only 3 options today, he must be tired
00:13:44 <dP> hm, that reminded me of another gui "bug"
00:20:06 *** frosch123 has quit IRC (Quit: be yourself, except: if you have the opportunity to be a unicorn, then be a unicorn)
00:22:51 <DorpsGek> [OpenTTD/OpenTTD] ldpl opened issue #9703: [Bug]: No indication that server is full within the game https://git.io/J1WEK
00:24:44 <dP> though now that I think of it I can probably create a few dozen ui "bugs" like that...
00:24:59 <dP> well, not quite I guess as this one is somewhat of a regression
00:25:52 <dP> but some issues are just extremely common: https://i.imgur.com/MoHWd1p.png
00:26:37 *** virtualrandomnumber has joined #openttd
00:27:02 *** virtualrandomnumber has quit IRC (Remote host closed the connection)
02:16:23 *** Wormnest has quit IRC (Quit: Leaving)
03:00:38 *** glx has quit IRC ()
03:05:31 *** D-HUND has joined #openttd
03:08:56 *** debdog has quit IRC (Ping timeout: 480 seconds)
03:11:09 *** D-HUND is now known as debdog
03:58:38 *** Flygon has joined #openttd
04:03:11 *** D-HUND has joined #openttd
04:06:36 *** debdog has quit IRC (Ping timeout: 480 seconds)
04:06:42 *** D-HUND is now known as debdog
05:55:07 <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
06:08:11 <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
06:19:42 *** andythenorth has joined #openttd
06:54:22 *** andythenorth has quit IRC (Quit: andythenorth)
06:56:49 <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
07:02:08 *** andythenorth has joined #openttd
07:08:20 <LordAro> dP: there are reasons for search internet not being pressed by default
07:08:34 <LordAro> not especially good ones, but there are reasons
07:08:34 *** andythenorth has quit IRC (Quit: andythenorth)
07:08:54 <LordAro> regardless, if you don't report issues, they're probably not going to get fixed
07:09:21 <LordAro> though grouping together issues where appropriate may be better than raising 12 :p
07:25:22 *** jinks_ has joined #openttd
07:25:22 *** jinks has quit IRC (Read error: Connection reset by peer)
07:25:25 *** jinks_ is now known as jinks
07:39:21 <DorpsGek> [OpenTTD/OpenTTD] btzy opened pull request #9704: Fix #9702: Revert old behaviour in group GUI when not using shared orders https://git.io/J18CV
07:46:18 <DorpsGek> [OpenTTD/OpenTTD] btzy updated pull request #9704: Fix #9702: Revert old behaviour in group GUI when not using shared orders https://git.io/J18CV
07:57:38 *** sla_ro|master has joined #openttd
08:00:02 <DorpsGek> [OpenTTD/OpenTTD] btzy updated pull request #9704: Fix #9702: Revert old behaviour in group GUI when not using shared orders https://git.io/J18CV
08:14:27 <DorpsGek> [OpenTTD/OpenTTD] LordAro commented on pull request #9704: Fix #9702: Revert old behaviour in group GUI when not using shared orders https://git.io/J182M
08:16:43 *** Smedles has quit IRC (Ping timeout: 480 seconds)
08:20:44 <DorpsGek> [OpenTTD/OpenTTD] btzy updated pull request #9704: Fix #9702: Revert old behaviour in group GUI when not using shared orders https://git.io/J18CV
08:20:52 <DorpsGek> [OpenTTD/OpenTTD] btzy commented on pull request #9704: Fix #9702: Revert old behaviour in group GUI when not using shared orders https://git.io/J18Vy
08:21:17 *** WormnestAndroid has quit IRC (Remote host closed the connection)
08:21:46 <DorpsGek> [OpenTTD/OpenTTD] LordAro approved pull request #9704: Fix #9702: Revert old behaviour in group GUI when not using shared orders https://git.io/J18wJ
08:22:19 <DorpsGek> [OpenTTD/OpenTTD] LordAro approved pull request #9694: Fix: Update last servicing dates when using the date cheat https://git.io/J18wW
08:32:40 *** Smedles has joined #openttd
09:00:27 <peter1138> Bah, thought I might go out on a group ride this morning but I'm waaaaay too tired. And overslept :/
09:15:12 <DorpsGek> [OpenTTD/OpenTTD] Rau0x75 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
09:15:29 <peter1138> New account :D
09:18:43 <LordAro> heh.
09:27:08 <DorpsGek> [OpenTTD/OpenTTD] Rau0x75 commented on discussion #9687: Suggestion: Change behaviour of the «expand signal menu» btn https://git.io/JXig1
09:27:50 <LordAro> what do we think?
09:28:04 <LordAro> i'm not inclined to unban just because he asked
09:46:46 *** andythenorth has joined #openttd
09:46:54 <andythenorth> did anyone post this to Reddit? https://www.openttd.org/news/2021/11/06/explaining-signals-ui-change
09:46:59 <andythenorth> I don't see it, but eh
09:47:09 <andythenorth> I don't have a reddit account, and it would be unwise if I did :P
09:47:24 <peter1138> s/unwise/funny/
09:54:09 <andythenorth> funny peculiar?
09:54:13 <andythenorth> or funny ha ha?
09:54:48 *** sla_ro|master has quit IRC ()
09:56:24 <LordAro> yes.
10:16:49 <SpComb> evil devs stealing our precious ticks
10:18:43 <SpComb> re "The reason for hiding the block signals by default [...]", what the blog post doesn't explain is how to get at the non-default block/pre signals...
10:19:17 <LordAro> it's a lot more obvious in 12.1
10:20:07 <SpComb> (FWIW I have not used anything other than path signals for the last 10+ years)
10:20:38 <SpComb> I assume TTDPatch gained PBS signals before 2010
10:21:47 <LordAro> i think that's a reasonable assumption :p
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 (Ping timeout: 480 seconds)
11:20:48 *** andythenorth has quit IRC (Quit: andythenorth)
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 (Remote host closed the connection)
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 (Remote host closed the connection)
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 (Ping timeout: 480 seconds)
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 (Ping timeout: 480 seconds)
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 (Quit: A toaster's basically a soldering iron designed to toast bread)
16:53:17 *** tokai has quit IRC (Ping timeout: 480 seconds)
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 (Ping timeout: 480 seconds)
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:23 <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:47 <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 (Ping timeout: 480 seconds)
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 (Ping timeout: 480 seconds)
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 (Quit: andythenorth)
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, \89 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 (Ping timeout: 480 seconds)
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:25 * 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:30 <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 $15,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 (Quit: Ping timeout (120 seconds))
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 (Quit: Leaving)
23:41:25 *** andythenorth has quit IRC (Quit: andythenorth)
23:52:59 *** frosch123 has quit IRC (Quit: be yourself, except: if you have the opportunity to be a unicorn, then be a unicorn)