Garry's Mod Logo
add_circle

Features

  • Added SF_PHYSPROP_IS_GIB, SF_PHYSBOX_ALWAYS_PICK_UP, SF_PHYSBOX_NEVER_PUNT, SF_WEAPON_START_CONSTRAINED, SF_WEAPON_NO_PLAYER_PICKUP and SF_WEAPON_NO_PHYSCANNON_PUNT enums (all shared)
  • Added NextBot.IsAbleToSee( ent, useFOV = true )
  • Added NextBot:Set/GetFOV()
  • Added CNavArea.IsPotentiallyVisible( cnavarea )
  • Added CNavArea:IsCompletelyVisible( cnavarea )
  • Added Nextbot.Set/GetMaxVisionRange()
  • Added CNavArea:IsPartiallyVisible( eyepos, ignoreEnt = NULL )
  • Added DLabelEditable.Set/GetAutoStretch, defaults to false
  • Added NEXTBOT:OnEntitySight and NEXTBOT:OnEntitySightLost
  • Added Material:Get/SetVector4D, returns/takes 4 numbers
  • Added DButton.SetMaterial() (Community Contribution)
  • Added Player.OwnerSteamID64(), serverside only, returns the SteamID of family sharing owner of the game license (or just the player's SteamID if not using FS), will be 0 before player is fully authed
  • NPC.NavSetGoalTarget, NPC.NavSetRandomGoal, NPC.NavSetGoal and NPC.NavSetWanderGoal now return a bool - whether the path generation succeeded or failed
  • Added a 2nd argument to util.RedownloadAllLightmaps - update static prop lighting
  • Added "stack" argument for GM:OnLuaError
  • Added DTree_Node.GetChildNodes
  • Added DTree_Node.GetChildNodeCount
  • Added DCollapsibleCategory.SetHeaderHeight
  • Added DCollapsibleCategory.GetHeaderHeight
  • PropSelect.AddModel(Ex) now returns the icon it creates (Community Contribution)
  • RecipientFilter global now has a new optional argument - make unreliable
arrow_circle_up

Improvements

  • DNumberWang.OnValueChanged is now only called when the value has actually changed
  • Increased precision of doubles in util.TableToJSON
  • Player.SetActiveWeapon( NULL ) now hides the view model as expected
  • Player.SetActiveWeapon( NULL ) no longer causes next selected weapon to be force-lowered
  • surface.DrawCircle is no longer made out of dots but uses lines and it's color argument is now optional
  • Promoted "HTTP failed - ISteamHTTP isn't available!" to an ErrorNoHalt with stack to help identify what addon is causing the error message
  • Weapon.SetClip1/SetClip2 marks the weapon to not give out reserve ammo/reset clips on weapon pickup
  • Made Entity.Use's last 3 arguments optional
  • More consistent "self" type/NULL checking for CNavArea and CLuaEmitter
  • CLuaParticle.SetThinkFunction/CollideFunction now ErrorNoHalts on bad input, instead of a silent message
  • DCollapsibleCategory now works better with Derma skins
  • CreateSound() no longer forces the internal filter to be reliable
handyman

Fixed

  • surface.DrawTexturedRect(UV) now work with poster command nicely
  • Fixed clientside DTVar callbacks not being called when setting an "Entity" type property to NULL
  • Fixed PANEL:OnStopDragging being called multiple times per "dragging drop" (Community Contribution)
  • Fixed engine.LightStyle crashing with style=64
  • NPC.NavSetGoal no longer tries to generate a 0 length path failing every time, now has 2 more arguments, minPathLength and direction = vec3_origin
  • Fixed render.DrawQuadEasy producing malformed/squashed quads in very certain rare cases
  • Player.PickupObject now force drops the given object before trying to pick it back up, so the object doesn't get stuck in an invalid state
  • Player.SetNoCollideWithTeammates( true ) no longer causes players with Team ID 1-4 to not receive melee damage from NPCs
  • Fixed walking on player heads not working correctly if SetNoCollideWithTeammates() is set to true and the 2 players are in different teams in teamID range 1-4
  • Fixed players on moving brush entities getting instantly killed if inside each other with SetNoCollideWithTeammates( true )
  • Fixed players getting flung unexpectedly from frozen props, most noticeably with SetNoCollideWithTeammates enabled and standing in teammates
  • Avoid console errors when using PrintMessage with weird input
  • DMenu submenus inherit parent's derma Skin
  • Fixed HTTP() global trying to use invalid ISteamHTTP pointer after changelevel on dedicated servers causing a crash
  • DModelPanel clears render depth automatically fixing weird artifacts when 2 or more DModelPanels are on top of each other