Skip to content

File Formats

On-disk format documentation for every Darklands data file, produced by cross-referencing community research with reverse-engineered code from DARKLAND.EXE.

The primary source for community-documented formats is Wendigo’s Darklands repository (wendigo.online-siesta.com/darklands), which preserves the XML format specifications originally assembled by Merle, Quadko (Joel McIntyre), and others. For general Darklands reference — game mechanics, items, locations, and lore — darklands.net by Matt Wirkkala remains the authoritative community resource.

All formats documented here are based on the original game files and are public knowledge. Sources are cited per page.

FormatPatternLocationByte orderCompressionSizeStatus
Archives
Catalog Archive*.CAT (incl. extensionless)Game rootLE-16/32None — payloads varyVariableDocumented
Graphics
PIC Image*.PICPICS\LE-16Custom RLE + encoderVariablePartial
IMC Sprite*.IMCVia CAT archivesLE-16DRLE whole-fileVariablePartial
Font SetFONTS.FNT, FONTS.UTLGame rootLE-16NoneVariablePartial
Message File*.MSGMSGFILES CAT + looseLE-16NoneVariablePartial
Enemy PalettesENEMYPAL.DATGame rootLE-8None3,692 B (71 × 52)Documented
Common SpritesCOMMONSP.IMGDARKLAND\LE-16None4,078 B fixedPartial
Presentation
PAN Animation*.PANGame rootLE-16Custom LZ bitstreamVariableDocumented
Startup BannerBANNER.DATDARKLAND\LE-16None1,519 B fixedDocumented
Audio
Raw PCM Audio*.DGTGame rootNoneVariablePartial
World Data
LocationsDARKLAND.LOCGame rootLE-16None24,334 B (414 × 58)Partial
CitiesDARKLAND.CTYGame rootMixed †None57,225 B (92 × 622)Partial
City DescriptionsDARKLAND.DSCGame rootLE-16None7,361 B (92 × 80)Partial
EnemiesDARKLAND.ENMGame rootLE-16None16,452 B (71 × 204 + 82 × 24)Partial
ItemsDARKLAND.LSTGame rootLE-16NoneVariable (200 × 46 + strings)Partial
AlchemyDARKLAND.ALCGame rootLE-16None6,865 B (66 × 104)Documented
SaintsDARKLAND.SNTGame rootLE-16None48,961 B (136 × 360)Documented
Starter BundleCFILE.DATDARKLAND\LE-16None24 B (4 × 6)Partial
Save & Runtime
Save Filedksave*.savGame rootLE-16NoneVariablePartial
Character Recordembedded in .savLE-16None554 B fixed (0x22A)Partial
Inn CacheCACHE.TMPGame rootLE-16NoneVariablePartial
Location CacheLOCS.TMPGame rootLE-16None24,336 B (mirrors LOC)Partial
Character CacheCHARACTR.TMPGame rootLE-16NoneVariablePartial
Map
Wilderness MapDARKLAND.MAPGame rootMixed ‡Bit-packed RLEVariable (328 × 932 tiles)Partial
Executables
DARKLAND.EXEDARKLAND.EXEGame rootLE-16 (MZ)None (unpacked)~370 KBReference
Auxiliary EXEsMGRAPHIC.EXE etc.Game rootLE-16 (MZ)NoneVariesReference

DARKLAND.CTY: city_contents word is big-endian; all other fields are little-endian.
DARKLAND.MAP: dimension words at 0x00–0x03 are big-endian; row offsets and tile data are little-endian.