How to move or change objects in the levels of Super Mario 64
This tutorial will explain how to move or change some objects in the levels of Super Mario 64 with a hex editor.
Now let's get starting, here's how you move the objects :
[24 18] [##] [##] [## ##] [## ##] [## ##]
(24 18 - This is the start of "place object command)
(## - Chooses mission(s) that the object will appear in)
(## - Chooses object ID)
(## ## - X position) CHANGE TO MOVE OBJECT
(## ## - Y position, wich is the height) CHANGE TO MOVE OBJECT
(## ## - Z position) CHANGE TO MOVE OBJECT
To find the object you want to move, first go to the level start offset (found early in the info document by VL-Tone).
Then look for 24 18, which all are "place objects commands".
Edit a object, and play the game and you'll see which object that have changed.
An example:
Go to the start offset of Bob-omb Battlefield (00405a60) and you'll see:
24 18 1F 36 05 B0 03 00 01 BE
This is the gate behind chain chomp.
Change it to 24 18 1F 36 05 B0 01 00 01 BE and see what happens. The gate will be moved down so you can jump over it!!
Okay, you got how to move the objects, now let's change some objects into other objects:
To do that you have to change object ID and object behavior code.
24 18 ?? [??] ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? [?? ?? ?? ?? ?? ?? ?? ??]
The first []'d value is the object ID and the second []'d values are the behavior code.
Let me show you an example:
This is the gate behind chain chomp:
24 18 1F [36] 05 B0 03 00 01BE 00 00 01 46 [00 00 00 00 00 13 00 48 68]
Change it to:
24 18 1F [B4] 05 B0 03 00 01BE 00 00 01 46 [00 00 00 00 00 13 00 3A 08]
Now you've changed the gate into a cannonball. Notice that this may crash the game because of the location.
I just used this as an example.
This tutorial was written by "Jensthecomposer" based on information given in "VL-Tone's" SM64 info document.