PDA

View Full Version : [Tutorial] Inserting Cries ~ By Shiny Quagsire


Shiny Quagsire
June 4th, 2010, 10:29 AM
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

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 (http://www.voxengo.com/product/r8brain/).
(Don't worry, it's free. :))

Next, take your wav in r8brain, and fill out it like this:

http://i46.tinypic.com/1038pch.jpg

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.

http://i48.tinypic.com/2cgd7xh.jpg

Find the wav file to encode, and fill in the cry table according to this:

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.)

http://i46.tinypic.com/24l2afk.jpg

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! (http://www.filefront.com/16622277/Pokemon%20Cries.zip)

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! (http://www.filefront.com/16627693/Pokemon%20Cries.7z)

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

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:

58 AF 14

Now, swap the first and last, to get something like this:

14 AF 58

Then, just add an 08 to the end!

14 AF 58 08

http://i49.tinypic.com/11imgkn.jpg

Once I found the pointer, I began to notice a pattern in the table. It repeated the same hex over and over:

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!

http://i46.tinypic.com/mjxu6p.jpg

So there you have it! How to repoint a cry!


Repointing Cries using CRP

First, go to this thread (http://www.pokecommunity.com/showthread.php?t=221339) 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.

http://i47.tinypic.com/i1cfb7.jpg

destinedjagold
June 5th, 2010, 03:23 PM
it's a very very nice tutorial.
thanks. I am sure it'll help others who wanna edit the cries in their own hacks.
it'll help me as well. a big thanks~ ^^

sky_queen3
June 5th, 2010, 11:32 PM
But that's on another site. :( Ah well, joins, says you refired me and downloads. :D Very useful, this will be great. :D

Shiny Quagsire
June 7th, 2010, 08:36 AM
But that's on another site. :( Ah well, joins, says you refired me and downloads. :D Very useful, this will be great. :D

Just added it to this site. ;) It barely got approved today.

sky_queen3
June 7th, 2010, 09:28 PM
Just added it to this site. ;) It barely got approved today.

Ah, much better, thanks. :D

inliner
June 20th, 2010, 10:32 AM
i need help i try to edit the cry of torkoal but all pokeids i tried were wrong...
i tried it with bulbasaur and it worked
i use pokecry and hexeditor

Neo1000
July 24th, 2010, 08:33 AM
Pushing this up a little.

Hey, I find the tutorial really helpful. Though I have a problem.
I edited the cry from Bulbasur and it worked really well. Now always when I add a cry at another Pokemon (like Ivysaur), the only thing I get is a really high screeching sound from all cries, except Bulbasur's cry.

I first thought, it's because of the length from my custom cry. But it didn't help, even if the cry was 0.5 seconds long. Also the first cry for bulbasur is 0.7 seconds long and works fine. O_o

Did I something do wrong? The Samples WAV was always smaller than Samples ROM. So it seems like the size of the sample is fine.

[Edit]
Tah-Dah! I found the problem. I found this tutorial somewhere else and there was a video recorded by shiny quaksire. Whadyano, you have to use "Free Space Finder". You had to find a free space in the room and copy the offset to the SampleOffset from Pokecry. Then Hexedit or use Cry Pointer Repointer to repoint the cry. Now none of my cries get glitched and everything works fine!

skeddles
July 24th, 2010, 10:45 PM
I don't understand the PokeID, what is it?

Because treecko's # is definitely not 115. In any form.

And maybe include what neo1000 said about repointing cries...

Neo1000
July 25th, 2010, 02:38 AM
I also don't know how he came with 115 as Treeckos number. I think it's just a mistake.

The PokeID is the National Pokedex number of your Pokemon.
For example:
Bulbasaur is 1
Treecko is 252

Banjora Marxvile
July 25th, 2010, 02:51 AM
I also don't know how he came with 115 as Treeckos number. I think it's just a mistake.

The PokeID is the National Pokedex number of your Pokemon.
For example:
Bulbasaur is 1
Treecko is 252

Well, 115 is Hexedemical for 277, which is Treecko's true number, due to the 25 free spaces between Celebi and Treecko.

You need to use hexedemical numbers for the cries, I think. So, you need to learn how to cconvert Decimal to Hexedemic, as well as what each Pokemon is in Hex (as some are in a weird order in Hex... Also, take into account the 25 empty spaces)

Neo1000
July 25th, 2010, 03:28 AM
Really? I tried with 1 for Bulbasaur and 2 for Ivysaur. It worked fine.
Or maybe it's just because the numbers are small. Or that I use FireRed.

Banjora Marxvile
July 25th, 2010, 03:44 AM
Really? I tried with 1 for Bulbasaur and 2 for Ivysaur. It worked fine.
Or maybe it's just because the numbers are small. Or that I use FireRed.

Err, 1 in Hex is 1, it only gets confusing when it gets to the 10th Pokemon, as that becomes A in Hex, whereas 16 in Hex is 10. The calculator tool on every computer can help you turn Decimal numbers into Hex easily (but do not forget the 25 pokemon gap between Celebi and Treecko)

Here is a list of some hex (goes decimal=hex):

0=0
1=1
2=2
3=3
4=4
5=5
6=6
7=7
8=8
9=9
10=A
11=B
12=C
13=D
14=E
15=F
16=10

Carry it on from there, but the calculator tool on your computer is easier to use.

Neo1000
July 25th, 2010, 04:34 AM
Heh, I know HEX is from 0-F and then 10 to 1F, etc.
I just didn't think about this for a sec. Silly me.

So that means you have to look your pokemon up at the National Pokedex and convert the number from Decimal to Hexedecimal.

Banjora Marxvile
July 25th, 2010, 04:57 AM
Heh, I know HEX is from 0-F and then 10 to 1F, etc.
I just didn't think about this for a sec. Silly me.

So that means you have to look your pokemon up at the National Pokedex and convert the number from Decimal to Hexedecimal.

Roughly. I'm sure there is a list for the Pokemon in Hex with XSE, as some may have a weird order (I think Chimecho is one example... Not too sure...). All I know is, there is 25 gaps between Celebi and Treecko, so the number of the Hoenn Pokemon is really their National Dex number add 25, then convert to Hex. However, like I said, it is best to find a list of the Pokemon.

EDIT: I'm right, there is a list of the HEx numbers for each Pokemon with XSE, and yes, there are some anomalies (like Chimecho is the last pokemon)

DaWolf
July 30th, 2010, 07:22 AM
there any way to change the sound of when is shiny using this tool?
edit: is for FR

deoxys121
April 15th, 2011, 05:43 PM
Thank you! This REALLY helped me. Took a little trial and error, but I got it figured out. And now I'm learning how to use a hex editor. :)