item_p.bin File Format
The "/BALANCE/item_p.bin" file in Pokemon Mystery Dungeon Explorers of Sky/Time/Darkness contains data on every item in the game. Its a SIR0 wrapped file.
- Notes
-
- The item_p.bin file has a different structure in PMD:EoT/D than in PMD:EoS. Item entries in EoS are 16 bytes, while they're 24 bytes int EoT/D!
- In Explorers of Sky, there are 1,400 entries.
- In Explorers of Time/Darkness, there are 1,000 entries.
File Structure (Explorers of Sky)
Overview
Offset | Length | Name | Description |
---|---|---|---|
0x00 | 16 | SIR0 Header | A SIR0 header wrapping the item data. |
0x10 | (NbEntries * 16) | Item Data | A block containing entries for all items. |
After Item Data | 3 | SIR0 Pointer Offset List | A list of encoded offsets to the pointers in the file. Since there are only the 2 pointers of the SIR0 header, those three bytes are always 0x04, 0x04, 0x00. |
After SIR0 Pointer Offset List | 13 | Padding Bytes | Since all entries have a fixed size, and the SIR0 Pointer Offset List is 3 bytes long, 13 0xAA bytes are used as padding to align the end of the file on 16 bytes. |
Item Data
The entries for each items are always 16 bytes long, and are organized this way:
Offset | Length | Type | Name | Description |
---|---|---|---|---|
0x00 | 2 | uint16 | Buy Price | Price to pay for the item when purchased from a shop. |
0x02 | 2 | uint16 | Sell Price | Price a shop will offer for the item. |
0x04 | 1 | uint8 | Category | Used for sorting items, and possibly to determine the way the item works. |
0x05 | 1 | uint8 | SpriteID | The sprite shown next to the item in the bag and on the ground. |
0x06 | 2 | uint16 | ItemID | The ID by which the game refers to this item ! |
0x08 | 2 | uint16 | Item Parameter #1 | See Item Parameter |
0x0A | 1 | uint8 | Item Parameter #2 | Another parameter for items. Unknown role. |
0x0B | 1 | uint8 | Item Parameter #3 | Another parameter for items. Unknown role. |
0x0C | 1 | uint8 | Unknown#1 | Unknown. |
0x0D | 1 | uint8 | Unknown#2 | Unknown. |
0x0E | 1 | uint8 | Unknown#3 | Unknown. |
0x0F | 1 | uint8 | Unknown#4 | Unknown, usually is 0. |
Category
A list of the possible category value an item can have. This list is based on data compiled by nhahtdh into the item_p_sky.xlsx excel document, and then verified/confirmed on our end.(See links in the Credits section. )
ID | Category |
---|---|
0x0 | Projectile |
0x1 | Arc |
0x2 | Seed & Drink |
0x3 | Food & Gummi |
0x4 | Hold item |
0x5 | TM & HM |
0x6 | Poké |
0x7 | N/A |
0x8 | Evo. + Misc. |
0x9 | Orb |
0xA | Link Box |
0xB | Used TM |
0xC | Box 1 |
0xD | Box 2 |
0xE | Box 3 |
0xF | Specific Items |
Item Parameter
There are 3 parameters slots available for each items, their use depends on the item type.
Parameter #1 (offset 0x08)
- If the item is an HM/TM, or an orb, this value is the move ID it refers to. Its also used the same way by some items, like orbs.
- Otherwise, with items of any other category, its role is unknown !
File Structure (Explorers of Time/Darkness)
External Resources
- Wonder Mail S Tools, research notes. The "items_p_Sky.xlsx" excel sheet contains a comprehensive list of item names/types, pokemon names/types, moves names, etc, along with their associated index values in-game : [1]