Garry's Mod Logo
Changes Header

Changes

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

arrow_circle_up

Improvements

  • Updated Portuguese translation for TTT (Community Contribution)
add_circle

Features

  • Hammer: Allow right click on 3D view to activate FPS camera controls, on tools where right click in 3D view is not used
  • Added point_viewcontrol features from CSGO: SetTarget/SetTargetAttachment/ReturnToEyes/TeleportToView/SetTrackSpeed/SetPath inputs, "fov" "trackspeed "fov_rate" keyvalues, Set FOV spawnflag
  • Added env_sprite_clientside
  • env_projectedtexture: Added "style" and "pattern" keyvalues/inputs, SetNear/FarZ inputs and more
  • Added simple multiplayer support for color_correction_volume
  • Added info_particle_target as alias of info_target
  • Added prop_dynamic_glow as alias of prop_dynamic
arrow_circle_up

Improvements

  • Replaced a bunch of Color( 255, 255, 255 ) cases with color_white, etc
  • Hammer: Made the "Default to 15 degree rotations" setting invert what SHIFT does during rotation, not outright enable/disable it
  • Restored invalid model file header checks for VRAD
  • More descriptive error messages when Msg* functions fail to call tostring()
  • Avoid kicking players for "Connection rejected by game"
  • Crash with a nicer message on maps that have (purposefully) corrupted first lump
  • Better Orbit camera for DAdjustableModelPanel
  • Added server related steam error code translations
  • Minor improvements to PrintTable() (Community Contribution)
  • Switched steamworks.GetList to ISteamUGC
  • Better error handling for compressed map lump loading
  • The game no longer loads "Do not mount" state for unsubscribed addons
  • Combined the two loops in weapons.Register into one
  • Print a console message when game is started with -noaddons
  • Increased precision of rotation for all entities to fix prediction errors (lagginess) when walking on frozen props at not straight angles
  • Doubled maximum ammo types
handyman

Fixed

  • Fixed a crash related to shadow rendering
  • Fixed DNumberScratch's value going out of bounds of the blue background with huge values
  • Preventative fix for large Lua files causing clients to get stuck on loading or completely breaking a server with autorefresh
  • Fixed GMOD_SendToClient having inflated buffer sizes
  • Do not rebuild Derma skin on ALL panels when some single panel gets its skin set
  • Dtooltip inherits derma skin from the panel it is opened for
  • Fixed Hammer not loading vgui language files
  • Fixed certain labels/buttons in Hammer model picker being cut off
  • Fixed HLMV not being able to open VPK folders (and potentially other places not detecting VPK folders)
  • VRAD no longer crashes with invalid model versions on static props (i.e. Portal 2/CSGO models)
  • VRAD no longer bails compiling vertex lighting for static props with invalid model versions
  • VRAD now uses DX90 (used DX8 versions before) vertex format for vertex lighting of static props
  • Fixed "snap to grid" display in Hammer not updating when it should
  • Fixed "Browse" for func_instance in Hammer not filling the field properly when map .vmf is not located in the GarrysMod/garrysmod/maps folder
  • Fixed (env_)explosions not respecting the NODLIGHTS flag
  • Fixed a crash to do with built-in weapons
  • env_projectedtexture shadows can now be turned on while the projected texture is on (previously required the projected texture to be turned off)
  • Fixed hover state of DSlider's draggable "knob"
  • Overflowing serverside sound precache no longer boots you to main menu/crashes the server
  • Fixed MP3/OGG sounds being cached even when they don't exist/failed to load
  • Fixed Lua errors when thrusters are trying to use NULL particle emitters
  • Force disconnecting players to leave their current vehicle properly
  • Fixed Icon Editor erroring when editing a spawnicon which was removed (spawnmenu_reload)
  • Hammer and entity templates can now properly handle post Left 4 Dead 1 map entity Input/Output (ESC delimiter instead of a comma)
  • Fixed a crash with npc_alyx shooting on a server with no players
  • Changed bodygroups to use unsigned integers over signed integers to prevent crashing and increase the bodygroup combination limit somewhat
  • npc_combinegunship's ground attack spawnflag and inputs work now
  • trigger_teleport ejects player from a vehicle when teleporting with the "Only Players In Vehicles" spawnflag
  • Hammer: Fixed .fgd flag/array values inheritance, so spawnflags on trigger_teleport are no longer missing (possibly fixes other entities too)
  • Fixed an infinite loop with CAI_TrackPather on ep2_outland_11a (and possibly other maps/places)
remove_circle

Removed

  • Removed usage of SendLua in the undo library
  • Removed some unused variables from Sandbox entities
  • Removed internal STUDIO_TWOPASS hack for Lua entities to hopefully fix the render order issues for good
  • Rollback render.ClearDepth change for DModelPanel as it causes issues for addons
add_circle

Features

  • Added new argument to Entity.EmitSound - flags, and fixed type checking for the other optional arguments, including pitch and volume arguments not working if soundlevel argument is not given
  • Added 5th optional argument for surface.DrawOutlinedRect - thickness
  • Added ENT/SWEP.IconOverride (Also works for NPCs/Vehicles)
  • Added sound.EmitHint( SOUND_ enum, position, volume, duration, owner = NULL )
  • Added SOUND_ enums
  • Added "NiceName" read only field to Undo structure, contains the text shown in player's undo list UI (Community Contribution)
  • Added basic soundscript support for EmitSound global
  • Added "size" and "updated" (date) keys to engine.GetAddons()
  • Added new optional argument to Entity.DrawModel() - flags (STUDIO_)
  • PrePlayerDraw/PostPlayerDraw now have 2nd argument - flags (STUDIO_)
  • DrawWorldModelTranslucent/DrawWorldModel now have 2nd argument - flags (STUDIO_)
  • RenderOverride now also has 2nd argument - flags (STUDIO_)
  • Added DSP argument to entity.EmitSound and EmitSound global
  • Added 3 new types for steamworks.GetList() - "followed", "friend_favs", "favorite"
  • New optional argument for surface.DrawText - bool - force additive/not additive, defaults to font default
  • Added CTakeDamageInfo.SetBaseDamage
  • Added PlayerHandleAnimEvent and PlayerFireAnimationEvent hooks
  • Added maps/*.lmp to Workshop whitelist
  • Added list.GetTable() (Community Contribution)
  • Better click "animation" for DImageButton depression, added DImageButton:SetDepressImage() (Community Contribution)
  • Added Player.SetMaxArmor
  • Added Player.GetMaxArmor
  • Added render.GetHDREnabled()
  • Added Player.SetViewPunchVelocity
  • Added Player.GetViewPunchVelocity
  • Added player_manager.GetPlayerClasses() and PLAYER:ClassChanged() (Community Contribution)
arrow_circle_up

Improvements

  • Made NPC.NavSetGoal()'s 3rd argument to default to 100 to prevent old addons from erroring
  • Use a faster method of ignoring newlines in Base64decode
  • Allowed various Draw* global functions related to Post Processing to work directly with RenderTargets (Community Contribution)
handyman

Fixed

  • TOOL.ServerConVar actually creates the convars
  • Fixed draw.RoundedBox(Ex) with border value larger than the box height causing the box to render larger than intended
  • HTTP global always returns a boolean, not only on success
  • Fixed nextbots not respecting EF_NOSHADOW
  • Fixed an issue with SWEP:OwnerChanged clientside not being called when initially dropping a weapon
  • Entity.GibBreakServer is no longer affected by breakable_multiplayer convar (Aka it works now)
  • Fixed util.GetModelMeshes returning data for the error.mdl for models that don't actually exist
  • Entity.GetModel() clientside should now return more correct result
  • language.GetPhrase now translates strings starting with #
  • Player.PrintMessage serverside now translates messages like expected
  • Fixed DTree_Node.ExpandRecurse producing Lua errors
  • CSoundPatch:SetDSP now works while the sound is playing
  • Fixed addon spawnlists not supporting subcategories
  • Fixed DNumberScratch (and DNumSlider) constantly firing it's OnValueChanged callback when the value didn't actually change
  • Fixed collision/movement issues with Player.SetModelScale
add_circle

Features

  • Added Filter text field to console UI, direct "bindings" to con_filter_* stuff (only affects new messages)
  • You can now add a spawnmenu label by right clicking empty space in the spawnlist
  • Added "Spawn with weapon" right click option for NPCs that can use weapons
  • Added Preset support for Weld and Camera tools
  • Added right click menu for player model selector icons to copy model path of the player model
arrow_circle_up

Improvements

  • Dissolved entities now have zero G regardless of whether "Keep corpses" is enabled or not
  • Spawning wheels, balloons, lamps, lights, cameras now applies the propspawn effect like other tools
  • Thruster effects now try to conform to the thruster model, so a smaller model produces a smaller effect, a bigger model produces a bigger effect
  • Thruster smoke effect now acts more like smoke (gravity) and acts more like a thruster when not moving
  • Only show the CSS thruster models in the tool's model list if CSS is mounted
  • Spawnmenu editable labels now stretch to fit the text being entered and do now overflow spawnlist panel width
  • Limited Stereoscopy Effect's size to +/-11.5 to prevent "legal wallhack" in Sandbox derived gamemodes
  • Gravity Gun can now successfully complete the upgrade process and is no longer a progression stopper on d3_citadel_03
  • Upgraded Gravity Gun can pick up stuff from further away, has SUPER sounds and can turn NPCs into ragdolls
  • Reworked models/mechanics/solid_steel/type_a_2_16.mdl so it isn't broken anymore
  • item_healthvial dropped by NPCs on death also gets dissolved like the weapon/combine ball ammo drop does if they died from dissolve damage
  • Updated language files, added language strings for Undone_Statue and env_entity_dissolver
  • Spawnmenu handles deletion of all spawnlists upon save better, by first showing hidden ones that require mountable games, and then regenerating default spawnlists if there are no spawnlists left whatsoever
handyman

Fixed

  • Fixed combine soldiers only shooting 1 bullet per burst with SWEPs
  • Fixed combine soldiers not using weapon rest times at all (only uses SWEP rest times now)
  • Fixed default secondary ammo HUD not updating its visibility when secondary ammo type changes
  • Fixed a crash issue with secondary ammo display when switching to a NULL weapon
  • Fixed secondary ammo HUD not showing while in a vehicle with weapons in vehicles enabled
  • Fixed wheel ghost spazzing out when aiming at moving entities
  • Fixed wheel ghost preview floating above certain surfaces unexpectedly
  • Fixed wheel direction indicator size spazzing out with certain wheel models on certain surfaces
  • Fixed updating a Thruster stopping its sound after a short while if its active, instead of updating the sound
  • Fixed Motor tool's Force Limit not functioning
  • Fixed a bunch of render order issues with default tool entities and potentially other addon entities
  • Fixed a "CUtlRBTree overflow!" crash to do with detail models (grass and stuff) on maps
  • Fixed prop fading not fading but instantly hiding props
  • Fixed prop fading breaking/being affected by water/mirror reflections
  • SLAM tripmines now properly clean their laser when they are removed, not exploded
  • SLAM weapon no longer tries to throw/place a tripmine/satchel immediately after switching to the weapon if the player switched away during the placing/throwing animation
  • Fixed RPG Launcher shooting a non guidable missile in some cases
  • Fixed a crash when changing r_flashlightdepthres during runtime while having projected textures around
  • Fixed up/down buttons for alpha on tool color selection not functioning
  • Fixed manually entering alpha value for Spawnmenu color selection not updating the UI
  • Try to avoid unexplained crash to do with overflowing font cache and display a warning instead (Another "CUtlRBTree overflow" crash)
  • Fixed jumping animations playing on players when landing in multiplayer (Fixed extra GM:DoAnimationEvent calls with PLAYERANIMEVENT_JUMP)
  • Tracking Sandbox Camera now properly tracks players instead of tracking somewhere above them
  • Fixed gravity gun (and potentially other weapons) not working properly while sitting in a vehicle
  • Fixed gravity gun spamming its "DryFire" sound in a rare case when the prop is picked up but is too far to be thrown
  • Fixed certain NPCs like Combine Camera/Turrets, Nihilanth, etc ignoring "Disable Thinking" setting
  • Combine Ball projectile no longer makes kill sounds when hitting ragdolls, to prevent insane sound spam when it gets stuck in multiple ragdolls
  • Fixed "Keep Ragdolls" setting causing dead rollermines and floor turrets to create uninteractable "ragdolls" on death
  • Citadel version of Half-Life 2 armor recharger now restores the correct amount of armor
  • "Make Statue" property now properly saves and restores via duplicator (affects only new dupes/saves)
  • "Enable Gravity" checked status now properly saves via duplicator (affects only new dupes/saves)
  • Fixed engine saves sometimes having extremely messed up sounds
  • Fixed domain names starting with a number being counted as IP addresses in the old server browser when adding a new favorite server
  • Fixed respawn_entities command breaking weapon sounds until player respawns
  • Fixed Alyx's Gun sounds not working without Episode 1 being mounted
  • Fixed Metropolice freezing the game for too long on initial spawn
  • Spawnmenu now selects the first VISIBLE spawnlist, used to select hidden spawnlists
  • Do not exit the game on "Couldn't create windows font" error
  • Fixed extreme performance loss with SetMaterial and missing materials with Capitalized materials
  • Server's IP address can now be selected and copied in the server browser (Community Contribution)
remove_circle

Removed

  • Removed "Torque Limit" from ballsocket tool as it did nothing
add_circle

Features

  • TTT: Added Simplified Chinese language (Community Contribution)
handyman

Fixed

  • TTT: Fixed Duck key while spectating in roaming mode teleporting you to last spectated player (Community Contribution)
  • Fixed TTT's fgd crashing Hammer when used with Half-Life 2 fgd at the same time