-
Notifications
You must be signed in to change notification settings - Fork 36
Home
Spearmint is a fork of ioquake3 that was created to be a 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 (and optionally its expansion Quake III: Team Arena) or compatible replacement data.
Changes are still being made that affect the VM APIs and network compatibility. Eventually they will be finalized.
IRC: #spearmint on chat.freenode.net
- Four player splitscreen, offline and in network games.
- Extended API for Game and CGame/UI, includes some of the features from RTCW, WolfET, Tremulous, World of Padman, and Turtle Arena.
- Additional shader settings.
- Merged UI VM into CGame VM, easier to modify and uses less resources.
- Moved a lot of code from server and client to Game and CGame VMs; including console, chat input overlay, usercmd_t creation, and a lot of bot AI code.
- Removed code not needed for standalone games (CD Key handling, authentication server code, sending pk3 checksums to server, and PunkBuster UI code).
- Ogg Opus, Ogg Vorbis, FreeType support enabled by default. Source and headers included in local source tree for easy compiling.
See Roadmap and issues list for future plans.
Updated November 29 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?) - Need to be able to set default for overbright bits cvars (also needed for ET).
- Need to move setting up vertices for rail trail, lightning, and other
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
- 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.
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.
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)
| 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 | 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 (maybe others) | Added new shader waveforms, noise and random. Added depthfunc disable (same as depthfunc lequal). Low priority because 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).
Released
- Turtle Arena (game that started Spearmint development)
Yet to be released
- Mecwerks's Spearmint iOS port -- not using SDL
- Extraordinary Beat X (EBX) (based on Turtle Arena)
- Watermint
- ChateauKafkaQ3
- ioid3 (no longer under development)