Welcome to my tutorial on Map16.
Here, I will show you what Map16 is exactly, how to assign and arrange 8x8 tiles into the Map16 tile editor and how to save Map16 data and transer said Map16 data into another project.
Table of Contents
What is Map16?
As you probably already know, SMW (and SNES games in general) uses graphical tiles which consist of 8x8 pixel dimensions and 16x16 pixel dimensions.
The 8x8 tiles are pretty straight forward and need no arranging as they are of the minimal dimensions already.
However, the 16x16 pixel tiles are clusters of four 8x8 pixel tiles (obviously) and therefore need further instructions on how they are arranged. Map16 is the data that commands these instructions.
Please look to the top menu-bar of Lunar Magic. You will find this button, circled in red.
Clicking this button will bring up the a small window called the "8x8 Graphics Editor" which looks like this.
You will see an assortment of SMW graphical vomit with "off" looking colors. This "vomit" is every 8x8 graphic tile that has been inserted into this level.
However, remember when I said the 16x16 tiles need further instructions? There is literally NOTHING telling these tiles how to be arranged. This is where Map16 comes in.
To the very right-hand side of the 8x8 Graphics Editor button, you will find the "16x16 Tile Map Editor".
Upon clicking this button, you will see a window that looks like this.
This is essentially where all Map16 data is handled, assigned and arranged.
Okay, but how do I arrange the 8x8 tiles into this thing?
Great question. Let's go back to our 8x8 Graphics Editor.
Please hover your mouse over any of the tiles, and you will see numbers at the bottom of the window, varying depending on which tile is hovered over.
As you can see, I am hovering over the top-left corner of this block. The number that I have circled in red is the number you will be paying attention to for now. This number is the hex code that this particular 8x8 tile is assigned to.
Not as intimidating as it sounds. These hex code numbers are simply the games way of knowing which tile is which and where it goes, and our way of telling Lunar Magic, "This is the tile I need, here's the number for it, put it here!"
I will now move my mouse to the top-right corner of this block.
Notice the number has changed to "7". As you can guess, these "corners" are 8x8 pixels and the whole block is 16x16 pixels.
The bottom two corners of this 16x16 "block" is 16 and 17. The next two 8x8 tile down will be 26 and 27 Notice the relativity in the numbers?
This is a small glimpse of the pattern in which hex code counts upward. I suggest you run a small search on how to count up in hex code. It's pretty straight forward once you realize the pattern. A very basic knowledge of this may help with arranging tiles in Map16 without needing to hover your mouse over every single 8x8 tile.
I know, I'm straying, but it really helps and it may make things easier in the long run.
Let's get back to our lesson. Please return to the 16x16 Tile Map Editor. Find the button on the left-hand side of the editor that says, "Page". Next to "Page", on its right-hand side, you will find a text-field that probably says, "40".
Ignore the "40" for now (Page 40 is where background tiles are handled for future reference), and delete it.
Type in "3" and click the Page button. You will see a blank slate. Presumably this is page 3. This is your canvas, your oyster, your playground if you will.
VERY IMPORTANT! Yes, page 2 is also blank, but you most definitely want to use page 3 for any 16x16 tile arrangement just to be safe. Many seasoned SMW hackers will highly recommended this.
Can I finally start arranging tiles now?
Yes. Pull up the 8x8 Graphics Editor and place it side-by-side with the 16x16 Tile Map Editor.
Let's find that block we were just working with in the 8x8 Graphics Editor, just for the sake of familiarity. Remember that there are those numbers in hex to which those 8x8 graphic tiles are assigned.
Now, go to the 16x16 Tile Map Editor. There, on the left hand side you will see a panel of buttons (not including the top menu-bar).
The top four button will tell you what their function is upon hovering your mouse and the "Flip X" and "Flip Y" buttons should be self-explanitory.
Below those, are two pull-down menus titled, "Palette" and "Priority", four blank text fields stacked in increments of two, and a fifth text field on the right-hand side of "Act as".
Now, remember those hex numbers of the "block" graphics in the 8x8 Graphics Editor: 6, 7, 16 and 17? If not, just find the "block" in the 8x8 Graphics Editor, hover your mouse over the 8x8 tiles, and it will tell you.
Back to those four text fields in the 16x16 Tile Map Editor. Picture those being your 16x16 tile visually.
In the top-left, type in "6" (Yes, the hex number in the block);
In the top-right, put "7";
And bottom-right, "17";
Your result should look like this.
Congratulations! You have sucessfully arranged your first 16x16 tile!
However, typing numbers for each 8x8 tile can get quite tedious. Thankfully, there's a much quicker method for inserting 8x8 tiles into Map16.
You can find in the top menu-bar these two buttons:
The first one allows you to switch between your cursor selecting 8x8 tiles and 16x16 tiles, while the second one looks identical to the button for opening Lunar Magic's 8x8 Graphics Editor. Basically, this second button has a similar functionality to that editor, except it allows you to pick 8x8 tiles from the window it opens (8x8 Tile Selector).
First of all, press the first button so you can select 8x8 tiles. Now press the second button to open the 8x8 Tile Selector. In that window, press Page Up or Page Down to scroll through palettes until you find the one your 8x8 tile uses, then select your tile and paste it into the 16x16 Tile Map Editor with a right mouse click. You can select and pick multiple tiles with the 8x8 Tile Selector as well. The image below illustrates this method:
There! Your 8x8 tiles are now in your Map16 and with their correct palette already assigned!
By keeping the first button of those mentioned above toggled (8x8 editing mode) you can also make more detailed arrangements in the 16x16 Tile Map Editor, by selecting clusters of 8x8 tiles instead of 16x16.
Wait though! The colors are still messed up!
So, you happen to have Map16 tiles with the wrong palette assigned and the colors are off. Don't worry, you can easily change their palette in the 16x16 Tile Map Editor.
In the panel highlighted in the earlier image of the 16x16 Tile Map Editor
, there are those two pull-down menus. The first of which says "Palette". This is where the palettes/colors are set per each tile. (You can also set the palette to multiple tiles simultaneously by dragging your cursor across your chosen cluster of tiles).
To select a palette, you can either scroll through palettes in the menu until you find the correct one, or you can go to the 8x8 Graphics Editor and scroll through the palettes by pressing Page Up and Page Down, find your palette and punch into 16x16 Tile Map Editor the selected palette-number shown in the 8x8 Graphics Editor.
Awesome! So what does this tile do in-game?
This is where we assign our 16x16 tile's behavior. Remember that "fifth" text field I mentioned? The one next to "Act as"? You will see that it says "130". It is always set this way by default upon arranging a 16x16 tile.
You see, much like tiles are assigned a number in hex code, so are the objects in SMW (blocks, ground, pipes, etc). 130 is the behavior of a cement block in SMW. Mario cannot pass through it from any direction nor can he break it. (As a side note, one could consider tile 25 or even 3F to be 130's opposites. Any tile assigned to 25 or 3F will be passable from all sides in-game.)
There's a chance you don't want to use 130's behavior, so let's find the one we want.
You can hover over already-made tiles on Map16 pages 0 and 1 and find out the behavior of certain vanilla blocks and whatnot.
You can also refer to this extremely helpful thread
. In the section titled "Objects", there is a series of images showing the hex numbers for the appropriate ground tiles for your level.
Anything else I should know?
As a matter of fact, yes.
Much like Lunar Magic's level editor, in order to duplicate tiles, simply select it (or multiple by dragging your selection across with your cursor) by clicking, finding the place where you wish to paste your tile, and right-click. These tiles can also be dragged anywhere in the page, but be wary of overwriting an existing tile. Thankfully there's that undo button.
There is also something rather important that I should address!
Once you've completed making your level and you move onto the next level, in page 3 of the 16x16 Tile Map Editor, where you've arranged your tiles, you will probably see a garbled mess in their place.
DO NOT PLACE YOUR NEW LEVEL'S TILE IN THIS AREA! Those tiles are assigned universally regardless of the level. Do not arrange them, do not overwrite them, do not delete them, just don't touch them unless you're returning to the level in which they were set and plan to make intentional edits to that level.
One more thing!
Do you remember me mentioning that pull-down menu that says "Priority"? The function of this menu is very simple.
This sets whether a tile is shown "in front of" or "behind" Mario (or whatever character), the sprites and even other layers. Meaning, will the tile obscure those objects from the player's view when they pass it, or will the tile BE obscured by said objects? (Often assigned to 25's and 3F's behavior)
To place the tile "in front", set the priority to "On".
To place the tile "behind", set it to "Off".
VERY IMPORTANT BEFORE YOU CLOSE LUNAR MAGIC!
YOU MUST SAVE YOUR MAP16 DATA TO YOUR ROM!
Even if you save your level to the ROM, your newly created Map16 data will be ignored unless you do as instructed ahead.
In order to save, either click the "disk" icon second to the left-hand side of the top menu-bar of the 16x16 Tile Map Editor or press F9. If you close Lunar Magic without doing this (even after saving your level), all of of your work is kaput. NEVER EVER EVER EVER EVER forget to do this.
In fact, do it habitually as you make your 16x16 tiles.
Can I transfer my Map16 data to another ROM?
Yes, you can!
Drag your selection over all desired tiles and click this button.
To import the data, select a tile in your new project (or whatever project) and click this button. This can also be used to transfer your Map16 data into another level within the SAME ROM. (Be careful not to let your imported tiles overlap any tiles you already have in the 16x16 Tile Map Editor of your new ROM!)
To export/import ALL Map16 data, use these two buttons.
That should be everything! If you have a question, there are some rather helpful folks in the SMWC Discord server. If there's anything I missed, please PM me.