
Originally Posted by
Jiggy-Ninja
Here's what I know so far.
Each seal takes up exactly 3 bytes of information. 1st byte tells what seal you're working with (01h = Heart Seal A, 4Dh = Mystery Seal), the 2nd byte is an X coordinate, and the 3rd byte is a Y coordinate.
For the coordinate system, the origin (00h,00h) is the upper left corner. The actual area that the seals can be in is an oval shape 120 units wide and 116 units tall. The X value ranges from 82h to FAh. The Y value ranges from 0Ah to 82h. I'm using No$GBA and a RAM viewer to try and pin down all the boundary units, though I wish my printer was working so I could print out some graph paper. I'm better with visuals.
In a raw .sav file from No$GBA, the information for the first capsule in your PC starts at 0x00006050, the second at 0x00006068, etc. (24 bytes apart) Each capsule can have 8 seals, and they all fit snugly together within the 24 bytes.
When a Pokemon has a capsule attached to it, the byte at 0x8D is set to 01h. It's 00h otherwise. The seal and coordinate information is stored directly on the Pokemon's. It doesn't appear to be linked to the PC.
Now that I think about it though, I only tested assigning the first capsule to a Pokemon. It's probable that the value at 0x8D is the number of the capsule you assigned to the Pokemon. (EDIT: Yep, that seems to be the case.) If that's the case, I wonder what would happen if the Pokemon's capsule information didn't match with what's in the PC for that capsule.
EDIT: That's a Diamond save, btw. I haven't done Platinum yet. Because of a bug in No&GBA, I can't work on Plat until my computer's sound is fixed.
Bookmarks