Character file format

Files:
.CHA and .SAV - I have not (yet?) found any differences between these files.

General Description
These files contain most of the character information. For inventory items, see .ITM files. For various valid variable settings, see the reference sheet.

Some useful parts:
Offset Size (data type) Description
0x0000 1 (ubyte) Name length
0x0001 1-15 (char array) Character name, the array length is dependant on the defined Name length
0x0010 1 (ubyte) Strength
0x0011 1 (ubyte) Intelligence
0x0012 1 (ubyte) Wisdom
0x0013 1 (ubyte) Dexterity
0x0014 1 (ubyte) Constitution
0x0015 1 (ubyte) Charisma
0x0016 1 (ubyte) Exceptional Strength, for characters with 18 strength
 
0x002e 1 (ubyte) Race
0x002f 1 (ubyte) Class
0x0030 2 (word) Age
0x0032 1 (ubyte) Hitpoints - maximum
 
0x0072 1 (ubyte) Movement
 
0x0081 2 (word) Unknown - they change seemingly at random by simply adding, viewing and removing a character from a party in the main menu
 
0x0088 2 (word) Copper pieces
0x008a 2 (word) Silver pieces
0x008c 2 (word) Electrum pieces
0x008e 2 (word) Gold pieces
0x0090 2 (word) Platinum pieces
0x0092 2 (word) Gems
0x0094 2 (word) Jewellery
0x0096 1 (ubyte) Cleric level
0x0097 1 (ubyte) Druid level
0x0098 1 (ubyte) Fighter level
0x0099 1 (ubyte) Paladin level
0x009a 1 (ubyte) Ranger level
0x009b 1 (ubyte) Magic-user level
0x009c 1 (ubyte) Thief level
0x009d 1 (ubyte) Monk level
0x009e 1 (ubyte) Gender (From 0 to 1: Male, Female)
 
0x00a0 1 (ubyte) Alignment
 
0x00a9 1 (ubyte) Armor modifier - 0x32 is default, increase it to improve armor
 
0x00ac 4 (dword) Experience points
 
0x00bb 1 (ubyte) Portrait head - 1 to 14 (0 is blank)
0x00bc 1 (ubyte) Portrait body - 1 to 12 (0 is blank)
0x00bd 1 (ubyte) Icon Part: Head (these differ depending on race)
0x00be 1 (ubyte) Icon Part: Weapon
 
0x00c0 1 (ubyte) Icon Character Size (From 1 to 2: Small, Large)
0x00c1 1 (ubyte) Icon Color: Body (The first 4 bits for all color bytes is for color 2, the remaining for color 1)
0x00c2 1 (ubyte) Icon Color: Arms
0x00c3 1 (ubyte) Icon Color: Legs
0x00c4 1 (ubyte) Icon Color: Head (First 4 bits for face, remaining for hair)
0x00c5 1 (ubyte) Icon Color: Shield
0x00c6 1 (ubyte) Icon Color: Weapon
 
0x0102 2 (word) Encumbrance - recalculated on loading
 
0x011b 1 (ubyte) Hitpoints - current
0c011c 1 (ubyte) Possibly current movement points.

Back to index