ROM Hacking: 5 - Importing Moves from Other Games

Information and Guides about ROM Hacking

ROM Hacking: 5 - Importing Moves from Other Games

WldFb
User
Joined: 09 Jun 2009, 21:54

21 Jul 2012, 17:04 #1

It's been a while since the last guide, so it's time for a new one.

I'm assuming here that you're already familiar with the previous chapters and you know the basics about ROM hacking.

Ok, how do we get an animation from another game and put it in No Mercy?

I'll make an example using Virtual Pro Wrestling 2. I want to use one of the combo strike (the number '2' elbow). First, you need to find the animation value. In VPW2, P1's animation value is at 704C4.
If you look there while viewing this move, you'll see the value is '20DB'.

To find the ROM address we need the Toki3 values. Use this formula:

Toki3 = (animation - 1) * 4 + 80358A60
ROM = 152DF0 + Toki3

Toki3 = (20DB - 1) *4 + 80358A60 = 80360DC8

If you go there you'll see:
005FD456 (20DB's toki3)
005FD9B6 (20DC's toki3)

This move is a strike, so it uses only one animation (as opposed to grapples). While I'm here, I also get the value for the next move (that is needed to know where the animation ends in the ROM as I explained in the previous post).

I calculate the ROM addresses:
152DF0 + 5FD456 = 750246
152DF0 + 5FD9B6 = 7507A6

So, this Elbow strike begins at 750246 in ROM and the next move starts at 7507A6.
Now go to the VPW2 ROM at 750246. At the beginning you can see the Tokis2 (00 00 00 1A), write them down. Select the data and stop at 7507A6. The size of the selection should be '560' for this move.
Now use the Edit\Copy as Hex Data function (you need this to copy properly) and paste the data in the notepad.

Now, open the No Mercy ROM. If you're using the default one and you go at 01FA6B70 you'll see this:


We are at the end of the ROM data. The area starting with all those 'FFFF' is empty space and can be used as you wish. If you check the Back to Basics ROM you'll see how I've added several things there (those are mostly moves). In this example I'm using the default ROM and I'm adding this move right here at 01FA6B70.
So, I select '560' data in the ROM, select the data from the notepad and paste it (as 'OEM' text) in the ROM. Like I said previously, If you're doing it right you shouldn't get a message that prompts you to insert (if that happens you're using wrong sizes, try again).

Ok, now save (you backed up the original ROM before, right?)

Now, you have put the animation in the ROM, not replacing anything, but adding it. How do you use it in-game?

First, let's calculate the Toki3 address for No Mercy. We use a similar formula to the one we used in the 4th guide.

Toki3 = ROM address - 1BD1B0
Elbow's Toki3 = 01FA6B70 - 1BD1B0 = 01DE99C0

To use this animation, the Tokis must use these:

8134xxxx 01DE
8134xxxx 99C0

How can you proceed from here? There are a few options:

1) Change the Tokis of an existing move to replace it (like you would do for any hacks that uses Tokis3)
2) Change the Tokis of an unused move to replace it
3) Make a Custom MMM that uses a free animation (one that is not currently assigned to any MMM)


To make this guide simpler I'll use option 1 here. I want to replace the default Elbow Weak Strike

animation: 3325
Tokis:
813264F0
813264F2
8134A6F0
8134A6F2

I replace them with:
813264F0 0000
813264F2 001A
8134A6F0 01DE
8134A6F2 99C0


If you go to SD Mall and preview the Weak Elbow Strike you'll see the new animation. It works like any animation in the game so you can use it as a splice for move hacks also.


That's it for now, let me know if you have questions B)

Reply
Like

WldFb
User
Joined: 09 Jun 2009, 21:54

22 Jul 2012, 15:15 #2

Here are the formulas for other games:


WM2000

P1 Animation at: 5b124

Toki3 = (animation - 1) * 4 + 80358A20
ROM address = Toki3 + 144AA0

---

Revenge

P1 Animation at: 706AC

Toki3 = (animation - 1) * 4 + 803B7C00
ROM address = Toki3 + DAC50

---

VPW64

P1 Animation at: 593CC

Toki3 = (animation - 1) * 4 + 803BEB30
ROM address = Toki3 + 4AD00

---

Just follow the same method explained before and it should work fine.
Reply
Like

jazz916
User
Joined: 26 Jun 2010, 07:48

01 Jun 2013, 03:21 #3

Thanks for the awesome guide! I was able to successfully import some animations from VPW64. :)

However, when I tried to import a striking move from VPW2, I noticed the second Toki2 value was inverted, 0000, 1500 instead of 0000 0015. So I went and checked 750246 as used in your example, but it's also showing the Toki 2 data as 0000 1A00 instead of 0000 001A, so I was wondering if the value has to be manually changed? Or might there a problem with my rom (it's .v64 format) or Hex Workshop settings?


Reply
Like

WldFb
User
Joined: 09 Jun 2009, 21:54

01 Jun 2013, 07:47 #4

It's been a while since I made some ROM editing, so I'm not sure about it.
It may depend on the game or the program settings.


Reply
Like

jazz916
User
Joined: 26 Jun 2010, 07:48

01 Jun 2013, 22:28 #5

No problem, after checking through all of VPW64's animations, most of the ones I had been wanting to port from VPW2 are on VPW64, so there's only two animations from VPW2 that I'm after, (ironically, the elbow you used in your example is one of them!), so I'll see if I can find a way to fix it later.

In the game, I found the Toki 2 addresses for the number 2 elbow (ani 20DB) at 8034748C and the correct order is indeed 0000 001A, so I have no idea why it'd be switched in the rom (my rom is a .v64 rom, is that the same format as your copy?)
Reply
Like

jazz916
User
Joined: 26 Jun 2010, 07:48

01 Jun 2013, 22:56 #6

Success!

I got it to work by selecting the entire 560 bytes of data, doing a byte flip operation on Hex Workshops, then doing the copying and pasting. It worked just fine! I guess for some reason the data on my rom was flipped :wacko:
Reply
Like

madmaximo
User
Joined: 02 Feb 2013, 06:30

11 Mar 2014, 05:35 #7

So using this awesome guide and reordering the formulas it's possible to add No Mercy moves to older games to?
If so, it looks like there's another fun area of VPW2 for me to delve into.
Reply
Like