Garry's Mod Logo
Changes Header

Changes

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

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
add_circle

Features

  • •
    Added extra info to "version" console command to help debug issues
arrow_circle_up

Improvements

  • •
    Replaced usage of "Physgun" and "Physcannon" with "Gravity Gun" in the .fgd files used by Hammer to avoid confusion between GMod's Physics Gun and the Gravity Gun
  • •
    Replaced "Bad field in entity!!" console warning with a far more descriptive one
  • •
    Move "CreateFragmentsFromFile: '%s' doesn't exist." to developer 1
  • •
    A less error prone random walk location for the example Nextbot NPC
  • •
    Thruster entity properly frees it's particle emitters
  • •
    Allow all "anim" type SENTs to automagically calculate their default rendergroup (unless overwritten)
  • •
    Replaced usage of WM_ACTIVATEAPP with WM_ACTIVATE due to a possible Windows bug to hopefully fix system.HasFocus returning wrong value when the game was minimized by clicking on it in the taskbar
  • •
    Reload language files for addons just before Lua gets initialized, instead of just after
  • •
    Added MaxHealth to NPCs that did not have it set
  • •
    DMenuOption text offset is now the same whether it has an icon or not
  • •
    prop_ragdoll no longer resets its collision group if it was set before Spawn(), unless SF_RAGDOLLPROP_DEBRIS is set
handyman

Fixed

  • •
    Fixed console de-duplicating empty strings and text less than 10 characters long
  • •
    Fixed IP blacklist sometimes affecting wrong servers
  • •
    Gravity Gun now respects SF_PHYSBOX_NEVER_PUNT, SF_WEAPON_NO_PHYSCANNON_PUNT, SF_PHYSBOX_ALWAYS_PICK_UP, SF_PHYSBOX_NEVER_PICK_UP and SF_PHYSPROP_ALWAYS_PICK_UP spawnflags like expected
  • •
    Fixed self crash with "ent_info worldspawn" console command
  • •
    Fixed bad direct calls to PerformLayout() on built-in panels
  • •
    point_message entity works in multiplayer for the listen server host
  • •
    Added safeguard to CMDLCache::GetStudioHdr from CSGO for an "unknown cause" crash
  • •
    Fixed gestures playing at 2x the speed on Nextbot NPCs
  • •
    Dedicated servers properly go into hibernation once all players have disconnected (Use sv_hibernate_think 1 to avoid)
  • •
    Potentially fixed playing viewmodel animations from the server only not updating them on client properly in multiplayer
  • •
    +use picking up props no longer bails with sv_turbophysics set to 1
  • •
    Fixed Hammer Editor crashing with model heavy maps
  • •
    Fixed potential crashes when hitting entity limit and trying to create flex/bone manipulators
  • •
    Fixed BSP brush models after 999 not working on maps
  • •
    Trying to render out of bounds texture frames no longer crashes the game
  • •
    Restored SF_COMBINE_NO_AR2DROP ep2 spawnflag for npc_combine_s
  • •
    Potentially fixed a crash issue with RichText
  • •
    Fixed a dozen crashes with Half-Life 2 weapons when the server has hit the serverside entity limit
  • •
    Fixed certain ammo items in Hammer Editor having error models
  • •
    Lua Auto-refresh no longer breaks spawnlist saving/reverting
  • •
    Fixed self becoming NULL for Lua Effects when clientside entity limit is reached
  • •
    Fixed NPCData.Weapons (Spawnmenu NPCs) not being counted as valid weapons, causing NPCs like Fisherman from Lost Coast not being able to spawn with his signature weapon
  • •
    Fixed super tiny or 0-length slider and rope constraints causing crazy physics on props and causing potential crashes
remove_circle

Removed

  • •
    Removed "dropprimary" console command
  • •
    Removed the "Couldn't find surface in GetColorForSurface()" message
  • •
    Removed a bunch of unused variables and merged double if statements across the sandbox gamemode (Community Contribution)
add_circle

Features

  • •
    Added SF_PHYSPROP_IS_GIB, SF_PHYSBOX_ALWAYS_PICK_UP, SF_PHYSBOX_NEVER_PUNT, SF_WEAPON_START_CONSTRAINED, SF_WEAPON_NO_PLAYER_PICKUP and SF_WEAPON_NO_PHYSCANNON_PUNT enums (all shared)
  • •
    Added NextBot.IsAbleToSee( ent, useFOV = true )
  • •
    Added NextBot:Set/GetFOV()
  • •
    Added CNavArea.IsPotentiallyVisible( cnavarea )
  • •
    Added CNavArea:IsCompletelyVisible( cnavarea )
  • •
    Added Nextbot.Set/GetMaxVisionRange()
  • •
    Added CNavArea:IsPartiallyVisible( eyepos, ignoreEnt = NULL )
  • •
    Added DLabelEditable.Set/GetAutoStretch, defaults to false
  • •
    Added NEXTBOT:OnEntitySight and NEXTBOT:OnEntitySightLost
  • •
    Added Material:Get/SetVector4D, returns/takes 4 numbers
  • •
    Added DButton.SetMaterial() (Community Contribution)
  • •
    Added Player.OwnerSteamID64(), serverside only, returns the SteamID of family sharing owner of the game license (or just the player's SteamID if not using FS), will be 0 before player is fully authed
  • •
    NPC.NavSetGoalTarget, NPC.NavSetRandomGoal, NPC.NavSetGoal and NPC.NavSetWanderGoal now return a bool - whether the path generation succeeded or failed
  • •
    Added a 2nd argument to util.RedownloadAllLightmaps - update static prop lighting
  • •
    Added "stack" argument for GM:OnLuaError
  • •
    Added DTree_Node.GetChildNodes
  • •
    Added DTree_Node.GetChildNodeCount
  • •
    Added DCollapsibleCategory.SetHeaderHeight
  • •
    Added DCollapsibleCategory.GetHeaderHeight
  • •
    PropSelect.AddModel(Ex) now returns the icon it creates (Community Contribution)
  • •
    RecipientFilter global now has a new optional argument - make unreliable
arrow_circle_up

Improvements

  • •
    DNumberWang.OnValueChanged is now only called when the value has actually changed
  • •
    Increased precision of doubles in util.TableToJSON
  • •
    Player.SetActiveWeapon( NULL ) now hides the view model as expected
  • •
    Player.SetActiveWeapon( NULL ) no longer causes next selected weapon to be force-lowered
  • •
    surface.DrawCircle is no longer made out of dots but uses lines and it's color argument is now optional
  • •
    Promoted "HTTP failed - ISteamHTTP isn't available!" to an ErrorNoHalt with stack to help identify what addon is causing the error message
  • •
    Weapon.SetClip1/SetClip2 marks the weapon to not give out reserve ammo/reset clips on weapon pickup
  • •
    Made Entity.Use's last 3 arguments optional
  • •
    More consistent "self" type/NULL checking for CNavArea and CLuaEmitter
  • •
    CLuaParticle.SetThinkFunction/CollideFunction now ErrorNoHalts on bad input, instead of a silent message
  • •
    DCollapsibleCategory now works better with Derma skins
  • •
    CreateSound() no longer forces the internal filter to be reliable
handyman

Fixed

  • •
    surface.DrawTexturedRect(UV) now work with poster command nicely
  • •
    Fixed clientside DTVar callbacks not being called when setting an "Entity" type property to NULL
  • •
    Fixed PANEL:OnStopDragging being called multiple times per "dragging drop" (Community Contribution)
  • •
    Fixed engine.LightStyle crashing with style=64
  • •
    NPC.NavSetGoal no longer tries to generate a 0 length path failing every time, now has 2 more arguments, minPathLength and direction = vec3_origin
  • •
    Fixed render.DrawQuadEasy producing malformed/squashed quads in very certain rare cases
  • •
    Player.PickupObject now force drops the given object before trying to pick it back up, so the object doesn't get stuck in an invalid state
  • •
    Player.SetNoCollideWithTeammates( true ) no longer causes players with Team ID 1-4 to not receive melee damage from NPCs
  • •
    Fixed walking on player heads not working correctly if SetNoCollideWithTeammates() is set to true and the 2 players are in different teams in teamID range 1-4
  • •
    Fixed players on moving brush entities getting instantly killed if inside each other with SetNoCollideWithTeammates( true )
  • •
    Fixed players getting flung unexpectedly from frozen props, most noticeably with SetNoCollideWithTeammates enabled and standing in teammates
  • •
    Avoid console errors when using PrintMessage with weird input
  • •
    DMenu submenus inherit parent's derma Skin
  • •
    Fixed HTTP() global trying to use invalid ISteamHTTP pointer after changelevel on dedicated servers causing a crash
  • •
    DModelPanel clears render depth automatically fixing weird artifacts when 2 or more DModelPanels are on top of each other
add_circle

Features

  • •
    Added client console de-duplication, can be toggled with con_filter_dupe
  • •
    Added Mass icon resize and re-render feature to the spawnmenu, by selecting many icons and right clicking on them
  • •
    Added Freeze/Unfreeze effects check boxes to Physics Gun Settings
  • •
    Added "Sandbox Settings" in User category in Utilities which contains the search max results slider + some sandbox related toggles from the menubar
  • •
    Weapons in the weapons tab now have an "NPC" icon if they can be used as NPC weapons, with a right click option to set that weapon as the current NPC weapon override
  • •
    Added kill icons for prop_ragdoll, prop_physics_respawnable, func_pushable and func_physbox (same as prop_physics)
  • •
    Added 51 new main menu backgrounds from the contest, replacing old ones
arrow_circle_up

Improvements

  • •
    Changed "persistence mode" to "persistence file" and added a bit more info about persistence itself to Spawnmenu's Sandbox Settings menu
  • •
    Garry's Mod Terms Of Service and Privacy Policy now open in Steam overlay if possible
  • •
    Links that open in Steam Overlay fallback to built-in HTML renderer if Steam Overlay is disabled
  • •
    Servers with ping under 60 now have identical ranking impact from ping in the server browser (Community Contribution)
  • •
    Bot players are also subtracted from maxplayers, so there are no cases of server appearing with open slots while it has none
  • •
    NPC weapon selection is now sorted alphabetically
  • •
    Added sk_npc/plr_dmg_crowbar/stunstick convars that control Crowbar and Stunstick damage, as a result default crowbar and stunstick damage was reduced to its Half-Life 2 values, matching all other built-in weapons
  • •
    Improved performance of projected textures (Lamp tool, flashlight, etc) when looking away from them (Community Contribution)
  • •
    Reduced minimum width for rope based constraints to 0.2, from 1 (Community Contribution)
  • •
    weapon_fists now obeys the phys_pushscale convar (Community Contribution)
  • •
    Updated language files
  • •
    Main menu backgrounds never switch to the same image unless there's only 1 image
  • •
    Exiting the server browser will now immediately stop searching for servers
  • •
    Resizing the spawnmenu tabs will affect all tabs on the same side at the same time
handyman

Fixed

  • •
    Fixed extreme lag when entering PVS with props that have material override pointing to a non existent material, most noticeable on multiplayer Sandbox servers
  • •
    Fixed extreme performance loss when trying to render unmounted materials (unmounting CSS while on a map that uses CSS content and re-joining that map)
  • •
    Fixed certain props disappearing and spamming the console on map change
  • •
    Underwater sounds no longer play when dead and player's camera is not underwater
  • •
    Dying to Half-Life 2 leeches no longer keeps playing the leech sounds until you respawn
  • •
    Dying above water with leeches also no longer plays the leech sounds when your player entity falls underwater while you are dead
  • •
    Addons that use too many decals will no longer boot players to main menu when trying to start singleplayer game
  • •
    Fixed Undo & Cleanup panels in Utilities becoming blank after spawnmenu_reload
  • •
    Fixed Motion Blur and Overlay Post Processing effects not working well with poster command
  • •
    Fixed Toy Town post processing effect having 1px tall gap at the bottom of the screen with certain settings
  • •
    SuperDOF UI window now repositions itself when player's screen resolution changes so it will not be left off-screen
  • •
    Fixed a large memory leak when decompressing files embedded in the BSP map file
  • •
    Physics Gun glow/beam will no longer render in 3rd person if the weapon itself is not visible
  • •
    Fixed echo and other DSP effects not resetting on map change
  • •
    "retry" console command in singleplayer now acts like "map currentmap.bsp", instead of locking up the game
  • •
    Reduced/removed high frequency noise on wood, concrete, tile and metal footsteps
  • •
    Reduced hard cutoff on rubber footstep sounds (loud clicking noises) when sprinting
  • •
    Player's footsteps no longer play mid-air if the prop they were walking on got deleted
  • •
    Reduced volume of chain link footsteps to match the other footstep sounds
  • •
    Fixed missing Stalker NPC sounds
  • •
    Right click removing stuff with the Remover tool now properly progresses the Remover achievement on Steam (Community Contribution)
  • •
    Fixed missing sounds for Narrator from The Stanley Parable
  • •
    Self-controlled func_tank turrets obey "Ignore Players" option
  • •
    Fixed props on certain maps (Half-Life 2 Episode 2 for example) going invisible or becoming transparent unexpectedly
  • •
    Fixed Star Scale, Fade and Speed fields of Sky Editor not saving/restoring properly with the duplicator/save tab
  • •
    Fixed certain (looping) sounds not restarting when reconnecting to a server
  • •
    Fixed certain (looping) sounds not updating properly sometimes (such as Thruster sounds keep playing when the thruster is turned off)
  • •
    Fixed addon titles in the Spawnmenu not properly reflecting the addons' Workshop title
  • •
    Picking up an Effect with the Physics Gun now applies the glow effect to the model itself, not the green ring
  • •
    Fixed spawnlist divider not restoring its width properly (Community Contribution)
  • •
    Fixed pressing Enter in Tool tab search/filter collapsing all categories unexpectedly
remove_circle

Removed

  • •
    Removed cheat flag from "viewmodel_fov" console variable
  • •
    "Drive" property no longer appears for Jeeps as it simply cannot move them