Patches

This page could more correctly be called "Hacks", as that's what these really are. I've gone to no trouble to properly correct the underlying problems, just attempted to provide a one-off fix. These come with no warranty, no promises, and no support (although if you e-mail me I might be inclined to attempt to help).

Quakeforge 0.5.5 patch

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/lib/quakeforge/console_client.so".

Upon further investigation, this is because a symbol the linker was expecting is undefined. The function it is looking for is in a different file, pr_keys.c which is in the folder libs/video/targets. The patch places another copy of the file in the libs/console folder, and updates the makefile generation files to make sure that it is compiled and linked with the client_console library.

So, download the files below and run the commands, and this should provide a working source for Quakeforge 0.5.5.

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

Frozen Bubble sound config patch

I got fed up with Frozen Bubble not saving the "sound on/off" preference in the .fbrc file, so I modified it to do so. The nice thing about Frozen Bubble is that its written in Perl, which makes this kind of thing much easier. The patch adds one subroutine to conditionally generate a string, and modifies one other part of the code to include the result in the configuration file.

Download the patch to /usr (or other appropriate prefix) and run the commands.

cd /usr/bin
patch -p1 < ../
frozen-bubble-snd-cfg.patch