Garry's Mod Logo
add_circle

Features

  • Added list.GetEntry (Community Contribution)
  • Added list.RemoveEntry (Community Contribution)
  • Added GM:OnClientLuaError( error, ply, stack, addon_name )
  • Added new info to util.GetModelInfo - IncludeModelCount, IncludeModels and HitBoxSets
  • Added ents.CreateClientRope
  • Added sql.QueryTyped (Community Contribution)
  • Added Color:Copy method (Community Contribution)
  • Added player.GetCountConnecting
  • Added ai.GetNodeCount
  • Added HexToColor, Color:ToHex (Community Contribution)
  • Added CtrlNumPad:GetValue1/CtrlNumPad:GetValue2 (Community Contribution)
arrow_circle_up

Improvements

  • Throw a non halting Lua error when giving invalid types to Entity:SetNetworkedVar (and the other SetNetworkedX functions)
  • Throw a non halting Lua error when trying to read net message past its end (Limited to lua_strict being set to 1)
  • Added engine_no_focus_sleep to blocked convar list
  • On dedicated servers, BRANCH returns "unknown" instead of "prerelease" - Since the builds are identical 99% of the time, "unknown" is the more expected value. This way, it's incorrect only in 0.01% instances of servers using the prerelease beta, instead of most of the time when not using any beta.
  • Apply changes to type() function for speed improvements (Server/menu) (Community Contribution)
  • CUserCmd:GetMouseY/X values on the server are now independent of client FPS of the associated player
  • constraint.Motor accepts a bool for "toggle" parameter (was only accepting 0 or 1)
  • Do not try to run HTTP requests with invalid URLs at all
  • Run GM:PlayerBindPress for unbound keys too
  • numpad library discards bindings to KEY_NONE (Community Contribution)
  • Remove tostring call on the argument of player.GetBySteamID64, since it is supposed to be a string at all times anyway (Community Contribution)
  • Optimized all player.Get* functions a bit
  • Optimized all ents.Get* and ents.Find* functions
  • Improved reliability of entity iterator functions
  • string.ToColor micro-optimization (Community Contribution)
  • Disallow calling Entity:Spawn on the world entity
  • Make util.RemoveDecalsAt distance a float, and use squared distances internally
  • Added IMesh.__tostring method with format IMesh [X verts, Y indices]
  • Throw a non halting error when ENTITY:GetRenderMesh returns a mesh. but not a material
  • Prevent a crashing issue with multicore rendering and IMesh:BuildFromTriangles
handyman

Fixed

  • Fixed double clicks not invoking GM:VGUIMousePressAllowed hook
  • Player:VoiceVolume works for local player without voice_loopback - This only works when using Steam voice, and only when not recording voice to file. (The default state)
  • Fixed IGModAudioChannel:GetPos returning invalid values sometimes
  • Fixed Player:GetAimVector clientside for non local players in vehicles always pointing in the same direction relative to the vehicle
  • Fixed worldspawn entity not calling entity create/remove hooks correctly clientside
  • Fixed clientside ragdolls not calling GM:EntityRemoved
  • Consistent Player:SteamID returns for multirun clients between client/server
  • Fixed VMatrix:InvertTR returning invalid values
  • Made VMatrix:GetAngles be less affected by matrix scale
  • Fixed "timeout" not working in HTTP on client, clamp it to 1-3600