Garry's Mod Logo
schedule 03 September 2019
Update

September 2019 Update

Many weapon and NPC improvements

Rubat
Programmer
Parts Unknown
This update brings a bunch of improvements to the built-in weapons as well as better support for NPCs being able to use modded weapons. Since Half-Life 1 weapons got a lot of love in previous updates, it is only fair that Half-Life 2 weapons get the same treatment, and with this update we've resolved most if not all visual and audio problems with the built-in Half-Life 2 weapons. No more broken sounds and effects. We have also added better NPC support to scripted weapons, so addon makers can now control exactly how the NPCs can use their weapons. As an example, the built-in Flechette Gun now has full NPC support, meaning it can be picked up by Citizens/Rebels from the ground and used properly against their enemies. Your in-game content such as Dupes (built-in, not modded), Saves, Spawnlists, etc now also saves on the Steam Cloud automatically. This feature was enabled a few weeks ago, but we are mentioning it here so you are aware. There is a hard limit of 10000 files per account for this, so be careful if you have excessive amounts of saves and whatnot, if you reach the limit, your new content will not be saved on the Steam Cloud until you delete some old stuff first. There has also been some improvements to CS:GO/Left 4 Dead map support, fixing some flickering models around those maps and fixing unexpected water effects in certain places on some CS:GO maps. The Half-Life campaign support continues to improve, as level transitions now work properly in singleplayer, Jeeps get their Gauss Guns back in Half-Life 2 maps, the Half-Life 2 teleporter sequence now slows down the player properly, added a new feature to limit player's ammo (with the ability to match Half-Life defaults) and the suit chargers were changed back to restore 75 armor by default just like in Half-Life 2. You will find the complete list of changes for this update below.
We have launched an official merch store, come and see what we have got! https://store.facepunch.com/
We’ve updated our Terms of Service and Privacy Policy. We’re also posting three new documents - Modding Guidelines, Fan Content Guidelines and Community Server & Hosting Guidelines. You can find out more including what exactly has changed at the following link: https://facepunch.com/blog/updated-legal-stuff
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