Garry's Mod Logo
Changes Header

Changes

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

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
handyman

Fixed

  • TTT: Fixed an incorrect comment (Community Contribution)
  • TTT: Added French translation (Community Contribution)
  • TTT: Optimized streaming of end-of-round report (Community Contribution)
  • TTT: Avoid clipping victory text in round report and other fixes (Community Contribution)
add_circle

Features

  • Added current material count to mat_texture_list when expanded
  • point_teleport - Added the episodic "Teleport into crouch" spawnflag, Added TeleportEntity & TeleportToCurrentPos inputs (Hammer Editor included)
  • Added mat_dumptextures console command - dumps all used textures by the engine, for debugging
arrow_circle_up

Improvements

  • Sandbox persistence now trims whitespace on input so you don't end up with files that the game refuses to write to/read from
  • Minor improvement for addonsystem from x64
  • Delete physics object of Toolgun ghost as it doesn't need physics at all
  • Added filename to "steamworks.DownloadUGC: Failed to read addon file" console message
  • Increased MAXSTUDIOFLEXVERTS to 65536
  • Switched GM:GetFallDamage to use GetConVar() over GetConVarNumber() in base gamemode (Community Contribution)
  • Broken Patch materials fallback to LightmappedGeneric, instead of Wireframe, reducing invisible walls, floors, etc
  • Increased MAX_MAP_MODELS to 4096
  • Quadrupled console history log if game is started with "developer 1" or higher
  • "Something is creating script errors" message now also shows the folder addon names, instead of falling back to the default "Something is creating script errors"
handyman

Fixed

  • Fixed a rare Javascript error with the server browser
  • Fixed materials without a valid shader becoming completely inivisible, now appear as wireframe
  • Fixed a typo in a certain gm_save console message (Community Contribution)
  • Fixed prop_physics_respawnable not respawning as expected
  • Fixed loading of .png textures after a map change trying to load non existent .vtf versions of the textures
  • Fixed mounting Portal 2 making models/player.mdl spawn as an unmovable, uninteractable object
  • Fixed servers trying to send a random Lua file to clients if there is no files needed to be sent
  • Fixed some procedural textures allocating a material slot every time they are reloaded, for example spawnmenu icons on spawnmenu_reload/map reload and Material() calls with backslashes
  • npc_barnacle clears the entities it spawns when removed
  • trigger_weapon_dissolve no longer crashes the game if one of the weapons it is meant to delete got removed prematurely by something else
  • npc_barnacle no longer crashes the game if it is missing its "tongue" entities
  • Shadow rendering doesn't crash when it encounters a null renderable
  • Potential fix for crashing with Inverse Kinematics on certain models
  • Fixed decal related crashes on world geometry (brushes/displacements) when the material they are applied to/rendering with is unmounted
  • More crash safeguards when loading localization files
  • Fixed gamemode ConVars being recreated multiple times during map loading, possibly leaking memory
remove_circle

Removed

  • Hide mat_texture_limit console variable
add_circle

Features

  • Added GM:PlayerAmmoChanged
  • Added GM:PreDrawViewModels
  • Added SANDBOX:CanArmDupe
  • Added Player.GetUseEntity
  • Added Player.PickupWeapon
  • Added NPC.PickupWeapon
  • Added NPC.GetWeapons
  • Added NPC.GetWeapon
  • Added NPC.SelectWeapon
  • Added NPC.RememberUnreachable, to give NPC.IsUnreachable a reason to exist
  • Added NPC.HasEnemyEluded
  • Added NPC.HasEnemyMemory
  • Added NPC.GetEnemyLastKnownPos
  • Added NPC.GetEnemyLastSeenPos
  • Added NPC.GetEnemyLastTimeSeen
  • Added NPC.GetEnemyFirstTimeSeen
  • Added NPC.SetIdealYawAndUpdate
  • Added ENT:OnChangeActivity for base_ai entities
  • Added Entity.SetLayerSequence
  • Added Entity.GetLayerSequence
  • Added utf8.sub and utf8.GetChar (Community Contribution)
  • Added GM:PlayerCheckLimit (Community Contribution)
  • Added GM:CanUndo (Community Contribution)
  • Added PLAYER:Death (Community Contribution)
  • Added optional argument to render.DrawScreenQuad() - Apply poster corrections
  • Added optional argument to NPC.MarkEnemyAsEluded and NPC.ClearEnemyMemory - Enemy entity override
  • Added .vmt to file.Write whitelist
  • Current value is passed to DTextEntry's OnEnter callback (Community Contribution)
arrow_circle_up

Improvements

  • controlpanel.Get will no longer return panels that are about to be deleted (in the next frame)
  • Vector.__div now type checks its second argument
  • Angle/Vector.__newindex now type checks its 3rd argument
  • Added a non-halting error message when mods are trying to send an overflowed net message
  • Entity.Set/GetLayerDuration, Entity.Set/GetLayerCycle, Entity.SetLayerBlendIn, Entity.SetLayerBlendOut, Entity.IsValidLayer are now shared
  • render.Capture now accepts "jpg" as an alias of "jpeg" format
handyman

Fixed

  • ENT:StoreOutput() works for newer Source Engine map IO format
  • Fixed OBS_MODE_FIXED/CHASE/IN_EYE having bad spectator behavior due to the player's movetype being set to NONE
  • Fixed SWEP:OwnerChanged being very unreliable and inconsistent
  • Fixed ents.CreateClientside entities not receiving projected textures
  • Fixed returning true in GM:EntityEmitSound hook when the Entity is a clientside only entity causing the ent index to be read incorrectly, which in turn caused infinite scrape sounds for gibs
  • Fixed effects.BeamRingPoint having its blue and green color channels swapped
  • Fixed NPC.Give() being able to give an NPC multiple copies of the same weapon, now returns the existing copy
  • Fixed double "expected" in VMatrix.__mul type error message
  • Fixed PANEL:OnMouse* and PANEL:OnCursor* hooks not working on panels derived from RichText
  • Fixed cvars.AddChangeCallback's identifier not working as intended (Community Contribution)
  • base_gmodentity.GetPlayer() now properly returns the player object after player reconnected to the server for base_gmodentity derived entities (Community Contribution)
  • Fixed loading of .png materials with different material parameters not working properly
  • Fixed Entity.AdvanceFrame crashing the game with invalid sequences
  • Fixed Lua errors from PositionSpawnIcon() with bad entities
  • Fixed Entity.NetworkVarElement not saving/restoring properly
  • Fixed NWVars not updating properly on clients when joining a server/reconnecting
  • Fixed an exploit with presets.Add (Thanks to Deyvan)
add_circle

Features

  • Added Fistful of Frags mounting support
  • Added The Stanley Parable mounting support
  • Added "Steam Voice Options" to Voice tab in Options
  • Added "sbox_search_maxresults" console variable, affects Sandbox search result limit
arrow_circle_up

Improvements

  • "Players have godmode" setting (sbox_godmode) works in singleplayer
  • You can now use tools like Balloons on brush entities such as gm_construct's colorable room and the mirror
  • Throwing props at NPCs/Players using the Physics Gun now correctly gives kill credit to the player who threw the prop, not the prop itself
  • "fps_max" console command can now be changed while in a server
  • Some sounds are now properly muted if game loses focus and snd_mute_losefocus is set to 1
  • Increased voice chat sample rate to 44100Hz to improve voice chat quality
  • Added expected download size for Workshop files when connecting to servers. This is a rough estimate of how much disk space will be used, not bandwidth which will always be lower
  • Added icons for the 2 new CS:GO maps and for maps from new mountable games
  • Updated Facepunch logo on the intro screen
  • Sandbox Balloons, Buttons and Emitters can now be made transparent via the Color tool
  • Translated right click menu for spawnlist headers and added icon to match existing right click menus
  • Translated right click menus for Tools in spawnlists & multi selection right click menu (Community Contribution)
  • Post Processing icons can now be deleted from spawnlists
  • Tool search in spawnlists now works with localization
  • Added a warning about certain options doing nothing in singleplayer to the Utilities > Sandbox Settings menu
  • Spawnicons and spawnlist tools now obey read only parents (such as spawnlist Search)
  • Right-clicking non selected spawnmenu icons while having some selected will not override right click menus of non selected spawnmenu icons
  • ".mdl" part of models paths is no longer being searched in Spawnmenu search
  • Tool menu quick filter now expands the categories if they were collapsed by the player
  • DCollapsibleCategory (Tool categories) now show a tiny icon when it is collapsed, telling the player it is collapsed and not just empty
  • Spawnmenu Header panels obey parents read only state by not allowing its text to be edited
  • Spawnmenu search prop indexer now uses a notification with a progress bar over the blue progress bar
  • Having your spawnmenu closed during search will automatically update search results next time you open it if necessary
  • Custom addon spawnlists, Game props and Addon props lists are now read only (i.e. you can't delete icons from them)
  • Reduced default voice chat gain/multiplication (voice_maxgain) from 10x to 2x to improve voice chat quality
handyman

Fixed

  • "Enable PvP" option being disabled (sbox_playershurtplayers) no longer unexpectedly disables self damage
  • "Make Persistent" property is now properly hidden if persistence is disabled
  • weapon_base no longer creates Lua error when given to NPCs
  • Fixed suit death voice lines playing on respawn with gmod_suit 1
  • Models that exceed MAXSTUDIOFLEXVERTS no longer crash the game, such as SFM models
  • Weapons dropped by players no longer give extra reserve ammo when picked back up
  • Undoing in TextEntry (CTRL+Z) also restores the scroll amount, fixing weird behavior in certain cases (issues/1588)
  • Fixed view model hands sometimes floating in the direction of map origin, notably when exiting vehicles