DOOMEX - DOOM Resource Export Utility Version 1.0 as of 9/1/94 NOTICE: The author of DOOMEX, DOOMIM, and DOOMCV will not be held responsible for damage or problems that may occur through use of this software. You accept full responsibility for the consequences of using this software. DOOMEX is part of a collection of 3 utilities used to import, export, and convert the resource objects in any DOOM WAD file. The other 2 programs in this set are DOOMCV, for converting modified data files (PCX, WAV, MUS, and MAP) into raw DOOM resource image files (DRI), prior to reinsertion to a WAD file, and DOOMIM, the batch import utility. DOOMEX is very simple and very plain. Its job is to extract resources from a WAD file and convert the data as necessary into individual files. DOOMEX makes no assumptions about the WAD file, whether it is a PWAD or IWAD, or whether it is from DOOM or DOOM II. The extracted files can be passed onto some editing program(s), modifed and then reinserted into an existing WAD file or a new patch WAD file using DOOMCV and DOOMIM. DOOMEX assumes some knowledge of the entries in the WAD file. For example, you should be aware that entries that begin with DS are sound sample resources, entries that begin with D_ are music resources, and entries contained between x_START and x_END zero length entries can be floor/ceiling textures, sprites, or wall patches (raw graphic resources). If you wish to work with level data, editors such as DEU, DOOMCAD, and DOOMED will work directly with the resource entries for any level. DOOMEX will export map level entries as numeric matrices with an extenstion of .MAP. You can edit MAP files like any other DOS text file, and then reinsert the MAP files back into the WAD file. DOOMEX does not identify any WAD entry name with a formal description (such as using "Spider Demon" to identify WAD entry SPIDA1D1). This ensures that new or unknown WAD entries won't confuse DOOMEX. DOOMEX comes with a small data file called DOOMEX.PAL. This is the default DOOM color palette using when generating PCX files. If you don't have this file, use the following procedure to generate the file: doomex doom.wad playpal ren playpal.dri doomex.pal Don't worry about the file size of the PLAYPAL entry. DOOMEX only needs the first 768 bytes of data. DOOMEX Calling Syntax: DOOMEX [-q] [-c] [-t] [-l[File Name]] [-m] [Entry Name] [Location] 1. Option -q will suppress all screen echoing during execution. 2. Option -c will convert specific entries to an appropriate external format. If the directory entry is a sound resource, the output file will be stored as a .WAV file. If the directory entry is a music resource, the output file will be stored as a .MUS file. If the directory entry is bounded within a sprite (S_START/E_END) area, a wall patch area (P_START/P_END) or a floor/ceiling texture area (F_START/F_END), the resource will be stored as a .PCX file. If the graphic resource is NOT a floor/ceiling texture, another file will be created with an extension of .DGH (DOOM graphic header). This file contains the width, height, left, and top offsets (insertion point) in a 1 line DOS text file. You MUST have this file available for conversion of the graphic using DOOMCV. You only need to modify the insertion point (top/left offset) if you change the graphic size. Like the program DMGRAPH, transparent areas will be shown with palette entry 247, which is set to CYAN (R=0,G=255,B=255) unless you override this with the -t option (see below). If the directory entry does not fit any of the above formats, then the resource will be stored as a PCX file ONLY if a valid image header in the resource can be located. WARNING! the check for whether a resource is an image or just some arbitrary data (such as PLAYPAL) is not bulletproof. Make SURE you know that a resource is a graphic image before using the -c option (if the resource falls within the sprite or texture entry areas, you can be sure that a proper PCX file will be generated). If you specify a map entry for exporting (i.e. E1M1), then the 10 associated resources for that level (THINGS, SIDEDEFS, LINEDEFS, SECTORS, SSECTORS, NODES, REJECT, BLOCKMAP, VERTEXES, SEGS) will be dumped as numeric matrices in a file with an extension of MAP. The size of this file may be incredibly large (i.e. E2M7 will be more than half a megabyte in size). If you want to look at or edit this map file, you may choose to do so, but with many easy to use level editors available for changing this information, you'd be better off not modifying the MAP file. If you do NOT use option -c, then all entries will be dumped as raw image resource files with an extension of .DRI. This is the format DOOMIM needs for reinsertion of resources into a WAD file. The file size and contents will be exactly as they appear in the WAD file. 3. Option -t will cause the transparent color in the DOOM color palette to remain black when an image is stored in a PCX file. Without using the -t option, the transparent color will be changed to cyan so that you can see what areas of an image show through. 4. Option -l will dump entries in the WAD file to a file that immediately follows the -l parameter (i.e. use '-ldoomdir.txt', not '-l doomdir.txt'). No export function will be performed in this case. If you do not specify a directory entry, the entire WAD directory will be dumped. If you do not specify a file name, the entries will be listed to the screen. 5.Option -m will enable the entry name to be used as a wild card match string. Matching is done from the first position of a WAD entry name. For example to extract all player image data, use doomex -c -m doom.wad play Since player sprites start with a 4 character prefix of 'PLAY', all player sprites are extracted. As another example, to export all sound samples in a WAD file, use the syntax: doomex -m doom.wad ds Thus, the -m parameter permits you to perform a batch operation on multiple related resource objects at one time. 6. The location parameter can be used to extract entries that have the same name (i.e. THINGS entries can occur more than once in a wad). Use the starting location that is provided in the listing generated with the -l option. You will rarely, if ever, need to specify the location of the resource. 7. Exported resources will contain the same name as the directory entry, unless the entry uses illegal DOS file characters, in which case a warning will be given. You can override the naming of the exported file name by following the WAD entry name with a colon and the file name (NO extension). Example: doomex -c doom.wad spida1d1:spider This example will generate 2 files: spider.pcx and spider.dgh. The override mechansim is NOT valid when extracting a batch of files using the -m option. Some examples of using DOOMEX follow: doomex -ldoomdir.txt doom.wad (list entire wad file to doomdir.txt) doomex -m -c doom.wad d_ (export all music resources and convert to MUS format) doomex -t -m -c doom.wad boss (export all BOSS sprites as PCX files, don't change transparent color) doomex doom.wad playpal (export PLAYPAL as PLAYPAL.DRI) doomex -m -c doom.wad f_ doomex -m -c doom.wad s_ doomex -m -c doom.wad p_ (export ALL floor textures, sprites, wall patches as PCX files, respectively) Comments/Suggestions to: Alan Peters 5475 Turney Drive Mississauga, Ontario Canada L5M 1A3