Latest Release:

Requires Java 1.8 or better.

To update, from version 2021-09-21 and later, you can update DoomTools at the command prompt by typing:

doomtools --update

A more thorough update line:

doomtools --update && doomtools --update-cleanup && doomtools --update-shell

To install, unzip/untar the release to its own directory, and then add that directory to the list of directories in your PATH environment variable.

OR, optionally, if you use Windows: Use one of the provided Windows Installers, which will do that stuff automatically! You can even download a version that contains a minified Java Runtime Environment so that you don't need to install Java separately.


What is (or are) DoomTools?

DoomTools is a set of command-line utilities for building projects or for other things related to Doom Engine games. Lots of useful stuff. You're probably here for DoomMake, DECOHack, or WadMerge, though.

You can even use DoomTools (and specifically DoomMake) to build your projects via some kind of Continuous Integration solution. Be the nerd you want to see in the world!


You said these tools need Java?

Yup. DoomTools requires Java, and is built on the DoomStruct library, also made by the guy who made these tools! You can run them anywhere!


But I hate Java!

Horsefeathers. You know you installed Minecraft at some point! That thing was practically the only reason anybody installed a JVM in the past decade or two!


But I hate Oracle!

Yeah, me too. Luckily, other JDKs exist, like Azul Zulu (OpenJDK) or OpenJDK Builds from Microsoft! Fully compatible with DoomTools - DoomTools was built and tested in OpenJDK. Or, you can use one of the installers that embed Java into DoomTools. Easy-peasy!


What sorts of utilities are there?

I'm glad you asked! There's a whole bunch of them!

DoomTools — A program that just displays info about the toolset that you are using (or manage other things, in the future).

DecoHack — A utility that uses a DECORATE-like language scheme for creating DeHackEd patches.

DImgConv — A utility that bulk converts images to Doom formats.

DMXConv — A utility that converts all sorts of sounds to DMX digital sounds using either the Java SPI or FFmpeg.

DoomFetch — A utility that fetches WAD files from different sources. Can serve as a dependency manager.

DoomMake — A project build utility that is agnostic to all operating systems (for the most part).

WadMerge — A utility that performs Script-based WAD compilation and merging.

WSwAnTbl — A utility that reads DEFSWANI/SWANTBLS data files and compiles it into ANIMATED and SWITCHES lumps. Can also export a set of ANIMATED and SWITCHES lumps to a definition file.

WadTex — A utility that reads a DEUTEX-style texture file and imports it into a WAD file as TEXTUREx and PNAMES lumps. Can also export TEXTUREx/PNAMES in the same way.

WTexScan — A utility that scans maps in a WAD and outputs a list of found textures and flats, suitable for import into the next program...

WTEXport — A utility that exports textures from one WAD into another, including associated ANIMATED and SWITCHES textures.

WadScript — A scripting system for doing practically anything with Doom stuff. Also includes Rookscript, a subset script.