Skip to content
Spearmint, an updated id Tech 3 engine for continuing the classics and creating new games.
C C++ Objective-C Assembly Makefile GLSL Other
Branch: master
Clone or download

Latest commit

zturtleman spearmint: Fix shader sort value for unknown keyword
If shader sort is an unknown keyword (or 0) fallback to automatic sort
value like in vanilla Quake 3 instead of setting sort to 1.

Improve the warning to display the unknown keyword instead of 0.000000.

This fixes textures/unhsanct_skybox/portal shader in Q3 addon Unholy
Sanctuary us_intro map with typo "sort additivie" which was drawn
before opaque shaders causing HOM effect.

Reported by Tobias Kuehnhammer.
Latest commit 025a26f Jan 24, 2020


Type Name Latest commit message Commit time
Failed to load latest commit information.
code spearmint: Fix shader sort value for unknown keyword Jan 24, 2020
misc spearmint: Change version to 1.0.2 Nov 3, 2019
.gitignore Merge remote-tracking branch 'ioquake3/master' Nov 5, 2016
.travis.yml spearmint: Remove IRC channel and travis IRC notifications Oct 19, 2017 Feedback from the PR Mar 21, 2018
COPYING.txt Import Spearmint r378 Jan 4, 2013
ChangeLog Correct spelling mistakes. Nov 22, 2017
Makefile spearmint: Change version to 1.0.2 Nov 3, 2019 Merge remote-tracking branch 'zturtleman-ioq3/codec/mp3' Mar 12, 2018 Make Discord link go straight to spearmint channel Dec 18, 2018
autoupdater-readme.txt Updated autoupdater-readme.txt with manifest signing details. Jun 4, 2017
id-readme.txt * Removed advertising clause from BSD license as per mailing list dis… Jan 18, 2006 Enable Ogg Vorbis support by default Sep 24, 2017 spearmint: Improve May 20, 2018 Fix for macOS Catalina screen resolution issue Oct 29, 2019 Merge remote-tracking branch 'ioquake3/master' May 12, 2018 Merge remote-tracking branch 'ioquake3/master' May 12, 2018
md4-readme.txt Fix typo Jun 21, 2010 Merge remote-tracking branch 'ioquake3/master' Dec 15, 2017 Merge remote-tracking branch 'ioquake3/master' May 19, 2014
voip-readme.txt Import Spearmint r378 Jan 4, 2013

Spearmint is a fork of ioquake3 with two main goals; 1) provide a flexible engine for creating new games and mods, 2) support features from (and running) various id Tech 3-based games.

Spearmint can be used to play Quake III Arena, Quake III: Team Arena, and Turtle Arena. Progress has been made toward running Return to Castle Wolfenstein (MP) and Wolfenstein: Enemy Territory but there is still quite a bit left before it's possible. Spearmint is not compatible with existing mods (the QVM/DLL files) or demos (game recordings) for any game.

New Spearmint major releases (X.0.0) will break VM and network compatibility with previous releases.

The source code for the Spearmint Quake 3 game, cgame, and ui code and QVM compiler is at zturtleman/mint-arena. Map editor and map compiler are available at

Buy Me a Coffe at


Pre-built packages for Windows, GNU/Linux, and Mac OS X are available at the Spearmint website.


Git branches

  • master branch is compatible with Spearmint 1.0.0.
  • devil branch is for development (devil-op-mint) that is not compatible with the current release — it may be out of date compared to master.
  • coverity_scan branch is for automatically running Coverity Scan on Travis CI.
  • gh-pages branch is the Spearmint website.


Spearmint is licensed under a modified version of the GNU GPLv3 (or at your option, any later version). The license is also used by Return to Castle Wolfenstein, Wolfenstein: Enemy Territory, and Doom 3.


  • Zack Middleton (main developer)
  • Tobias Kuehnhammer (feedback / bug reports / Bot AI fixes)
  • And other contributors

Spearmint contains code from;

  • Quake 3 - id Software
  • ioquake3 - ioquake3 contributors
  • RTCW SP - Gray Matter Interactive
  • RTCW MP - Nerve Software
  • Wolfenstein: Enemy Territory - Splash Damage
  • Tremulous - Dark Legion Development
  • World of Padman - Padworld Entertainment
  • ioquake3 Elite Force MP patch - Thilo Schulz
  • NetRadiant's q3map2 - Rudolf Polzer
  • OpenArena - OpenArena contributors
  • OpenMoHAA - OpenMoHAA contributors
  • Xreal (triangle mesh collision) - Robert Beckebans
  • ZEQ2-lite (cel shading) - ZEQ2 project


Please submit all patches as a GitHub pull request.

The focus for Spearmint is to develop a stable base suitable for further development and provide players with the same Quake 3 game play experience they've had for years.

You can’t perform that action at this time.