Pokémon HGSS Save File Structure: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
Line 1: | Line 1: | ||
==Small block offsets== | ==Small block offsets== | ||
Line 113: | Line 112: | ||
*43 blocks of 4 byte structures (two bytes for item index, two bytes for quantity). | *43 blocks of 4 byte structures (two bytes for item index, two bytes for quantity). | ||
===TMs & | ===TMs & HMs - 0x9A4=== | ||
{{main|TMs and HMs}} | {{main|TMs and HMs}} | ||
The items in the Trainer's TMs & | 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). | *100 blocks of 4 byte structures (two bytes for item index, two bytes for quantity). | ||
*TMs & | *TMs & HMs are auto-sorted by item index in ascending order. | ||
===Mail - 0xB34=== | ===Mail - 0xB34=== |
Revision as of 04:40, 27 November 2010
Small block offsets
Adventure Started - 0x34
- Unsigned 32bit integer.
- Number of seconds since 1/1/2000 00:00:00
Pokémon League Champ Date - 0x3C
- Unsigned 32bit integer.
- Number of seconds since 1/1/2000 00:00:00
Trainer Name - 0x64
- 8 unsigned 16bit integers.
- Each word represents a character in the game's character table.
Trainer ID - 0x74
- Random unsigned 16bit integer
- The visible identification number of a trainer
- Determines ownership of Pokémon.
Secret ID - 0x76
- Random unsigned 16bit integer
- The hidden identification number of a trainer
- Determines ownership of Pokémon.
- Determines variation in the game.
Money - 0x78
- Unsigned 32bit integer.
- Limited to 0xF423F (999,999)
Trainer Gender - 0x7C
- 0 if male, 1 if female.
- Determines ownership of Pokémon.
Country of Origin - 0x7D
- Unsigned 8bit 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)
Johto League Badges - 0x7E
- Unsigned 8bit bitfield
- Determines what PokéMart items are for sale, what level outsider Pokémon will obey until, and flags certain in-game events.
- 0x01 = Zephyr Badge
- 0x02 = Hive Badge
- 0x04 = Plain Badge
- 0x08 = Fog Badge
- 0x10 = Storm Badge
- 0x20 = Mineral Badge
- 0x40 = Glacier Badge
- 0x80 = Rising Badge
Multiplayer Avatar - 0x7F
- Unsigned 8bit integer.
- Determines the sprite seen by other players in a multiplayer 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
Kanto League Badges - 0x83
- Unsigned 8bit bitfield
- Determines what PokéMart items are for sale, what level outsider Pokémon will obey until, and flags certain in-game events.
- 0x01 = Boulder Badge
- 0x02 = Cascade Badge
- 0x04 = Thunder Badge
- 0x08 = Rainbow Badge
- 0x10 = Soul Badge
- 0x20 = Marsh Badge
- 0x40 = Volcano Badge
- 0x80 = Earth Badge
Total Playtime - 0x86
- Hours = unsigned 16bit integer.
- Minutes = unsigned 8bit integer.
- Seconds = unsigned 8bit integer.
Number of Current Party Pokémon - 0x94
- Unsigned 8bit integer.
Party Pokémon - 0x98
The Pokémon in the trainer's party.
- 6 blocks of 236byte structures
- Main article: Pokemon NDS Structure
General Items - 0x644
- 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 - 0x8D8
- Main article: Key items
The items in the Trainer's Key Items bag pocket.
- 43 blocks of 4 byte structures (two bytes for item index, two bytes for quantity).
TMs & HMs - 0x9A4
- 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 - 0xB34
- 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 - 0xB64
- 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 - 0xC04
- 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 - 0xD04
- Main article: Pokéballs
The items in the Trainer's Balls bag pocket.
- 24 blocks of 4 byte structures (two bytes for item index, two bytes for quantity).
Battle Items - 0xD64
- Main article: Battle items
The items in the Trainer's Battle Items bag pocket.
- 31 blocks of 4 byte structures (two bytes for item index, two bytes for quantity).
First Registered Item - 0xDE0
The first Key items registered for use with the Y button.
- Unsigned 16bit integer, representing the ID of the item.
Second Registered Item - 0xDE2
The first Key items registered for use with a button on the Touch Screen.
- Unsigned 16bit integer, representing the ID of the item.
Starter Pokémon - 0xE44
The Pokédex number of the starter chosen.
- Unsigned 16bit integer.
Map ID Number - 0x1234
- Main article: MAP LIST HGSS
- Unsigned 16bit integer.
Player Map X Coordinate - 0x236E
- Unsigned 16bit integer.
Player Map Y Coordinate - 0x2372
- Unsigned 16bit integer.
Player Map Z Coordinate - 0x2376
- Unsigned 16bit integer.
Follower Map X Coordinate - 0x23BE
- Unsigned 16bit integer.
Follower Map Y Coordinate - 0x23C2
- Unsigned 16bit integer.
Follower Map Z Coordinate - 0x23C6
- Unsigned 16bit integer.
Money held by mother - 0xC0D8
- Unsigned 32bit integer.
- Limited to 0xF423F (999,999)
Big block offsets
Pokémon in Storage - 0xF700
The Pokémon in Bill's PC.
- 18 blocks of 4080byte structures (each box contains 30 136byte Pokémon structures).
- Each box structure is separated by 16 bytes of space (unlike D/P).
- Main article: Pokemon NDS Structure
Box Names - 0x21708
- 18 blocks of 40byte structures
- The first 11 words (22 bytes) each word represent a character in the game's character table.
Box Wallpapers - 0x219D8
- 18 bytes, each representing the wallpaper for the corresponding box.
- 0x20 = Ho-oh
- 0x21 = Lugia
- 0x22 = TV
- 0x23 = Pokéthlon
- 0x24 = Starters
- 0x25 = Pichu
- 0x26 = Ecruteak
- 0x27 = Team Rocket