-
Notifications
You must be signed in to change notification settings - Fork 36
Home
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
- Turtle Arena (game that started Spearmint development)
Yet to be released
- Extraordinary Beat X (EBX) (based on Turtle Arena)
- Mecwerks
- Wintermint (from developers as Mecwerks)
- ChateauKafkaQ3
- ioid3 (no longer under development)
- 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 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 -- Various programming tutorials for Spearmint by mecenefeaa.
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 as a Spearmint mod.
- Turtle Arena mostly has renderer and random stuff left iirc
- Support for using a single IQM skeleton animated model for playable characters.
- Ogg Theora video playback support, possibly using TheoraPlay.
- Merge many bug fixes and features from Turtle Arena, Tremulous, Wolfenstein: Enemy Territory, and other id Tech 3 games.
See Roadmap for more.
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.
- New ioq3 fork, ioq3ztm - ZTurtleMan's blog post announcing/describing ioq3ztm (now named Spearmint).
- 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)
| 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.