Sound Extractor

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 skeet@pobox.com
Back to the Dungeon Keeper Extras page.