Times are UTC Toggle Colours
01:08:35 *** triple_xx has joined #openttd 01:08:35 <triple_xx> How does multiplayer work? 01:30:10 <DorpsGek> [OpenTTD/nml] Andrew350 commented on pull request #274: Support for roadtype direction markings (OTTD #10282) https://github.com/OpenTTD/nml/pull/274#pullrequestreview-1502095391 02:02:13 *** herms has quit IRC 02:02:56 *** herms has joined #openttd 02:32:08 *** D-HUND has joined #openttd 02:32:46 <DorpsGek> [OpenTTD/OpenTTD] electric-socket opened issue #11077: [Crash]: Unsure of reason but may be related to upgrading monorail to maglev https://github.com/OpenTTD/OpenTTD/issues/11077 02:35:43 *** debdog has quit IRC 03:33:57 *** keikoz has joined #openttd 03:36:26 *** thewood has joined #openttd 03:37:09 *** thewood has quit IRC 03:46:54 *** D-HUND is now known as debdog 04:15:52 *** tokai|noir has joined #openttd 04:15:52 *** ChanServ sets mode: +v tokai|noir 04:22:52 *** tokai has quit IRC 04:52:11 <jfs> triple_xx: Quite detailed description in this doc: https://github.com/OpenTTD/OpenTTD/blob/master/docs/desync.md 05:18:48 *** Flygon has joined #openttd 05:52:23 <jfs> Also, there should already be console commands to get the world generation seed, and to generate a net world using a specific seed. 05:52:23 <jfs> If you have the exact same version of the game with the exact same world generation settings, then using the same seed _should_ create identical worlds, but I think there might be cases where it doesn't happen 06:37:24 <peter1138> https://cdn.discordapp.com/attachments/1008473233844097104/1123502392592310322/image.png 06:38:48 <peter1138> Kinda 06:40:38 <peter1138> It does feel pretty ridiculous to have such a font selector in a game... 06:56:55 <LordAro> peter1138: nice! 07:08:16 <andythenorth> peter1138: make a thing to paste in css 07:08:23 <andythenorth> oh wait...we have console command ð 07:10:05 <peter1138> https://cdn.discordapp.com/attachments/1008473233844097104/1123510619400851537/image.png 07:10:05 <peter1138> Yuck 07:10:33 <peter1138> https://cdn.discordapp.com/attachments/1008473233844097104/1123510737105596486/image.png 07:10:34 <peter1138> Also yuck, and massively different size, despite the requested size being the same. 07:10:46 <andythenorth> font metrics 07:12:32 <peter1138> I guess style should be sorted by weight. 07:17:41 <DorpsGek> [OpenTTD/OpenTTD] bjornwarmedal commented on pull request #11076: Changing exclusive transport rights https://github.com/OpenTTD/OpenTTD/pull/11076#pullrequestreview-1502440914 07:26:37 <DorpsGek> [OpenTTD/OpenTTD] bjornwarmedal commented on pull request #11076: Changing exclusive transport rights https://github.com/OpenTTD/OpenTTD/pull/11076#issuecomment-1610907120 07:29:31 <_zephyris> TallTylerviaGitHub: Feels great to be a contributior! 07:46:54 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain commented on pull request #11076: Changing exclusive transport rights https://github.com/OpenTTD/OpenTTD/pull/11076#pullrequestreview-1502487044 07:49:15 <truebrain> peter1138: Is this really happening?! ðŪ 07:52:45 *** _aD has joined #openttd 08:06:01 <pickpacket> I don't know how to respond to comments like "I don't like exclusive transport rights because they're mean and I always disable them". I just don't know how that's an argument pertaining specifically to my suggested change 08:08:41 *** _jgr_ has joined #openttd 08:08:41 <_jgr_> I would read it as "I think that the feature should be off by default" 08:09:23 <_jgr_> Which isn't entirely out of scope if you're changing how the feature works 08:14:30 <pickpacket> yeah 08:15:15 <truebrain> well done LordAro ð (you know what I mean) 08:15:56 <pickpacket> Though tbh I don't know if *I* particularly care what the default setting of it is ðĪŠ But I could change the default to 'disabled'. 08:17:00 <DorpsGek> [OpenTTD/OpenTTD] ldpl commented on pull request #11076: Changing exclusive transport rights https://github.com/OpenTTD/OpenTTD/pull/11076#issuecomment-1610972159 08:23:15 <DorpsGek> [OpenTTD/OpenTTD] bjornwarmedal commented on pull request #11076: Changing exclusive transport rights https://github.com/OpenTTD/OpenTTD/pull/11076#issuecomment-1610980291 08:24:41 <locosage> my experience with current implementation: someone buys rights in a town I'm operating, I buy back and get banned from the server ðĪĢ 08:26:06 <pickpacket> locosage: hahaha! So buying them when someone else has them is wrong, but not buying them in the first place? ð 08:26:56 <truebrain> pickpacket: well done on writing out the motivation and description; that is really nice! Wish I did that for every PR like that ð 08:28:04 <locosage> pickpacket: No, you just can't buy them back from server admin :p 08:28:09 <pickpacket> locosage: lol 08:28:26 <pickpacket> truebrain: It *did* say that I should :D 08:28:38 <DorpsGek> [OpenTTD/OpenTTD] zephyris commented on pull request #11076: Changing exclusive transport rights https://github.com/OpenTTD/OpenTTD/pull/11076#issuecomment-1610989893 08:30:12 <locosage> zephyrisviaGitHub: There already are settings for bribes, rights and r/r, 3 settings for advertisement next? ;) 08:31:00 <locosage> or give it to gamescript ðĪ 08:31:28 <LordAro> truebrain: :) 08:32:05 <locosage> someone already asked for api to add town actions, can probably be done along with removal somehow... 08:33:15 <locosage> though mixing in one api default and custom actions is meh 08:33:37 *** _aD has quit IRC 08:33:52 <locosage> in league tables I got around that by just removing default stuff if custom tables are added 08:36:28 <locosage> actually, that the best approach for exclusive rights as well imo. leave default thing be and just add api for gs to do custom stuff 08:37:40 <locosage> vanilla-as-a-mod ð 08:51:22 <pickpacket> locosage: it's not a bad idea to extend the gs api, but I would say that there's value in having good default behaviour anyway ;) 08:51:35 <locosage> "good" :p 08:51:47 <locosage> I just noticed, exclusive rights apply to the stations linked to that town 08:52:05 <locosage> and ofc there is no way too see it in the game 08:52:18 <locosage> already can think of some "fun" exploits :p 08:53:24 <brickblock19280> It can be seen as long as you don't rename then 08:53:44 <locosage> well, ofc I'll rename it ;) 08:53:54 <locosage> to some other town xD 08:55:32 <brickblock19280> https://cdn.discordapp.com/attachments/337701432230805505/1114562798094127184/image.png 08:55:38 <pickpacket> locosage: lol 08:56:16 <locosage> brickblock19280: yes but you can also move stations while keeping the towwn 08:56:44 <locosage> so you can basically have a station that has one town in the name but is actually linked to any town on the map 08:56:55 <locosage> good luck buying exclusive rights :p 08:57:34 <pickpacket> locosage: yeah, a station can have coverage over one town('s industries) while belonging to another :) 08:58:21 <locosage> coverage is irrelevant, you can literally walk station across the map while keeping it linked to original town 08:58:40 <locosage> quite a well-known exploit in most city-builder scripts btw 08:58:46 <pickpacket> oh! Now I understand what you mean 09:03:35 <peter1138> Hmm, style sort order is a pain. 09:05:02 <truebrain> yeah, don't sort it by 2023-06-28T14:28:19 <_zephyris> I'm looking for the code which applies mask recolouring to a 32bpp sprite - can anyone point me to the code? I'm getting lost in the blitters! 14:30:07 <jfs> basics: the 32 bpp blitter is used for software video output, the 40 bpp blitter is used for hardware accelerated video output (i.e. OpenGL) 14:32:06 <jfs> look for the `m` member of each pixel, that's the palette channel which is what gets company colour remapped 14:33:00 <jfs> the basic place to start would be the simple version, and then compare with the optimized versions 14:33:00 <jfs> https://github.com/OpenTTD/OpenTTD/blob/master/src/blitter/32bpp_simple.cpp 14:34:59 <peter1138> m-channel being non-zero is the path used for recolouring. 14:35:36 <locosage> lines 126-148 basically 14:36:27 *** m3henry has joined #openttd 14:37:20 <DorpsGek> [OpenTTD/OpenTTD] orudge commented on issue #10832: Licensing issue - GPL violation on Apple Store https://github.com/OpenTTD/OpenTTD/issues/10832 14:44:17 <_zephyris> So, amongst other things, a 32bpp pixel value of 0 mapping to the unmodified mask/8bpp value is intended behaviour. 14:44:37 <_zephyris> (the naive expectation would be pure black) 14:50:21 <peter1138> If you want pure black then you don't need any 8bpp mask on top, right? 14:51:26 <_zephyris> Absolutely - I'd argue the current behaviour is a little eccentric, but certainly not problematic. 14:53:08 <locosage> even naively, mapping decides colour and 0 is transparent, not black 14:53:23 <peter1138> TBH I'm no longer sure what "old 32bpp image" refers to but... 14:54:02 <peter1138> r=0, g=0, b=1 would be "almost" black, I guess. 14:56:30 <triple_xx> Why are zoomto levels limited to 5? 14:56:42 <triple_xx> Is it caused by lag? 15:01:39 <_zephyris> https://cdn.discordapp.com/attachments/1008473233844097104/1123629292010622976/vgradient_gray_32bpp.png 15:01:39 <_zephyris> https://cdn.discordapp.com/attachments/1008473233844097104/1123629292274851920/hgradient_ttdpal_8bpp.png 15:01:39 <_zephyris> https://cdn.discordapp.com/attachments/1008473233844097104/1123629292551667824/recoloured.png 15:01:39 <_zephyris> There are some other weird little inconsistencies... Vertical gray gradient is the 32bpp sprite, 8bpp mask is the vertical bars of each TTD palette colour. There are some weird behaviours where bright TTD colours mask bright gray values. 15:02:39 <jfs> max zoom-in is partially due to memory usage (storing/generating sprite versions that large) and partially that it just isn't useful 15:02:39 <jfs> max zoom-out is largely due to performance (too much visible on screen at once means exponentially more tiles and vehicles needing to be evaluated for sprites to use) and partially just for usefulness 15:03:32 <peter1138> _zephyris: Do you mean with the 'overbright' section? 15:04:02 <m3henry> Does the compiler optimise that switch (mode) inside the for loop? 15:04:40 <peter1138> Compiler does whatever optimisations it can. 15:04:57 <peter1138> However that is the "simple" blitter, which aims to be, well, simple. 15:05:24 <jfs> yeah the simple blitter is basically just aiming to be "obviously correct" with no thought to speed 15:05:39 <m3henry> The 8bpp_optimised has a similar structure 15:05:41 <peter1138> If you look at the optimized blitters, the mode is templated. 15:05:44 <m3henry> to godbolt.org! 15:06:23 <locosage> _zephyris: you mean hue change? openttd just scales rgb values, not actually translate it to hsv or smth 15:06:31 <peter1138> 8bpp_optimized isn't templated for whatever reason. 15:07:12 <locosage> and rgb isn't a particularly linear color space... 15:08:08 <peter1138> RGB remaps are probably even weirder ð 15:08:10 <_zephyris> locosage: Nope... I mean that as 32bpp brightness increases the result gets brighter, until some point the output can start getting darker 15:08:53 <peter1138> Hmm, that's probably a bug. 15:09:36 <locosage> I don't see it getting darker... are you sure it's not just monitor/viewing angle? 15:10:36 <_zephyris> https://cdn.discordapp.com/attachments/1008473233844097104/1123631544012124221/recoloured_annotated.png 15:10:36 <_zephyris> Annotated here 15:11:36 <locosage> ok, yeah, now I see it too 15:11:57 <_zephyris> It's a narrow corner case, you have to be masking near-white in the 32bpp image with a near-white TTD palette entry 15:12:17 <_zephyris> I was wondering if it was a deliberate simplification 15:12:27 <peter1138> There is code in ReallyAdjustBrightness to "reduce overbright strength", that's probably the culprit. 15:13:51 <_zephyris> Yeah, currently trying to understand it! 15:15:01 <_zephyris> Probably beyond my ability ð 15:17:51 <_zephyris> I'll do a bug report... 15:18:08 <locosage> your picture shows what it does better than the code itself xD 15:18:46 <locosage> it was introduced like that so seems intentional, though I've no idea why 15:18:46 <locosage> <https://github.com/OpenTTD/OpenTTD/commit/3ef77e55c5d552a58555f3d5eb7b7079b537fff3#diff-60b1f257c7413473f65f6f3925bff8e6617baf511bc0a6795ca61d74e34a2d25> 15:19:43 <_zephyris> locosage: Well, I just plotted all 65536 possible outputs! Sounds like cheating to me ð 15:21:20 <peter1138> > commit 3ef77e55c5d552a58555f3d5eb7b7079b537fff3 15:21:20 <peter1138> > Author: peter1138 <peter1138@openttd.org> 15:21:20 <peter1138> > Date: Sat Dec 24 23:33:45 2011 +0000 15:21:20 <peter1138> > (svn r23670) -Feature: Add ability to adjust brightness of colour after remapping for 32bpp sprites 15:21:29 <peter1138> ð 15:22:10 <peter1138> As suspected, it was me. I probably just made something up that looked okay with whatever I was looking at at the time. 15:22:26 <_zephyris> To be fair, its very close to perfect! 15:32:40 <peter1138> Also 12+ years before you found it ð 15:38:58 <jfs> can it be fixed? how many grfs depend on this now? 15:39:23 <_zephyris> jfs: Approximately zero, otherwise those GRF authors would have noticed! 15:39:51 <jfs> no I mean, someone might have noticed and thought, "hey I can use this for a special effect!" 15:42:13 <_zephyris> Mmm, possibly... Unlikely in my opinion, but you never know... 15:43:35 <peter1138> Probably not, it requires being at the limits of shading. 15:44:06 <peter1138> So probably can be fixed, if anyone can work out what I was trying to achieve in the first place... 15:44:54 *** HerzogDeXtEr has joined #openttd 15:45:52 <_zephyris> Yeah, that's what I think 15:46:08 <_zephyris> Like I said, I'll do a bug report, but super low priority IMO 15:49:36 <jfs> I'm guessing there might be some overflow or underflow in it? 15:50:18 <jfs> changing all the intermediate values to signed int32 would maybe change the result 15:51:35 <peter1138> It's not over/underflow, it's just a weird algorithm. 16:06:01 <DorpsGek> [OpenTTD/OpenTTD] zephyris opened issue #11079: [Bug]: In 32bpp, a bright palette entry for a sprite mask can cause darkening of bright pixels of the 32bpp sprite. https://github.com/OpenTTD/OpenTTD/issues/11079 16:06:27 <truebrain> finally a good reason to remove 32bpp! 16:06:29 <truebrain> (I am kidding!) 16:09:13 <FLHerne> don't tell the forum 16:09:45 <DorpsGek> [OpenTTD/OpenTTD] zephyris commented on issue #11079: [Bug]: In 32bpp, a bright palette entry for a sprite mask can cause darkening of bri2023-06-28T22:44:13 <kageblink> trying to remember where I saw those command lines lol 22:45:22 *** _aD has quit IRC 22:45:52 <_glx_> right click on the folder, you should have an option to open a command window 22:47:05 <kageblink> https://cdn.discordapp.com/attachments/1008473233844097104/1123746421011656704/image.png 22:48:02 <_glx_> so you're in the folder with your .nml file (and lang) 22:48:29 <_glx_> just type `nmlc <your .nml file>` 22:49:46 <kageblink> https://cdn.discordapp.com/attachments/1008473233844097104/1123747096554655835/image.png 22:49:46 <kageblink> hmmm 22:53:34 <kageblink> im hopeless when it comes to this stuff xD wish it was just a drag and drop exe or I just type into an interface and hit save lol 22:55:47 <LordAro> there is always https://truegrf.truebrain.nl/ 22:55:54 <LordAro> no idea if it does houses though 22:58:14 <DorpsGek> [OpenTTD/OpenTTD] LordAro merged pull request #11078: Backport master into release/13 https://github.com/OpenTTD/OpenTTD/pull/11078 23:00:32 <kageblink> sweet it's creating new project now ð 23:06:05 <kageblink> https://cdn.discordapp.com/attachments/1008473233844097104/1123751203378036856/image.png 23:06:05 <kageblink> this is mainly why, it's all the little things you gotta know 23:06:17 <kageblink> I fix them line by line but I don't know exactly whats going on lmao 23:07:59 <talltyler> Well, what's on line 9? 23:08:32 <kageblink> I fixed that, I'm down to line 3, name: string(BLNK_GRF_Object); 23:09:55 <kageblink> do I need to keep STR_? 23:10:20 <LordAro> if that's what you've got in your language file, yes 23:10:43 <kageblink> ooohhh 23:15:00 <kageblink> I have no idea 23:15:12 <kageblink> https://cdn.discordapp.com/attachments/1008473233844097104/1123753499545575454/image.png 23:15:23 <kageblink> ```grf { 23:15:23 <kageblink> grfid: "\FB\FB"; 23:15:23 <kageblink> name: string(STR_GRF_NAME); 23:15:23 <kageblink> desc: string(STR_GRF_DESCRIPTION); 23:15:23 <kageblink> version: 0; 23:15:25 <kageblink> min_compatible_version: 0; 23:15:25 <kageblink> } 23:15:27 <kageblink> item (FEAT_OBJECTS, item_TestObject_1) { 23:15:27 <kageblink> property { 23:15:29 <kageblink> class: "BLNK"; 23:15:29 <kageblink> classname: string(STR_NLRF); 23:15:31 <kageblink> name: string(STR_TestObject_1); 23:15:31 <kageblink> climates_available: ALL_CLIMATES; 23:15:33 <kageblink> size: [1,2]; 23:15:33 <kageblink> build_cost_multiplier: 2; 23:15:35 <kageblink> remove_cost_multiplier: 8; 23:15:35 <kageblink> introduction_date: date(1961, 1, 1); 23:15:37 <kageblink> end_of_life_date: 0xFFFFFFFF; 23:15:37 <kageblink> object_flags: bitmask(OBJ_FLAG_REMOVE_IS_INCOME, OBJ_FLAG_NO_FOUNDATIONS, OBJ_FLAG_ALLOW_BRIDGE); 23:15:39 <kageblink> height: 2; 23:15:39 <kageblink> num_views: 4; 23:15:41 <kageblink> } 23:15:41 <kageblink> graphics { 23:15:43 <kageblink> additional_text: string(STR_TestObject_1_PURCHASE); 23:15:43 <kageblink> } 23:15:45 <kageblink> }``` 23:15:45 <kageblink> english.lng 23:15:47 <kageblink> ```##grflangid 0x01 23:15:47 <kageblink> STR_GRF_NAME :Blink Object GRF: Object 23:15:49 <kageblink> STR_GRF_DESCRIPTION :{ORANGE}Blink Object GRF: Object{}{BLACK}This NewGRF is intended to provide a coding example for the high-level NewGRF-coding language NML.{}Original graphics by {SILVER}planetmaker, {BLACK}coding by {SILVER}planetmaker.{}{BLACK}This NewGRF defines a tile which can act as company-land replacement. 23:15:49 <kageblink> STR_VERSION_22723 :1.2.0 (r22723) 23:15:51 <kageblink> STR_NAME_OBJCLASS_INFRASTRUCTURE :Infrastructure 23:15:51 <kageblink> STR_NAME_COMPANY_LAND :Company land``` 23:16:05 <kageblink> https://cdn.discordapp.com/attachments/1008473233844097104/1123753720019165245/test_object.nml 23:16:10 <kageblink> https://cdn.discordapp.com/attachments/1008473233844097104/1123753739413639239/english.lng 23:17:14 <talltyler> `STR_NLRF` doesn't exist in your language file ð 23:17:34 <LordAro> nor does STR_TestObject_1, or STR_TestObject_1_PURCHASE 23:18:14 <FLHerne> kageblink: a bit late, but I made a really minimal example object project https://www.flherne.uk/files/simple.zip 23:18:30 <talltyler> Ah, those probably correspond to the unused strings in your language file, and they just need to match 23:20:15 <kageblink> gonna start from absolute scratch here 23:20:43 <kageblink> https://cdn.discordapp.com/attachments/1008473233844097104/1123754887914721360/image.png 23:20:43 <kageblink> The brackets are what I change? 23:20:57 <kageblink> or NAME and DESCRIPTION 23:21:01 <kageblink> or do I leave that? 23:23:10 <LordAro> what you've got there looks fine as far as strings are concerned 23:23:44 <kageblink> that's the base code from https://www.tt-wiki.net/wiki/NMLTutorial/Object 23:24:22 <kageblink> like yea I can just save it all out and call it a day but if I want to make more assets I need to start naming stuff right 23:25:44 <FLHerne> kageblink: it's a lookup table, nothing more 23:26:02 <kageblink> https://cdn.discordapp.com/attachments/1008473233844097104/1123756222064099339/image.png 23:26:02 <kageblink> just gonna do this lol 23:26:39 <kageblink> https://cdn.discordapp.com/attachments/1008473233844097104/1123756379530874880/image.png 23:26:39 <kageblink> well 23:26:44 <FLHerne> for every string(STR_XYZ) on the left in *.nml, you need a corresponding STR_XYZ :some text on the right in english.lng 23:28:12 <kageblink> https://cdn.discordapp.com/attachments/1008473233844097104/1123756768720334878/image.png 23:28:13 <DorpsGek> [OpenTTD/OpenTTD] LordAro approved pull request #11082: Codechange: let IConsoleCmdExec accept std::string https://github.com/OpenTTD/OpenTTD/pull/11082#pullrequestreview-1504369405 23:28:36 <FLHerne> if you add `name: string(STR_NAME_PAINTED_WOMBATS) ` to test_object.nml you need to add `STR_NAME_PAINTED_WOMBAT :Painted Wombat (?)` to english.lng 23:29:33 <kageblink> https://cdn.discordapp.com/attachments/1008473233844097104/1123757110749040660/image.png 23:29:33 <kageblink> ? 23:30:23 <FLHerne> oh, that's because the example has IRC Log Viewer defined in custom_tags.txt which you don't have 23:30:32 <FLHerne> just replace it with some normal text 23:30:58 <FLHerne> "kageblink's test grf" would do fine 23:31:00 <kageblink> https://cdn.discordapp.com/attachments/1008473233844097104/1123757475187933274/image.png 23:31:00 <kageblink> heyyy ð ð 23:31:11 <FLHerne> yay 23:32:53 <kageblink> https://cdn.discordapp.com/attachments/1008473233844097104/1123757948720664657/image.png 23:32:53 <kageblink> hmm not showing up 23:34:05 <kageblink> https://cdn.discordapp.com/attachments/1008473233844097104/1123758249708101723/image.png 23:34:05 <kageblink> ohhh put it in the documents Documents\OpenTTD\content_download\newgrf 23:34:45 <LordAro> ideally just OpenTTD\newgrf 23:34:55 <LordAro> content_download is for, funnily enough, downloaded content 23:35:52 <kageblink> I just put it in the first place I saw other files lol 23:36:03 <kageblink> https://cdn.discordapp.com/attachments/1008473233844097104/1123758745671979028/image.png 23:36:03 <kageblink> ok so 23:36:06 <FLHerne> it doesn't really matter 23:36:37 <LordAro> i said ideally :p 23:37:03 <kageblink> yeah I'll make a new folder just as you said and put it htere xD 23:37:49 <_glx_> it should have created the tree at first start 23:38:13 <kageblink> hmm 23:38:20 <kageblink> https://cdn.discordapp.com/attachments/1008473233844097104/1123759320539070486/image.png 23:38:20 <kageblink> it's just showing this 23:38:52 <_glx_> so you have a class, but is there an object defined ? 23:39:39 <FLHerne> you're still short some graphics 23:40:02 <kageblink> oh forgot to name the image 23:40:08 <FLHerne> needs a spriteset and so on 23:40:12 <kageblink> https://cdn.discordapp.com/attachments/1008473233844097104/1123759790129160232/image.png 23:40:12 <kageblink> it's still 23:40:30 <kageblink> https://cdn.discordapp.com/attachments/1008473233844097104/1123759864213143572/image.png 23:40:30 <kageblink> is this what I name it? 23:40:49 <FLHerne> do look at https://www.flherne.uk/files/simple.zip maybe? 23:40:50 <_glx_> no that's some extra text 23:41:00 <FLHerne> the wiki example is a bit all over the place 23:41:27 <FLHerne> it's all there, but it's spread over a few pages in a really confusing way 23:41:45 <_glx_> you want `default` 23:42:03 <kageblink> yeah I've been looking at those files, but there's so much explaining there too 23:42:48 <kageblink> https://cdn.discordapp.com/attachments/1008473233844097104/1123760441684938795/image.png 23:43:01 <kageblink> what kind of language is this? 23:43:17 <FLHerne> kageblink: no, I rewrote it to be even simpler 23:43:20 <kageblink> oops. not criticizing in anyway, genuinely asking the language of the code xD 23:43:31 <_glx_> it's nml 23:43:39 <FLHerne> you can criticise it, the docs are a mess 23:43:59 <_glx_> and you're lucky nml exists ð 23:44:12 <_glx_> before you would have to use nfo 23:44:28 <_glx_> and nobody should use nfo 23:44:48 <kageblink> that's the truth, lol I'm feeling that way about the game in general lol been looking for this ever since playing roller coaster tycoon as a kid xD 23:45:20 <kageblink> ok so, .png goes where? 23:45:34 <_glx_> in a spriteset 23:46:10 <kageblink> https://cdn.discordapp.com/attachments/1008473233844097104/1123761289743827024/image.png 23:46:10 <kageblink> ohh this? 23:46:16 <FLHerne> so the version I uploaded is different to the one you're quoting 23:46:32 <kageblink> oh okay 23:46:44 <_glx_> a spriteset contains the sprites you will use in the spritelayout 23:47:03 <FLHerne> oops, just realised I forgot to change the comment 23:47:35 <FLHerne> so ignore the line "Graphics, found in cc_grid.png (in the same folder)", it's now in gfx/squares.png 23:47:35 <kageblink> https://cdn.discordapp.com/attachments/1008473233844097104/1123761648918867979/image.png 23:47:35 <kageblink> Ohhh, the one you just linked 23:48:18 <FLHerne> that's the one I mean, yes :-) 23:48:43 <kageblink> https://cdn.discordapp.com/attachments/1008473233844097104/1123761932286054471/image.png 23:48:43 <kageblink> So I add my png here? 23:49:04 <FLHerne> no magic auto-slope-detection, it's just a pink tile and a blue one 23:49:10 <_glx_> and this spriteset uses a template (not mandatory but reduce copy paste when project has many items with similar images) 23:49:31 <FLHerne> kageblink: yes 23:50:09 <FLHerne> kageblink: if you look at gfx/squares.png you can see the base tile shape 23:50:11 <_glx_> put the spriteset and sprite layout before your item 23:50:37 <FLHerne> if you need a taller sprite the offsets in the template will want changing 23:50:54 <_glx_> because you'll need to add `default: sl_pink_square` to the graphics section of the item 23:51:47 <kageblink> https://cdn.discordapp.com/attachments/1008473233844097104/1123762704767795320/image.png 23:51:47 <kageblink> like this? 23:52:29 <_glx_> spriteset lists the sprites, spritelayout tells how they are assembled, and graphics section tells which layout to use 23:52:53 <_glx_> and you need the template too ð 23:53:41 <kageblink> ohhhh okay I'll redo from the template 23:54:18 <kageblink> Is there any way to get vscode to display the code formatting correctly? Not just the white text lol 23:54:31 <_glx_> yes, there's an extension 23:55:24 <kageblink> https://cdn.discordapp.com/attachments/1008473233844097104/1123763613010767882/image.png 23:55:24 <kageblink> ommg this is so much simpler to read, thank you! 23:57:23 <_glx_> and I think some people just do it with notepad (they are crazy) 23:58:02 <FLHerne> kageblink: fwiw the 1+(80*n) is because the sprites in squares.png are 80 pixels apart with a 1-pixel border 23:58:51 <FLHerne> so if you keep adding sprites to the row, you can address them by tmpl_groundsprites(n) 23:59:16 <kageblink> I see