Here’s a first shot at VoIP support. It’s still pretty rough, but it’s just meant to be the groundwork. Patches are against svn revision #1345.
This requires patched builds to be useful, but remains network compatible with legacy quake3 clients and servers. Clients and servers both report in their info strings whether they support VoIP, and won’t send VoIP data to those not reporting support. If a stray VoIP packet makes it to a legacy build, it might print an error to the console, but should continue on anyhow.
Data is processed using the Speex narrowband codec, and should be cross-platform. Bigendian and littleendian systems can speak to each other, as can 32 and 64-bit platforms.
As you can see, there’s still a _lot_ to be done to make this robust, and a lot of it depends on small UI mods. I just wanted to put down a framework for others to build on here.
q3osc takes the gaming world of ioquake3, with all the motions and gestures which gamers are used to making – like jumping or shooting a plasma ball – and outputs the information from each of those motions and gestures to a program which controls sound and music. This turns any motion a gamer makes, whether he or she is running across a map, jumping or crouching or shooting – into a way to control an instrument.