Restoring R/S/E item fanfares in FireRed
In the 1st Generation Pokémon games (Red, Green, Blue, and Yellow), whenever you found an item, it plays a fanfare that is currently known as the level-up sound (in the Gen I games, it actually wasn't the level-up sound, but it became the official level-up sound in G/S/C and all later games).
Then in G/S/C and all later games (except FR/LG), there were new fanfares. The level-up sound from R/G/B/Y became the official "found-item" sound, while the found-item sound from R/G/B/Y became the level-up sound. And TM's had a completely new sound. Then in R/S/E, a new fanfare was introduced for berries, which was used again in D/P/Pt (and I think HG/SS with the berry pots, but I don't really remember. The Unova games don't have this sound)
In FireRed/LeafGreen, they made it so that it plays the level-up sound for all items to try and make it more like the Generation I games. However, all the fanfares from Ruby/Sapphire still exist in the FireRed ROM!
Here is a new item script, that is identical to the giveitem command in XSE. If you want to use R/S/E fanfares, use this script instead of the giveitem command:
Also, notice the part that says, "fanfare 0x102". Change this value to change the song:
0x100 = R/S/E Pokémon Center Healing
0x101 = Level-up
0x102 = R/S/E item sound
0x103 = R/S/E "You caught a Pokémon"
0x104 = R/S/E badge sound
0x105 = R/S/E TM sound
0x106 = R/S/E Berry sound
As I said earlier, all of the Ruby/Sapphire fanfares are already in the FireRed ROM, they're just never heard in-game. The values I posted above will play them, in all of their R/S/E glory.
Now I know that this takes up a lot more space than simply just the giveitem command, but I don't know how to modify the scripts that the command itself accesses, but I'm sure it's possible. Since the R/S/E fanfares are already in the FireRed ROM, it should be possible to change the scripts that the giveitem command accesses so that it plays the R/S/E fanfares instead of the level-up sound, but until those scripts are found, the script I posted above is identical to the giveitem command, except you get to choose which fanfare plays.
Well, if FRLG are anything like Emerald in terms of how they select the fanfare to play, there will be code which checks what type of item it is (by checking what pocket in the bag it goes into) and selecting a sensible one based on that. (Reason I know this is that I actually added a new fanfare to Emerald).
However, it probably doesn't work like that given that it uses only one fanfare. I may try to add a system in the same style as Emerald that handles all of this in the background.
ETA: Emerald checks what fanfare to play and then calls a script that actually takes care of playing the fanfare, by the looks, FR acts the same way.
|All times are GMT -8. The time now is 4:38 AM.|
© 2002 - 2015 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.
Use of PokéCommunity Assets
vB Optimise by DragonByte Technologies Ltd © 2015.