Garry's Mod Logo
Changes Header

Changes

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

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)
add_circle

Features

  • Added a warning for when env_sprite is given a non sprite material (an unlitgeneric), which apparently can cause crashes
  • Added support for 16384 = SF_BUTTON_NOTSOLID spawnflag to func_button from CS:GO
  • Added beam_spotlight.SetColor input
  • Added SetDamage input to Half-Life 2's crossbow_bolt
arrow_circle_up

Improvements

  • g_debug_ragdoll_visualize no longer crashes with ClientsideModel present
  • Monster Osprey doesn't create its looping sound after being deleted creating a console error
  • Gravity Gun no longer updates its effects and poseparameters when not held, affecting other weapons
  • Fixed mountdepots.txt not using the values at all to decide if a game should be mounted
  • Fixed env_fade problem from source-sdk-2013/issues/479 (Community Contribution)
  • Fixed cc_random crashing the game with closecaptions disabled
  • Fixed SWEPs firing network change callbacks too often/when nothing has changed
handyman

Fixed

  • Replace corrected materials with in-code solution for bumpmapped decals and Half-Life 1 chrome effects
  • Improved support and stability for 128+ bone models
  • Some minor changes to menu_cleanupgmas to maybe help debug an issue where it "doesn't work sometimes"
  • Updated studiomdl.exe to be closer to the TF2 counterpart - Now tries to preserve sequence order (and names?) when recompiling, more console output when model file exceeds buffer sizes
remove_circle

Removed

  • Removed unused variable from gmod_cameraprop.lua (Community Contribution)
add_circle

Features

  • Added Entity.GetBoneContents
  • Added Entity.GetBoneSurfaceProp
  • Added Entity.IsNextBot
  • Added NPC.DropWeapon
  • Added game.GetAmmoTypes
  • Added game.GetAmmoData
  • Added NEXTBOT:OnTraceAttack
  • Added ENT_AI.IsJumpLegal hook
  • Added SWEP.GetNPCRestTimes
  • Added SWEP.GetNPCBurstSettings
  • Added SWEP.GetNPCBulletSpread
  • Added SWEP:CanBePickedUpByNPCs hook, which allows Citizen NPCs to pick up SWEPs from the ground
  • Added "Contents" field to TraceResult
  • Added ModelKeyValues field to util.GetModelInfo
  • base_nextbot automatically calls GM:ScaleNPCDamage
  • Allowed writing of .json files to data/ folder using file.Write
  • Added "anims" field to Entity.GetSequenceInfo, contains all AnimationIDs associated with given SequenceID
  • Added RT_SIZE_REPLAY_SCREENSHOT, RT_SIZE_LITERAL, RT_SIZE_LITERAL_PICMIP
  • Added new optional arguments to Player.DropNamedWeapon and Player.DropWeapon
  • Player.DropWeapon's first argument is now optional
  • Added the missing ACT_HL2MP_SIT_KNIFE/MELEE2 Lua enums
  • Player.SelectWeapon() can now accept Weapon entities directly
  • Added a second argument to GM:PlayerSelectSpawn, GM:PlayerSpawn and GM:PlayerInitialSpawn - transition
  • language.Add can now override strings it previously set
arrow_circle_up

Improvements

  • Replaced a bunch of internal ErrorNoHalt calls in Lua bindings to also include stack trace
  • Net message warnings now contain the net message name they belong to
  • Improved the "Warning: Tried to set missing key on Dynamic Light object" message to include stacktrace and proper newlines
  • Filled NPC animation translations for weapon_base
  • GetInternalVariable, GetSaveTable and SetSaveValue now can read and write clientside prediction table
  • GetSaveTable() now has an optional parameter to return all internal variables, not just the ones used for save system
  • Player.GetWeapons() ensures the output table is sequential
  • More errors into console when steamworks.Publish fails
handyman

Fixed

  • Fixed crash issues with Entity.SetCycle, Entity.SetPlaybackRate and Entity.SetPoseParameter
  • Entity.TranslatePhysBoneToBone now works on entities from ClientsideRagdoll
  • Fixed Player.Say not working sometimes
  • ClientsideModels initialize their world transform matrix on creation just like entities do
  • Fixed a crash issue with Entity.SetMaterial()
  • Fixed crashing issues with Entity.GetSequenceInfo and Entity.GetAnimInfo with out of bounds IDs (returns nil instead)
  • Fixed using any NWVar functions on game.GetWorld() resetting its NWVars/GlobalNWVars
  • Fixed NPCs firing SWEPs twice a frame
  • Fixed Player.GetTable() resetting on player disconnect and before GM:EntityRemoved is ran on the player
  • Fixed Entity.SetBloodColor() not working properly with zombie and antlion blood types
  • render.Draw(Wireframe)Sphere will fallback to 24 longitude/latitude steps if we are about to crash
add_circle

Features

  • Added Half-Life 1 weapons and ammo entities to the spawn menu
  • Half-Life 2 NPCs can now use Half-Life 1 Glock and the Half-Life 2 .357 Magnum
  • Given all Half-Life 1 weapons 3rd person player animations
  • Given all Half-Life 1 weapons proper world/3rd person models
  • Players can now run over friendly NPCs with vehicles
  • Prop gibs now inherit the color of the broken entity
  • Added icons for NPC only weapons and for some missing Half-Life 1 NPCs
  • Static props get their proper color if the map supplies the information
  • Rotating prop doors are now breakable if the model supports the feature and map designer has the feature enabled (Retroactively works on existing maps, such as L4D and CS:GO maps)
arrow_circle_up

Improvements

  • Names of default weapons in spawnmenu are no longer all uppercase
  • Adjusted 3rd person seating positions for Jalopy and Crane models
  • hud_draw_fixed_reticle is no longer saved across sessions
  • Elite Combine soldiers will no longer try to fire their Energy Balls (and make the noise/stop shooting) if their currently equipped weapon does not have an alt fire (i.e. is not AR2)
  • Elite Combine soldiers can now use their Energy Balls against any NPC or player, not just player allies
  • Increased Undo limit in Spawnmenu's Undo section from 32 to 100
  • Changed spawnpoint entity for Left 4 Dead maps from info_survivor_position to info_survivor_rescue
  • Updated many spawnmenu NPC icons to be brighter
  • Updated language files
  • Half-Life 2 Grenade is stripped with no ammo as expected, on holster or after throw
handyman

Fixed

  • Fixed a crash issue with weapon_striderbuster
  • Updated BASS.DLL to an unreleased version for potential crash fixes
  • Fixed progression stopper at c3a2d.bsp from Half-Life: Source
  • Half-Life 2 Barnacle no longer crashes the game with invalid physics objects
  • Fixed Half-Life 1 weapon shell eject effect, sounds, effects and NPC muzzle flashes
  • Fixed missing S.L.A.M sound
  • Tickrate is now reset on client when disconnecting from a server
  • Fixed prop_vehicle_crane's interference with vehicle 3rd person camera and properties system
  • Sandbox Desktop Widgets feature (Context menu icons like Player Model Selector) no longer prevents properties system from being able to target entities, and will automatically stretch to fit its contents with too many icons
  • Fixed Citizens being unable to guide RPG rockets into Gunships
  • Fixed SMG1 and AR2 fired by NPCs cutting off previous firing sounds
  • Fixed SMG1 alt-fire grenade smoke effect always pointing up
  • Fixed some addon props missing from spawn menu search
  • Entering a full model path (models/whatever.mdl) will properly find the model in the Spawnmenu search
  • The game no longer tries to play missing/non-existent .mp3/.ogg files
  • Fixed "BAD STATIC LUMP V101" error message on some CS:GO maps
  • Trails tool clamps its values in the Duplicator function, not in the tool to fix an exploit
  • Trails tool will no longer create invisible trails (0 start and end sizes)
  • Players can now exit the noclip drive mode (exit driving Lamps in Sandbox) by pressing E
  • Performing an undo from the Undo section of the Spawnmenu properly removes the selected entry
  • Fixed a crash issue caused by Lua errors in Addons Menu (Main Menu) under very specific circumstances
  • Fixed Server Settings not always applying ("not saving") when starting a new server from the Main Menu
  • NPCs will be less likely to fall through ground when spawned on a slope (Community Contribution)
  • Fixed Half-Life 1 Gargantua making sounds when removed (including when changing NPC relationships)
  • Fixed Half-Life 1 snark and turrets as well as Half-Life 2 ceiling turret not respecting relationship changes while attacking
  • Fixed Half-Life 1 Nihilanth's and Bullsquid's projectile attacks not being credited to the NPC
  • Fixed Half-Life 1 Nihilanth not attacking when spawned through the Spawnmenu
  • Fixed Half-Life 1 Barnacle, Leech, Cockroach and Half-Life 2 Barnacle not showing up in kill feed when killed
  • Fixed Manhacks and Scanners killed by physics objects (props, AR2 alt-fire) not being credited to the player
  • Restored Combine Soldier pain sounds
  • Added missing Lost Coast scenes so players can now complete the map
  • Fixed Citizens and Alyx not being able to pickup any weapons
  • Restored impulse 50 console command (tell Citizens in player squad to move to where the player is looking)
  • You can switch to Satchel Charge even if it has no ammo left
  • Fixed certain NPC deaths such as Striders to not working as expected
  • Fixed the weapon constraint not breaking when it should if the weapon has SF_WEAPON_START_CONSTRAINED spawnflag set causing weapons to float when their carriers are killed
remove_circle

Removed

  • Disabled SHIFT+F2 opening "demoui" in multiplayer
add_circle

Features

  • Added point_spotlight features from Alien Swarm - SetColor and ForceUpdate inputs
  • Added beam_spotlight entity from newer Source Engine games
  • Added info_target features from Alien Swarm - "Spawnflag 2 - always transmit"
  • Added spawnflag 1 to lua_run entity - Run code on Spawn (Community Contribution)
  • Added 262144 spawnflag to Nihilanth to automatically enable his attacks (Used by the spawnmenu)
  • prop_dynamic additions from newer Source Engine games - new HoldAnimation & AnimateEveryFrame keyvalues, new SetAnimationNoReset, BecomeRagdoll and FadeAndKill inputs
  • prop_door_rotating will automatically block nav areas when its locked
  • prop_door_rotating new input: MoveToRotationDistance, new output: OnRotationDone, new spawnflag: 524288 - Start breakable (unset by default)
arrow_circle_up

Improvements

  • RCON no longer accepts clients and reads from them when there is no RCON password set on the server
  • RCON will drop connections that try to send too much data
  • Added safeguards for Player.GetVehicle not returning a vehicle in properties system (Community Contribution)
  • Minor optimizations by replacing table.Count comparisons in TTT and Duplicator icon generation (Community Contribution)
  • Restore active gamemode when disconnecting from a server more thoroughly
  • Replaced usage of type( var ) == "type" with is<type>( var ) (Community Contribution)
  • Do not empty Lua cache on disconnect, it causes problems with retry command in local multiplayer
  • The Undo system will no longer add empty Undos onto its list
  • SetHealth input on NPCs will pass the activator as attacker to try to improve kill feed messages
handyman

Fixed

  • Fixed bspzip.exe not working properly
  • dumpgamestringtable no longer crashes the game
  • Fixed muzzleflashes sometimes not displaying at all when they should
  • Restored MAX_DOWNLOADABLE_FILES to 8192 from 4096
  • DListBoxItem now properly checks its IsSelected() state for drawing selected state rather than relying on DListBox not having mutliple selections and testing whether the selected item has the same text as its own text
  • Fixed console errors related to saving of weapon_gauss
  • The game will no longer crash if it doesn't have a matrix to render a model with