--- title: "CRE file format" regenerate: true ---
Offset | Size (datatype) | Description |
---|---|---|
0x00000 | 4 (char array) | Signature ('CRE ') |
0x0004 | 4 (char array) | Version ('V1.0') |
0x0008 | 4 (strref) | Long name |
0x000c | 4 (strref) | Short name (tooltip) |
0x0010 | 4 (dword) |
Creature flags
|
0x0014 | 4 (dword) | XP (gained for killing this creature) |
0x0018 | 4 (dword) | Creature Power Level (for summoning spells) / XP of the creature (for party members) |
0x001c | 4 (dword) | Gold carried |
0x0020 | 4 (dword) |
Permanent status flags (STATE.IDS)
|
0x0024 | 2 (word) | Current Hit Points |
0x0026 | 2 (word) | Maximum Hit Points |
0x0028 | 4 (dword) |
Animation ID
|
0x002c | 1 (byte) | Metal Colour Index |
0x002d | 1 (byte) | Minor Colour Index |
0x002e | 1 (byte) | Major Colour Index |
0x002f | 1 (byte) | Skin Colour Index |
0x0030 | 1 (byte) | Leather Colour Index |
0x0031 | 1 (byte) | Armor Colour Index |
0x0032 | 1 (byte) | Hair Colour Index |
0x0033 | 1 (byte) | Eff structure version
|
0x0034 | 8 (resref) | Small Portrait (BMP) |
0x003c | 8 (resref) | Large Portrait (PSTEE: BAM, Other games: BMP) |
0x0044 | 1 (signed byte) | Reputation (minimum value: 0) |
0x0045 | 1 (byte) | Hide In Shadows (base) |
0x0046 | 2 (signed word) | Armor Class (Natural) |
0x0048 | 2 (signed word) | Armor Class (Effective) |
0x004a | 2 (signed word) | Armor Class (Crushing Attacks Modifier) |
0x004c | 2 (signed word) | Armor Class (Missile Attacks Modifier) |
0x004e | 2 (signed word) | Armor Class (Piercing Attacks Modifier) |
0x0050 | 2 (signed word) | Armor Class (Slashing Attacks Modifier) |
0x0052 | 1 (byte) | THAC0 (1-25) |
0x0053 | 1 (byte) | Number of attacks (0-10) |
0x0054 | 1 (byte) | Save versus death (0-20) |
0x0055 | 1 (byte) | Save versus wands (0-20) |
0x0056 | 1 (byte) | Save versus polymorph (0-20) |
0x0057 | 1 (byte) | Save versus breath attacks (0-20) |
0x0058 | 1 (byte) | Save versus spells (0-20) |
0x0059 | 1 (byte) | Resist fire (0-100) |
0x005a | 1 (byte) | Resist cold (0-100) |
0x005b | 1 (byte) | Resist electricity (0-100) |
0x005c | 1 (byte) | Resist acid (0-100) |
0x005d | 1 (byte) | Resist magic (0-100) |
0x005e | 1 (byte) | Resist magic fire (0-100) |
0x005f | 1 (byte) | Resist magic cold (0-100) |
0x0060 | 1 (byte) | Resist slashing (0-100) |
0x0061 | 1 (byte) | Resist crushing (0-100) |
0x0062 | 1 (byte) | Resist piercing (0-100) |
0x0063 | 1 (byte) | Resist missile (0-100) |
0x0064 | 1 (byte) | Detect illusion (minimum value : 0) |
0x0065 | 1 (byte) | Set traps |
0x0066 | 1 (byte) | Lore (0-100)* |
0x0067 | 1 (byte) | Lockpicking (minimum value: 0) |
0x0068 | 1 (byte) | Move Silently (minimum value: 0) |
0x0069 | 1 (byte) | Find/disarm traps (minimum value: 0) |
0x006a | 1 (byte) | Pick Pockets (minimum value: 0) |
0x006b | 1 (byte) | Fatigue (0-100) |
0x006c | 1 (byte) | Intoxication (0-100) |
0x006d | 1 (byte) | Luck |
0x006e | 1 (byte) | BG1: Large swords proficiency Other games: Unused proficiency Note: Proficiencies are packed into 3-bit chunks for primary and secondary classes. |
0x006f | 1 (byte) | BG1: Small swords proficiency BG2: Unused proficiency Note: Proficiencies are packed into 3-bit chunks for primary and secondary classes. |
0x0070 | 1 (byte) | BG1: Bows proficiency BG2: Unused proficiency Note: Proficiencies are packed into 3-bit chunks for primary and secondary classes. |
0x0071 | 1 (byte) | BG1: Spears proficiency BG2: Unused proficiency Note: Proficiencies are packed into 3-bit chunks for primary and secondary classes. |
0x0072 | 1 (byte) | BG1: Blunt proficiency BG2: Unused proficiency Note: Proficiencies are packed into 3-bit chunks for primary and secondary classes. |
0x0073 | 1 (byte) | BG1: Spiked proficiency BG2: Unused proficiency Note: Proficiencies are packed into 3-bit chunks for primary and secondary classes. |
0x0074 | 1 (byte) | BG1: Axe proficiency BG2: Unused proficiency Note: Proficiencies are packed into 3-bit chunks for primary and secondary classes. |
0x0075 | 1 (byte) | BG1: Missile proficiency BG2: Unused proficiency Note: Proficiencies are packed into 3-bit chunks for primary and secondary classes. |
0x0076 | 1 (byte) | Unused proficiency (Proficiencies are packed into 3-bit chunks for primary and secondary classes) |
0x0077 | 1 (byte) | Unused proficiency (Proficiencies are packed into 3-bit chunks for primary and secondary classes) |
0x0078 | 1 (byte) | Unused proficiency (Proficiencies are packed into 3-bit chunks for primary and secondary classes) |
0x0079 | 1 (byte) | Unused proficiency (Proficiencies are packed into 3-bit chunks for primary and secondary classes) |
0x007a | 1 (byte) | Unused proficiency (Proficiencies are packed into 3-bit chunks for primary and secondary classes) |
0x007b | 1 (byte) | BG1, BG2: Unused proficiency (Proficiencies are packed into 3-bit chunks for primary and secondary classes) PSTEE: Unspent proficiencies |
0x007c | 1 (byte) | BG1, BG2: Unused proficiency (Proficiencies are packed into 3-bit chunks for primary and secondary classes) PSTEE: Number of available inventory slots (0 indicates default number) |
0x007d | 1 (byte) | BG1, BG2: Unused proficiency (Proficiencies are packed into 3-bit chunks for primary and secondary classes) BGEE: Nightmare mode modifiers applied |
0x007e | 1 (byte) | BG1, BG2: Unused proficiency (Proficiencies are packed into 3-bit chunks for primary and secondary classes) BGEE: Translucency (range: 0-255) |
0x007f | 1 (byte) | BG1, BG2: Unused proficiency (Proficiencies are packed into 3-bit chunks for primary and secondary classes) BGEE: Reputation gain/loss when killed PSTEE: MURDER variable increment value |
0x0080 | 1 (byte) | BG1, BG2: Unused proficiency (Proficiencies are packed into 3-bit chunks for primary and secondary classes) BGEE: Reputation gain/loss when joining party |
0x0081 | 1 (byte) | BG1, BG2: Unused proficiency (Proficiencies are packed into 3-bit chunks for primary and secondary classes) BGEE: Reputation gain/loss when leaving party |
0x0082 | 1 (byte) | Turn undead level |
0x0083 | 1 (byte) | Tracking skill (0-100) |
The following entry applies to BG1, BG2 and BGEE: | ||
0x0084 | 32 (char array) | Tracking target |
The following entries apply only to PSTEE: | ||
0x0084 | 4 (dword) | Current thief class experience |
0x0088 | 4 (dword) | Current mage class experience |
0x008c | 1 (byte) | GOOD variable increment value |
0x008d | 1 (byte) | LAW variable increment value |
0x008e | 1 (byte) | LADY variable increment value |
0x008f | 1 (byte) | Faction (see FACTION.IDS) |
0x0090 | 1 (byte) | Team (see TEAM.IDS) |
0x0091 | 1 (byte) | Species (see RACE.IDS) |
0x0092 | 1 (byte) | Dialogue activation range |
0x0093 | 1 (byte) | Selection circle size |
0x0094 | 1 (byte) | Shield flags:
|
0x0095 | 1 (byte) | Field of vision (bitfield?) |
0x0096 | 4 (dword) | Attribute flags:
|
0x009a | 10 (bytes) | Unused |
Continued for all games: | ||
0x00a4 | 4*100 (Strref*100) | Strrefs pertaining to the character. Most are connected with the sound-set (see SOUNDOFF.IDS (BG1) and SNDSLOT.IDS for (BG2)). |
0x0234 | 1 (byte) | Level first class |
0x0235 | 1 (byte) |
Level second class
|
0x0236 | 1 (byte) |
Level third class
|
0x0237 | 1 (byte) | Sex (from gender.ids) - checkable via the sex stat |
0x0238 | 1 (byte) | Strength (1-25) |
0x0239 | 1 (byte) | Strength % Bonus (0-100) |
0x023a | 1 (byte) | Intelligence (1-25) |
0x023b | 1 (byte) | Wisdom (1-25) |
0x023c | 1 (byte) | Dexterity (1-25) |
0x023d | 1 (byte) | Constitution (1-25) |
0x023e | 1 (byte) | Charisma (1-25) |
0x023f | 1 (byte) | Morale |
0x0240 | 1 (byte) |
Morale break
|
0x0241 | 1 (byte) | Racial enemy (RACE.IDS) |
0x0242 | 2 (word) |
Morale Recovery Time
|
0x0244 | 4 (dword) | Kit information:NONE 0x00000000 KIT_BARBARIAN 0x00004000 KIT_TRUECLASS 0x40000000 KIT_BERSERKER 0x40010000 KIT_WIZARDSLAYER 0x40020000 KIT_KENSAI 0x40030000 KIT_CAVALIER 0x40040000 KIT_INQUISITOR 0x40050000 KIT_UNDEADHUNTER 0x40060000 KIT_ARCHER 0x40070000 KIT_STALKER 0x40080000 KIT_BEASTMASTER 0x40090000 KIT_ASSASSIN 0x400A0000 KIT_BOUNTYHUNTER 0x400B0000 KIT_SWASHBUCKLER 0x400C0000 KIT_BLADE 0x400D0000 KIT_JESTER 0x400E0000 KIT_SKALD 0x400F0000 KIT_TOTEMIC 0x40100000 KIT_SHAPESHIFTER 0x40110000 KIT_AVENGER 0x40120000 KIT_GODTALOS 0x40130000 KIT_GODHELM 0x40140000 KIT_GODLATHANDER 0x40150000 ABJURER 0x00400000 CONJURER 0x00800000 DIVINER 0x01000000 ENCHANTER 0x02000000 ILLUSIONIST 0x04000000 INVOKER 0x08000000 NECROMANCER 0x10000000 TRANSMUTER 0x20000000 NB.: The values of this offset are written in big endian style. NB.: In BG1 the valid values are mages schools and None |
0x0248 | 8 (resref) | Creature script - Override |
0x0250 | 8 (resref) | Creature script - Class |
0x0258 | 8 (resref) | Creature script - Race |
0x0260 | 8 (resref) | Creature script - General |
0x0268 | 8 (resref) | Creature script - Default |
0x0270 | 1 (byte) | Enemy-Ally (EA.IDS) |
0x0271 | 1 (byte) | General (GENERAL.IDS) |
0x0272 | 1 (byte) | Race (RACE.IDS) |
0x0273 | 1 (byte) | Class (CLASS.IDS) |
0x0274 | 1 (byte) | Specific (SPECIFIC.IDS) |
0x0275 | 1 (byte) | Gender (GENDER.IDS). Dictates the casting voice, and checked for the summoning cap. |
0x0276 | 5 (bytes) | OBJECT.IDS references |
0x027b | 1 (byte) | Alignment (ALIGNMEN.IDS) |
0x027c | 2 (word) | Global actor enumeration value |
0x027e | 2 (word) | Local (area) actor enumeration value |
0x0280 | 32 (char array) | Death Variable (set SPRITE_IS_DEADvariable on death) |
0x02a0 | 4 (dword) | Known spells offset |
0x02a4 | 4 (dword) | Known spells count |
0x02a8 | 4 (dword) | Spell memorization info offset |
0x02ac | 4 (dword) | Spell memorization info entries count |
0x02b0 | 4 (dword) | Memorized spells offset |
0x02b4 | 4 (dword) | Memorized spells count |
0x02b8 | 4 (dword) | Offset to Item slots |
0x02bc | 4 (dword) | Offset to Items |
0x02c0 | 4 (dword) | Count of Items |
0x02c4 | 4 (dword) | Offset to effects |
0x02c8 | 4 (dword) | Count of effects. |
0x02cc | 8 (resref) | Dialog file |
((level * rate) + int_bonus + wis_bonus)
. Intelligence and wisdom bonuses are from LOREBON.2DA and the rate is the lookup value in LORE.2DA, based on class. For multiclass characters, (level * rate)
is calculated for both classes separately and the higher of the two values is used - they are not cumulative.Offset | Size (data type) | Description |
---|---|---|
0x0000 | 8 (resref) | Resource name of the SPL file |
0x0008 | 2 (word) | Spell Level -1 |
0x000a | 2 (word) | Spell type
|
Offset | Size (data type) | Description |
---|---|---|
0x0000 | 2 (word) | Spell level (less 1) |
0x0002 | 2 (word) | Number of spells memorizable |
0x0004 | 2 (word) | Number of spells memorizable (after effects) |
0x0006 | 2 (word) | Spell type
|
0x0008 | 4 (dword) | Index into memorized spells array of first memorized spell of this type in this level. |
0x000c | 4 (dword) | Count of memorized spell entries in memorized spells array of memorized spells of this type in this level. |
Offset | Size (data type) | Description |
---|---|---|
0x0000 | 8 (resref) | Resource name of the SPL file |
0x0008 | 4 (dword) | Memorised
|
CRE effect V2
structures omit the 8-byte EFF V2
header.108h
instead of 110h
and all attributes (Target
, Power
, Parameter1
, etc...) are located at the value listed there "minus 8" (e.g. Opcode number
is at 0x8
instead of 0x10
).Offset | Size (data type) | Description |
---|---|---|
0x0000 | 8 (resref) | Resource name of the ITM file |
0x0008 | 1 (byte) | Item expiration time - item creation hour (replace with drained item) |
0x0009 | 1 (byte) | Item expiration time - (elapsed hour count divided by 256, rounded down) + 1 (replace with drained item) When the game hour and elapsed hour count for the current game time exceed these values, the item is removed. |
0x000a | 2 (word) | Quantity/Charges 1 |
0x000c | 2 (word) | Quantity/Charges 2 |
0x000e | 2 (word) | Quantity/Charges 3 |
0x0010 | 4 (dword) | Flags
|