Garry's Mod Logo
Changes Header

Changes

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

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
handyman

Fixed

  • TTT: Fixed "select language" strings in translations (Community Contribution)
  • TTT: Tuned shotgun headshot damage and gave shotgun very small accuracy boost to compensate for shotgun changes in base game (Community Contribution)
  • TTT: Show language names correctly in menu (Community Contribution)
  • TTT: Updated language files (Community Contribution)
  • TTT: Fix low-karma autokick evasion (Community Contribution)