Garry's Mod Logo
Changes Header

Changes

What’s changed in Garry's Mod in each patch.

add_circle

Features

  • •
    Entity:SetLegacyTransform
handyman

Fixed

  • •
    Fixed plugin_load not doing anything
  • •
    Fixed players being removed when sitting in a vehicle parented to another entity
  • •
    Fixed non-ASCII characters being removed from player names
  • •
    Fixed tabs in RichText selection
  • •
    Fixed properties not correctly working on vanilla
  • •
    Fixed Color.__tostring not outputting alpha
  • •
    Fixed render.CapturePixels crashing when used on render targets
  • •
    Fixed Weapon:CallOnClient crashing when called on a weapon owned by a NPC
  • •
    Fixed weapon holdtypes not always updating on the client
  • •
    Fixed player names not updating in scoreboard and voice panels
  • •
    Definitely fixed Entity:SetModelScale and Entity:EnableMatrix applying transformations twice on some models
remove_circle

Removed

  • •
    Removed properties.HaloThink
  • •
    Removed _restart from blocked concommand list
arrow_circle_up

Improvements

  • •
    Files with an incorrect extension can no longer be loaded as modules
  • •
    Loose .vcd files can now be loaded without having to be compiled into scenes.image
handyman

Fixed

  • •
    Fixed item pickups not being collectable in some cases
  • •
    Fixed env_microphone not always transmitting NPC voices in multiplayer
  • •
    Fixed some textures on gm_construct having an incorrect normal map when running under DX8
  • •
    Fixed console crash on some machines
  • •
    Fixed another possible exploit with CNetChan::SendFile
  • •
    Fixed an exploit allowing access to any file on a client machine
  • •
    Fixed vehicle noclip exploit
  • •
    Fixed SMG viewmodel animation glitch when firing exactly 3 shots in a single burst
  • •
    Fixed inaccurate text selection in RichText controls
add_circle

Features

  • •
    Added lag compensation to the crowbar's secondary attack
  • •
    Added TTTPlayerUsedHealthstation hook
handyman

Fixed

  • •
    Admin commands no longer appear in "last words"
  • •
    Fixed a minor issue with teleporter effects
add_circle

Features

  • •
    Added team.SetColor(index, color)
  • •
    Added Angle:SnapTo(component, degrees)
  • •
    Added IsColor(), net.WriteColor(), net.ReadColor()
arrow_circle_up

Improvements

  • •
    Post Process effects are no longer saved across restarts
  • •
    Hidden some useless HL2 maps
  • •
    Updated jQuery/AngularJS
  • •
    draw.SimpleTextOutlined now returns same thing as draw.SimpleText
  • •
    Lua errors notification only stays for 10 seconds instead of 30
  • •
    Clicking "Resize" in spawnicon right click menu no longer automatically rerenders the icon.
  • •
    Fancified Bouncy Ball
  • •
    Updated server browser looks
  • •
    Bots are no longer counted towards player count in server browser
  • •
    Sort addons and games alphabetically in Browse
  • •
    Made player_manager.TranslateToPlayerModelName case insensitive
  • •
    Tweaked some tools
  • •
    Improved context menu properties in various ways
handyman

Fixed

  • •
    Fixed vehicle third person affecting cameras
  • •
    Fixed shipped weapons creating errors when given to NPCs
  • •
    Fixed SimpleDoF to properly work with cameras
  • •
    Fixed return values of draw.SimpleText
  • •
    Fixed big numbers not sending properly with net.WriteTable
  • •
    Fixed gmod_admin_cleanup/gmod_cleanup errors when run in a dedicated server console
  • •
    Fixed vehicles not duplicating their skin, bodygroups, etc
  • •
    Fixed derma.SkinTexture
  • •
    Fixed longstanding thruster crash exploit
  • •
    Fixed pasted ragdolls with duplicator being in T pose until you touch them (still happens for saves though, sorry)
  • •
    Fixed snow footsteps
  • •
    Fixed some base weapons (Alyx gun, HL1 grenade) being .357 clones
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