• 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?".
  • Forum moderator applications are now open! Click here for details.
  • 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

Jambo51

Glory To Arstotzka
736
Posts
14
Years
  • Seen Jan 28, 2018
Would it be possible to consider two different Pokemon to be the same Pokemon? That way we could have 28 Unowns that are created the same as other Unowns, 2/3 pikachus that are treated the same, and 7 or so of the one legendary. That would mean less hardcoded checks, but still wouldn't cover, say, cast-form.

Of course, I'm reverting to my Yuri's Revenge sensibilities, when this is more Tiberian Dawn style ASM.

I'm not really 100% sure what you mean here...
The Unown are all generated in the same way, and are all treated as one species of Pokémon.
Every Pokémon is randomly generated based on their stats when it's encountered, but there are specific checks determining what forme they can take (Deoxys and Unown are the obvious examples here).

On a related note, I have managed to programme in all but 1 of the evolutionary types that were introduced in Gen 4 and 5. Including getting the New Evolutionary Stones to work properly. The only one which is currently unavailable is the gen 5 introduced one where the two traded Pokémon control whether or not they evolve.
 

Derlo

Tired....
135
Posts
16
Years
Since you brought up the subject of 'new evolution' in 3rd gen...

You could try to make the orignal DN evolution system, was based on new D/N systems that were released for FR.

It would be very helpful for all.
 
Last edited:

Jambo51

Glory To Arstotzka
736
Posts
14
Years
  • Seen Jan 28, 2018
Hi all,
I wanted to know if any1 can release pokemon fire red hack with 649 pokedex.
im not really good with ASM or HEX.
Ill give credit in my hack.
Thanks.

First of all, this really isn't the place to ask for this. Careful or you'll get yourself into trouble with the mods. Secondly, the patch is NOT complete for any rom yet, and probably won't be for a while yet.

Since you brought up the subject of 'new evolution' in 3rd gen...

You could try to make the orignal DN evolution system, was based on new D/N systems that were released for FR.

It would be very helpful for all.

What? The level up Eevee with full happiness at Day/Night to get Espeon and Umbreon? I have put it in :)
Goes without saying that the rom needs the RTC for it to work though, otherwise it'll always try to evolve to Umbreon, as the routine will check the RTC time, which will be set to 0, and interpret that as night time.
 
Last edited:

Jambo51

Glory To Arstotzka
736
Posts
14
Years
  • Seen Jan 28, 2018
Wow... Just wow. I come back to visit and I find this. Great job Jambo51! I'm looking forward to seeing that awesome patch. :)

Thanks! I've been very busy since I developed the Day/Night Wild Pokémon routines :)

Another important update: All the evolution types work as far as I can tell, however, for people who play these hacks using a flash card rather than an emulator, I take no responsibility for any bugs caused by the new evolution types, as I cannot forsee bugs on systems I can't test on.

Gen 5's evolution type (Karrablast -> Escavalier when traded with a Shelmet or Shelmet -> Accelgor when traded with a Karrablast) works with IN GAME TRADES only at this time. I cannot test how the game works with proper trading, and as such, can make NO guarantees that it will work. I expect that it will not work, but feel free to give it a try.

While the routines for the Day/Night Specific evolutions work, I am NOT including the RTC in this patch. It is not mine, and I can't add it to the patch without first asking the people behind it's permission.
 
Last edited:

Shiny Quagsire

I'm Still Alive, Elsewhere
697
Posts
14
Years
Also, about the forms earlier, I once made seasonal forms for a specific pokemon by changing the sprite based on the RTC. I lost the source somehow, but I could dig it back up sometime. Or, a different approach could be to use the animation system. I made it so animations could vary from pokemon to pokemon, so I could add a check for forms, and load a different animation that shows a specific form.
 

Jambo51

Glory To Arstotzka
736
Posts
14
Years
  • Seen Jan 28, 2018
Also, about the forms earlier, I once made seasonal forms for a specific pokemon by changing the sprite based on the RTC. I lost the source somehow, but I could dig it back up sometime. Or, a different approach could be to use the animation system. I made it so animations could vary from pokemon to pokemon, so I could add a check for forms, and load a different animation that shows a specific form.

I have some ideas for simple sprite varying formes, as they aren't hard to do in any way. At the end of the day, the Unown are simply differing formes of the same Pokémon, so we can easily copy the routines for the Unown, bend them to suit our purposes (check genders/held items and such) and load the appropriate sprite for the result of the check.

However, formes with differing TYPES are going to be an absolute B***H to do. From what I can tell, the type data is not stored in the Pokémon's data, but is loaded from the Pokémon data tables dynamically as it's needed. This means that we will need to create literally hundreds of new routines which run the same checks as the sprite ones above to try to force different typing on different formes.

Is it really worth doing this...?
 

Paupir

Dreamer
22
Posts
12
Years
  • Age 33
  • UK
  • Seen Mar 7, 2015
You could just be lazy and add the type formes as separate Pokemon, switching which one it is in an evolutionary manner with some routine. Would there be any issue with that? The way I see it- it's too much of a hassle (Albeit, a huge accomplishment) to go about it the way you are.

Also, would you mind sharing just what the issue was with getting new evolutionary stones to work? I've had a look through the item table and the evolution table and I couldn't see anything out of the ordinary.

In any case, I'm so impressed with your work and it's really beneficial to those researching these things out of interest :)
 

Gamer2020

Accept no Imitations!
1,062
Posts
15
Years
Gen 5's evolution type (Karrablast -> Escavalier when traded with a Shelmet or Shelmet -> Accelgor when traded with a Karrablast) works with IN GAME TRADES only at this time. I cannot test how the game works with proper trading, and as such, can make NO guarantees that it will work. I expect that it will not work, but feel free to give it a try.
Use VBA-link to test the trading. Should work if in-game ones work though I think.
 

Meta Paradox

Researching FireRed...
56
Posts
12
Years
  • Seen Jul 18, 2011
I have some ideas for simple sprite varying formes, as they aren't hard to do in any way. At the end of the day, the Unown are simply differing formes of the same Pokémon, so we can easily copy the routines for the Unown, bend them to suit our purposes (check genders/held items and such) and load the appropriate sprite for the result of the check.

However, formes with differing TYPES are going to be an absolute B***H to do. From what I can tell, the type data is not stored in the Pokémon's data, but is loaded from the Pokémon data tables dynamically as it's needed. This means that we will need to create literally hundreds of new routines which run the same checks as the sprite ones above to try to force different typing on different formes.

Is it really worth doing this...?

Yeah, about the Is it really worth parts, I'm telling you, IT IS.

Moving on, I suggest that you should try to work with JPAN's hacked engine, as I can see that this and that combined would be a total FireRed hacker heaven. And I saw something about the integration with JPAN's save block hack, too, so this would be a good option.

You still do the work, though, so it's really up to you.
 

Jambo51

Glory To Arstotzka
736
Posts
14
Years
  • Seen Jan 28, 2018
Yeah, about the Is it really worth parts, I'm telling you, IT IS.

Moving on, I suggest that you should try to work with JPAN's hacked engine, as I can see that this and that combined would be a total FireRed hacker heaven. And I saw something about the integration with JPAN's save block hack, too, so this would be a good option.

You still do the work, though, so it's really up to you.

While it would certainly be possible to include JPAN's hack with this, I refuse to do so without JPAN's say so. I'm only including the save block hack because it's 100% necessary for it to work. And I made sure to credit JPAN for it. I never said I made it. :)

The formes are a pain in the rear end to do, but are possible. I still can't find the type(s) in the Pokémon's data, so I can't see any way of doing the type changing formes right now, except to force a species change without evolving but have it have very similar data.

Gen 5's evolution type (Karrablast -> Escavalier when traded with a Shelmet or Shelmet -> Accelgor when traded with a Karrablast) works with IN GAME TRADES only at this time. I cannot test how the game works with proper trading, and as such, can make NO guarantees that it will work. I expect that it will not work, but feel free to give it a try.

Use VBA-link to test the trading. Should work if in-game ones work though I think.

I tested it (in spite of VBA-Link crashing every 2 seconds) and the evolution does work. Hooray for me! :)
 
581
Posts
17
Years
For those who've been asking, I will probably release this publically as a patch when I've finished inserting all the data. This will mean it can't be used on a hack which is in progress. I'll most likely highlight the significant data in the patch so that people can copy it over to their roms if they want to use it on an already started hack. Of course, the patch will only be for BPRE as I simply don't have the time to sit and translate all the data and limiters over to another rom.

Current Patch Progress:
Limiters (100%)
Names (100%)
Front Sprites (100%)
Back Sprites (42% - Up to and including Servine in - No shiny pallets though)
Pokémon Data (100%)
Pokédex Entries (90% - Need to edit scale for comparison for nearly all, but everything else is in)
Movesets (0%)
TM/HM Compatibilities (0%)
Evolution Data (95%)
Evolution Types Added (100%)
Icons (0%)
Cries (100%)
Footprints (0%)
Pokédex Habitat Data (100%)

As you can see, there is a LOT of stuff to be done before I can truly call it complete. The routines work, yes, but that's about it.

Hey Yo, Is there any updates? What are the percentages currently?
 

Full Metal

C(++) Developer.
810
Posts
16
Years
^ Dude. o_O
You're ... back! :)
I second this question.
My keyboard fingers and hacking brains are getting itchy. >.<
 
15
Posts
12
Years
Hi, in the simple questions forum i asked this question:

"Hi I know this will probably sound stupid as I'm about to ask the opposite of what most pokedex related questions are but since I can't figure it out and there seem to be no posts on it I'll still ask it:

How do I REMOVE Pokemon from the pokedex (so there are only #1-151) and so that when you catch all of them (only the 151) you can get your diploma?

Also I would like to add a bonus Pokemon (Missingno.) that you do not have to catch to receive the diploma.

The rom I am attempting to hack is Pokemon FireRed US (CoolROM)

This would be greatly appreciated^^ (if you can help me of course)

Thanks in advance (map ;P)

Pokeshadow13"

Well I got the same answer every time- don't give them the national dex and don't put the other Pokemon wild. But I want to actualy delete them from the game. Since you seem to be the only pokedex post I guess you might be able to help.

Well thanks in advance.

Pokeshadow13
 

Full Metal

C(++) Developer.
810
Posts
16
Years
Well. You would have to change all the pointers to references of each pokemon in every table to NULL, and set a few bytes in the asm-codes to remove the limiting factors of the in-built code. :)
*edit* But seriously. It's way easier to just not give them the national pokedex and not worry about removing the pokemon's data. What happens if a player gets in a battle with another game? HM?
 

Paupir

Dreamer
22
Posts
12
Years
  • Age 33
  • UK
  • Seen Mar 7, 2015
Won't you reveal how you got the evolutionary stones working, or where the routine is? :P
It's my greatest foe.
 

Jambo51

Glory To Arstotzka
736
Posts
14
Years
  • Seen Jan 28, 2018
Won't you reveal how you got the evolutionary stones working, or where the routine is? :P
It's my greatest foe.

If I could remember how I did it, I would! The Dawn Stone is still slightly buggy, FYI, so I'll need to fix them anyway!

On a related note, I currently cannot access Pokecommunity from my PC, so there may be a delay on any information, requests and any patch itself.
 

MKSSB

OKですか?
66
Posts
13
Years
  • Seen Jan 14, 2014
Jambo told me to post this progress update as he can't enter to Pokécommunity.

Current Patch Progress:
Limiters (100%)
Names (100%)
Front Sprites (100%)
Back Sprites (42% - Up to and including Servine in - No shiny pallets though)
Pokémon Data (100%)
Pokédex Entries (90% - Need to edit scale for comparison for nearly all, but everything else is in)
Movesets (0%)
TM/HM Compatibilities (5%)
Evolution Data (99%) - Need to edit Eevee's reading to support 7 evos instead of 5
Evolution Types Added (99%) - Dawn Stone is slightly bugged
Icons (100%) - Might add a few extra pallets to make it work better
Cries (100%)
Footprints (0%)
Pokédex Habitat Data (100%)
New Base Exp System (80%)
Item Use Coordinates (0%)
 

Jambo51

Glory To Arstotzka
736
Posts
14
Years
  • Seen Jan 28, 2018
Jambo told me to post this progress update as he can't enter to Pokécommunity.

Current Patch Progress:
Limiters (100%)
Names (100%)
Front Sprites (100%)
Back Sprites (42% - Up to and including Servine in - No shiny pallets though)
Pokémon Data (100%)
Pokédex Entries (90% - Need to edit scale for comparison for nearly all, but everything else is in)
Movesets (0%)
TM/HM Compatibilities (5%)
Evolution Data (99%) - Need to edit Eevee's reading to support 7 evos instead of 5
Evolution Types Added (99%) - Dawn Stone is slightly bugged
Icons (100%) - Might add a few extra pallets to make it work better
Cries (100%)
Footprints (0%)
Pokédex Habitat Data (100%)
New Base Exp System (80%)
Item Use Coordinates (0%)

I didn't TELL you to, I asked you to :P
Anyway, here's a newer update for this:

Current Patch Progress:
Limiters (100%)
Names (100%)
Front Sprites (100%)
Back Sprites (42% - Up to and including Servine in - No shiny pallets though)
Pokémon Data (100%)
Pokédex Entries (90% - Need to edit scale for comparison for nearly all, but everything else is in)
Movesets (6%)
TM/HM Compatibilities (5%)
Evolution Data (100%)
Evolution Types Added (100%)
Icons (100%)
Cries (100%)
Footprints (0%)
Pokédex Habitat Data (100%)
New Base Exp System (100%)
Item Use Coordinates (0%)

A big thanks to "hi sir tomato my password is syvniti" for his help with the Icons!
Also, Apologies if this post looks weird, but I'm having to post in a weird way XD
 
Last edited:

Gamer2020

Accept no Imitations!
1,062
Posts
15
Years

Icons (100%) - Might add a few extra pallets to make it work better

New Base Exp System (100%)
Item Use Coordinates (0%)
1) Aren't there three palletes in the DS games as well? In fact the same ones?

2) New base EXP system? That is the same to isn't it? There is no need to update these things?

3) Jack confused =0
 
Back
Top