Garry's Mod Logo
add_circle

Features

  • Entity:PhysicsDestroy
  • Weapon:GetHoldType
  • util.SharedRandom
  • util.BlastDamageInfo
  • Entity:SetLOD
  • Entity:SetLagCompensated
  • Entity:IsLagCompensated
  • Player:SetAllowWeaponsInVehicle
  • Player:GetAllowWeaponsInVehicle
  • CSoundPatch:SetDSP
  • CSoundPatch:GetDSP
  • IGModAudioChannel:EnableLooping
  • IGModAudioChannel:PlayFile
  • Entity:SetPhysicsAttacker
  • game.SetSkillLevel
  • EFFECT:StartTouch
  • CUserCmd:SelectWeapon
  • Added __tostring to CNavArea, CSoundPatch, IGModAudioChannel, PhysObj, dlight_t metatables
  • PhysObj:GetName
  • CNavArea:Draw
  • CNavArea:GetZ
  • CNavArea:IsOverlapping
  • CNavArea:Contains
  • CNavArea:IsCoplanar
  • CNavArea:GetClosestPointOnArea
  • CNavArea:IsVisible
  • CNavArea:GetCorner
  • navmesh.GetNavAreaCount
  • navmesh.GetNavArea
  • navmesh.GetNavAreaByID
  • navmesh.BeginGeneration
  • navmesh.IsGenerating
  • navmesh.GetPlayerSpawnName
  • navmesh.SetPlayerSpawnName
  • navmesh.AddWalkableSeed
  • navmesh.ClearWalkableSeeds
  • Entity:IsDormant
  • ENTITY:Blocked
  • Color:ToHSV
  • gui.InternalKeyTyped
arrow_circle_up

Improvements

  • Updated LuaJIT to version 2.0.3
  • Reverted Entity:IsValid to its old behaviour
  • Changed Entity:PhysicsInitBox behaviour to be more consistent with Entity:PhysicsInitConvex (no longer creates a broken physics object in some cases)
  • game.GetWorld is now shared
  • Player:HasWeapon and Player:GetWeapon are now shared
  • Entity
  • Entities can now have up to 64 DT vars of each type (except strings)
  • Player:Kick and Player:Ban kick/ban reasons are now optional and may contain newlines
  • SWEP holdtypes are now properly networked
  • Vector and angle access using a numerical index rather than x/y/z is now slightly faster
  • gui.OpenURL now clamps URLs to 511 characters max
  • Added safeguards to mesh library functions
  • Entity:GetMaxHealth is now shared again and properly networked
  • Entity:DrawViewModel now takes an optional second argument which controls which viewmodel to show/hide (defaults to 0)
  • Moved Entity:Disposition, GetActivity, IsNPCMoving, IsUnreachable to NPC:Disposition, GetActivity, IsMoving, IsUnreachable
  • Trace tables now accept an "output" parameter which may contain the table the trace results should be written into
  • sound.PlayFile and sound.PlayURL callbacks now receive an error ID and error name as their second and third parameters if an error occurs
  • Weapon:CallOnClient second argument is now optional (defaults to "")
  • Moved Player:PlayScene, NPC:PlayScene and NextBot:PlayScene to Entity metatable
  • Entity:PlayScene second argument (delay) is now optional (defaults to 0)
  • MsgC can now print text with several colors in a single call
  • Moved Player:Freeze, Player:GodEnable, Player:GodDisable, Player:IsFrozen, Player:HasGodMode to Lua
  • Clamped pitch between -90 and 90 instead of -180 and 180 for AngleRand
  • util.KeyValuesToTable and util.KeyValuesToTablePreserveOrder now accept a third parameter which prevents keys from becoming lowercased when set to true
  • vgui.LoadControlsFromFile/LoadControlsFromString now properly creates scripted panels
  • Improved vgui.LoadControlsFromString (no longer writes to a temporary file)
handyman

Fixed

  • Fixed Entity:PhysicsFromMesh building a deformed collision mesh
  • Fixed PhysicsCollide entity callback missing information about the entity which was collided with
  • Fixed IMaterial:GetMatrix crashing the game
  • Fixed sound.Add not working on dedicated servers
  • Fixed ents.FindByClass not interpreting wildcards correctly
  • Fixed util.CRC not working correctly on strings with embedded zeroes
  • Fixed util.JSONToTable losing precision for large integer values
  • Fixed Entity:GetBoneController returning a truncated value
  • Fixed Entity:SetHitboxSet not working properly with an integer parameter
  • Fixed NPC:FoundEnemySound, LostEnemySound, FearSound, IdleSound and AlertSound not calling their appropriate equivalent in the engine
  • DynamicLight
  • Fixed util.TableToJSON crashing when passed a table containing keys that aren't strings or numbers
  • Fixed GM:OnReloaded being called more than once on most gamemodes
remove_circle

Removed

  • Removed "loop" flag from sound.PlayURL
  • Removed support for vm_origin and vm_angles from GM:CalcView