The Indie Game Jam
Extracting Sprites From WAD Files

Machines generously loaned by Intel


Hosting and source code control provided by
SourceForge Logo

Extracting Sprites From WAD Files
To provide the participants in the Indie Game Jam with a lot of prepared content for their experiemental games, we used sprites extracted from the WAD files of Doom, Doom engine games like Hexen and Heretic, and various Doom Total Conversions (TCs). While the source code to the IGJ games is under the GPL, the sprites are copyrighted by their respective owners.

A list of the WADs used by the games is available here.

If you are developing a game with the IGJ source and would like to use sprites from a specific WAD file, or if you just want to play a game that uses sprites from a WAD that we didn't pre-extract, read on. It isn't hard to extract the sprites, but there are a number of steps in the process.

Overview
A WAD file is a binary file containing all of the data for a Doom-style game, including the sprites, music, levels, and whatnot. We're only interested in the sprites for the Indie Game Jam.

There are a number of tools available for extracting (or "ripping") sprites from WAD files. We use an open source tool called deutex, and we've modified it slightly (to output a uniform transparent color, for the curious...the source is available in the CVS tree, along with the source to the other tools used below).

In addition to deutex, we use a perl script (and another helper executable) to drive deutex and put the sprites in the right place for the IGJ games, and to generate the dudes.html thumbnail preview page. You can use this page to choose which sprites to use if you're creating a new game.

Details

  1. Download the WAD file you want to rip. A list and archives of all the WADs used during the Indie Game Jam are available here. You may need to run the installer in the game archive and then copy the WAD file from the game's directory.

  2. Install ActivePerl. ActivePerl is a high quality and free perl implementation from ActiveState. Make sure perl.exe is registered to execute .pl files, or is in your path. This should be the default, but you might need to restart, or refresh your path.

  3. Download and unzip wadrip.zip into your IGJ game root directory (the directory with the game executable in it, or the directory with the main source code in it).

  4. Create a wads and a sprites directory in this main directory, if they don't already exist.

  5. Copy the WADs you want to rip into the wads subdirectory.

  6. Download the Doom Shareware archive and extract the doom1.wad file into the wads directory. Rename doom1.wad to doom.wad in the wads directory. (deutex requires an original WAD file to extract certain information while ripping sprites)

  7. Execute util_ripwads.pl in the main directory. If you've installed perl correctly, you should be able to double-click on the file, or run "perl util_ripwads.pl" from a command prompt in that directory. This should enumerate through *.wad in your wads directory, ripping the sprites into the sprites directory, and creating a dudes.html in the main directory with thumbnails of all the sprites.

You should now be ready to use the sprites, or to play a game that required the sprites.

Return to Indie Game Jam Home
Chris Hecker <checker'at'd6.com>