Shiny Quagsire
I'm Still Alive, Elsewhere
- 697
- Posts
- 15
- Years
- Age 26
- Hoenn Safari Zone
- Seen Aug 8, 2020
First off, I decided to port my tutorial from PHO, so there is no difference between them.
Most hackers don't know how to insert cries, and it isn't well documented, so I decided to write up a tutorial for it. The only problem with this method is it corrupts the cries around it. To not corrupt cries, go until the part when we open pokecry, then skip to the repointing tutorial
In order to insert a cry, you need to do a few things
So, first, you need a few things:
First, get r8brain here.
(Don't worry, it's free. :))
Next, take your wav in r8brain, and fill out it like this:
Now, click 'perform r8brain', and your new wav is formed. If you didn't fill out the info right, you'll hear screeches.
Optional: Open it in sound recorder and lower the volume a tad bit for loud cries.
Next, go to your elitemap folder and open pokecryGUI.
Find the wav file to encode, and fill in the cry table according to this:
(Use the right one for the version.)
In the pokeID, fill in the pokemon number. Also, the empty slots all use the same cry, so don't use those.
Next, hit samples, and then untick use table, and then encode.
Test it in a game and voila! It should work!
EDIT: Here is a .ZIP for all of the cries in wav format. LINK HERE!
EDIT: Here is a .7z file for the .wav cries and the 8 bit cries! To use it, download 7-zip. It's better than winzip, and it's FREE! LINK HERE!
I packaged the cries in the wrong folders! So the 8 bit cries are in the regular folder, and vice versa.
The 8bit cries have already been through the r8brain process, so you can go straight to pokecry!
By following the tutorial, you can get a pretty basic cry into it, but it might corrupt other cries. In this part of the tutorial, we will repoint an existing cry using a hex editor.
You will need the following tools:
First, open up pokecry, and follow the steps in the picture up to step 5. This is where things get a little different.
Once you get the pointer, copy it for later useage. So for me, I would copy 58AF14. Next, open FSF, and get a free space offset. Now, go back to pokecry, and replace the pointer with the offset, and hit encode.
With that done, open a hex editor, and go to the table offset. Now, search for the pointer in reverse hex. Here's how it works:
First, split it into three groups like this:
Now, swap the first and last, to get something like this:
Then, just add an 08 to the end!
Once I found the pointer, I began to notice a pattern in the table. It repeated the same hex over and over:
the XX XX XX is a pointer to the cry, all trailing with an 08. So, to repoint a cry, we just take our location where we encoded the cry, reverse it, and replace it!
So there you have it! How to repoint a cry!
First, go to this thread and download Cry Pointer Repointer. Unzip it and open it.
Next, load your rom and type the pokemon's ID. It goes as normal until 251, when it goes somewhere else, and then picks up back at 274. Then, click 'Get Pointer' and a pointer will pop up. Change the pointer to the offset you encoded the cry. Then hit 'Repoint' and your done! Be sure to make sure it repointed and test it in game.
Most hackers don't know how to insert cries, and it isn't well documented, so I decided to write up a tutorial for it. The only problem with this method is it corrupts the cries around it. To not corrupt cries, go until the part when we open pokecry, then skip to the repointing tutorial
Preparing Your Cry
In order to insert a cry, you need to do a few things
So, first, you need a few things:
- a .wav cry for your pokemon/fakemon.
- r8brain
- EliteMap
- A ROM
First, get r8brain here.
(Don't worry, it's free. :))
Next, take your wav in r8brain, and fill out it like this:
Now, click 'perform r8brain', and your new wav is formed. If you didn't fill out the info right, you'll hear screeches.
Optional: Open it in sound recorder and lower the volume a tad bit for loud cries.
Inserting Your Cry (The dangerous way)
Next, go to your elitemap folder and open pokecryGUI.
Find the wav file to encode, and fill in the cry table according to this:
Code:
CRY TABLES
Ruby US v1.0
0x452590
Sapphire US v1.0
0x4525EC
FireRed US v1.0
0x48C914
LeafGreen US v1.0
0x48C1F0
Emerald US v1.0
0x69DCF4
(Use the right one for the version.)
In the pokeID, fill in the pokemon number. Also, the empty slots all use the same cry, so don't use those.
Next, hit samples, and then untick use table, and then encode.
Test it in a game and voila! It should work!
Cry Downloads
EDIT: Here is a .ZIP for all of the cries in wav format. LINK HERE!
EDIT: Here is a .7z file for the .wav cries and the 8 bit cries! To use it, download 7-zip. It's better than winzip, and it's FREE! LINK HERE!
I packaged the cries in the wrong folders! So the 8 bit cries are in the regular folder, and vice versa.
The 8bit cries have already been through the r8brain process, so you can go straight to pokecry!
Repointing Cries In a Hex Editor
Spoiler:
By following the tutorial, you can get a pretty basic cry into it, but it might corrupt other cries. In this part of the tutorial, we will repoint an existing cry using a hex editor.
You will need the following tools:
- All of our previus tools
- A Hex Editor (I use HxD)
- A r8brained cry
- Free Space Finder
First, open up pokecry, and follow the steps in the picture up to step 5. This is where things get a little different.
Once you get the pointer, copy it for later useage. So for me, I would copy 58AF14. Next, open FSF, and get a free space offset. Now, go back to pokecry, and replace the pointer with the offset, and hit encode.
With that done, open a hex editor, and go to the table offset. Now, search for the pointer in reverse hex. Here's how it works:
First, split it into three groups like this:
Code:
58 AF 14
Now, swap the first and last, to get something like this:
Code:
14 AF 58
Then, just add an 08 to the end!
Code:
14 AF 58 08
Once I found the pointer, I began to notice a pattern in the table. It repeated the same hex over and over:
Code:
20 3C 00 00 XX XX XX 08 FF 00 FF 00
the XX XX XX is a pointer to the cry, all trailing with an 08. So, to repoint a cry, we just take our location where we encoded the cry, reverse it, and replace it!
So there you have it! How to repoint a cry!
Repointing Cries using CRP
Spoiler:
First, go to this thread and download Cry Pointer Repointer. Unzip it and open it.
Next, load your rom and type the pokemon's ID. It goes as normal until 251, when it goes somewhere else, and then picks up back at 274. Then, click 'Get Pointer' and a pointer will pop up. Change the pointer to the offset you encoded the cry. Then hit 'Repoint' and your done! Be sure to make sure it repointed and test it in game.
Last edited: