Garry's Mod Logo
add_circle

Features

  • •
    Added ENT.PhysicsSounds for anim type SENTs - If set to true, re-enables physics impact sounds for the entity
  • •
    Added vgui.GetAll - Internal, returns only Lua created panels. Used to fix PANEL:PreAutoRefresh and PANEL:PostAutoRefresh not working
  • •
    Middle mouse click for DColorCube/DColorMixer to reset to convar defaults
  • •
    Added DColorCube:GetDefaultColor/DColorCube:SetDefaultColor
  • •
    Added DSlider:ResetToDefaultValue
  • •
    Added "content_descriptors" to steamworks.FileInfo result
  • •
    Added private activity functions - util.GetActivityNameByID, util.GetActivityIDByName, util.GetAnimEventIDByName
  • •
    util.GetAnimEventNameByID is now shared
  • •
    Added Panel:SetCookieName support for DNumSlider, DCheckbox, DCheckboxLabel
  • •
    Added DAdjustableModelPanel:GetMovementScale/DAdjustableModelPanel:SetMovementScale
  • •
    Added optional argument to NPC:StopMoving
  • •
    Added new argument to Entity:CreateBoneFollowers
  • •
    Bone follower support for AI and Nextbot SENTs
  • •
    Added Entity:Dissolve
  • •
    Added a 3rd argument for PathFollower:Chase
  • •
    Added NPC:SetStepHeight and NPC:GetStepHeight
  • •
    Added NPC:GetArrivalSpeed / NPC:GetArrivalDistance
  • •
    Added ability for traces to use a table of class names as "filter"
  • •
    Traces now have "whitelist" input property - This will turn the table filter into a whitelist, rather than ignore list. This will NOT affect function() filters
  • •
    Added "hitclientonly" option to trace functions clientside
  • •
    Added new data to util.GetModelInfo - MeshCount, BoneCount, Flags, StaticProp (specific flag)
  • •
    Added a new argument to concommand.Add autocomplete callback - tokenized arguments
  • •
    Added CNewParticleEffect:GetRenderBounds
  • •
    Clientside physics object scaling is now possible with Entity:SetModelScale
  • •
    Added RegisterMetaTable( name, table )
  • •
    sound.Generate now accepts table of samples, or direct binary data as a string
  • •
    Added optional argument to sound.Generate - loopStart (sample ID)
  • •
    Entity:GetPoseParameter and Entity:SetPoseParameter now can accept numbers instead of strings
  • •
    Entity:GetPoseParameterRange can now accept string instead of a number
  • •
    Added steamworks.GetList/steamworks.FileInfo serverside
  • •
    Allow 3 separate number inputs to certain mesh.* functions - mesh.Position, mesh.Normal, mesh.TangentS, mesh.TangentT
  • •
    file.Delete now returns true on success, false otherwise
  • •
    Gamemode cvars: Added "replicate" field - If set to 0, removes REPLICATED flag from gamemode cvars
  • •
    Added Entity:GetFlexType( id ) = string
  • •
    Added Color:Lerp( target, frac )
  • •
    Added string.NiceName
  • •
    Added player_manager.GetPlayerClassTable (Community Contribution)
  • •
    Added 2nd return value to SANDBOX:CanArmDupe hook - message to display on denial (Community Contribution)
  • •
    Added GM:OnPauseMenuShow
  • •
    Added ENT.PhysicsSolidMask to anim/ai/nextbot SENTs
  • •
    3rd argument to GM:NetworkIDValidated - ownerID64
arrow_circle_up

Improvements

  • •
    Increase the limit of Entity:ManipulateBoneScale to 512 (from 32)
  • •
    Material function can use .cache files from steamworks.Download
  • •
    DCollapsibleCategory items support disabled styles
  • •
    More consistent Vector/Angle optional argument handling - You can now do Vector( nil, 1, 2 ) and get the expected output
  • •
    Made new vgui.Create errors non halting to prevent breaking existing mods that are badly coded
  • •
    Block mem_force_flush from Lua access just in case - Having this enabled in autoexec causes issues, so lets disallow servers to force it on players
  • •
    Block servers from modifying fov_desired, skill, cl_playerspraydisable, voice_overdrivefadetime
  • •
    Block "path" concommand from being able to be ran via Lua
  • •
    Block all .log files for file.Read, not just console.log
  • •
    Changed Matrix memory management to match Vector/Angle - This aims to fix stuttering when GCing lots of matrices, for example in rendering hooks
  • •
    Try to make sure SENTs are initialized clientside before processing net messages, to avoid a race conditions with sending newly spawned SENTS to clients
  • •
    Type check table arguments of ColorToHSL, ColorToHSV and physenv.SetPerformanceSettings
  • •
    "anim" type SENTs move physics objects clientside for you - hopefully this does not cause any issues
  • •
    Try loading model from Hammer keyvalues before setting models/error.mdl on anim SENTs
  • •
    Player:SetAvoidPlayers ignores noclipping players
  • •
    Give debug name to physics objects created via Lua & models scaling - for Lua functions, will be the function name that created it, for scaled physics objects - model name + scale
  • •
    Entity:FollowBone, Entity:SetAttachment and Entity:SetParent will throw errors when given absolutely invalid attachment/bone IDs (i.e. less than 0, or above 255)
  • •
    Entity:GetBodyGroups returns "empty" for submodels with no meshes (instead of nothing)
  • •
    DNumSlider:SetEnabled also affects its DLabel
  • •
    DLabel:SetDark disables DLabel:SetBright, and vice versa
  • •
    DLabel:SetHighlight always overrides DLabel:SetDark AND DLabel:SetBright
  • •
    IMaterial:GetColor returns an actual Color
  • •
    Disabled DLabel has faded out colors
  • •
    Make WEAPON:Think not run before NextAttack in singleplayer - This mimics SWEP:Think's behavior clientside in multiplayer
  • •
    Call TOOL:Holster and TOOL:Deploy when switching tools clientside - This was done when using gmod_tool serverside only, it is now done when gmod_toolmode changes both clientside and shared
handyman

Fixed

  • •
    Fixed PhysObj:GetFrictionSnapshot only returning 1 entry
  • •
    Fixed crashes with ENT.RenderGroup = RENDERGROUP_STATIC(_HUGE)
  • •
    Fixed a crash with Entity:PhysicsInitConvex and invalid input
  • •
    Potential fix for a crash withNextbot:BodyMoveXY
  • •
    Fixed render.SetLocalModelLights ignoring last light
  • •
    Fixed IMaterial:GetKeyValues sometimes returning nothing on dedicated servers
  • •
    Prevented invalid input to render.DrawWireframeSphere to avoid crashes
  • •
    Fixed DMenuOptionCVar resetting from cvar too early in certain use cases
  • •
    surface.PlaySound can accept soundscript names clientside
  • •
    EmitSound handles registered sounds a bit better clientside (no need for a hack by adding .wav to the sound name)
  • •
    Fixed Entity:FollowBone not working with boneID 0
  • •
    Fixed SoundDuration returning wrong values for MP3 files
  • •
    Fixed .wav SoundDuration being off by number of channels on srcds
  • •
    Fixed SoundDuration not really working on Linux SRCDs
  • •
    Fixed timer callbacks, HTTP callbacks & async file read callbacks not firing clientside if the client is timing out
  • •
    Release materials created by surface.GetTextureID clientside on disconnect
  • •
    Fixed Entity:SetModel, util.GetModelMeshes and util.PrecacheModel leaking model reference counts
  • •
    Fixed crashes relating to Entity:FollowBone
  • •
    Fixed util.DecalMaterial to actually work
  • •
    Fixed file.AsyncRead erroring after Lua shutdown
  • •
    util.StringToType supports "boolean" and "number" types
  • •
    Panel:GetFont works for RichText
  • •
    Fixed RichText Panel:InsertColorChange to black not working when its the first and only color change
remove_circle

Removed

  • •
    Removed file.AsyncRead from menu state entirely, since its broken there anyway