Garry's Mod Logo
Changes Header

Changes

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

add_circle

Features

  • •
    Added ClearAllOutputs input to all entities
arrow_circle_up

Improvements

  • •
    Added some crash checks to CShaderSystem::TakeSnapshot
  • •
    Added a message to dedicated server console when not having GSLT about its impact on server ranking
  • •
    Default weapon selection checks GMod's localization files
  • •
    Added more info to Overflow error writing string table baseline host error for debugging
  • •
    Defaulted scr_centertime to 5
  • •
    Replaced self.Owner with self:GetOwner() in base game (Community Contribution)
  • •
    Improved DAdjustableModelPanel movement (Community Contribution)
  • •
    * Removal of hard-coded keys
  • •
    * The cursor is no longer displayed when moving
  • •
    * Fixed a bug where the pitch did not stay between -90 and 90 degrees, which resulted in an inverted yaw
  • •
    * Space and control keys are no longer relative to viewing angle
  • •
    Toolgun improvements (Community Contribution)
  • •
    * toolmode_allow_ convars are now properly replicated to clients
  • •
    * Fixed TOOL:Holster being called twice in the name of releasing ghost entities
  • •
    * Fixed a bug where the toolgun does not call TOOL:Deploy on the first tool that is selected
handyman

Fixed

  • •
    Fixed workshop fonts spamming pointless console messages trying to load from the .gma directly which won't work
  • •
    Fixed effects/base.lua being included twice
  • •
    Fixed ai_debug_enemies (and probably other NPC debug stuff) spewing nonsense to console
  • •
    Fixed crashes when trying get model sprite size with a null sprite/model (and when trying to get model bounds of null model)
  • •
    Fixed a crash when trying to spawn ai_node too early
  • •
    Fixed a crash when calling Spawn() on an entity that deletes itself in the Spawn() function
  • •
    Fixed crashes when an entity has negative skin value
  • •
    Fixed a crash with base NPC when holstering weapon and having no weapon
  • •
    Fixed NPC_CraneDriver crashing when the crane's magnet is removing
  • •
    Fixed prop_dynamic crashing the game when given invalid break usermessage names
  • •
    Added (Cheap)BreakModel user messages that some maps use
  • •
    Fixed Hammer Inputs/Outputs duplicating from base classes
  • •
    Fixed legacy CBaseEntity::FireBullets not setting attacker
  • •
    Fixed FCVAR_REPLICATED cvars resetting to default/keeping server value when joining a server and leaving
  • •
    Unspecified security improvements
  • •
    Fixed a crash on malformed maps to do with overlays on displacements
  • •
    Prop Spawn effect restores original Entity.RenderOverrides
  • •
    Fixed a bug with SCHED_HOLD_RALLY_POINT
  • •
    Fixed potential crashes to do with sounds
  • •
    Optimized some Lua code (Community Contribution)
  • •
    Removed usage of useless varargs (Community Contribution)
  • •
    Don't re-register net receiver for editvariable multiple times (Community Contribution)
add_circle

Features

  • •
    Added surface.GetTextureNameByID
  • •
    Added NPC:SetMaxLookDistance
  • •
    Added NPC:GetMaxLookDistance
  • •
    Added Entity:ClearAllOutputs
  • •
    Added Entity:SetSurroundingBounds
  • •
    Added Entity:SetSurroundingBoundsType
  • •
    Added Entity:GetSurroundingBounds
  • •
    Added optional surfaceprop argument to Entity:PhysicsInitMultiConvex, Entity:PhysicsInitConvex, Entity:PhysicsFromMesh, Entity:PhysicsInitBox. All of them now also get correct physical volume set which helps physics behave correctly
  • •
    Added util.IsBinaryModuleInstalled (Community Contribution)
  • •
    Added string.StartsWith (alias of string.StartWith, for consistency with string.EndsWith) (Community Contribution)
  • •
    Added an option to player_manager.AddValidHands to match hands skin to player model selected skin automatically (Community Contribution)
  • •
    Added "readonly" option to DProperties properties, for editable entities editor (Community Contribution)
  • •
    Added Panel:SetTextSelectionColors for RichText panels
  • •
    Added physenv.GetLastSimulationTime
  • •
    Added Player:DisableWorldClicking & Player:IsWorldClickingDisabled (Not currently networked)
  • •
    Added second argument to string.Comma (Community Contribution)
  • •
    Added Tool:RebuildControlPanel
  • •
    Added Tool:GetClientBool
  • •
    Weapons and Entities can now set their own classname via ClassName property (Community Contribution)
  • •
    Added string.Interpolate (Community Contribution)
  • •
    Added DSlider ConVar support
  • •
    Added DSlider:OnValueChanged
arrow_circle_up

Improvements

  • •
    Made player_manager.AddValidHands skin/body arguments optional
  • •
    Added gmod_language to blocked convars (can still read it)
  • •
    Added sv_password to list of convars Lua cannot read
  • •
    WEAPON:HUDShouldDraw is no longer required to return true to not break HUD (Community Contribution)
  • •
    Minor adjustment to DCheckBox:Toggle's internals (Community Contribution)
  • •
    String extension optimizations (Community Contribution)
  • •
    Cache ConVars created by tools (in TOOL.ClientConVars and TOOL.ServerConVars ) and use them in Tool:GetClientInfo/Tool:GetClientNumber/Tool:GetServerInfo in appropriate realms
handyman

Fixed

  • •
    Fixed NPC:AddEntityRelationship priority argument reading from the wrong argument. Also made it optional (defaults to 0)
  • •
    Fixed non halting Lua error when Derma_Install_Convar_Functions panels attempt to set empty console variable
  • •
    Fixed static CLuaParticles not updating their lighting
  • •
    Fixed a crash when setting player's hull size to nothing
  • •
    Potential fix for a crash with steamworks.DownloadUGC
  • •
    Fixed a bug with Panel:SetCaretPos
  • •
    Fixed IRestore:ReadString having a limit on string length, affecting weapons and others on map transition
  • •
    Fixed potential Lua error in Derma drag'n'drop system (Community Contribution)
  • •
    Added color support and fixed a bug with table.Sanitise/table.DeSanitise (Community Contribution)
  • •
    Made ents.FindByModel support wildcards, and work better clientside
  • •
    Fixed VMatrix:GetTransposed implementation
  • •
    Fixed certain old addons failing to extract with steamworks.DownloadUGC
  • •
    Fixed a crash in DListView with fractional column width
  • •
    Fixed markup text alignment inconsistency (Community Contribution)
  • •
    Made sure Panel:GetChildren table is always sequential
  • •
    Fixed TOOL.Information being modified by code that uses it
add_circle

Features

  • •
    You can now search maps by the name of the Workshop Addon they come from in Start New Game screen
  • •
    Moved potentially conflicting addons detection to Problems menu - potentially conflicting means two addons have the same Lua file with different file sizes
arrow_circle_up

Improvements

  • •
    “Unused Addons” problem will now tell you which files it recommends deleting
  • •
    Attempt to prevent Entities and Weapons spawning out of map bounds when spawned through Spawn menu (Community Contribution)
  • •
    Updated server browser recommendation icons (Community Contribution)
handyman

Fixed

  • •
    Fixed Lua error with Super DOF when activating 5 second hide UI and reopening UI before the timer expires (Community Contribution)
  • •
    Fixed toolgun ghost preview not clearing when switching away from the toolgun using the spawnmenu (Community Contribution)
handyman

Fixed

  • •
    TTT: Fixed a bug with weapon respawning and updated language files (Community Contribution)
add_circle

Features

  • •
    Readded missing mapIO outputs to airboat vehicle
  • •
    Implemented CS:GO soundscape features: playlooping.position "random", playlooping.radius, fadetime
arrow_circle_up

Improvements

  • •
    +vgui_drawtree now requires sv_cheats just like vgui_drawtree 1/0 does
  • •
    Force OS Specific binary module load errors to English
  • •
    Sandbox spawning and entity variable editing bypasses IsAdmin checks in singleplayer, so mods cannot accidentally interfere with basic Sandbox functionality
  • •
    Some changes towards fixing/narrowing down the CSoundPatch update crash
handyman

Fixed

  • •
    Fixed "Steam overlay replacement" window opening links externally
  • •
    Added nullptr safeguards to CMaterialVar::SetTextureValue
  • •
    Unspecified security fixes
  • •
    Fixed crashes when setting null model on players
  • •
    Fixed crash when trying to render world model as entity model
  • •
    Fixed a typo in detail.vbsp
  • •
    Fixed gmod_language resetting to empty string on dedicated servers
  • •
    Fixed in-code documentation comment of table.CollapseKeyValue (Community Contribution)
remove_circle

Removed

  • •
    Deleted Windows steam binaries (used by dedicated servers) as they are now shipped automatically by Steam