It can be downloaded here. For more information, see the readme, or check out the Making textures with WadMaker tutorial.
These command-line tools can turn a directory full of images into a Half-Life wad file or into a directory full of sprites - just drag the directory onto the right tool. They can also extract textures from wad and bsp files, remove embedded textures from bsp files and convert sprites back into images.
WadMaker and SpriteMaker directly support png, jpg, gif, bmp and tga files, as well as Photoshop (psd, psb) and Krita files (kra, ora), and can be configured to call external conversion tools for other formats (example configurations for Gimp and Aseprite files are included). Both tools will automatically create a suitable 256-color palette for each texture or sprite. They will also apply a limited form of dithering, which can be disabled if necessary. For transparent textures and sprites, the alpha channel of the input image is compared against a configurable threshold, but it is also possible to treat a specific input color as transparent. For water textures, the fog color and intensity are derived from the image itself, but they can also be specified explicitly. Texture-specific settings can be overridden with a plain-text wadmaker.config file in the images directory. Common sprite settings such as orientation and texture format can be set within filenames, other settings can be overridden with a spritemaker.config file.
Why did I make these tools? First, I was investigating the various Half-Life file formats anyway. Second, I wanted a faster workflow than Wally and Half-Life Texture Tools (for me, running a batch file is faster than opening a GUI tool, dragging files around, saving a wad file, and closing the GUI tool). And finally, investigating various approaches to color quantization and dithering, and reading up on color spaces and color perception turned out to be very interesting.
Changes in v1.2:
SpriteMaker:
- Workflow: converts directories full of images to directories full of sprites, similar to how WadMaker works. Can also convert sprites back to images.
- Efficiency: only modified files and settings are processed.
- Configuration: common settings like sprite orientation and texture format can be configured within an image's filename. Other settings can be specified in spritemaker.config files.
- Flexibility: accepts various image formats (png, jpg, gif, bmp, tga), Photoshop files (psd, psb) and Krita files (kra, ora). Input images can be true-color and can contain transparency, SpriteMaker will automatically generate a suitable palette. Support for other file formats can be enabled with converter rules (a global spritemaker.config file with example rules for Gimp and Aseprite files is provided).
- Animation: animated sprites can be created with numbered image sequences, spritesheets and/or gif files.
New features/changes:
- Added support for a global configuration file (a wadmaker.config file in the executable's directory). Global rules always apply, unless overridden by a local config file.
- The provided global config file contains example rules for converting Gimp and Aseprite files and instructions on how to enable them.
- Custom converters are no longer forced to output png files, the output file extension must now be specified in the converter arguments.
- Custom converters can now also use {input_escaped} and {output_escaped} placeholders, for when backslashes need to be escaped.
- Fixed a problem where processing transparent images with very little color variation could fail with an 'At least one color must be provided.' error.
- Fixed that the dither-scale setting was not parsed correctly, so it could only effectively be set to 0 or 1.
- Fixed that WadMaker would fail to create a wad file if the output directory did not exist.
- Fixed that mipmaps were not extracted correctly.
- Fixed some cases where WadMaker would fail to create a log file or a directory.
Changes in v1.1:
WadMaker:
New features:
- Added support for Photoshop files (.psd, .psb) that have been saved with 'maximize compatibility' enabled.
- Added support for Krita (.kra) and OpenRaster (.ora) files.
- Added support for creating and extracting decal wad files (decals.wad).
- Updated the wadmaker.config system to apply all matching rules (with more specific rules overriding less specific ones).
- Console output is now logged to a file (only in create-wad mode). This can be disabled with a command-line option.
- Fixed that removing an image with an uppercase name would cause updating a wad file to fail.
- Fixed that water color was accidentally black by default.