Language…
18 users online: akawo, Alex No, CroNo, DanMario24YT, Gemini0, Golden Yoshi, Green, Hammerer, kurtistrydiz,  MarioFanGamer, MarkVD100, mtheordinarygamer, rafaelfutbal, Rykon-V73, Spedinja, steelsburg, superbot12, Tulip Time Scholarship Games - Guests: 290 - Bots: 624
Users: 64,795 (2,370 active)
Latest user: mathew

Sprite Map16 + Custom Sprite Lists

Recently FuSoYa has created a feature known as SpriteMap16, for use with your custom sprites to make them show correctly in-editor. I found this to be cumbersome the first time but now that it's figured out I can help you.
You'll need:
1. Basic Map16 Skills
2. Custom Sprites
3. Lunar Magic VERSION 1.64 OR HIGHER! NO OTHER VERSION WILL WORK.
Okay.
A note: THIS DOES NOT AFFECT THE GAME. AT ALL. THIS SIMPLY LETS THINGS DISPLAY CORRECTLY IN LUNAR MAGIC.

I hate reading!
There's a video tutorial here if you'd like.

1. Pick the custom sprite you want to use. Get it's sprite number.
2. Make a new .txt file. Put in the number of the sprite you will edit and then press file > save as.
3. There, change the bottom box (it should say .txt or something like that) to "all files."
4. Name your .txt file (your rom's name).ssc . Make sure it is in the same folder.
5. Open up your hack in Lunar Magic.
6. Open up the Map16 editor.
7. Press ctrl+shift+page down.
8. Now, go to page 0x20 (yes, you have that now! However it cannot be used in the actual game AT ALL. DO NOT TRY. IT IS SIMPLY A REPRESENTATION OF SPRITE GFX.)
9. Now you can treat these tiles just like regular map16 tiles. Go to "edit 16x16 attributes" and change the tile to the tile of the sprite GFX (8x8 editor) you want just like normal. Or, just click > right click on position.
(Note: You can edit regular sprite's graphics as well but the differences are numerous enough I suggest you just read the help file for that.)
10. Take any tiles you want and put them on page 24 and up. Do not use 23 and below because it just won't work with sprites period.
11. Awesome. Got the graphics you want? Press ctrl+shift+f9 to save the data (yes, just like map16 in regular LM except with ctrl+shift.) (A note- if you will use the 8x8 tile idea, DO NOT use the regular 8x8 tile numbers. Replace the first number- probably 2,3,or 4- with 1 or 0. Pretend like page 2 is the start of the 8x8 editor stuff.)
12. Now comes the customisation part. First, you will want to name the custom sprite. Remember that .ssc (.txt) file you made in step 4? Open it up again. You should have the sprite number of the custom sprite you are using there. I will use 10 as a example.
You would have:
10
and that's it.
13. Now you need a description for the sprite. The format for the .ssc file should be as follows:

{Sprite Number}(TAB){Type}(TAB){Description}

Now, it's pretty clear, but you may be wondering about "type." Well, this is pretty easy.
20 = this is a custom sprite when the extra bit (extra info = 2) is not set. Most sprites do not use extra info = 3 so this is all you usually need.
30 = this is when a custom sprite DOES use the extra bit. However, it needs a seperate entry from 20. If you use the extra bit but only 20 is set, that's fine. This will take from 20 instead.
This isn't quite clear, so here is some examples.

Sprite 13, with extra info only using 2. It is a beezo.
13 20 A beezo that flies from SMB2.

Sprite 14, with extra info using 3 AND 2. It is, say, a floating pickle.
13 20 A pickle that floats.
13 30 A pickle that floats. BUT if you are seeing this message, it is also shooting plants at the player because the extra bit is set!

As you can see, the extra bit (extra info at 3) requires a completely different entry. Keep this in mind.

Now, how about 3 sprites- 10,11,12- where 10 and 12 use the extra bit.
10 20 A SMB1 goomba.
10 30 A SMB1 goomba that walks fast because the extra bit is set.
11 20 A crab from Mario Brothers.
12 20 A upside-down podobo.
12 30 A fast upside-down podobo. Extra bit is set.

Not all that bad, right?

14. Now you can specify the tiles so that it not only has the right description, it has the right graphics too. Both this AND the description section go in the same .ssc file!
I like to organise this so while the description area and tile area can probably go in any order, it's best to do this.

The tile format is as follows:
{Sprite Number}(TAB){Type}(TAB){X Offset}(COMMA){Y Offset}(COMMA){Tile}

This requires a lot more explanation.
X offset is the PIXELS in decimal that the tile is displaced. 16 is one full tile over. This is a bit tricky to work with so just do your best to tweak with it for a while. Y offset is the same but in the Y direction. The higher the number the lower down it is.
Tile: This is the tile that you set up in the sprite map16. BUT! It is not 2400 or 2523 or 24A8 like you think. Open up your calculator, go to view > scientific, and then select hex. Now take the tile number you have and SUBTRACT 2000. For instance, tile 2456 is now 456. And 25A9 is now 5A9. DO NOT forget this step!
Type is almost always 22. I will explain when it would be 32 below.

Now, you can draw more than one tile, we will get to that later.
Let's say sprite A9, which will use tile 2478, which is a pickle GFX. I also want the regular pickle description. Here is what I would do in the .ssc file:
A9 20 A flying pickle.
A9 22 0,0,478

That 22 IS A MUST! Otherwise this will just be a description. Make sure it is 22!

That would create a pickle tile right on the sprite.

How about a beezo (GFX tile 2677 and 2679) that has two tiles:
B8 20 A beezo from SMB2.
B8 22 0,0,677 0,16,679

Did you notice how there is a space? Think of the tile as a "section." You separate this section by a space! Just make a space and start again to draw more tiles. You'll also notice the 0,16- this tile is one tile down from the original one.

Now here is where you would use 32. How about a sprite (number 17) that uses 4 graphics tiles. BUT! It also uses the extra bit to determine if they are a green palette or blue. If you don't have different graphics for this type, it will just use the 22 graphics.
17 20 A generic boss.
17 30 A generic boss using a blue palette.
17 22 0,0,278 0,16,27A 16,0,27C 16,16,27E
17 32 0,0,281 0,16,283 16,0,285 16,16,287

32 is used like 30, only for the tiles. It allows you to change the graphics tile based on the extra bit.

15. Save and then close Lunar Magic. Re-open it and bam, your sprites should be all nice and prissy! :D

Here is another example.

17 20 A sprite that kills mario when he touches it.
17 22 0,0,898 0,0,288
18 20 A shyguy.
18 30 A blue shyguy.
18 22 0,0,400
18 32 0,0,402
19 20 Test sprite
19 30 Test sprite with new feature.
19 22 0,0,500 0,16,678

(Because on 19 is did not specify 32, they will use the same graphics.)

Here is another, straight from my hack:

11 20 A enemy from SMB2 that flies.
11 22 0,0,502
12 20 A snift that will shoot little missles at Mario.
12 22 0,0,503
13 20 A shyguy.
13 22 0,0,500
14 20 A Tweeter.
14 22 0,0,501
15 20 A hopping YI muncher.
15 22 0,0,504
16 20 A hedgehog that extends spries when Mario gets close.
16 22 0,0,505
18 20 The firebar.
18 22 0,0,507 -16,0,507 -32,0,507
19 20 A SuperFirebar.
19 22 0,0,507 -16,0,507 -32,0,507 -48,0,507 -64,0,507 -80,0,507
1A 20 The Koopa generator
1A 22 0,0,506 0,16,516
1B 20 The VWF cutscene tool activator.
1B 22 0,0,50B
1C 20 The message handler sprite for the VWF. Message is determined by x/ypos.
1c 22 0,0,50A 0,0,509
1E 20 The BushMonster. This guy quikly runs and climbs up walls.
1E 22 0,0,508

Another little note- you can superimpose graphics (make them overlap) and they will still show properly. So you can do
11 22 0,0,500 0,0,501 and they will overlap not just overwrite. I use this in the VWF message determiner entry.

Obviously this is not easy to get and all questions are appreciated and will be answered.

Custom Sprite Lists:
(Keep in mind that this does not insert sprites; but it does let you make a list for the custom sprites.)
Open up your sprite inserter and you may notice that "custom sprite list" part. There is a lengthy and cumbersome way to add to this list, but I like this way better:
1. Insert the sprite
2. Select it. Move it to the first screen, on position 7,7. (You can tell what position you are at on the bottom-left of Lunar Magic.)
3. Press Ctrl-Shift-F12.
4. Done. Repeat for more entries.
If you make a mistake with your entry, just open up (yourrom'sname).mwt and delete a entry.
Good tutorial, it helped me a lot.
I vote for sticky
But why the sprite doesn't appears in "Custom Collection of Sprites"?
i just lurk sometimes
Eh? That's not it's design. This feature simply makes it appear correctly in the editor. For it to appear on the list:
Open up your sprite inserter and you may notice that "custom sprite list" part. There is a lengthy and cumbersome way to add to this list, but I like this way better:
1. Insert the sprite
2. Select it.
3. Press Ctrl-Shift-F12.
4. Done. Repeat for more entries.

Wow this helped me really much. I vote for sticky as well.Nothing to put here at the time being.
Thanks to Tom Servo for the awesome new layout!
Seems a bit complicated, but it'll definatly make things easier. Great tutorial maxx! I'll join the band wagon and vote for a sticky as well.
This is really useful. I vote for sticky, just like everyone else has.
Your layout has been removed.
Wow this really explains how to use it and it's really not all to complicated just tedious I vote for a sticky
I find the whole process more annoying than it's worth. I'll still use it for sprites I release, but otherwise...
Thanks for this tutorial, Maxx. That's easier than I thought. I still have one small problem though: How would I go about editing the "Custom Sprite Collections" list? I accidentally put the same sprite in there twice, and there doesn't seem to be any way I can edit the list. Also, is it possible to add the appropriate sprite GFX to the list?

By the way, I'd like to sticky this tutorial, but in my opinion, there's too much stickies up there already... Would anyone have anything against merging the three tutorials about LM stuff together to one single sticky in N00b or Basic?




 

Extras



I should have something witty to put here (even if it's just to update dated info), shouldn't I?

Advertising Space

Originally posted by WhiteYoshiEgg
Thanks for this tutorial, Maxx. That's easier than I thought. I still have one small problem though: How would I go about editing the "Custom Sprite Collections" list? I accidentally put the same sprite in there twice, and there doesn't seem to be any way I can edit the list.


I just manually went into the *romname*.mwt file and removed the dupes out to solve that problem.

Oh, so that's where the info is stored. Thanks! That still leaves the GFX question open though.


 
Well, I got the sprite description and got it on the list. :>
Now to figure out how the Map16 works.

Thanks for the tutorial, it is really helpful.
/me votes for sticky
I just dont get how steps 9 and 10 work.. how can I use sprite custom sprite GFX?!
Your layout has been removed.

Extras



I should have something witty to put here (even if it's just to update dated info), shouldn't I?

Advertising Space

Originally posted by WhiteYoshiEgg
That still leaves the GFX question open though.



I think you have to have inserted the Map16 info into the SSC before you added it to the list. Otherwise you'll have to remove the respective pieces of info from both files and do the SSC stuff first.

Maxx, I <3 you.

In all seriousness though, I really appreciate this tutorial - although it is a bit extensive, it turned out extremely understandable. Thanks for sharing your discovery to us! ^_^
Originally posted by WhiteYoshiEgg
By the way, I'd like to sticky this tutorial, but in my opinion, there's too much stickies up there already... Would anyone have anything against merging the three tutorials about LM stuff together to one single sticky in N00b or Basic?

Yes, I feel any organizational effort is always a plus. As for the tut, it's very detailed and well explained. Nice job.

World Community Grid: Thread | Team
 
Sounds like this will have a lot work cut out for all of us!
Your layout has been removed.
I have one problem with this: I don't seem to have a page 24 or 23. It unlocks only pages 20 to 22.
Thanks for those kind words, guys. ^_^ Broozer I love you too

WYE: Not that I know of. It uses the current graphics loaded regardless because, well, it would be hard to upload new GFX and you couldn't tell if the level had the right GFX. I would say just put (Use SPx) after the name of the sprite. Or organize the number by the SP.

Ripperon-X: Are you serious? Did you press exactly ctrl+shift+page down? I've never heard of that.

Leod:
This does not affect the game. At all. Just the editor. And 9 and 10 are just basic map16 stuff. Do you know how to use map16? Make sure you are pressing ctrl+shift+page down. This tutorial is not one that you can just skip steps!
Originally posted by Maxx
Ripperon-X: Are you serious? Did you press exactly ctrl+shift+page down? I've never heard of that.


I had an older version of Lunar Magic. That was a problem. Tried this tutorial and it's surprisingly easy. Thx for it. Though there's a little problem not fatal at all:



In the centar, there should be a small Yoshi's Island Piranha Plant sprite. Though it shows in the level that you want to edit, it doesn't show in this custtom menu. But I don't really mind that.

Here's the customisation I did in the .ssc file(if helps):
06 20 This piranha grows and tries to bite Mario, if he gets close. If Mario's far, he reverts back to its smaller size.
06 22 0,0,400