'\" t .\" Title: deutex .\" Author: [see the "AUTHORS" section] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 01/02/2021 .\" Manual: \ \& .\" Source: \ \& .\" Language: English .\" .TH "DEUTEX" "6" "01/02/2021" "\ \&" "\ \&" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" deutex \- do things with wad files .SH "SYNOPSIS" .sp \fBdeutex\fR \fB\-?\fR|\fB\-h\fR|\fB\-help\fR|\fB\-\-help\fR .sp \fBdeutex\fR \fB\-\-version\fR .sp \fBdeutex\fR [\fIOPTIONS\fR] \fB\-add\fR \fIincomplete\&.wad\fR \fIout\&.wad\fR .sp \fBdeutex\fR [\fIOPTIONS\fR] \fB\-af\fR \fIflats\&.wad\fR .sp \fBdeutex\fR [\fIOPTIONS\fR] \fB\-append\fR \fIincomplete\&.wad\fR .sp \fBdeutex\fR [\fIOPTIONS\fR] \fB\-as\fR \fIsprite\&.wad\fR .sp \fBdeutex\fR [\fIOPTIONS\fR] \fB\-check\fR \fIin\&.wad\fR .sp \fBdeutex\fR [\fIOPTIONS\fR] \fB\-debug\fR [\fIin\&.gif\fR] .sp \fBdeutex\fR [\fIOPTIONS\fR] \fB\-get\fR \fIentry\fR [\fIin\&.wad\fR] .sp \fBdeutex\fR [\fIOPTIONS\fR] \fB\-join\fR \fIincomplete\&.wad\fR \fIin\&.wad\fR .sp \fBdeutex\fR [\fIOPTIONS\fR] \fB\-make\fR [\fIdirctivs\&.txt\fR] \fIout\&.wad\fR .sp \fBdeutex\fR [\fIOPTIONS\fR] \fB\-merge\fR \fIin\&.wad\fR .sp \fBdeutex\fR [\fIOPTIONS\fR] \fB\-pkgfx\fR [\fIin\&.wad\fR [\fIout\&.txt\fR]] .sp \fBdeutex\fR [\fIOPTIONS\fR] \fB\-pknormal\fR [\fIin\&.wad\fR [\fIout\&.txt\fR]] .sp \fBdeutex\fR [\fIOPTIONS\fR] \fB\-restore\fR .sp \fBdeutex\fR [\fIOPTIONS\fR] \fB\-usedidx\fR [\fIin\&.wad\fR] .sp \fBdeutex\fR [\fIOPTIONS\fR] \fB\-usedtex\fR [\fIin\&.wad\fR] .sp \fBdeutex\fR [\fIOPTIONS\fR] \fB\-unused\fR \fIin\&.wad\fR .sp \fBdeutex\fR [\fIOPTIONS\fR] \fB\-wadir\fR [\fIin\&.wad\fR] .sp \fBdeutex\fR [\fIOPTIONS\fR] \fB\-xtract\fR \fIin\&.wad\fR [\fIdirctivs\&.txt\fR] .SH "DESCRIPTION" .sp 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 the reverse, and much more\&. .sp When extracting a lump to a file, it does not just copy the raw data, it converts it to an appropriate format (such as PPM for graphics, Sun audio for samples, etc\&.)\&. Conversely, when it reads files for inclusion in pwads, it does the necessary conversions (for example, from PPM to Doom picture format)\&. .SS "Decomposing a wad" .sp To decompose a wad (i\&.e\&. extract its contents), use the \fB\-extract\fR (a\&.k\&.a\&. \fB\-xtract\fR) command\&. When decomposing a wad, DeuTex creates one file for each lump\&. The files are created in one of the following subdirectories of the working directory: \fBflats/\fR, \fBlumps/\fR, \fBmusics/\fR, \fBpatches/\fR, \fBsounds/\fR, \fBsprites/\fR, \fBtextures/\fR\&. The decomposing process also creates a very important file, \fBwadinfo\&.txt\fR, which will be used later when composing\&. .sp To extract the contents of the Doom II iwad, .sp .if n \{\ .RS 4 .\} .nf deutex \-doom2 /path/to/doom2\&.wad \-xtract .fi .if n \{\ .RE .\} .sp To extract the contents of a Doom II pwad named mywad\&.wad, .sp .if n \{\ .RS 4 .\} .nf deutex \-doom2 /path/to/doom2\&.wad \-xtract mywad\&.wad .fi .if n \{\ .RE .\} .sp To extract only the sprites, .sp .if n \{\ .RS 4 .\} .nf deutex \-doom2 /path/to/doom2\&.wad \-sprites \-xtract .fi .if n \{\ .RE .\} .sp To extract only the sounds, .sp .if n \{\ .RS 4 .\} .nf deutex \-doom2 /path/to/doom2\&.wad \-sounds \-xtract .fi .if n \{\ .RE .\} .SS "Composing (building) a wad" .sp Composing is the symmetrical process\&. It\(cqs done with the three commands \fB\-build\fR, \fB\-create\fR and \fB\-make\fR, that are equivalent\&. Using \fBwadinfo\&.txt\fR and the files in \fBflats/\fR, \fBlumps/\fR, \fBmusics/\fR, \fBpatches/\fR, \fBsounds/\fR, \fBsprites/\fR and \fBtextures/\fR, DeuTex creates a new wad\&. .sp To create a new pwad named mywad\&.wad, .sp .if n \{\ .RS 4 .\} .nf deutex \-doom2 /path/to/doom2\&.wad \-make mywad\&.wad .fi .if n \{\ .RE .\} .sp To create a new iwad named mytc\&.wad, .sp .if n \{\ .RS 4 .\} .nf deutex \-doom2 /path/to/doom2\&.wad \-iwad \-make mytc\&.wad .fi .if n \{\ .RE .\} .SS "Other operations" .sp DeuTex has many (too many?) other commands like \fB\-join\fR, \fB\-merge\fR, \fB\-usedtex\fR etc\&. .SH "OPTIONS" .SS "Modal options not requiring an iwad" .PP \fB\-?\fR, \fB\-h\fR, \fB\-help\fR, \fB\-\-help\fR .RS 4 Print list of options\&. .RE .PP \fB\-syntax\fR .RS 4 Print the syntax of wad creation directives\&. .RE .PP \fB\-\-version\fR .RS 4 Print version number and exit immediately\&. .RE .PP \fB\-unused\fR \fIin\&.wad\fR .RS 4 Find unused spaces in a wad\&. .RE .SS "Modal options requiring an iwad" .PP \fB\-add\fR \fIin\&.wad\fR \fIout\&.wad\fR .RS 4 Copy sp & fl of iwad and \fIin\&.wad\fR to \fIout\&.wad\fR\&. .RE .PP \fB\-af\fR \fIflats\&.wad\fR .RS 4 Append all floors/ceilings to the wad\&. .RE .PP \fB\-append\fR \fIio\&.wad\fR .RS 4 Add sprites & flats of iwad to io\&.wad\&. .RE .PP \fB\-as\fR \fIsprite\&.wad\fR .RS 4 Append all sprites to the wad\&. .RE .PP \fB\-build\fR|\fB\-create\fR|\fB\-make\fR [\fIin\&.txt\fR] \fIout\&.wad\fR .RS 4 Make a pwad\&. .RE .PP \fB\-check\fR|\fB\-test\fR \fIin\&.wad\fR .RS 4 Check the textures\&. .RE .PP \fB\-debug\fR [\fIfile\fR] .RS 4 Debug color conversion\&. .RE .PP \fB\-extract\fR|\fB\-xtract\fR [\fIin\&.wad\fR [\fIout\&.txt\fR]] .RS 4 Extract some/all entries from a wad\&. .RE .PP \fB\-get\fR \fIentry\fR [\fIin\&.wad\fR] .RS 4 Get a wad entry from main wad or in\&.wad\&. .RE .PP \fB\-join\fR \fIincomplete\&.wad\fR \fIin\&.wad\fR .RS 4 Append sprites & flats of Doom to a pwad\&. .RE .PP \fB\-merge\fR \fIin\&.wad\fR .RS 4 Merge doom\&.wad and a pwad\&. .RE .PP \fB\-pkgfx\fR [\fIin\&.wad\fR [\fIout\&.txt\fR]] .RS 4 Detect identical graphics\&. .RE .PP \fB\-pknormal\fR [\fIin\&.wad\fR [\fIout\&.txt\fR]] .RS 4 Detect identical normal\&. .RE .PP \fB\-restore\fR .RS 4 Restore doom\&.wad and the pwad\&. .RE .PP \fB\-usedidx\fR [\fIin\&.wad\fR] .RS 4 Color index usage statistics\&. .RE .PP \fB\-usedtex\fR [\fIin\&.wad\fR] .RS 4 List textures used in all levels\&. .RE .PP \fB\-wadir\fR [\fIin\&.wad\fR] .RS 4 List and identify entries in a wad\&. .RE .SS "General options" .PP \fB\-overwrite\fR .RS 4 Overwrite all\&. .RE .PP \fB\-dir\fR \fIdir\fR .RS 4 Extraction directory (default \&.)\&. .RE .SS "Iwad" .PP \fB\-doom\fR \fIdir\fR .RS 4 Path to Doom iwad\&. .RE .PP \fB\-doom2\fR \fIdir\fR .RS 4 Path to Doom II iwad\&. .RE .PP \fB\-doom02\fR \fIdir\fR .RS 4 Path to Doom alpha 0\&.2 iwad\&. .RE .PP \fB\-doom04\fR \fIdir\fR .RS 4 Path to Doom alpha 0\&.4 iwad\&. .RE .PP \fB\-doom05\fR \fIdir\fR .RS 4 Path to Doom alpha 0\&.5 iwad\&. .RE .PP \fB\-doompr\fR \fIdir\fR .RS 4 Path to Doom PR pre\-beta iwad\&. .RE .PP \fB\-heretic\fR \fIdir\fR .RS 4 Path to Heretic iwad\&. .RE .PP \fB\-hexen\fR \fIdir\fR .RS 4 Path to Hexen iwad\&. .RE .PP \fB\-strife\fR \fIdir\fR .RS 4 Path to Strife iwad\&. .RE .PP \fB\-strife10\fR \fIdir\fR .RS 4 Path to Strife 1\&.0 iwad\&. .RE .SS "Wad options" .PP \fB\-be\fR .RS 4 Assume all wads are big endian (default LE)\&. .RE .PP \fB\-deu\fR .RS 4 Add 64k of junk for DEU 5\&.21 compatibility\&. .RE .PP \fB\-george\fR|\fB\-s_end\fR .RS 4 Use \fBS_END\fR for sprites, not \fBSS_END\fR\&. .RE .PP \fB\-ibe\fR .RS 4 Input wads are big endian (default LE)\&. .RE .PP \fB\-ile\fR .RS 4 Input wads are little endian (default)\&. .RE .PP \fB\-ipf\fR \fIcode\fR .RS 4 Picture format (\fBalpha\fR, \fBnormal\fR, \fBpr\fR; default normal)\&. .RE .PP \fB\-itf\fR \fIcode\fR .RS 4 Input texture format (\fBnameless\fR, \fBnone\fR, \fBnormal\fR, \fBstrife11\fR; default normal)\&. .RE .PP \fB\-itl\fR \fIcode\fR .RS 4 Texture lump (\fBnone\fR, \fBnormal\fR, \fBtextures\fR; default normal)\&. .RE .PP \fB\-iwad\fR .RS 4 Compose iwad, not pwad\&. .RE .PP \fB\-le\fR .RS 4 Assume all wads are little endian (default)\&. .RE .PP \fB\-obe\fR .RS 4 Create big endian wads (default LE)\&. .RE .PP \fB\-ole\fR .RS 4 Create little endian wads (default)\&. .RE .PP \fB\-otf\fR \fIcode\fR .RS 4 Output texture format (\fBnameless\fR, \fBnone\fR, \fBnormal\fR, \fBstrife11\fR; default normal)\&. .RE .PP \fB\-pngoffsets\fR .RS 4 Override offsets in WADINFO with offsets contained in PNG metadata .RE .PP \fB\-tf\fR \fIcode\fR .RS 4 Texture format (\fBnameless\fR, \fBnone\fR, \fBnormal\fR, \fBstrife11\fR; default normal)\&. .RE .SS "Lump selection" .PP \fB\-flats\fR .RS 4 Select flats\&. .RE .PP \fB\-graphics\fR .RS 4 Select graphics\&. .RE .PP \fB\-levels\fR .RS 4 Select levels\&. .RE .PP \fB\-lumps\fR .RS 4 Select lumps\&. .RE .PP \fB\-musics\fR .RS 4 Select musics\&. .RE .PP \fB\-patches\fR .RS 4 Select patches\&. .RE .PP \fB\-scripts\fR .RS 4 Select Strife scripts\&. .RE .PP \fB\-sneas\fR .RS 4 Select sneas (sneaps and sneats)\&. .RE .PP \fB\-sneaps\fR .RS 4 Select sneaps\&. .RE .PP \fB\-sneats\fR .RS 4 Select sneats\&. .RE .PP \fB\-sounds\fR .RS 4 Select sounds\&. .RE .PP \fB\-sprites\fR .RS 4 Select sprites\&. .RE .PP \fB\-textures\fR .RS 4 Select textures\&. .RE .SS "Graphics" .PP \fB\-bmp\fR .RS 4 Save pictures as BMP (\fB\&.bmp\fR)\&. .RE .PP \fB\-png\fR .RS 4 Save pictures as PNG (\fB\&.png\fR)\&. Default format\&. .RE .PP \fB\-gif\fR .RS 4 Save pictures as GIF (\fB\&.gif\fR)\&. .RE .PP \fB\-ppm\fR .RS 4 Save pictures as rawbits PPM (P6, \fB\&.ppm\fR)\&. .RE .PP \fB\-rgb\fR \fIr\fR \fIg\fR \fIb\fR .RS 4 Specify the transparent colour (default 0 47 47)\&. .RE .SS "Sound" .PP \fB\-rate\fR \fIcode\fR .RS 4 Policy for != 11025 Hz (\fBreject\fR, \fBforce\fR, \fBwarn\fR, \fBaccept\fR; default warn)\&. .RE .SS "Reporting" .PP \fB\-di\fR \fIname\fR .RS 4 Debug identification of entry\&. .RE .PP \fB\-v0\fR|\fB\-v1\fR|\fB\-v2\fR|\fB\-v3\fR|\fB\-v4\fR|\fB\-v5\fR .RS 4 Set verbosity level, default 2\&. .RE .SH "DIAGNOSTICS" .sp 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\&. .SH "FILES" .PP \fIdir\fR\fB/flats/\fR .RS 4 When extracting, flats are saved to this directory\&. When composing, flats are read from this directory\&. .RE .PP \fIdir\fR\fB/graphics/\fR .RS 4 When extracting, graphics are saved to this directory\&. When composing, graphics are read from this directory\&. .RE .PP \fIdir\fR\fB/levels/\fR .RS 4 When extracting, levels are saved to this directory\&. When composing, levels are read from this directory\&. .RE .PP \fIdir\fR\fB/lumps/\fR .RS 4 When extracting, lumps are saved to this directory\&. When composing, lumps are read from this directory\&. .RE .PP \fIdir\fR\fB/musics/\fR .RS 4 When extracting, musics are saved to this directory\&. When composing, musics are read from this directory\&. .RE .PP \fIdir\fR\fB/patches/\fR .RS 4 When extracting, patches are saved to this directory\&. When composing, patches are read from this directory\&. .RE .PP \fIdir\fR\fB/scripts/\fR .RS 4 When extracting, Strife scripts are saved to this directory\&. When composing, Strife scripts are read from this directory\&. .RE .PP \fIdir\fR\fB/sneaps/\fR .RS 4 When extracting, Doom alpha sneaps are saved to this directory\&. When composing, Doom alpha sneaps are read from this directory\&. .RE .PP \fIdir\fR\fB/sneats/\fR .RS 4 When extracting, Doom alpha sneats are saved to this directory\&. When composing, Doom alpha sneats are read from this directory\&. .RE .PP \fIdir\fR\fB/sounds/\fR .RS 4 When extracting, sounds are saved to this directory\&. When composing, sounds are read from this directory\&. .RE .PP \fIdir\fR\fB/sprites/\fR .RS 4 When extracting, sprites are saved to this directory\&. When composing, sprites are read from this directory\&. .RE .PP \fIdir\fR\fB/textures/texture1\&.txt\fR .RS 4 The \fBTEXTURE1\fR lump (all but Doom alpha 0\&.4 and 0\&.5)\&. .RE .PP \fIdir\fR\fB/textures/texture2\&.txt\fR .RS 4 The \fBTEXTURE2\fR lump (all commercial IWADs except Doom 2)\&. .RE .PP \fIdir\fR\fB/textures/textures\&.txt\fR .RS 4 The \fBTEXTURES\fR lump (Doom alpha 0\&.4 and 0\&.5)\&. .RE .PP \fIdir\fR\fB/tx_start/\fR .RS 4 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\(cqs patch format is done\&. .RE .PP \fIdir\fR\fB/wadinfo\&.txt\fR .RS 4 The default master file\&. .RE .SH "ENVIRONMENT" .PP \fBDOOMWADDIR\fR .RS 4 The directory where the iwad resides\&. The value of this environment variable is overridden by \fB\-main\fR, \fB\-doom\fR and friends\&. .RE .SH "COPYRIGHT" .sp DeuTex is copyright \(co 1994\-1995 Olivier Montanuy, copyright \(co 1999\-2005 André Majorel, copyright \(co 2006\-2019 contributors to DeuTex\&. .sp 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\&. .SH "AUTHORS" .sp 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\&. The original manual was written by Kevin McGrail\&. .sp From version 4\&.0 (1999) through 4\&.4\&.902 (2005), the maintainer was André Majorel (http://www\&.teaser\&.fr/~amajorel)\&. .sp The project has since been maintained by a loose collaboration of authors primarily as part of the Debian project and Freedoom project\&. They include Jon Dowland, Simon Howard, Mike Swanson, RjY, Ayub Ahmed, and Nick Zatkovich\&. .SH "REPORTING BUGS" .sp Please report bugs to the issue tracker at https://github\&.com/Doom\-Utils/deutex\&.