Tools and utilities for the Valve Source SDK, CS:Source and Half-Life 2

Having been playing around with the current Source SDK for a while, I've started writing some utility applications to aid content creation. Most of these existed in the SDK in one form or another, I've most ported them to be more user friendly Windows applications and expanded them with some extra functions.


GUI StudioMDL 2.x / Source - GUI wrapper for the Source model compiler

GUI StudioMDL 2.x is a based on my original GUI StudioMDL for Half-Life/Goldsrc, re-written to work with the new Source SDK. It provides access to all the same functions and parameters as the command line based Source StudioMDL compiler, but through a simple Windows based graphical user interface.


Windows VTF Shell Extensions - VTF Thumbnail & Property support

I got a bit fed up browsing through VTF files on my hard disk but not being sure what the actual image was inside it - so I wrote this. These are a pair of Windows shell extension which plugs into your OS and allows Windows to show a thumbnail of the VTF file when browsing in Thumbnail view, or info about the VTF file in columns in details view. The extension is a simple DLL which is installed into your system folder and registerd automatically - just run the installer.

Thumbnails are created automatically on selecting Thumbnail view for the folder. To make the VTF info columns appear, select "Detail" view, right click on the column headers at the top and select more then from the list, select which VTF info columns you would like to add.

IMPORTANT! Before you install the VTF Shell Extensions, you need to install the correct Visual Studio C++ Runtimes for you're operating system. Without the correct version the extensions will not work!


3D Studio Max SMD Export Plug-in - Export Source SMD model and animation files

This plug-in allows 3D Studio Max 9 thru 2012 to export Source reference and animation sequence SMD files. For meshes, it supports Standard and Muli/Sub-Object materials, Editable Mesh and Editable Poly geometry, Skin and Physique modifiers and when using Skin, using helper nodes such as dummies as bones.

For animation, it suppords Biped and allows exporting a sub-range of an animation, exporting the sequence backwards, batch mode via Maxscript.


3D Studio Max SMD Import Plug-in - Import SMD model files

This plug-in allows 3D Studio Max 9 thru 2012 to import Valve SMD files. It currently doesn't support animation import but will import meshs, materials and bones as well as skinning them together.


3D Studio Max VTA Export Plug-in - Export Source vertex animation files

This plug-in allows 3D Studio Max 9 thru 2012 to export Source vertex animation files used in face flex animation using the morpher modifier and shapekeys.



3D Studio Max VTF Texture Plug-in - Use VTF textures in 3DS Max

This little plug-in will give 3DS Max support for VTF textures, thus removing the previous need to convert them to TGA. Converts all textures to RGB format and includes alpha channel. Archive contains version for 3DS Max 9 to 2012 32-bit and 64-bit.


Source MDL Texture Info - Dump info on textures used by a model

MDL Texture Info is a quick console app that will tell you the textures used by a MDL file from a game using the Valve Source engine. It will list the textures used by their VMT file plus the folders in which it the model will look for the textures. Handy if you cant remember or keep getting that darn pink/black checkerboard texture!


SoftImage XSI dotXSI 3.x Exporter Plug-in for Milkshape 3D

The plug-in exports object meshes and materials from MS3D, retaining the same groups and properties as closely as I could managed on what I know of the XSI format thus far. It generates a XSI 3.0 format file, and imports the meshes into the root scene (this may change in future releases). It works with XSI EXP HL2 and can be used to get exisiting models into XSI for editing.

Note: the dotXSI exporter is now included with Milkshape3D by default when you choose to install third-party plug-ins. Thanks Mete!


VTFLib C++ library for VTF / VMT file access

VTFLib is an open source programming library which allows developers to add support for VMT and VTF files used by the material system of Valve Software's Source game engine. It functions independent of Steam allowing third party apps to use these file types without the need for Steam to be running.

VTFLib offers a simply API which allows you to read or write VMT and VTF files through a few simple functions. It also takes care of a lot of formatting and validation of the files.

VTFLib comprises of two modules, VMTFile and VTFFile:

VMTFile allows you to read and write VMT files using a hierarchical node based system similar to how one might navigate an XML file. The system uses a series of VMTNode objects which have a name and data type. These can be set, read or parented as needed by your application.

The VTFFile module allows you to read and write binary image data in VTF files. It supports single frame, multiple frame and cube map files and can read and write compressed and uncompressed formats and allows access to individual frames, faces and MIP levels. It contains functions to automatically create MIP levels for you using a number of different filter types, can automatically generate sphere maps and even create Normal and DuDv maps from RGB and greyscale source images. Based on nVidia's DXTn library, it creates compressed images with superior quality to Valve's VTEX tool.

Note: I have a custom version of VTFLib compiled as both a 32-bit and 64-bit DLL. If you'd like a copy for you're project, get in touch.