Update - (May 3rd, 2017): Added a paragraph to the Palette Mask section to further clarify the importing/exporting process. Pictures may be added in the future if needed.
Welcome! Whether you're a beginner, or an experienced user who simply wants to relearn a couple things, this tutorial aims to teach you in a brief manner how to use one of Lunar Magic's many editors—the Palette Editor
. For good reason, too. Levels are made up of more than just the placed sprites and blocks, after all! The palette, if utilized correctly, can play a very important part in giving your level a particular 'feeling', or atmosphere, which can make it even more unique than they would be otherwise. Palettes can change a boring looking cave level into a chilly, ice-coated cavern, or if that's not what you're going for, then they can also change said cave level into a hot, treacherous volcano. These are only a couple of examples, but you get the point.
Just as a fair warning, though: if you clicked this tutorial in the hopes of learning how to make aesthetically pleasing palettes, then you're sadly out of luck. Such a subject generally requires at least a barebones understanding of color theory, and I am by no means experienced in that field. The community's here for a reason, so feel free to ask questions and get feedback from your fellow users.
With that out of the way, let's delve into the Palette Editor
Welcome to the Lunar Magic Palette Editor!
Once you have your rom opened in Lunar Magic, click on the
in the center of the toolbar. This is what you'll see. (Note: if you've edited the level before, or if you're not on Level 105, then the block of colors on the left may be slightly different. Pay no mind to this for now.)
This interface may seem a little complex at a first glance, but it's like most of Lunar Magic in that once you get the hang of it and know how everything works, then it's actually very user-friendly. It's not too gimmicky, and aside from the coin's color it's also not very flashy. There are no pointlessly complex, yet specific features that only help certain users, so it's all easy to learn—even for beginners. Allow me to break down what the Palette Editor can accomplish.
This previously mentioned “block of colors” is the CURRENT LEVEL'S PALETTE
aside from the Back Area Color
, which is located separately from the rest of the palette. For levels, the whole palette is split into 16 (0-F) palettes with 16 (0-F) colors in each row. Well—15, actually—because the first color of every row is transparency, and as far as I'm aware you cannot effectively alter it. Of these 16 palette rows, the top 8 rows (palettes 0 through 7) are used mainly for the Foreground and Background, like pipes and blocks. The 8 rows at the bottom (palettes 8-15) are used for sprites, including Mario himself. Keep that in mind.
Editing most of these is pretty simple (if you look in the bottom right corner of the menu it even tells you the controls!), and to sum it all up:
- Left click on a color to edit.
- F3 while hovering over any pixel in any open window to copy its color. (Note that this can actually be used on other open programs, though the Palette Editor window must be active within Lunar Magic during this.)
- Control+Left click on a color to copy, and Control+Right click (or just simply Right click) on another color to paste over it.
- Control+Alt+Left click on a color to copy its entire row, and Control+Alt+Right click on another color to paste the entire row over it.
- Alt+Right click on two colors to set the end points of a gradient. I saved this one option for last because when I first tried using it myself, it actually ended up confusing me. To avoid any hypothetical confusion, I'll just quickly explain what this means, and how it could be utilized. For example, say you were editing the sky, and wanted to make a nice transition from a light blue to a darker shade of blue. To accomplish this you would first choose the lightest color of the sky, or the beginning of the gradient, like so:
Then, you would choose the darkest blue in the sky, or the last color in the gradient:
After that, you would then Alt+Right click on both of the colors (it doesn't matter which order you click on them). It should show you something like this:
Voila! And just like that, the program automatically chose a selection of inbetween colors between the two on the outside, giving you a nice transition from light to dark. You're not limited to just five colors either, you can do as many as want, even so far as to stretch across several palettes*. They don't even have to be the same color!**
*Be aware though that making gradients that long generally isn't advised, since you would be potentially overwriting the palettes of various other SMW elements, and very rarely do you need that gradual of a transition, anyway.
**Do use caution when choosing to do this, as some colors simply do not fade together in a way that looks visually appealing.
Next, the numerous dropdown boxes you see in the middle of the right side of the editor are collectively the LEVEL HEADER SETTINGS
. These allow you to choose from eight different preset options of colors for the foreground
, back area
(that area behind
the background itself, which is usually the sky's color), and the sprites
, or you can even separately edit each of the presets to your liking. One thing should be noted, however.
The listed “Mario Palette” is somewhat of an exception in that instead of having the eight presets that the other elements have, this one just lists the palettes for the Mario, Luigi, and their fire flower variants so you can edit them. More on these below.
Checking this box ENABLES THE CUSTOM PALETTE
for the current level. That sounds simple enough, but it actually changes quite a lot for editing palettes. For one, this grays out the previously mentioned level header settings, which makes it so editing any part of the level's palette does not actually alter any of those presets for other levels. This is great for when you want to give the level a unique flair without the risk of changing how others look in the process, or when you're using custom graphics that require their own palette.
Second, saving any changes to the palette is done slightly differently now. Instead of saving within the Palette Editor menu itself like you did previously, changes to the palette are now saved alongside any other changes to the level such as placing/moving objects or sprites. Use the
icon in the top left of the main window's toolbar.
Unfortunately, a side effect of how Mario and Luigi's palette acts—in that it (Palette 8) changes independently of the rest of the level palette when swapping characters, or when switching to the fire power's colors—enabling this setting actually makes it so custom palettes don't work for colors 6-F, so they'll always change back to the defaults. For example, if you made Mario all black like this:
With custom palette
enabled, he would actually show up like this:
If you want to use custom palettes for Mario and Luigi, there is
a solution—though it's not recommended for beginning romhackers—consider using this patch
icon will RELOAD THE PALETTE, UNDOING ANY CHANGES YOU'VE MADE SINCE THE LEVEL WAS LOADED
. This includes making use of any of the previously mentioned features. Ignores saving. Once you switch to another level, though, then it can't revert back. Useful for if you're experimenting with palettes.
These two are inverses of eachother: UNDOES UNSAVED CHANGES YOU'VE MADE
. REDOES UNSAVED CHANGES YOU'VE MADE
, almost exclusively used to restore any progress previously undone by the
icon. However, unlike number four, these only go back (and forward) a single step at a time. For example, if you:
- 1. Made a gradient
- 2. Changed a red color to be slightly darker
- 3. Replaced a blue with a yellow color
Then pressing once would revert your most recent change, number three, and change that yellow back to blue. At that point, pressing it again would undo number two, and make the red brighter again—alternatively, pressing would change the blue back to yellow again.
icon ENABLES THE PALETTE MASK EDITING MODE
. This mode dictates what colors will actually be exported if you choose to export the level's palette to a file (which will be brought up in just a moment). Clicking it won't change anything visually at first, but when you click on any of the colors now you should see that certain color get crossed
out. That X
means that the color won't
be exported if you choose to do so.
Keep in mind that palette masks do not save with your palette, nor with the level. To keep any changes made, export the current palette. This will export the level's palette as a file called (Insert name here).pal
, and a similarly named (Insert name here).palmask
will be created right next to it. Of these two, only the .pal
file needs to be imported into whatever level you intend on using it for—as long as the .palmask
is still named identically to the .pal
and is in the same folder, it will be automatically applied.
A useful feature for if you want to transfer only parts of a level's custom palette to another level, and it's even necessary to use if you ever create and distribute your own custom graphics.
icon OPENS THE PALETTE MASK EDITING MENU
. There'll be only two options shown, and they're fairly self-explanatory: Enable all colors for export
gets rid of any 'X's you may have already set on the level's palette mask. Disable all colors for export
does the opposite and crosses off every single color in the current palette.
icon EXPORTS THE CURRENT LEVEL'S PALETTE TO A FILE
. The previously mentioned Palette Mask
is taken in to account in this case. Opposite of that is the
, which IMPORTS A PALETTE FILE INTO THE CURRENT LEVEL.
Just keep in mind that this automatically enables the custom palette. Useful for when you want to recycle a previously used custom palette from a different level, or for when you're using certain custom graphics.
Very similar to what's listed for number eight, though with a few very notable differences. Since we're talking about Shared Palettes
in this case, and not a Custom Palette
—exporting the palette to a file also saves what colors are stored in each of the presets. Not as commonly useful as number eight, but if you're transferring your project over to another rom, or if you're the head of a collaboration hack, then it's perfect for you.
icon UNDOES ANY UNSAVED CHANGES TO THE SHARED PALETTE
. Similar in function to
except that it can't revert any changes once the palette's saved, and that enabling the custom palette will render it unusable.
icon SAVES ANY CHANGES MADE TO THE SHARED PALETTE
. ...mostly. Changes not saved by this are any made with the Palette Mask Editing Mode
, and what presets are chosen for a level. Like with number ten, enabling the custom palette will render this feature unusable.
Not too important, but this little “<” box essentially resizes the Palette Editor to be just the block of colors. Purely preference, I suppose, but it's an option regardless.
Some Special Thanks
Just wanted to give a quick thanks to:
for Lunar Magic itself, and all the work he's put into it over the years.
for putting the idea in my head in the first place
for being a part of my life for almost eight years at this point.
- LIVE THE CODE THE CODE OF THE DRAGON
Right off the bat, I just want to say that I hope this helps any beginning romhackers at least a little bit. Being my first tutorial, my formatting could definitely use some work, though considering a lot of the features I tried to cover had really simple, almost self-explanatory uses—there wasn't too much I could say for some of them without dragging it on too much. And if have some constructive criticism I could use to try and improve this tutorial further, please let me know! If you have any questions, feel free to leave them as a reply and hopefully somebody can answer.