Skip to content
Zack Middleton edited this page Jun 25, 2013 · 134 revisions

Spearmint is a fork of ioquake3 with fixes and features that don't fit in ioquake3 for one reason or another. It was created to be a better (or alternative) base engine for developing new standalone id Tech 3 games. Spearmint is not compatible with Quake III Arena mods (the QVM/DLL files) or demos. Spearmint can be used with the Quake III Arena data files (and optionally Quake III: Team Arena data files) or compatible replacement data.

Spearmint is currently rapidly changing / breaking mod API and network compatibility. Eventually the mod API and networking protocol will be stable (at least, that's the plan).

Spearmint is used by;

Released

Yet to be released

Major Features

  • Four player splitscreen, offline and in network games
  • Extended API for game, cgame, and ui, includes some of the features from RTCW, WolfET, Tremulous, and World of Padman
  • Capsule collision support, enabled for players by default. (Note: There are currently some bugs being worked out.)
  • Modified pure pk3 system, see PAKSUMS
  • Removed code not needed for standalone games (CD Key handling, authentication server code, and punkbuster ui code)
  • Ogg Opus and Ogg Vorbis support enabled by default, source and headers included in local source tree for easy compiling
  • FreeType support enabled by default, source and headers included in local source tree for easy compiling

New Mapping and Graphic Features

Tutorials

Current Focus

Written June 2013

  • Support loading/rendering maps for RTCW (MP), ET
  • Support engine features (VM system calls) required for RTCW (MP), ET
  • (lost of focus lately) Merge Turtle Arena's engine with Spearmint so that TA can run on Spearmint.
    • Turtle Arena mostly has renderer, client TrueType Font support, and random stuff left iirc

Future Plans

See Roadmap and issues list.

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 Wolfenstein: Enemy Territory and Doom 3.

Credits

  • id Software
  • Gray Matter Interactive (for RTCW code)
  • Nerve Software (for RTCW code)
  • Splash Damage (for Enemy Territory code)
  • Dark Legion Development (for Tremulous code)
  • Padworld Entertainment (for World of Padman code)
  • ioquake3 contributors (for tons of quake 3 fixes and features)
  • Thilo Schulz (for Elite Force MP engine code)
  • Rudolf Polzer (for code from NetRadiant's q3map2)
  • Open Arena developers (for "!gametype" entity key and "sv_dorestart" cvar)
  • Tobias Kuehnhammer (feedback / bug reports)
  • Zack Middleton (spearmint developer)

Engine Feature Support

Game All Needed Features Lacking Areas Status Ported to Spearmint?
Quake III Arena yes none Complete In Spearmint code repo
Quake III: Team Arena yes none Complete In Spearmint code repo
Q3Rally (Standalone) yes none Complete Not started
Tremulous yes game, ui Need system traps for getting news (ui) and sending game stats to master server (game) Not started
Turtle Arena / Extraordinary Beat X no unsure Working on it, hopefully done before end of 2013 Native
Return to Castle Wolfenstien (SP) no unsure On hold until RTCW MP, ET, Turtle Arena support are done. Not started
Return to Castle Wolfenstien (MP) no renderer, cgame, ui (maybe others) Working on it, hopefully done before end of 2013 Not started
Wolfenstien: Enemy Territory no renderer, cgame, ui (maybe others) Working on it, hopefully done before end of 2013 Not started
World of Padman no need to fully review the client/server code Added new WoP vm API calls, missing Ogg Theora playback Not started
Smokin' Guns no need to fully review the code Not started Not started
Elite Force (MP) no renderer (maybe others) Added new shader waveforms, noise and random. Probably not going to be fully compatible, because mod code SDK license forbids using with different game or whatever no
Jedi Outcast (MP) no all It's not clear if code is GPLv2 or GPLv2+ (Spearmint is GPLv3+), might not be able to include code from it. Though it's unlikely I would want to add all the required features at this point anyway. no
Jedi Academy (MP) no all Same status as Jedi Outcast 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 effect general usage (for example Tremulous' UI system call trap_GetNews).

"All Needed Features" and "Lacking Areas" apply to mods for each game as well.

Clone this wiki locally