Config
Log for #openttd on 28th June 2023:
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

Powered by YARRSTE version: svn-trunk