• 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.

Expanding the Pokédex into Emerald

Status
Not open for further replies.
252
Posts
10
Years
  • Age 27
  • Seen Jul 6, 2019
Well, I went through the whole tutorial, adding in all of the 4th gen Pokémon (and Sylveon), and I have some good news and bad news. I can explain it through a picture:
GoodandBad_zpse420bff4.png


I did a Word document, side by side with your tutorial, and I think there is one more offset you forgot to add in. The offset is not in the Gen 3 Hacking Suite ini, but it is in Pokémon Game Editor's, which I used to edit the names and order of all the Pokémon.

PokemonFrontSprites=&H301418
I think the real issue is that Wichu's Sprite Editor assumes that 00 bytes are free space for Emerald: I actually confirmed this just now by putting the start offset as 0xDE4018. The 00 bytes were overwritten instead of the FF bytes. That probably screwed up your rom.
 

LCCoolJ95

Limited Capacity
638
Posts
14
Years
The reason why it's not in the Gen 3 Hacking Suit ini is because that table that PGE calls "PokemonFrontSprites" is unused by the game, as those are the single-frame Ruby/Sapphire sprites (you can confirm this by looking at Snorlax's sprite in the RS table and then Snorlax's sprite in the "PokemonAnimations" table. Snorlax actually received an entirely new front sprite in Emerald.) The table at x30A18C is the REAL front sprite table (it should have two frames per mon), and is the correct offset that both G3HS and Wichu's Tools lists as Emerald's front sprite table.
Oh wow, really? I just checked that out. It's a small difference looking at the sprites, but they are different.

I think the real issue is that Wichu's Sprite Editor assumes that 00 bytes are free space for Emerald: I actually confirmed this just now by putting the start offset as 0xDE4018. The 00 bytes were overwritten instead of the FF bytes. That probably screwed up your rom.
Ahh, okay.

Well, in all honesty, I just did this as a test, since this was my first time doing it. I'm just excited to see that it actually worked out. Not to the highest degree, but it worked. So...what happens now?
 
1,323
Posts
16
Years
  • Seen Dec 9, 2023
I just want to say that I can confirm everything in the tutorial is correct and all you need, as I'm working on a 721 ROM base and got the Pokédex working solely from the information provided in this tutorial (proof at romhack.me). Also karatekid552 will eventually send me a test version of his tool with Emerald Pokédex expansion implemented, and will become official once it's been tested thoroughly.
 
180
Posts
10
Years
  • Age 34
  • Seen Jan 10, 2017
So, I would just like to double confirm something before I move on and start to add sprites/movesets etc.

I have successfully manged to get all this done. I now have 40 extra slots after Chimeco and repointed every single table. Each table contains the amount of bytes written in the tutorial + (40 x needed bytes depending on table) at the end of each table.

I have made all this assuming that the amount of dex entries should be 387 + 40 = 427.

What about those Unown/Egg slots? Was I supposed to account for those when I repointed each table, that is The old table + the weird slots + my new extra slots making the total 68 ([439 - 411] + 40).

When I edit my mons in the Hacking Suite, should I write that I have 427 mons or 479 in the ini (and thus skip 412 - 439). If I changed sprite and edited some stats on 412, have I ruined the game and need to start over from my last backup or can I fix it?
 
1,323
Posts
16
Years
  • Seen Dec 9, 2023
So, I would just like to double confirm something before I move on and start to add sprites/movesets etc.

I have successfully manged to get all this done. I now have 40 extra slots after Chimeco and repointed every single table. Each table contains the amount of bytes written in the tutorial + (40 x needed bytes depending on table) at the end of each table.

I have made all this assuming that the amount of dex entries should be 387 + 40 = 427.

What about those Unown/Egg slots? Was I supposed to account for those when I repointed each table, that is The old table + the weird slots + my new extra slots making the total 68 ([439 - 411] + 40).

When I edit my mons in the Hacking Suite, should I write that I have 427 mons or 479 in the ini (and thus skip 412 - 439). If I changed sprite and edited some stats on 412, have I ruined the game and need to start over from my last backup or can I fix it?
In the Gen III games, there are 439 Pokémon slots, and 386 dex entries (387 if you count 0). Meaning that if you are adding Pokémon, the first one you add should be slot 440. If the first Pokémon you added is slot 412, then you did something wrong. HOWEVER, the base stat table, the moveset table, and the Pokémon names table only goes up to 411 (Chimecho), so you have to account for the Unown slots when expanding those. The sprite/palette tables go up to 439.

The dex slots alone, however, are separate from the index numbers. So in your case, you should have 479 index number slots, and 427 dex slots. You should put 479 in the ini.

If you edited slot 412, then that is a problem, because that's the Egg slot (or Unown A? I forgot, but it's one of those).
 
1,323
Posts
16
Years
  • Seen Dec 9, 2023
This is minor, but for those of you that know about the cry table and expanded mon, any Pokémon that uses a cry ID of 0x200 or higher won't play. To fix it, simply put 01 1C 11 E0 at xA35A2.

Credit to DoesntKnowHowToPlay for the FireRed offset, which I used to find the Emerald offset.
 
180
Posts
10
Years
  • Age 34
  • Seen Jan 10, 2017
I just want to say that I can confirm everything in the tutorial is correct and all you need, as I'm working on a 721 ROM base and got the Pokédex working solely from the information provided in this tutorial (proof at romhack.me). Also karatekid552 will eventually send me a test version of his tool with Emerald Pokédex expansion implemented, and will become official once it's been tested thoroughly.

I did everything exactly as written in the tutorial and I have come across 2 issues.

1. When I placed an expanded Pokemon in the Wild, I would just battle against a black ring with a question mark in (the indicator that there is no sprite). I solved this by placing 07 E0 at 0x34BFE (a third sprite limiter which was not in the original guide. It seems like Fire Red only has two of these while Emerald has three).

2. This leads me to my current issue. While my expanded mons work in battle, they don't work in the Pokedex. Stuff like Pokedex descriptions and height shows up correctly but the Picture and name does not come up. The name does work in-battle and when looking at the Pokemon's status screem, but not in the Pokedex itself. The name just shows up as "?" and the picture as "??" (not the same as the circle with a ? in) leading me to believe that there is some kind of Pokedex limiter which you might have forgotten to add in this guide.

I have checked everything 4 or 5 times already and I have done exactly what you have written down.
 
51
Posts
9
Years
  • Age 38
  • Seen Dec 20, 2022
I've just gone through the whole tutorial and after going back and double checking and fixing a few mistakes it all seems to be working fine. I haven't tested out wild encounters yet though. I haven't added new sprites yet but what I have done with each repoint is copy the amount of necessary bytes from the beginning (eg. for now, after all the unowns it begins again with Bulbasaur, Ivysaur etc.). So everything lines up and everything works fine so far.
This brings me to a question about the optional step of disabling animations. I decided to repoint and keep the animations using my same method as before. It is still all working fine, I just have a question about two of the steps:
"Now at x308CC0, change the bytes there to 38 F5 2F 08."
"At x06EE38, put 00 00.
At x06ECC4, put 01."
Are these steps optional too or do I need to still make these changes even if I decided not to disable animations?
 
Last edited:
51
Posts
9
Years
  • Age 38
  • Seen Dec 20, 2022
Here is another double post, shoot me. Even though no one who has got this right seems interested in helping me with my simple question, I will post the offsets here of all the area of expansion that Chaos Rush did not cover. This can at least save other people the time of doing all the calculating for information that someone else already has. If I have it I might as well share it, this is not my property, it is Game Freak's property, so the idea of ownership of anything in this forum is completely idiotic and blind.
So, even though it seems like it is against the spirit of this community to actually help people, here are the offsets of other tables that need to be repointed. I forgot to save how many bytes per entry in my notes but at least here is a start:
Spoiler:

Also, I noticed in the Fire Red tutorial, there is a fix for evolution animations that Chaos Rush did not cover. In Emerald it is here:
Spoiler:
There are also Egg Moves that I should think need to be repointed, I will do this shortly. And if there is anything else that has been overlooked, I sincerely hope that someone will say.

I see many Rom hacks available, but if you ask for information, people are quiet. So if you don't feel like sharing, good luck with that and I hope it takes you far. Personally, if I ever feel like taking ownership of an idea or calling it original, I will make my own game and not mod someone else's. As far as modding Pokemon goes (someone else's game), any information I find or breakthroughs that I make, I will be glad to share.

P.S. I'm thinking about leaving this community and posting my Emerald progress elsewhere. For most people here I get the impression that this is a competition and I am not interested in sharing with people who look down on others, I would rather share and teach with those who do not know, like me once upon a time.

P.P.S. This is aimed at the state of the community in general, and is not aimed at you, Chaos Rush. In fact I bow down to you for doing all of this hard for us AND sharing it. Thank you.
 
Last edited:

LCCoolJ95

Limited Capacity
638
Posts
14
Years
Well, I expanded almost everything except the cry table. Everything works, except for one thing. When the evolution animation occurs, the Pokémon is still the black question mark I replaced. It doesn't freeze or anything, and when I look at the status screen, it has the regular sprite I inserted. Why does this happen?
 
51
Posts
9
Years
  • Age 38
  • Seen Dec 20, 2022
Well, I expanded almost everything except the cry table. Everything works, except for one thing. When the evolution animation occurs, the Pokémon is still the black question mark I replaced. It doesn't freeze or anything, and when I look at the status screen, it has the regular sprite I inserted. Why does this happen?

Is it only during the evolution animation that it becomes a black question mark? Did you try that fix for the evolution animation I mentioned above? I think I've shot myself in the foot a bit with my own personal hack because I've expanded and done too much at once and can't really test any of it yet. And I haven't been keeping my ini files up to date either and I'm putting it off with dread.. :/
See, I think that we need to test this thoroughly, in all areas of expansion and gameplay before we can ever hope for it to be added to any tool. And sharing information about it helps us reach this goal. If you look at the Fire Red tutorial, there was so much interest that eventually the OP covered all areas of it and had it running to the tee. This thread seems to have just tapered off with everyone sitting back and waiting for it to be added to G3HS, which would make any bugs that still exist karatekid552's problem...
@LCCoolJ95 - May I ask how many entries you expanded your Pokedex with? I am interested in doing more then 744..
 
Last edited:

LCCoolJ95

Limited Capacity
638
Posts
14
Years
Is it only during the evolution animation that it becomes a black question mark? Did you try that fix for the evolution animation I mentioned above? I think I've shot myself in the foot a bit with my own personal hack because I've expanded and done too much at once and can't really test any of it yet. And I haven't been keeping my ini files up to date either and I'm putting it off with dread.. :/
See, I think that we need to test this thoroughly, in all areas of expansion and gameplay before we can ever hope for it to be added to any tool. And sharing information about it helps us reach this goal. If you look at the Fire Red tutorial, there was so much interest that eventually the OP covered all areas of it and had it running to the tee. This thread seems to have just tapered off with everyone sitting back and waiting for it to be added to G3HS, which would make any bugs that still exist karatekid552's problem...
@LCCoolJ95 - May I ask how many entries you expanded your Pokedex with? I am interested in doing more then 744..
I used your fix and it didn't work. I'll try it again though. I expanded the Pokédex to have 495 Pokédex entries. To note, I am using an edited INI, to make it work with G3HS. So, I expanded the amount of evolutions with that tool and expanded the amount of Pokémon manually.
 
51
Posts
9
Years
  • Age 38
  • Seen Dec 20, 2022
I used your fix and it didn't work. I'll try it again though. I expanded the Pokédex to have 495 Pokédex entries. To note, I am using an edited INI, to make it work with G3HS. So, I expanded the amount of evolutions with that tool and expanded the amount of Pokémon manually.

I will test soon soon. I started all my repointing over again, I decided to take a different approach and save all my expanded tables as separate files, so that I can first clear out all the old tables and I know what extra space I have to work with. I don't know if the method of expanding evolutions would make a difference, I'm not sure, but I will do mine the manual way nonetheless and test to see if I get the same result as you. Is it only happening with your new additions or all Pokémon?

To avoid making another double post I will just edit this one, hope that you read it. Unfortunately I cannot test this out any time soon, I have got a bit carried away with 'deconstructing' my Rom. I want to remove all the known sections and start to map it out properly, I am tired of digging around in the dark with this game. I'm going to go through each location on the map, remove all scripts, then do a byte compare to find the exact address for each locations scripts. Then I hope to narrow it down to start finding other scripts and functions that cannot be reached from mapping. I have a new mission, sorry.
 
Last edited:

LCCoolJ95

Limited Capacity
638
Posts
14
Years
I will test soon soon. I started all my repointing over again, I decided to take a different approach and save all my expanded tables as separate files, so that I can first clear out all the old tables and I know what extra space I have to work with. I don't know if the method of expanding evolutions would make a difference, I'm not sure, but I will do mine the manual way nonetheless and test to see if I get the same result as you. Is it only happening with your new additions or all Pokémon?

To avoid making another double post I will just edit this one, hope that you read it. Unfortunately I cannot test this out any time soon, I have got a bit carried away with 'deconstructing' my Rom. I want to remove all the known sections and start to map it out properly, I am tired of digging around in the dark with this game. I'm going to go through each location on the map, remove all scripts, then do a byte compare to find the exact address for each locations scripts. Then I hope to narrow it down to start finding other scripts and functions that cannot be reached from mapping. I have a new mission, sorry.
To anyone who has a problem with evolutions, if they went that far. Put 07 E0 at x34A16. This fixes the evolution animation.
 

karatekid552

What happens if I push it?....
1,771
Posts
11
Years
I started coding this tutorial (thanks for your credit by the way.:P) and I can't really finish coding it without the missing steps like the evolution table.:/ This needs to be a full hack. I will code what you have here, but in the meantime, if someone could find the rest of the limiters for the other tables, that would be amazing.

Edit: Scrolling up, I see that @Phenom2122 has already got a head start on this. Please help him out guys if you have the skills.:)

@Chaos Rush, would you mind testing his stuff and adding it into the tutorial?
 
1,323
Posts
16
Years
  • Seen Dec 9, 2023
I started coding this tutorial (thanks for your credit by the way.:P) and I can't really finish coding it without the missing steps like the evolution table.:/ This needs to be a full hack. I will code what you have here, but in the meantime, if someone could find the rest of the limiters for the other tables, that would be amazing.

Edit: Scrolling up, I see that @Phenom2122 has already got a head start on this. Please help him out guys if you have the skills.:)

@Chaos Rush, would you mind testing his stuff and adding it into the tutorial?
But don't you already have the evolution table offsets for G3HS? Unless if you're talking specifically about limiters.

The thing is, I don't know what limiters are missing, because I have everything working in my ROM (icon sprites, palettes, battle sprite position, etc.), and most, if not, all limiters should be covered in Step 3 (except the evolution fix that LCCoolJ95 found that I added to Step 10).

Just tell me what limiters are missing/need labels and I'll get them. They should all be in the first post though, but I probably didn't label which ones are which and just said "change these bytes lol"

EDIT: As for the table offsets themselves, I didn't include the less-important ones (like footprints) because the offsets for those tables could all be found in either G3HS or PGE's ini. However, I can understand why that would be bothersome, but since I have then all written down on a notepad file, I'll add the offsets to the first post next time I'm on my PC

(I post from my phone a lot so I can't always update things immediately)

EDIT2: I added this under a spoiler tag in the first post:
Species Names = 3185C8
Front Sprite Table = 30A18C
Back Sprite Table = 3028B8
Front Palette Table = 303678
Shiny Palette Table = 304438
Base Stats = 3203CC
Moveset Pointers = 32937C
National Dex Order = 31DC82
Pokédex Data = 56B5B0
TM Compatibility = 31E898
Evolution Table = 32531C
Icon Sprite Table = 57BCA8
Icon Palette Table = 57C388
Main Cry Table = 69DCF4
Auxillary Cry Table = 31F61C
Footprint Table = 56E694
Move Tutor Compatib. = 615048
Animation Table = 3299EC
Frame Control Table = 309AAC
Back Animation Table = 60A8C8
EnemyY Table = 300D38
PlayerY Table = 3021D8
Enemy Altitude Table = 305DCC
 
Last edited:
Status
Not open for further replies.
Back
Top