Well, I havn't completely fallen off the face of the earth, but I've been busy with another semmester of computer science the last few months, which is pretty much the same thing.
To be completely honest vic, it's not that I couldn't have found enough time to work on it recently, but it's hard to find the motivation when 99% of people don't really care about it anyway. They'd rather play the port of the real quake 3 engine, and xbox 360.
I havn't actually played the port of quake 3 yet, but kudos if he ever managed to get the frame rate up to full frames with just an opengl wrapper.
Anyways, as you may or may not know, my (one and only) xbox runs with an xenium chip and for some reason in the last month it crapped out and died on me, the xbox doesn't boot without the chip either. I ordered a xbit chip to try to replace the xenium and fix the problem but it looks like the problem is with the xbox itself, and unfortunately I really don't have the money to replace it at all, I'm barely paying the bills right now as it is.
Now that I have my sob story out of the way, yeah, since I've obviously not going to be working on this shit for a little while, I think I'll go ahead and release what I have to the community, even like I doubt anyone will want to use it for anything. Here are the features again in case anyone interested is listening:
* Features :
- Full Quake3 shader support, dynamically compiled into xbox pixel shader microcode at runtime to render 90% of (even animated, multi-layer) shaders in 1 pass. Transparencies are rendered correctly relative to depth.
- Full Quake3 BSP loading and rendering support, including level meshes and curved surfaces, with aforementioned shaders. Fast and accurate culling for all dynamic and static objects.
- Misc MD3 and character MD3 set loading and rendering, with animation, and Q3 shaders.
- Support for per texture compression levels, reducing texture memory overhead using custom Q3 shader parameters.
- A quick and stable cache system for working within the xbox's limited 64 MB memory, caches resources to the hard drive and decaches them as needed using the fastest disk i/o routines availible in the XDK.
- Fast 3D sound system taking full advantage of the xbox's MCP's environmental audio features. Also supports streaming playback of compressed music formats to save memory.
- Robust logging for debugging purposes.
- A lovely well thought-out object-oriented API that encapsulates all this functionality in an easy to use way.
* Things that are completely missing or I was still working on :
- Quick geometry projection routine that would allow for decals, dynamic lights, and shadows, in Q3 style.
- A more elegant interface for responding to collision detection.
- Particle ARE technically possible using quad masses and certain Q3 shader paramaters, but I was going
to actually implement them in a specialized system with point sprites to make them faster.
- Some kind of scripting shit.
- Some kind of network multiplayer (system-link) shit.
I'll post it sometime soon. In the mean-time, those interested can let me know on this thread.