Garry's Mod Logo
Changes Header

Changes

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

add_circle

Features

  • All tools now use the new help system
  • All tools (where applicable) are now using model whitelists to prevent abuse
  • The paint tool now clears decals on the target entity when the reload key is pressed
  • Added limit to the Camera tool (defaults to 10)
  • Added a new Hoverball model
  • Added Partial "Right Click > Edit Properties" support for Balloon, Button, Dynamite, Emitter, Hoverball, Lamp and Light tools
arrow_circle_up

Improvements

  • The color tool copies the target entity's color on right-click and resets the color on reload
  • The material tool now copies the target entity's material on right-click and resets the material on reload
  • The inflator tool now scales adjacent bones properly
  • The faceposer tool can now be used on prop_effect entities
  • Increased the limit of lights created by the light tool
  • Dynamite damage is now clamped properly and cannot be bypassed
  • Duplicator will now transfer data in parts instead of failing when the dupe is too large
handyman

Fixed

  • The inflator tool should no longer freak out on high latency servers
  • The paint tool no longer applies the decals twice on client and it no longer plays the sound twice in multiplayer
  • The muscle tool's "Start On" option is now functional
  • Fixed being able to bypass the light tool's multiplayer limit with Duplicator
  • Fixed being able to bypass the "Cleanup" menu with duplicator
  • Fixed the camera tool adding 1 extra undo when duplicated
add_circle

Features

  • Auto Stretch UI for Paint Tool
  • All prop select panels are now auto sizing in height
arrow_circle_up

Improvements

  • Changed the material tool's context menu to show 4 materials per row
  • Lamp Tool - MatSelect is now 4 images tall
  • Rearranged some controls for tool settings to be more consistent
  • Many improvements to Spawnmenu UI to be less laggy, better scaling, ability to manually resize spawnmenu parts, etc
add_circle

Features

  • Added Undone_Manhack and Undone_Rollermine language strings
  • Added duplicator support to the Eye Poser tool
  • Added large ammo entities to the spawnlist
  • Added alpha support for DModelPanel
arrow_circle_up

Improvements

  • Moved DTabs in DPropertySheet a bit to fix a visual glitch
  • Replaced deprecated function calls with non-deprecated alternatives
  • SBox+Base: Replaced deprecated function calls with non-deprecated alternatives
  • Refactored DTab height to its own method
  • Made DMenu.AddSpacer use the SKIN:PaintMenuSpacer hook
  • Renamed table for entity outputs in base entity
  • Optimized string.Explode and string.Replace
  • Optimized math.Approach
  • Reversed math.Dist and math.Distance definitions
  • Reused CEffectData in selection_indicator effect
handyman

Fixed

  • Fixed a typo in a comment
  • Fixed a tiny spelling mistake in a comment
  • Fixed backwards bunnyhopping
  • Fixed entity autoreload not updating children
  • Fixed DCollapsibleCategory animation sometimes not finishing
  • Fixed multiple issues with DCollapsibleCategory
  • Fixed SKIN:PaintListView not respecting PaintBackground property
  • Fixed debug.Trace formatting
  • Fixed TOOL.GetClientNumber accepting strings as the default value
  • Fixed DImage erroring while being drag'n'dropped
  • Fixed info_player_deathmatch having a higher chance of being selected as a spawnpoint
  • Fixed a problem with Bodygroups property and its interaction with 3rd party mods
remove_circle

Removed

  • Removed SWEP.Precache
  • Removed unused variable
  • Removed useless nil check in DNumSlider
add_circle

Features

  • Added PANEL:OnKeyCodeReleased() hook
  • Added CRecepientFilter support for net.Send
  • Added IGModAudioChannel:GetAverageBitRate()
  • Added Player.AccountID
  • Added Panel:GetDockMargin & Panel:GetDockPadding - both return 4 numbers
  • Added IMaterial:GetVector that returns proper 'unclamped' values
  • Added ProjectedTexture:SetOrthographic
  • Added ProjectedTexture:GetOrthographic
  • Added CNewParticleEffect.Render()
  • Added CNewParticleEffect.SetShouldDraw( bool )
  • Added CNavArea.__eq
  • Added FFT_32768
arrow_circle_up

Improvements

  • render.RedownloadAllLightmaps now updates lighting on static props as well
  • EffectData() now resets its member values
  • Vector() * nil will now error instead of returning empty vector
  • Proper NULL checks for most Vehicle class functions to prevent crashes
  • game.LoadNextMap, game.SetTimeScale, game.SetSkillLevel, game.GetTimeScale, game.GetSkillLevel no longer crash when g_pGameRules = null
  • Weapon.GetPrintName is now shared
  • Renamed IMaterial:GetVector to IMaterial:GetVectorLinear
  • Panel.Remove now causes parent to InvalidateLayout
  • Panel.SizeToChildren does not fail to resize to 0 values
  • Angle() global function now works the same way as Vector() global, i.e. Giving it an Angle object will return a copy of it, etc
  • gmod_tool:CheckLimit() is now shared
handyman

Fixed

  • steamworks library will no longer cause crashes when called shortly before the Lua state is destroyed
  • Fixed timer library in menu state temporarily ceasing to work after starting a new map
  • Fixed Entity:SetEyeTarget() having no effect on "anim" type SENTs
  • Fixed '/**/' being treated as '/*/' in lua lexer (not closing the comment)
  • Fixed not being able to create more than one font with different scanline sizes but otherwise identical parameters
  • Entity.GibBreakClient will no longer crash when used on brush entities ( Can only be called on non BaseAnimating entities )
  • cam.Start now supports "poster" console command in 3D mode
add_circle

Features

  • Added an option to mute all players if you are dead
  • Added missing translations for weapon menu
  • Added a ShouldScore() query at the point where deaths get added. (This helps some addons like the Power Round Addon.)
  • Added hook to set scoreboard row color per player (GM:TTTScoreboardRowColorForPlayer)
arrow_circle_up

Improvements

  • Bumped TTT version
  • Replaced deprecated function calls with non-deprecated alternatives
  • Major optimizations to start round and WEPS.ForcePrecache
  • Improved Autocomplete
  • Replaced most UniqueID usage with SteamID
  • Updated Traditional Chinese translation
  • Updated German translation
  • Improved some German translations
  • Switched some entities to use new Lua API
  • Corrected some strings in German translation
handyman

Fixed

  • Fixed radio calling out dead players
  • Fixed spectators being able to own weapons
  • Fixed possible script error
  • Fixed rare cl_hudpick error
  • Fixed error when using "wepswitch" concommand
  • Fixed identation in some weapon files
  • Fixed up weapon base file
  • Fixed a small issue and remove some unused things
  • Fixed an issue with the Newton Launcher
  • Fixed hiding crosshair breaking Help UI
  • Fixed Beacon item
remove_circle

Removed

  • Removed some unused variables and fixed some smaller things
  • Removed old fretta leftovers
  • Removed unused things
  • Removed unused variable and fixed a small issue