item_p.bin File Format

From ProjectPokemon Wiki
Revision as of 07:47, 23 March 2015 by Psy commando (talk | contribs) (Didn't realize the format in PMD:EoT/D was so different.. Will need more work.)
Jump to navigation Jump to search


The "/BALANCE/item_p.bin" file in Pokemon Mystery Dungeon Explorers of Sky/Time/Darkness contains data on every item in the game.

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 Type 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:

Item Entry (Total length 16 bytes)
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]

Credits

  • The WMS project, for their notes. [2]
  • OgreGunner and nhahtdh for that huge thread on GameFaqs filled with tidbits of information! [3]