1,139 Commits over 853 Days - 0.06cph!
Update gm_construct.nav
Added walkable drop down only areas to elevated areas, such as roofs of certain buildings
Added some navarea functions
Added CNavArea.GetIncomingConnectionDistances
Added CNavArea.GetAdjacentAreaDistances
Both have optional arguments to limit output to a certain navDir, and return the precalculated distances to the returned areas.
Fix targetID being jumpy
player manager cleanups
Merged pull request
Add sequential parameter to net.Read/WriteTable
Rework killicon library
New argument for killicon.GetSize - bool dontEqualizeHeight, set to true to return the actual height of a killicon
killicon.Add can now use .pngs
Added killicon.AddTexCoord - subrect killicons on a single texture (Community Contribution)
Added killicon.Render - draws the killicon without weird vertical offsets, also has dontEqualizeHeight argument to draw unscaled killicon
Changed base gamemode deathnotice to use killicon.Render to have better killicon alignment
A bit faster optional argument handling
Also nicer code internally
Restore content unloading, but behind convar
gmod_unload_test, defaults to 0
Merged Pull Requests
gmad.exe - Reduced buffer reallocations, which results in much faster .gma file creation, most noticeable with many small files.
Added zi_ maps to Team Fortress 2 category
Merged Pull Requests
Added ents.Iterator and player.Iterator
Added string.CardinalToOrdinal
Remove empty files from build process
Fixed fonts from gamemode's content/ folder not being extracted
For workshop addons, so they can actually be loaded.
Hide "No bound shader" warning behind developer 1
And also add which materials the error is for
Reduce default max_fps to 150
There's no reason to have it at 300 by default
Add a hack for $alphatest 1 displacements not having collisions
$alphatest 1 brushes are considered "windows" and are non solid, but it doesn't make sense for displacements.
Rename CS:GO mountable game to mention the legacy branch
I am not sure we should keep it, might just leave this to mount.cfg
Fixed blendable textures on a brush being inverted in Hammer
i.e. not appearing like they do in-game.
Resolved incompatibility with $BlendModulateTexture and $detail
Give sk_ally_regen_time a minimum value of 0.01 to avoid division by 0
And subsequent freezes due to infinite loops
Lazily fix props with VortWarp shader crashing when entering water
Fix crashes when attempting to index invalid sentence IDs
Fix spawnmenu saved cursor pos resetting to middle of the screen sometimes
Make ENT:OnTaskFailed second argument work
Added 2nd return value to NPC:Disposition - priority
Panel.DrawTextEntryText doesn't silently fail with invalid input
gitignore settings/presets/
Merge Pull Request
Added net.Read/WritePlayer
Disallow making addon presets with empty names
Also fixed number only names being unable to be deleted
Confirmation when deleting addon presets
Addon preset importing and exporting
More "reportable" keyvalues in default FGDs
Shows useful info in the Entity Report window
Added NPC:GetCurGoalType
navmesh Lua API additions
Added missing enum for NAV_MESH_BLOCKED_PROPDOOR
Added navmesh.GetBlockedAreas()
Added CNavArea:MarkAsBlocked( teamID )
Added CNavArea:MarkAsUnblocked( teamID )
Added CNavArea:RemoveAttributes( flags )
Added CNavArea:AddAttributes( flags )
Disable default automatic navmesh unblocking
Add some of the existing nav related entities to the FGD
func_physbox/pushable is ignored by navmesh gen
Added Panel.GetScrollStartIndexes
Works only on text entries, returns 2 values - x axis offset, y axis offset
Added some NPC functions
NPC.GetGoalPos
NPC.GetGoalTarget
NPC.IsCurWaypointGoal
Fix gmod_suit 1 breaking sprinting
Sentences system calls EntityEmitSound
There are a few caveats:
* SoundName is always invalid.wav
* OriginalSoundName is the sentence name
* The sound table will contain SentenceIndex in these cases
* OriginalSoundName can be changed to replace the sound.
Global.EmitSentence now has an optional 9th argument = DSP, defaults to 0
▊▉▊▍▄▉▆▇▅ █▉ .▊▅▍ ▌▋▉▄▌▄▉█▍
* ▊▄▍█▄ ▋▅▆▉_▇▆▄▉▄▌/ ▆▄▉▇▌▆▄▆▌▇█ ▇▄ ▅▇▌▉/ ▆▉▄▍▄▄ ▅▉▍▅ ▄▇▌ ▌▇▋ ▊▋▋▉▅▊▋▉▋▅ ▅▊█▅▅▆█▊▌▍
* ▄▍▆▄█ ▌▌▄▍▍▄█▅▉/▇█▉▇█▉▌█▆▍▍█▄▋▄/*.▌▌▅
▄▇▋▋ █▋▄▇▋▊▊
* ▋▅▊█ ▍▌▋▋▄▆ .▆▅▉ ▋▇▄▍▋
* ▅▄▅▄▌ ▇▋▌ ▉▍▋▆ ▅▌ ▅▋█▌▇ ▄▅▍▆ ▄▌▍ ▌▆▅ ▄▅▊▅▉ ▉▊█ ▊▆▆▊▅▆▌▍▋ ▄▇ ▍▌▆ ▉▋▍ ▊▅ ▋▄▆ ▌▉▉▊▉▋▄ ▅▊▆▉▆▋ ▉▄ ▇▄▋█ ▄▄▌ ▉▆▇▋ ▊▌▅▍█▌█
* ██▋▅█ ▊▄▍ ▊█▅█▉▉▍ ▋▊▉█▇, ▄▆▍ ▄▇▇▋▅ ▅▄▋▌▊ ▌▇ ▅▇▆ ▉▄▇ ▅█ ██▌ ▋▆▊▅▉▇
* ▍█▇▅█ -▊▋▅▌▍ ▋▉ ▋▆▋▊▆▌▇█ ▄█▍▌▌▉ ▊▉▉▉█▄██
▍▅█▅▋ ▊██▅ █▇▌▊▅▄▅
▄▌▋▅▆ █▉▉▇▌▄▆▉ ▇█▋ `▅▇▇▉▅_` ▄▅▋▍
▉▇██.▍▍█ -█▇█▊▆ ▇▅▉ ▊▍▋▍▉▆▌▋▄▊ ▋▆ ▌▉▄▍
!▊▄▅ ▋▄▄▄▇ ▌▊▋▅▍▋█
▋▆▋▌▅ ▇▆▅▋▋▉█▌▆▊▊▍ ▇█ ▍▅▆██▊_▍▇▄▍█▊.▌▆▅
▍▄▄▊▌▊ █▍▇▍▉▉ ▅▅▆▄ ▋▌█▋▇█ ▌▇▆▆ ▍▅▅▆▄▋▅
▋▇▊ ▉▆▉▌▉▆▌ █▌▄ ▋▆▌ ▍▊ ▌█▉▌█▆▊ █▉ ▊▆▋ ▄▍▋██▌ ▊█ █▆▉▆
▄▉▇█ ▆▉▋▇ ▆▉▅▇▊▌▌ ▇▌▌ ▄▆▆▉▌█▅.▉▆█▆█▅▉▌▆, ▋▌▌▅▆▄▌, ▍██▋█▌▊▍▆▉▊▆ ▇▄ ▉▋ ▍▇▊▇▇▅▌▇▉
█▇▅▍ ▉▋ ▊▄▇▆▄▇▊▊▋ ▊ █▍▌▉▇▉▅▆▅ ▍▌▉▊█▌▊▄▅▄█▉.
▄▋▌▍▆▍ ▌██▆ ▊▌▊▍▅▍▌▆
* ▌▅▌ ▌▉▍▅/▇▌██.▆▉▊▆▅▇▆▄▊▄▉▇▌▊▋▅▊
* ▄▉▊▊▆▍▅ ▇▊▆▅▍▌ __▍▅▇▍▆ ▋▄▊▉▊ ▌▌ ▆▅▇▋▄▅ ▌▌█ ▆▇▋▋▍▉ ▉▍█▅▄▅▋▅█▄
▌█▄ ▅▄█▍▌▋.▄▋▌▉▊▄▇ ▄█▊ ▋▊▅▆▅█▊▄█ ▋▋█▄
▌▋▅:▋▌▊▇▋▇▍▍ ▍▌▋█▌▄▋
▄▇█:▋▇▊▅▍▊▇█ █▄ ▄▊▋ ▍▋█▆▉█ ▄▍▇ ▋▅▇▇ ▊▆▆█▄▋ ▄▉▅▇█▉▌▄, ▄▇▍ ▌▍▇▄ ▋▊ ▇▌▆▊▇ ▉▇▊▉▌▉▄▅ ▆▄▍▇▉▅▌█▄▊ ▊█▄▉█▌▆ ▄▆ ▌▉▌ ▉ ▌▄▋▄ ▌▊▍▋▇▄ ▌▅▌▍▊▋▌ ▍▆ ▇▅▉.
Fix player.GetBots not returning bots
ENT:OnRemove changes
ENT:OnRemove is now called for full update removals, but with an extra argument signifying whether it was a full update removal or not.
Merged pull requests
* Add SWEP/SENT.ClassNameOverride
* Reduced player __index calls in player 3rd person animations
Minor optimization in editor_player.lua
Missed change from merged pull request
HL1 turrets can now be spawned on the ground as well
This adds support for NPCData.OnCeiling, OnFloor, OnDuplicated to be functions
This is partially a community contribution.
gmad changes
* Auto ignore .git stuff
* Print out list of files that did not match the whitelist at the end of the console output so they are more visible
* Print out ignored files, and their total at the end of the output
* Added -quiet to suppress spammy messages
Merge Pull Request
Added category for `fofhr_` maps
gmad.exe -quiet for extraction as well
Additions to .gma whitelist
* Added data_static/ alternative to data/ folder with all the acceptable extensions
* Added materials/colorcorrection/*.raw
Simplified & fixed FOV calculations for world clicker panels
Call GM:EntityRemoved for full update removes, but with an extra arg
EmitSound precaches the sound when ran in multiplayer serverside
Added NPC:Set/GetViewOffset
EmitSound precaches the sound when ran in multiplayer serverside
Added NPC:Set/GetViewOffset
Simplified & fixed FOV calculations for world clicker panels
Call GM:EntityRemoved for full update removes, but with an extra arg
Disable connection sharing for now
Disable connection sharing for now
Added 6th optional argument to util.ScreenShake - AirShake
defaults to false
Added SENT_AI:OnTaskFailed and others
Added NPC:GetIdealYaw, NPC:GetArrivalDirection, NPC:SetUnforgettable
Added CNavArea:MarkAsDamaging, CNavArea.IsDamaging
Experimental: input.GetCursorPos returns 0,0 when cursor is not visible
This matches behavior of gui.MousePos()
Added .dem and .vcd to file.Write whitelist
Rework and deduplicate Lua enums
Added COND.* enums
Added render.ComputePixelDiameterOfSphere
SourceTV players are considered bots for player library
Fix npc_rocket_turret spawn position
Merged Pull Requests
* Improvements to DComboBox
* Improvements to MatSelect
Minor adjustments
Fixed Player:SprintEnable not working
Also made Player:SprintEnable accept a bool optionally, and added Player.IsWalking
minor changes
Undo changes to input.GetCursorPos
Causes issues with spawnicon editor, and probably other addons too.
Delete serverplugin_empty.dll
Fixed crashes when accessing out of bounds flex controllers
This fixes crashes when rendering spawnicons of models that have more than 96 flex controllers. Probably fixes other cases as well.
Enable connection reusage for HTTP
Speeds up subsequent requests
render.Push/PopRenderTarget overflow/underflow safeguards
Also made certain render.Push* function overflowing not crash the game outright
Adjust "Failed to find any models for this addon" error
Mention what might be causing the issue
Added OnPlayerLand/OnPlayerJump hooks
Arguments are `Player, number`, where the number is the velocity/impulse of the landing/jump
Should these 2 hooks be combined into 1?
Remove OnPlayerLand hook (OnPlayerHitGround exists)
Fixed a regression with spawnmenu "no models" message
Safeguards against malformed .gma files
New VertexLitGeneric parameters
`$AllowDiffuseModulation` and `$NoTint` - both allow disabling color tint per material
Vector:Mul() now supports VMatrix
Make sure SourceTV bot is treated as bot in game code
Fixes garrysmod-issues/issues/5575
Added navmesh.CreateNavLadder
Arguments are: Vec top, Vec bottom, float width, Vec2D dir, float maxHeightAboveTopArea = 0
Weapon:GetTracerOrigin is now called for 3rd person view as well
LuaMesh.BuildFromTriangles allows modifying the mesh
This is only permitted when the vertex count matches between existing mesh, and the new mesh.
EntityEmitSound blocks CSceneEntity close captions
Added OnCloseCaptionEmit hook
Arguments are:
string soundScript
number duration
bool fromPlayer
string fullText - can be nil if token is not registered
Added gui.AddCaption( text, duration, fromPlayer )
More killicon aliases for physics kills
New Portal NPCs can be duplicated
sound.Play better optional argument handling
New default crosshair + options
Options > Multiplayer > Crosshair Customization
Make 2nd arg actually set the sound position of Global.EmitSound
Also default the 3rd parameter (entityID) to 0.
Remove unintended console message from crosshair panel
Bump gui.OpenURL limit to 2000
Added new optional argument to render.ClearDepth
bool stencil - also clear stencil buffer, defaults to true for backwards compatibility
Do not call GM:EntityRemoved and ENT:OnRemove during full updates
garrysmod-issues/issues/4675
Allow GM:OnPhysgunFreeze to be ran on non vphysics entities
The 2nd argument ( physobj ) will be NULL
world clicker panels FOV adjustment
Now uses view setup FOV, not Player:GetFOV, affects gui.ScreenToVector as well
Fix branch specific compile error
▅▋▇▆▍▇▍█ ▉▍▍▇▋ ▉▅▋█▇
▍ ▄▆▇▅▄▊ ▇▉▊▌▆▉▅ ▊▇ ▉▆▆▉ ▆▆▍▉▋▄▄▊, ▍▇▆ ▇▆ █▋ ▅▊▋▊▇ ▊▉▋▆▊'▆ █▋▋▇▍
▌▉▌▄▋ ▄ ▊▊▄▄▄█▆▇ █▍▄██▋▋▊▍ ▍▊ █▊▍█.▊▆▍▊▇█▌▇█▄▄
▄▅▉▆▊ - ▅▉▍▆ ▇▇ ▇▆▊▆▅▉ ▍▇▆ █▋▅▇▋ ▄▋▌ ▍▉▉▊▇▇▊ ▉▄▊▇▉▍
▋▋▄▇▌▊ - ▍▅▆▆ █▄ ▋▊▇▄▆█ ▉▇▊▄▊▌ ▊▍ ▌▄▊▅▌▉ ▌▇▊▄▄▄▌█▌▋▊
! ▇▄▊▊▋ ▇▉_▌▆▌▅▆▋ ▄▆▊▍▋▍▉▅█, ▍▅▇ ▍▇▍ ▆▉▄█ ▍▇▇▋▄▇▅▊▄▆▊ ▋▋▅▍▍▌▇▍▊
!▍▆█▍▅ █▇▋▄▉▉▊▌▊ ▇▇▋ █▊▊▊ ▆█▌▋▅█▅▄, ▇▅▌ ▊▇▉▋▌ █▊ ▉▍█▉ ▉▊▄▍▄▌
▉▅▇▋▇▄▊▌ ▊▅▍▄▅
▋▊█▋▄█.▅▊▉▇▌ ▄▊▆ ▋▍▅▋▆▇▇ █▆▋▅ ▆▆▌ ▍▆▆▊▉▌▋▌ ▄▍▄█▍▅ ▄▋▉▊▋▌
▍▌██▊▊▋ ▆█_▋▉▋▅▆▋ ▆▄▅▉▋ █▌▌▆▊▌ ▇▆██▆▉▉▇ ▌▄▌ ▌▍▌▅██▆
!█▆▆▋█▋▋▇▄ ▍▇▅▍▆▋_▌▇▉▋ ▍█▍▅▋█ ▊█ ▆▆▋▊ ▄█▊
!▋█▉▊ ▋▊▋▍█▊▄▋▄ ▊▄▄▉▉_▋█▋█▅█▇▋_▇█▄▇▆
!▇▋▇█▇ ▇▊▋▄▆▉ ▉▉▋▊▊▌▅ ▅▅▄▆ ▍▌▇▇▄▇▍ ▇▇▌▄▇▊▄▊▅▋▋▌
▄▅▍▌▄ ▉▄█▆▆█ ▌▇█▋▉▊▅ ▌▆▍▌ ▋▇█▅▌▇▆ ▊▌▊▌▇▌▅▊▆▍▄█
Do not call GM:EntityRemoved and ENT:OnRemove during full updates
garrysmod-issues/issues/4675
Allow GM:OnPhysgunFreeze to be ran on non vphysics entities
The 2nd argument ( physobj ) will be NULL
world clicker panels FOV adjustment
Now uses view setup FOV, not Player:GetFOV, affects gui.ScreenToVector as well
Make 2nd arg actually set the sound position of Global.EmitSound
Also default the 3rd parameter (entityID) to 0.
Remove unintended console message from crosshair panel
Bump gui.OpenURL limit to 2000
Added new optional argument to render.ClearDepth
bool stencil - also clear stencil buffer, defaults to true for backwards compatibility
sound.Play better optional argument handling
New default crosshair + options
Options > Multiplayer > Crosshair Customization
More killicon aliases for physics kills
New Portal NPCs can be duplicated
Added OnCloseCaptionEmit hook
Arguments are:
string soundScript
number duration
bool fromPlayer
string fullText - can be nil if token is not registered
Added gui.AddCaption( text, duration, fromPlayer )
LuaMesh.BuildFromTriangles allows modifying the mesh
This is only permitted when the vertex count matches between existing mesh, and the new mesh.
EntityEmitSound blocks CSceneEntity close captions
Make sure SourceTV bot is treated as bot in game code
Fixes garrysmod-issues/issues/5575
Added navmesh.CreateNavLadder
Arguments are: Vec top, Vec bottom, float width, Vec2D dir, float maxHeightAboveTopArea = 0
Weapon:GetTracerOrigin is now called for 3rd person view as well
Fixed a regression with spawnmenu "no models" message
Safeguards against malformed .gma files
New VertexLitGeneric parameters
`$AllowDiffuseModulation` and `$NoTint` - both allow disabling color tint per material
Vector:Mul() now supports VMatrix
Remove OnPlayerLand hook (OnPlayerHitGround exists)
Enable connection reusage for HTTP
Speeds up subsequent requests
render.Push/PopRenderTarget overflow/underflow safeguards
Also made certain render.Push* function overflowing not crash the game outright
Adjust "Failed to find any models for this addon" error
Mention what might be causing the issue
Added OnPlayerLand/OnPlayerJump hooks
Arguments are `Player, number`, where the number is the velocity/impulse of the landing/jump
Should these 2 hooks be combined into 1?
▆▋▊▍ ▊▆▊▍▍▊▇▆▌ ▇▋▄▆▋_▊█▅▌▉▉▋▌_▆▄▋▆▄
Undo changes to input.GetCursorPos
Causes issues with spawnicon editor, and probably other addons too.
Delete serverplugin_empty.dll
Fixed crashes when accessing out of bounds flex controllers
This fixes crashes when rendering spawnicons of models that have more than 96 flex controllers. Probably fixes other cases as well.
Fixed Player:SprintEnable not working
Also made Player:SprintEnable accept a bool optionally, and added Player.IsWalking
minor changes
Merged Pull Requests
* Improvements to DComboBox
* Improvements to MatSelect
Minor adjustments
SourceTV players are considered bots for player library
Fix npc_rocket_turret spawn position
Experimental: input.GetCursorPos returns 0,0 when cursor is not visible
This matches behavior of gui.MousePos()
Added .dem and .vcd to file.Write whitelist
Rework and deduplicate Lua enums
Added COND.* enums
Added render.ComputePixelDiameterOfSphere
▅▊▉▋▅▊▅▄▅ ▌▍▌▋▌█_▉▉▇▌ ▄▄▋█▉▇ ▊▅ ▋▍▋▅ ▋▄▅
Added SENT_AI:OnTaskFailed and others
Added NPC:GetIdealYaw, NPC:GetArrivalDirection, NPC:SetUnforgettable
Added CNavArea:MarkAsDamaging, CNavArea.IsDamaging
SourceTV fixes
Player.IsBot now returns true for SourceTV master client
Prevent tv_enable going beyond absolute max players