Pokémon Pt Save File Structure
This page is under construction, because previously, there was pretty much NO documentation here.
I will add more as I continue my research, but since no one seems keen to volunteer the information, it is based off my own research.
Small block offsets
Trainer Name - 0x68
- 8 unsigned 16-bit integers.
- Each word represents a character in the game's character table.
Trainer ID - 0x78
- Random unsigned 16-bit integer
- The visible identification number of a trainer
- Determines ownership of Pokémon.
Secret ID - 0x7A
- Random unsigned 16-bit integer
- The hidden identification number of a trainer
- Determines ownership of Pokémon.
- Determines variation in the game.
Money - 0x7C
- Unsigned 32-bit integer.
- Limited to 0xF423F (999,999)
Trainer Gender - 0x80
- 0 if male, 1 if female.
- Determines ownership of Pokémon.
Country of Origin - 0x81
- Unsigned 8-bit integer.
- Determines whether or not Pokémon get an outsider EXP bonus.
- Countries other than Japan are inferred from D/P/Pt, since the game has only been released in Japanese.
- 0x1 = 日本語 (Japan)
- 0x2 = English (US/UK/AU)
- 0x3 = Français (France/Québec)
- 0x4 = Italiano (Italy)
- 0x5 = Deutsch (Germany)
- 0x7 = Español (Spain/Latin Americas)
- 0x8 = 한국어 (South Korea)
Badges - 0x82
- Unsigned 8-bit bitfield
- Determines what PokéMart items are for sale, what level outsider Pokémon will obey until, and flags certain in-game events.
- 0x01 = Coal Badge
- 0x02 = Forest Badge
- 0x04 = Cobble Badge
- 0x08 = Fen Badge
- 0x10 = Relic Badge
- 0x20 = Mine Badge
- 0x40 = Icicle Badge
- 0x80 = Beacon Badge
Multiplayer Avatar - 0x83
- Unsigned 8-bit integer.
- Determines the sprite seen by other players in a multi-player environment such as the Union Room.
- 0x00 = None
- 0x03 = School Kid
- 0x05 = Bug Catcher
- 0x06 = Lass
- 0x07 = Battle Girl
- 0x0B = Ace Trainer Male
- 0x0D = Beauty
- 0x0E = Ace Trainer Female
- 0x0F = Roughneck
- 0x1F = Pop Idol
- 0x23 = Social
- 0x25 = Cowgirl
- 0x2A = Ruin Maniac
- 0x32 = Black Belt
- 0x3E = Rich Boy
- 0x3F = Lady
- 0x46 = Psychic
Please correct if these are wrong, or if there are more.
Number of Current Party Pokémon - 0x9C
- Unsigned 8-bit integer.
Note: In my opinion this is actually a 32-bit integer, but only 8 bits of it are ever used.
Party Pokémon - 0xA0
The Pokémon in the trainer's party.
- 6 blocks of 236 byte structures
- Main article: Pokemon NDS Structure