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

Expanding the Pokédex into Emerald

Status
Not open for further replies.

Exelis'20

Cancer
22
Posts
9
Years
Hey guys can you help me?? I've got a problem in Step 2.. I really don't understand at all! also when i test the game, after the copyrights, it becomes black screen..

Can you explain this more detailed to me??

Once you've decided, figure out how many bits it will take to encode the number of dex entries- the answer is (number of dex entries)/8, rounded up. Using this, pick two locations in the RAM freed by JPAN/diegoisawesome's hack to be where Seen and Caught flags will go. Note that later steps will be easier if you put them next to each other.

In all honesty the only area I'm 100% sure of is safe to use for the new dex flags is 0203D800. So we are going to use that area.

Make these byte changes:
C06EC: point to new SEEN flags
C06AC: 00 00
C06AE: 00 00
This makes the game read using the new SEEN flags.

C0744: point to new CAUGHT flags
C06FE: 00 00
C0700: 00 00
C0702: 00 00
C0710: 15 E0
This makes the game read using the new CAUGHT flags.

C0720: 0D E0
This makes both of the above bypass redundant SEEN flags.

C07C8: point to new SEEN flags
C079E: 00 00
C07A0: 00 00
C07AC: 1C E0
This makes the game write to the new SEEN flags.

C07F0: point to new CAUGHT flags
C07DA: 00 00
C07DC: 00 00
This makes the game write to the new CAUGHT flags.

We also need to make the game clear these flags properly when the player selects New Game at the main menu. We can do this with the following edits:

Put a pointer to whichever set of flags comes first at x843BC.
Put 20 1C 00 00 at x8439A.
Put XX 22 at x843A0, where XX is the number of bytes taken by your dex flags.
Put 20 1C at x843A6.
Put YY 30 at x843A8, where YY is the number of bytes between the sets of flags. YY is probably the same as XX, but it doesn't have to be.
Put XX 22 at x843AC, where XX is the number of bytes taken by your dex flags.
 
457
Posts
10
Years
  • Age 29
  • Seen Apr 9, 2024
Hey guys can you help me?? I've got a problem in Step 2.. I really don't understand at all! also when i test the game, after the copyrights, it becomes black screen..

Can you explain this more detailed to me??

*snipped

Chaos has given the RAM is at 0203D800 right? You need to do is to type 00 D8 03 02 in the offset which is to point to new seen flags. For the divided by eight thingy... Example: you want to have 721 pokedex entries, you should do is to divide it by eight. If it isn't divisible by eight, you might want to find the number forwardly next to it which is divisible by eight... example: 728. Divide it by eight, you get 91 (dec) and convert it to hex which the results to 5B (hex). Then add +1... that makes 5C. Whichever results, add it by 3D800 so that makes 3D85C. Next to do is to type 5C D8 03 02 in the offset which is to point to new caught flags. Then you use that digit (ex: 5C) for XX and YY. Got it? I'm sure you get it.

----

Found a minor bug but it doesn't give threat a lot: After I caught a Pokemon which are from the expanded slots, it holds the ???????? (eight question mark) item. How to fix this?
 
Last edited:

Scarex

Beautyfool.
41
Posts
15
Years
  • Seen Dec 22, 2020
Frist things frist, sorry for my english and thank you very much for this tutorial n.n

Okay, I followed the steps of the tutorial and now I've a lot of new slots... Everything is okay except for... the Trainer battle and the Wild battle!

What's the problem? Well, the sprites of Pokémon are shown perfectly in the stats, in the evo, in the dex, in the contest... But when I put a over-440 pokémon in a trainer battle or I set it in a route, the game doesn't load the sprite, it loads the missigno ((?)) instead with the pallete of the sprite that should appear. In a wild battle, if I catch the pokémon, when the game asks me to put a name, the sprite loads perfectly, so I don't understand what's happening, maybe some limiter in trainer battles/wild battles? I dont know...

Someone help me >.<

Greetings!
 
457
Posts
10
Years
  • Age 29
  • Seen Apr 9, 2024
Guys! One error needs to be fix: when you are going to talk and fight with a swimmer (or anyone with the 8 as encounter music), it doesn't play. It is really involved with the expansion. After the steps, just go to 0xB1C30 and type 81 01 00 00.
 
457
Posts
10
Years
  • Age 29
  • Seen Apr 9, 2024
Finally, the limiter. In your hex editor, go to 0x34BFE and overwrite it with 07 E0. That's it!


Hmm... i have done the expansion with the animations expanded too before you posted that... but then I didn't know that limiter. What does the game appear if the limiter is unchanged? :/
 
89
Posts
10
Years
It shows the ? sprite of Pokémon #0 (i.e. ??????) with the palette of the Pokémon that was supposed to be displayed
 

LCCoolJ95

Limited Capacity
638
Posts
14
Years
Okay, after testing this with an expanded number of Pokemon Emerald ROM, with 8 evolutions per mon, and a regular Emerald ROM with just the number of evolutions changed, I can confirm that new evolution methods will NOT work if you expand the amount of Pokemon in the game. Has anyone looked into fixing this yet, or no?
 

Joexv

ManMadeOfGouda joexv.github.io
1,037
Posts
11
Years
Okay, after testing this with an expanded number of Pokemon Emerald ROM, with 8 evolutions per mon, and a regular Emerald ROM with just the number of evolutions changed, I can confirm that new evolution methods will NOT work if you expand the amount of Pokemon in the game. Has anyone looked into fixing this yet, or no?

Do you mean the custom evolutions from HERE? Cause if so you just have to change the pointer to where it trys to load the pokemon evolutions. So this pokemondata: .word 0x08(pointer to new pokemon location).
 
457
Posts
10
Years
  • Age 29
  • Seen Apr 9, 2024
I think it should be always 440 or 0x1B8 while doing the expansion of pokedex. Let us all consider this since that is the overall total of slots in game. This shares too with non-Emerald pokedex expansion.
 

PurpleOrange

still don't know what I'm doing
367
Posts
10
Years
i encountered a glitch when encountering expanded pokemon in the wild where their names only come up as ????????, i dunno why this is, i've checked all my pointers and they all seem to be correct
 
3,044
Posts
9
Years
i encountered a glitch when encountering expanded pokemon in the wild where their names only come up as ????????, i dunno why this is, i've checked all my pointers and they all seem to be correct

Have you done this:

Place 00 00 00 00 00 00 (that's six 00s) at x6B944.
This will cause the repointed name table to actually get used.

If not, well, I'm stumped.
 

PurpleOrange

still don't know what I'm doing
367
Posts
10
Years
sorry for the double post but i found something that i thought i'd share.

in order to stop wild pokemon holding the ???????? item you need to put a pointer to the 13th byte of the repointed base stat table at 0x6EB7C and a pointer to the 15th byte of the repointed base stat table at 0x6EBA0 & 0x6EB28

in not 100% sure if this works fully but since those pointers all point to the old base stats i assume they'd need to change regardless
 

LCCoolJ95

Limited Capacity
638
Posts
14
Years
Just to let everyone know, I will be doing a video tutorial of this whole process, just to make it more clear and that way people can see how the process is done through a visual way rather than reading and being completely confused.
 
3,044
Posts
9
Years
Just to let everyone know, I will be doing a video tutorial of this whole process, just to make it more clear and that way people can see how the process is done through a visual way rather than reading and being completely confused.

That's awesome! I'll be sure to check it out! And, please inform me if its up! Thanks!
 
457
Posts
10
Years
  • Age 29
  • Seen Apr 9, 2024
There appears to be some sort of glitch that causes Pokémon that are #495 and above to have any movements in in their animation to only be executed after the frame changing and color fading parts of their animation are complete. Can someone please look into this and help fix it?
ctfaQIh.gif

Hmm.... my Hydreigon slot moves fine (I can't screenshot you one 'cause I'm using my phone now). I think you should set animation indexes and animation pointers on expanded mons too (which I can't explain it dude but you might actually get what am I talking about).
 
Last edited:
89
Posts
10
Years
I have changed the animation index to 00 and the animation timing pointer to 40 98 30 08, the same timing that Swalot uses. Pokémon in slots below #495 work perfectly fine in my repointed table with the changed index and animation timing pointers, so I have no idea what is the issue with Pokémon above #495.
 

PurpleOrange

still don't know what I'm doing
367
Posts
10
Years
regarding the animations, there seems to be a table at 0x329B87, this seems to control how much time passes before it plays the pokemon animation on the summary screen.

Also it switches between the frames too many times on the summary screen for the expanded mon, i've tried finding out why, but i haven't been able to come up with anything
 
Status
Not open for further replies.
Back
Top