Skip to content

Spearmint 0.4

Compare
Choose a tag to compare
@zturtleman zturtleman released this 13 Jul 13:43
· 933 commits to master since this release

Spearmint 0.4 provides a few bug fixes and improves dynamic memory handling for Game and CGame VMs.

Spearmint 0.4 is not backward compatible with Spearmint 0.3 VMs. The network protocol number was changed from 5 to 10 in order to separate Spearmint 0.4 game servers from previous Spearmint/Turtle Arena versions.

VM Heap Memory system

  • Improved and unified DLL and QVM memory allocation code.
  • Allocate space on hunk but use zone memory functions to allocate and free blocks.
  • Replace vm_qvmMinHunkMegs with vm_cgameHeapMegs and vm_gameHeapMegs which affect both DLLs and QVMs and are separate for CGame and Game VM.
  • Remove name string from VM memory allocate function that was used for sharing memory between Game and CGame DLLs.
  • Add system call to get available memory.
  • Add system call to free memory!
  • void *trap_HeapMalloc( int size )
  • int trap_HeapAvailable( void )
  • void trap_HeapFree( void *data )

Engine

  • Fix cvar default override in mint-game.settings causing error if same name as VM cmd
  • Explicitly set cull type for skybox
  • Don't colorize missing lightmaps by default
  • Add setu2, setu3, setu4 commands
  • Don't list mods that only have Spearmint patch pk3s

VM common

  • Make using Yacc optional, disabled by default

CGame VM

  • Improve keyboard/joystick input in Team Arena UI
  • Fix 4-player splitscreen HUD in 5:4 window
  • Make TrueType fonts match Q3 bitmap sizes
  • Improve TrueType text input cursor fallback
  • Resize cinematic when window is resized
  • Prevent third person from near clipping wall in 16:9
  • Fix team order menu not being centered

Game VM

  • Restore bot activating blocking entity even if predicting obstacles
  • Fix bot team order to kill last player it killed

spearmint-0.4-data.tar.xz only includes the docs and pk3s; for when you're going to compile the engine yourself.