This is a collection of other tools and scripts I've made over the years
I don't actively maintain these but perhaps others might find them useful..
VBSP++
VBSP++ is a modification of SDK2013 VBSP with various new features and improvements Changelog: - Automatically reduces brushes and brushsides usage of the map by 10-30% - No t-junction limit - No detail prop limit - Raised overlay limit to 1024 and internal entity limit to 16384 - Added appid mounting if steam_appid.txt is present beside the exe - Added support for mounting custom shaders in mods - Added func_detail_blocker (like newer VBSPs) - Added -blocksize (default is 1024) - Useful to compute visibility faster on open, large maps like surf (I recommend 2048) - Using a higher blocksize also reduces your vertex count, useful to circumvent vertex limit - Added -allowdynamicpropsasstatic (allows props without allowstatic in propdata to be used as static props) - Added proper support for compiling power of 4 displacements (like CS:GO) - Added parallax_obb entity support for mods that have parallax cubemaps - Added func_detail_illusionary (identical to func_detail but non solid) - Added %compileNoShadows - Added func_nobevel support - VBSP generates bounding box brushsides for angled geometry to improve collision accuracy - But a problem is that these can eat up brushsides quickly - Surround angled brushes with this to skip creating these extra brushsides - Accurate collision isn't needed for areas the player can't reach anyway (like out of bounds) - Added -nobevel (disables brushsides for all angled geometry. I do not recommend using this, use func_nobevel instead) - Added optimization to automatically disable vertex lighting for props with $bumpmap/$phong - Reduces time spent in VRAD with -staticproplighting - func_occluder, func_areaportal, func_viscluster, func_nobevel, parallax_obb no longer count towards the brush limit - Improved clarity of some warnings and removed useless warnings - Fixed smoothing groups not working on func_detail - Fixed displacements not being rotated correctly in instances - Fixed missing texture cubemaps if skybox has mismatched side dimensions - Fixed crash if an instance overflowed brush or brushsides limit Installation: Place into your game's bin/x64/ folder (where normal vbsp.exe is) Update Hammer's game configuration to use vbspplusplus.exe as the BSP compiler 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: 26th July, 2025)
VRAD++
VRAD++ is a modification of SDK2013 VRAD with various new features and improvements Changelog: - Scales up to 64 threads - Small performance optimizations - Shared LDR/HDR compiling: - VRAD++ now always compiles in HDR mode - LDR lighting data will be redirected to HDR at no extra file size cost - This means you don't need to compile VRAD twice for LDR and HDR users anymore (compatible with both) - Passing in -ldr will still explicitly compile in LDR mode only - Bypassed "numplanes + fakeplanes >= MAX_MAP_PLANES" limit - You will never see it again! - Added appid mounting if steam_appid.txt is present beside the exe - Added -reflectivityscale - Added -worldtextureshadows - Allows $alphatest brush textures to cast proper shadows like props - Requires -textureshadows - Added -translucentshadows - Similar to -worldtextureshadows but for $translucent brush textures - Requires -textureshadows and -worldtextureshadows - Improved vertex lighting for props - Added -StaticPropIndirectMode to use old behavior if desired - See this page for a comparison - Redundant vertex lighting is skipped for lightmapped props (saves compile time and file size) - .dx90.vtx data is loaded for vertex lighting instead of .dx80.vtx - Broken vertex data for props will now be skipped over when compiling - Fixed bug where broken vertex data in props skipped vertex lighting for other props - Named or styled lights are now sorted by brightness priority for faces - Reduces occurence of bad lighting from overlapping named/styled lights - Added -scale, -ambient, -dlight, -sky, -notexscale, -coring debug options - Unlimited texlight support in .rad files - Comments in .rad files are now skipped - Cleaned up formatting of some messages and warnings Installation: Place into your game's bin/x64/ folder (where normal vbsp.exe is) Update Hammer's game configuration to use vbspplusplus.exe as the BSP compiler 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: 10th July, 2025)
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)
file_to_nut
Converts binary file to Squirrel array Usage: drag and drop a file Download (Last updated: 22nd September, 2023)
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)