Skip to content
Zack Middleton edited this page Dec 18, 2013 · 134 revisions

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 and Quake III: Team Arena. Progress is being made toward running Return to Castle Wolfenstein (MP), Wolfenstein: Enemy Territory, and Turtle Arena. Spearmint is not compatible with existing mods (the QVM/DLL files) or demos for any game.

Changes are still being made that affect the VM APIs and network compatibility. Eventually they will be finalized.

IRC: #spearmint on chat.freenode.net

Major Features

  • Four player splitscreen
  • Moved a lot of code from server and client to Game and CGame VMs;
  • Allow games to modify entityState_t and playerState_t without changing the engine.
  • Extended API for Game and CGame/UI, includes some of the features from;
    • RTCW, WolfET, Tremulous, Turtle Arena, and World of Padman
  • Merged UI VM into CGame VM, easier to modify as a whole / more flexible.
  • Additional shader keywords.

See Roadmap and issues list for future plans.

Current Focus

Updated December 8 2013

  • Merge Turtle Arena's engine with Spearmint so that TA can run on Spearmint.
    • Need to move setting up vertices for rail trail, lightning, and other RT_* effect to cgame! (also benefits EF and RTCW support?)

Recent focus, probably get back to soon-ish

  • Add/fix rendering features for RTCW (MP) and ET maps
  • Add engine features (VM system calls) required for RTCW (MP) and ET

Documentation

Features

Tutorials

  • New Game -- Information about changing the engine game, data paths, etc.
  • New Sounds -- Information about sounds new games might want to add.
  • http://www.mecwerks.com/tutorials -- A few programming tutorials for Spearmint by mecenefeaa. (Out of date and website down.)

License

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.

Credits

Built on the shoulders of giants.

  • id Software
  • Gray Matter Interactive
  • Nerve Software
  • Splash Damage
  • Dark Legion Development
  • Padworld Entertainment
  • ioquake3 contributors
  • Thilo Schulz (for ioquake3 Elite Force MP patch)
  • Rudolf Polzer (for code from NetRadiant's q3map2)
  • Open Arena developers (for "!gametype" entity key)
  • Tobias Kuehnhammer (feedback / bug reports / Bot AI fixes)
  • Zack Middleton (spearmint developer)

Engine Feature Support

Game All Needed Features Lacking Areas Status Ported to Spearmint?
Quake III Arena yes none Complete (inherited from ioquake3) In Spearmint code repo
Quake III: Team Arena yes none Complete (inherited from ioquake3) In Spearmint code repo
OpenArena yes none Complete Not started
Q3Rally (Standalone) yes none Complete Not started
Tremulous yes game, ui Missing system traps for getting news (ui) and sending game stats to master server (game) Not started
Turtle Arena / Extraordinary Beat X no renderer Working on it, hopefully done before end of 2013 Native
[[Return to Castle Wolfenstien (SP) RTCW-SP]] no unsure On hold until RTCW MP, ET, Turtle Arena support are done.
[[Return to Castle Wolfenstien (MP) RTCW-MP]] no renderer, cgame, ui (maybe others) Working on it, hopefully done before end of 2014
[[Wolfenstien: Enemy Territory EnemyTerritory]] no renderer, cgame, ui (maybe others) Working on it, hopefully done before end of 2014
World of Padman no need to fully review the client/server code Added new WoP VM API calls for VoIP, missing Ogg Theora playback Not started
Smokin' Guns no need to fully review the code Not started Not started
[[Elite Force (MP) EliteForce]] no mp3, renderer Added new shader waveforms, noise and random. Added depthfunc disable (same as depthfunc lequal). Gamecode is under SDK license and cannot be legally ported to Spearmint.
Jedi Outcast (MP) no all As far as I know, the code is GPLv2 (not GPLv2+) (Spearmint is GPLv3+), so currently I will not include any code from it. Full support for JK2/JKA is a low priority right now. no
Jedi Academy (MP) no all Same status as Jedi Outcast. no
Heavy Metal: F.A.K.K.2 (FAKK) no unsure Added a few shader related things. Low priority. no
American McGee's Alice no unsure Added a few shader related things. Low priority. no
Star Trek: Elite Force 2 (EF2) no unsure Added a few shader related things. Low priority. no

Spearmint is not compatible with QVMs/DLLs for existing games. Many source code changes are required to port a game/mod to Spearmint.

If have all needed features for a game, then it should be possible to port the game to be a mod for Spearmint. Depending on "Lacking Areas", there may be some missing functionality which was determined to not affect general usage (for example Tremulous' UI system call trap_GetNews).

Spearmint is used by

Released

Yet to be released

Clone this wiki locally