ITM file format
Applies to:
BG1, BG1: TotS, BG2, BG2: ToB, IWD, IWD:HoW, IWD:TotL
General Description
This file format describes an "item". Items include weapons, armor, books, scrolls, rings and more. Items can have attached abilties, occuring either when a target creature it hit, or when the item is equipped. ITM files have a similar structure to SPL files.

| Header: Size=114 Bytes | Ext. Header: Size= 56 Bytes | Feature Block: Size=48 Bytes |
Detailed Description
ITM files consist of a main header, zero or more extended headers (each containing zero or more feature blocks) and zero or more casting feature blocks. All the feature blocks are stored as a continuous data segment, with each extended header containing an offset into this data, and the main header containing an offset into this data for the casting feature blocks.
NB. A creature must meet the minimum stat requirements to be able to converse with an item.
Overall structure:
NB. A creature must meet the minimum stat requirements to be able to converse with an item.
Overall structure:
| Offset | Size (datatype) | Description |
|---|---|---|
| 0x0000 | 4 (char array) | Signature ('ITM ') |
| 0x0004 | 4 (char array) | Version('V1.0 ') |
| 0x0008 | 4 (dword) | Unidentified Name (strref) |
| 0x000c | 4 (dword) | Identified Name (strref) |
| 0x0010 | 8 (resref) | Replacement Item (resref) |
| 0x0018 | 4 (dword) | Flags |
| 0x001c | 2 (word) | Item type |
| 0x001e | 1*4 (4 char) | Usability |
| 0x0022 | 2 (char array) | Item animation |
| 0x0024 | 1 (char) | Min Level |
| 0x0025 | 1 (char) | Unknown |
| 0x0026 | 1 (char) | Min Strength (unused in BG1) |
| 0x0027 | 1 (char) | Unknown |
| 0x0028 | 1 (char) | Min Strength Bonus (unused in BG1) Note: A strength of 19 or above is considered to have a Strength Bonus of 0, and would therefore not be able to equip any weapon with a Strength Bonus restriction. |
| 0x0029 | 1 (char) | Kit Usability 1 |
| 0x002a | 1 (char) | Min Intelligence (unused in BG1) |
| 0x002b | 1 (char) | Kit Usability 2 |
| 0x002c | 1 (char) | Min Dexterity (unused in BG1) |
| 0x002d | 1 (char) | Kit Usability 3 |
| 0x002e | 1 (char) | Min Wisdom (unused in BG1) |
| 0x002f | 1 (char) | Kit Usability 4 |
| 0x0030 | 1 (char) | Min Constitution (unused in BG1) |
| 0x0031 | 1 (char) | Weapon Proficiency |
| 0x0032 | 1 (char) | Min Charisma |
| 0x0033 | 1 (char) | Unknown |
| 0x0034 | 4 (dword) | Price |
| 0x0038 | 2 (word) | Stack amount |
| 0x003a | 8 (resref) | Inventory icon |
| 0x0042 | 2 (word) | Lore to ID |
| 0x0044 | 8 (resref) | Ground icon |
| 0x004c | 4 (dword) | Weight |
| 0x0050 | 4 (dword) | Unidentified Description (strref) |
| 0x0054 | 4 (dword) | Identified Description (strref) |
| 0x0058 | 8 (resref) | Description icon |
| 0x0060 | 4 (dword) | Enchantment |
| 0x0064 | 4 (dword) | Offset to extended headers |
| 0x0068 | 2 (word) | Count of extended headers |
| 0x006a | 4 (dword) | Offset to feature blocks |
| 0x006e | 2 (word) | Index into equipping feature blocks |
| 0x0070 | 2 (word) | Count of Equipping Feature Blocks |
Items can have several "abilities" that correspond to an action the item can do (e.g. melee attacks, projectile attacks, spell-casting etc.). Each of these abilities is specified through an extended header. Only the first three extended headers can have charges (extended headers further than this use the charges of the first extended header). Tooltips for item abilities are set through tooltips.2da.
NB. For items to be stackable, they must contain at least one extension header, even if it is empty.
NB. For an attack type of projectile, if the projectile type is set to 1,2 or 3, the weapon will use the attack speed of the ammunition.
NB. For items to be stackable, they must contain at least one extension header, even if it is empty.
NB. For an attack type of projectile, if the projectile type is set to 1,2 or 3, the weapon will use the attack speed of the ammunition.
| Offset | Size (datatype) | Description |
|---|---|---|
| 0x0000 | 1 (char) | Attack type
|
| 0x0001 | 1 (char) | ID Req.
|
| 0x0002 | 1 (char) | Location
|
| 0x0003 | 1 (char) | Unknown |
| 0x0004 | 8 (resref) | Use icon |
| 0x000c | 1 (char) | Target type
|
| 0x000d | 1 (char) | Target count |
| 0x000e | 2 (word) | Range |
| 0x0010 | 2 (word) | Projectile type
|
| 0x0012 | 2 (word) | Speed |
| 0x0014 | 2 (word) | THAC0 bonus |
| 0x0016 | 2 (word) | Dice sides |
| 0x0018 | 2 (word) | Dice thrown |
| 0x001a | 2 (word) | Damage bonus |
| 0x001c | 2 (word) | Damage type
|
| 0x001e | 2 (word) | Count of feature blocks |
| 0x0020 | 2 (word) | Offset to feature blocks |
| 0x0022 | 2 (word) | Charges |
| 0x0024 | 2 (word) | Charge depletion behaviour
|
| 0x0026 | 2 (word) | Flags |
| 0x0028 | 2 (word) | Unknown |
| 0x002a | 2 (word) | Projectile animation (projectl.ids/missile.ids) |
| 0x002c | 2*3 (word) | Melee animation |
| 0x0032 | 2 (word) | Bow/Arrow qualifier (0=No, 1=Yes) |
| 0x0034 | 2 (word) | Crossbow/Bolt qualifier (0=No, 1=Yes) |
| 0x0036 | 2 (word) | Misc. Projectile qualifier (0=No, 1=Yes) |
Any action carried out by an item is done by feature blocks, each of which holds an effect number as well as targetting and timing information.
| Offset | Size (datatype) | Description |
|---|---|---|
| 0x0000 | 2 (word) | Opcode number |
| 0x0002 | 1 (char) | Target type
|
| 0x0003 | 1 (char) | Power |
| 0x0004 | 4 (dword) | Parameter 1 |
| 0x0008 | 4 (dword) | Parameter 2 |
| 0x000c | 1 (char) | Timing mode
|
| 0x000d | 1 (char) | Resistance The default behaviour is that effects cannot be dispelled and ignore resistance.
This can also be presented in the more traditional way:
|
| 0x000e | 4 (dword) | Duration |
| 0x0012 | 1 (char) | Probability 1 |
| 0x0013 | 1 (char) | Probability 2 |
| 0x0014 | 8 (resref) | Resource |
| 0x001c | 4 (dword) | Dice Thrown |
| 0x0020 | 4 (dword) | Dice Sides |
| 0x0024 | 4 (dword) | Saving throw type
|
| 0x0028 | 4 (dword) | Saving throw bonus |
| 0x002c | 4 (dword) | Unknown |
Header Flags
| Bit | Byte 1 | Byte 2 | Byte 3 | Byte 4 |
|---|---|---|---|---|
| 0 | Unsellable (critical item)* | Silver | Unknown | Unknown |
| 1 | Two-handed | Cold-Iron | Unknown | Unknown |
| 2 | Movable | Unsellable (stolen) | Unknown | Unknown |
| 3 | Displayable | Conversable | Unknown | Unknown |
| 4 | Cursed | Unknown | Unknown | Unknown |
| 5 | Unknown | Unknown | Unknown | Unknown |
| 6 | Magical | Unknown | Unknown | Unknown |
| 7 | Bow | Unknown | Unknown | Unknown |
* In BG1, this flag does not affect whether the item can be sold.
Header Item Type
The item type of an item affects the pick-up/put-down sound when moving the item in the inventory, whether stores will buy the item and the ability ubttons shown on the item description screen.
| Code | Item type |
|---|---|
| 0x0000 | Books/misc |
| 0x0001 | Amulets and necklaces |
| 0x0002 | Armor |
| 0x0003 | Belts and girdles |
| 0x0004 | Boots |
| 0x0005 | Arrows |
| 0x0006 | Bracers and gauntlets |
| 0x0007 | Helms, hats, and other head-wear |
| 0x0008 | Keys (not in Icewind Dale?) |
| 0x0009 | Potions |
| 0x000a | Rings |
| 0x000b | Scrolls |
| 0x000c | Shields (not in IWD) |
| 0x000d | Food |
| 0x000e | Bullets (for a sling) |
| 0x000f | Bows |
| 0x0010 | Daggers |
| 0x0011 | Maces (in BG, this includes clubs) |
| 0x0012 | Slings |
| 0x0013 | Small swords |
| 0x0014 | Large swords |
| 0x0015 | Hammers |
| 0x0016 | Morning stars |
| 0x0017 | Flails |
| 0x0018 | Darts |
| 0x0019 | Axes (specifically, 1-handed axes -- halberds and 2-handed polearms not included) |
| 0x001a | Quarterstaff |
| 0x001b | Crossbow |
| 0x001c | Hand-to-hand weapons (fist, fist irons, punch daggers, etc) |
| 0x001d | Spears |
| 0x001e | Halberds (2-handed polearms) |
| 0x001f | Crossbow bolts |
| 0x0020 | Cloaks and robes |
| 0x0021 | Gold pieces (not an inventory item, but can appear as "monster dropped" treasure) |
| 0x0022 | Gems |
| 0x0023 | Wands |
| 0x0024 | Container/eye/broken armor |
| 0x0025 | Books/Broken shield/bracelet |
| 0x0026 | Familiars/Broken sword/earring |
| 0x0027 | Tattoos (PST) |
| 0x0028 | Lenses(PST) |
| 0x0029 | Buckler/teeth |
| 0x002a | Candle |
| 0x002b | Unknown |
| 0x002c | Clubs(IWD) |
| 0x002d | Unknown |
| 0x002e | Unknown |
| 0x002f | Large Shield(IWD) |
| 0x0030 | Unknown |
| 0x0031 | Medium Shield(IWD) |
| 0x0032 | Notes |
| 0x0033 | Unknown |
| 0x0034 | Unknown |
| 0x0035 | Small Shield(IWD) |
| 0x0036 | Unknown |
| 0x0037 | Telescope(IWD) |
| 0x0038 | Drink(IWD) |
| 0x0039 | Great Sword(IWD) |
| 0x003a | Container |
| 0x003b | Fur/pelt |
| 0x003c | Leather Armor |
| 0x003d | Studded Leather Armor |
| 0x003e | Chain Mail |
| 0x003f | Splint Mail |
| 0x0040 | Half Plate |
| 0x0041 | Full Plate |
| 0x0042 | Hide Armor |
| 0x0043 | Robe |
| 0x0044 | Unknown |
| 0x0045 | Bastard Sword |
| 0x0046 | Scarf |
| 0x0047 | Food(IWD2) |
| 0x0048 | Hat |
| 0x0049 | Gauntlet |
Header Usability
| Bit | Byte 1 | Byte 2 | Byte 3 | Byte 4 |
|---|---|---|---|---|
| 0 | Chaotic... | Cleric/Mage | Fighter/Mage/Thief | Dwarf |
| 1 | ...Evil | Cleric/Thief | Fighter/Thief | Half-Elf |
| 2 | ...Good | Cleric/Ranger | Mage | Halfling |
| 3 | ...Neutral | Fighter | Mage/Thief | Human |
| 4 | Lawful... | Fighter/Druid | Paladin | Gnome |
| 5 | Neutral... | Fighter/Mage | Ranger | Monk |
| 6 | Bard | Fighter/Cleric | Thief | Druid |
| 7 | Cleric | Fighter/Mage/Cleric | Elf | Half-Orc |
Header Animation
| Value(ASCII) | Value(Hex) | Description |
|---|---|---|
| " " | 2020h | <none> |
| "2A" | 3241h | Leather Armor |
| "3A" | 3341h | Chainmail |
| "4A" | 3441h | Plate Mail |
| "2W" | 3257h | Robe |
| "3W" | 3357h | Robe |
| "4W" | 3457h | Robe |
| "AX" | 4158h | Axe |
| "BW" | 4257h | Bow |
| "CB" | 4342h | Crossbow |
| "CL" | 434Ch | Club |
| "D1" | 4431h | Buckler |
| "D2" | 4432h | Shield (Small) |
| "D3" | 4433h | Shield (Medium) |
| "D4" | 4434h | Shield (Large) |
| "DD" | 4444h | Dagger |
| "FL" | 464Ch | Flail |
| "FS" | 4653h | Flame Sword |
| "H0" | 4830h | Small Vertical Horns |
| "H1" | 4831h | Large Horizontal Horns |
| "H2" | 4832h | Feather Wings |
| "H3" | 4833h | Top Plume |
| "H4" | 4834h | Dragon Wings |
| "H5" | 4835h | Feather Sideburns |
| "H6" | 4836h | Large Curved Horns (incorrect paperdoll image) |
| "HB" | 4842h | Halberd |
| "MC" | 4D43h | Mace |
| "MS" | 4D53h | Morning Star |
| "QS" | 5153h | Quarter Staff (Metal) |
| "S1" | 5331h | Sword 1-Handed |
| "S2" | 5332h | Sword 2-Handed |
| "SL" | 534Ch | Sling |
| "SP" | 5350h | Spear |
| "SS" | 5353h | Short Sword |
| "WH" | 5748h | War Hammer |
| "S3" | 5333h | Katana # |
| "SC" | 5343h | Scimitar # |
Header Kit Usability
| Bit | Byte 1 | Byte 2 | Byte 3 | Byte 4 |
|---|---|---|---|---|
| 0 | Cleric of Talos | Stalker Ranger | Diviner | Beserker Fighter |
| 1 | Cleric of Helm | Beastmaster Ranger | Enchanter | Wizardslayer Fighter |
| 2 | Cleric of Lathlander | Assassin Thief | Illusionist | Kensai Fighter |
| 3 | Totemic Druid | Bounty Hunter Thief | Invoker | Cavalier Paladin |
| 4 | Shapeshifter Druid | Swashbuckler Thief | Necromancer | Inquisiter Paladin |
| 5 | Avenger Druid | Blade Bard | Transmuter | Undead Hunter Paladin |
| 6 | Barbarian | Jester Bard | All (no kit) | Abjurer |
| 7 | Wildmage | Skald Bard | Ferlain | Conjurer |
Header Proficiency
| Value (hex) | Description |
|---|---|
| 00h | None |
| 59h | Bastard Sword |
| 5Ah | Long Sword |
| 5Bh | Short Sword |
| 5Ch | Axe |
| 5Dh | Two-Handed Sword |
| 5Eh | Katana |
| 5Fh | Scimitar/Wakizashi/Ninja-To |
| 60h | Dagger |
| 61h | War Hammer |
| 62h | Spear |
| 63h | Halberd |
| 64h | Flail/Morningstar |
| 65h | Mace |
| 66h | Quarterstaff |
| 67h | Crossbow |
| 68h | Long Bow |
| 69h | Short Bow |
| 6Ah | Darts |
| 6Bh | Sling |
| 6Ch | Blackjack |
| 6Dh | Gun |
| 6Eh | Martial Arts |
| 6Fh | Two-Handed Weapon Skill |
| 70h | Sword and Shield Skill |
| 71h | Single Weapon Skill |
| 72h | Two Weapon skill |
| 73h | Club |
| 74h | Extra Proficiency 2 |
| 75h | Extra Proficiency 3 |
| 76h | Extra Proficiency 4 |
| 77h | Extra Proficiency 5 |
| 78h | Extra Proficiency 6 |
| 79h | Extra Proficiency 7 |
| 7Ah | Extra Proficiency 8 |
| 7Bh | Extra Proficiency 9 |
| 7Ch | Extra Proficiency 10 |
| 7Dh | Extra Proficiency 11 |
| 7Eh | Extra Proficiency 12 |
| 7Fh | Extra Proficiency 13 |
| 80h | Extra Proficiency 14 |
| 81h | Extra Proficiency 15 |
| 82h | Extra Proficiency 16 |
| 83h | Extra Proficiency 17 |
| 84h | Extra Proficiency 18 |
| 85h | Extra Proficiency 19 |
| 86h | Extra Proficiency 20 |
Extended Header MeleeAnimation
| Value Word 1 | Value Word 2 | Value Word 3 | Data |
|---|---|---|---|
| 00h | 14h | 50h | Dagger |
| 0Ah | 19h | 41h | Short Sword |
| 32h | 32h | 00h | Long Sword, Bastard Sword, Scimitar, Battle Axe, Warhammer, Club, Mace, Flail, Morning Star |
| 3Ch | 28h | 00h | Two-Handed Sword |
| 00h | 23h | 41h | Halberd |
| 00h | 00h | 64h | Spear |
| 0Ah | 46h | 14h | Staff |
| 00h | 00h | 00h | Any Missile Weapon (Bow, Arrow, CrossBow, Bolt, Sling, Bullet, Throwing Axe, Dart, Throwing Dagger, etc.) |
| 22h | 21h | 21h | Any Non-Weapon Item (Amulets, Rings, Wands, etc.) |
Extension Header Flags
| Bit | Byte 1 | Byte 2 |
|---|---|---|
| 0 | Add strength bonus | Unknown |
| 1 | Breakable | Unknown |
| 2 | Unknown | Hostile |
| 3 | Unknown | Recharges |
| 4 | Unknown | Unknown |
| 5 | Unknown | Unknown |
| 6 | Unknown | Unknown |
| 7 | Unknown | Unknown |