Garry's Mod Logo
Changes Header

Changes

What’s changed in Garry's Mod in each patch.

add_circle

Features

  • Added inputs to light_environment, removed point_clientcommand and point_servercommand since they do not work in Garry's Mod.
arrow_circle_up

Improvements

  • Increase MAXSTUDIOSKINS for studiomdl.exe from 32 to 64
  • Removed MAX_TEXLIGHTS limit from VRAD
  • Improve version 49 model support for VRAD static prop lightmaps
  • VRAD: -allowdynamicpropsasstatic also allows props without $staticprop
  • Apply sanity checks for model loading from base game client to VRAD
  • VBSP displays a warning/error when vphysics.dll/shaderapiempty.dll are missing, instead of crashing
  • More colors for Lightmap Grid in Hammer for super small (red) and super large (green) lightmap scales
handyman

Fixed

  • Fixed 3D grid not rendering correctly in Hammer due to recent changes
  • Fixed VRAD always forcing -verbose to being enabled
  • VRAD static prop lightmap system respects selected model skin (fixes a crash with malformed models as well)
  • Removed links to dead Valve websites, link to Valve Developer Community instead (Hammer & tools)
add_circle

Features

  • Added list.GetEntry (Community Contribution)
  • Added list.RemoveEntry (Community Contribution)
  • Added GM:OnClientLuaError( error, ply, stack, addon_name )
  • Added new info to util.GetModelInfo - IncludeModelCount, IncludeModels and HitBoxSets
  • Added ents.CreateClientRope
  • Added sql.QueryTyped (Community Contribution)
  • Added Color:Copy method (Community Contribution)
  • Added player.GetCountConnecting
  • Added ai.GetNodeCount
  • Added HexToColor, Color:ToHex (Community Contribution)
  • Added CtrlNumPad:GetValue1/CtrlNumPad:GetValue2 (Community Contribution)
arrow_circle_up

Improvements

  • Throw a non halting Lua error when giving invalid types to Entity:SetNetworkedVar (and the other SetNetworkedX functions)
  • Throw a non halting Lua error when trying to read net message past its end (Limited to lua_strict being set to 1)
  • Added engine_no_focus_sleep to blocked convar list
  • On dedicated servers, BRANCH returns "unknown" instead of "prerelease" - Since the builds are identical 99% of the time, "unknown" is the more expected value. This way, it's incorrect only in 0.01% instances of servers using the prerelease beta, instead of most of the time when not using any beta.
  • Apply changes to type() function for speed improvements (Server/menu) (Community Contribution)
  • CUserCmd:GetMouseY/X values on the server are now independent of client FPS of the associated player
  • constraint.Motor accepts a bool for "toggle" parameter (was only accepting 0 or 1)
  • Do not try to run HTTP requests with invalid URLs at all
  • Run GM:PlayerBindPress for unbound keys too
  • numpad library discards bindings to KEY_NONE (Community Contribution)
  • Remove tostring call on the argument of player.GetBySteamID64, since it is supposed to be a string at all times anyway (Community Contribution)
  • Optimized all player.Get* functions a bit
  • Optimized all ents.Get* and ents.Find* functions
  • Improved reliability of entity iterator functions
  • string.ToColor micro-optimization (Community Contribution)
  • Disallow calling Entity:Spawn on the world entity
  • Make util.RemoveDecalsAt distance a float, and use squared distances internally
  • Added IMesh.__tostring method with format IMesh [X verts, Y indices]
  • Throw a non halting error when ENTITY:GetRenderMesh returns a mesh. but not a material
  • Prevent a crashing issue with multicore rendering and IMesh:BuildFromTriangles
handyman

Fixed

  • Fixed double clicks not invoking GM:VGUIMousePressAllowed hook
  • Player:VoiceVolume works for local player without voice_loopback - This only works when using Steam voice, and only when not recording voice to file. (The default state)
  • Fixed IGModAudioChannel:GetPos returning invalid values sometimes
  • Fixed Player:GetAimVector clientside for non local players in vehicles always pointing in the same direction relative to the vehicle
  • Fixed worldspawn entity not calling entity create/remove hooks correctly clientside
  • Fixed clientside ragdolls not calling GM:EntityRemoved
  • Consistent Player:SteamID returns for multirun clients between client/server
  • Fixed VMatrix:InvertTR returning invalid values
  • Made VMatrix:GetAngles be less affected by matrix scale
  • Fixed "timeout" not working in HTTP on client, clamp it to 1-3600
arrow_circle_up

Improvements

  • Throw a non halting Lua error when hitting Lua file limit, to let players know that they have hit the limit
handyman

Fixed

  • Fixed a regression crash on Linux when almost finished loading a map
  • Prevent crashes with steamworks library when used too early on dedicated servers
  • Fixed console spam about invalid sprite orientation when the sprite material is simply missing
  • Fixed HLTV clients being kicked due to mismatching SteamID
  • Fixed a crash to do with env_projected_texture's texture
  • Fixed some security issues reported on HackerOne
  • Remove unnecessary return value in WorldPickerMouseDisable hook so GM:VGUIMousePressAllowed hook works more reliably for addons (Community Contribution)
  • Fixed Lua error with creator tool when trying to spawn NPCs that do not exist on the server (Community Contribution)
  • Blocked .vdf and specific .cfg files from being accessible by the Lua file library
  • Added one more known Lua backdoor URL to HTTP blacklist
  • Increased default value of mem_max_heapsize to 512, and block it from being changed by Lua API
  • Block datacachesize convar from being changed by Lua API, to prevent crashes when set to invalid values
  • Fixed monitor (and potentially other) materials in Hammer acting strangely when using "Fit" option in texture application tool.
handyman

Fixed

  • Fixed Hammer Editor crashing when browsing for models (Regression)
add_circle

Features

  • Add an option to disable the Karma system via the main menu "New Game" hosting (Community Contribution)
arrow_circle_up

Improvements

  • Updated localization files (Community Contribution)
  • Added FCVAR_NOTIFY to various ConVars (Community Contribution)
  • If voice drain is enabled, it will not be applied to admins anymore by default (Community Contribution)
  • Changed some text used in the main menu "New Game" section (Community Contribution)
  • Allow Innocents to pick-up dropped Detective hats by default (Community Contribution)
handyman

Fixed

  • Fixed inconsistency for default values in terrortown.txt (Community Contribution)
  • Fixed players sometimes being revealed as dead when they chat/voicechat right as they die again (Community Contribution)