Garry's Mod Logo
add_circle

Features

  • Added ClientSignOnStateChanged
  • Added SIGNONSTATE_* enums
  • Added 4th argument to GM:PlayerBindPress - button code
  • Added a 3rd argument to gmsave.LoadMap - a callback that is called after the save have been successfully loaded
  • Added DProperty_Entity panel that acts as a entity picker row
  • Allow returning false in undo.AddFunction to skip undo if it's no longer valid (Community Contribution)
  • GM:GameContentChanged is now also called for serverside/clientside realms like originally intended
  • Added DTree_Node.GetExpanded
  • Added DTree_Node.OnNodeAdded( newNode )
  • Added Panel.Set/GetX/Y (Uses Lua Panel.Set/GetPos internally) and switched Panel:Center(Horizontal/Vertical) to use them
  • Made PrecacheSentenceFile() shared (was serverside only)
  • Added spacers support to DComboBox (Community Contribution)
  • Added PreUndo and PostUndo hooks (Community Contribution)
  • Added Entity:GetAnimTimeInterval
  • Added Player:Set/GetActivity
  • Added Weapon:SetActivity
  • Added NPC:SetActivity
  • Added NPC:Set/GetMoveVelocity
  • Added NPC:UpdateTurnActivity
  • Added NPC:HasObstacles
  • Added NPC:AutoMovement
  • Added NPC:Get/SetTaskStatus
  • Added TASKSTATUS_* enums
  • Added NPC:Get/SetMoveInterval
  • Added NPC:GetIdealMoveSpeed
  • Added NPC:GetIdealMoveAcceleration
  • Added NPC:GetMinMoveStopDist
  • Added NPC:GetMinMoveCheckDist
  • Added NPC:IsMoveYawLocked
  • Added NPC:SetMoveYawLocked
  • Added NPC:MoveStart
  • Added NPC:MoveStop
  • Added NPC:MovePause
  • Added NPC:ResetMoveCalc
  • Added NPC:MoveClimbStart
  • Added NPC:MoveClimbExec
  • Added NPC:MoveClimbStop
  • Added AIMR_* enums
  • Added NPC:MoveJumpStart
  • Added NPC:MoveJumpExec
  • Added NPC:MoveJumpStop
  • Added NPC:ResetIdealActivity
  • Added NPC:IsGoalActive
  • Added NPC:ClearBlockingEntity
  • Added NPC:GetNavType
  • Added NPC:SetNavType
  • Added NAV_* enums
  • Added file.AsyncRead
  • Added ProjectedTexture.Get/SetShadowSlopeScaleDepthBias
  • Added ProjectedTexture.Get/SetShadowDepthBias
  • Added ProjectedTexture.Get/SetShadowFilter
  • Added ProjectedTexture.Get/SetTargetEntity
arrow_circle_up

Improvements

  • DProperties now accept the same row types (names) as the DTVar (Entity:NetworkVar) types are called
  • util.TableToKeyValues and CreateMaterial now throw a type error when given not a table to arguments that expect a table
  • util.StringToType now works with "entity" type ( EntIndex )
  • Updated the continue statement implementation in LuaJIT
  • SpawnmenuContentPanel:SwitchPanel now accepts nil to switch to no panel
  • Entity.SetTable now throws a type error when given not a table (used to silently fail)
  • SurfaceInfo.__tostring now contains the ID of the surface
  • steamworks.DownloadUGC now has an internal queue and displays download progress just like workshop subscriptions would
  • Steamworks library: More invalid Lua state safeguards, functions now throw type errors when not given a callback where one is expected
  • render.ReadPixel/render.CapturePixels now returns the alpha channel too (naturally uses more memory)
handyman

Fixed

  • Fixed Vehicle.SetVehicleParams taking "steering" parameters from "engine" table, fixed it affecting the speed of some cars due to vphysics shenanigans, fixed it needing boostMaxSpeed, maxRevSpeed and maxSpeed in different units
  • Setting size of a spawnicon AFTER the model should now work correctly (Still not recommend doing so though)
  • SpawnIcon:SetSpawnIcon no longer requires the file to be loaded elsewhere to work
  • Fixed DCheckBoxLabel's vertical alignment of the label (Community Contribution)
  • DTextEntry removes its autocomplete menu if it is open when the text entry itself is removed
  • Fixed an issue with DTree file folders where adding folders to an open node would not populate the added node unless the parent node was collapsed and then expanded again
  • Maintain nicer sorting for numbers in DListView column sorting (Regression fix for previous update)
  • Fixed Panel.LerpPositions not working well with Panel:Center*() functions (or with GetPos() in general)
  • Fixed a self crash with render.DrawSphere when giving the sphere zero/negative segment counts
  • Fixed Entity.GibBreakServer crashing with brush entities
  • Fixed render.SupportsHDR always returning false
  • Fixed Player.GetFriendStatus never showing "blocked" status
  • Fixed cookie library cache having outdated values in certain rare cases (Community Contribution)