The second version of TEXtract, WTEXport is a utility that extracts a set of flats and textures from a source WAD and adds the extracted textures to a new WAD or an existing WAD, using the output piped in from WTexScan. Also uses ANIMATED/SWITCHES in order to figure out extra textures to copy over to complete full sets.
wtexscan maps.wad | wtexport texturepack.wad --base-wad doom2.wad --output maps.wad --add wtexscan maps.wad | wtexport texturepack.wad --base-wad doom2.wad --output mapstex.wad --create
It has some limitations though - doesn't read ANIMDEFS yet. In that case you may be better off doing things more manually via WadTex.
WTEXport v1.6.0 by Matt Tropiano (using DoomStruct v2.17.0) Usage: wtexport [--help | -h | --version] [files] --base-wad [base] --output [target] [--create | --add] [switches] --help Prints help and exits. -h --version Prints version, and exits. --changelog Prints the changelog, and exits. --gui Starts the GUI version of this program. --gui-wtexscan Starts the GUI version of this program that also uses WTexScan to generate the list. [files]: <filenames> A valid WAD file (that contains the textures to extract). Accepts wildcards for multiple WAD files. --base-wad [base] The WAD file to use for reference for extraction. -b [base] Any texture resources found in this file are NOT extracted, except for the TEXTUREx and PNAMES lumps to use as a base. (Usually an IWAD) --output [wad] The output WAD file. -o [wad] --create If specified, the specified output WAD file is -c created, TEXTUREx and PNAMES lumps are overwritten, and the extracted contents are APPENDED to it. If the output file already exists, it is replaced COMPLETELY (be careful)! --add If specified, if the output WAD exists, the target's -a TEXTUREx and PNAMES lumps are overwritten, and the extracted contents are APPENDED to it. If the WAD does not exist, it is created. [switches]: --null-texture [tex] If specified, the next argument is the null texture that is always sorted first. --no-animated If specified, do not include other textures in a texture's animation sequence, and ignore ANIMATED lumps. --no-switches If specified, do not include other textures in a texture's switch sequence, and ignore SWITCHES lumps. Input List ========== The input list of textures and flats are a newline-separated list read from STDIN, with the texture and flat list separated by ":textures" and ":flats" entries, terminated by ":end". Blank lines and lines prefixed with "#" are ignored. Example: :textures GRENWAL1 GRENWAL2 GRENWAL3 GRENWAL4 RAILING XXMETL02 XXMETL03 :flats # This is a comment. ICHOR01 ICHOR02 ICHOR03 ICHOR04 :end The utility WTEXSCAN already produces a list formatted this way.
### Changed for 1.6.0 * `Fixed` Some new textures that "existed" but had different patch ordering or no new patches were not copied over. (Issue #118) ### Changed for 1.5.4 * `Fixed` Some texture sets were being erroneously classified as STRIFE-formatted texture sets due to a typo. ### Changed for 1.5.3 * `Fixed` [GUI] Added message for requiring an output WAD file. ### Changed for 1.5.2 * `Fixed` [GUI] Texture list was not set properly from workspace state. (Issue #104) ### Changed for 1.5.1 * `Fixed` Textures can also be entry names. (Issue #96) ### Changed for 1.5.0 * `Fixed` Textures/Flats in ANIMATED were added in an incorrect order if the provided texture/flat was not the start of an animation loop. (Issue #75) * `Added` More output info during the extraction process. * `Added` The GUI version of WTEXport. * `Changed` Removed some potential sorts that could ruin things. ### Changed for 1.4.0 * `Fixed` Textures added via ANIMATED searching did not also check for SWITCHES pairings. ### Changed for 1.3.0 * `Fixed` Better support for texture WADs missing a TEXTURE1 lump (but having a TEXTURE2). ### Changed for 1.2.0 * `Fixed` A botched flat and namespace-texture ordering procedure that potentially messed up animations. ### Changed for 1.1.0 * `Changed` Removed an unnecessary sort step that butchered that Animation handling in flats and textures. * `Changed` Added some needed help. ### Changed for 1.0.0 * Initial Release.