Garry's Mod Logo
Changes Header

Changes

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

add_circle

Features

  • Duplicator tool will now try to figure out what addons are used by the dupe, save that in the dupe file, and display required addons in the duplicator's context menu. This only applies to new dupes
  • Making a map save now stores the Workshop ID of the map file in the save file, and adds the option to subscribe to the map if the map is missing
  • Show severity of problems in the problems menu
  • Failed addon downloads will now show up in the Problems menu with the reason why it failed
  • Added ability to view and revoke granted permissions in the Problems menu
  • Players now have to grant explicit permission for servers to be able to force voice chat on players
arrow_circle_up

Improvements

  • CS:GO lobby is put into correct map category (Community Contribution)
  • Improved addon detection for Lua errors
  • You can now save dupes from the duplicator’s context panel
  • Experiment: Count connecting players as bots until they fully join
  • "Addon is missing its file" problem now shows which addon exactly is broken
  • Updated texture for the painting model
  • Minor optimization to map lighting loading
  • Do not allow npc_barnacle to pick up gibs it itself spits out
  • Force enable episodic behavior when npc_barnacle eats zombies so they are not just spat out as ragdolls
handyman

Fixed

  • Numerous security fixes
  • Improved spawnmenu resilience against addons that do not set Sandbox tool name
arrow_circle_up

Improvements

  • TTT: Updated language files (Community Contribution)
  • TTT: Added a new tip about player voice volume slider (Community Contribution)
handyman

Fixed

  • TTT: Fixed a chat spam exploit with corpses (Community Contribution)
  • TTT: Fixed TTTCanPickupAmmo only allowing 'true' return values (Community Contribution)
add_circle

Features

  • Added an option to show unuseful materials in Hammer's texture browser, which includes: player logo decals, vertexlitgeneric materials, hud/vgui/particle folders. These materials are now hidden by default.
  • Added trigger_catapult entity from Team Fortress 2
arrow_circle_up

Improvements

  • ErrorNoHalt/Error will now display a stack trace in Problems panel
  • include errors now have a stack trace and appear in Problems menu
  • Disallow "Shadow" shader to be used as rope material to prevent crashes/graphical glitches
  • Bump MAX_LUA_FILES to 32k for single player only
  • Add probable cause to the "Failed to lock vertex buffer" message so users can more easily self diagnose
  • Bump MAXSTUDIOANIMS to 3k, MAXSTUDIOSEQUENCES to 2k (from 2k, and 1.5k respectively)
  • Added model name & position to VRAD's "unexpected strips found" error to help debug which static props cause the issue
  • Fixed material name not appearing in "Warning in .VMT file .. " and "Error in .VMT file: error parsing vector element..." warnings
  • Improved loading process to do with Lua files so they are not sometimes redownloaded every time, also makes accessing files from Lua cache potentially faster
  • Bumped MAX(_TOOL)_THREADS to 64 (4x previous limit)
  • Replace some possibly incorrect usage of FLT_MIN with -FLT_MAX, affects IKRules and displacements
  • Updated Steamworks SDK to v1.53a
  • m_flCycle is now networked in range of -1 to 1, from 0 to 1, fixing airboat spamming errors when going backwards in multiplayer
handyman

Fixed

  • Fixed C_FireSmoke particle crash for good
  • Fixed potential security issue with gmad.exe and specially crafted .gma files when extracting
  • Potential fix for a crash with C_OP_RenderRope particle render operation
  • Fixed a potential bug in materialsystem to do with Power of 2 rejection on texture load
  • Fixed a bug in the materialsystem where NoMip textures were trying to read past EOF looking for mipmaps, resulting in "Error unserializing VTF file... is the file empty?" errors
  • Display warnings and try to prevent a crash when an NPC's memory is about to overflow
  • Fixed a crash due to out of bounds sequences with IK Rules and AccumulatePose
  • Fixed some addons that extract/load correctly on client not loading/extracting correctly on server. Both cases now simply display a warning before trying to extract
  • Fixed crashes when the File object in steamworks.DownloadUGC's callback is closed prematurely
  • Fixed a crash in CSoundPatch.__tostring when used on invalid sounds
  • Fixed func_movelinear spamming sounds when used with momentary_rot_button
  • Fixed remaining potential crashes with npc_barnacle when its tongue entity is removed
remove_circle

Removed

  • Removed 'heartbeat' console command
  • Removed env_hudhint entity
add_circle

Features

  • Added second argument to util.Base64Encode - skipNewLines, defaults to false
  • Added spawnmenu.SwitchCreationTab
  • Added VMatrix.Add, VMatrix.Sub and VMatrix.Mul (matrix*matrix only)
  • Added VMatrix.GetTransposed
  • Added Angle.Random
  • Added Vector.Random, Vector.Negate, Vector.GetNegated
  • HTTP() function now has a timeout field, which dictates the network activity timeout, and will fail with reason "timeout" if it is hit
  • Added render.GetViewSetup() - returns the CViewSetup stuff including both real FOVs and the de-corrected for aspect ratio FOV
  • Filesystem search now works with map's PAK lump (file.Find included)
  • Added CUserCmd.AddKey
  • Added table.Shuffle (Community Contribution)
  • Added a new library: math.ease (Community Contribution)
  • Added DComboBox:OnMenuOpened( menu ) (Community Contribution)
  • Added table.MemberValuesFromKey (Community Contribution)
  • Added ENTITY:AddOutputFromKeyValue and ENTITY:AddOutputFromAcceptInput (Community Contribution)
  • Added SlowWalkSpeed to player_manager (Community Contribution)
  • Added DForm.PropSelect, ControlPanel.ToolPresets, ControlPanel.ColorPicker and ControlPanel.KeyBinder (Community Contribution)
  • Added math.DistanceSqr (Community Contribution)
  • Added support for 3 new types in AccessorFunc() - Vector, Angle and Color (Community Contribution)
  • markup library improvements - Adds markup.Escape, markup.Color, MarkupObject:GetMaxWidth, new argument to MarkupObject:Draw (Community Contribution)
  • Added permissions.EnableVoiceChat( bool )
  • Added CLuaLocomotion.Get/SetClimbAllowed
  • Added CLuaLocomotion.Get/SetJumpGapsAllowed
  • Added CLuaLocomotion.Get/SetAvoidAllowed
  • Added new argument to net.WriteColor - alpha (Community Contribution)
  • Added new argument to net.ReadColor - alpha (Community Contribution)
arrow_circle_up

Improvements

  • Better implementation of Player.IsUserGroup (Community Contribution)
  • util.GetModelMeshes is now also available serverside
  • Entity:SetBodyGroups now accepts a-z as 10-35
  • Disallowed include()ing non .lua files
  • Made Entity.GetBloodColor shared
  • stopsound also shuts down all CSoundPatches (So their IsPlaying status resets to false)
  • Made hook.Add/Remove not silently fail on arg type mismatch (Community Contribution)
  • Micro optimization in draw.SimpleText (Community Contribution)
  • Minor optimizations to string.Comma (Community Contribution)
  • Added +voicerecord to blocked console command list - use permissions.EnableVoiceChat instead
  • GM:PlayerAmmoChanged now runs AFTER the ammo count has been changed
  • Made File:Read() size argument optional, defaulting to File:Size()
handyman

Fixed

  • file.Exists now works with addon title pathIDs like file.Find
  • Fixed spawnmenu.SwitchToolTab doing nothing
  • Fixed constraint.GetAllConstrainedEntities returning all entities constrained to world if the given entity is constrained to world
  • Fixed Entity.StopLoopingSound() not working as expected when multiple sounds are involved
  • Fixed table.RemoveByValue throwing an error when key is not a number (Community Contribution)
  • Fixed invalid argument being given to TextEntry.AllowInput with non ASCII characters (Windows and OSX)
  • Fixed potential Lua errors in scripted_ents library (Community Contribution)
  • Fixed a linux crash with file.AsyncRead
add_circle

Features

  • Added ability to clear Lua errors per category/group in the Problems menu
  • Added "menu_cleanupgmas", "mat_specular 0" and "Addon missing file, nothing to mount" issues to Problems panel
  • Added file size of the current file and total file count to non-Workshop server downloads
  • Added addon count and selected count to the addon menu (in the popup menu with filters/etc)
  • Added a visual bounding box of the current dupe to the duplicator tool
  • Rope related tools now can now color the ropes (will depend on whether the selected material supports this or not)
arrow_circle_up

Improvements

  • DNumSlider now colors the notches and the DTextEntry text to match the slider label
  • Improved slider notch rendering
  • Ensure all notches have at least 1 pixel between each other
  • Fixed the last notch not rendering for sliders with a range that isn't a whole number
  • Made the selected flag filters be per gamemode, not global per server browser tab
  • Made the addon selection checkboxes bigger and updated their style to match modern Chromium visuals
  • Also added a bit of space between the clickable addon name and the checkbox to prevent misclicks
  • Minor visual tweaks to the addons and server browser menus
  • Made the "Future version" tag in the server browser less visually prominent
  • Added default values to the Super DOF UI sliders (Middle mouse click resets to default)
  • Problems menu no longer complains about DirectX Level 90
  • Server browser no longer lists servers that are not empty first and then only empty servers (to bypass Steam limitations), now lists whatever Steam gives first
  • Undone server browser minimum ping penalty where servers < 60 ping would all be considered as having 40 ping for server ranking
  • Added description to local saves/dupes/demos telling the player where they can delete them
  • "Select All" button now selects all addons within current search/filter, not all subscriptions
  • Removed selection checkboxes for floating .gma addons
  • Made the background of a disabled addon darker so its more obvious when an addon is disabled
  • More responsive controls for drive_noclip for "Drive" property
  • Unmount addons mounted by server on map shutdown
  • Confirmation window for “Do you want to connect to this server” now also has a “remember my choice” option
  • Added map icons for new CS: GO maps
  • Increased forced defaults of "rate", "cl_cmd/updaterate" console variables to 100k and 66, from 30k and 30 respectively. This only affects clientside settings, which are overridden by server's settings (sv_maxrate, etc). This should result in better ping/performance when playing on busy servers
  • Updated language files
handyman

Fixed

  • Fixed env_sun glow overlay not working properly with the poster command
  • Fixed the first preset group not loading correctly on first map load
  • Loading a save from main menu now properly sets the player position
  • Fixed Lua errors in menu state when searching through addons with special symbols
  • Fixed Hoverball tool creating Lua errors when looking at an invalid entity with the tool selected
  • Fixed the option to re-render all spawnmenu icons not working properly
  • Adjusted the cl_weaponcolor safeguard against invisible colors to catch more cases
  • Fixed a regression with gamemode search bar changes from previous update where it expected the input to be lowercase at all times
  • Changed 'slam' ammo type's default maximum to 5 from 9999 (gmod_maxammo still overrides this if above 0)
  • Fixed certain language files not being loaded on Linux operating system
  • Fixed shooting weapons while in a vehicle not shooting directly at the player’s crosshair
  • Fixed default spawncions not being editable
  • cl_downloadfilter "mapsonly" also works with workshop addons now (checks for the “map” tag on addons)
  • Fixed Winch/Rope texture scaling wrapping around at length of 100
  • Fixed clientside player velocity for non local players being jittery and incorrect when standing on something moving
  • Fixed crash issues with npc_barnacle when its tongue entity gets deleted
  • Fixed crash issue when damaging Antlion Guard NPC
  • Fixed a potential crash issue with ragdoll physics
  • Fixed prop_vehicle_crane crashing the game when it is missing its magnet entity
  • Fixed Lua errors when trying to load a save with phys_magnets that were created by the map when saving
  • You can freeze Jeeps/Custom Vehicles with the Physics Gun once again