Darklands location definitions

Files with this format: "darkland.loc".

Contains names, coordinates, and other data for all map locations. This data is copied into each saved game file.

Table of Contents

Offsets

starting at 0x00

Structures

location

Enumerations

location_icon

Offsets

Offset: starting at 0x00

0x00: num_locations: word = 0x19e
Number of locations.
0x02: locations: array[ num_locations ] of struct location (each size 0x3a)
Location definitions.

Structures

Structure: location

Size 0x3a.

0x00: icon: word (enum location_icon)
Map image for the location.
  • Note that this basically corresponds to the 'type' of location.
0x02: unknown word
  • 0 for cities, other locations range from 0x08-0x0e.
0x04: coords: struct coordinates (size )
Map coordinates.
0x08: unknown word
  • Ranges from 1-10.
  • Seems to be 4 or 9 for live Raubritters (1 for dead); perhaps it's a strength?
0x0a: unknown word
  • Most range from 1-5, except pagan altars, which are 0x63 (99).
0x0c: menu: word (enum menu)
Card displayed on entering the location.
  • This is the menu (found in enumerations) (card, screen?) you get when you enter the location.
  • It could be said that this is the closest thing to a "location type" that there is.
0x0e: unknown word
  • Always 0x62 except for castles currently occupied by Raubritters (icon=2); those are 0x92.
0x10: unknown byte [constant: 0xff]
0x11: city_size: byte
Size of the city.
  • Cities range from 3 (small) to 8 (Koln); non-cities are always 1.
0x12: local_rep: word
Local reputation.
  • In this file, this is always zero. The copy of this structure that lives in the saved game files gets non-zero values.
  • Ranges from -150 to 150 (although others claim to have observed numbers outside this range).
0x14: unknown byte
  • Zero seems to indicate an "active" site.
  • Ruins of a Raubritter castle get 0x04, as do destroyed villages.
  • Some other locations get 0x20 or 0x24.
0x15: unknown (3 bytes) [constant: { 0x19, 0x19, 0x19 }]
0x18: inn_cache_idx: word
  • In this file, this is always 0xffff (-1).
  • In a saved game file, if the party stores items at an inn (in a city), this value becomes an index into cache_offsets (found in dksaveXX.sav).
0x19: word [constant: 0x0000]
0x1b: unknown word
  • All are zero except for Nurnberg, which is 0xc0.
0x1d: unknown (8 bytes) [constant: all 0x00]
0x25: name: string(20)
Name.

Enumerations

Enumeration: location_icon

Map image for the location.

Data Value Meaning
0x00 city
0x01 castle (lord or evil lord variety)
0x02 castle (Raubritter variety)
0x03 monastery
0x04 (looks like tomb or pagan altar) TODO: Teufelstein is one
0x05 cave (TODO: what kind?)
0x06 mines
0x08 village
0x09 ruins of a village
0x0a village (more square than 0x08, and unused?)
0x0d tomb
0x0f dragon's lair (invisible; cannot interact?)
0x10 spring
0x11 lake
0x12 shrine
0x13 cave (TODO: what kind?)
0x14 pagan altar
0x15 witch sabbat
0x16 Templar castle (has a black top)
0x17 Hockkonig (the Baphomet castle; all gray)
0x18 alpine cave
0x19 lady of the lake (magician/astrologer)
0x1a ruins of a Raubritter's castle