- 23
- Posts
- 10
- Years
- Seen Jan 25, 2021
That is what i suspect . Cause in G3hs i don't see any Add new Habitat page or Repoint for new Habitat , The only method i see is removing an habitat from an existing old Mon and replace it with the new ones (If i do these the same thing will happen in the old mons that i removed the habitat . if only someone can help me with these . I don't know how they do it (649 patch) giving Expanded mon individual habitats .
Please somebody and thanks Crunch . Do you know any method to fix these ? from Tools to Hex Editing (cause i can't deal with ASM yet. I'm planning on adding 770 Pokemons on my hack (That's the total number of pokemons + Mega's up to now) Thanks in Advance.
Hi this is Oppenheimer here and I think I can help you.
Right now im in the middle of adding 233 new pokemon and increasing the dex to 569, but before I tell you how to add and edit the habitat lists there are some fundementals about expanding pokemon and G3HS that you might not know.
-------------------------
Exapanding Pokemon|
-------------------------
1. DoesntKnowHowToPlay was the first to acheve expanded pokemon. His tutorial is found here https://www.pokecommunity.com/showthread.php?t=318569
*In my opinion this tutorial is difficult and made for Intermediate and Advanced hackers.
2. If your expanding pokemon for emerald a tutorial made by Chaos Rush can be found here: https://www.pokecommunity.com/showthread.php?t=324892
3. Jambo51 did some pioneering research for the pokedex it can be found here: https://www.pokecommunity.com/showthread.php?t=249530
4. Expanding the pokedex works on any FR v1.0, from fresh to done.
5. You can not add more than 1020 mons.
6. Since Generation VI is a full 3D graphics, footprints of Pokemon have finally discontinued. If you want to remove footprints completely you can use this tutorial by Sky High here: https://www.pokecommunity.com/showthread.php?t=337650
-------
G3HS|
-------
1. This program will conveniently expand the pokedex for you so you dont have to use the difficult tutorial by DoesntKnowHowToPlay. By pressing the "expand pokemon" button in the right upper corner, and when the dialog box comes up you will have to enter 2 numbers. The first is the total number, how many Pokemon you want to add in total (which means including alternate forms and mega evolutions). The second is the dex number, the size of the Pokedex when complete (excluding alternate forms and mega evolutions).
2. But there are 2 limits to this feature:
A) It does not expand the main cry table or the secondary cry table. But it does however expand the hoenn auxiliary table, which is used to index the cries starting from Treecko.
B) It does not expand the pokemon for emerald, you have to do this manually.
3. To my understanding the habitat editor in this program is broken. After I edited the habitats for Turtwig I wasnt able to open my ROM again with this program, it would just give me errors. These errors stoped when I regressed to an older ROM (I keep multiple backups) before I edited the habitats. You have to edit habitats manually.
4. This program does not have a pokedex order editor. To my understanding, when the total number of new pokemon is larger than the pokedex number, all of the slots after the pokedex number will get no entry to the pokedex. This basically means add your alternate forms and mega evolutions in the last slots.
For Example:
If the total Number of New Pokemon I add is 233 (Math: 439 + 233 = 672)
And The total Pokedex Size is 569 (Math: 387 + 182)
(Math: 233-182=51) That means 51 pokemon will not get a pokedex entry, I will use these slots for alternates and megas.
--------------------------------
How To Edit Habitat Entries|
--------------------------------
Now that stuff is out the way, you can start adding habitat entries.
1. colcolstyles posted information about how to edit the habitat entries here: https://www.pokecommunity.com/posts/6263014/
*The information he gives is very detailed.
Heres a small tutorial I made using colcolstyles post. Use this if his post is hard to understand.
Spoiler:
To change the habitat lists there are three tables that control it.
*There are 9 habitats in total.
*In the first table the pointers are arranged in the order that they appear in-game, so Grassland comes first.
*If you dont edit the habitat lists the expanded pokemon you catch will display from ratatta, but will it will register the expanded pokemon you caught.
The first table controls the classification of pokémon habitats (e.g., Grassland, Mountain, Rough-Terrain, etc.) as displayed in the PokéDex.
The data is located at the address 0x452c4c. Each entry is 8 bytes long. The first 4 bytes are a pointer and the other 4 bytes is a 32-bit number (I assume this is to keep the alignment consistent).
The pointer points to the secondary table, the first byte after that pointer specifies how many pages that table has, the last three bytes are filler and used for alignment.
Example: D4 27 45 08 1B 00 00 00
*This is the glassland habitat data.
The secondary tables specify which pokémon will appear on each page in the PokéDex. The first 4 bytes are a pointer and it points to the third table, the byte after specifes how many pokemon will be on that page, the last three bytes are filler and used for alignment.
Example: D0 24 45 08 04 00 00 00
*This is the first page for grassland.
The third tables are "raw" data, it corresponds to a page, and will have the pokemon index numbers in hex and reversed.
Example: 13 00 14 00 A1 00 A2 00
*These numbers correspond to Rattata, Raticate, Sentret, and Furret. The 4 pokemon in the first grassland page.
*There are 9 habitats in total.
*In the first table the pointers are arranged in the order that they appear in-game, so Grassland comes first.
*If you dont edit the habitat lists the expanded pokemon you catch will display from ratatta, but will it will register the expanded pokemon you caught.
The first table controls the classification of pokémon habitats (e.g., Grassland, Mountain, Rough-Terrain, etc.) as displayed in the PokéDex.
The data is located at the address 0x452c4c. Each entry is 8 bytes long. The first 4 bytes are a pointer and the other 4 bytes is a 32-bit number (I assume this is to keep the alignment consistent).
The pointer points to the secondary table, the first byte after that pointer specifies how many pages that table has, the last three bytes are filler and used for alignment.
Example: D4 27 45 08 1B 00 00 00
*This is the glassland habitat data.
The secondary tables specify which pokémon will appear on each page in the PokéDex. The first 4 bytes are a pointer and it points to the third table, the byte after specifes how many pokemon will be on that page, the last three bytes are filler and used for alignment.
Example: D0 24 45 08 04 00 00 00
*This is the first page for grassland.
The third tables are "raw" data, it corresponds to a page, and will have the pokemon index numbers in hex and reversed.
Example: 13 00 14 00 A1 00 A2 00
*These numbers correspond to Rattata, Raticate, Sentret, and Furret. The 4 pokemon in the first grassland page.
2. After that you will have to repoint and extend the tables (I have not done this yet).
Information about repointing and extending the habitat tables are in DoesntKnowHowToPlay tutorial, in the "Step 4: Misc. repointing" spoiler.
Last edited: