Garry's Mod Logo
add_circle

Features

  • •
    Added GetTimeoutInfo() - returns bool IsTimingOut, float GetTimeSinceLastReceived
  • •
    Added Panel.IsModal
  • •
    Added Panel.IsPopup
  • •
    Added "previewurl" to steamworks.FileInfo, meant as a replacement to previewid
  • •
    Vector.Mul can multiply vector by vector now
  • •
    Added PLAYER.MaxArmor (player classes)
  • •
    Added basic support for bone followers on "anim" type SENTs - Added Entity.CreateBoneFollowers, Entity.UpdateBoneFollowers, Entity.DestroyBoneFollowers (All serverside only)
  • •
    "anim" type sents will render their physics object with vcollide_wireframe if there exists one clientside (yellow for clientside physics object, green for model index vcollide)
  • •
    Added GM:PreRegisterSENT
  • •
    Added GM:PreRegisterSWEP
  • •
    list.Add now returns the index the object was placed at (Community Contribution)
  • •
    Added ITexture.GetNumAnimationFrames()
  • •
    Added ENTITY:GetPreferredCarryAngles( ply ) ("anim" type SENTS only)
  • •
    Added Player argument to GM:GetPreferredCarryAngles
  • •
    Added serverlist.PingServer (menu state)
  • •
    Added input.GetAnalogValue( AnalogAxis )
  • •
    Added ANALOG_* enums
  • •
    Added OnRequestFullUpdate serverside game event ( has all the same data as player_connect_client event, save for bot field )
  • •
    Added .xml, .csv, .jpeg, .mp3, .wav and .ogg file formats to file.Write whitelist
  • •
    Added ErrorNoHaltWithStack
  • •
    Added OnPlayerPhysicsPickup and OnPlayerPhysicsDrop hooks, which handle +use physics pickup
  • •
    Added optional argument to IGMODAudioSteam.SetTime - helps reduce the lag when seeking large MP3 files
  • •
    Added NPC.SetSquad
  • •
    Added NPC.GetSquad,
  • •
    Added NPC.IsSquadLeader
  • •
    Added NPC.GetNearestSquadMember
  • •
    Added ai.GetSquadLeader
  • •
    Added ai.GetSquadMemberCount
  • •
    Added ai.GetSquadMembers
  • •
    Added NPC:GetIdealActivity
  • •
    Added NPC:SetIdealActivity
  • •
    Added ENTITY:OnMovementFailed
  • •
    Added ENTITY:OnMovementComplete
  • •
    Added ENTITY:OnChangeActiveWeapon( old, new )
arrow_circle_up

Improvements

  • •
    Added activator & caller arguments to Entity.Fire, both default to NULL
  • •
    Switched base_entity:TriggerOutput to use Entity.Fire so it uses the internal engine event queue system
  • •
    Switched vgui.Create missing element warning to ErrorNoHalt
  • •
    Made GetPhysicsAttacker's first argument default to 1
  • •
    ENT:HandleAnimEvent can now return true to suppress the default action
  • •
    DProperties handles non existing panel types more properly
  • •
    Panel.KillFocus on EditablePanel now actually kills focus
  • •
    Disallowed DoModal on non Popup panels to prevent bricking the game
  • •
    Player.ConCommand blocked message is now an ErrorNoHalt like RunConsoleCommand
  • •
    "connect" console command is now completely blocked on server realm
  • •
    ENT.Initialize for clientside only entities now acts similarly to networked entities (no longer is automatically called, tied to Entity.Spawn)
  • •
    Lua created materials (CreateMaterial) are now cleaned up on map shutdown
  • •
    Removed prefix restrictions from util.IsValidModel
  • •
    Allowed weapons with a CalcView function to work with player_manager view overrides (fixes taunt camera for SWEPs with a custom CalcView)
  • •
    net.WriteData's length argument is now optional, will ErrorNoHalt when given incorrect length
  • •
    More strict type checking for Entity.SetMaterial
  • •
    ErrorNoHalt when file.Open is given incorrect read/write mode (used to silently fail)
  • •
    Added an ErrorNoHalt when giving net.WriteData not enough data
  • •
    SANDBOX:PlayerSpawn* hooks should consistently no longer receive NULL players
  • •
    net.ReadData errorNoHalts about invalid length (<0, or above 64k)
  • •
    halo library no longer tries to render entities that are set to not to draw
  • •
    Added "volume_sfx" and "snd_musicvolume" to convar blacklist
  • •
    Replaced the wiki link in the "Calling net.Start with unpooled message name!" error with "(Did you forget to call util.AddNetworkString serverside?)"
  • •
    Better argument type checking for Compile/RunString(Ex)
  • •
    Display a nicer message when Compile/RunString(Ex) are trying to run bytecode
  • •
    AddCSLuaFile now displays an error message instead of silently failing when it refuses to add a file with bad symbols to the Lua datapack
handyman

Fixed

  • •
    Fixed an infinite loop issue with steamworks.GetList which caused last page of workshop items to never load
  • •
    Fixed Player.SetActiveWeapon while holding a prop with grav gun putting the prop into an invalid state
  • •
    DMenu now better handles opening for modal panels (when it is parented to such panel manually)
  • •
    Fixed a bug with ENT:TriggerOutput when deleting limited usage (Times > 0) outputs
  • •
    steamworks.GetList will always return a table, even on failure. (Fixes infinite loading when loading published items but there are none)
  • •
    Fixed color_white corruption to do with the Color tool/Duplicator system (Community Contribution)
  • •
    Fixed entity function type consistency for Entity.ShouldPlayPickupSound, Entity.SetCreator and Entity.UnFreezable
  • •
    Fixed "vertexlitgeneric" not doing anything as a parameter of Material(), now sets the expected shader, prevents $vertexalpha 1
  • •
    Added additional checks for net.WriteData to prevent crashes
  • •
    Fixed Entity.Set(Sub)Material leaking material reference count on entity removal
  • •
    NextBot NPCs are actually considered NextBots on client
  • •
    Fixed potential issues with serverlist.PlayerList (not canceling the request when destroyed too soon, trying to call nil objects)
  • •
    Fixed inconsistent NEXTBOT:OnEntity(Lost)Sight behavior
  • •
    DComboBox properly updates its text color
  • •
    Fixed non string Lua errors not displaying properly in console
  • •
    ProtectedCall() now displays Lua errors properly in console
  • •
    Fixed mouse wheel events not being picked up by GM:PlayerButtonDown/Up
  • •
    Fixed IMesh.BuildFromTriangles always counting one too many vertices
  • •
    Fixed a crash issue with Global.Mesh when given a material with vertex format 0, now prints a warning and assumes no material set
  • •
    Spawnicon properly initializes self.OverlayFade, and doesn't spawn errors when mods override its PANEL.Paint
  • •
    Fixed using mixed types (strings and numbers for example) within a single DListView column creating Lua errors when sorting
  • •
    Fixed Lua errors when giving a rope constraint an empty string as the material to use
remove_circle

Removed

  • •
    Removed util.RelativePathToFull as it has no legitimate uses
  • •
    Removed string.__index error [and fix false values in the string metatable not returning] (Community Contribution)