Welcome to the PokéCommunity!

Hi there! Thanks for visiting PokéCommunity. We’re a group of Pokémon fans dedicated to providing the best place on the Internet for discussing ideas and sharing fan-made content. Welcome! We’re glad you’re here.

In order to join our community we need you to create an account with us. Doing so will allow you to make posts, submit and view fan art and fan fiction, download fan-made games, and much more. It’s quick and easy; just click here and follow the instructions.

PGM is all set for February. This month, we're playing through a game known as Eevee's Tile Trial. If you wish to earn rewards, please head over to our event thread by clicking on the provided link and give yourself a shot at the game!

Hey Unregistered! How fast can you game? The Marathon II is up and running in Video Game's - compete against your friends to see how quickly you can complete sixty intense in-game challenges. See you there!

Research & DevelopmentGot a well-founded knack with ROM hacking? Love reverse-engineering the Pokémon games? Or perhaps you love your assembly language. This is the spot for polling and gathering your ideas, and then implementing them! Share your hypothesis, get ideas from others, and collaborate to create!

Research & Development programs in this forum are subject to moderator approval before they are displayed.

Sooo... this is the hex for the decorations in Emerald (and it is unlikely to be very different in RS) I know it first starts with an identifier (the Decoration ID, if you will) that is in bold above. Next comes the decoration's string (in blue) But then I get lost with the next two bytes. In green we have what category each decoration is (ie: 0x75 WAILMER DOLL is in the dolls category: 0x6). Next comes two more unknown bytes, and two padding bytes? And lastly, in red, we have the pointers to each item's description (back to 0x75: "A large doll.|Place it on a mat|or a desk.") and what I believe could be the tiles used to make the decoration (0x75: B7 00).

Could someone help me complete this table and confirm/dismiss my observations? As I have ran out of ideas as to what they could mean.

(the table of decorations begins at 0x5A5C08, the descriptions at: 0x5A4748, and the tile numbers are at: 0x5A4514.

Is there a way to make it so you can use fly to get to the towns without a need to go to the town's pokemon center first? I don't mean warping, I mean that you can use the fly HM to go anywhere despite not visiting the pokemon center in said town first.

Is there a way to make it so you can use fly to get to the towns without a need to go to the town's pokemon center first? I don't mean warping, I mean that you can use the fly HM to go anywhere despite not visiting the pokemon center in said town first.

Hey, are the flags that enable you to be able to use 'fly' to get to a town's pokemon center able to be set at any time? I would like to set those flags automatically for everywhere at the start of a game.

Hey, are the flags that enable you to be able to use 'fly' to get to a town's pokemon center able to be set at any time? I would like to set those flags automatically for everywhere at the start of a game.

There are a few ways you could do this. You could have the main music get replaced with your new music, or you could have the low hp track in Sappy include your song along with it, and disable the main track. So it is possible, it'd just take some time to ASM hack out, because it will require some ASM hackery.

So editing the Pokemon that is released by the Professor in the games is easy, and I think possible with some tools. However, the cry does not change. Here are some changes that need to be made to change the cry of this Pokemon.

FireRed:

Code:

0812FB38: 02 48
0812FB42: 30 BD XX XX 00 00

Ruby:

Code:

0800A506: 03 48 C0 46
0800A512: 00 BD XX XX 00 00

Emerald:

Code:

08030B0C: XX XX

Where XX XX is the index of the Pokemon in reversed hex. For example Charizard would be 06 00. A list can be found here.

This would be quite difficult to actually do, since the new music would have to be implemented effectively as an indefinite fanfare.

I'm honestly not sure how the game does the current low HP thing, but to replace it with BW's one, you'd need to pause the playing music, play the BW music, and on the circumstances changing so it doesn't need to play any longer, resume playing the normal theme.

__________________

Hey guys, please check out my recreations of the gen 1 and 2 music on my custom engine at my SoundCloud! - Here!

So editing the Pokemon that is released by the Professor in the games is easy, and I think possible with some tools. However, the cry does not change. Here are some changes that need to be made to change the cry of this Pokemon.

FireRed:

Code:

0812FB38: 02 48
0812FB42: 30 BD XX XX 00 00

Ruby:

Code:

0800A506: 03 48 C0 46
0800A512: 00 BD XX XX 00 00

Emerald:

Code:

08030B0C: XX XX

Where XX XX is the index of the Pokemon in reversed hex. For example Charizard would be 06 00. A list can be found here.

So, I've gotten sick of being asked for this, so I figured it might be a good idea to share it. It's so short and easy that it definitely doesn't warrant having its own thread, so putting it here seems like a good compromise.

Extending the Number of Direct Sound Tracks on 3rd Gen Pokémon Games

It's as easy as this:

Search for the hex string "00 C5 94 00" in your ROM

Replace said string with "00 CX 94 00" where X stands for the number of maximum DS tracks

Now, there are limits here. Fire Red and Emerald (presumably Leaf Green too) can support a maximum of 12 (0xC) tracks, so you can put 00 CC 94 00 for these ROMs, however, Ruby (presumably Sapphire too) are different. RS can only support a maximum of 7!

BPR - 12BPG - 12BPE - 12AXV - 7AXP - 7

__________________

Hey guys, please check out my recreations of the gen 1 and 2 music on my custom engine at my SoundCloud! - Here!

So, I've gotten sick of being asked for this, so I figured it might be a good idea to share it. It's so short and easy that it definitely doesn't warrant having its own thread, so putting it here seems like a good compromise.

Extending the Number of Direct Sound Tracks on 3rd Gen Pokémon Games

It's as easy as this:

Search for the hex string "00 C5 94 00" in your ROM

Replace said string with "00 CX 94 00" where X stands for the number of maximum DS tracks

Now, there are limits here. Fire Red and Emerald (presumably Leaf Green too) can support a maximum of 12 (0xC) tracks, so you can put 00 CC 94 00 for these ROMs, however, Ruby (presumably Sapphire too) are different. RS can only support a maximum of 7!

I just wanted to add that in RS there are actually two locations that have contain that string of hex values. One in the one 1D0000s and one in the E70000's. I believe after some talks with ShinyDragonHunter a while back I discovered this. I believe that it ended up being the first one.

----------------------

I also recently spent a lot of time pouring over the maximum number of overworld limiting bytes and found that in all games except Emerald, (which I have yet to figure out as it is very different, but I am close) that there were actually three different compare commands that prevent the increasing of OWs. The first was a normal check that set the limit at 151 for FR and 217 for Ruby. (Please note that there are 152 ows in FR and 218 in Ruby. This means that the SS Anne is not special like once assumed, this check is solely based off of the OW numbers used in A-map and NSE).

The second and third checks actually worked together in order to allow the use of higher number OWs over OW #240 by pulling different OWs from the origional table. If you only change one of these checks, it screws up your OW's pallette and position on the map. They must be used in sync.

The offsets for the ASM routines which control these limits are:

Ruby: 0x0805BC10

FireRed: 0x0805F2C8

Please note that this is the beginning of the entire routine, not the checks themselves. I plan on extending Darthatron's Advanced OW Editing Tutorial (with permission if he lets me:D) in order to account for these checks. So unless you have a good understanding of basic ASM, don't play with this quite yet.

As for this, now i'm outta time, but i'll try to do something to you. Thing is, there's a routine in the rom, a powerful one, that has ENTIRE access to a pokemon's data, and can change anything about it!
List of things discovered that the routine can change (don't mind the hex numbers):

I was just wondering what exactly this routine is, and I was wondering if it would apply to eggs? For example, I want to create a script that would give you a specific egg with preset eggmoves. That or Pokemon with 'hidden abilities'. What special or callasm would I need to put into the script?

If I've been mildly silly and the number is already posted I apologize in advance.

Does anyone know how to ASM hack the intro in Fire Red so that it skips the "Gengar - Nidorino" Intro without the press of a button? Like after the "GAMEFREAK Presents" Logo, It will go on to the Title Screen and not play that sick and old intro?

__________________

LET'S PARTY!

robin22gongon

Also Known As:The Superbly Awesome Great Dynamic Fantastic Super High Majestic Robin!

Does anyone know how to ASM hack the intro in Fire Red so that it skips the "Gengar - Nidorino" Intro without the press of a button? Like after the "GAMEFREAK Presents" Logo, It will go on to the Title Screen and not play that sick and old intro?

I believe that there is a script command that gets this info, it is like "getplayerlocation" or something. Hit F1 in XSE and scroll through the commands. I will also go see where the exact location in the ram is in case you need this for an ASM routine.

Edit:

Quote originally posted by thethethethe's Rom Hacking Resource:

-----------------------------------------------------------------------------------------------------
getplayerpos, getplayerxy:
Stores the players current x and y positions on the current map.
Hex Structure: [42] [xxyy] [aabb]
xxyy: Variable for x position
aabb: Variable for y position

The PokéCommunity

Meta

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, or The Pokémon Company International. We just love Pokémon.