Garry's Mod Logo
Changes Header

Changes

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

add_circle

Features

  • Added Left 4 Dead 2 & other missing map icons
  • Added ability to remove favorite servers from the Favorites list
  • Restored HEV Suit oxygen, sprint and flashlight systems from Half-Life 2 (Disabled by default via gmod_suit console variable)
  • You can now ignite "simple_physics_prop" entity via Ignite property
  • The initial addon mounting in main menu now displays a message that we are doing something
  • Spawnmenu will automatically open UI of currently selected toolmode on when joining a server or starting a new game
  • Added cl_enable_loadingurl, which allows players to disable custom loading screens in the Options menu (#1265) (Community Contribution)
  • Readded point_flesh_effect_target entity, fixing the Half-Life 2 Episode 2 flesh effect on Alyx in "This Vortal Coil" chapter
arrow_circle_up

Improvements

  • Changed default binding for Alt from "Last Weapon" to "Slow walk" (#1559) (Community Contribution)
  • Restored non HDR depth buffer range to 192 from 8192, which fixes particle systems looking weird, clipping through ground
  • Adjusted contrast on disabled checkboxes and combo boxes
  • Updated Ammo HUD to allow secondary ammo to fit at least 3 digits as opposed to the original 1.5
  • Garry's Mod no longer automatically unsubscribes from banned Steam Workshop addons
  • The game now automatically enables the Workshop addon the player unsubscribed from or subscribed to, to reduce cases of addons not working after installing them
  • Improvements to NPCs using the Half-Life 2 crossbow
  • Floating .gma addons do not show rate and install buttons and cannot be disabled
  • Changes to allow larger maps to not crash with "Engine Hunk Overflow" error
  • Fixed non English player nicknames being cutoff
  • Increased map displacement limit to 16384, from 5500, allowing certain CS:GO maps to be loaded
handyman

Fixed

  • Spawnicon editor loads bodygroups from picked models
  • Fixed Lua errors with certain symbol inputs in Sandbox search fields
  • Fixed some weapons (RPG, AR2, HL1 357, Glock, Shotgun) spamming sounds underwater while holding Right Mouse Button
  • Fixed brush ladders and Physics Gun's +use allowing you to fly into air indefinitely
  • Restored func_traintrain's control HUD (Can be disabled by gamemodes via HUDShouldDraw)
  • Fixed some CS:GO maps having terrible looking water and black skyboxes
  • Fixed static props and func_lod's having broken fade distances on CS:GO and Left 4 Dead 1 maps
  • Fixed an issue which caused weapons to go invisible under very specific circumstances
  • Fixed certain decals not receiving shadows from projected textures (lamp tool, flashlights)
  • Player's health and armor are no longer reset on level transition
  • Fixed sun glow sprite disappearing when looking at it
  • Fixed undoing specific history element breaking Undo logic for newly spawned entities
  • Fixed duplicator tool save icons not showing skins and bodygroups
  • Fixed Lamp and Light Tool's glow as well as other mod functionality (util.PixelVisible) not drawing when viewed through a reflective/refractive glass (such as the mirror on gm_construct)
  • Fixed CS:S shells not playing sounds
  • Fixed script_intro entity not working properly in multiplayer after playing for a while
  • Fixed weapon's primary and secondary clips only networking first 8 bits, "limiting" the value in multiplayer to 255
remove_circle

Removed

  • Disabled hull trace surface property (Shotguns applying wrong decals on glass) fix as it caused crashes in certain cases
add_circle

Features

  • Added support for dynamic Render To Texture shadow angles
  • Added support for _castentityshadow in Hammer
  • Added SetShadowsFromLocalLightsEnabled and enableshadowsfromlocallights for shadowcontrol entity
  • Added $treesway support for UnlitGeneric shader
  • You can now drag'n'drop .vmf files onto Hammer to open them
arrow_circle_up

Improvements

  • Some minor code cleanups (Pull Requests #1606 #1603 #1602 #1504) (Community Contribution)
  • Console variables will try to be set to "3" instead of "3.000000"
  • Changed the toolgun RenderTarget to use render.Push/PopRenderTarget() to show the proper way of doing Render To Texture
  • The game no longer tries to delete Steam Workshop files outside of Garry's Mod's directory (ISteamUGC item files)
  • Moved Server Workshop Addons to the ISteamUGC system
  • Dedicated servers now actually mount ISteamUGC addons
handyman

Fixed

  • Clientside only physics scrape sounds (for example from prop gibs) play properly at the entity location, not at world origin
  • Fixed CTransitionTable::OverrideBlendSeparateAlpha and mat_fillrate
  • debug_dump now handles FCVAR_NEVER_AS_STRING convars properly
  • EFL_NO_DAMAGE_FORCES flag now also works on players
  • Taunt cam hides quick info HUD as expected
  • env_explosion's sparks now work as intended
  • Fixed reflections on brushes in Hammer having the checkerboard pattern
  • Fixed a few crashes with NULL physics objects in multi-physics object entities
remove_circle

Removed

  • Got rid of the "Can't init {classname}" console message as it is a duplicate warning of "Attempted to create an unknown entity {classname}"
  • Cleaned up unused argument of Player.PhysgunUnfreeze() (#1604) (Community Contribution)
add_circle

Features

  • Default SWEP:ShootBullet now has 3 optional arguments - ammo_type, force, tracer (#1502) (Community Contribution)
  • Added ITexture.IsErrorTexture
  • Added support for DTVars change callbacks on client
  • Added LuaLocomotion:Set/GetGravity()
  • Added COLOR.Unpack COLOR.SetUnpacked and COLOR.ToTable (#996) (Community Contribution)
  • Added Vector.Unpack, Vector.SetUnpacked and Vector.ToTable
  • Added Angle.Unpack, Angle.SetUnpacked and Angle.ToTable
  • Added VMatrix.Unpack and VMatrix.SetUnpacked
  • Added Entity.Get/SetLightingOriginEntity
  • Added VMatrix.Zero and IsZero
  • Added HSL color functions - HSLToColor, ColorToHSL and COLOR:ToHSL()
  • All DProperties default data type rows, DNumberScratch, DNumSlider and DSlider now support Set/IsEnabled
  • Added optional min and max arguments to Create(Client)ConVar
  • Added ConVar.GetFlags, IsFlagSet, GetMin and GetMax
  • Added Convar.Revert, works only on Lua created ConVars
  • Added Player.GetPreviousWeapon()
  • Added 'ignorez' to Material() function
  • Added sql.IndexExists() (#1105) (Community Contribution)
  • Added Entity.UpdateShadow()
  • Added ENT_ANIM.GetShadowCastDirection() hook
  • Added Player.Set/GetSuitPower
arrow_circle_up

Improvements

  • Moved GM:PlayerShouldTakeDamage definition to init.lua from shared.lua (#1600) (Community Contribution)
  • GM:GravGunPunt is no longer called for NULL entities on client
  • DTooltip will now remove its contents (if appropriate) when its target panel is removed
  • Entity.SetPreventTransmit can now override transmit state of TRANSMIT_ALWAYS
  • Updated Stack (Lua object) implementation (#1566) (Community Contribution)
  • SWEP.TranslateFOV is now shared
  • string.NiceSize calculates MBs not MiBs, etc like the suffix suggests (#1615) (Community Contribution)
  • Second argument of Player.SetFOV is now optional
  • Tightened IsEntityPositionReasonable bounds to avoid crashes
  • Prevented usage of PhysicsInit* and PhysicsDestroy functions on the world entity and ragdolls to avoid crashes
handyman

Fixed

  • DListView_Column.SetFixedWidth with negative values no longer freezes the game
  • Fixed Entity.MapCreatedID() and Entity.CreatedByMap() being set a bit too late for GM:EntityKeyValue
  • Some Derma functions no longer pollute global table (#1598) (Community Contribution)
  • Weapon inheritance doesn't error when baseclass weapon has non table values (#1586) (Community Contribution)
  • Fixed Player.Give's second argument soft-breaking non clip using weapons such as built in frag grenades
  • Fixed Entity.Activate on a SetModelScaled ragdolls causing a crash (It still won't scale ragdolls)
  • Entity.PhysicsDestroy on ragdolls no longer crashes the game
  • Fixed ConVars with FCVAR_NEVER_AS_STRING not firing ConVar change callbacks
  • Fixed SWEP.TranslateFOV not opening area portals
  • Player.GetFOV now returns a float on server to match clientside behavior
  • Managed Lua ConVars save properly with FCVAR_NEVER_AS_STRING flag
arrow_circle_up

Improvements

  • TTT: Optimized type checks (#1596) (Community Contribution)
  • TTT: Micro Optimized loops (#1610) (Community Contribution)
handyman

Fixed

  • TTT: Stop bleeding on respawn (#1611) (Community Contribution)
add_circle

Features

  • Having Half-Life 1: Deathmatch mounted now also adds the Half-Life 1 weapons, entities and NPCs into the spawnmenu
  • Add a message to Addons menu if -noworkshop is active
  • Added search bar for gamemode list in "Find Multiplayer" menu
  • Added gmod_maxammo, defaulted to 9999, affects max carried ammo of players, values below 1 mean use the ammo type's maximum
  • Half-Life 2 jeep gets its gun on Half-Life 2 maps automatically
  • Most local user content (dupes/saves/demos/spawnlsits/toolgun presets) now saves to Steam Cloud automatically
  • Mounting Left 4 Dead 1 will also mount its "The Sacrifice" DLC
  • Added missing Left 4 Dead 1 and CS:GO map icons
  • Added Enabled/Disabled Only filters to Subscriptions in Addons menu
  • Middle mouse click reset feature on sliders works for all default tools in Spawnmenu
  • Half-Life 2 NPCs can use Half-Life 1 .357 Handgun and Shotgun
  • Flechette Gun can be picked up and used by NPCs
arrow_circle_up

Improvements

  • Ragdolls on client will set proper surface property for traces (Bullet holes have correct textures)
  • Gamemode list tries to display prettier/correct-er names (i.e. prefers "Sandbox" over "sandbox")
  • Made the server list usable on 800x600 and below
  • Search boxes in server browser got a border so they are visible on white backgrounds, and are a bit wider
  • Updated TTT to its latest version
  • Trying to load a save with missing map will now display a more explicit/nicer error message
  • NPCs wielding Half-Life 2 Crossbow use Shotgun animations instead and are more accurate with it
  • Disallowed Half-Life 2 NPCs from picking up SLAM, Frag grenade, Bugbait, Physics and Gravity Guns and Half-Life 1 throwables (Satchel, Hand grenade, Tripmine, Snark) since they can't use those weapons
  • The game no longer saves selected gamemode across sessions
  • Centered text vertically in Sandbox's pickup history
handyman

Fixed

  • Fixed Half-Life 1 ammo pickups giving wrong ammo types
  • Fixed some models flickering on Left 4 Dead/CS:GO Maps as well as other visual fixes
  • Fixed Half-Life 1 Osprey and Apache bleeding in multiplayer
  • Fixed some CS:GO maps having weird water around in them (Fixed grenadeclip brushes acting as water)
  • Half-Life 2 shotgun with no ammo no longer tries to force switch away
  • Fixed Half-Life 2 grenade sprite to match its appearance in Half-Life 2
  • Fixed missing textures on Half-Life 1: Deathmatch maps with only Half-Life 1: Deathmatch installed
  • Picking up ammo no longer forces you to switch away from your current weapon
  • Fixed Half-Life 1 Glock spamming sounds with no ammo
  • Weapon selection properly ignores invalid weapon slot commands and doesn't play sounds (slot0, slot7-10 commands)
  • func_breakable_surf break sounds are no longer played at the 0,0,0 position
  • func_breakable_surf and other entity impact sounds are no longer played at 0,0,0 position
  • Restored npc_dog footsteps
  • Fixed Half-Life 2 Ceiling Turret's shooting sounds and muzzle flash effect
  • Fixed visual effects for Stunstick, RPG, Crossbow and Gravity Gun
  • Fixed sounds for RPG, Crossbow and Gravity Gun in multiplayer
  • Fixed Gravity Gun launching jeeps and airboats too hard
  • Fixed Gravity Gun punting not clamping its force (potentially throwing other objects too far)
  • Fixed Rollermine NPC on fire constantly jumping and not doing much else
  • Fixed killing yourself with the Jeep's Gauss Gun making the vehicle bugged, unenterable and sometimes driving forward endlessly
  • Fixed saving a dupe not automatically updating the local dupe list
  • NPCs no longer crash the game when using Half-Life 2 Crossbow
  • Fixed clientside Half-Life 1 gibs not despawning
  • Fixed some Half-Life 1 NPCs spawning Half-Life 2 gibs
  • Fixed NPC support for manhack_welder
  • Fixed NPCs not following the player in multiplayer on some Half-Life 2 campaign maps on which they do in singleplayer
  • Fixed first person spectator weapon effects for Gravity Gun, Physics Gun, Stunstick as well as Bullet tracers
  • Fixed Suit Chargers being unintentionally forced to 30 energy instead of 75
  • Fixed player's speed not being forced by player_speedmod in singleplayer when it should be, for example in the Half-Life 2 teleporter sequence
  • Fixed dying in a trigger_playermovement causing crouching key stuck until retouching the trigger or rejoining the server
  • Fixed Half-Life map transitions/changes resetting player weapons and position unintentionally in Sandbox and Base gamemodes
  • Fixed weapon_fists breaking props in multiplayer not spawning gibs on client (Community Contribution)
  • Restored hud_quickinfo console variable, disabled by default, doesn't save (May require a game restart to disable itself initially)
  • Fixed non-admin players being able to run vehicle_flushscript
  • Fixed Combine Balls not seeking NPCs like they do Players
  • Fixed RPG reload animations playing too soon after shooting a rocket
  • Fixed Nextbot shadows looking bad when they are 400 units or more away from the player
  • Fixed some (server/addon) sounds ceasing to work when switching audio devices
  • Fixed shotgun bullet holes having wrong decals on certain surfaces such as the mirror on gm_construct
  • Fixed SHIFT+F2 not working in main menu after exiting a server
  • Fixed cursor staying on screen indefinitely when releasing context menu button while holding a mouse button
  • Fixed Bodygroups tab in Player Model Selector being invisible in certain cases
  • Fixed potential errors with Spawnicon Editor
remove_circle

Removed

  • Disabled certain duplicate Half-Life 2 pickup history elements still displaying (health/armor kits)