CLI Reference¶
wadcli is the command-line interface for inspecting, validating, converting, and exporting content from WAD and PK3 files.
Global Flags¶
| Flag | Description |
|---|---|
--wad <path> |
Primary WAD file. Required for most commands. |
--pwad <path> |
Layer a PWAD on top of the primary WAD. Repeatable; last PWAD wins for duplicate lumps. |
--json |
Output JSON instead of human-readable text. Supported by most commands. |
# Load a base WAD with two PWADs and output JSON
wadcli --wad DOOM2.WAD --pwad mymap.wad --pwad fixes.wad --json info
Top-Level Commands¶
info¶
Show WAD header information, total lump count, map list, and format summary.
check¶
Validate a WAD for common authoring errors: missing textures and flats, bad namespace markers, duplicate map names, and PNAMES mismatches.
diff¶
Compare two WADs and report added, removed, and changed lumps.
complevel¶
Detect the compatibility level of the WAD: Vanilla, Boom, MBF, MBF21, ZDoom, or UDMF.
convert pk3¶
Convert a WAD to a PK3 archive using namespace-aware directory mapping.
convert complevel¶
Downgrade a WAD to a lower compatibility level and write the result to a new file.
list Subcommands¶
List content from various WAD lumps. All subcommands support --json.
maps¶
List all maps with thing, linedef, and sector counts. Shows ZMAPINFO title if present.
lumps¶
List all directory entries with their size and offset.
actors¶
List DECORATE actor definitions: name, parent class, and DoomEdNum.
animations¶
List ANIMDEFS flat and texture animation sequences.
flats¶
List all flat names found between F_START and F_END markers.
language¶
List strings from the LANGUAGE lump. Defaults to the enu locale; use --locale to select another.
mapinfo¶
List map entries from MAPINFO or ZMAPINFO.
music¶
List music lumps with detected format and size.
patches¶
List patch names from PNAMES.
scripts¶
List ACS scripts found in BEHAVIOR lumps across all maps.
sndseq¶
List sound sequence definitions from SNDSEQ.
sounds¶
List DMX sound lumps with sample rate and length.
sprites¶
List sprite lumps with pixel dimensions.
stats¶
Show aggregate statistics across all maps: thing counts by category, total linedefs, sector count, secret count, and more.
textures¶
List composite texture names and patch counts from TEXTURE1 and TEXTURE2.
export Subcommands¶
Export or render WAD content to external files. All subcommands support --json for metadata output where applicable.
animation¶
Render an ANIMDEFS animation sequence as an animated GIF.
colormap¶
Render the COLORMAP lump as a PNG grid (34 light levels × 256 colours).
endoom¶
Export the ENDOOM lump as a rendered ANSI image or plain text. Output path is optional; use --text for plain text.
wadcli --wad DOOM2.WAD export endoom endoom.png
wadcli --wad DOOM2.WAD export endoom --text endoom.txt
wadcli --wad DOOM2.WAD export endoom --text
flat¶
Render a floor or ceiling flat to PNG.
font¶
Render a WAD font as a sprite-sheet PNG. Supported font names: stcfn, fonta, fontb.
lump¶
Dump raw lump bytes to a file.
map¶
Render a map to PNG or directly to the terminal (Unicode braille + ANSI colour).
PNG output (default): supports --floors, --sprites, --alpha, --multiplayer,
--scale, --thing-scale, and --palette.
wadcli --wad DOOM2.WAD export map MAP01 map01.png
wadcli --wad DOOM2.WAD export map MAP01 map01.png --floors --sprites --scale 2
Terminal output (--ascii): renders using Unicode braille (U+2800 block) at
(cols×2)×(rows×4) effective dot resolution. Terminal size is auto-detected;
override with --width N and --height N. Colour coding:
dark grey = two-sided, yellow = floor step, white = solid wall,
cyan = special/trigger, magenta = secret.
wadcli --wad DOOM2.WAD export map MAP01 --ascii
wadcli --wad DOOM2.WAD export map MAP01 --ascii --width 120 --height 40
wadcli --wad DOOM2.WAD export map --all --ascii
music¶
Export a music lump to a file. MUS lumps are converted to MIDI (.mid); MIDI, OGG, and MP3 lumps pass through unchanged.
wadcli --wad DOOM2.WAD export music D_RUNNIN track.mid
wadcli --wad mymod.wad export music D_TITLE title.ogg
obj¶
Export a map as a 3D Wavefront OBJ mesh with materials.
palette¶
Render PLAYPAL as a colour swatch PNG (14 palettes × 256 colours).
patch¶
Render any Doom-format picture or patch to PNG.
sound¶
Export a DMX sound lump as a WAV file. Use --raw to dump raw DMX bytes instead.
wadcli --wad DOOM2.WAD export sound DSPISTOL pistol.wav
wadcli --wad DOOM2.WAD export sound DSPISTOL pistol.dmx --raw
sprite¶
Render a sprite frame to PNG.
texture¶
Render a composite wall texture to PNG.
scan Subcommands¶
Scan WAD content for cross-referencing and usage analysis.
textures¶
Report which textures and flats each map references. Flags unused assets defined in TEXTURE1/TEXTURE2 or between F_START/F_END markers.