• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • 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.

Research: FireRed Pokédex Hacking

73
Posts
14
Years
  • Seen Aug 31, 2014

I'll un-password it by next release. I'd rather not give out the password since no one should really be trying to do things with the alpha.

Ah, I apologize. I was actually just interested in seeing what all was actually introduced--like the attacks and abilities.
 

Wesley FG

Pokémon Kalos Advance !! Gba Hack
338
Posts
15
Years
This is my best weekend notice,
i testing the patch at now,
thanks so much friend,
i really apreciated your work!
 

Jambo51

Glory To Arstotzka
736
Posts
14
Years
  • Seen Jan 28, 2018
Well the program's folder did not included an actually INI with it but you can chose which offset it starts reading at. So all I need to do is find the offeset of Turtwig and go on from there and you'll have your footprints!

I had a quick look last night, and the programme doesn't have the ability to use custom offsets. I tell you what, insert the footprints over the first 260 (or however many it is) slots, and I'll transplant them into the main patch when you're done. Sound reasonable?
The same would also work with the movesets, as long as you tell me where the stuff is lol.

This is my best weekend notice,
i testing the patch at now,
thanks so much friend,
i really apreciated your work!

You are most welcome, my friend.
 

Gamer2020

Accept no Imitations!
1,062
Posts
15
Years
I had a quick look last night, and the programme doesn't have the ability to use custom offsets. I tell you what, insert the footprints over the first 260 (or however many it is) slots, and I'll transplant them into the main patch when you're done. Sound reasonable?
The same would also work with the movesets, as long as you tell me where the stuff is lol.



You are most welcome, my friend.
The FootPrintEditor thing does support custom offsets. You put in the offset of the footprint you are editing, not the table.
 
3
Posts
14
Years
  • Seen Dec 24, 2011
jambo51 you make my day more bright!
i will test the patch right away
many thanks
 

shinyabsol1

Pokemon DarkJasper!?
333
Posts
13
Years
  • Seen Nov 23, 2022
Hey Jambo51, this is some really impressive work! What you have managed to do is incredible, and I'm enjoying testing it out.

However, I'm experiencing a few problems that nobody else has posted about (maybe they are problems only for me because I have missed or done something wrong?):

1). You said that some sprites in the pokedex might be missing...but what about in wild encounters? For me, a bunch of pokemon (including Roserade and Biberal) have no sprite, and appear as glitchy squares when I attempt to look view them while in my party.

2). For some reason, advance map won't let me choose from ALL of the new pokemon you inserted--only Turtwig through Bastiodon--to set as encounter-able in the wild.

Any idea why I might be having these issues?

Thanks, and keep up the good work!
 

Jambo51

Glory To Arstotzka
736
Posts
14
Years
  • Seen Jan 28, 2018
Answers to shinyabsol1:

1) Exactly the same issue as the Pokédex screen. Missing Data

2) A-Map isn't compatible with the new Pokémon because A-Map has (I think) built in limits preventing use of ID's higher than that of Chimecho (ID of Chimecho is 411). You CAN hex edit the data and then open the map in A-Map. It will not crash, but the Wild Data will show empty slots. No Bug - Compatibility Issue

Since these issues are NOT research related, I'm gonna see if I can make a new thread in the Sideshow Hacks section for this patch. Please report any bugs to that thread in future rather than here, as this is meant to be an R&D thread. We should try to keep this thread specifically for findings/research about this subject.
 

shinyabsol1

Pokemon DarkJasper!?
333
Posts
13
Years
  • Seen Nov 23, 2022
Jambo51 said:
Answers to shinyabsol1:

1) Exactly the same issue as the Pokédex screen. Missing Data

2) A-Map isn't compatible with the new Pokémon because A-Map has (I think) built in limits preventing use of ID's higher than that of Chimecho (ID of Chimecho is 411). You CAN hex edit the data and then open the map in A-Map. It will not crash, but the Wild Data will show empty slots. No Bug - Compatibility Issue

Since these issues are NOT research related, I'm gonna see if I can make a new thread in the Sideshow Hacks section for this patch. Please report any bugs to that thread in future rather than here, as this is meant to be an R&D thread. We should try to keep this thread specifically for findings/research about this subject.

Ok.

Thanks for answering.
 
1,323
Posts
16
Years
  • Seen Dec 9, 2023
So I took a look at your patch and noticed one thing: You're not using separate index numbers for forme changes. I think that's what's causing you a lot of trouble, take a look at this:
http://bulbapedia.bulbagarden.net/wiki/List_of_Pokémon_by_index_number_(Generation_IV)

In Generation IV, all Pokemon forme changes have separate index numbers, in other words, internally, Giratina Altered and Giratina Origin are counted as separate Pokemon. It appears that in Gen V they developed a new system where forme change don't use separate index numbers, but this is Gen III, so I'm assuming data structures would be closer to Gen IV than Gen V.

Is there a reason why you chose not to use separate index numbers for forme changes, or did you just not know that Gen IV did that? I believe it would save you a lot of trouble, because then you can handle forme changes (even type changes) simply by changing the Pokemon in your party to a different one in-real time. I'm assuming that wouldn't be that hard with ASM.
 

Jambo51

Glory To Arstotzka
736
Posts
14
Years
  • Seen Jan 28, 2018
The main reason I chose to do it Gen 5 style, was because I felt it would be neater in the long run. There's more background code to deal with it, but there's MUCH less data stored in the ROM.

I actually have the formes working with my code (well - the code to handle the differences between formes exists), but there is currently no existing way to activate them. This is something I'm actually working on.

Also, because of the checksum, changing anything in the Pokémon data directly can be extremely hazardous.

My solution was to make use of an otherwise unused set of bits in the Pokémon data, which is the upper 4 bits of the "Mark" byte. These 4 bits allow 16 possibilities for differing formes, which is more than enough for all the existing Pokémon (Arceus aside - but Arceus was easy to do, as it's simply based on a held item).

Harder? - Undoubtedly.
More Impressive - I'd argue it is.
 
1,323
Posts
16
Years
  • Seen Dec 9, 2023
Also, because of the checksum, changing anything in the Pokémon data directly can be extremely hazardous.
Well I'm not that knowledgeable on things like this, but changing the index number of a Pokemon in your save file will mess up the checksum?

I do agree, it is more impressive to do it the Gen V way. Also I have a question, does your patch have gender differences (or at least you have it planned and tested and working).

Also another question, I noticed that in the Gen III games, index number 412 (right after Chimecho) is the extra Unown forms. I noticed in your patch that 412 is Burmy. How are you keeping the Unown forms?
 

Jambo51

Glory To Arstotzka
736
Posts
14
Years
  • Seen Jan 28, 2018
When writing to the Pokémon's data, you risk changing something which should have an effect in the checksum. Without updating this checksum, the Pokémon will instantly become a Bad Egg.

My way of doing the formes avoids this potential problem by not writing to that area of data. It simply keeps the same Pokemon, calling the stat recalculator if necessary. It also takes much less space in terms of seperate data.

The code for gender differences is mixed in with the formes, since I reasoned that they were technically a variation on formes. Like Arceus however, nothing is directly stored to the Pokémon data which determines its gender, it is simply calculated on the fly as necessary. The Sprites are missing however.

Actually, the EGG is sprite 412. But that's nitpicking. To answer your question, I inserted a little bit of extra code at the sprite getting locations, with checks against the Sprite number and the Species ID (both are in the registers at this stage in FR). Simply, If it's Unown, I load a different table offset, and subtract the necessary number of sprites to make it fit, and if it's the EGG sprite ID, I check if the Pokémon the sprite request came from is an egg. Even if it is a Burmy AND an EGG, it will automatically display the EGG sprite until it hatches.

More complicated than necessary, but that's what happens when you forget that the Unown sprites (and EGG sprites) follow directly on from the "Normal" sprites.

EDITED TO ADD: I managed to get formes to recalculate stats when activated based on the current forme.
http://www.youtube.com/watch?v=TYawCGXDB9E
 
Last edited:
1,323
Posts
16
Years
  • Seen Dec 9, 2023
Minor issue I noticed: It doesn't save on actual GBA hardware. I tested it with my EZFlash3in1 on my DS. Well, it does save kinda, but if you turn it off and load it up, you get, "The save file is corrupt. The previous save file will be loaded." And then it will kinda load, but it was all glitchy, since I saved in Viridian Forest but it loaded in Pallet Town for some reason.

If you soft reset, then you get, "The save file is deleted...". I'm assuming this all has to do with the save block hack.
 

Jambo51

Glory To Arstotzka
736
Posts
14
Years
  • Seen Jan 28, 2018
Minor issue I noticed: It doesn't save on actual GBA hardware. I tested it with my EZFlash3in1 on my DS. Well, it does save kinda, but if you turn it off and load it up, you get, "The save file is corrupt. The previous save file will be loaded." And then it will kinda load, but it was all glitchy, since I saved in Viridian Forest but it loaded in Pallet Town for some reason.

If you soft reset, then you get, "The save file is deleted...". I'm assuming this all has to do with the save block hack.

It probably does, but I genuinely couldn't comment on it, as I didn't develop it. I never said that the code would work on GBA, but it's nice to know it doesn't. JPAN would know more than me though.
 
1
Posts
13
Years
  • Seen Jun 13, 2012
2) A-Map isn't compatible with the new Pokémon because A-Map has (I think) built in limits preventing use of ID's higher than that of Chimecho (ID of Chimecho is 411). You CAN hex edit the data and then open the map in A-Map. It will not crash, but the Wild Data will show empty slots. No Bug - Compatibility Issue

Sorry man, but i don't understand as edit wild pokemon...
 
42
Posts
13
Years
  • Seen Aug 13, 2021
So I got really busy right after I said I'd have the rest of the generation done in a week. Oh well, its not like there was any huge rush or anything. But, I'm done, at least with the vanilla versions of all of them. I still have to do things like the Rotom Formes, but that list is much shorter.

I formatted everything for insertion with Wichu's Advance series, so I'm not sure how useful that is for you, but I also have them all organized in folders with individual sprites. I've attached both since I'm not sure which is better for you. The one with the folders is the New Sprites.zip and the one formatted for the Advance series is Gen 4.zip. Just make sure and credit the following people:
WesleyFG, ChaosRush, Miyuki, Ingrid, Icy and myself. I honestly cannot wait to see this project finished.
 

Jambo51

Glory To Arstotzka
736
Posts
14
Years
  • Seen Jan 28, 2018
So I got really busy right after I said I'd have the rest of the generation done in a week. Oh well, its not like there was any huge rush or anything. But, I'm done, at least with the vanilla versions of all of them. I still have to do things like the Rotom Formes, but that list is much shorter.

I formatted everything for insertion with Wichu's Advance series, so I'm not sure how useful that is for you, but I also have them all organized in folders with individual sprites. I've attached both since I'm not sure which is better for you. The one with the folders is the New Sprites.zip and the one formatted for the Advance series is Gen 4.zip. Just make sure and credit the following people:
WesleyFG, ChaosRush, Miyuki, Ingrid, Icy and myself. I honestly cannot wait to see this project finished.

Do you have permission to post these?
I hope you do :)

I do actually have Wichu's sprite editor, and it works more or less perfectly for all the "normal" pokémon. ie, those without male/female sprites or formes.
So i'll be able to insert the majority very quickly and easily using that, and do the remainder manually.

And another thing - Thanks!
 
42
Posts
13
Years
  • Seen Aug 13, 2021
Yes, I've talked to Wesley about using his sprites and he was totally fine with it. The Togekiss sprite was made by someone for ChaosRush's 493 GBA project here, which was public. I just can't remember the actual user who made it, so I just figured crediting Chaos under the umbrella of it being his project would suffice. The others are all users on another forum that I originally started working on these for as my own project, so I know I can post theirs.
 

Jambo51

Glory To Arstotzka
736
Posts
14
Years
  • Seen Jan 28, 2018
I was just making sure after what had happened in this thread in the past, i'm sure you can understand that I was just covering my read end.

I have already inserted the sprites (and removed all the old sprites), and they look so much better.
Now I simply need to fiddle about with the sprites with formes so that they work as well.
 
Back
Top