Garry's Mod Logo
Changes Header

Changes

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

add_circle

Features

  • Added NextBot.GetLastKnownArea and NextBot.ClearLastKnownArea
  • Added OnHalfEmpty, OnEmpty and OnFull outputs to func_healthcharger, to match func_recharge
arrow_circle_up

Improvements

  • Allowed physgunning persistent props when persistence is disabled
  • Disallowed physics creation/destruction functions from being called on jeeps/airboats to prevent crashes
  • Improved save loading so it sets player ownership of spawned entities to a player in more cases
  • Put motionsensor.GetColourMaterial behind a clientside permission
  • Failing to save jpeg screenshots/posters actually says that it failed in console
  • Added console warnings when npc_apcdriver/npc_vehicledriver is removed due to it not having its vehicle to drive
handyman

Fixed

  • Fixed Half Life 1 sentry ragdolls not cleaning up on map cleanup. Also fixed their collisions and inability to hit the player at certain player angles
  • Fixed a crash in the DSP system
  • Fixed a crash with NPC:SetNPCClass
  • Fixed a typo in hook.Remove error (Community Contribution)
  • Fixed security issues
  • Fixed DIconLayout counting border size 2 times when laying out icons (Community Contribution)
  • Flash the game window when loading screen disappears to let the player know the loading is finished
  • Fixed hook.Add giving a less than useful error when given a nil to second argument
  • Fixed vgui_slideshow_display crashing the game without materials to display
  • Fixed a crash when trying to play bad ADPCM .wav files
  • Fixed file.AsyncRead returning garbage when the target file has no data
  • Fixed an issue with halo library not resetting color of pp/copy, which in some cases makes usage of halo library fill the whole screen with a color
  • Fixed Lua errors when trying to activate non Toggle Camera or Dynamite from a tool Button that was loaded from a save in multiplayer
  • Fixed a regression with string.Comma where it wouldn't format huge numbers properly
  • Fixed func_healthcharger and func_recharge not updating its texture index
  • Fixed crashing with npc_apcdriver when it doesn't have its vehicle
  • TTT: Fix ammo ents blocking +use near other entities (Community contribution)
add_circle

Features

  • Added string = util.FilterText( input, context, player )
  • Added TEXT_FILTER_ enums
  • Added safeguards to DownloadUGC when Steam sends us a null SteamUGCQueryCompleted_t
  • Add OS specific errors to binary module loading errors
  • Implemented Steam chat filter to the default chat box (profanity filter is toggleable in the Filters section of the default chatbox, Steam preferences apply)
arrow_circle_up

Improvements

  • Spawnmenu search now resets its model cache when addons/games are remounted
  • surface.DrawLine now uses floats not integers
  • "Stop Persisting" property will now also be hidden when persistence is disabled
  • Make it more clear that changing sbox_persist while in-game will cleanup the map
  • Do not clean up map when disabling persistence
  • Reduce Faceposer tool's convar count to 96 (from 128) to match the actual limit in the engine
handyman

Fixed

  • Fixed 2 server lag exploits with default properties
  • Fixed "join game" not showing up in Steam for P2P games after a changelevel
  • Fixed a stack overflow with DListView and columns inserted at specific positions
  • Fixes a server crash with no collide constraint.
  • Fixed DTextEntry's automatic line breaks causing an infinite loop hang with specially formatted text containing a lot of whitespace
  • Fixed GM:PlayerAmmoChanged reporting incorrect new ammo count when called from Player:GiveAmmo
  • Prisoner pod and chair vehicles now react to damage physically, driver takes explosion damage, calls GM:EntityTakeDamage hook
  • Potential fix for crash relating to env_microphone's measure target entity
  • Potential fix for a crash within CFontTextureRegen
  • Fixed GMODLUA_GetUserType leaking onto the Lua stack (this only affects binary modules and the type() function, when using custom userdata types)
  • Fixed changing persistence in-game saving to the wrong file if the cvar changed too quickly within the 2 second timer
  • Disabling hoverballs now adjusts their mass so they are not abnormally heavy when disabled, improved duplicator support for the disabled state
remove_circle

Removed

  • Downgrade Steamworks SDK to 1.50 as the newer version was causing issues
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