branchgarrysmod.main/maincancel
764 Commits over 943 Days - 0.03cph!
Updated FGD files
Added logic_register_activator, logic_coop_manager, point_viewcontrol_multiplayer and point_viewproxy
Updated prop_vehicle_choreo_generic
Fixed a server crash to do with keyvalues
Fix particles never appearing with debugger attached
Micro optimize Get_Entity
Make PLAYER:AddCleanup server only (Community Contrib)
Localize named Citizen NPCs
Fixed KEEP_ON_RECREATE_ENTITIES sharing value with other flag
Remove local define for MAX_EDICT_BITS in net.lua
Fixed HLS shotgun right click pump sounds desync
Make zoom_sensitivity_ratio save across sessions.
Undo a certain change that could be causing crashes for 1 dude
Apply a hack for bone manip level transitions
Added `-noconclr` to disable srcds console colors
Partially implement mat_ambient_light convars
They require shader changes for LightmappedGeneric for full support, sigh
Fixed regression with TTT team colors while spectating
SpawnIcon.Copy copies tooltip & OpenMenuExtra
mimics contenticon
Fixed missing $bottommaterial material causing massive FPS loss
It was trying to load the material every frame while underwater.
Also fix potential NPE crash with water textures/materials.
Also clear missing material list on map load, in case the material list changed (new addons,new map embedded files, etc)
Added mp_weaponrespawn
Moved some functionality tied to mp_weaponstay in recent change to a new convar.
This is meant to affect HL2DM maps
Added `Ignore Solid` for point_spotlight in FGD
Updated TTT
Fixed unintentional global variable
Updated localization files
Fixed a crash in trace code that could happen after a changelevel
Restore missing file used exclusively by this beta
Enable network protocol breaking changes
Bump versions
Reapply bone manipulate level transition fix
Removed some more test entities that should've never been shipped
Move where balloon force limit is enforced
Update verbosity of "Out-of-range value" warnings
Now includes parent array name, and the entity index
Fixed pose parameters sometimes getting garbage values
Balloon dupes check for missing values
This isn't extensive enough, other tools still need to do this as well
TTT: Crosshair Customization (Community Contribution)
Fixed another potentially uninited variable issue
Minor cleanups
Fixed HLMV.exe not running in win64/
Include Episode 2 Zombie Torso
Apparently ep2_outland_01 complains about the model being different
Include Episode 2 version of water_riverbed01
I have been assured the Episode 1 version is not used in Episode 1.
Fix prop_ragdoll.StartRagdollBoogie map input param type
Fixed hammer model scale preview scaling bones multiple times
Unhide sv_hl2mp_weapon/item_respawn_time
Also made mp_weaponstay work for map spawned entities
Added prop_disable_distance_fade to console switches
Also made cheat convars be disabled if sv_cheats=0
HTTP calls the fail function with -disablehttp
Fixed ep2 props overriding hl2 content unintentionally
Updated a bunch of HL2 map icons
To better represent the areas on them/be more recognizable and less dark
Touch up episodic icons as well
Added missing TF2 map icons
console quick switch adjustments
Having cheat cvars be disabled is annoying, since they still work in singleplayer
Also just remove prop_disable_distance_fade from this, as I don't feel like it belongs
Fixed infinite loop with removing world decals
Remove cl_customsounds
Update Treason map icons from the developer
Updated language files
TTT PR: Fixed health station not breaking at 0 HP
Fixed killfeed names regression
Fixed ai.GetSquadMemberCount returning nothing if there is no squad
Fixed player_squad NPC squad being overflown
When you spawn too many npc_alyx's or npc_citizens. Reduced max player squad from 32 to 16, to match the actual max NPC squad size
Handle NPC squads being overflown when spawning many NPCs
Minor cleanup
Give description to vgui_visualizelayout
Added quick switches to console
https://files.facepunch.com/rubat/2025/March17-1180-ZigzagGourami.png
Added more options to Console Quick Actions
Pull Requests
* Updated TTT language files
* make file.Read return `nil` on failure instead of `no value`
env_skypaint FGD inputs
Added Entity:SetNetworkVarsFromMapInput as a helper and a sister function to Entity:SetNetworkKeyValue
Fixed being able to reset npc_grenade_frag after it exploded
PR: Fixed `team.GetColor` retuning non copied default color
Localize Balloon and Dynamite world tool tips
Update gmod.code-workspace
Added derma icon browser to console quick actions
Add icons to drag'n'drop right click menu
Unify spawnmenu rightclick code & add GM:SpawnmenuIconMenuOpen
The hook is called for ContentIcon and SpawnIcon.
SpawnIcons now also call PANEL:OpenMenuExtra, if it exists.
Better error handling for reworked killfeed
Allow Map IO to convert int/float to string automatically
Better default text color for game_text
Port original ear ringing behavior from HL2 to Lua
less ear ringing
Remove cheat flag from mat_colorcorrection
Added sv_usercmd_custom_random_seed
Added sv_showimpacts
Move Treason map icons to fallbacks VPK
Mod author(s) want to ship the map icons for Garry's Mod themselves. This will make their icons take precedence over ours.
Added some headers to projects for intellisense
Try to mitigate util.TableToJSON leaving junk behind of failure
Merged Pull Requests
* Make Player:LimitHit serverside only (it would error clientside)
* weapon_rpg for npc_citizen (rebel only)
* ENT.Information support for tooltips in NPC spawn icons
Replace other occurrences of hl2.exe in FactoryReset-GMod.bat
Fix 2 recently added map icons not being 128x128
merge missed change for base gamemode (from a Pull Request)
Merge community provided changes to JellyFish shader to do with $envmap
Merged some more changes from `x86-64` for compile to work
Added point_entity_finder
Added mounting support for Klaus Veen's Treason
At the request of its developer
Added -bouncefromnamed to VRAD
VRAD: Added %alphatexture VMT compile parameter
Render loading screen when running stringtable callbacks (Community Contribution)
color_correction works with fog_volume
Brings over Master/Simulate clientside spawnflags
Upgraded colorcorrectionui to CS:GO's version with ability to load saved presets, also fixed preview not working
Fixed GM:NeedsDepthPass causing NPCs to not render
Also fixed it rendering ropes twice.
Apparently the engine removes m_pRenderable from NPC entities for some reason?
Remove DOFModeHack from pp_bokeh
Rollermine becomes TWOPASS when open instead of translucent
This makes it render better with SSAO pass (such as bokeh DOF)
Fix util.TableToJSON only outputting whole numbers in arrays
Port clientside trigger stuff from CS:GO
Will allow trigger_playermovement to work with prediction more or less correctly
Prepare networking code for env_wind radius
Added env_ambient_light
Minor cleanups
Minor cleanups
Port `SpriteCard` renderer for `render_sprite_trail` from CS:GO
Mitigate invalid vehicle scripts causing crashes
Description for debug_dump and more info when ran.
trigger_playermovement auto walk and no jump spawnflags
Minor cleanups
Minor clean ups
Update gmod.code-workspace (Remove full paths)
Remove player jingles/impulse 202
Fixed DTextEntry autocomplete menu not inheriting skin
Prevent potential crashes to do with traces on models
Added ip_steam
Exit SRCDS (with a message) if GSLT is invalid or expired
Added some new options to `render_sprite_trail`
`constrain radius to length` and `ignore delta time`
Made cmd not send empty messages that kick people
And hide it (it still works, but just hidden)
func_lod DisappearMinDist & DisappearMaxDist KVs
Added weapon class name & ent index to "Weapon spawning in solid"
Minor FGD adjustments
More descriptions, default values, etc.
Added func_rotating.GetSpeed/SnapToStartPos
Added func_dustmotes.AffectedByWind
Fixed .gma being left open in some cases if it failed to load/parse
Fix shaders not compiling
Fix some vmt formatting that i came across randomly
Estimate player's velocity clientside if MOVETYPE_NONE
Enable `"flammable", "no"` prop interaction
Added `drawviewer` field to render.RenderView
Loading screen gets data faster when hosting a game
Load shaders from THIRDPARTY if not found in BSP or MOD
And whitelist "shaders/*.vcs" in workshop addons.
Fix saves.singular localization string including its comment
Fixed "flammable", "no" assigning wrong flag
Minor cleanups
Add min_use_angle for func_button from CS:GO
Reduce which entities report the networked velocity clientside
local player, MOVETYPE_FLYGRAVITY, MOVETYPE_FLY , players without MOVETYPE_NONE is the current list.
Fix SetFogController being stomped by new fog controller system
Added NPC:GetHeadDirection and NPC:GetEyeDirection
Added sv_maxvoicepacketsperframe
Text parsing: Handle loading/writing \r correctly (Hammer VMF)
Hammer: Entity comments allow adding new lines with Enter
In Entity Properties window, the Comment field
Expand func_precipitation key-value info about custom particles
Finish description of sv_maxvoicepacketsperframe
Uncheat sv_player_usercommand_timeout and default to 0.5
0.5 is the value GMod originally had
Add sv_player_usercommand_timeout_lastcmd default to 1. Rerun the last command instead of a null command. This was the previous behavior.
Replace DDrawer :: text with icons
Spawnmenu drawers scale the category list
So that when the drawer(s) are open the bottom categories are not hidden behind the drawer
Fixed scrollbar parent resizing not adjusting scrollbar grip posiiton
Revert "Merged some anti usercmd abuse stuff from TF2 SDK"
Causes weird issues around the game
Fixed CRopeKeyframe having huge serverside bounds when not attached
it was adding (0 0 0) (or really, the offset point) as world coordinates to include in the bounding box
Fixed trigger_remove.OnRemove not working at all
Remove sv_autojump as it does nothing
Pull Requests
* TTT: add ttt_filter_role entity
* TTT: Close player volume slider along with scoreboard
* Updated AngularJS from 1.1.2 to 1.8.2 + potential performance improvements
* Fixed DButton:SetConsoleCommand() not accepting vararg
* New Localisation Phrases
Pull Requests
* TTT: Fixed players sometimes being revealed as dead when they chat/voicechat right as they die
* TTT: Let TTTLastWordsMsg hook override default behaviour
* Cleaner server list layout code & Better display on small screens
Fixed npc_zombie not using sk_zombie_dmg_both_slash
Fixed inaccessible area on ep2_outland_10 due to model name collision
Fixed transparency on light_directional and pp_controller hammer icons
Fixed Episode 2 Fast Zombie jumpscare sequence
Implements AttachToVehicle input for npc_fastzombie
Fixed missing animations on hula doll (Episode 2)
Read map cycle only from MOD
Merged some anti usercmd abuse stuff from TF2 SDK
Adds sv_player_usercommand_timeout
Adjust Sandbox ContentIcon to scroll text if it is too long
https://files.facepunch.com/rubat/2025/February27-1134-LoneGlobefish.gif
Also applied localization to "Author" label in spawnmenu tooltips.
Fixed server crash due to last update
Allow NPC list to set Author (displayed in spawnmenu tooltip)
Port x86-64 exclusive changes to fix build errors
Added trigger_tonemap
Doesn't work yet, due to network compatibility
env_tonemap_controller Master flag will also be supported
env_fog_controller SetMaxDensityLerpTo & HDRColorScale
Added some editor icons from CS:GO
env_texturetoggle, light_directional, logic_autosave, func_instance_parms
Added logic_random_outputs
Hammer: Ensure Input/Output colums fit header text
So its not "P...", "O...", etc.
Hammer: Fixed map instances being added to recently opened
Only manually opened files are added to recently opened files
Hammer: Fixed certain inputs having wrong descriptions
The output tab was adding every single input from the entire map into the dropdown, and then hiding unwanted ones, causing name collisions
Now only adds inputs from target entities if there are any valid ones, if not, THEN we add all of them.
Update Hammer splash, so it appears less buggy
Added fog_volume
Only fog_controller changing for now, fully functional, no need to wait for update
Fix ViewModelFlip making view model sway backwards
Hammer: Implemented multiple cordon system from CS:GO
Added more useful info to CLtoSV and SVtoCL net message ToStrings
Undo changes to combine dropship as they are crashy
Prevent crashes when GetBoneCache is called with no model
Do not mount addons/ twice in-game (regression)
Tools also now respect -noaddons
Fixed 357 reload missing its shelleject effect
Fixed Bugbait not having viewmodel bob when sprinting
Fixed missing AR2 reload sound in 3rd person
Fix 357 shelleject in firstperson multiplayer
VBSP: Prevent crashing with bad VMFs (newlines), display an error
StudioMdl: Gracefully handle numframes 0 or below (instead of crashing)
Update w_pistol to fire correct events for player 3rd person brass eject
Fixed AR2 spamming 3rd person reload sound when no ammo
Unhide sv_maxspeed
Added some internal/hidden inputs to npc_rollermine in the FGD
Holdtype & player animations for Bugbait
Also removed some clientside weapon stubs for non existent weapons
Citizen Suitcase/Package, Annabelle/Alyxgun holdtypes
Implement point_worldtext (CS:GO version)
Added new features to point_worldtext
"Start Hidden" spawnflag
"Rainbow" keyvalue
* SetEnabled, Enable, Disable, Toggle inputs
* SetText/SetMessage, SetTextSize, SetColor, SetRainbow inputs
Minor cleanups
Move Enemy Rebel to Combine tab, add icon & localization
Move ammo localizations to .properties
Hammer preview for point_worldtext
https://files.facepunch.com/rubat/2025/February21-1113-CrowdedFoxhound.jpg
Newline support in point_worldtext
Fixed Hammer breaking VMF files if they contain \n in keyvalue values
New point_worldtext features
Text spacing X/Y, orientation
Fixed fog being black on some maps with HDR
FGD: Allow `bool` and `boolean` to be interchangeable
HDR override for FOG colors from 20th anniversary
Requires networking changes, so not currently active
Added logic_eventlistener(_itemequip)
Serverside only entities, FGD included
Merge x64 exclusive changes for compile fix
Fixed a crash when spawning certain vehicles
64bit versions of compile tools say that they are 64bit
So it's more clear what version is being used from logs alone
Merged Pull Requests
* TTT: Change holdtypes for consistency with viewmodels
* TTT: clarify Health Station usage hint text
* TTT: Update localization files
* Fixed tool sorting when some tools are missing localization strings
* Micro-optimize Workshop Mount VGUI
Rework how LZMA decompression works for BSP files
The existing code was awful. The new one is less wasteful.
Make util.TableToJSON output whole numbers without decimal point
Minor cleanups
Fixes towards MP3s hanging the game on first playback
* Fixed MP3s recaching 2 times sometimes in a row
* Fixed cache size not being able to exceed 65k
* Make MP3s skip the ID3 data immediately on cache, not on first playback. This makes loading a bit slower per-file, but makes it so we don't need to cache 400KB of useless data per MP3
* Increased amount of cached data for MP3s to satiate initial burst of data access by BASS (from 16K to 96k) This was preventing async load of the entire file
Merged Pull Requests
* Refactor sandbox hints
* Remove angular-ui, jquery-ui, jquery-color
Remove weapon_cubemap from localizations
Updated TTT
* TTT: Magneto-stick DoAttack cleanup
* TTT: Fix C4/Radio sounds not playing outside of PAS
* TTT: Fix "CS:S not mounted" warning
Add a warning for future self
Linux is the worst of all time
Rename en-PT to en-pt and let's see how that affects Linux
Ignore enc_temp_folder
Prevent developer only messages about bone access with util.DecalEx
Lowercase remaining localization folders
Remove weapon_cubemap from localizations
Updated TTT
* TTT: Magneto-stick DoAttack cleanup
* TTT: Fix C4/Radio sounds not playing outside of PAS
* TTT: Fix "CS:S not mounted" warning
SRCDS colors for Linux & 24 bit colors
Tools: try searching for gameinfo relative to the .exe if not found
Allows BSPZIP (and probably others) to run from scripts outside of the game directory without additions params
"Fix" an infinite loop in memory allocation by exiting w/ message
"fix" an infinite loop in memory allocator (CUtlMemory) by exiting the program with a warning if it is hit.
Fixed crash with net_showmsg
Fixed hoverball's toggle key not functioning
Localization for built-in undo actions
Potentially breaking change: Internal undo names changed!
Also fixes undo text being processed twice for certain undo actions
Adds localization for entities spawned by Sandbox tools (names)
Added `hostile` keyvalue to npc_citizen
Will be treated as a combine. Useful for NPC reskins to not have combine noises. Or just for fun.
Fix queued rope renderer running out of memory with SuperDOF
Hammer: Merged some under the hood changed from CS:GO
Also fixed ray-traced preview crashing
Hammer: Updated Options tabs to fit more data
Added build date to Hammer's About dialog
Hammer: When copying game configs, ask for a new name
Hammer: Updated icon to be higher quality and have GMod colors
Hammer: Switch to CmdSeqDefault.wc (like CS:GO)
When no user-defined preferences for Expert Map Compile tools exists, use a separate file for default ones. This ensures that game updates cannot break user configs.
Tweak Hammer splash image & exe info
Hammer: Expand Object Bar by 20px to fit visgroups
To VisGrouos without a horizontal scrollbar
Hammer: Increase default size of Entity Help window
Fix a stack overflow in TextEntry scrolling
Minor cleanups
Added support for %CompileNoShadows (VBSP)
Include Episode 1 barney model as override
It appears to have all the animations from base Half-Life 2.
Added "owner" argument to SWEP:OnDrop
Added shader name to "failed to create shader"
Added Player:ExitLadder
Remove unintended/possibly breaking changes
Menu: Do not include notifications library
Minor cleanups
Fixed weapon_shotgun only producing 1 bullet pellet when fired by NPCs
Fixed client crashes with portal entities
▇▇█▌▉▋▋▅▌ ▄▇▇▍▅ █▆▄▌▆▋█ ▉▊▄▇▊█
Hammer & Other tools mount addons/ by default
FIxed VBSP crashing with missing VVDs
Models that are renamed after compile, which ends up pointing to the wrong .vvd
Also just missing VVDs.
Also fixed it using incorrect VVD path in the first place.
VBSP: Increase usefulness of "Occluder straddles multiple areas" warning
Added HammerID for entities in Hammer's selection status bar
Fixed VRAD crashes due to missing VVD files
Fixed map compile tool output formatting to do with threads
Make the output more consistent when using built-in compile window or 3rd party tools, and makes it more readable.
Fixed -console no longer bringing console to front on launch
Added new Bloom preset
Remove duplicate "missing material" output from VBSP
Do not unexpectedly reduce MaxHealth on dead entities
VRAD: Fixed a memory corruption issue with static prop lightmaps
Fixed "radius" in "Position Along Ring" being clamped to above 0
Fixed Tool MdlPicker causing console warnings
Set default MdlPicker output folder to game folder, not C:/
Hide "Generate Backpack Icons" button in MdlPicker
Fixed "Clean Undo History" not working in PET
Fixed panel/memory leak with particle picker previews
Disable hack for Intel GPUs disabling SM3
Actually implement undo limit in tools (Particle Editor)
Set Undo Limit for Particle Editor to 512
Play `act` animations on the server, and fill in concommand help
Fill in some gmod specific convar descriptions
FIxed a crash with VMTPicker (-tools)
Fixed new console warning on start up to do with skill cvar
▉█▇▅▆ ▇▆▆▉ ▇▇▅▍█▍█▄
!█▍▇▆▍▇▊▉ ▄█▋▉ ▌▌ ▄▅▅▅▌▄
Improve handling of Spawnmenu category localizations
Preserve alphabetical sorting
Updated localization files
Added 2nd argument to CompileFile - showError
Fix a typo in code that fails compile
Block showconsole concommand
Also block tv_record clientside only.
Potential crash fix for Linux (render related)
Added util.RemoveDecalsAt
Added 4th argument to util.RemoveDecalAt - remove permanent decals
Hammer: Fixed empty buttons appearing in Entity Properties
When no entity has ever been selected in the session, and Alt+Enter are pressed
Also some minor visual adjustments
Call Entity:SetCreator on all Sandbox spawned entities
Allow comments and trailing commas in JSON parsing
Fixed Lua error when gmod_cameraprop and entity driving
Update RapidJSON to the latest version
Improve JSON function compliance with the JSON spec
util.TableToJSON - math.huge keys now become "Infinity" instead of "inf"
util.JSONToTable - Handle NULLs in arrays, convert boolean looking keys ("true", "false") to booleans if this behavior is not disabled by the 3rd argument
Minor optimization for util.TableToJSON
make lua_run entity keyvalues case insensitive
Fixed some compile warnings
more warning fixes
Fixed max player speed not being set in a certain case
When holding your +wal slow walking key, and Player:setCanWalk being set to false
Pull Request: Removing deprecated calls to AddControl
Remove redundant arguments given to CPanel:NumSlider
Fixed console warning when opening Options menu
Warning about missing vgui/crosshair_bg
Probably fix infinite loop in game.cleanupmap
Undo changes to bone_manipulate entity
Appears to be server/client sync dependent
Fixed bone manipulated entity's render bbox exploding
For some models (probably with procedural bones?), if bone manipulated, the renderbounds can explode drastically due to bones that are "unreadable", negatively affecting shadows as well.
Read kb_act.lst from MOD
Added Entity:Alive
Hammer: Fixed collision model being offset in 3D when dragging
Hammer: Fixed keybinds for 1 & 2 not updating the setting correctly
Do not set thread count to 1 if the CPU has over 32 of them
Limited to 64 now, and is clamped instead of resetting.
Pull Request: Fixed inconsistent margins on language list/start game
Fixed "Toggle" input on triggers improperly toggling the entity
It was not actually setting the enabled state, only making it non interactable.
Now properly sets the enabled state, just like Enable/Disable inputs do
Geiger counter only reacts to enabled trigger_hurts
Fixed some compile warnings
Merged Pull Request: New Color methods
* Added Lua implementations of HSVToColor & HSLToColor for higher performance and ensuring it has the color meta table
* Added HWBToColor
* Added COLOR:ToHWB()
* Added COLOR:GetHue, SetHue, AddHue
* Added COLOR:GetSaturation, SetSaturation, AddSaturation
* Added COLOR:GetBrightness, SetBrightness, AddBrightness
* Added COLOR;GetLightness, SetLightness, AddLightness
* Added COLOR:GetWhiteness, SetWhiteness, AddWhiteness
* Added COLOR:GetBlackness, SetBlackness, AddBlackness
Remove math.IsNearlyZero as it is just too similar to math.IsNearlyEqual
Expand "Map %s is missing" disconnect in the other place too
It wasn't displaying the info about cl_downloadfilter.
Display HTTP error when FastDL fails and its not a 404
Fixed the game not downloading maps if bz2 version exists locally
Unify how ITex/IMat:GetColor pushes color to Lua
Merged Pull Requests
* Do not display effect rings with Gravity Gun equipped
* Update jQuery and reduce reliance on it in main menu, as well as lazy load images
* Added math.IsNearlyZero and math.IsNearlyEqual
Do not crash with "bad inline model number", show a warning
Pull Request: Replacing CPanel:AddControl calls from Sandbox
Pull Request: Do not penalize full servers in the ranking
Since we now have a way to queue to join the server if its full it makes even less sense to penalize them.
Pull Request: Micro optimization for ents.FindByClassAndParent
Increase MAX_MAP_BRUSHES from
16384 to
665535