I've seen lots of tutorials about editing GFX, and there are plenty about inserting ExGFX, but I haven't seen a good tutorial in making your own ExGFX. So, I hope this tutorial will be of use to those who haven't quite got the hange of it yet.
ExGFX stands for Extra Graphics. Basically, you can use it to change the graphics of a single level. This means you can have tons of different sets of graphics to be used in different levels.
In addition to Lunar Magic (obviously), you'll need a program called YY-CHR. You can get it here
. YY-CHR let's you edit the graphics in Super Mario World. Once you've downloaded YY-CHR, extract the ZIP file and change the file called yychr.ENG to yychr.ENU (in caps). Otherwise, it won't be in English. Now we can begin!
1. Open your rom in Lunar Magic. Notice that there are four mushroom buttons on the toolbar.
Click the first three in order (red, green, blue). When you click the blue mushroom, a message will say no ExGFX are present in the ROM. This is normal, just click OK.
2. Open the folder where your ROM is. You'll notice you now have two folders there, Graphics and ExGraphics. Open the Graphics folder. You'll see one of two things: a bunch of files named GFX00.bin, GFX01.bin, etc., or you'll see a single file called AllGFX.bin. If you've ever edited the graphics of SMW you've probably used AllGFX.bin, but for ExGFX you'll want to use the many separate files. If you just see AllGFX.bin, go back into LM and uncheck Options -> Use Joined GFX Tiles. Then press the red mushroom again. You should now have all the separate GFX files.
3. Open YY-CHR. If you've never used YY-CHR before, I'll explain it here. First, open GFX00.bin (the one you just extracted in the Graphics folder). You'll notice the graphics change to a garbled mess. In the bottom-left corner of the window there is a drop-down list that says "1BPP (YX)". Change it to "4BPP SNES". Now the Graphics should look more like SMW graphics, but the colors are off. To fix this, make a save state in ZSNES while in a level. Then, go back into YY-CHR and press Palette -> Load Emulator State File. Then select your .zst file. Now things should look much better, though the opbjects may not all be in the correct palettes.
Now I'll explain how YY-CHR works.
There are two main viewing areas. The left side shows all the tiles in the GFX file. You can click on a tile to select it. The right side shows a close-up of the currently selected tile, and you can edit the tiles here. Also, below the right pane are the palettes. You can switch between palettes by clicking on them. Try clicking on different palettes to see how it affects the tiles on the left. On the far right, there is a list of buttons that switches between editing tools, such as the line tool, the pencil, and the rectangle tool. To choose a color to draw, click on the color in the palette. Then draw by clicking in the editor. In truth, it's not too much different from most graphics editors.
3. Now that you are (hopefully) educated in YY-CHR, let's actually edit some graphics. Let's say that you wanted to change the graphics of the mushroom for just one level
. Admittedly, I don't know why anyone would want to do this, but I'll show you how as an example. First, save a copy of this file (go to File -> Save As...) and save it as ExGFX80.bin in the ExGraphics file created by Lunar Magic. ExGFX files must be named ExGFXXX.bin, where the XX is replaced by a number from 80 to FF. DO NOT use anything out of this range. Now that we've made a copy of this file, we can continue editing.
4. Select the mushroom palette (it's palette C) and edit the GFX file to anything you want. I made mine upside down and modified the eyes a bit. I was feeling unimaginative, sue me.
Save the file and exit YY-CHR.
5. Click the yellow mushroom to insert your new ExGFX. now we need to tell Lunar Magic what level we want to use our new graphics. Open the level you want and click the red poison mushroom to open the Super GFX Bypass window. Check the box that says "Enable bypass of standard FG/BG/SP GFX and the older bypass methods for this level." All the dropdown menus will become available.
Notice the one that says "SP1: 00". Hey! That's the same number as the graphics file we edited. Change it from 00 to 80 (the number we named our ExGFX file) and click OK. Save your level and test it out. The mushroom will be replaced with your new graphics! Try a different level. Notice that the mushroom graphics still look like the original SMW graphics. This is the power of ExGFX.
This is the end of how to make ExGFX, but I'll give you some more tips on how to put this to full use. First, you'll notice we edited GFX00.bin. This contains sprites, which is why it was listed as SP1: 00 in the Super GFX Bypass (SP standing for sprites). If you wanted to edit the ground, notice that it says FG1: 14. This means that the ground probably uses GFX14.bin. To edit this file, you'd do the exact same process, but save it as ExGFX81.bin (or something like that) and insert the ExGFX again using the yellow mushroom button. It's that simple. Finally, let's say you need graphics for a custom block, but this block will only be used in a select few levels. Just make an ExGFX file for it and replace the GFX of something you don't need with your custom block GFX. Then, assemble the tiles using Map16. This is one of the most powerful features of ExGFX.
I am considering expanding this tutorial to include ExAnimation, so tell me what you think and I'll update it accordingly!