Times are UTC Toggle Colours
2021-1111:12:34 *** tokai|noir has joined #openttd 11:12:35 *** ChanServ sets mode: +v tokai|noir 12:57:39 *** WormnestAndroid has joined #openttd 13:05:58 *** glx has joined #openttd 13:05:58 *** ChanServ sets mode: +v glx 14:10:15 *** tokai|noir has quit IRC 14:10:36 *** tokai has joined #openttd 14:10:36 *** ChanServ sets mode: +v tokai 14:44:08 *** nielsm has joined #openttd 14:49:48 *** supermop_work has joined #openttd 14:49:51 <supermop_work> yo 16:06:42 *** iSoSyS has joined #openttd 16:44:51 *** HerzogDeXtEr has joined #openttd 17:00:27 *** Flygon has quit IRC 17:04:08 <DorpsGek> [OpenTTD/OpenTTD] JGRennison opened pull request #9701: Codechange: Remove CargoSpec::multipliertowngrowth which is unused https://git.io/J1CUs 17:21:39 <DorpsGek> [OpenTTD/OpenTTD] JGRennison updated pull request #9701: Codechange: Remove CargoSpec::multipliertowngrowth which is unused https://git.io/J1CUs 17:33:50 <DorpsGek> [OpenTTD/OpenTTD] Rau117 commented on discussion #9687: Suggestion: Change behaviour of the «expand signal menu» btn https://git.io/JXig1 18:17:29 *** Wormnest has joined #openttd 18:21:24 *** Wolf01 has joined #openttd 18:35:28 <TrueBrain> hmm .. I do not get industry tiles .. I first need to claim a number via 08 .. but that always wants to copy an existing industry tile? I just want to start a new one :P 18:38:49 <nielsm> yes, a lot of things in newgrf are based on "copy existing (base) item and customise it" 18:39:25 <nielsm> which is one of the reasons the original vehicles can't actually be moved to become newgrf definitions: all newgrf's depend on them existing in the base game 18:39:41 <TrueBrain> hmm .. so what is a safe industry tile to copy :P 18:39:56 <nielsm> I think 0 or 1 is something from the coal mine 18:40:05 <TrueBrain> some are animated 18:40:14 <TrueBrain> well, guess I overwrite that anyway 18:40:28 <nielsm> if you just want a basic land industry tile without cargo accepts or animations 18:40:32 <TrueBrain> tile acceptance is the more annoying one 18:41:28 <TrueBrain> 0 has no animation 18:41:32 <TrueBrain> and no acceptance 18:41:36 <TrueBrain> that will work, I guess 18:41:51 <nielsm> I think 0 is a pile of coal 18:42:15 <TrueBrain> no, those are a bit later .. it is one of the buildings I think 18:42:21 <TrueBrain> but it is fine for now, I guess :D 18:42:58 <TrueBrain> okay, at least that works .. w00p :D 18:55:35 <nielsm> the hard part of newgrf industries is (initially) the art 18:55:51 <nielsm> ofc if you want to do advanced production rules that can get fun too 18:56:09 <TrueBrain> depends .. if you try to write binary NewGRF, that is pretty hard too :D :D :D 18:58:07 <TrueBrain> @base 10 16 2022 18:58:07 <DorpsGek> TrueBrain: 7E6 18:59:13 <TrueBrain> okay .. chained an action 0 to an action 2 to an action 3 .. I am getting the hang of this :D 19:00:51 <TrueBrain> now for my own realsprite .. 19:20:34 <supermop_work> what are you making TrueBrain ? 19:20:50 <TrueBrain> things so other people can make things! 19:20:58 <TrueBrain> https://truebrain.github.io/TrueGRF/ 19:21:48 <supermop_work> for some reason i can't open that here at the office 19:22:48 <TrueBrain> funny, it is a white page here too :P 19:23:23 <TrueBrain> no clue what broke .. will have to investigate :D 19:23:28 <TrueBrain> was working yesterday .. lol 19:25:11 <dP> internet seems kinda broken today 19:26:03 <TrueBrain> lol, I am a potato 19:26:06 <TrueBrain> let me fix this 19:31:08 <TrueBrain> supermop_work: try it again :) 19:36:15 *** WormnestAndroid has quit IRC 19:41:31 *** frosch123 has joined #openttd 19:47:55 <DorpsGek> [OpenTTD/BaNaNaS] frosch123 opened pull request #109: Change: migrate OpenTTD user Dukeman to GitHub user HollyDuke https://git.io/J1CM9 19:48:54 <DorpsGek> [OpenTTD/OpenTTD] frosch123 approved pull request #9701: Codechange: Remove CargoSpec::multipliertowngrowth which is unused https://git.io/J1CDv 19:49:03 <LordAro> dP: https://status.cloud.google.com/incidents/6PM5mNd43NbMqjCZ5REh possibly? 19:49:40 <DorpsGek> [OpenTTD/BaNaNaS] TrueBrain approved pull request #109: Change: migrate OpenTTD user Dukeman to GitHub user HollyDuke https://git.io/J1CD3 19:49:45 <DorpsGek> [OpenTTD/BaNaNaS] TrueBrain merged pull request #109: Change: migrate OpenTTD user Dukeman to GitHub user HollyDuke https://git.io/J1CM9 19:51:59 <dP> LordAro, yeah, that too 19:52:12 *** andythenorth has joined #openttd 19:55:30 <supermop_work> hi andy 19:55:54 <supermop_work> TrueBrain: looks neat 19:56:00 <TrueBrain> :D 19:56:13 <supermop_work> i was out getting coffee just got back to desk 19:57:37 *** WormnestAndroid has joined #openttd 19:58:47 <andythenorth> yo 19:59:31 <TrueBrain> hmm .. NewGRF specs were "fine" to see what I need to write, till realsprites 19:59:41 <TrueBrain> and NML is also .. a bit .. "abstracted", to really understand :D 19:59:54 <glx> that's the main goal of NML 19:59:57 <TrueBrain> normally I open the OpenTTD source to figure out what happens exactly .. 20:00:03 <TrueBrain> but that too is not easy for this case :P 20:00:08 <TrueBrain> HUNTING TIME! 20:00:34 <frosch123> did you succeed with encoding? 20:01:28 <TrueBrain> not even tried 20:01:34 <TrueBrain> just trying to feed a realsprite into the system :P 20:02:20 <TrueBrain> my action 0, 2 and 3 works 20:02:28 <frosch123> next is action1 then 20:02:30 <TrueBrain> now added an action 1 .. but it is a bit of a puzzle how it actual works :) 20:03:03 <TrueBrain> so far I wrote \x09\x01\x01 for action 1 .. and after that a "realsprite" (0xfd) referencing spritenum 0 20:03:17 <TrueBrain> I think I did that correctly .. at least, it now shows a blue ? 20:03:24 <TrueBrain> next is to actually add the sprite I guess :P 20:05:48 <michi_cc> Writing a container format 1 grf file might be easier for the first try as you don't have to worry about the separate sections. 20:06:16 <frosch123> https://github.com/OpenTTD/grfcodec/blob/master/docs/grf.txt <- quite sure that was linked at some time, but maybe you forgot 20:07:02 <TrueBrain> michi_cc: already a bit balls deep in v2 :P That would have been a good idea earlier :D 20:07:09 <TrueBrain> frosch123: absolutely forgot, tnx :) 20:07:17 <TrueBrain> we have documentation in so many places, it is not trackable for me :P 20:07:35 <TrueBrain> owh, right, sprite-section offset 20:07:39 <TrueBrain> that bullshit .. eeuuhhhh 20:08:41 <frosch123> https://github.com/OpenTTD/nml/blob/master/nml/output_grf.py#L48 <- nml code is here 20:09:26 <TrueBrain> yeah, did find that file 20:09:32 <TrueBrain> the issue is how it writes sprites 20:09:37 <TrueBrain> it jumps to the base-class sometimes 20:09:43 <TrueBrain> and it is very difficult to see if that actually does something 20:09:49 <TrueBrain> most of the time the answer is: no, it doesn't do anything :P 20:13:53 <glx> there's only one annoying thing for me in nfo realsprite, the order of parameters : x, y, height, length, ... 20:16:27 <TrueBrain> any of you happen to have a small sprite lz77 encoded at hand? Or a way I can get one easily? Just to test if everything else is working :P 20:18:04 <frosch123> open existing grf in hexeditor? 20:18:35 <TrueBrain> hard to find the right offset :D 20:18:41 <TrueBrain> and size 20:18:45 <frosch123> it's in the header :p 20:18:49 <TrueBrain> yeah ...... 20:18:54 <TrueBrain> as I said: hard :P 20:18:57 <TrueBrain> but worth a swing 20:19:06 <glx> size is the first dword no ? 20:19:45 <glx> maybe after the magic thing 20:19:54 <TrueBrain> and so it goes ;) 20:21:55 <TrueBrain> as the size is relative 20:22:01 <TrueBrain> and after that you need to find the size of the sprite 20:22:02 <TrueBrain> etc :P 20:22:53 <frosch123> just copy all sprites 20:23:19 <frosch123> concatenate your nfo section with the graphics section of some other grf 20:28:15 <TrueBrain> @calc 0x44 20:28:15 <DorpsGek> TrueBrain: 68 20:29:09 <LordAro> TrueBrain: noob 20:29:22 <TrueBrain> :( My DNS server is down, I AM SORRY 20:29:48 <LordAro> your dns server does hex conversions? 20:30:04 <TrueBrain> you clearly missed a conversation a while ago :P 20:30:15 <glx> wasn't it the router ? 20:30:26 <TrueBrain> DHCP server, I think 20:30:28 <TrueBrain> can't even remember :P 20:30:48 * LordAro confused 20:31:12 <TrueBrain> a while ago a dude was gatekeeping that I used DorpsGek to do some calculations, claiming I should just know that, and blabla 20:31:20 <TrueBrain> he didn't survive long 20:31:24 <LordAro> i see 20:31:47 <TrueBrain> we have been referencing that often since :P 20:32:02 <TrueBrain> I simply assumed your noob also referenced that, but here we are :D 20:35:23 <TrueBrain> "The data sections is termindated by a WORD (format 1) / DWORD (format 2) of value 0." 20:35:25 <TrueBrain> found a typo :P 20:36:11 *** HerzogDeXtEr has quit IRC 20:36:23 <frosch123> truejames 20:36:36 <TrueBrain> :D 20:37:00 <TrueBrain> took me a bit to notice I cannot start sprite-num at 0 :P 20:37:03 <TrueBrain> NML even has a lovely "rant" about it :D 20:42:16 <TrueBrain> bah, I think I did everything correct, yet .. hmm .. guess I need to get the GRF out and run it with grfcodec :) 20:43:58 <TrueBrain> @base 16 10 294 20:43:58 <DorpsGek> TrueBrain: 660 20:45:12 <TrueBrain> @base 10 16 610 20:45:12 <DorpsGek> TrueBrain: 262 20:48:14 <TrueBrain> okay, sprite aligner now shows the sprite 20:48:17 <TrueBrain> just not showing up on the tile :P 20:51:23 <frosch123> probably the action2 missing some flags 20:51:49 <TrueBrain> there we go! 20:52:19 <TrueBrain> okay .. next thing I do not understand: I only have 256 set-ids 20:52:30 <TrueBrain> can I use a single set-id for all sprites of an industry? 20:52:42 <TrueBrain> or do I need to load them all in an individual? 20:52:53 <frosch123> you can reuse setids 20:53:22 <frosch123> usually its: action1 with sprites for first industry, action2..3 for first industry, action1 with sprites for second industry, ... 20:53:32 <TrueBrain> owh, those aren't global 20:53:33 <TrueBrain> gotcha 20:53:46 <TrueBrain> not always clear what survives how long :D 20:53:49 <frosch123> you can also share spritesets between industries by not redefining them 20:54:09 <TrueBrain> ah, like that 20:54:10 <TrueBrain> k 20:54:11 <glx> and an action 2 chain can use the same id 20:54:29 <TrueBrain> so the information need to be correct when referencing 20:54:32 <TrueBrain> the rest is: what-ever! 20:54:42 <TrueBrain> so an industry can only have 256 sprites, basically :P 20:54:44 <TrueBrain> "only" :D 20:55:07 <frosch123> no, you can have 64k sprites per spritelayout 20:55:37 <frosch123> 256 sets of 256 sprites each, redefineable for every action2 20:55:45 <TrueBrain> ah, lol .. okay .. 20:55:55 <TrueBrain> and even more, I guess, if you use all 256 tile-ids :P 20:56:15 <frosch123> by default each spriteset is indexed by construction stage (up to 4 sprites per spriteset), but you can change that 20:56:16 <glx> well you can modify a spritelayout dynamically anyway 20:56:49 <peter1138> TrueBrain, just google it 20:56:55 <frosch123> oh, wait, the number of sprites per spriteset is a word, so you can have 24M :p 20:57:59 <TrueBrain> frosch123: "For houses and industry tiles, this should be between 1 and 4 and specifies the number of different construction stages. Sprites after the first four are always ignored. See also action 2 and 3. " 20:58:04 <TrueBrain> that suggests that not being the case? :) 20:58:57 <frosch123> it's the default :) 20:59:18 <TrueBrain> "Sprites after the first four are always ignored." gave me the impression you cannot have more than 4 in a sprite-set 20:59:43 <frosch123> https://newgrf-specs.tt-wiki.net/wiki/Action2/Sprite_Layout#Flags_in_advanced_sprite_layouts <- set bit 1 in flags to have a different behavior 21:00:08 <TrueBrain> "if there are four or more sprites, the first four will be used for the four construction stages. Sprites after the first four are always ignored." 21:00:11 <TrueBrain> it also marks it there? 21:00:16 <glx> by default the game uses only first 4, but you can tell it to use different ones 21:00:38 <TrueBrain> owh, wait 21:00:44 <TrueBrain> that link gives the wrong impression of what you linked 21:00:45 <TrueBrain> lol 21:00:53 <TrueBrain> I fucking hate that of browsers 21:00:59 <frosch123> "Add offset to sprite, disable default usage of construction stage or railtype-offset" 21:01:24 <TrueBrain> okay, I would not have read in that what you just mentioned :D 21:01:25 <TrueBrain> haha 21:01:39 <TrueBrain> what does it even mean .. "add offset to sprite" :P 21:02:15 <frosch123> for industries it means: layout specifies a spriteset and a register for the sprite inside the set 21:02:24 <frosch123> you can compute the value of the register at runtime 21:02:44 <frosch123> dynamically pick sprites depending on date, phase of the moon, etc 21:02:52 <TrueBrain> what is a good approach .. a sprite-set per sprite for industry tiles, or a single sprite-set for a single industry? 21:03:55 <frosch123> start with the former 21:03:59 <frosch123> one sprite per spriteset 21:04:15 <frosch123> multiple sprites per spriteset is meant, if you show different sprites in the same position 21:04:25 <frosch123> construction stage, animation, cargo amount, ... 21:04:27 <TrueBrain> okay, make sense 21:04:44 <TrueBrain> so biggest industry TrueGRF can handle will be 16x16, basically, for now :) 21:04:50 <TrueBrain> pretty sure that is fine :P 21:05:00 <frosch123> isn't that the limit anyway? 21:05:09 <glx> 16x16 is huge 21:05:09 <TrueBrain> no clue 21:05:32 <frosch123> i think industries and objects are limited to 16x16 in the tile layout 21:05:42 <TrueBrain> okay ... guess next step is to figure out how to read a PNG in Rust, make it 8bpp, and lz77 the hell out of it :P 21:06:10 <TrueBrain> and figure out why I am using a Legacy palette .. 21:06:19 <DorpsGek> [OpenTTD/OpenTTD] LC-Zorg opened issue #9702: [Bug]: It is not possible to transfer vehicles sharing orders between groups (using Ctrl+drag doesn't work) https://git.io/J1CpR 21:06:20 <frosch123> every evening you end on the same "next thing" :p 21:06:31 <TrueBrain> frosch123: :D I know right ;) 21:06:37 <TrueBrain> well, made some big steps today, so I am not complaining 21:06:47 <frosch123> for palette, you need an action14 21:07:44 <frosch123> https://newgrf-specs.tt-wiki.net/wiki/Action14#GRF_palette_.28.22INFO.22_-.3E_.22PALS.22.29 21:15:28 <TrueBrain> tnx .. now to get it to work :P Lol 21:16:09 <frosch123> the nfo is in the spec, put that in front of your action8 21:17:42 <TrueBrain> before action8 was my last mistake, tnx :) 21:18:17 <frosch123> i am sure it's written somewhere on that page :) 21:18:52 <TrueBrain> yeah, reading is not my strongest skill :P 21:19:09 <TrueBrain> its funny, I am building this whole thing fully experimental 21:19:09 <TrueBrain> that is, I have no debug output 21:19:12 <TrueBrain> so .. just hoping the bytes align :P 21:19:48 <glx> oh usually the important info is hidden somewhere in a totally different place 21:19:56 <TrueBrain> https://cdn.discordapp.com/attachments/337701432230805505/910277990766747758/unknown.png <- proof I can load stuff :P 21:20:24 <TrueBrain> well, it is there: "The action is processed while scanning for GRFs and their action 8 descriptions. This scanning stops when encountering an action 8, thus action 14 needs to appear earlier in the GRF. " 21:30:24 <andythenorth> 16x16 is huge and won't locate on most maps without special measures :P 21:30:28 * andythenorth catching up 21:30:56 <andythenorth> no debug output = grf coding :P 21:33:30 <frosch123> https://gist.githubusercontent.com/frosch123/889b6478a6d5d7b10f89d9b014845331/raw/bf202561a30ab4e739d5c80e8fb0f2dff0182076/inspect_backtrace.png <- maybe tb implements that as emscripten hook :) 21:37:29 <TrueBrain> or you just finish that PR :P 21:39:20 <frosch123> it's just 7 years out of date :) 21:39:40 <andythenorth> did anything change since then? :) 21:39:46 * andythenorth doesn't see many svn commits 21:40:00 <frosch123> yeah, we stopped svn 3 years ago :p 21:40:34 <DorpsGek> [OpenTTD/OpenTTD] LC-Zorg commented on discussion #9687: Suggestion: Change behaviour of the «expand signal menu» btn https://git.io/JXig1 21:40:49 <andythenorth> we did what now? :o 21:40:51 <frosch123> anyway, i stopped it because noone would be able to use it anyway 21:41:11 <andythenorth> I would keep forgetting about it 21:41:51 <DorpsGek> [OpenTTD/OpenTTD] Rau117 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 21:44:39 <TrueBrain> wow, compiling PNG support is slow as fuck :P 21:44:43 <TrueBrain> from 5s compiles to 15s compile :P 21:46:00 <TrueBrain> well, I also get JPEG support etc 21:46:05 <TrueBrain> not sure I can strip that away :P 21:46:42 <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 21:47:36 *** nielsm has quit IRC 21:47:43 *** WormnestAndroid has quit IRC 21:55:32 <andythenorth> 15s! 21:55:33 <andythenorth> ouch 21:55:54 *** sla_ro|master has quit IRC 21:56:36 <andythenorth> hmm these bug reports 21:56:45 <andythenorth> I sense petrol has met a discarded match 21:57:14 <andythenorth> if this was my project I'd close them now for tone 21:57:24 <andythenorth> however some people are better than me :P 22:04:57 <TrueBrain> right .. time for some lz77 .. eeuuuhhhh 22:05:50 <TrueBrain> the question is, is it normal lz77 22:05:52 <TrueBrain> or some special version :P 22:06:04 <TrueBrain> deflate::lz77 exists 22:06:07 <TrueBrain> but seems to do other things 22:06:49 <frosch123> pretty sure is no regular lz77 22:07:40 <TrueBrain> bah 22:07:44 <TrueBrain> means I need to pay attention :P 22:08:37 <frosch123> so far everyone copied the grfcodec algorithm 1:1 22:08:56 <TrueBrain> bit difficult in Rust :P 22:09:01 <frosch123> though nml source is easier to read 22:10:32 <TrueBrain> yeah, just typing over the C variant from NML 22:11:29 *** WormnestAndroid has joined #openttd 22:15:19 <DorpsGek> [OpenTTD/OpenTTD] Rau117 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 22:17:01 <LordAro> i mean, there's an easy way to find out 22:19:18 <TrueBrain> I love it when people can keep coming back to the same thing over and over and over and over and over again :P 22:19:22 <TrueBrain> little toddlers :) 22:19:56 <frosch123> didn't you already give a last warning? 22:22:13 <andythenorth> yeah that's over 22:22:25 <andythenorth> it's needlessly hostile 22:22:26 <andythenorth> ban 22:22:29 <frosch123> yay, cppcon videos are being uploaded now 22:22:44 <frosch123> LordAro: TrueBrain: strawpoll? 22:22:49 <frosch123> or poll on reddit? 22:23:36 <TrueBrain> I don't disagree; and the honours is all LordAro .. he has been wanting to this for a few weeks now :P 22:30:14 <frosch123> the effects of blocking are funny. not that it matters here, but it blocks users forking the repositories, and stops counting their past contributions 22:30:26 <TrueBrain> haha 22:30:28 <TrueBrain> nasty 22:31:28 <frosch123> https://docs.github.com/en/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-organization 22:31:46 <frosch123> they do not even get notifications 22:31:59 <TrueBrain> lol 22:32:06 <TrueBrain> right, okay, first attempt on lz77 is a bit of a failure :P 22:38:58 <TrueBrain> meh; and I can't find what would be wrong :P 22:39:37 <TrueBrain> owh, dimensions maybe 22:40:54 <TrueBrain> @base 10 16 114 22:40:54 <DorpsGek> TrueBrain: 72 22:41:42 <TrueBrain> it loads something 22:41:45 <TrueBrain> nothing of any sanity 22:41:49 <TrueBrain> but at least it aint broken :P 22:44:13 <TrueBrain> https://cdn.discordapp.com/attachments/337701432230805505/910299192394657792/unknown.png 22:44:28 <TrueBrain> (I am outputting the "r" channel as if it the palette index :P) 22:45:25 <TrueBrain> okay, there is still something fishy ... 22:46:59 <frosch123> yeah, if the source image uses a palette, then using the r channel would still resemble some kind of image 22:47:06 <frosch123> this is just noise :) 22:48:25 <DorpsGek> [OpenTTD/OpenTTD] LordAro merged pull request #9701: Codechange: Remove CargoSpec::multipliertowngrowth which is unused https://git.io/J1CUs 22:48:37 <LordAro> ooh, has Rau inevitably fucked up again? 22:48:50 <frosch123> yes, 9702 22:49:10 <frosch123> the floor is yours :) just make sure to not state any reason, or you will have to defend it tomorrow on reddit :p 22:49:53 <LordAro> https://pasteboard.co/1dk0fuA4AqN3.png i mean, i'm quite happy to do this 22:53:02 <DorpsGek> [OpenTTD/OpenTTD] LordAro 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 22:53:04 <LordAro> in the meantime 22:53:46 <TrueBrain> but picking up a torc