Skip to content
Zack Middleton edited this page Aug 28, 2024 · 133 revisions

Spearmint docs.

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.

Also see Features Overview.

Discussion

For discussion / technical support, see clover.moe/open-source.

Documentation

Features

Also see Features Overview.

Tutorials

  • New Game -- Information about changing the engine game, data paths, etc.
  • New Sounds -- Information about sounds new games might want to add.

Game Support

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

Many games have the game code (aka mod code) released. However, most cannot be ported to Spearmint because of the incompatible code licenses. Elite Force, SoF2, FAKK, and Elite Force 2 are under restrictive EULAs. JK2/JA are (apparently?) GPLv2 only. No code for Alice or MoHAA has been released. Currently, if any of these games are going to be made to run on Spearmint, they must be rewritten starting from Q3 code.

Tremulous, World of Padman, Smokin' Guns, Q3Rally, OpenArena, RTCW, and Wolf: ET use compatible licenses (GPLv2+ or GPLv3+) and can be ported. The engine doesn't support all the needed features for all games yet though.

Playable games

  • Quake 3 and Team Arena (retail and demo versions). See mint-arena.
  • Turtle Arena. See turtle-arena-code.
  • OpenArena 0.8.8 (using Quake 3 code; without additional OpenArena gametypes and features). See mint-arena.

Semi-usable

You're probably not going to have much fun playing it, but it sort of works.

Map testing

Lightly modified Q3 code for testing map and shader compatibility.

Engine Feature Support

Game All Needed Features Lacking Areas Status
Quake III Arena yes none Complete (inherited from ioquake3)
Quake III: Team Arena yes none Complete (inherited from ioquake3)
OpenArena 0.8.8 yes none Complete (based on Debian ioq3 patches)
Q3Rally 0.3 yes none Complete
Turtle Arena yes none Complete
Tremulous 1.1 yes game, ui Missing system traps for getting news (ui) and sending game stats to master server (game)
World of Padman 1.6 yes client Missing Ogg Theora playback for intro video. Missing botlib aas debugging changes but that is now in the mod code. Added WoP VM API calls for getting VoIP info. Related issues #183, #184, and #185.
Return to Castle Wolfenstien (SP) no renderer, cgame/ui, game, server, botlib On hold until RTCW MP and ET support are done.
Return to Castle Wolfenstien (MP) no renderer, cgame/ui, game, server Added most shader keywords, MDC and MDS model support, some new system calls
Wolfenstien: Enemy Territory no renderer, cgame/ui, game, server Added ET shader keywords, foliage, MDX/MDM support, some new system calls
Smokin' Guns 1.1 no need to fully review the code Not started
Elite Force (MP) no renderer Added new shader keywords and made it possible to register LIGHTMAP_NONE shaders in cgame. Missing rendering primitives #168.
Soldier of Fortune II (MP) no unsure Added a few shader related things and partial BSP support (missing lightstyles). Full support is a low priority right now.
Jedi Outcast (MP) no unsure Full support for JK2/JKA is a low priority right now. Added some shader keywords.
Jedi Academy (MP) no unsure Same status as Jedi Outcast.
Heavy Metal: F.A.K.K.2 (FAKK) no unsure Added a few shader related things and partial BSP support. Low priority.
American McGee's Alice no unsure Added a few shader related things. (Same BSP format as FAKK.) Low priority.
Medal of Honor: Allied Assault no unsure Added partial BSP format support. Low priority.
Star Trek: Elite Force 2 (EF2) no unsure Added a few shader related things and partial BSP support. Low priority.
Clone this wiki locally