Structures

The way Doom 64 is structured as software is into two main sections: the code and assets. Sometimes information can be hardcoded into the code, but generally assets are stored in other files. Below is a list of software which can add assets to the various file formats you will encounter with Doom 64.

Asset Organization

How the assets of Doom 64 is stored varies amongst the various ports. In general, WAD files are where the majority of the Doom 64 assets are stored, which includes the graphics and levels, and the Nintendo 64 ROM has one embeded. The information, music, and sound file locations vary from engine to engine. Below is a list of where each asset type is stored.

WAD Structure

For the PC Engines, WADs can be made and opened with any Doom WAD editor, and the file structure is very similar to the other Doom games. Here asset types are stored in lumps designated by markers, and each map is in its own lump. For Doom 64, maps can also be stored in WADs and placed into the main WAD. One of the more popular WAD editors for this is Slade.

The Nintendo 64 format of the WAD file is very similar to the PC format. However, the algorithm used for loading data from the catridge into memory requires assets and lumps of a specific length (divisible by 2 bytes). This means these assets must be padded, and the aforementioned N64 WAD utilities will do this.

Text Lumps (PC Engines)

Text lumps were introduced by Doom 64 EX to define texture animations (ANIMDEFS), map properties (MAPINFO), and sky effect properties (SKYDEFS). These have been utilized in all other PC engines of Doom 64. The pages below define which properties can be used.

KPF Format (Doom 64 Remaster)

The Doom 64 Remaster has additional files to store extra engine and high-resolution game assets in the form of KPF files. These "KEX program files" compressed archives in the ZIP file format. Any program which can decompress ZIP archives, such as Slade, can open and decompress these files.

Nintendo 64 Compression

The Doom 64 engines for the Nintendo 64 come with a utility to rip a assets from the Doom 64 ROM. Although general Doom WAD editors can open up this WAD, they cannot view and properly save the assets. This is because these assets are compressed to save space and are padded for Nintendo 64 loading purposes (must to be divisible by two bytes). To decompress assets, you can either use Kovic's wadutil64 or Erick194's d64tool.

Interestingly the Doom 64 engines can load uncompressed assets. So it is not required to recompress the assets. However most flashcarts can't load N64 ROMs above 64 MB, so it may be helpful to recompress the assets. Erick194's d64tool can do this recompression; it can reduce the WAD size by nearly a half of its original size in many cases.