Tips and Trick
An interesting Tip or Trick that you may not know
This weeks tip will teach you how to change the players overworld.
Ok, So open VBA and make sure you're in a place you can see the hero. Go tools > Memory Viewer.
Now a new window should appear called Memory Viewer. In the top right corner, there is an empty box next to the Go button. Type "2020648" there and press Go.
At the first line it should give you A0 00 3A 08. Reversing this gives us 083A00A0, the 08 is to show its pointing somewhere in the rom.
Let's say I inserted my new sprite at, 3A0420 (Ruby Brendan Sprite). Reversed that, and add 8000000. 20 04 3A 08.
Now overwrite the A0 00 3A 08 with 20 04 3A 08 in Memory Viewer, and go back to the game.
Has the overworld changed into a Brendan sprite with the wrong palette? YAY, Now you can edit the sprite to whatever you want in the overworld editor or repoint to empty space and insert a new OW.
For this to be useful in a hack we'll need to be able to use it in a script. The writebytetooffset command will edit bytes in the Memory Viewer. Below is an example of the script.
#org 0x16582F
checkflag 0x851
compare LASTRESULT 0x1
if 0x1 goto 0x8166917
msgbox 0x817F723 '"Would you like to transform?"
callstd 0x5
closeonkeypress
compare LASTRESULT 0x1
if 0x0 goto 0x801EE9E
setflag 0x851
writebytetooffset 0x20 0x2020648
writebytetooffset 0x4 0x2020649
end
'-----------------------
#org 0x166917
msgbox 0x817D80D '"Want to stay transformed?"
callstd 0x5
closeonkeypress
compare LASTRESULT 0x1
if 0x1 goto 0x801EE9E
writebytetooffset 0xA0 0x2020648
clearflag 0x851
writebytetooffset 0x0 0x2020649
end
'-----------------------
#org 0x1EE9E
end
Tip donated by Darthatron/X-Buster, thanks to Sebbe for the article