Spraymaker 2
Spraymaker 2 is an improved version and complete rewrite of Spraymaker5000. It is open source software published on GitHub under the GNU GPLv3.0 license. The code is written in C++23 with the Qt framework, and uses CMake for building. It runs on both Linux and Windows, and might run on OSX, too, if somebody feels like trying that out.
It uses libvips, FFMpeg, and crnlib to handle the loading, processing, and conversion of the images.
Inspiration
The original Spraymaker5000 version 1’s code was terrible, and its reliance on external binaries was also not great. I sought to bring the dependencies into the build as libraries rather than binaries for performance, and to improve the overall code quality and robustness.
Features
Spraymaker 2 has an easy to use click-and-drag GUI. Simply drag the image files directly into the program and it’ll handle the rest.
Spraymaker 2 can…
- Make high quality 1024x1020 pixel sprays
- Make animated sprays
- Make fading (custom mipmap) sprays
- Make animated fading sprays
- Autocrop input images
- Automatically choose the maximum possible resolution for the given number of frames, mipmaps, and output image format
- Import many image formats including: PNG, JPEG, WEBP, BMP, TIFF, …
- Import many animated formats including: GIF, WEBM, OGV, MKV, AVI, MP4, …
- Install sprays directly into games
Why not VTFEdit?
VTFEdit is intended for creating textures rather than sprays. While sprays are indeed just textures, the use-case for VTFEdit doesn’t jive well with doing weird and unexpected things, or rapidly making many textures from arbitrary inputs.
VTFEdit is limited to resolutions which are powers of 2 (128, 256, 512, 1024, etc.) Spraymaker can make sprays of any supported resolution which allows it to produce higher resolution results in most cases. As an example, the maximum possible resolution that VTFEdit can produce for a spray using the DXT1A image format is 512x512 pixels. This is because doing 1024x1024 pixels would go over the 512 KiB filesize limit on sprays. Spraymaker can do arbitrary resolutions, so it can produce a 1024x1020 pixel texture, which gives a higher quality result and doesn’t go over the 512 KiB filesize limit.
Download
Currently I don’t have a properly portable build for Linux, so you’ll have to compile it yourself. Sorry about that… blame glibc and dynamic linking paradigms, I guess. The Windows binary works on Linux via Wine.
Download Spraymaker for Windows: version 2.0.2.
Download Spraymaker for Linux: Sorry, no download yet!
But I don’t want to download anything!
There’s a nifty open source web-based VTF creation tool!
https://mishcatt.github.io/VTF-Editor/
Source Code
The code for Spraymaker 2 is published on GitHub under the GNU GPLv3.0 license.
https://github.com/FoulDev/Spraymaker