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
- Added ability to copy Sandbox tool class names via right click context menu
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
- Fixed NPC icons in spawnmenu search not having weapon selection on right click
- Fixed strider stomp attack creating invisible ragdoll with Keep Ragdolls
- Fixed Portal Rocket Turret not updating its facing angles with no target
- Fixed indentation of the gamemode list items (Community Contribution)
- Fixed camera tool entity losing its key binds on level transition, leaving the player potentially stuck in the camera view
- Fixed singleplayer toolgun ghost from saving in map saves as a prop
- Fixed more missing spawnmenu localizations (entity categories and others) (Community Contribution)
- Fixed the game not downloading maps from servers if compressed version exists locally, but wasn't extracted/was corrupted
- Prevent Keyboard options tab from being loaded from addons/mountable games
- Half-Life's Geiger counter only reacts to enabled
trigger_hurts
entities - Fixed inconsistent margins on language list and Start Game button (Community Contribution)
Changes
- Bumped default value of
sbox_maxconstraints
to2000
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 forspin_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
- Added an ever increasing counter to poster file names
- Allow closecaptions in multiplayer with the
closecaption
cvar set to1
(closecaption_mp
for dedicated servers) - Update Portal turret relationships to certain NPCs
- Main menu news panel now has rounded corners to match the rest of the main menu (Community Contribution)
- Do not penalize full servers in the ranking (Community Contribution)
- Do not display effect rings with Gravity Gun equipped
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
- Inputs:
- 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
andTriggerForActivatedPlayer
, 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
forplaylooping
/playrandom
andambientOriginOverride
for "playSoundscape" in soundscapes - Added new options to Run Map dialog in Hammer
- Restored
"JellyFish"
shader
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 calculatingprop_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 =
withdeveloper 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
- Fixed crash when ents.CreateClientProp is given an empty string
- Fixed
logic_collision_pair
and some other obscure entities not calling GM:EntityRemoved - Remove NULL entities from
Entity.Constraints
table when associated constraints are removed - Fixes for
tanktrain_ai
- Fixed sound playback and updated default sounds to existing files
- Added
"Chase Target"
key value - Added missing
"Target Entity"
input to the FGD - Fixed movement & movement speed
!player
target will update to the closest player before every move- Change update rate while moving to 0.1s (from 0.5)
- Updated
C_RPG.MDL
to use correct muzzle flash event and prevent console warning - Fixed a server crash exploit to do with malicious packets
- Fixed bone manipulations (scale, position) being transformed by how much the player moved on level transition
- Fixed which entity is the inflictor/weapon in CTakeDamageInfo when firing built-in C++ weapons, including when NPCs fire them, as well as
trigger_WateryDeath
. - Prevent
.ani
files from loading if they would crash the game i.e. if the.ani
file is smaller than the model expects it to be - Minor code quality & performance improvements to Toolgun Help, RenderTarget related Lua code,
skypaint
matproxy, ToolGun and Post Processing control panels, ents.FindByClassAndParent (Community Contributions) - Update jQuery and reduce reliance on it in main menu, as well as lazy load images (Community Contribution)
- Do not crash with
"bad inline model number"
, show a warning instead - Fixed bone manipulated entitys render bounding box being set to invalid sizes with certain models
- Fixed
"Toggle"
input on some triggers improperly toggling the entity
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
- RemoveDListViewLabel
's Think function since it does nothing inDListView_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
- Change Hitbox 7 color from white to orange for debugging convar/HMLV
- Search for shaders in map file if none were found in the game folder
- Added
"shaders/*.vcs"
to BSP whitelist - Update
screenspace_general
shader with some CS:GO features- Removes
$X360APPCHOOSER
(Use$VertexColor
) - Adds
$VERTEXSHADER
- Added most CS:GO parameters except for C4* and C5* params
- Removes
- Enable
sv_parallel_sendsnapshot
by default - Display a warning when async file read operation tries to read more bytes than there are in the file
- Display HTTP error when FastDL fails to download a file, and its not a 404 error
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
andvgui_drawtree_panelptr
- Deleted unused
resource/chromium/
folder - Removed non existent
commedit.dll
fromsdkenginetools.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
&-StaticPropBounce
for 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
- VRAD: Only show
"Warning! Invalid model version"
with verbose flag - Hammer: Update "Lighting Origin" KV to mention
info_target
, notinfo_lighting
, latter of which is removed on compile and is only meant for static props - Added model scale preview to Hammer
- Added
"starlayers"
toenv_skypaint
in the FGD, and mention the skybox texture name requirement in the entity description - Updated FGDs to include missing GMod specific additions - new rollermine spawnflag and
beam_spotlight
'sSetColor
input - Increase
MAX_MAP_BRUSHES
from16384
to65535
- Hammer: Fixed collision model preview being offset in 3D when dragging
- Hammer: Fixed keybinds for 1 & 2 not updating the render distance setting correctly, resulting in it being reset to previous step when certain actions happen
- Do not set thread count to 1 if the local CPU has more than 32 of them (limited to 64 now, and is clamped instead of resetting)
Lua API Changes
Additions
- Added PhysObj:GetIndex
- Added NPC:SetFOV, NPC:GetFOV (in degrees), NPC:IsInViewCone ( vector/entity )
- Added Entity:AddSpawnFlags, Entity:RemoveSpawnFlags and Entity:SetSpawnFlags (Community Contribution)
- Added
MAX_EDICT_BITS
global enum - Added NPC:GetLastPosition
- Added NPC:GetMoveDelay
- Added NPC:SetMoveDelay
- Added physenv.GetPhysicsPaused
- Added physenv.SetPhysicsPaused
- Added ENTITY:TranslateNavGoal
- Added sound.SetActorGender
- Added
viewid
to render.GetViewSetup, can be used to detect water rendering passes - Added ENTITY:DoImpactEffect for
ai
andnextbot
SENTs - Added CTakeDamageInfo:GetWeapon and CTakeDamageInfo:SetWeapon
- Added Entity:Alive
- Added math.IsNearlyEqual
- Added HWBToColor (Community Contribution)
- Added COLOR:ToHWB (Community Contribution)
- Added COLOR:GetHue, COLOR:SetHue, COLOR:AddHue (Community Contribution)
- Added COLOR:GetSaturation, COLOR:SetSaturation, COLOR:AddSaturation (Community Contribution)
- Added COLOR:GetBrightness, COLOR:SetBrightness, COLOR:AddBrightness (Community Contribution)
- Added COLOR:GetLightness, COLOR:SetLightness, COLOR:AddLightness (Community Contribution)
- Added COLOR:GetWhiteness, COLOR:SetWhiteness, COLOR:AddWhiteness (Community Contribution)
- Added COLOR:GetBlackness, COLOR:SetBlackness, COLOR:AddBlackness (Community Contribution)
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
- gmsave.SaveMap now respects
Entity.DoNotDuplicate
fully
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 inhook.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 ofnil
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
- COLOR:SetUnpacked type checks its inputs
- Made certain Lua errors from Lua-defined functions produce better stack traces
- game.CleanUpMap deletes
C_Hairball
- Make page>file.Writepage> and file.Append return success of file.Open used internally (Community Contribution)
- Added Lua implementations of HSVToColor & HSLToColor for higher performance and ensuring their return value has the Color metatable (Community Contribution)
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