Garry's Mod Wiki

Update Preview Changelog

This page contains upcoming changes to the game in the next update. The update date is available on the Steam News section for Garry's Mod.

The update is already accessible on the dev beta branch, and possibly on the prerelease beta branch.

Game Changes

Additions

  • Added Portal 2 Coop player spawn points
  • Added all missing Portal 2 map icons
  • Added visual placeholder entities for Portal 2 excursion funnel, Wheatley boss and npc_personality_core
  • Added Hacked and Harmless Rollermine variants to spawnmenu

Fixes

  • Fixed some props in Portal 2 appearing rainbow-y
  • Fixed "missing sound common/null.wav" when throwing grenades
  • Fixed Mega Gravity Gun not being able to pick up flesh
  • Fixed base Lua SWEPs not using correct localization strings
  • Fixed unicode addon name display for Workshop Addons when they are downloaded while joining servers
  • Fixed player death ragdoll forces always being applied to center - now applies forces to the body part that was shot

Changes

  • Bumped default value of sbox_maxconstraints to 2000 to account for larger dupes/saves
  • Make Sniper kills in "Alyx as sniper" sections in Half-Life 2 episodes appear as Alyx in the kill feed
  • Fixed mass-adjusted punt forces being applied to Mega Gravity Gun
  • Fixed Gravity Gun forces being Launch-forces at all times for prop_physics due to a previous fix for spin_none physics interaction
  • Removed cheat flag from cl_wpn_sway_scale
  • Localization support for crosshair customization (Community Contribution)
  • Added a Player Model Selector button to spawnmenu

Deletions

  • Do not apply spawnmenu names to map-spawned NPCs in kill feed - it was too error prone

TTT Changes

  • Updated TTT Russian localization (Community Contribution)

Technical Changes

Additions

  • Added some generic logic entities from Portal 2 - logic_register_activator, logic_coop_manager, point_viewcontrol_multiplayer, point_viewproxy, generic enough to be useful outside of Portal 2
  • Added new inputs/keyvalues to prop_vehicle_choreo_generic from Portal 2
    • Inputs: SetCanShoot, UseAttachmentEyes, SetMaxPitch, SetMinPitch, SetMaxYaw, SetMinYaw
    • Key-values: playercanshoot, useattachmenteyes
  • Enable DMX versions 3, 4 and 5 loading for particles from newer games
  • Ported most particle related features from CS:GO
  • Added 2 new spawnflags to env_player_surface_trigger - Trigger on player(s) leaving ground & Set output activator to the player
  • New inputs to game_text - SetText, SetPosX, SetPosY, SetTextColor, SetTextColor2
  • New inputs for game_player_equip - TriggerForAllPlayers and TriggerForActivatedPlayer, as well as "Strip All Weapons First" spawnflag
  • Added skybox_swapper entity
  • Added particle-based func_precipitation types from CS:GO
  • Added ability to override func_precipitation particles
  • Implemented func_precipitation_blocker
  • Implemented origin for playlooping/playrandom and ambientOriginOverride for "playSoundscape" in soundscapes
  • Added new options to Run Map dialog in Hammer

Fixes

  • Fixed some minor memory leaks - These are mostly in developer features to do with KeyValues, not normal gameplay
  • Initialize m_rgflCoordinateFrame on creation clientside - This fixes certain matrices being nulled out when they are not supposed to, such as when calculating prop_vehicle_choreo_generic look angles
  • Allow loading PCF version 2 in -tools
  • Fixed many, many potential crashes with the particle system
  • Added missing materials for legacy Ash precipitation type
  • Fixed 2 "Parent cvar in server.dll not allowed" warnings on client start up
  • Do not print cc_lang = with developer 1
  • Fixed "Not playing a local game" being printed on game start up
  • Fixed some warnings on map load when Portal 1 or Half-Life Source are not mounted
  • Fixed crashes with func_tank

Changes

  • Do not estimate velocity clientside since we network it for every entity anyway
  • Moved "SOLID_VPHYSICS static prop with no vphysics" warning to developer 1
  • Made particle preview background slightly lighter (32,32,32)
  • Use networked velocity for entities that set it serverside
    • Physics entities such as props, vehicles, SENTS do not set their velocity, since its all handled by the physics engine, so it ends up not actually being networked
  • Set the default particle orientation in Particle Editor on creation
  • Added particle material name to "unimplemented sprite renderer" warning (.pcf particles)
  • Force Sandbox tool classnames to lowercase at all times to fix a bug in multiplayer where the client and server classname could have mismatching capitalization
  • Applied potential filesystem optimization suggested by the community
  • Micro optimization for SWEP think
  • Optimize DListView_Line - Remove DListViewLabel's Think function since it does nothing in DListView_Line anyway
  • Micro optimization for Entity.__index (Community Contribution)
  • Micro optimizations for team library (Community Contribution)
  • Fixed "Bad SetLocalOrigin on gmod_hands" warning (Community Contribution)
  • Potential micro optimizations in localization loading/parsing
  • Fixed a small memory leak in gamemode .txt file parsing
  • Fixed a small memory leak with saving presets (preset library)
  • Fixed small potential memory leak with creating Lua bone followers
  • Store disabled workshop addon IDs as Uint64 instead of IDs turned to strings - should save some memory
  • Clear CShadowDepthView to black instead of white - fixes reflective glass on certain maps having while glow with flashlight turned on
  • Do not throttle loopback (local servers) connections when sending data from server to client
  • Check allocated edict count before allocating more - this should prevent "ED_Alloc: no free edicts" crashes when spam spawning hundreds of entities per second
  • Improved X-axis text inset handling with center alignment (for DButton when an icon is use)
  • Made Hammer use gmod.exe when generating GameConfig.txt

Deletions

  • Removed scratchpad from game builds
  • Removed bloodspray console command
  • Removed some perforce VGUI panels from builds
  • Removed some useless strings from garrysmod_english.txt
  • Hidden mat_surfaceid and vgui_drawtree_panelptr
  • Deleted unused resource/chromium/ folder
  • Removed non existent commedit.dll from sdkenginetools.txt
  • Removed cl_threaded_client_leaf_system convar, which was doing nothing since 2016

Developer tool changes

  • Added light_directional support for vrad.exe
  • Some other VRAD changes - There are also changes to do with displacement lightmaps from CS:GO, supposedly should be better between brushes/displacements
  • Implement -StaticPropSampleScale & -StaticPropBouncefor VRAD from CS:GO
  • Added -softenCosine for VRAD
  • Added missing HLFaceposer.exe icons
  • Fixed a crash in HLFaceposer.exe when opening file lists when files are in VPKs
  • Fixed HLFaceposer.exe crash due to missing phoneme extractor DLLs

Lua API Changes

Additions

Fixes

  • Fixed not being able to StopSound generated sounds
  • Fixed clientside only entities being considered map created by Entity:CreatedByMap
  • Fixed DAdjustableModelPanel spazzing out when main menu is open by ignoring mouse input

Changes

  • Display a non halting error when teamID in Player:SetTeam would not network correctly
  • GM:ClientSignOnStateChanged is no longer called for HLTV clients
  • util.IsValidModel uses meshcount to determine useless models, instead of hardcoded path substrings, which is error prone
  • Do not IsValid the ident in hook.Add & hook.Remove - The check was added solely to print an error for invalid types, but NULL entity is still an entity
  • Make Entity:IsOnFire return false instead of nil for non animated entities
  • Entity:FollowBone doesn't check the boneID argument if given a NULL entity, or no arguments at all
  • Cache gamemode table for gamemode.Call and hook.Run (Community Contribution)
  • engine.CloseServer now returns true if quit command was issued, and fix it not working immediately on server start up

Deletions

  • Removed last 3 parameters of engine.WriteSave which are now handled in-engine automatically
  • Added timedemo and related console variables/console commands to blocked list