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.






One response to “Spearmint 0.3 released”

  1. Demo Avatar

    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.