Garry's Mod Logo
add_circle

Features

  • Added render.OverrideBlend (replaces render.OverrideBlendFunc)
  • Added Entity.GetSequenceMovement
  • Added Player.IsSprinting
  • Added Vector.Div
  • Added Angle.Div & Angle.__div
  • Added Angle.Mul
  • Added Angle.Add
  • Added Angle.Sub
  • Added serverlist.AddCurrentServerToFavorites
  • Added CanAddServerToFavorites
  • Added CreatePhysCollidesFromModel
  • Added CNavLadder.GetTop
  • Added CNavLadder.GetBottom
  • Added CNavLadder.GetWidth
  • Added PhysObj.ApplyTorqueCenter
  • Added PhysObj.GetShadowPos
  • Added PhysObj.GetShadowAngles
  • Added PhysObj.GetVelocityAtPoint
  • Added PhysObj.SetContents
  • Added PhysObj.GetContents
  • Added DNumSlider.GetDefaultValue
  • Added DNumSlider.SetDefaultValue
  • Added DNumSlider.ResetToDefaultValue
  • Added navmesh.GetGroundHeight
  • Added engine.TickCount
  • Added file.Rename, same restrictions as file.Write/file.Open apply
  • Added BLENDFUNC enums
  • Added game.GetAmmoNPCDamage
  • Added game.GetAmmoPlayerDamage
  • Added game.GetAmmoForce
  • Added game.GetAmmoDamageType
  • Added ents.FindAlongRay
  • Added TYPE_PHYSCOLLIDE enum
  • Added PLAYERANIMEVENT_CANCEL_RELOAD enum
  • Implemented DNumSlider.GetText
  • Added support for BodyGroups in Sandbox NPC list
  • Added ConVar support for plydmg, npcdmg and maxcarry keys of game.AddAmmoType
arrow_circle_up

Improvements

  • Entity.AddCallback will now error instead of silently failing when given not a function on its 2nd argument
  • Vector/Angle.Mul and Div methods now have correct type checking and errors
  • util.TableToJSON returns nil unless top-most element is an object or array
  • file.Exists and file.IsDir will return false where it used to return nil
  • ScriptedEntityType field will now work equally on all entity types
  • Added better bounds checking to Entity:GetSequenceActivity
  • GetCreator now returns NULL for no creator, instead of nil (Community Contribution)
  • IsValid micro optimisation (Community Contribution)
  • Improvements to Entity.GetKeyValues() - Vectors actually work now, added support for FIELD_SOUNDNAME and FIELD_EHANDLE
  • FL_ANIMDUCKING is now used and set automatically
  • Return type consistency for Player.TraceHullAttack, Player.GetObserverTarget, Player.GetRagdollEntity, NPC.GetBlockingEntity, NPC.GIve, Entity.GetRagdollOwner, they now return NULL entity where they used to return nil
  • Better/Faster implementations of SortedPairs and similar functions (Community Contribution)
  • PrintTable will no longer try to print the table its currently printing (Community Contribution)
  • DNumberScratch decimal changes for the pop up window (Community Contribution)
handyman

Fixed

  • Entity.DeleteOnRemove() can no longer remove players or the world
  • Fixed a stack overflow in DListView
  • Entity.IsRagdoll will attempt to return proper value when the entity is marked for deletion
  • render.DrawSphere will no longer draws one less longitude step than specified
  • game.CleanUpMap() will no longer crash on LZMA compressed maps
  • Fixed util.DecalEx's scale arguments not working
  • Fixed util.DecalEx using inverted normal for non brush entities
  • Fixed game.AddDecal not precaching added decals resulting in util.DecalMaterial not working as expected in some cases
  • Fixed util.DecalEx not working on entities with brush models
  • Fixed util.Base64Encode output for 0 and 1 byte inputs
  • Fixed Entity.GetAnimInfo not working at all
  • Fixed Entity.SetGravity resetting on players when they use ladders
  • Player.IsFullyAuthenticated no longer returns the player object in some cases
  • Fixed prediction errors caused by using Player.SetHull(Ducked)
  • Player.SetAmmo now has proper ammo typeID bounds check, as well as proper max ammo check (0-9999)
  • Fixed calling Player.Spawn() on a player inside a vehicle putting the player in an invalid state where NPCs can't see them