• Just a reminder that providing specifics on, sharing links to, or naming websites where ROMs can be accessed is against the rules. If your post has any of this information it will be removed.
  • Ever thought it'd be cool to have your art, writing, or challenge runs featured on PokéCommunity? Click here for info - we'd love to spotlight your work!
  • Our weekly protagonist poll is now up! Vote for your favorite Conquest protagonist in the poll by clicking here.
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

[Ruby] Inserting Cries

[Ruby] Inserting Cries w/ PokeCryGUI

Inserting Cries
Based on ShinyQuagsire's cry changing tutorial on ROMHackTube

Introduction...
Hello there everyone. I am destinedjagold, the author of the Ruby Destiny series. Here, I will teach you guys how to insert new cries without corrupting the other existing cries. I hope you can find this tutorial useful.

What You Need...
  • PokeCryGUI - included in the EliteMap package...
  • A Hex Editor - in this tutorial, I'll be using Hex Workshop...
  • The .wav cry you wanna insert...
  • Your ROM - in this tutorial, I'll be using a Ruby ROM...
  • YAPE - For reference purposes...

Before We Begin...
Always remember the golden rule in hacking, always save a back-up copy of your hack.

Let's Get Started...
Step 1 - Setting Everything Up...
[PokeCommunity.com] [Ruby] Inserting Cries
(1) Load your ROM...
(2) Load the cry you wanna insert...
(3) Type the POKéMON's number, the one you wish to replace...
Spoiler:

(4) Click 'Samples' afterward. If you are hacking Ruby, the Table Offset(5) will be automatically displayed. Here, you can differenciate the sizes of the current and the new cry.
(5) Be sure to change the offset here if you're hacking besides Ruby...

Step 2 - Preparing...
[PokeCommunity.com] [Ruby] Inserting Cries
(1) Jot down on a paper, or type on MS Notepad the Table Offset.
(2) Jot down on a paper, or type on MS Notepad the Sample Offset.
[PokeCommunity.com] [Ruby] Inserting Cries
(3) Open your ROM with a hex editor and find an offset with lots and lots of free space. Jot it down or type the offset on MS Notepad as well.
[PokeCommunity.com] [Ruby] Inserting Cries
(4) Reverse the Sample Offset and the Free Space Offset. The screenshot above will show you how to reverse the said offsets...

Step 3 - Repointing & Inserting...
[PokeCommunity.com] [Ruby] Inserting Cries
(1) In your Hex Editor already opened your ROM, go to (take note, "go to" (CTRL + G)) the Table Offset...
(2 - 3) Find (take note, "find" (CTRL + F)) the Reversed Sample Offset(without spaces, of course). Make sure it's in 'Hex Values' type...
[PokeCommunity.com] [Ruby] Inserting Cries
(4) After you found the offset...
[PokeCommunity.com] [Ruby] Inserting Cries
(5) Change it into the Reverse Free Space Offset. Save it afterward...
[PokeCommunity.com] [Ruby] Inserting Cries
(6) Back to PokeCryGUI, click the 'Samples' button and you'll notice that the 'Samples ROM' now displays 'FFFF', which means the cry of the PKMN is blank. You'll also notice that the 'Sample Offset' now displays the free space offset.
(7) Now click the 'Encode' button, and presto! You successfully inserted a new cry to your PKMN without corrupting any other cries!

Ending Message...
Yeah, I just recycled this old thread o'mine. I am sure someone here posted the table offsets of the other PKMN games. You might as well look for it if you are not using Ruby.
Anyway, thanks for your time in reading this tutorial and I hope you will find this useful.
Cheers and good luck with your hacks/mods! ;)
 
Last edited:
Why PokeCry wouldn't work with FireRed? The cry format is exactly the same. But yeah... things will be easier with A-Cry.

EDIT:

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
 
Last edited:
Yay, finally a tutorial! Thanks destinedjagold!
Just to clarify, the Pokemon numbers are their Pokedex numbers(ie. 2 = Ivysaur), right?
Also, at what number do the 'death cries' start?
 
Yay, finally a tutorial! Thanks destinedjagold!
Just to clarify, the Pokemon numbers are their Pokedex numbers(ie. 2 = Ivysaur), right?

Hey, it wasn't that hard if you actually tried :P
Anyway, remember any Pokémon after Celebi will not follow the usual, National Dex numbering. For a list of values you might use the stdpoke.rbh file included with XSE, for example. Oh, and don't forget that the values are in hex (0x181 for example), but PokéCry requires the decimal value.
 
Thanks!!
I have never try to change the crys( well a couple of times but they din't work good )
But is a very simple and easy tutorial!
It will help a lot of people ;D

Btw, whats is A-cry?
A cry modifier tool?

I would like to see it since pokecry doesn't work 100% good with fr
 
Why PokeCry wouldn't work with FireRed? The cry format is exactly the same. But yeah... things will be easier with A-Cry.

EDIT:

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

So it works with FireRed as well? I never knew, though I shouldn't never know about that since I only hack Ruby. :P
A-Cry? So you are making a cry tool? =3

Yay, finally a tutorial! Thanks destinedjagold!
Just to clarify, the Pokemon numbers are their Pokedex numbers(ie. 2 = Ivysaur), right?
Also, at what number do the 'death cries' start?

I forgot where the 'death cries' starts though... :\
Also, yeah, it uses their PokéDex numbers, however, the Hoenn ones, like HackMew said, doesn't follow the numberings anymore.
And as HackMew suggested, you can look at their numbers in HM's XSE's stdpoke.rbh file. Though you should convert it to decimal, k? =3
 
How do you make/get the Pokemon cry in .wav?

I know to repoint it.
Change the offset in "Sample Offset" with free offset, then click "Repoint", I think...
 
Last edited:
How do you make/get the Pokemon cry in .wav?

I know to repoint it.
Change the offset in "Sample Offset" with free offset, then click "Repoint", I think...

I already tried that and it didn't work for me.
Also, I will post a link for you to download the cries. i just need to ask permission first, though~
 
Sorry, me again.
I have a problem. I do what it says in the tutorial. I enter number 13(Weedle) and want to replace its cry with Dialga's. I click 'Encode.'
"image removed"
However, it doesn't actually do anything. I boot up VBA and Weedle's cry is exactly the same. Have I done something wrong or is it something to do with the size of the files?
 
Last edited:
Sorry, me again.
I have a problem. I do what it says in the tutorial. I enter number 13(Weedle) and want to replace its cry with Dialga's. I click 'Encode.'
"image removed"
However, it doesn't actually do anything. I boot up VBA and Weedle's cry is exactly the same. Have I done something wrong or is it something to do with the size of the files?

Seriously, you should pay more attention. Look at the table offset. It's 0... Which can't be good, for obvious reasons.
 
Sorry, again!
What offset would that be, then(for Emerald)?

Learn to read HackMew's posts! Look in this list he gave a bit above yours!

Why PokeCry wouldn't work with FireRed? The cry format is exactly the same. But yeah... things will be easier with A-Cry.
EDIT:

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


Some people...

Anyway, good tutorial DJG. PokeCry looks so simple, sounds so complicated, but this tut makes the simple look seem... Correct.
 
Wow! This will help me a lot!
Before, I have no idea on how to use PokeCryGUI.
But now I know!

Thanks!
 
Back
Top