The PokéCommunity Forums  

Go Back   The PokéCommunity Forums > ROM Hacking > Tools, Tutorials & Resources
Sign Up Rules/FAQ Live Battle Blogs Mark Forums Read

Notices

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.


Advertise here

Reply
 
Thread Tools
  #1    
Old January 1st, 2013, 11:37 AM
Chaos Rush's Avatar
Chaos Rush
im sexy and i know it
 
Join Date: May 2007
Location: Taylor Swift
Gender: Male
Nature: Adamant

Advertise here
All of the other tutorials I've seen on cry inserting tell you to lower the quality of the cry to 11050Hz or 11025Hz. That is completely unnecessary, and simply serves do severely downgrade the quality of the cry. The Game Boy Advance can handle more than that.

While inserting new instrument samples with Sappy, I realized that if I can insert these samples at 13379Hz without any problems, then surely I can insert cries the same way. And so, my theory turned out to be true.

Yes, I am going to show you how to insert new Pokémon cries using Sappy, a program that was designed for a completely different purpose XD

Here's what you'll need:
*Sappy Mod 15 (get it here)
*Free Space Finder
*any random hex editor
*.wav files of your cries (All 649 cries download, credit to Pokerealm.com)
*Pokémon Game Editor (optional if you know what you're doing)

IMPORTANT: If you don't know how to use a hex editor, or if you don't know what a pointer is, then I'm afraid this tutorial is too advanced for you.

~~~~~~~~~~~~~~~~~~~~~~~~~

1. Open your ROM in Free Space Finder, find a really huge amount of free space (under the "Needed Bytes" label, I just type in 9999 even though I don't actually need 9999 bytes of free space)

------

2. Make sure your free space offset ends in 0, or 4, or 8, or C. If it doesn't, just go forward 1 byte until it does. KEEP TRACK OF THE OFFSET.

------

3. Open your ROM in Sappy

------

4. Go to Tasks ---> Import Sample


------

5. Select the cry you're going to insert, and insert at the free space offset you found earlier. You don't have to change any settings, just click "Import" right away.


Even though you just inserted the cry, still keep track of the offset.

------

6. READ: This step if for having a Pokémon's cry offset change to the new offset you just inserted a new cry at. If you know where the offset is by a method other than Pokémon Game Editor, then simply change the offset and skip this step. This step covers how to do it with Pokémon Game Editor.

Now open up Pokémon Game Editor, and go to the Pokémon that you're going to change its cry. Change the cry offset to the offset of the cry you inserted earlier.


However, there's a minor issue: This method will only work correctly if you're editing a Pokémon that's from Generation I or Generation II.

If you want to change the cry of a Generation III Pokémon, read this:
Spoiler:
Pokémon Game Editor lists the incorrect cry offsets for Generation III Pokémon. This is because in the ROM, there's a secondary cry table to assign cries for the Generation III Pokémon. This is further because the Generation III cries are not stored in index number order in the first cry table, instead they're stored in the order that Game Freak created the Generation III Pokémon, hence why Kecleon comes right after Celebi in the cry table. However, if my theory is correct, the "?" Pokémon that's right after Celebi should have Kecleon's cry pointer in Pokémon Game Editor. Right after Celebi, the cries are in this order:
251 - Kecleon
252 - Roselia
253 - Torkoal
254 - Electrike
255 - Manectric
256 - Duskull
257 - Latias
258 - Wynaut
259 - Seviper
260 - Sharpedo
261 - Zangoose
262 - Azurill
263 - Swablu
264 - Altaria
265 - one of the beta cries that was first discovered in that German Ruby Debug ROM (beta Shellos?)
266 - Taillow
267 - Swellow
268 - one of the beta cries that was first discovered in that German Ruby Debug ROM (beta Gastrodon?)
269 - Whismur
270 - Torchic
271 - Combusken
272 - Blaziken
273 - Treecko
274 - Grovyle
275 - Sceptile
276 - Mudkip
277 - Marshtomp
278 - Swampert
279 - Pelipper
280 - Wingull
281 - Banette
282 - Shuppet
283 - Lotad
284 - Lombre
285 - Ludicolo
286 - Seedot
287 - Nuzleaf
288 - Shiftry
289 - Carvanha
290 - Wurmple
291 - Silcoon
292 - Beautifly
293 - Cascoon
294 - Dustox
295 - Ralts
296 - Kirlia
297 - Gardevoir
298 - Slakoth
299 - Vigoroth
300 - Slaking
301 - Nincada
302 - Ninjask
303 - Shedinja
304 - Makuhita
305 - Hariyama
306 - Nosepass
307 - Glalie
308 - Plusle
309 - Minun
310 - Surskit
311 - Masquerain
312 - Skitty
313 - Delcatty
314 - Gulpin
315 - Swalot
316 - Numel
317 - Camerupt
318 - Barboach
319 - Whiscash
320 - Corphish
321 - Crawdaunt
322 - Spoink
323 - Grumpig
324 - Trapinch
325 - Vibrava
326 - Flygon
327 - Cacnea
328 - Cacturne
329 - Baltoy
330 - Claydol
331 - Lunatone
332 - Solrock
333 - Feebas
334 - Milotic
335 - Absol
336 - Meditite
337 - Medicham
338 - Spheal
339 - Sealeo
340 - Walrein
341 - Clamperl
342 - Huntail
343 - Gorebyss
344 - Lileep
345 - Cradily
346 - Anorith
347 - Armaldo
348 - Beldum
349 - Metang
350 - Metagross
351 - Bagon
352 - Shelgon
353 - Regirock
354 - Regice
355 - Registeel
356 - Castform
357 - Volbeat
358 - Illumise
359 - Poochyena
360 - Mightyena
361 - Dusclops
362 - Sableye
363 - Mawile
364 - Aron
365 - Lairon
366 - Aggron
367 - Relicanth
368 - Luvdisc
369 - Groudon
370 - Kyogre
371 - Rayquaza
372 - Salamence
373 - Breloom
374 - Shroomish
375 - Linoone
376 - Tropius
377 - Wailmer
378 - Zigzagoon
379 - Exploud
380 - Loudred
381 - Wailord
382 - Whismur
383 - Snorunt
384 - Latios
385 - Jirachi
386 - Deoxys
387 - Chimecho

So if you know what you're doing, it shouldn't be that hard to change a Gen III Pokemon's cry.


------

7. Now that we've changed the cry offset, there's one last thing we need to do. Open up your ROM in a hex editor, and search for the pointer to your new cry. I inserted my cry at 0x7BC664, so the pointer I'm searching for is 64 C6 7B 08.


------

8. The search for the pointer should now take you to exactly where the offset is in the first cry table. Now go four bytes before that offset, and you should see the bytes "20 3C 00 00"


Change "20 3C 00 00" to "00 3C 00 00".

Congratulations, you just inserted a high-quality cry. Now test your cry in-game, and it should be in unbelievably high-quality, much higher than Pokecry will ever let you. You'll never have to use Pokecry again!
__________________

The Chaos Emerald ROM Base (it's gonna take awhile)

DS-style 64x64 Pokémon Sprite Resource NOW COMPLETED
Custom Sugimori-style Pokémon Sprite Resource IN PROGRESS


Non-Pokémon hacks I support:
Sonic Classic Heroes
Sonic 3 Complete

Last edited by Chaos Rush; January 1st, 2013 at 07:41 PM.
Reply With Quote
  #2    
Old January 3rd, 2013, 05:39 PM
shinyabsol1's Avatar
shinyabsol1
Pokemon DarkJasper!?
 
Join Date: Aug 2010
Gender: Male
Nature: Calm
Not sure why nobody has commented on this yet...great tutorial!

I hadn't got to inserting cries with Pokecry for my hack just yet, but I was dreading doing so because of all the problems I read about people having with it.

But since this method is so simple, I went ahead and inserted a bunch yesterday (and the cries really do sound great!)

Thanks for posting!
Reply With Quote
  #3    
Old January 4th, 2013, 06:56 AM
Pedroizt
Unhatched Egg
 
Join Date: Oct 2009
Gender: Male
Great Tutorial Chaos Rush! I had problems with the pokecry, but this method is much more easy. No other programs, thanks.
Reply With Quote
  #4    
Old February 14th, 2013, 03:23 AM
GoGoJJTech's Avatar
GoGoJJTech
アルファ近く
 
Join Date: Nov 2012
Location: Earth
Age: 15
Gender: Male
Nature: Quiet
This is extreme! Nice work
__________________
Reply With Quote
  #5    
Old February 16th, 2013, 09:05 AM
LCCoolJ95's Avatar
LCCoolJ95
Limited Capacity
 
Join Date: May 2009
Location: The World That Never Was
Age: 19
Gender: Male
Nature: Naive
Hey, my offset is 1000000. I'm editing an Emerald ROM. How do I change it into a pointer?
__________________
"The greatest obstacle in life is Yourself. Overcome it, and you will achieve the greatest accomplishment of all." -Art Beins, 1982

Fairy-type in Pokémon Emerald: http://www.pokecommunity.com/showpos...&postcount=288

Last edited by LCCoolJ95; February 16th, 2013 at 11:53 AM.
Reply With Quote
  #6    
Old February 16th, 2013, 04:13 PM
Shubunkus's Avatar
Shubunkus
I.R.
 
Join Date: Jul 2012
Gender: Male
Nature: Bold
When I download Sappy and try to run it, I get:

Spoiler:
Run-time error '399': Component 'vbalCbEx6.ocx' or one of its dependencies not correctly registered: a file is missing or invalid


Does anybody know how to fix this?
Reply With Quote
  #7    
Old February 22nd, 2013, 04:29 AM
ipatix's Avatar
ipatix
Music Hacking Freak
 
Join Date: May 2008
Location: Germany
Gender: Male
Nature: Relaxed
@LCCoolJ95
Just a short little hint how offsets work on the GBA:
For the CPU of the GBA the ROM is located at 0x08000000.
For example you want to point to location 0x123456 your pointer would look like this:
0x08123456. In little endian (bytes swapped) it would look like this: 0x56 0x34 0x12 0x08.
And this is the reason why you always have this 0x08 in the end of a pointer.
And for your pointer "0x1000000" simply add "0x08000000" and you get this: 0x09000000.
Then you have to convert it to little endian and you get this: 0x00 0x00 0x00 0x09.

I hope I caould help you out with that ;-)

@Shubunkus:
Download this and install it (the onmodded version of Sappy):
http://helmet.kafuka.org/filebin/sappy12.exe
This installer adds automatically all files to your registry.

After that replace your .exe with the modded one and you should have your fun :D
__________________
I'm sorry for my bad English. I'm German...
Visit my YouTube channel (music hacking and other stuff): http://www.youtube.com/user/theipatix
Reply With Quote
  #8    
Old February 24th, 2013, 10:29 AM
mattisbornerheim
Unhatched Egg
 
Join Date: Dec 2012
Gender: Male
My Sappy won't accept my FireRed ROM, it crashes all the time
Reply With Quote
  #9    
Old February 24th, 2013, 10:46 AM
GoGoJJTech's Avatar
GoGoJJTech
アルファ近く
 
Join Date: Nov 2012
Location: Earth
Age: 15
Gender: Male
Nature: Quiet
Quote:
Originally Posted by Shubunkus View Post
When I download Sappy and try to run it, I get:

Spoiler:
Run-time error '399': Component 'vbalCbEx6.ocx' or one of its dependencies not correctly registered: a file is missing or invalid


Does anybody know how to fix this?
I do
download sappy mod 12 from elite maps homepage
Google it and find it
it installs vbalcboex6.ocx for you and mid2agb also.
__________________
Reply With Quote
  #10    
Old March 20th, 2013, 12:50 PM
RPD490's Avatar
RPD490
 
Join Date: Jan 2009
Location: Blackthorn City, Johto
Gender: Male
Nature: Relaxed
Im assuming that if you do this with too many Pokemon, the game might likely not work right anymore. So how many Pokemon do you think would be suggested before you would want to stop and do it the normal method of using Pokecry?
__________________
This signature has been disabled.
Signature is over 600px wide :(
Please review and fix the issues by reading the signature rules.

You must edit it to meet the limits set by the rules before you may remove the [sig-reason] code from your signature. Removing this tag will re-enable it.

Do not remove the tag until you fix the issues in your signature. You may be infracted for removing this tag if you do not fix the specified issues. Do not use this tag for decoration purposes.
Reply With Quote
  #11    
Old March 20th, 2013, 03:12 PM
Chaos Rush's Avatar
Chaos Rush
im sexy and i know it
 
Join Date: May 2007
Location: Taylor Swift
Gender: Male
Nature: Adamant
Quote:
Originally Posted by RPD490 View Post
Im assuming that if you do this with too many Pokemon, the game might likely not work right anymore. So how many Pokemon do you think would be suggested before you would want to stop and do it the normal method of using Pokecry?
386. Or 493. Or 649.

(nothing bad will happen)
__________________

The Chaos Emerald ROM Base (it's gonna take awhile)

DS-style 64x64 Pokémon Sprite Resource NOW COMPLETED
Custom Sugimori-style Pokémon Sprite Resource IN PROGRESS


Non-Pokémon hacks I support:
Sonic Classic Heroes
Sonic 3 Complete
Reply With Quote
  #12    
Old March 20th, 2013, 07:19 PM
RPD490's Avatar
RPD490
 
Join Date: Jan 2009
Location: Blackthorn City, Johto
Gender: Male
Nature: Relaxed
Ah I just need to watch what free space I use, cuz I can assume using cries this quality could overwrite into data that would be game breaking if overwritten right? Cuz I did this with maybe 10-15 Pokemon that had Pokemon that were 4th/5th Gen, their cries were still not changed, game didn't load up after trying to continue game. XD
__________________
This signature has been disabled.
Signature is over 600px wide :(
Please review and fix the issues by reading the signature rules.

You must edit it to meet the limits set by the rules before you may remove the [sig-reason] code from your signature. Removing this tag will re-enable it.

Do not remove the tag until you fix the issues in your signature. You may be infracted for removing this tag if you do not fix the specified issues. Do not use this tag for decoration purposes.
Reply With Quote
  #13    
Old March 20th, 2013, 07:54 PM
Chaos Rush's Avatar
Chaos Rush
im sexy and i know it
 
Join Date: May 2007
Location: Taylor Swift
Gender: Male
Nature: Adamant
Quote:
Originally Posted by RPD490 View Post
Ah I just need to watch what free space I use, cuz I can assume using cries this quality could overwrite into data that would be game breaking if overwritten right? Cuz I did this with maybe 10-15 Pokemon that had Pokemon that were 4th/5th Gen, their cries were still not changed, game didn't load up after trying to continue game. XD
Yes, it does take up a lot of data, but you should know where your free space is if you're making a ROM hack. Sounds to me like you just don't know where your free space is, if I were you, I would insert all cries at the end of all the used data in the ROM, where FF bytes fill up the rest of the 16 megabytes. If you try inserting it into used data, of course things are gonna screw up.
__________________

The Chaos Emerald ROM Base (it's gonna take awhile)

DS-style 64x64 Pokémon Sprite Resource NOW COMPLETED
Custom Sugimori-style Pokémon Sprite Resource IN PROGRESS


Non-Pokémon hacks I support:
Sonic Classic Heroes
Sonic 3 Complete
Reply With Quote
  #14    
Old March 20th, 2013, 11:14 PM
RPD490's Avatar
RPD490
 
Join Date: Jan 2009
Location: Blackthorn City, Johto
Gender: Male
Nature: Relaxed
Note to self:

Start using free space at the 900000 mark...
__________________
This signature has been disabled.
Signature is over 600px wide :(
Please review and fix the issues by reading the signature rules.

You must edit it to meet the limits set by the rules before you may remove the [sig-reason] code from your signature. Removing this tag will re-enable it.

Do not remove the tag until you fix the issues in your signature. You may be infracted for removing this tag if you do not fix the specified issues. Do not use this tag for decoration purposes.
Reply With Quote
  #15    
Old March 28th, 2013, 10:57 AM
LCCoolJ95's Avatar
LCCoolJ95
Limited Capacity
 
Join Date: May 2009
Location: The World That Never Was
Age: 19
Gender: Male
Nature: Naive
This works very well :D Look at what I did:



Using this tutorial, I successfully added in the perfect cry!

Though, I need help navigating the 3rd gen cries. I understand that they are all out of place, but I can't seem to find Roselia and Chimecho :/
__________________
"The greatest obstacle in life is Yourself. Overcome it, and you will achieve the greatest accomplishment of all." -Art Beins, 1982

Fairy-type in Pokémon Emerald: http://www.pokecommunity.com/showpos...&postcount=288
Reply With Quote
  #16    
Old March 28th, 2013, 12:18 PM
Line3007's Avatar
Line3007
 
Join Date: Oct 2012
Location: Denmark
Gender: Female
This tutorial looks very good! I gotta try this out! Thanx!
Reply With Quote
  #17    
Old April 21st, 2013, 12:30 AM
Ksiazek Bartlomiej's Avatar
Ksiazek Bartlomiej
Rejishan awake...
 
Join Date: Jun 2008
Location: Takoabe Town (Region Thonsu)
Age: 21
Gender: Male
Nature: Hardy
Did this method is good for adding Cries for ????????? Pokemons?
__________________
- During Centuries... Whole worlds try keep in survive... Beafore the space start existing... In chaos eye appeared two eggs... One of mighty pokemon Arceus... Secound with less known Rejishan... Those two pokemon start build their worlds in other warps... Rejishan lose him mission... And undone world named now was TORN WORLD where now live Giratina... Arceus create world with Pokemons where live everywhere alongside with humans... What do Arceus after fail of Rejishan? He give him able to live in him world... But Rejishan want create something which been himself... And from biggest dessert upper than Unova Region start creating new region... This region is Thonsu... New species of Pokemons start locate at their region... Arceus fell angry... But forgive Rejishan and make with him friendship... But now... Is no one know... Rejishan hide in human body... Human name of Thonsu Creator is Sir Allan Newlight... - MYTH ABOUT REJISHAN (Pokemon Dirty Sun plot)

MY MUSIC SHOP - http://www.pokecommunity.com/showthread.php?t=296954
Reply With Quote
  #18    
Old April 22nd, 2013, 11:16 PM
Tackle's Avatar
Tackle
Pancham
 
Join Date: Dec 2012
Location: Forest
Age: 15
Gender: Male
Nature: Timid
Hi, great tutorial! The results are better than I thought. :D
__________________




Feel free to VM / PM me, I'll be sure to reply your messages!

Paired with ForeverDash, MidnightShine, Shadowraze, Daniel Evans and Hoenn.

Also known as Clown of Hearts.

Join Castelia City Forums now!

Reply With Quote
  #19    
Old October 21st, 2013, 05:51 PM
robsterinside
 
Join Date: May 2013
Gender: Male
How can I check cry offsets of my ROM without "Pokemon Editor"? I can't find "Pokemon Game Editor" ANYWHERE. I get how the repointing and hex editing editing works, I just can't tell which cry offsets to replace... Help me, please... Is there an alternative, easy way to do this? Or could anyone share the program? Whenever I try to look for it in the Toolbox the website's Porigon faints LOL.
Reply With Quote
  #20    
Old January 1st, 2014, 08:23 PM
chrunch's Avatar
chrunch
 
 
Join Date: Oct 2009
Gender: Male
Send a message via Windows Live Messenger to chrunch
I've been trying to insert new cries and so far this method was working well until I got to the hex editor part. When I search for the pointer for my new cry this is what I find:
Spoiler:

What did I do wrong? :(
__________________
Reply With Quote
  #21    
Old January 3rd, 2014, 03:45 AM
destinedjagold's Avatar
destinedjagold
Oh Hai Thar~ 'ω'
Community Supporter
 
Join Date: May 2007
Location: Philippines
Gender: Male
Nature: Careful
Quote:
Originally Posted by robsterinside View Post
How can I check cry offsets of my ROM without "Pokemon Editor"? I can't find "Pokemon Game Editor" ANYWHERE. I get how the repointing and hex editing editing works, I just can't tell which cry offsets to replace... Help me, please... Is there an alternative, easy way to do this? Or could anyone share the program? Whenever I try to look for it in the Toolbox the website's Porigon faints LOL.
Here's the download link for PGE.
https://www.mediafire.com/?oq11a1lqtnvq5mj


Quote:
Originally Posted by chrunch View Post
I've been trying to insert new cries and so far this method was working well until I got to the hex editor part. When I search for the pointer for my new cry this is what I find:
Spoiler:

What did I do wrong?
I...can't see what's wrong. =/
Explanation please?
__________________
Reply With Quote
  #22    
Old January 3rd, 2014, 07:55 PM
chrunch's Avatar
chrunch
 
 
Join Date: Oct 2009
Gender: Male
Send a message via Windows Live Messenger to chrunch
Quote:
Originally Posted by destinedjagold View Post
I...can't see what's wrong. =/
Explanation please?
According to the tutorial the bytes before my pointer should be 20 3C 00 00.

Edit: Nevermind, I figured it out. Thanks! :)
__________________

Last edited by chrunch; January 3rd, 2014 at 08:16 PM.
Reply With Quote
  #23    
Old January 13th, 2014, 07:06 AM
adipasa's Avatar
adipasa
Amateur Hacker
 
Join Date: Sep 2009
Location: Indonesia
Gender: Male
Nature: Relaxed
I'm still confused on Gen 3 Pokemon Cry Table
__________________
Pokemon Aqua Blue v1.0 coming soon....

...........
...................__
............./´¯/'...'/´¯¯`·¸
........../'/.../..../......./¨¯\
........('(...´...´.... ¯~/'...')
.........\.................'...../
..........''...\.......... _.·´
............\..............(
BROFIST ...............\
Reply With Quote
  #24    
Old January 15th, 2014, 04:25 PM
Karinmo's Avatar
Karinmo
☜(ˆ▽ˆ)
Community Supporter
 
Join Date: Nov 2013
Location: Texas
Age: 18
Gender: Male
Nature: Calm
I thank you so so very much for this, without this, my hack would not have the feel of a brand new adventure I want it to be.
Thank you so much again.
__________________
Hi, this signature is a work in progress.
Reply With Quote
  #25    
Old March 27th, 2014, 01:30 PM
StillNotLocal
 
Join Date: Mar 2014
Gender: Male
Can you give a full tutorial on how to replace 3rd Gen Pokemon cries?
Reply With Quote
Reply
Quick Reply

Sponsored Links


Advertise here
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
Minimum Characters Per Post: 25



All times are UTC -8. The time now is 08:01 AM.


Style by Nymphadora, artwork by Sa-Dui.
Like our Facebook Page Follow us on Twitter © 2002 - 2014 The PokéCommunity™, pokecommunity.com.
Pokémon characters and images belong to The Pokémon Company International and Nintendo. This website is in no way affiliated with or endorsed by Nintendo, Creatures, GAMEFREAK, The Pokémon Company or The Pokémon Company International. We just love Pokémon.
All forum styles, their images (unless noted otherwise) and site designs are © 2002 - 2014 The PokéCommunity / PokéCommunity.com.
PokéCommunity™ is a trademark of The PokéCommunity. All rights reserved. Sponsor advertisements do not imply our endorsement of that product or service. User generated content remains the property of its creator.