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

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

The project can also be built with Codeblocks (project files included).

4.2 Windows

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

The project can also be built using Visual Studio 2005 (or newer).

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.

5. Known Bugs

Brightness issues should be fixed with GLSL gamma in 0.90.1, if your system supports OpenGL 2. For reference on older systems:
Some versions of Xorg and SDL have brightness issues.
Try setting "export SDL_VIDEO_X11_NODIRECTCOLOR=1", or if you have Xorg >= 7.5 and broken brightness, these patched libSDL binaries may help.

6. Changes

6.1 Changes in 0.93.2

6.2 Changes in 0.93.1

6.3 Changes in 0.93.0

6.4 Changes in 0.92.1

6.5 Changes in 0.92.0

6.6 Changes in 0.91.0

Bugfixes

Visual improvements

Interface improvements

Code cleanup / Other

Raised limits

6.7 Changes in 0.90.1

Bugfixes

Performance

Visual improvements

Interface improvements

Code cleanup

6.8 Changes in 0.90.0

6.9 Changes in 0.85.9

6.10 Changes in 0.85.8

6.11 Changes in 0.85.7

6.12 Changes in 0.85.6

6.13 Changes in 0.85.5

6.14 Changes in 0.85.4

6.15 Changes in 0.85.3

6.16 Changes in 0.85.2

6.17 Changes in 0.85.1

7. Todo

8. Copyright

9. Contact

10. Links