Garry's Mod Logo
schedule 12 November 2019
Update

November 2019 Update

Restored HEV suit, dynamic Render To Texture shadow angles and many smaller changes

Rubat
Programmer
Estonia
Among many smaller changes and improvements, this update brings back the HEV suit functionality from Half-Life 2, including limited flashlight, oxygen and sprint energy. By default the suit systems are disabled, and you can enable this when starting a new game on the panel above "Start Game" button, or while in-game in the Utilities tab in Sandbox's Spawnmenu. We have also added a feature called Dynamic Render To Texture shadow angles: While this feature is primarily aimed at map makers, we have added a bunch of console variables for everyone to mess around with:
  • r_shadow_allowdynamic 1 - Allows dynamic lights, such as the Light tool, to make use of this feature
  • r_shadow_allowbelow 1 - Allows lights below an entity to also affect shadow angles
  • r_shadowfromanyworldlight 1 - Makes ALL light sources affect shadow angles, as opposed to only map curated ones
  • r_shadow_lightpos_lerptime 0.5 - How long it takes for the angles to change from one light source to another
  • r_shadow_shortenfactor 2 - The higher the number, the more towards the ground the shadow will point

If you wish to disable this feature altogether for whatever reason, you can use the following command:
  • r_shadowfromworldlights 0

Along with these 2 features, there are a whole slew of smaller changes and fixes, such as more improvements to map loading from other games like Counter-Strike: Global Offensive, whose maps should look less broken with this update, as well as being able to load its de_dust2 version and the dz_sirocco Danger Zone map thanks to the increased map displacement limit. We are also introducing a number of visual fixes, such as Lamp tool glows now working properly in mirrors, a fix for the long standing issue of sun disappearing randomly when looking at it and some decals not receiving shadows from projected textures (Lamp Tool) on gm_construct and many other maps. The Hammer Editor also saw some improvements, fixing checkerboard reflections and a new ability to simply drag'n'drop .vmf files onto Hammer to open them, so you no longer have to manually navigate to your files using the Open File dialog. Special thanks to Badger for reporting and suggesting a fix for a security issue. You will find full list of changes below.
add_circle

Features

  • Added Left 4 Dead 2 & other missing map icons
  • Added ability to remove favorite servers from the Favorites list
  • Restored HEV Suit oxygen, sprint and flashlight systems from Half-Life 2 (Disabled by default via gmod_suit console variable)
  • You can now ignite "simple_physics_prop" entity via Ignite property
  • The initial addon mounting in main menu now displays a message that we are doing something
  • Spawnmenu will automatically open UI of currently selected toolmode on when joining a server or starting a new game
  • Added cl_enable_loadingurl, which allows players to disable custom loading screens in the Options menu (#1265) (Community Contribution)
  • Readded point_flesh_effect_target entity, fixing the Half-Life 2 Episode 2 flesh effect on Alyx in "This Vortal Coil" chapter
arrow_circle_up

Improvements

  • Changed default binding for Alt from "Last Weapon" to "Slow walk" (#1559) (Community Contribution)
  • Restored non HDR depth buffer range to 192 from 8192, which fixes particle systems looking weird, clipping through ground
  • Adjusted contrast on disabled checkboxes and combo boxes
  • Updated Ammo HUD to allow secondary ammo to fit at least 3 digits as opposed to the original 1.5
  • Garry's Mod no longer automatically unsubscribes from banned Steam Workshop addons
  • The game now automatically enables the Workshop addon the player unsubscribed from or subscribed to, to reduce cases of addons not working after installing them
  • Improvements to NPCs using the Half-Life 2 crossbow
  • Floating .gma addons do not show rate and install buttons and cannot be disabled
  • Changes to allow larger maps to not crash with "Engine Hunk Overflow" error
  • Fixed non English player nicknames being cutoff
  • Increased map displacement limit to 16384, from 5500, allowing certain CS:GO maps to be loaded
handyman

Fixed

  • Spawnicon editor loads bodygroups from picked models
  • Fixed Lua errors with certain symbol inputs in Sandbox search fields
  • Fixed some weapons (RPG, AR2, HL1 357, Glock, Shotgun) spamming sounds underwater while holding Right Mouse Button
  • Fixed brush ladders and Physics Gun's +use allowing you to fly into air indefinitely
  • Restored func_traintrain's control HUD (Can be disabled by gamemodes via HUDShouldDraw)
  • Fixed some CS:GO maps having terrible looking water and black skyboxes
  • Fixed static props and func_lod's having broken fade distances on CS:GO and Left 4 Dead 1 maps
  • Fixed an issue which caused weapons to go invisible under very specific circumstances
  • Fixed certain decals not receiving shadows from projected textures (lamp tool, flashlights)
  • Player's health and armor are no longer reset on level transition
  • Fixed sun glow sprite disappearing when looking at it
  • Fixed undoing specific history element breaking Undo logic for newly spawned entities
  • Fixed duplicator tool save icons not showing skins and bodygroups
  • Fixed Lamp and Light Tool's glow as well as other mod functionality (util.PixelVisible) not drawing when viewed through a reflective/refractive glass (such as the mirror on gm_construct)
  • Fixed CS:S shells not playing sounds
  • Fixed script_intro entity not working properly in multiplayer after playing for a while
  • Fixed weapon's primary and secondary clips only networking first 8 bits, "limiting" the value in multiplayer to 255
remove_circle

Removed

  • Disabled hull trace surface property (Shotguns applying wrong decals on glass) fix as it caused crashes in certain cases
add_circle

Features

  • Added support for dynamic Render To Texture shadow angles
  • Added support for _castentityshadow in Hammer
  • Added SetShadowsFromLocalLightsEnabled and enableshadowsfromlocallights for shadowcontrol entity
  • Added $treesway support for UnlitGeneric shader
  • You can now drag'n'drop .vmf files onto Hammer to open them
arrow_circle_up

Improvements

  • Some minor code cleanups (Pull Requests #1606 #1603 #1602 #1504) (Community Contribution)
  • Console variables will try to be set to "3" instead of "3.000000"
  • Changed the toolgun RenderTarget to use render.Push/PopRenderTarget() to show the proper way of doing Render To Texture
  • The game no longer tries to delete Steam Workshop files outside of Garry's Mod's directory (ISteamUGC item files)
  • Moved Server Workshop Addons to the ISteamUGC system
  • Dedicated servers now actually mount ISteamUGC addons
handyman

Fixed

  • Clientside only physics scrape sounds (for example from prop gibs) play properly at the entity location, not at world origin
  • Fixed CTransitionTable::OverrideBlendSeparateAlpha and mat_fillrate
  • debug_dump now handles FCVAR_NEVER_AS_STRING convars properly
  • EFL_NO_DAMAGE_FORCES flag now also works on players
  • Taunt cam hides quick info HUD as expected
  • env_explosion's sparks now work as intended
  • Fixed reflections on brushes in Hammer having the checkerboard pattern
  • Fixed a few crashes with NULL physics objects in multi-physics object entities
remove_circle

Removed

  • Got rid of the "Can't init {classname}" console message as it is a duplicate warning of "Attempted to create an unknown entity {classname}"
  • Cleaned up unused argument of Player.PhysgunUnfreeze() (#1604) (Community Contribution)
add_circle

Features

  • Default SWEP:ShootBullet now has 3 optional arguments - ammo_type, force, tracer (#1502) (Community Contribution)
  • Added ITexture.IsErrorTexture
  • Added support for DTVars change callbacks on client
  • Added LuaLocomotion:Set/GetGravity()
  • Added COLOR.Unpack COLOR.SetUnpacked and COLOR.ToTable (#996) (Community Contribution)
  • Added Vector.Unpack, Vector.SetUnpacked and Vector.ToTable
  • Added Angle.Unpack, Angle.SetUnpacked and Angle.ToTable
  • Added VMatrix.Unpack and VMatrix.SetUnpacked
  • Added Entity.Get/SetLightingOriginEntity
  • Added VMatrix.Zero and IsZero
  • Added HSL color functions - HSLToColor, ColorToHSL and COLOR:ToHSL()
  • All DProperties default data type rows, DNumberScratch, DNumSlider and DSlider now support Set/IsEnabled
  • Added optional min and max arguments to Create(Client)ConVar
  • Added ConVar.GetFlags, IsFlagSet, GetMin and GetMax
  • Added Convar.Revert, works only on Lua created ConVars
  • Added Player.GetPreviousWeapon()
  • Added 'ignorez' to Material() function
  • Added sql.IndexExists() (#1105) (Community Contribution)
  • Added Entity.UpdateShadow()
  • Added ENT_ANIM.GetShadowCastDirection() hook
  • Added Player.Set/GetSuitPower
arrow_circle_up

Improvements

  • Moved GM:PlayerShouldTakeDamage definition to init.lua from shared.lua (#1600) (Community Contribution)
  • GM:GravGunPunt is no longer called for NULL entities on client
  • DTooltip will now remove its contents (if appropriate) when its target panel is removed
  • Entity.SetPreventTransmit can now override transmit state of TRANSMIT_ALWAYS
  • Updated Stack (Lua object) implementation (#1566) (Community Contribution)
  • SWEP.TranslateFOV is now shared
  • string.NiceSize calculates MBs not MiBs, etc like the suffix suggests (#1615) (Community Contribution)
  • Second argument of Player.SetFOV is now optional
  • Tightened IsEntityPositionReasonable bounds to avoid crashes
  • Prevented usage of PhysicsInit* and PhysicsDestroy functions on the world entity and ragdolls to avoid crashes
handyman

Fixed

  • DListView_Column.SetFixedWidth with negative values no longer freezes the game
  • Fixed Entity.MapCreatedID() and Entity.CreatedByMap() being set a bit too late for GM:EntityKeyValue
  • Some Derma functions no longer pollute global table (#1598) (Community Contribution)
  • Weapon inheritance doesn't error when baseclass weapon has non table values (#1586) (Community Contribution)
  • Fixed Player.Give's second argument soft-breaking non clip using weapons such as built in frag grenades
  • Fixed Entity.Activate on a SetModelScaled ragdolls causing a crash (It still won't scale ragdolls)
  • Entity.PhysicsDestroy on ragdolls no longer crashes the game
  • Fixed ConVars with FCVAR_NEVER_AS_STRING not firing ConVar change callbacks
  • Fixed SWEP.TranslateFOV not opening area portals
  • Player.GetFOV now returns a float on server to match clientside behavior
  • Managed Lua ConVars save properly with FCVAR_NEVER_AS_STRING flag
arrow_circle_up

Improvements

  • TTT: Optimized type checks (#1596) (Community Contribution)
  • TTT: Micro Optimized loops (#1610) (Community Contribution)
handyman

Fixed

  • TTT: Stop bleeding on respawn (#1611) (Community Contribution)