QuakeSpasm

Page last edited: May 2022.

1. About

2. Downloads

3. Hints

4. Compiling and Installation

5. Changes

6. Copyright

7. Contact

8. Links


1. About

QuakeSpasm is a modern, cross-platform Quake 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

See the Downloads section to get the sourcecode, then below for platform specific instructions. Quakespasm can also be built with the cross-platform Codeblocks.
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.

4.1 Linux/Unix

After extracting the source tarball, "cd Quake" and edit the Makefile for music options.

Streaming music playback requires "libmad" or "libmpg123" for MP3, and "libogg" and "libvorbis" for OGG files.

Then type "make" to compile the program, and copy the "quakespasm" binary (and "quakespasm.pak") to your Quake game directory.
Compile time options include

4.2 Windows

QuakeSpasm developers cross-compile windows binaries using MinGW-w64 and MinGW.

The project can also be built using Microsoft Visual Studio 2005 and newer versions.

4.3 Mac OS X

A Quakespasm App (including program launcher and update framework) can be made using the Xcode template found in the MacOSX directory.

Alternatively, have a look at Makefile.darwin for more instructions on building from a console.

4.4 Quake '2021 re-release'

QuakeSpasm 0.94.0 has initial support for playing the 2021 re-release content: Copy the quakespasm binary to your rerelease installation and run quakespasm as you normally do.

5. Changes

5.1 Changes in 0.94.5

5.2 Changes in 0.94.4

5.3 Changes in 0.94.3

5.4 Changes in 0.94.2

5.5 Changes in 0.94.1

5.6 Changes in 0.94.0

5.7 Changes in 0.93.2

5.8 Changes in 0.93.1

5.9 Changes in 0.93.0

5.10 Changes in 0.92.1

5.11 Changes in 0.92.0

5.12 Changes in 0.91.0

Bugfixes

Visual improvements

Interface improvements

Code cleanup / Other

Raised limits

5.13 Changes in 0.90.1

Bugfixes

Performance

Visual improvements

Interface improvements

Code cleanup

5.14 Changes in 0.90.0

5.15 Changes in 0.85.9

5.16 Changes in 0.85.8

5.17 Changes in 0.85.7

5.18 Changes in 0.85.6

5.19 Changes in 0.85.5

5.20 Changes in 0.85.4

5.21 Changes in 0.85.3

5.22 Changes in 0.85.2

5.23 Changes in 0.85.1

6. Copyright

7. Contact

8. Links