Spearmint 0.3 released

Spearmint 0.3 adds new features and extends the mod APIs. See https://clover.moe/spearmint for downloads.

Spearmint 0.3 is not backward compatible with Spearmint 0.2 VMs or renderers. The network protocol number was changed from 4 to 5 in order to separate Spearmint 0.3 game servers from previous versions.


  • Added trap_DebugPolygonShow to Game VM.
  • Added support for loading demos from system paths using demo command.
  • Added support for passing demo filename to commandline now loads the demo (i.e.,spearmint_x86 /home/sarge/Downloads/major-q3dm1.mintdemo)
  • Added r_colorize2DIdentity cvar to colorize 2D rgbGen identity for Q3Test and Heavy Metal: F.A.K.K.2.
  • Added r_globalLinearFogDrawSky cvar to use RTCW behavior of not drawing sky if there is far clipped globabl linear fog.
  • Added far clip to refdef_t and trap_R_GetGlobalFog and trap_R_GetViewFog.
  • Added fs_game to statusResponse.
  • Fixed loading uncompressed DDS images.
  • Made window resizable by default.
  • Made client snaps cvar default to “” and have the server use current sv_fps value when client’s snaps is blank.
  • Made trap_GetEntityToken stateless by passing a pointer to an integer to track the position in the entities string.
  • Improved VoIP quaility by switching from Speex to Opus codec.

VM common

  • Add dummy assert macro for QVMs so that native builds can use assert without ifndef Q3_VM.
  • Enabled/fixed byte swapping functions available to QVMs for loading binary files.

CGame VM

  • Fixed RTCW sky box portal being far clipped when linear fog was enabled by props_skyportal.
  • Added centerecho console command.
  • Made centered text wrap around when it’s too long to fit on the screen.
  • Make cg_teamChatsOnly only affect team gametypes.
  • Draw gappling hook at impact point (unless cg_drawGrappleHook is 0).
  • Added cg_drawBBox cvar option to draw player bounding boxes.
  • Readded spmap and spdevmap commands.
  • Synchronize Team Arena voice icon time/voice text time.

Game VM

  • Removed gamename (“baseq3”) from statusResponse (conflicted with gamename Spearmint in infoResponse required by dpmaster protocol).
  • Added gameversion (“baseq3-4”) to statusResponse containing the value that CGame checks to see if it’s compatible (currently unused).
  • Fixed regression that caused bots to be stuck standing on the floor door in q3dm7.
  • Keep walker bots walking when blocked.
  • Dynamically compute bot formation space.
  • Make bots unblock teammates.
  • Make bot ignore some enemies when activating entity.
  • Make bots activate entities in battle chase/retreat/NBG.
  • Make bot only activate entity if it’s blocking route.
  • Give bot more time to get item after activating entity.
  • Make bots return to previous AI node after activating entity.
  • Added teleport server command like setviewpos but specifies which player (for debugging bots).
  • Fix “brought in 1 skulls” Harvester message.
  • Make grappling hook move with platforms and pull player with using flight power up.
  • Allow spectators to use noclip.

Spearmint 0.4 is planned to be released on August 13 2016.

1 thought on “Spearmint 0.3 released

  1. Thank you for your work! This is now my favourite source port for Q3, the splitscreen is so smoothly implemented.
    At last I can play Q3 in my tv screen with my friends using my own mods/map collection. The random bot option is also a welcome addition.
    The only thing it could use would be a larger map and player model screen, like the UI Enhanced ones, so there’s no need to scroll to many pages to find a specific map and the models don’t run out of room when you have a lot.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.