Code
This is where I drop off code snippets that I've put into the public domain. All of these are written in C++
and are tested to compile with Microsofts Visual C++ compiler unless otherwise noted.
- AVI writer from .kkapture. Uses Video for Windows (so it's not portable). Handy if you want to quickly
record a video somewhere and don't feel like wading through the VfW docs yourself.
- rygDXT, a relatively fast DXT encoder that produces reasonable quality (significantly better than all the
real-time DXT encoders). The code emphasizes simplicity. This version of the code assumes it's running on a Little Endian platform.
Sean Barrett has converted this into a one-file C version if that's your thing.
- shadergen, a D3D9 Vertex/Pixel shader assembler that allows for quick generation of different shader permutations
at runtime. This is mainly of historical interest nowadays; virtually no shaders are written in shader assembly nowadays. But this is the
code that was used in the (unreleased) .kkrieger final and in debris to implement most of the material system. The runtime part
(shadercodegen.cpp/.hpp) is very simple but quite powerful. It would've been a waste to just leave this lying around on my HD.
- disfilter, the most “magical” component of kkrunchy (the rest is a simple, bare-bones EXE packer
with a fairly standard compression engine). There's both a readme.txt in the directory and an explanation in the code if you want to know
how it works.