Garry's Mod Logo
Changes Header

Changes

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

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
add_circle

Features

  • Added NPC:GetKnownEnemyCount
  • Added NPC:GetKnownEnemies
  • Added NPC:IgnoreEnemyUntil
  • Added NPC:GetTimeEnemyLastReacquired
  • Added NPC:GetLastTimeTookDamageFromEnemy
  • Added NPC:MarkTookDamageFromEnemy
  • Added Entity:GetAnimCount
  • Added NPC:NavSetGoalPos
  • Changed NPC:NavSetGoalTarget - second argument defaults to 0,0,0, sets correct goal type for the path
  • Added CLuaLocomotion:GetDesiredSpeed
  • Added CLuaLocomotion:GetGroundNormal
  • Added math.SnapTo (Community Contribution)
  • Added icons and select fields for DProperty_Combo (Community Contribution)
  • Added Entity:GetSequenceVelocity
  • Made Entity:GetSequenceMoveDist shared
arrow_circle_up

Improvements

  • ServerLog global now obeys sv_logecho convar
  • Save cookies on Lua state shutdown to prevent data loss when disconnecting
  • Render library underflow warnings are now non halting Lua errors
  • Clamped PhysObj:SetMass to safe values (0-50000] to prevent crazy physics
  • CreateConVar/AddConsoleCommand globals now ErrorNoHalt when command creation fails, instead of silently failing
  • Can no longer create concmmands/convars with blocked names
  • Made Player:GetPlayerInfo shared
  • Added snd_buildcache to blocked command list
  • Entity:DropToFloor now checks if the entity is inside world geometry - if it is, do not drop to floor. Should help with stuff ending up underground in certain places, such as NPCs on displacements.
handyman

Fixed

  • Fixed crashes with certain Vehicle functions when used on unsupported vehicles
  • Fixed PhysObj:SetInertia causing unexpected zero-G behaviour when used on frozen physics objects or with invalid values
  • Fixed cam.End crashing when used without cam.Start first (will throw Lua error)
  • Try to end cam.Start calls that are left unended each frame (will display warnings in console when this happens)
  • Fixed CNavLadder & CNavArea's Lua objects not becoming null after removal, causing crashes
  • Fixed Material() not being able to access gamemodes/ folder
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