Pokémon Pt Save File Structure

From ProjectPokemon Wiki
Revision as of 06:40, 24 November 2010 by Atofeqoly (talk | contribs)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Under Construction! Please Visit Reserve Page. Page Will Be Available Shortly

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

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

General Items - 0x630

Main article: Other items

The items in the Trainer's general Items bag pocket.

  • 165 blocks of 4 byte structures (two bytes for item index, two bytes for quantity)

Key Items - 0x8C4

Main article: Key items

The items in the Trainer's Key Items bag pocket.

  • 50 blocks of 4 byte structures (two bytes for item index, two bytes for quantity).

TMs & HMs - 0x98C

Main article: TMs and HMs

The items in the Trainer's TMs & HMs bag pocket.

  • 100 blocks of 4 byte structures (two bytes for item index, two bytes for quantity).
  • TMs & HMs are auto-sorted by item index in ascending order.

Mail - 0xB1C

Main article: Mail

The items in the Trainer's Mail bag pocket.

  • 12 blocks of 4 byte structures (two bytes for item index, two bytes for quantity).

Medicine - 0xB4C

Main article: Medicine

The items in the Trainer's Medicine bag pocket.

  • 40 blocks of 4 byte structures (two bytes for item index, two bytes for quantity).

Berries - 0xBEC

Main article: Berries

The items in the Trainer's Berries bag pocket.

  • 64 blocks of 4 byte structures (two bytes for item index, two bytes for quantity).
  • Berries are auto-sorted by item index in ascending order.

Balls - 0xCEC

Main article: Pokéballs

The items in the Trainer's Balls bag pocket.

  • 15 blocks of 4 byte structures (two bytes for item index, two bytes for quantity).

Battle Items - 0xD28

Main article: Battle items

The items in the Trainer's Battle Items bag pocket.

  • 30 blocks of 4 byte structures (two bytes for item index, two bytes for quantity).

Lotto number - 0xE24

  • Unsigned 16-bit integer.

Has obtained lotto prize - 0x1141

  • 1 if obtained, 0 if not yet obtained.

Rival's Name - 0x27E8