UnrealEngine3: One thing I'm learning by fighting with a different project that has nothing to do with UE3: modern 3D graphic APIs are really friggin intimidating. I'm really growing to hate both DirectX 9 and OpenGL 2.0, which is unfortunate considering there isn't really any part of UE3's renderer that doesn't concern itself with DX9-level tech. This makes me grumpy. I feel like the Unix equivalent of those two old dudes in the balcony on the Muppet Show. OpenAL: (If you want the Apple/VoIP patch source code, it's on the mailing list, but not in CVS as far as I know. Check the openal-devel list archives at openal.org.) Duke3D: I got ahold of a retail Mac disc for this, and the damned game is packaged in some arbitrary installer format. Building a new installer around these discs is probably impossible based on current information, and I don't intend to reverse engineer the OS9 installer. For now, you can still cobble this together yourself on MacOS (install in Classic, build the OSX version, copy the right files where they should be)...I'll figure out a less stupid solution later. UTPG: (It was a driver bug. An Apple engineer squashed that mofo in a heartbeat.) I spent some time fighting with vertex_array_range. We don't cache static data at all in UT99 at this point, so I figured the brute force method would be worth a try. Allocate a big-ass buffer, point glVertexPointer() at it, and treat it as a sort of push buffer...instead of using a small range and pushing various bits of it to card, we do our work in that range and memcpy the relevant bits to the next bit of available VAR space, which is feed to the card. When we hit the end of the VAR, we start at the front again, assuming that that bit was used many many frames ago. If we were really smart, we'd flush the range when wrapping around, but that could only result in a slowdown, and is totally worthless, as long as you have enough VAR space to stay ahead of the GL. In practice, this actually resulted in a slight (less than 1fps) slowdown in my benchmarks. Which frustrates me to no end. I guess there are no magic bullet GL extensions without significant work, although I really feel like I spent a lot of time on this for no benefit. I think for now I'll just disable the VAR path and focus on CPU optimizations ala Shark before returning to this again. I'm really not relishing the idea of diving into 5-year-old code to figure out how to seperate out the static geometry and redesign the rendering abstraction to support this. Unreal Tournament 2003: There's an exploit in the ut2003 network code, so here's a new build. Linux: http://0day.icculus.org/ut2003/ut2003lnx_patch2225-3-BETA.tar.bz2 MacOSX: http://0day.icculus.org/ut2003/ut2003-mac-patch-2225-3.dmg.bz2 The Linux one has about a million changes over the stock 2225, since it's got all the MacOSX work on top of it. Consider it beta. The Mac version has one or two fixes, so it's worth updating. Unreal Tournament 2004: Patch coming soon for Linux/Mac. The 3336 patch you're hearing about is a beta. Generally we don't build every beta for non-Windows platforms unless it looks to convert to a final build. MOHPA: Linux dedicated server work starts. In relation to AA, Spearhead, and Breakthough, the codebase is...well, unrecognizable. They changed a LOT of code. We'll see how this goes. Should-be-easy projects that turn out to be a lot of work is becoming a recurring theme in my life recently. Call of Duty: This is a 1.4 server with an exploit closed. Admins should all upgrade: http://icculus.org/betas/cod/COD-lnxded-1.4-07252004.tar.bz2 The latest and greatest United Offensive Linux server shows up here first: http://0day.icculus.org/cod/ Postal 2 Share the Pain: Postal 2 for MacOS X is now gold! Details on how and when you can get a copy are forthcoming. Stay tuned for other surprises, too. America's Army: 2.2.0 for Linux and Mac will be coming along shortly. There's a minor bugfix on the Windows side that we're waiting for before I get this wrapped up. Other stuff: I went to the polls and all I got was this lousy president. --ryan.