Garry's Mod Logo
add_circle

Features

  • •
    Added Entity:FindGestureLayer
  • •
    Added Entity:FindGestureSequenceLayer
  • •
    Added Entity:RemoveLayer
  • •
    Added Entity:SetLayerAutokill
  • •
    Added GM:OnNPCDropItem
  • •
    Added NPC:IsCrouching
  • •
    Added NPC:SetForceCrouch
  • •
    Added 2 new optional args to mesh.TexCoord
  • •
    Added NPC:CapabilitiesHas
  • •
    Added NPC:ConditionID
  • •
    Added NPC:IsUnforgettable
  • •
    Added NPC:MoveGroundStep
  • •
    Added effects.TracerSound
  • •
    Added sequence events to util.GetModelInfo
  • •
    Added util.IsBoxIntersectingBox
  • •
    Added MATERIAL_CULLMODE_NONE for render.CullMode
  • •
    Added new arguments to Entity:DropToFloor
  • •
    Added new argument to HTML:ConsoleMessage
  • •
    Added Panel:SetTextHidden
  • •
    Added MAX_PLAYER_BITS global
  • •
    Added MainEyePos and MainEyeAngles
  • •
    Added IGModAudioChannel:GetTagsWMA & IGModAudioChannel:GetTagsMP4
  • •
    Added render.GetFogMaxDensity
  • •
    Added skin parameter to util.GetModelMeshes + up to 15% optimization
arrow_circle_up

Improvements

  • •
    ClientsideModel is now able to be hit by clientside only traces after initializing physics on it post creation (Collision bounds must be set manually if model changes)
  • •
    Try to end mesh.Begin when a mesh wasn't ended when the function is called. (i.e. after a Lua error) It will still error afterwards like it did before, but now prevents game hanging, hopefully without side effects
  • •
    End current Lua mesh (if there is one) on Lua error - preventing game crashes and graphical glitches
  • •
    Change ents.CreateClientRope slack parameter to work better
  • •
    ents.CreateClientRope ropes now despawn if any of its attached entities are removed
  • •
    Allow giving ents.CreateClientRope local vectors instead of attachment IDs
  • •
    Made Entity:PhysicsInitBox/Sphere set solidity before setting the physics object - this improves behavior for those functions with ClientsideModel and is consistent with PhysicsInit()
  • •
    Validate input range for File:Read and File:Write, so the game does not crash with negative bytes to read
  • •
    Improved handling of BSP model names for Lua clientside entities (sets the model index so tracing code can work better)
  • •
    Improved handling of infinite loops with Entity:WaterLevel when called from the water level change hook
  • •
    Switch debugoverlay functions to better optional argument checking with type checking
  • •
    util.IsValidModel returns false if extension is not .mdl
  • •
    Changed render.DrawQuadEasy to use better optional argument handling (potentially breaking)
  • •
    Sandbox gamemode: Do not store the NPCTable/VehicleTable tables on the entities (The name is still stored)
  • •
    Player:GetPunchAngle will now error with lua_strict set to 1 (deprecation warning)
  • •
    Allow mesh.TexCoord to only accept 1 texture coordinate
  • •
    Optimizations for usage of GM:PlayerCanHearPlayersVoice - it will no longer be called for non speaking players
  • •
    Minor optimizations for most Lua functions returning a sequential table
  • •
    Minor adjustment to WEAPON:OnRemove for consistency of execution time with other OnRemove hooks, no functional change expected
  • •
    Validate input ranges for sound.Generate (will error)
  • •
    Validate input ranges for most Lua functions that use enumerations in arguments (will silently clamp the value)
  • •
    Entity:GetCycle now returns 0 instead of nil for invalid entities
handyman

Fixed

  • •
    Fixed clientside sounds not firing WEAPON:FireAnimationEvent
  • •
    Fixed render.SetShadowsDisabled setting the shadow distance instead of disabling shadows
  • •
    Fixed duplicate HTTP headers being discarded instead of being joined with a comma like it did previously
  • •
    Fixed Player:Flashlight playing sounds when disabling a disabled flashlight, etc.
  • •
    Fixed list.GetEntry erroring when used
  • •
    Fixed infinite loops when calling Entity:DrawModel from GM:PrePlayerDraw/GM:PostPlayerDraw
remove_circle

Removed

  • •
    Blocked editdemo console command from Lua just in case
  • •
    Removed obsolete/undocumented/useless panel types from vgui.Create
  • •
    Disabled vmevent API (jit.attach)