How to change the Title Screen Demo Movement
It's impossible to create a brand spanking new title screen and not change the way Mario moves around in it during the little preview that plays when the player boots up the game. So, here's how you can record your own movement!
What you will need
- Lunar Magic
- A finished level you want to use for your title screen.
- Basic Lunar Magic knowledge, such as how to open, edit and save levels.
... aaaand that's it! If you haven't yet created the level that you want the player to see, then simply use another level for now, be that a custom one or one from the original Super Mario World.
Table of Contents
Step 1) Setting up the level
This step is quick. All you have to do is make your level accessible from the overworld of your hack, so it's the first level you enter after starting the game.
To do this, your level has to be between the level numbers 0-24 or 101-13B. Any other level number will not work, as only these numbers are accessible on the overworld by default.
If your level already is in one of the correct level numbers, skip this paragraph. If not, here's how to move it:
First, find a level you can overwrite that lies in the correct level ranges, meaning between 0-24 or 101-13B. 12F
for example is a "TEST" level in the original, and can be safely overwritten if you haven't done so yourself.
Once you've noted down a level number you can overwrite, open the level you wish to use for your title screen in Lunar Magic, which should be in level C7
, the title screen sublevel. Look up at Lunar Magic's menu bar and click on File
, then choose Save level to ROM as...
near the top. This will let us save a copy of the same level in another level slot in your ROM.
Type the level number you noted down into the second box, the one labelled "Level Number to save as". 12F
in case you are following my tip above. Untick the bottom checkmark, leaving it ticked might mess up the original level's secondary entrances in case you actually use it in your hack!
Now click OK and Lunar Magic will immediately overwrite the level you gave it. Done!
So, your level is in the correct spot now. Next thing you will have to do is make it accessible from the overworld by changing one of the level tiles on your overworld to point towards it.
If you already know how to do this, feel free to do it on your own and skip ahead to Step 2
. If you have no idea, here's what you have to do:
First, open up the Overworld Editor in Lunar Magic by clicking the
icon in the menu bar. Once open, select
"Layer 1 16x16 Editing Mode" and click on the level tile Mario is standing on. In an unmodified overworld this is Yoshi's House, as you can see in the image on the left (click to zoom).
With the correct level selected, open the "Modify Level Tile Settings" dialogue by clicking on the
button to the right of the menu bar and in that new window, set the "Level number to use for this tile" to your chosen level. In our example, this would be 12F
Click OK to finish it up and
save your overworld.
Try and play your hack in Snes9x to make sure you can access your title screen level from the overworld now, if you can then you did everything right. Done!
Step 2) Recording your Demo
Now that your level is all good to go, it's time to actually record your movements!
First off, open up the
Overworld Editor again. Click on File
in the menu and hover over the Title Screen >
entry to open a little flap containing a lot of importants buttons we're gonna need.
On this menu, click on Install Title Moves Recording ASM...
. This will open a confirmation box asking if you're sure about installing this ASM, to which you can just say OK after reading through it. What we just did was to let Lunar Magic install code into our ROM that modifies emulator savestates, so from now on all your savestates will contain data of which buttons you pressed in the current level. Which is exactly what we need to modify the Title Screen Demo!
Now that that's inserted, open your ROM in Snes9x as usual and enter the level you set up earlier. It doesn't matter if you make a new save file or not at all.
Once inside the level, simply play exactly how you want Mario to move in the Title Screen Demo. You can use savestates as much as you want to correct mistakes or to get that perfect jump, all tools are fine to use just fine.
The only thing to keep in mind is that Mario is absolutely not allowed to die. If Mario dies during the Title Screen Demo, the game will glitch out and trap the player in an inescapable title screen.
Once you're finished moving and recording, simply take a savestate. The default key for this on Snes9x is Shift + F1
, press that and if Snes9x says "Saved [ROM Name].000" in the bottom left then you're good to go!
The savestate we just created holds all the replay data Lunar Magic needs to copy your movements to the Title Screen, thanks to the Replay ASM we inserted a few minutes ago.
Step 3) Inserting your Demo
Now on to the last step, inserting the movement we recorded with that savestate into our game.
Bring up the
Overworld Editor window again and open the same menu as earlier, File
> Title Screen >
This time, press the option second from the bottom, Insert Title Moves Playback ASM & Data...
. Click on OK in the confirmation box and in the file browser window that comes up, navigate to the directory you have Snes9x installed in. Once you've found that, open up the "Saves" directory inside, which is the directory der Snes9x saves its savestates to.
In the "Saves" directory, look for a file named the same as your ROM with a .000
extension, for example "Mario's New Adventure.000" or something to that effect. Open that file.
If you get an error message saying "There is no data recorded in this savestate!", then you either picked the wrong savestate or messed up a step installing the Recording ASM in Step 2
If you do not get an error message, there should be a message on the very bottom of the
Overworld Editor reading "Playback ASM and data insertion complete!". If you see this, you did everything exactly right! Open up your ROM in Snes9x and let the title screen play, you should now see the result of all these steps playing out just as you drew it up!
Now, it might be that the movement looks pretty similar to what you recorded, but Mario somehow ends up missing a jump or dying by walking into an enemy. This can happen, as the movement recording ASM is actually not perfect.
In these cases, you'll have to repeat Step 2
again and hope that everything will go as planned this time. It's a nuisance, but should only happen very rarely, assuming your title screen doesn't consists of a series of super tight and precise jumps.
Once your Title Screen Demo looks exactly as you want it to, there's still one last VERY IMPORTANT
step to perform. You see, the Playback Data & ASM we inserted at the start of Step 2
actually overwrote code related to the overworld in the ROM. This will cause glitches to appear whenever an overworld event plays out.
This is easily fixed, however:
Bring up the
Overworld Editor window, hit File
> Title Screen >
as usual and then hit Uninstall Title Moves Recording ASM...
to recover the overwritten code and fix all glitches that could happen.
Hit OK in the confirmation box that will come up and you should see the message "Recording ASM has been uninstalled." along the bottom of the window. Great, we're done!
An optional final-final step you can go is to save a copy of your Title Screen Demo, just in case you need to port your hack over to a new clean ROM in the future, as a result of a mistake earlier in production or due to a catastrophic error.
To do this, open the
Overworld Editor window one last time, enter the same menu again through File
> Title Screen >
and push Export Title Moves Playback Data...
This will bring up a file browser window. Save the file to your hack's directory or a backup Dropbox/OneDrive/whatever folder or anywhere else it will stay safe.
Should you have to port to a new ROM, you can now simply import that file the same we just inserted our Snes9x savestate here in Step 3
Frequently Asked Questions
Why are there glitches on my Overworld now?
You forgot to uninstall the recording ASM. Check out the last few paragraphs of Step 3
Why did my title screen get replaced by the castle intro?
If your title screen level's
FG/BG GFX Header is set to Castle 1/2 or Ghost House 1/2, your level will automatically open up with a no-Yoshi intro, even on the title screen!
To fix this, open your title screen level (sublevel C7
) in Lunar Magic and click the
Change Other Properties button. In the box that will open, tick the "Disable "No Yoshi" Level Intro" checkbox and squadala, it's fixed!
I have another question!
If there's anything you need help with regarding this topic, feel free to post a reply about it in this thread and hopefully someone will answer you!