Programs to extract and reverse the sound effects are available in
the utilities package.
Sound file format
The format is very simple - at least as far as the extractor needs
to know. Each sound is actually stored as a wav file, and the files
are just stuck together. Each file is aligned on a 16 byte boundary
within the .dat file - and in fact if the file would already be on a
16 byte boundary, 16 bytes of rubbish are inserted. The
source code for the extractor should make this
a bit clearer... it's still a bit untidy at the moment, but I'll
sort it out when I get some more time. It should certainly give you
as much information as you need.
After all the wavs, there's a table of contents, each entry being 32
bytes. The first thirteen bytes form the internal name of the file
(not the one my extractor outputs), followed by five bytes of
zeroes, eight bytes giving the offset of the file in the .dat, then
six bytes giving the size of the file.
Richard Leigh has written
a Perl script to combine the sounds back
together again after extracting them. He says it works fine with
22kHz mono 16bit PCM .wav files - we don't know if the game would
handle anything else. Have fun!
Please send any comments to
Back to the Dungeon Keeper Extras page.