Graphics Extraction
Programs to extract the animations, static graphics and terrain
blocks are available in the utilities package.
Animations
The animations are now available for download from this site:
- All animations
- Monsters:
Archer,
Avatar,
Barbarian,
Beetle,
Bile Demon,
Dark Mistress,
Dragon,
Demon Spawn,
Dwarf,
Fairy,
Fly,
Ghost,
Giant,
Horned Reaper,
Hellhound,
Imp,
Knight,
Monk,
Orc,
Skeleton,
Samurai,
Spider,
Tentacle,
Thief,
Troll,
Tunneller,
Vampire,
Warlock,
Witch,
Wizard.
- Torture chambers
- Miscellaneous animations
File formats
(Many thanks to whoever it was sent me this data... I can't find
your name in my email logs, so please mail me if you want the
credit!)
There are five different types of file used for graphics in Dungeon Keeper
(as far as I know): raw picture, animation table, picture table,
picture/animation data, and palette.
Raw
Simply raw data, one pixel per byte. No palette or size information
given. These are all stills.
Animation table
Used in conjunction with a palette file and an animation data file.
Each record (one per frame) is sixteen bytes long:
- 0-3: Offset of the frame within the data file
- 4: Horizontal size of frame
- 5: Vertical size of frame
- 6-9: Animation number (i.e. all frames with the same animation
number belong together, in the order given.)
- 10: Horizontal offset of this frame within the whole animation
- 11: Vertical offset of this frame within the whole animation
- 12-13: X-origin
- 14-15: Y-origin
Picture table
Used in conjunction with a palette file and a picture data file.
Each record (one per picture) is six bytes long:
- 0-3: Offset of the picture within the data file
- 4: Horizontal size of picture
- 5: Vertical size of picture
Picture/animation data
Used in conjunction with a picture/animation table and a palette.
Arranged in chunks of variable length, the offsets being given in
the table. Picture data files have the first 2 bytes in a picture
with size 0, this is actually the number of entries in the table.
Each chunk:
- First byte - if positive, number of non-transparent pixels. If
negative, number of pixels to leave transparent. If 0, this is the end
of the row.
- 1 byte for each non-transparent pixel - color of pixel.
This pattern is repeated until end of picture is reached.
Palette
256 triples of red, green, and blue values, from 0 to 63. Most
"standard" picture formats (eg bmp) use values from 0-255, so it's
worth multiplying by four when writing an extractor
Please send any comments to
skeet@pobox.com
Back to the Dungeon Keeper Extras page.