Skip to content
This repository was archived by the owner on Oct 20, 2026. It is now read-only.
doomhackPublic archive

About

Utility for converting a Doom IWAD into a format for GBA Doom.

Resources

Stars

17 stars

Watchers

1 watching

Forks

Repository files navigation

Utility to process Doom IWAD files for GBA Doom.

It can write either a new WAD file and/or a C Source file.

This is required to reduce the memory footprint of some of the data structures in Doom to get it to fit in 256Kb.

We will pre-calculate more fields so that the lumps stored in the WAD can be used directly from the ROM rather than having to load and convert them in memory.

For example:

In the WAD file a vertex is stored as two short values. (X and Y). When it is loaded into memory, it is shifted left by 16 to convert to 16.16 fixed point. By re-writing this lump and storing it in fixed point, we do not need to copy this into memory at runtime.

Usage: GbaWadUtil -in iwad_file_path -out gba_iwad_path -cfile iwad_cfile_path.

To attach the WAD to a GBADoom ROM without rebuilding it:

GbaWadUtil -in iwad_file_path -rom gbadoom_rom_path -romout output_rom_path

The ROM must be built with IWAD header support (ends with a "GBADOOM-IWAD-HDR" header). Anything already after the header is replaced, so a ROM with a WAD attached can be patched again with a different WAD.

I plan to add PWAD support so that an IWAD and 1 or more PWADS can be converted to a GBA IWAD.

It is a command line util so it can be integrated into a build process.

About

Utility for converting a Doom IWAD into a format for GBA Doom.

Resources

Stars

17 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages