Files with this format: "saves\dksave*.sav".
This is the main portion of a Darklands saved game file.
Every saved game consists of a pair of files: ".sav" and ".bsv". The ".sav" file contains world and character data. The ".bsv" file contains battle and dungeon data (only for the last dungeon entered and not finished).
0x00:
curr_location_name:
string(12) (null-delimited)
0x0c:
unknown (9 bytes)
0x15:
save_game_label:
string(23) (null-delimited)
0x2c:
unknown (18 bytes) [constant: all 0x00]0x3e:
unknown (55 bytes)
0x63:
unknown (1 bytes) [constant: 0x19]0x64:
city_contents_seed:
word
0x66:
unknown (2 bytes) [constant: 0x07, 0x00]0x68:
curr_date:
struct date_reversed
0x70:
party_money:
struct money
0x76:
unknown (4 bytes) [constant: all 0x00]0x7a:
reputation:
word
0x7c:
curr_location:
word
0x7e:
curr_coords:
struct coordinates
0x82:
curr_menu:
word (enum menu)
0x84:
unknown (6 bytes)
0x8a:
prev_menu:
word (enum menu)
0x8c:
bank_notes:
word
0x8e:
unknown (4 bytes)
0x92:
philosopher_stone:
word
0x94:
unknown (7 bytes)
0x9b:
party_order_indices:
array[ 5 ] of string(4) (enum image_group)
.bsv file, and is used for large battlefields? When do changes take effect?0xa0:
unknown (1 bytes)
0xa1:
party_leader_index:
byte
0xa2:
unknown (3 bytes)
0xa5:
unknown (74 bytes) [constant: all 0x00]0xef:
num_curr_characters:
word
0xf1:
num_characters:
word
0xf3:
party_char_indices:
array[ 5 ] of word
0xfd:
party_images:
array[ 5 ] of string(4) (enum image_group)
pics\???small.pic" files.
TODO: where is that image used?
0x111:
party_colors:
array[ 5 ] of struct person_colors
(each size 0x18)
0x189:
characters:
array[ num_characters ] of struct character
(each size 0x22a (554))
Size 0x03.
A color value (RGB triplet).
0x00:
red:
byte
0x01:
green:
byte
0x02:
blue:
byte
Size 0x18.
A set of colors for a person (battle mode).
0x00:
first_hi:
struct rgb
(size 0x03)
0x03:
first_lo:
struct rgb
(size 0x03)
0x06:
second_hi:
struct rgb
(size 0x03)
0x09:
second_med:
struct rgb
(size 0x03)
0x0c:
second_lo:
struct rgb
(size 0x03)
0x0f:
third_hi:
struct rgb
(size 0x03)
0x12:
third_med:
struct rgb
(size 0x03)
0x15:
third_lo:
struct rgb
(size 0x03)
Size 0x22a (554).
A character (and all their belongings).
0x00:
unknown (17 bytes)
0x12:
age:
word
0x14:
unknown (1 bytes)
0x15:
shield:
char
pics\shield?.pic" files.0x16:
unknown (12 bytes)
0x22:
equip_missile_type:
byte
0x23:
unknown (2 bytes)
0x25:
full_name:
string(25)
0x3e:
short_name:
string(11) (null-delimited)
0x49:
unknown (2 bytes)
0x4b:
equip_vital_type:
byte
0x4c:
equip_leg_type:
byte
0x4d:
unknown (2 bytes)
0x4f:
equip_vital_q:
byte
0x50:
equip_leg_q:
byte
0x51:
equip_weapon_type:
byte
0x52:
unknown (6 bytes)
0x58:
equip_weapon_q:
byte
0x59:
unknown (1 bytes)
0x5a:
equip_missile_q:
byte
0x5b:
equip_shield_q:
byte
0x5c:
equip_shield_type:
byte
0x5d:
curr_attrs:
struct attribute_set
0x64:
max_attrs:
struct attribute_set
0x6b:
skills:
struct skill_set
0x7e:
num_items:
word
0x80:
saints_known:
array[ 160 bits ] of bit
0x94:
formulae_known:
array[ 22 ] of bitmask[1]
| bit 1: | [constant: 0] | |
| bit 2: | [constant: 0] | |
| bit 3: | [constant: 0] | |
| bit 4: | [constant: 0] | |
| bit 5: | [constant: 0] | |
| bit 6: | q45: | Knowledge of q45 formula. |
| bit 7: | q35: | Knowledge of q35 formula. |
| bit 8: | q25: | Knowledge of q25 formula. |
0xaa:
items:
array[ 64 ] of struct item
Size 0x30 (48).
An event, effect, or quest.
0x00:
unknown
word
0x02:
create_date:
struct date
0x0a:
unknown
struct date
0x12:
expire_date:
struct date
0x1a:
unknown
word
0x1c:
unknown
word
0x1e:
unknown
word
0x21:
unknown
word
0x23:
unknown
word
0x25:
unknown
word
0x27:
unknown
word
0x29:
unknown
word
0x2a:
unknown
word
0x2c:
unknown
word
0x2e:
unknown
word
Size varies.
0x00:
num_items:
byte
0x01:
items:
array[ num_items ] of struct cache_item
(each size 4)
Size 4.
0x00:
item_code:
word
0x02:
quality:
byte
0x03:
quantity:
byte