Tools++
The compilers we are developing for Mann Versus Zombies
Includes
| VBSP++ | Higher map limits (brushes, planes, vertexes) and better stability |
|---|---|
| VVIS++ | Orders of magnitude faster performance |
| VRAD++ | Quicker compiles, new lighting features |
| BSPZIP++ | Multi-threaded compression |
| StudioMDL++ | New macro syntax, higher limits, more useful warnings |
Download
Installation
The ++ tools are now fully standalone. Extract the contents anywhere you want, such as onto your Desktop. Then point your apps at the tools: Hammer -> Options -> Build Programs -> BSP executable -> vbsp++ Hammer -> Options -> Build Programs -> VIS executable -> vvis++ Hammer -> Options -> Build Programs -> RAD executable -> vrad++ Hammer -> Options -> Build Programs -> MDL executable -> studiomdl++ Packing tool (CompilePal, bspzipgui, ...) -> bspzip++ Crowbar -> Set Up Games -> Model Compiler -> studiomdl++ Optionally, add the included "tools_plusplus.fgd" FGD file into Hammer's game configuration Tools -> Options -> Game Configurations -> click Add beside Game Data files Supported games: - Garry's Mod - All Valve Source 1 games (the ++ compilers will try autodetect BSP settings based on appid in gameinfo.txt) - Sourcemods on old or new SDK 2013 - Insurgency (requires "-lightmapformat rgbea" in VRAD) Unsupported games may work by adjusting options such as "-bspformat", "-lightmapformat", "-staticpropformat"
Showcase
Other tools
Faceposer++
Faceposer++ is a modification of SDK2013 Faceposer with various new features and improvements Changelog: - Upgraded to 64-bit process - Supports LipSinc (IMS) phoneme extraction out-of-the-box - Upgraded graphics - Uses DirectX 9 instead of 8 - Uses newer Windows UI stylining - Antialiasing is enabled - Basic material proxies are supported (prevents burn overlays on TF2 characters) - Improved startup times - Added MP3 and OGG audio support - Added support for VPK sounds in phoneme editor - Added phonemes text file support for MP3/OGG files - Added reload sounds button in Sound Browser - Added mouse-based zooming for phoneme editor - Added shift hotkey scrolling for phoneme editor - Emotion files from TF2 are now loaded automatically - Space hotkey now toggles pause in choreo view - Phoneme editor now zooms in/out faster and uses proportional zooming - Fixed missing icons (they are embedded in the executable now) - Fixed stuttery audio playback - Fixed phoneme editor offset resetting on resize/scroll - Fixed background color not working - Fixed crash if speech API did not load successfully - Fixed crash if a word had no phonemes - Fixed crash if realigning word with no phonemes - Fixed crash if pressing flex buttons with no scene - Fixed crash on shutdown from materials - Fixed window disappearing from the taskbar on startup - Fixed active model not changing when switching with Recent Files list - Fixed model list being loaded in reverse order - Fixed ground floor not rendering correctly - Fixed missing materials from the various rendering/control panel modes - Fixed float precision loss in rendering waveforms at high zoom Installation: Place into your game's bin/x64/ folder (where normal hlfaceposer.exe is) Launch the hlfaceposerplusplus.exe The only supported games are 64-bit SDK2013-based games, for example: - Team Fortress 2, Counter-Strike: Source, Day of Defeat: Source, Half-Life 2: Deathmatch Garry's Mod is NOT supported. Download (Last updated: 25 June 2026)
VTFEdit++
Upgraded version of VTFEdit Reloaded by misyltoad, Neil 'Jed' Jedrzejewski and Ryan Gregg Changelog: - Redesigned, cleaner user interface with Qt, and supports dark theme! - Implemented .gif animation frame importing - Added drag and drop importing of textures - Non-power of two textures can now be created - VMTs with syntax errors can now be imported successfully - Default VTF version is now 7.4 - Default indentation in VMT editor is now 4 spaces - Added document tabs, so multiple textures and materials can be opened at the same time - Added zooming with mouse scroll wheel, and panning by holding left click - Added error line highlighting for missing quotes, braces and unquoted vector/matrix values in VMTs - Added sprite sheet editor for particles, similar to "mksheet" tool. Access it under Resources tab - Added $distancealpha (signed distance field) generation when importing, under Advanced tab. - This also uses a new algorithm that is orders of magnitude faster than VTEX! - Added Hotspot editor for materials with hotspot data/".rect" files - See this page for details - Can be accessed under "Texture" tab - Added EXR/PFM/HDR import and export support - This now allows creating RGBA16161616, RGBA16161616F, RGBA32323232F and R32 VTFs - Added support for importing and exporting DXT1A, ATI1N and ATI2N textures (now works correctly in-game) - Added support for BC7 and BC6H formats (for mods that use DirectX 11), based on Strata Source spec - Added support for VTF 7.6 (Strata Source format) - Added support for aux compression under VTF 7.6 - Added support for NICE filtering in scaling/mipmaps - Added recognition for PCC (Parallax Cubemap) VTF resource - Added options to customize font, text size, indentation and color of VMT editor - Added option to strip alpha channel on import - Added quick texture flags to import - Added multiple of 4 resizing when importing (for DXT formats) - Added ability to change VTF version of existing textures - Added line numbers to VMT editor - Implemented single instance - Opening multiple VTFs at once will instead open in a singular VTFEdit instance as tabs - This behavior can be toggled under "Options" - Mipmaps are now shown at full size when previewing, can be toggled under View -> Zoom Mipmaps - Added framerate slider for animated textures - When batch exporting, all frames, faces and slices are now exported - Input/output folder when batch converting can now be manually edited - Color and alpha format list now only list the formats that actually do or don't support alpha - Alpha format is now automatically dropped from image if the alpha channel is fully blank, e.g. DXT5 -> DXT1 - Increased max texture dimensions to 16384 - Improved texture flag names, all of them can now be ticked - Imported textures will now have their name automatically set to the original file's name - sRGB flag is no longer applied on imports - Re-ordered the color/alpha formats by common usage - Fixed sluggish VMT editing - Fixed crash related to VMT editing - Fixed stray garbage pixel in bottom left when copying image to clipboard - Removed WAD support - Removed filters that weren't implemented - Removed File System tab Download (Last updated: 23rd August, 2026) Source Code
Crowbar++
Modified version of Crowbar 0.74 by ZeqMacaw Changelog: - Console colors inverted to white-on-black - More readable console font - Studiomdl warnings/errors are now highlighted yellow and red respectively Download (Last updated: 6th August, 2026)
bsp_iidefeat
Tool to recover map textures from the infamous IID nodraw anti-decompile protection on BSPs Recovers majority of brush textures in the map. A bit of manual cleanup may still be needed. If you encounter a protected map that does not work with this tool, let me know! Updated: now supports fully removing "bspProtect" protection by Jakob Sailer. Updated: now supports removing crashing/junk entities from "BSP Protection" by SpySpaille Updated 30th September: supports removing latest version of bspProtect Updated 1st October: supports recovering hint brushes. Pass -nohint to disable this if it causes issues Updated 3rd October: added -entrecovery option to recover brush entities and lights from entity-stripped maps Updated 14th October: fixed bugs with light recovery, corrupt lumps are now skipped Usage: run from cmd to see help options Download (Last updated: 14th October, 2025)
check_mdl
Python script to check MDLs for corrupted vertex data There is an unknown compiler bug where models very rarely have corrupt LOD data Such corrupt models cause client crashes when decals are applied or users have lower graphics settings This tool can identify those so they can be recompiled Originally made to identify problematic props in the Greek Theme Pack for TF2 Usage: install Python, run the script inside a folder of models you want to check Download (Last updated: 9th March, 2024)
cubemap2hdr
Converts a cubemap in LDR color format to HDR Particularly useful for Left 4 Dead 2 where LDR cubemaps will look broken Usage: drag and drop a cubemap onto the exe Download (Last updated: November 11th, 2024)
tga2skybox
Converts 6 tga files into a cubemap VTF, and automatically creates a LDR and HDR version Applies correction to the edges to blur seams as well Useful for fake skyboxes with WindowImposter shader Usage: run the tool and follow instructions Download (Last updated: 31st May, 2024)
vtf_downscale
CLI tool to downscale a VTF to a lower mipmap losslessly. Useful to reduce file size without re-compressing the texture Supports mass-automatic downscaling (for example to only downscale all 2048x2048 or higher textures) Usage: run from cmd to see help options Download (Last updated: 15th August, 2024)
vtfstripalpha
CLI tool to remove the alpha channel from VTFs without quality loss. Useful to reduce file size Supports mass-automatic detection and removal of blank (white) alpha channels Unfortunately, I lost the source code for this tool... Usage: run from cmd to see help options Download (Last updated: 24th August, 2022)
proptexelvtf
Converts a prop_static lightmap (.ppl file extracted from BSP) into VTF Usage: drag and drop a .ppl onto the exe Download (Last updated: Jan 11, 2021)
vtf_fix_mip2
Removes LOD settings from VTFs Was useful to make some TF2 textures appear high-resolution, now obsolete as mat_picmip -10 is allowed again Usage: put the exe into the desired folder of textures and run Download (Last updated: 13th April, 2021)
dds_to_vtf
Converts a DDS texture to VTF directly without quality loss (automatically chooses closest matching format) Mainly made this to easily convert textures from IW engine to Source, not tested on many types of DDS files Usage: drag and drop a .dds onto the exe Download (Last updated: 6th March, 2024)
file_to_nut
Converts binary file to Squirrel array Usage: drag and drop a file Download (Last updated: 22nd September, 2023)
sq
Standalone version of Squirrel language interpreter that supports bytecode disassembly of scripts Usage: sq -c myscript.nut > myscript.cnut Download (Last updated: 8th April, 2025)