-
•
GM:PostPlayerDraw now throws a non halting error when an infinite loop is broken to let developers know there's an issue
-
•
string.ToColor can now accept inputs without alpha channel (Community Contribution)
-
•
Added cyclic table reference test to net.WriteTable and util.TableToKeyValues to prevent game hangs and developer confusion
-
•
Reworked cvars.AddChangeCallback filter
-
•
Convars that cannot be identified as server only or client only now run the callback in both realms
-
•
FCVAR_PROTECTED convars no longer run this callback at all
-
•
Reset surface.SetAlphaMultiplier every frame
-
•
Switched Lua timers to use double precision curtime
-
•
resource.AddWorkshop bails when given empty input or input that is too short - Also throws non halting error with lua_strict 1
-
•
Make render.ComputeLighting 2nd argument optional
-
•
Optimized file path related functions in string library (Community Contribution)
-
•
sound.Add throws errors when given no "name" or "sound" fields
-
•
Optimizations for Vector:ToColor and Entity:BeingLookedAtByLocalPlayer (Community Contributions)
-
•
Narrow down PhysObj:SetMass input checks to prevent crashes (from 0 to 0.1 as minimum)
-
•
GM:PlayerStartVoice & GM:PlayerEndVoice now get called consistently even if the player entity does not exist. They also both consistently get the PlayerIndex argument
-
•
Make DHorizontalDivider work with percentages instead of raw pixel values - This helps when resizing the parent panel, and when screen resolution changes between game sessions
-
•
Make DColorMixer palette centered and attempt to size it correctly to fit an even number of colors per row
-
•
render.SetLocalModelLights sets missing lights in the input table to disabled state
-
•
Changed order of GM:DrawOverlay, GM:PostRenderVGUI and GM:PostRender hooks so they cannot cover up the main menu when it is open
-
•
Disabled GM:PreRender return value (kill all game rendering) while main menu is open
-
•
Made Lua VGUI panels never overlap the main menu when it is open
-
•
Allow Lua matproxies without a bind function (so only init is ran per material instance)
-
•
Apply "10+ loop deep" error to GM:PrePlayerDraw as well (Was only activated for GM:PostPlayerDraw before)
-
•
Do not clamp flexes of C_BaseFlex entities when set from Lua on clientside only entities
-
•
Make Entity:GetHitboxSetCount return a number instead of nil for entities without a model, etc.