Showing posts with label quake3. Show all posts
Showing posts with label quake3. Show all posts

Friday, August 10, 2012

ioQuake3 update for Haiku

Over the past several days I've been playing with some of the open sourced id code on Haiku. As part of that I decided to try updating the version of Quake3 that was in Haiku Ports.

Based on some of the previous patches that were submitted, and some invaluable help from the folks in #haiku, I updated the ioquake3 open source version to the latest revision (r2306 as of today) and got it to compile and run again.

You need one of the latest Haiku nightly revisions, an install of SDL 1.2.15 from Haiku Ports (or from installoptionalpackage), and the proper pak files (either official ones from id with the accompanying q3key file(s), or possibly some open source versions but I'm not sure about those) as prerequisites. It won't compile and run properly without these.

Currently the frame rate is unplayably low (2 to 4fps on default settings) due to the current lack of hardware acceleration. So even with the details turned down etc you're probably not going to get more than about 7 to 10fps at most.

I was playing it yesterday just fine on Haiku r44483 gcc2h on bare metal (installed directly to my hard drive), but today when I was finishing up the patch and bep file on Haiku r44507 gcc2h while running under virtualbox, I kept getting KDLs (system crashes to the kernel debugger) after I exited the game.

I've submitted the updated bep and patch to Haiku Ports, and a bug report about the KDLs to Haiku's Trac.

If you want to try this out yourself, first make sure you have HaikuPorter installed (follow the directions on the main HaikuPorts page), then grab the r2306 bep and patch I submitted and place the bep file in "/boot/common/develop/haikuports/games-fps/quake3/" (you'll probably have to create the "games-fps" and "quake3" folders), and then place the patch file in "/boot/common/develop/haikuports/games-fps/quake3/patches/". Then run "haikuporter -i quake3" to compile and install it.

I haven't tested this under a gcc4/gcc4h build yet, so I have no idea if that works or if it performs any differently.

Although I'd like to hope that this might help motivate some folks to work more on the hardware acceleration issue, I think the issue is more complex than that. The up to date Mesa builds require gcc4, and probably any related stuff like current hardware drivers for the video cards etc... so it's impractical to consider both a fork and a backport of these to gcc2 that would have to be maintained independently etc.

So we probably aren't going to see a lot of improved features like this in Haiku until after R1 (the first full official release of Haiku, meant to have binary compatibility with the last release of BeOS, which was gcc-2.95.3 based) when the builds can switch to gcc4 as the default and pull a lot of modern code into the main official build.

The "Team Arena" mission pack seems to work fine as well, as shown below.