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 (size )
0x70: party_money: struct money (size )
0x76: unknown (4 bytes) [constant: all 0x00]0x7a: reputation: word
0x7c: curr_location: word
0x7e: curr_coords: struct coordinates (size )
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 (size )
0x64: max_attrs: struct attribute_set (size )
0x6b: skills: struct skill_set (size )
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 (each size )
Size 0x30 (48).
An event, effect, or quest.
0x00: unknown word
0x02: create_date: struct date (size )
0x0a: unknown struct date (size )
0x12: expire_date: struct date (size )
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