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