QuakeSpasm


Page last edited: Sep. 2019

1. About

2. Downloads

3. Hints

4. Compiling and Installation

5. Known Bugs

6. Changes

7. Todo

8. Copyright

9. Contact

10. Links


1. About

QuakeSpasm is a modern, cross-platform Quake 1 engine based on FitzQuake.

It includes support for 64 bit CPUs and custom music playback, a new sound driver, some graphical niceities, and numerous bug-fixes and other improvements.

Quakespasm utilizes either the SDL or SDL2 frameworks, so choose which one works best for you. SDL is probably less buggy, but SDL2 has nicer features and smoother mouse input - though no CD support.

2. Downloads

3. Hints

Visit the FitzQuake homepage for a full run-down of the engine's commands and variables.

3.1 Music Playback

Quakespasm can play various external music formats, including MP3, OGG and FLAC.

3.2 Controller Support

The SDL2 variant of Quakespasm supports Xbox 360 style game controllers.

The default configuration uses the left analog stick for movement and the right for looking.

If your controller doesn't work you can try placing this file in your Quake directory, it is a community-maintained database that adds support for more controllers to SDL2.

Cvars

Buttons

Some of the controller buttons are hardcoded to allow navigating the menu:

These buttons can be bound normally:

quakespasm.pak contains a default.cfg which has been updated to give some default bindings. L/R shoulder buttons are bound to weapon switching, and L/R triggers are jump and attack.

The controller support started as Jeremiah Sypult's implementation in Quakespasm-Rift and also uses ideas and code from LordHavoc (DarkPlaces).

4. Compiling and Installation

Quakespasm's (optional) custom data is now stored in the file quakespasm.pak. This file should be placed alongside your quakespasm binary and id1 directory.

To checkout the latest version of QuakeSpasm, do: svn co svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm

4.1 Linux/Unix

After extracting the source tarball, browse the Makefile and edit the music streaming options, then


make
cp quakespasm /usr/local/games/quake (for example)


Compile time options include