Go Back   The PokéCommunity Forums > ROM Hacking > Tools, Tutorials & Resources
Reload this Page [Tutorial] Inserting Cries ~ By Shiny Quagsire

Notices
For all updates, view the main page.

Tools, Tutorials & Resources Various tools to help you develop your hacks can be found here.
New threads in this forum are to be approved by a moderator before they are displayed.



Reply
 
Thread Tools
  #1    
Old June 4th, 2010 (10:29 AM). Edited June 7th, 2010 by Shiny Quagsire.
Shiny Quagsire's Avatar
Shiny Quagsire Shiny Quagsire is offline
Working on KARL3DS
 
Join Date: May 2009
Location: Hoenn Safari Zone
Age: 17
Gender: Male
Nature: Jolly
Posts: 687
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:
  1. a .wav cry for your pokemon/fakemon.
  2. r8brain
  3. EliteMap
  4. 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:
  1. All of our previus tools
  2. A Hex Editor (I use HxD)
  3. A r8brained cry
  4. 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.


__________________



Reply With Quote
  #2    
Old June 5th, 2010 (03:23 PM).
destinedjagold's Avatar
destinedjagold destinedjagold is offline
Oh Hai Thar~ 'ω'
Silver Tier
 
Join Date: May 2007
Location: Philippines
Gender: Male
Nature: Careful
Posts: 6,956
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~
__________________

3DS FC: 0061-1111-6462
TSV: 1364(X), 0790(OR)


Reply With Quote
  #3    
Old June 5th, 2010 (11:32 PM).
sky_queen3's Avatar
sky_queen3 sky_queen3 is offline
Minusle Fangirl. ;)
 
Join Date: Feb 2009
Location: Australia
Age: 25
Gender: Female
Nature: Naive
Posts: 249
But that's on another site. Ah well, joins, says you refired me and downloads. :D Very useful, this will be great. :D
__________________
Reply With Quote
  #4    
Old June 7th, 2010 (08:36 AM).
Shiny Quagsire's Avatar
Shiny Quagsire Shiny Quagsire is offline
Working on KARL3DS
 
Join Date: May 2009
Location: Hoenn Safari Zone
Age: 17
Gender: Male
Nature: Jolly
Posts: 687
Quote originally posted by sky_queen3:
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.
__________________



Reply With Quote
  #5    
Old June 7th, 2010 (09:28 PM).
sky_queen3's Avatar
sky_queen3 sky_queen3 is offline
Minusle Fangirl. ;)
 
Join Date: Feb 2009
Location: Australia
Age: 25
Gender: Female
Nature: Naive
Posts: 249
Quote originally posted by shiny quagsire:
Just added it to this site. It barely got approved today.
Ah, much better, thanks. :D
__________________
Reply With Quote
  #6    
Old June 20th, 2010 (10:32 AM).
inliner inliner is offline
 
Join Date: Jun 2010
Posts: 1
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
Reply With Quote
  #7    
Old July 24th, 2010 (08:33 AM). Edited July 24th, 2010 by Neo1000.
Neo1000 Neo1000 is offline
 
Join Date: Jul 2010
Gender: Male
Posts: 4
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!
Reply With Quote
  #8    
Old July 24th, 2010 (10:45 PM).
skeddles's Avatar
skeddles skeddles is offline
 
Join Date: Apr 2008
Location: Over There
Age: 22
Nature: Lonely
Posts: 160
Send a message via AIM to skeddles Send a message via Windows Live Messenger to skeddles Send a message via Yahoo to skeddles
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...
__________________

Reply With Quote
  #9    
Old July 25th, 2010 (02:38 AM).
Neo1000 Neo1000 is offline
 
Join Date: Jul 2010
Gender: Male
Posts: 4
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
Reply With Quote
  #10    
Old July 25th, 2010 (02:51 AM).
Banjora Marxvile's Avatar
Banjora Marxvile Banjora Marxvile is offline
Oui Oui Si Si Ja Ja Da Da
 
Join Date: May 2008
Age: 21
Gender: Male
Nature: Lonely
Posts: 3,444
Quote originally posted by Neo1000:
I also don't know how he came with 115 as Treeckos number. I think it's just a mistake.
Quote originally posted by Neo1000:

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

Man of Steel
He harbors no shame
Got cut a raw deal
But he holds no blame
Gone and forgot to feel
Numb for pretentious pain
As he spins the wheel
There's no loss nor no gain...


Nerves o
f Steel
He must remain
Even if it kills
To remember my name
A view to a thrill
Like Campari and Champagne
I'm on the rocks
Please tell me, What Is My Name?

Reply With Quote
  #11    
Old July 25th, 2010 (03:28 AM).
Neo1000 Neo1000 is offline
 
Join Date: Jul 2010
Gender: Male
Posts: 4
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.
Reply With Quote
  #12    
Old July 25th, 2010 (03:44 AM).
Banjora Marxvile's Avatar
Banjora Marxvile Banjora Marxvile is offline
Oui Oui Si Si Ja Ja Da Da
 
Join Date: May 2008
Age: 21
Gender: Male
Nature: Lonely
Posts: 3,444
Quote originally posted by Neo1000:
Really? I tried with 1 for Bulbasaur and 2 for Ivysaur. It worked fine.
Quote originally posted by Neo1000:
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.
__________________

Man of Steel
He harbors no shame
Got cut a raw deal
But he holds no blame
Gone and forgot to feel
Numb for pretentious pain
As he spins the wheel
There's no loss nor no gain...


Nerves o
f Steel
He must remain
Even if it kills
To remember my name
A view to a thrill
Like Campari and Champagne
I'm on the rocks
Please tell me, What Is My Name?

Reply With Quote
  #13    
Old July 25th, 2010 (04:34 AM).
Neo1000 Neo1000 is offline
 
Join Date: Jul 2010
Gender: Male
Posts: 4
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.
Reply With Quote
  #14    
Old July 25th, 2010 (04:57 AM).
Banjora Marxvile's Avatar
Banjora Marxvile Banjora Marxvile is offline
Oui Oui Si Si Ja Ja Da Da
 
Join Date: May 2008
Age: 21
Gender: Male
Nature: Lonely
Posts: 3,444
Quote originally posted by Neo1000:
Heh, I know HEX is from 0-F and then 10 to 1F, etc.
Quote originally posted by Neo1000:
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)
__________________

Man of Steel
He harbors no shame
Got cut a raw deal
But he holds no blame
Gone and forgot to feel
Numb for pretentious pain
As he spins the wheel
There's no loss nor no gain...


Nerves o
f Steel
He must remain
Even if it kills
To remember my name
A view to a thrill
Like Campari and Champagne
I'm on the rocks
Please tell me, What Is My Name?

Reply With Quote
  #15    
Old July 30th, 2010 (07:22 AM). Edited July 30th, 2010 by DaWolf.
DaWolf DaWolf is offline
 
Join Date: Feb 2010
Gender: Male
Posts: 1
there any way to change the sound of when is shiny using this tool?
edit: is for FR
Reply With Quote
  #16    
Old April 15th, 2011 (05:43 PM).
deoxys121's Avatar
deoxys121 deoxys121 is offline
White Kyurem Cometh
Gold Tier
 
Join Date: Dec 2010
Location: Flat Rock, MI, United States
Age: 23
Gender: Male
Nature: Calm
Posts: 1,260
Send a message via Yahoo to deoxys121
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.
__________________
Reply With Quote
Reply
Quick Reply

Sponsored Links
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are UTC -8. The time now is 09:46 AM.