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