branchgarrysmod.main/maincancel
1,063 Commits over 1,308 Days - 0.03cph!
Fix "invalid format PHY" for old model formats
Add non-halting error when tables have wrong data type
* This relates to C functions that expect table inputs. Instead of failing silently, we let the developer know they are doing something wrong
Delete particle_test* convars/concommands
* Seem useless?
Delete simple_bot (simple_bot_add concmd)
* Nextbot test entity or something?
Delete hunter_shoot_flechette concmd
Delete fadein and fadeout console commands
* I think that this is never used?
Fixed a number of concommands crashing when using on srcds
* For example `prop_physics_create`
Give weapon_cubemap a unique bucket position
* So it doesn't conflict with other built-in weapons. really should update the weapon selector so this isn't even necessary
Disable most impulse commands
* This includes 76, 81, 82, 83, 102, 106, 107, 108, 195-197, 202 and 203
* All of these are either useless or do nothing, or are replaced by Sandbox. (jeep spawning)
Remove some CAI_BaseNPC debug stuff
Removes CAI_BaseNPC::m_pDebugNPC, SetDebugNPC, IsDebugNPC which are never used
Remove CBasePlayer::m_rgItems (unused)
Enable default weapon selector to render weapon slots 7-10
* They will not appear by default (as empty boxes), but if you have a weapon in slot above 6, you can now actually see it
Move where model scale limits are enforced
* Also delete duplicate m_flModelScale definition in the data table
Rework weapon selector weapon positioning
* It kinda took too long, but it is no longer possible for weapons to be invisible within the first 10 slots. Everything else should be the same
* Removes a few SlotPos related hacks
* Fixed slot 10 (bound to 0 by default) having wrong number in the selector, and not being selectable via the bind
Fixed some spawn crashes with some entities
gmad.exe no longer overwrites existing files
More model data validations
Fix CreateLinkController leaking entities if misused
Implement Combine APC aiming for players
* I had this code laying around unfinished, and now its finished.
* Also respect EnableGun for players only
Lets try undoing changes to UTIL_PrecacheOther
* I wonder if this causes ents.Iterator nulls
Block mat_texture_list_txlod_sync just in case
Fix a typo in DModelPanel
Implement drag'n'drop for HLMV
* You can now just drag a .mdl onto the app to open it
Fix normals on balloon_classic LODs and camera.mdl LOD 3
Merge some minor changes for models to load correctly on 64bit
Minor cleanups
Fix false positive on LoadLeafs data validity test
Update AppID for CS:GO to use the new one
Ship a fixed tri1x1.mdl
* Fixed normals, fixed extra weird mesh
Do not reset water reflection/refract textures when they are not used
* From start of game, if expensive water is always disabled (or if the map doesn't have water to begin with), do not clear the RTs. (This would happen only once regardless)
Include tree_deciduous_card_01.mdl with the extra skin
* Fixes some visual inconsistencies on HL2 maps
Implement Panel:Clear for DPropertySheet/DCollapsibleCategory
* DPropertySheet will clear all tabs and their associated panels (and calls OnActiveTabChanged with nil as new panel)
* DCollapsibleCategory will avoid clearing its header, deletes everything else
* DPropertySheet:CloseTab now also calls OnActiveTabChanged
Flip order of operations for model matrix mult of DrawSkinned
* Should fix angles affecting position
Apply name restrictions to concommand.Add
* It's the same name restrictions as CreateConVar, so probably fine?
Let's try removing Language system from dedicated servers
Minor cleanup
Do not check toolmode_allow convars for Utilities menu
Clarify what "Max Ragdolls" server setting is
Stop soundpatches on entity removal
And also prevent soundpatches from playing with invalid entities.
Spawnmenu calls CanTool clientside to mark server-disabled tools
* This is an experiment which may end up error prone, but let's try it. The intent is to show in the spawnmenu UI when a server (or an addon) has disabled a particular tool.
Implement corrected limit checking for mesh.Begin w/ static meshes
I.e. when giving mesh.Begin a mesh object, the limit becomes
65535 instead of
32768
Added second arg to IMesh:DrawSkinned - mult by model matrix
Try to prevent crashes with weird .phy files
mesh.Begin throws errors with invalid primitive counts
Fixed a crash with func_button and Sandbox drive system
Lets try making r_radiosity default to 4 again
Add some sanity checks to map loading
Add a temp hack for missing surface.GetScissorRect
Add some invalid handle checks to shadow rendering
Remove that unused code
Potential micro optimization for trace filter tables
Fix MSurf_MaterialSortID check being to aggressive perhaps
Minor cleanup
Fix last map not loading correctly if it's an addon map
Make effects.BubbleTrail not turn start/end pos into mins/maxs
Added Lua mesh skinning support
* Added `mesh.BoneData( index, matrixId, weight )`
* Added second argument to `Global.Mesh` - boneWeights
* Added `IMesh:DrawSkinned( matrixTable )`
Minor cleanups
Fixed DrawSkinned affecting underwater rendering
* By applying the model matrix to the Draw() call
Some more than minor cleanups of probably unused stuff
Fill remaining matrices with identity ones for DrawSkinned
* In case some silly goober doesn't give it enough or gives none
Fix handling of userdata members from tables
Fix potential crash with malformed models
Fix potential crash issue with rope rendering
Remove the while loop from DModelPanel render
* Added surface.GetScissorRect (Faster than surface.GetPanelPaintState) - returns enabled, left, top, right, bottom
Merged Pull Requests
* weapon_fists sets damage position
* Make closedcaptions fonts anti aliased
Fix missing font CloseCaption_Small
Implement vendor specific shadow depth format test for Intel
Allow solid triggers to touch triggers
* Allows loose weapons and ammo entities touch remove/teleport triggers, etc.
Unhide r_particle_timescale
Merge PR: Toolgun trace not hitting parented props re-fix
Fixed a crash to do with HTLV
Flechette Gun aligns projectiles with world clicker
Fixed buggy behavior of HL:S crossbow with its zoom
* (By removing the "instant" attack mode)
Fix HL:S crowbar hitsounds in multiplayer
Alias some HL:S weapon killicons from HL2 ones
Clear _rt_Camera texture to black on disconnect
Clear water reflection/refraction textures when unused
Ship fixed door models
* Door03_Slotted - fixed skins not working, fixed opening animations not always playing correctly, added ep1 hardware type, fixed pushbar lighting
* Door03 (Ep1) - added rusted texture skin from Door01 (fits the window cutout)
* Door01 - added ep1 hardware type, fixed pushbar lighting
Ship fixed Skin13 & 14 for doors
* Fixed handlebar textures for both
Implement pistol empty holster
* Fixes the model having empty and non empty holster anim being tied to the same activity
Fix missing return value on Matrix()
Remove 12char cap on net_showudp names
Added ActivityWeight/ActivityID to util.GetModelInfo sequences
Remove auto generated server flags
* It's been long enough for people to adjust to setting sv_location
Fixed some potential crashes
Potential optimizations for Matrix()
* Should be a bit faster, especially when not using table as first arguments
Potential optimization for Angle() (same as Vector at some point before)
Clamp BodyMoveXY playback rate to networking limits
Merge PR: Ability for Sandbox NPCs to randomize their model
Possibly fix Linux build error
Apply GetPoseParameter range fix for its one internal usage
In the player anim state. Probably does nothing, but at least its not setting the clientside poseparameters move_x/y to invalid values briefly
Fixed crashes with Alyx and Jalopy being removed
* Also makes Alyx cancel try to enter the vehicle if it is removed while she is running to it
Re-include SteamP2P on Linux dedicated servers
Fixed Gravity Gun storing buoyancy as a bool
Try some more potential crash fixes
* Based on just a single dump
TTT: Fix SimpleImage PaintOver handling
Fix a crash when trying to load weird VTX files
Allow Spawnicon Editor to be resized
https://files.facepunch.com/rubat/2026/February16-2345-RevolvingLouse.mp4
* Also merged Pull Request for case insensitive search and arrow key animation switching
Fix NPE client crash when game.Get3DSkyboxInfo is ran too soon
Remove FCVAR_REPLICATED from hud_deathnotice_time
* It's a clientside convar, the flag has no effect.
Fix color mismatch between cl_ and sv_ showhitboxes
cl_showhitboxes 2 to show ONLY player hitboxes
Make jump/land sounds play for non local players
* Also made Player:PlayStepSound volume argument default to 1
* Fixes Player:PlayStepSound not really doing anything in multiplayer
Added game.Get3DSkyboxInfo
Returns table with "origin" and "scale" keys. No function arguments.
Send replicated convars in batches of 128
* This fixes an overflow/network channel corruption issue on server join when the server tries to send over 255 replicated convars to the client.
Remove some unused stuff
* Removes CRC calc for game_sounds_manifest.txt loading, since the CRC is never used.
* Removes CGarrysMod::SetupSoundsManifest
Reload soundscripts when games are mounted
* This fixes no voice lines playing in Half-Life 2 maps when the game was started without HL2 mounted, and then HL2 is mounted.
Minor cleanups in multiplayer animstate
* Make flDeadtime in prediction use correct data type
* Removed a bunch of unused fields in MultiPlayerPoseData_t
* Reduce amount of LookupPoseParameter calls
Fix leaks with CProceduralTexturePanel
* This fixes color picker preview in particle editor breaking after a few uses
Move CUtlVector::GrowVector error to memory grow functions
Fixed single character folders not working for textures on Linux
* This should fix missing textures on surf_quickie.bsp on Linux. Possibly other maps as well.
Minor cleanups
Fixed Global.EmitSound not firing EntityEmitSound
Apply TF2 SDK fix for CUtlFilenameSymbolTable
* Should help fix loading packed files on Linux on certain maps with embedded files
Fix thirdperson initial angle snap (From TF2 SDK)
Put mksheet into "Tools" group (VPC)
Clamp bot player count in the server browser
* Also apply the clamping to serverlist.Query
Merge Pull Requests
* TTT weapon visual fixes for singleplayer
* Use IsPlayer instead of GetClass() == "player" in base gamemode
Fix a crash in CVoiceGameMgr::ClientConnected due to binary module usage
Fixed normal headcrabs not spawning from their cannisters
Remove the entire GameStats(Uploader) system
Its never used by anything, just wastes resources
Also references to xboxsystem and matchmaking systems that were still compiled in
Ship a fixed hunter_flechette.mdl
* Uses the idle animation by default now instead of the impact animation, so they actually fly straight now, not at an angle
Update AR2, Flechette Gun and SLAM spawn icons
* AR2 icon now points the same way as other guns, SLAM icon now has the same warmer colors as all the other icons, Flechette Gun icon no longer uses the angled model in the preview
Fix Flechette Gun being able to shoot through thin walls
Fix file list concommand autocomplete searching mounted content
It's only used for stuff like saves and demos, no need to search in mounted games like HL2
Fix sounds played via env_microphone having no subtitles
Apply lightmap with lightstyles fix from CS:GO
* Seems to help a little on MC:V maps
Minor cleanups
Make game.GetMapVersion also return the BSP version
Apply a tiny fix for dynamic lights (Light tool) for bumped lightmaps
* This is the difference: https://files.facepunch.com/rubat/2026/February06-2318-JoyousQueenslandgrouper.mp4
Minor changes from CS:GO to do with float bumped lightmaps
Apply same limitations of render.CapturePixels to render.Capture
* Allow render.Capture on rendertargets
Fixed some potential crash issues
chat.AddText handles numbers
Try to fix Linux compile error
Implement $pointsamplemagfilter
Lets try static client scratch buffer
Added support for V12 static prop lump (MC:V)
Remove r_maxdlights convar
* it's already at its max value
Implement empty idle for pistol
Scale lightmap pages to current map's needs
Implement STUDIOHDR_FLAGS_VERT_ANIM_FIXED_POINT_SCALE
Fixed some potential crashes with navmeshes
Fix potential crash issues with dropship
Prevent `trace` concommand erroring with dropships
Better handle invalid physObj in queued collision events
Lets try making lights non networked
Make Pistol weapon use its draw empty animation when empty
Implement empty draw for Crossbow
Added "damage" keyvalue to `crossbow_bolt`
Allow m_ragdollMins/m_ragdoll.allowStretch via SetSaveValue again
Minor cleanups
Alias prop_portal_stats_display to prop_dynamic
* Fixes Portal 1 having missing elevators
Material refcount changes
* Fixed Portal 1 energy pellet having missing texture (0 ref count)
* Do not precache AR2 ball materials until used, they can now also unload on map change
* Do not forcibly precache muzzleflash materials that are not even used
Render hook changes
* Apply correct rendering matrices for PreDrawHUD and PostDrawHUD, so calling cam.Start2D is no longer necessary.
* Move calling of PreDrawHUD slightly later, so it renders in the 2D view, just like PostDrawHUD does.
* Moved GM:PostDrawEffects to be called slightly sooner than before, so it is called in the 3D view, not after it, and also is consistently called only when PreDrawEffects is
Prevent opening chat with cl_drawhud 0 locking you out of main menu
Do not precache some HL1 weapons
Prevent gauss gun spewing about out of bounds values
Remove more unused HUD elements from builds
HUDShouldDraw gets called for cl_showfps panel (when active)
Remove more unused GameUI stuff
Fixed crashes with certain material proxies when used on static props
More minor cleanups
sv_showimpacts draws server hitboxes in blue color
Init QAngle to 0,0,0 on creation
Fixed player hitboxes in vehicles at odd angles
Fixed some player animation/hitbox desync
* Vehicle animation poseparameters were not set serverside
* Player "grab ear" animation was not playing serverside
Restore sv_showhitboxes (cheat protected)
Pull Request: Added color support for Arctic player model
func_movelinear supports changing parents
* Fixed a bug on ep1_c17_01
Rearrange new field of CopiedDupe netmessage to bottom
* Apparently there's some addon out there that overrides some duplicator functionality and breaks any changes, sigh. At least this way it should be less broken.
Fix Alyx playermodel coloring covering some wrong areas
Add some checks for voice chat gain manager
* If current or target gain become inf or nan, reset. Also prevent division by 0.
More fixes for potential crashes
Fix some addons erroring out due to DImage changes
Lets try updating BASS.DLL to 2.4.18.3
* Probably achieves nothing at all
Include hl2 version of buildingset056a
* Apparently it was changed in the 20th anniversary update?
particle COLLISION_MODE_INITIAL_TRACE_DOWN traces down
* instead of tracing west
More potential crash fixes
Added EnableSpotlight Input to npc_cscanner
PR: Fixed an accidental global var in DModelPanel
Fixed models with matproxies flip flopping render groups (static props)
Faceposer fixes
* Does not try to access flex controllers above 96 (since no convars anyway, and no networking)
* Fixed faceposer setting invalid flex value ranges (from MIN to MAX of the flex which is incorrect, to from 0 to 1 which is correct)
Potential fix for player model faces (alyx/gman) in multiplayer
Update Rebel texture sheets to fix a small issue on the gloves
Remove HUD Hint related code from base weapon
Ship mksheet.exe (for particle sprite sheets)
saverestore uses ErrorNoHaltWithStack not Msg
* Also fixed a Lua error due to missing ErrorNoHaltWithStack
Merge Pull Requests
* Apply name filter to post refresh server list updates
* Fixed Lua errors when manually running internal concommands dupe/save_publish
Fixed an exploit that allowed spamming player_pickup on the server
* For now, we block any new pick up attempts if we have a prop already picked up.
Replace barney's face on EP1 maps
Dynamic resupply changes
* Use GetMaxArmor instead of hardcoded 100
* Use "canon" values for max ammo of each ammo type (instead of 9999), so it spawns more useful ammo types instead of shotgun ammo all the time
Fix Combine Soldiers using rifle walk/run anims with shotguns
Disable more Low Violence code that checked the registry
* It was already basically unused, so it won't confuse me in the future by being still compiled
Add description and min/max to engine_no_focus_sleep
Fixed more crashes and many potential crashes to do with models
Fix a regression with func_tracktrain
* It a portal2/csgo change, weirdly
Minor cleanups
Duplicator tool changes
* Improve rendering of the dupe bounds when intersecting with world
* Improve dupe spawn position calculation to avoid spawning in walls
* Show selected dupe name/icon in context menu
Final finger poser mod support updates
Finger poser UI flips controls for right hand
Put the i in Dynamite
Rework Finger poser a bit
* Do not use hardcoded lists of bones, add a new list library list so addons can add support for custom models easily.
* Deduplicate some code
* Improve support for Zeno Clash 1 models
Localize "Loading..." labels in Steam Workshop browsers
* Also made it more consistent between all content types
Merged PR: Localize some more UI texts
Fix a very spammy warning on Linux
Localize Favorites map category in main menu
* Also fix localization of Other maps category
Localize server outdated tag
* Also fix translation module adding trailing space to every single output string
Minor cleanups
* Removing some unused VGUI code that I came across
Duplicator uses icons instead of text for workshop status
Resolve self-crash with File:Read
Add fallback material for sprites/flare6 (env_funnel)
Add 2koth_ and cppl_ maps to TF2 category
Replace coreball.mdl with one with simpler physics model
Merged Pull Requests
* Fixed start/stopsound for some entities in Hammer having invalid default values
* Localize "password" placeholder in server browser
Some potential crash fixes
Stop NPC_Citizen lobbing healthkits and NPCs
Fix NPCs being unable to pickup constrained weapons
* Specifically the first spawnflag "Start constrained", which caused a potential progression stopper on ep1_c17_02a
Add Combine Shotgunner Playermodel texture with colorable eyes
Update Odessa playermodel
* Consistent phong usage on face material (consistent with citizens)
* Fixed mouth faceposing
Dynamite no longer uses timer.Simple, and clamps delay to 3600
Apply some checks for a potential crash issue
* Would crash with a message instead of silently
Limit Material() in menu state
Fixed Lua error counts in Problems panel being covered up by Copy btn
Fix killfeed showing neutral/fearful NPCs as friendly
* When killed by the player specifically
Fix "Couldn't create player_connect event" appearing on success
Apply some NPE checks to render data cache
Fix player model eyes pointing elsewhere when singleplayer is paused
Minor cleanup
Added vec = game.GetWindSpeed( vec pos = nil )
* Optional arg that takes into account wind controllers with radius above -1
* Without arg = only use the global controller (if one exists)
* position argument unfortunately will not do anything on client yet because the env_wind position is never networked to the clients
* Function is shared
Fixed a crash with running "+showbudget" on srcds
Add type checking to Entity:PhysicsInitConvex second arg
Fixed some potentially crashy issues
Merged Pull Requests
* Don't reset Player Counts on serverside Lua Refresh of Sandbox-derived gamemodes
* Micro optimization for sql.QueryValue
* TTT: Fix auto weapon spawning on non-TTT maps
Fixed smscorch2_subrect.vmt having wrong texture offset
Fix Lua errors when NPCs use Fists and Camera SWEPs
Remove XZip from Bootil
Update FastLZ lib
Fix some compile warnings in Bootil
Fix "Error" and "ErrorNoHalt" not firing OnLuaError on SRCDS
Minor cleanups
* Makes CBaseAnimating::m_OverrideViewTarget private
Fixed potential crash issue with look door
Jalopy no longer spawns trigger_vehicle_cargo at all times
* Instead, spawn the entity only when asked to, i.e. `CargoVisible` key value is set before Entity.Spawn is called (maps), or SetCargoHopperVisibility input is used on the car. This input can now also be used to properly disable the functionality by doing `SetCargoHopperVisibility 0`
* This means that Sandbox Jalopy no longer uses 2 edicts, and will not be able to hold a magnusson device in the invisible holder (unless explicitly enabled beforehand)
Added ReleaseBusterFromCargo input to Jalopy
Remove "Ember type" from env_embers in Hammer (did nothing)
Make env_embers compile with parenting support
* So basically there's this stupid system of "if a brush entity doesn't have "origin" keyvalue at map compile time, the brush model bounds will be in world space". env_embers did not use it and therefore was incompatible with parenting. We now make this entity use that system (like all entities should really be doing to be honest) and try to detect the difference in code for old maps and new maps, and apply the entity's position to the particles if we detect the map as "newly compiled with support for parenting" for this entity
FGD: Add auto generated values of func_breakable_surf
* So they do not appear as broken in Hammer, and provide explanation as to what they do.
Add a few new inputs to prop_vehicle_jeep (Jalopy version)
* DisableRadarDetectEnemies
* EnableHazardLights
* DisableHazardLights
* NoHazardLights key value
* Added "Has Gun" keyvalue to jeep in Hammer
* Removed non existent "HUD Locator Precache" spawnflag from Jeep in Hammer
Use FGD files
* Fixed prop_vehicle_jeep having static prop key values that are not applicable to it
* Added some descriptions here and there, where there were previously none
* Deduplicated some key value definitions, such as skin and fade distance stuff
Added new spawnflag for func_tracktrain - GoldSrc rotation
Make plastic materials emit some particles on bullet hit
* Affects props like the blue barrel, Lamarr cage, etc.
Add "enabled" key to util.GetSunInfo
Try to fix IMaterial:GetShader on Linux SRCDS
* By storing the shader name on the material, instead of relying on the shader system on dedicated server
Fixed a typp in UGC uploader (+ some translations)
Added texture name to ShaderAPIDX8::CreateD3DTexture warning
Merge some func_tracktrain changes from P2/CSGO
* Allow Roll spawnflag
* hack to avoid gimble lock
* SF_CORNER_TELEPORT interpolation change
* Dead end path change
* Added missing spawnflag (4), updated description of "HL1 train" spawnflag
Lets try turning "gamemode is nil" crashes into Lua errors
* Seems to not crash on its own, and is slightly better/debuggable user experience
Add likely fail reason to ShaderAPIDX8::CreateD3DTexture warnings
* It's 1x1 DXT5 textures in my experience, so we test for that
Do not forcibly crash the server if `player_connect` event failed to create
* Now prints a warning and continues on.
Fixed a typo (Serveres => Servers)
TTT: Add TTTRadarScan hook
Only queue simple timers if using the same callback func
Minor cleanups
* Code deduplicate of timer.Destroy alias
* Remove code from timer.Create that seems to do nothing useful
Handle potential mesh related crashy issue
Try to fix decals on high poly models spazzing out across the whole map
Fixed double bound checks in map loading
Fixed a NPE crash with CrossbowLoad effect
More potential crash fixes to do with model flexes
Scale JIGGLE_IS_BOING jiggle bones with bone scale
Do not eject players from vehicles on Spawn() during level transitions
Fixed save restore warning due to NPC flex related changes
Minor cleanups
Fixed Sun Editor not inheriting map values properly
Added SurfaceName to `trace` concommand