DEUTEX(6)

okay so you opened DEUTEX(6) β€” that's section 6 of the manual, bestie β€” and it's about a program called deutex. Buckle up, it's a lot. πŸ’…

🌸 NAME 🌸

deutex β€” do things with wad files πŸ¦‹


✨ SYNOPSIS ✨

like, here's every single way you can yell at this thing:

deutex -?|-h|-help|--help

deutex --version

deutex [OPTIONS] -add incomplete.wad out.wad

deutex [OPTIONS] -af flats.wad

deutex [OPTIONS] -append incomplete.wad

deutex [OPTIONS] -as sprite.wad

deutex [OPTIONS] -check in.wad

deutex [OPTIONS] -debug [in.gif]

deutex [OPTIONS] -get entry [in.wad]

deutex [OPTIONS] -join incomplete.wad in.wad

deutex [OPTIONS] -make [dirctivs.txt] out.wad

deutex [OPTIONS] -merge in.wad

deutex [OPTIONS] -pkgfx [in.wad [out.txt]]

deutex [OPTIONS] -pknormal [in.wad [out.txt]]

deutex [OPTIONS] -restore

deutex [OPTIONS] -usedidx [in.wad]

deutex [OPTIONS] -usedtex [in.wad]

deutex [OPTIONS] -unused in.wad

deutex [OPTIONS] -wadir [in.wad]

deutex [OPTIONS] -xtract in.wad [dirctivs.txt]

πŸ’– DESCRIPTION πŸ’–

DeuTex is a wad composer for Doom, Heretic, Hexen and Strife. It can be used to extract the lumps of a wad and save them as individual files β€” or do the whole thing in reverse β€” and honestly? Much more. πŸ’…

When it extracts a lump to a file, it does not just copy the raw data. It converts it to an appropriate format (think PPM for graphics, Sun audio for samples, etc.). And conversely, when it reads files for inclusion in pwads, it does the necessary conversions (for example, from PPM to Doom picture format). It's giving bidirectional icon behavior. ✨

🧚 Decomposing a wad

To decompose a wad (i.e. extract its contents), use the -extract command (a.k.a. -xtract). When decomposing a wad, DeuTex creates one file for each lump. The files get created in one of the following subdirectories of the working directory: flats/, lumps/, musics/, patches/, sounds/, sprites/, textures/. The decomposing process also creates a very important file, wadinfo.txt, which will be used later when composing. Do not lose her. πŸŽ€

To extract the contents of the Doom II iwad,

deutex -doom2 /path/to/doom2.wad -xtract

To extract the contents of a Doom II pwad named mywad.wad,

deutex -doom2 /path/to/doom2.wad -xtract mywad.wad

To extract only the sprites,

deutex -doom2 /path/to/doom2.wad -sprites -xtract

To extract only the sounds,

deutex -doom2 /path/to/doom2.wad -sounds -xtract

🌈 Composing (building) a wad

Composing is the symmetrical process, bestie. It's done with the three commands -build, -create and -make, which are all equivalent. Using wadinfo.txt and the files in flats/, lumps/, musics/, patches/, sounds/, sprites/ and textures/, DeuTex creates a new wad. ✨

To create a new pwad named mywad.wad,

deutex -doom2 /path/to/doom2.wad -make mywad.wad

To create a new iwad named mytc.wad,

deutex -doom2 /path/to/doom2.wad -iwad -make mytc.wad

πŸ’€ Other operations

DeuTex has many (too many?) other commands like -join, -merge, -usedtex etc. She's an overachiever, no cap. πŸ‘‘


πŸŽ€ OPTIONS πŸŽ€

  • -?, -h, -help, --help β€” Print list of options. Your basic "help me bestie" move.
  • -syntax β€” Print the syntax of wad creation directives.
  • --version β€” Print version number and exit immediately. Short, sweet, iconic.
  • -unused in.wad β€” Find unused spaces in a wad. Detective mode fr fr. πŸ•΅οΈ
  • -add in.wad out.wad β€” Copy sp & fl of iwad and in.wad to out.wad.
  • -af flats.wad β€” Append all floors/ceilings to the wad.
  • -append io.wad β€” Add sprites & flats of iwad to io.wad.
  • -as sprite.wad β€” Append all sprites to the wad.
  • -build|-create|-make [in.txt] out.wad β€” Make a pwad.
  • -check|-test in.wad β€” Check the textures.
  • -debug [file] β€” Debug color conversion.
  • -extract|-xtract [in.wad [out.txt]] β€” Extract some/all entries from a wad.
  • -get entry [in.wad] β€” Get a wad entry from main wad or in.wad.
  • -join incomplete.wad in.wad β€” Append sprites & flats of Doom to a pwad.
  • -merge in.wad β€” Merge doom.wad and a pwad.
  • -pkgfx [in.wad [out.txt]] β€” Detect identical graphics.
  • -pknormal [in.wad [out.txt]] β€” Detect identical normal.
  • -restore β€” Restore doom.wad and the pwad.
  • -usedidx [in.wad] β€” Color index usage statistics.
  • -usedtex [in.wad] β€” List textures used in all levels.
  • -wadir [in.wad] β€” List and identify entries in a wad.

🌸 General options

  • -overwrite β€” Overwrite all. Zero hesitation, main character energy.
  • -dir dir β€” Extraction directory (default .).

πŸ¦‹ Iwad

  • -doom dir β€” Path to Doom iwad.
  • -doom2 dir β€” Path to Doom II iwad.
  • -doom02 dir β€” Path to Doom alpha 0.2 iwad.
  • -doom04 dir β€” Path to Doom alpha 0.4 iwad.
  • -doom05 dir β€” Path to Doom alpha 0.5 iwad.
  • -doompr dir β€” Path to Doom PR pre-beta iwad.
  • -heretic dir β€” Path to Heretic iwad.
  • -hexen dir β€” Path to Hexen iwad.
  • -strife dir β€” Path to Strife iwad.
  • -strife10 dir β€” Path to Strife 1.0 iwad.

πŸ’œ Wad options

  • -be β€” Assume all wads are big endian (default LE).
  • -deu β€” Add 64k of junk for DEU 5.21 compatibility. Yes, 64k of junk. It's a vibe. πŸ—‘οΈ
  • -george|-s_end β€” Use S_END for sprites, not SS_END.
  • -ibe β€” Input wads are big endian (default LE).
  • -ile β€” Input wads are little endian (default).
  • -ipf code β€” Picture format (alpha, normal, pr; default normal).
  • -itf code β€” Input texture format (nameless, none, normal, strife11; default normal).
  • -itl code β€” Texture lump (none, normal, textures; default normal).
  • -iwad β€” Compose iwad, not pwad.
  • -le β€” Assume all wads are little endian (default).
  • -obe β€” Create big endian wads (default LE).
  • -ole β€” Create little endian wads (default).
  • -otf code β€” Output texture format (nameless, none, normal, strife11; default normal).
  • -pngoffsets β€” Override offsets in WADINFO with offsets contained in PNG metadata
  • -tf code β€” Texture format (nameless, none, normal, strife11; default normal).

⭐ Lump selection

  • -flats β€” Select flats.
  • -graphics β€” Select graphics.
  • -levels β€” Select levels.
  • -lumps β€” Select lumps.
  • -musics β€” Select musics.
  • -patches β€” Select patches.
  • -scripts β€” Select Strife scripts.
  • -sneas β€” Select sneas (sneaps and sneats).
  • -sneaps β€” Select sneaps.
  • -sneats β€” Select sneats.
  • -sounds β€” Select sounds.
  • -sprites β€” Select sprites.
  • -textures β€” Select textures.

🎨 Graphics

  • -bmp β€” Save pictures as BMP (.bmp).
  • -png β€” Save pictures as PNG (.png). Default format.
  • -gif β€” Save pictures as GIF (.gif).
  • -ppm β€” Save pictures as rawbits PPM (P6, .ppm).
  • -rgb r g b β€” Specify the transparent colour (default 0 47 47).

πŸ”Š Sound

  • -rate code β€” Policy for != 11025 Hz (reject, force, warn, accept; default warn).

πŸ“’ Reporting

  • -di name β€” Debug identification of entry.
  • -v0|-v1|-v2|-v3|-v4|-v5 β€” Set verbosity level, default 2.

😭 DIAGNOSTICS 😭

All messages are identified by a unique code. Some messages are identical; the code is useful to distinguish them. All codes have four characters: two letters and two digits. The letters identify the part of the code where the message comes from, the digits give the message number within that area. In general, numbers are assigned so that messages that come from parts of the code that are executed earlier have lower numbers. So like, earlier code = smaller number. Makes sense, bestie. πŸ’…


πŸŽ€ FILES πŸŽ€

  • dir/flats/ β€” When extracting, flats are saved to this directory. When composing, flats are read from this directory.
  • dir/graphics/ β€” When extracting, graphics are saved to this directory. When composing, graphics are read from this directory.
  • dir/levels/ β€” When extracting, levels are saved to this directory. When composing, levels are read from this directory.
  • dir/lumps/ β€” When extracting, lumps are saved to this directory. When composing, lumps are read from this directory.
  • dir/musics/ β€” When extracting, musics are saved to this directory. When composing, musics are read from this directory.
  • dir/patches/ β€” When extracting, patches are saved to this directory. When composing, patches are read from this directory.
  • dir/scripts/ β€” When extracting, Strife scripts are saved to this directory. When composing, Strife scripts are read from this directory.
  • dir/sneaps/ β€” When extracting, Doom alpha sneaps are saved to this directory. When composing, Doom alpha sneaps are read from this directory.
  • dir/sneats/ β€” When extracting, Doom alpha sneats are saved to this directory. When composing, Doom alpha sneats are read from this directory.
  • dir/sounds/ β€” When extracting, sounds are saved to this directory. When composing, sounds are read from this directory.
  • dir/sprites/ β€” When extracting, sprites are saved to this directory. When composing, sprites are read from this directory.
  • dir/textures/texture1.txt β€” The TEXTURE1 lump (all but Doom alpha 0.4 and 0.5).
  • dir/textures/texture2.txt β€” The TEXTURE2 lump (all commercial IWADs except Doom 2).
  • dir/textures/textures.txt β€” The TEXTURES lump (Doom alpha 0.4 and 0.5).
  • dir/tx_start/ β€” Special texture directory for certain engines such as ZDoom. Specifying a positive integer after the name in wadinfo.txt causes no format conversion to be performed (eg, PNGs and BMPs remain as PNGs and BMPs in the WAD), otherwise an attempt to convert to Doom's patch format is done.
  • dir/wadinfo.txt β€” The default master file. πŸ‘‘

🌈 ENVIRONMENT 🌈

  • DOOMWADDIR β€” The directory where the iwad resides. The value of this environment variable is overridden by -main, -doom and friends.

DeuTex is copyright Β© 1994-1995 Olivier Montanuy, copyright Β© 1999-2005 AndrΓ© Majorel, copyright Β© 2006-2021 contributors to DeuTex.

Most of this program is under the GNU General Public License version 2, but some of it is available under other licenses. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See LICENSE for specific information and copyright notices. All trademarks are property of their owners.

πŸ‘‘ AUTHORS πŸ‘‘

Okay so the original author of DeuTex is Olivier Montanuy. From 1994 to 1996, DeuTex was maintained by Olivier Montanuy with help from Per Allansson, James Bonfield, Sharon Bowles, Mark Mathews, and Chuck Rossi. And the original manual? That was written by Kevin McGrail. πŸ’–

From version 4.0 (1999) through 4.4.902 (2005), the maintainer was André Majorel (http://www.teaser.fr/~amajorel). ✨

And since then? The project has been maintained by a loose collaboration of authors, primarily as part of the Debian project and the Freedoom project. That lineup includes Jon Dowland, Simon Howard, Mike Swanson, RjY, Ayub Ahmed, and Nick Zatkovich. The way this thing has been passed down like a sacred heirloom for decades fr fr 🫢


πŸ› REPORTING BUGS πŸ›

Found a bug? Please report bugs to the issue tracker at:

https://github.com/Doom-Utils/deutex

That's the spot. Go tell them. Not me. Them. πŸ˜­πŸ‘‘


And that's the whole page bestie!! πŸ’… This was the DEUTEX(6) manual page β€” the source/version on the footer, dated 01/16/2026. Slay, go make some WADs, ily πŸŽ€βœ¨πŸ¦‹
πŸ“¦ where this page comes from