Skip to content

refaim/gravedigger

Repository files navigation

Gravedigger

Translation toolkit for Dangerous Dave in the Haunted Mansion (DOS, 1991).

Extracts translatable resources (text strings) from the game into editable formats and repacks them back into working game files, enabling fan translations into any language.

Supports arbitrary-length replacement strings — translated text is not limited to the original string length. When a string exceeds its original slot, all strings are relocated to an appended block with patched cross-references.

Usage

gravedigger unpack <game_dir> <output_dir>
gravedigger repack <output_dir> <repacked_dir>

unpack reads original game files (.DD2, .EXE) and produces editable assets:

Resource Format Notes
Text strings (menus, messages, win/lose screens) XLSX One row per string; translated text can exceed the original length
Sprites and tiles PNG Indexed-color images with original palette
Anti-piracy exit screen (80×25 VGA text mode) XBIN Can be edited in Moebius, a free ANSI/XBIN art editor

repack takes the edited translations and rebuilds game files ready to play.

Installation

Download a standalone binary from GitHub Releases.

Or run from source (Python 3.13+):

uv sync
uv run gravedigger --help

Development

make lint    # ruff + mypy
make test    # pytest (100% coverage required)
make build   # standalone binary via nuitka

Acknowledgements

  • dangerous-dave-re by Gil Megidish — reverse-engineered game format documentation and reference implementation
  • gamecompjs by Adam Nielsen — PKLITE decompression algorithm reference
  • OpenTESArena ExeUnpacker by afritz1 — PKLITE decompression reference
  • depklite by hackerb9 / NY00123 — PKLITE decompression reference
  • UNLZEXE by Mitugu Kurizono / Stian Skjelstad — LZEXE decompression algorithm reference
  • unpacklzexe by Sam Russell — LZEXE decompression reference (Python)

License

GPL-3.0-or-later

About

Translation toolkit for Dangerous Dave in the Haunted Mansion

Topics

Resources

License

Stars

Watchers

Forks

Contributors