Garry's Mod Logo
Changes Header

Changes

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

arrow_circle_up

Improvements

  • TTT: Added sphere option to .fgd to display radius of ttt_traitor_button in Hammer (Community Contribution)
handyman

Fixed

  • TTT: Fixed infinite traitor selection loop in case of bad console variable value
remove_circle

Removed

  • TTT: Removed unused exploitable console command "wepswitch"
add_circle

Features

  • -allowlocalhttp launch option for servers
  • Extra messages when failing to write map.pack to disk and more verbose warnings when failing to create fonts
arrow_circle_up

Improvements

  • Disable "EmitSound: Whatever out of bounds" and just clamp the values instead of not playing the sound
  • Try to reduce amount of "failed to create font" warnings from badly made addons
  • Switched Steam Workshop support completely to ISteamUGC
handyman

Fixed

  • Non halting Lua errors no longer crash the game in menu state
  • Fixed first font ranges (starting with 0) never working for Lua created fonts
  • Fixed gmad.exe not being able to create files over 500MB
  • Further improved performance with clientside DTVar callbacks
remove_circle

Removed

  • Get rid of menu_reload altogether, since it was disabled ages ago
add_circle

Features

  • Added Entity.GetBrushSurfaces for simple brushes
  • DListView.GetSelectedLine now also returns the actual line panel, not just an index
  • Added steamworks.DownloadUGC( workshopID, fCallback ) - replaces steamworks.Download for game.MountGMA needs (also is also used for dupes/saves/demos)
  • Added cam.GetModelMatrix
  • Added second argument (optional, defaults to false) to cam.PushModelMatrix which multiplies given matrix with the currently active matrix
  • Added Entity.GetNWVarTable()
arrow_circle_up

Improvements

  • Entity arguments now properly error on type mismatch
  • Change DImageButton default preview image to be different from DImage
  • Get rid of steamworks.VoteInfo usage in base game and make it alias of steamworks.FileInfo
  • steamworks.FileInfo now returns the vote info as well (same key names as VoteInfo)
  • Increased Entity.GetMaterials limit to 256 (from 127) for certain maps have a lot of materials and 128 is not enough
  • Added "visibility" key to steamworks.FileInfo, and replaced title and description with "Hidden addon" if they are empty
  • Added stack trace to the rest of non-halting errors produced by Lua functions
  • Upgraded steamworks.Publish to support ISteamUGC and Workshop item updating
  • Apply special TextEntry hack for Panel.GetValue from Panel.GetText to get rid of the 8k char limit
  • steamworks.FileInfo's "children" key uses numbers as keys, not strings
handyman

Fixed

  • util.TableToJSON now properly writes boolean keys
  • Bootil's JSON functions support writing NaNs and Infinity (as nulls), as well as reading nulls (as empty strings) which all now also applies to GMod's JSON functions
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)