Make your own free website on

Recent directx 7 code tidbits
For a long time I was secretive and paranoid about source code and the like. I guess I felt like everything I had has value, and its hard to just give away the good stuff. What really seems to have changed my mind a bit is being involved in the quake community. There is so much help among friends, and open source, and I really think it helps everybody along. Today I'm putting up my directx 7, input, error logging, and sound libraries. The source code is available by request. I'll also post it here when I put in some comments and get rid of anything embarassing laying around. Use it freely. My only requests are make sure I get credit if its due, inform me of any errors, send me some money if you make any using it (and a free copy of your app or game :). If you distribute it, make sure all files are included. Also, I take no responsibility for anything, use at your own risk.

Directx 7.0a input library
NEW:Joystick support added.

The is the dx7 mouse and keyboard input library I developed and am using. Its loosely based on the samples in the dx7 sdk, modified to combine the two input sources. I had joystick support in the dx6 version, but its out for a bit. I'll put it back in when I or somebody else need it I suppose. Probably only useful for those who don't want to bother with dinput, or don't know much about it. Hopefully it will save you a little time anyway. I also included some code tidbits on how its used.
Directx 7 input library

Directx 7.0a 3d sound library
This is my dx7 3d sound library. I was really happy how well and fast this turned out. I converted part of the 3d sound dxsdk sample to make a class based sound library. Probably most useful code on the site atm.
Directx 7 3d sound library

Particle Class
This is my particle class. It takes a plane in x-y (maybe normal pointing -z, I forget what I used.) and rotates it so its always pointing at the camera. I use it for particles, but its good for anything that always needs to point at the camera. I draw a gradient sphere with alpha blending in blend one mode, z-writes off (i don't care about how they are depth sorted), and fog off. Fog off is a hack, for some reason it can get really ugly putting blended polys in fog.
Directx 7 3d sound library

Directx 7.0a DirectPlay Library
I still haven't figured this out. If anybody would like to contribute, feel free...please :).

My error logger
Tastes filling. Less great. This is nothing, just a class that opens a file when it is constructed, writes whatever you tell it to, and closes when its destructed. I will be adding more error logging functionality sometime.
El cheepo error logger

2D Alpha Blending library
This is the probably the technically culmination of my coding 'career'. This is a 2d blitting library for directx which does alpha blending, shadows, team colors, and all sorts of other special effects. I did most of it using assembly to manipulate locked directx surfaces. Good stuff, if not especially useful. I got the idea from some place selling a similar library for something big...10k a pop comes to mind. If anybody wants the library or source, I think I have a working one. Its a no brainer, and plugs in just about where bltfast would, but performance wise you are probably best off using d3d is what everybody always tells me. In any case, if you want proof that assembly isn't dead, drop me an email. At least look at the demo of it, I spent a lot of time on this at one point.
Project Alpha

Old code archives
There is actually some nice stuff in here. Voxels will make a comeback :). Realistically, the maze solver is a great movement and path finding algorithm. The rest is probably more fun and nostalgic for me than anybody else.
My old code archives