Quake Mods

These are mods or patches for Quake 1. If you have a copy of either Quake 1 or Quake 1 Shareware, you might like to check out QuakeForge, an open source, cross-platform implementation of the Quake engine.

Quakeforge is apparently no longer maintained, but it is still my favourite port of Quake. The last version available (discounting cvs snapshots) is 0.5.5, but there are problems with it. First of all, it doesn't seem to want to compile under GCC 4, dying with the error

cd_file.c:87: error: static declaration of 'bgmvolume' follows non-static declaration
../../../include/QF/sound.h:126: error: previous declaration of 'bgmvolume' was here

so to save the effort of updating the code to make it compatible, I use GCC 3.4:

CC=gcc-3.4 ./configure && make && make install

Now, if and when this compiles, there is another problem: there appears to be no access to console, menus or anything. When Quakeforge starts up, this error appears in the middle of the terminal output:

Could not load plugin "/usr/local/lib/quakeforge/console_client.so".

Upon further investigation, this is because a symbol the linker was expecting is undefined. After much searching and hacking of the code, I finally came up with a solution, which this patch implements. For details of what this does, see patches. Download the quakeforge-0.5.5 tarball and the patch to the same place. Run the following commands:

tar jxf quakeforge-0.5.5.tar.bz2
cd quakeforge-0.5.5
patch -p1 < ../quakeforge-0.5.5.patch

then compile as before, and bingo.