Garry's Mod Logo
schedule 26 February 2018
Update

February 2018 Update

Fixes and new Lua capabilities

This update brings a lot of fixes to newly found exploits and long standing crashes alongside general improvements to the game. Unlike many previous updates, this one will require servers to update before you can join them. We try to keep such updates to a minimum, but it was necessary for this update. This means that for a certain time after the update you may get a message such as "The server is running an older version of the game" when connecting to your favourite servers. You will have to wait for servers to update before you can join them again. Highlights of this update are now fixed support for Zombie Panic!: Source mounting support, improvements for the Sandbox, such as NPCs being less buggy when using built-in weapons. There are also a few additions to the Lua API which should allow modders to make fully custom pathfinding for anything and manipulate physics and visual meshes of custom entities in new ways.

render.Capture changes

Before this update render.Capture could be used by addons to view third-party overlays, such as Steam or Discord. This is no longer the case, as render.Capture will now only return pixels that have been rendered in the current frame. This will not affect addons that are drawing something to the screen and then using render.Capture to get what has been drawn as image data, but may affect addons that are attempting to take screenshots of the game. If you are writing an addon that is trying to take screenshots, you should be calling render.Capture in the PostRender hook.
arrow_circle_up

Improvements

  • Updated BASS.DLL to 2.4.13.8-mp3free
  • Potentially improved vrad.exe performance
  • Better "Error loading gamemode:" errors that actually describe what's wrong
handyman

Fixed

  • Fixed support for Zombie Panic! Source mounting
  • Fixed hammer_update_entity console command crashing the game
  • Fixed a bunch of different exploits
arrow_circle_up

Improvements

  • Added translations for env_fire and npc_fisherman when shown in the kill feed
  • Updated TTT to the latest version
  • Increased offset for rollermine to prevent it from spawning below ground
  • Changed maximum value for Frame Blend's Shutter slider so it doesn't just black screen
  • Changed the link on the version button in main menu to link to the new website
  • Updated all built in weapons to work better with NPCs
handyman

Fixed

  • Properly turn off thirdperson on level shutdown
  • Fixed certain tools erroring when their console variables are set to "nan"
  • Applied a potential fix to stop tooltips from being displayed when they are not meant to be displayed
  • Improved flashlight effect on custom entities
  • Fixed Stunstuck sprites rendering in weird positions
  • Clientside ragdolls of dead NPCs will now properly inherit material override
  • Serverside ragdolls of dead NPCs will now properly inherit color and material override
add_circle

Features

  • Added NPC.GetCurrentSchedule
  • Added File.ReadUShort
  • Added File.ReadULong
  • Added File.WriteUShort
  • Added File.WriteULong
  • Added CreatePhysCollideBox
  • Added PhysCollide:TraceBox
  • Added PhysCollide:Destroy
  • Added PhysCollide:IsValid
  • Added mesh.UserData
  • Added ENT:GetRenderMesh
  • Added GM.PlayerDroppedWeapon( ply, wep )
  • Added CNavArea.SetCostSoFar( num )
  • Added type error to render.Capture
  • NextBot functions now properly error if used on invalid entity
  • IMesh:BuildFromTriangles can do userdata too
arrow_circle_up

Improvements

  • Switched base_anim to CBaseAnimatingOverlay, allowing more functions to be used on "anim" entities
  • DProperty_VectorColor now works with standard colors as well ( vector color support unchanged )
  • Added better type checking and error output to NextBot.GetRange(Squared)To()
  • render.Capture can no longer capture Steam Overlay
  • cam.Start() will now error when given no arguments
handyman

Fixed

  • Fixed errors when calling Setup() without second argument on DProperty_Float and DProperty_Int
  • Fixed deriving from DDragBase requiring to define OnModified
  • Fixed Panel.InvalidateChildren being always recursive
  • Fixed Panel.NewAnimation ease values 0-1 being weird
  • Fixed calling SetAllowWeaponsInVehicle( false ) in PlayerLeaveVehicle hook breaking weapon selection
  • Fixed DBinder not working when its convar is set to NaN
  • Fixed DBinder overriding SetSelected( bool )
  • Fixed util.GetModelInfo crashing with empty string
  • Fixed a crash issue with Weapon functions
  • Fixed NeedsDepthPass not working for addons
  • Fixed string.Comma with very large numbers
  • NextBot.GetRangeSquaredTo now actually works the way it's intended to, by returning squared range
  • Updated most render library functions to not lock up when a Lua type error occurs during function execution
  • Prevent potential stack overflows in scripted_ents.Get
  • Fixed the utf8 library failing with certain UTF8 strings
remove_circle

Removed

  • Removed NPC.RemoveMemory