1,139 Commits over 853 Days - 0.06cph!
Delete -vpfix from studiomdl.exe
Has unwanted sideeffects
StudioMDL: Fix models with more than 65k vertices breaking up
Merged some changes from CS:GO's studiomdl
Add support for BONE_HAS_SAVEFRAME_ROT32
Fixed animations from newer mdl versions not playing in GMod
Move default console position to the left a bit
So it does not obstruct certain UI elements by default
Fix "nav_blocked" event not being registered
Prevent crashes to do with removal of world entity (another method)
Adjust how we disable self-unblocking for Lua-blocked navmeshes
Adds NAV_MESH_BLOCKED_LUA
Navmesh auto-blocking checks now run on map start/cleanup
Makes certain code that was meant to run on map cleanup to actually run now.
Also updates blocked status of nav areas on map load
TTT: fix ragdoll not being created if ttt_dyingshot is on
Community contribution
FF & NeoTokyo spawnpoints + Map Category (Community Contribution)
Rework how spawnpoint entities are added in base gamemode
One file now, not 25 duplicated files.
Minor code cleanups
Linux: Do not ExecuteToPriority if there are no jobs
This addresses slowdowns on Linux (srcds?) to do with the filesystem
garrysmod-issues/issues/5932
+1 the month in the server browser last played
Iterate over Server Browser Last Played marker
Also localize the string
Prevent crashes to do with removal of world entity (another method)
Iterate over Server Browser Last Played marker
Also localize the string
Disable 24BPP optimization for .png/jpeg loader
This may or may not be causing issues for random players sometimes maybe?!?!?! when joining servers
Delete -vpfix from studiomdl.exe
Has unwanted sideeffects
StudioMDL: Fix models with more than 65k vertices breaking up
Merged some changes from CS:GO's studiomdl
Add support for BONE_HAS_SAVEFRAME_ROT32
Fixed animations from newer mdl versions not playing in GMod
Move default console position to the left a bit
So it does not obstruct certain UI elements by default
Fix "nav_blocked" event not being registered
+1 the month in the server browser last played
FF & NeoTokyo spawnpoints + Map Category (Community Contribution)
Rework how spawnpoint entities are added in base gamemode
One file now, not 25 duplicated files.
Minor code cleanups
Linux: Do not ExecuteToPriority if there are no jobs
This addresses slowdowns on Linux (srcds?) to do with the filesystem
garrysmod-issues/issues/5932
TTT: fix ragdoll not being created if ttt_dyingshot is on
Community contribution
Adjust how we disable self-unblocking for Lua-blocked navmeshes
Adds NAV_MESH_BLOCKED_LUA
Navmesh auto-blocking checks now run on map start/cleanup
Makes certain code that was meant to run on map cleanup to actually run now.
Also updates blocked status of nav areas on map load
More sensible defaults for 360 controller bindings
$eyeposition and $illumposition are now affected by $scale
Block gui/input.SetCursorPos while main menu is open
Fixed regression with nav_update_blocked concommand
Make gui.HideGameUI work more like the hook
Instead of disabling the function entirely, holding shift would disable its functionality, and it displays a message on how to bypass it, if it blocks the main menu one too many times.
Temporarily disable 24BPP optimization for .png/.jpeg loader
Fixed regression with nav_update_blocked concommand
Make gui.HideGameUI work more like the hook
Instead of disabling the function entirely, holding shift would disable its functionality, and it displays a message on how to bypass it, if it blocks the main menu one too many times.
More sensible defaults for 360 controller bindings
$eyeposition and $illumposition are now affected by $scale
Block gui/input.SetCursorPos while main menu is open
Disable gui.HideGameUI, block cancelselect
VRAD: -dumppropmaps also dumps the lightmaps as .pfm
Also dump files to /sp_lightmaps/ instead of base dir
Don't display alpha channel for non alpha formats (RGB888, etc)
This is for mat_texture_list 1
Use non alpha format for images without alpha (.png/.jpeg loader)
This should hopefully save some memory
Resave Post Processing icons to not have alpha channel
Since they don't use alpha anyway
Fixed duplicated constraints making Lua errors sometimes
Resolve memory alignment issues with 24bit images (.pngs, etc.)
TF2 new map icons/category + adjust some dark ones
Also fill the texture with white color if freeimage fails
This is for .png image loading
Adjust VRAD's -dumppropmaps TGA output to be correct
Adjust the tga texture to be representative of what is written to PPL files, fixing out of color range texture bugs.
Restore gui.HideGameUI for menu state
VRAD displays lighting mode in the log (HDR vs SDR)
VRAD static prop lighting HDR related changes
Only output .tga files for LDR compiles
Only output .pfm files for HDR compiles
Compile HDR .ppl files, without overwriting the LDR ones
Swap-in HDR static prop lightmaps when HDR lighting is in use
Fixed impaled NPCs not appearing in the kill feed
Pull requests
* Prevent certain addons creating Lua errors after new changes to do with Lua auto refresh handling in the spawnmenu
* Added missing localization string for German langauge in TTT
* Reduced net.WritePlayer bitcount based on server's maxplayers
Added sv_max_userinfo_rate
This is aimed at preventing malicious clients eating server CPU. It is unlikely server owners would need to touch this cvar, but just in case its there.
More strict application of GMODSandbox GDClass in Hammer
So `point_spotlight` doesn't have useless keyvalues on it.
Added "Last played date" for each server in the server browser
Replace usage of "devshots_screenshot" with "screenshot"
Add "killserver" to concommand blacklist
Correct UTF8<->UTF16 conversion for close caption function & hook
Try to resolve issues caused by sv_max_userinfo_rate for extreme cases
gmad.exe - do not pause when launched through existing cmd.exe (Partially Community Contrib)
Make "force open main menu" warning an informational one (Community Contrib)
Also make it use a localization string
RPG entering water does not slow down
Also if the RPG missile somehow reaches speed close to 0, explode (before required exactly zero)
Don't display "Vehicle X has invalid wheel attachment" for airboat
Use localization strings for Legal tab in Options
Also moved all gmod-specific strings to garrysmod_english.txt, from gameui_english.txt
Code cleanup
Refine sv_max_userinfo_rate further
Hopefully this fixes issues on map load
"Start Disabled" spawnflag for env_projectedtexture
The "Enabled" spawnflag makes no sense as the entity is always enabled on creation across all SourceSDK2013 games according to the source code.
Restore missing options in env_projectedtexture in Hammer
Also rearranged useful options to the top, added browse texture button to the texture keyvalue
env_projectedtexture Toggle input
Added ProjectedTexture:Get/SetNoCull()
Mount folder addons before Workshop system
Filter for preset list
https://files.facepunch.com/rubat/2024/October10-647-CheeryLunamoth.gif
Called GM:PlayerAuthed outside of player prediction (so curtime is valid)
Effectively makes the hook run a bit sooner within the same frame/tick it used to.
Fixed Player:UniqueID returning nothing before InitSpawn
Fallback to garrysmod.ver for when Steam is not available to get BRANCH
Pull requests
* Prevent certain addons creating Lua errors after new changes to do with Lua auto refresh handling in the spawnmenu
* Added missing localization string for German langauge in TTT
* Reduced net.WritePlayer bitcount based on server's maxplayers
Restore gui.HideGameUI for menu state
VRAD displays lighting mode in the log (HDR vs SDR)
VRAD static prop lighting HDR related changes
Only output .tga files for LDR compiles
Only output .pfm files for HDR compiles
Compile HDR .ppl files, without overwriting the LDR ones
Swap-in HDR static prop lightmaps when HDR lighting is in use
Fixed impaled NPCs not appearing in the kill feed
TF2 new map icons/category + adjust some dark ones
Also fill the texture with white color if freeimage fails
This is for .png image loading
Adjust VRAD's -dumppropmaps TGA output to be correct
Adjust the tga texture to be representative of what is written to PPL files, fixing out of color range texture bugs.
Fixed duplicated constraints making Lua errors sometimes
Resolve memory alignment issues with 24bit images (.pngs, etc.)
Filter for preset list
https://files.facepunch.com/rubat/2024/October10-647-CheeryLunamoth.gif
Called GM:PlayerAuthed outside of player prediction (so curtime is valid)
Effectively makes the hook run a bit sooner within the same frame/tick it used to.
Fixed Player:UniqueID returning nothing before InitSpawn
Fallback to garrysmod.ver for when Steam is not available to get BRANCH
Disable gui.HideGameUI, block cancelselect
VRAD: -dumppropmaps also dumps the lightmaps as .pfm
Also dump files to /sp_lightmaps/ instead of base dir
Don't display alpha channel for non alpha formats (RGB888, etc)
This is for mat_texture_list 1
Use non alpha format for images without alpha (.png/.jpeg loader)
This should hopefully save some memory
Resave Post Processing icons to not have alpha channel
Since they don't use alpha anyway
Bump `cvarlist` buffers from 128 to 1024
Use the #classname for Sandbox editors and Bouncy BALL
Localize stuff added by game_hl2.lua (Partially Community Contribution)
Fixed a crash to do with teleporting constrained entities
Removed unused variables in Problems panels
Pull Requests
* Use localization strings for GMod-specific keyboard settings
* TTT: Updated Turkish localization
* Use 4 number overload of surface.SetDrawColor in base game for performance
Tooltips for vehicles in spawnmenu akin to those for SWEPs, SENTs
Resistance turrets only set the 2 valid skins (was trying to use 4)
Localize NPC and Vehicle spawnmenu tab entries
Added Resistance Turrets to spawnmenu if Episode 2 is mounted
Adjust "Prison Guard" localization strings
Also remove unintentional changes
Fixed wrong translation string used in recent changes (oopsie)
Fixed a few more potential crashing issues
Fix a lag issue to do with spamming certain packets to the server from client
Merged ghostanim.mdl and blackout.mdl
Instead of doing a hack for Episode 1, just merge all these models from all the half-life 2 games, and including portal 1
Episodic Poison Zombie model with fixed animation events
Advisor episodic model hack
The models are too different to be merged, so we swap the ep2 one in, on spawn
Episodic combine_intmonitor props with extra skin
gmad.exe allows .vtx files again
Try writing current git branch to garrysmod.ver
Added color input/kv for `func_water_analog`
Episodic headcrab models
They have ceiling animations for ep1 + lamarr merged model
Fix missing Ladder.WoodStepRight/Left soundscripts (ep2)
Merged gman model
Remove missing skins from certain PHX props
concrete_barrier00.mdl
concrete_barrier01.mdl
box_torpedo.mdl
box_amraam.mdl
Minor code cleanup
Jalopy model with adjusted correct suspension travel
func_smokevolume removes particles when dormant
Always enable loading screen for the `map` concommand
Mount floating .GMA files before fetching info about subscriptions
So they load in time if launching the game with +map
Don't try to enable loading screen on linux srcds (compile fix)
Restore some more HL2-specific gamerules behaviors
sk_plr_health_drop_time
sk_plr_grenade_drop_time
sv_robust_explosions
Entities that block radius damage, don't block it on themselves
Do not hide servers with OOB data, clamp the data
Do not hide the server from master server if sv_lan is 1
This causes LAN servers to be invisible to the LAN tab in the server browser, which is a regression.
Mention `hide_server` convar in sv_lan's description.
Fixed a Linux crash with sv_showlagcompensation (hopefully, most likely)
Fixed Entity:ManipulateBoneJiggle type `2` non functioning
Mention valid sample rates in "Invalid sample rate X for sound Y" warning
Unblock 'mp_flashlight' in menu state
Autorefresh weapons in spawnmenu
Changing weapon info (including adding a new weapon) will update the weapon in spawnmenu automatically.
Remove respawn_entities concommand
We have gmod_admin_cleanup
Pull Requests
Fixed Lua error in TTT introduced by a previous PR
Improved TTT's Spanish localization
Micro optimization for GWEN.CreateTextureBorder and related functions
Only drop physics gun held props from Lua
Episodic models for Combine Dropship and Mossman
They should contain all animations for all 3 games.
Mount folder addons before Workshop system
Refine sv_max_userinfo_rate further
Hopefully this fixes issues on map load
"Start Disabled" spawnflag for env_projectedtexture
The "Enabled" spawnflag makes no sense as the entity is always enabled on creation across all SourceSDK2013 games according to the source code.
Restore missing options in env_projectedtexture in Hammer
Also rearranged useful options to the top, added browse texture button to the texture keyvalue
env_projectedtexture Toggle input
Added ProjectedTexture:Get/SetNoCull()
Reduce saverestore buffer to 12M to match x86-64
Don't display "Vehicle X has invalid wheel attachment" for airboat
Use localization strings for Legal tab in Options
Also moved all gmod-specific strings to garrysmod_english.txt, from gameui_english.txt
Code cleanup
Display a message when force exiting due to OOM issue
Update .gitignore
Reduce .sav buffer down to 12M (from16) to fix a crash
gmad.exe - do not pause when launched through existing cmd.exe (Partially Community Contrib)
Make "force open main menu" warning an informational one (Community Contrib)
Also make it use a localization string
RPG entering water does not slow down
Also if the RPG missile somehow reaches speed close to 0, explode (before required exactly zero)
Player:StripWeapons drops weapons before removing them
This mimics behavior of Player:StripWeapon()
Added massCenterOveride for certain physics init functions
PhysicsInit
PhysicsInitMultiConvex
PhysicsInitConvex
PhysicsFromMesh
PhysicsInitBox
PhysModelCreateBox doesnt reset solid parameters
Groundwork for PE changes
Particle browser with previews for Particle Editor
https://files.facepunch.com/rubat/2024/September16-554-RoughAsiansmallclawedotter.png
Case sensitive include (Linux compile fix)
Added hide_server cvar, sv_lan 1 will hide the server too
Load particle editor first in -tools mode
Fixed non left clicks in particle previews breaking the controls
Prevent errors about missing materials in particle editor
Improved particle properties panel
https://files.facepunch.com/rubat/2024/September17-559-BestAnt.png
Improve tools scrollbar styling
Fixed a typo in the name of NPC:SetIdealSequence
Fixed ENT:GetPreferredCarryAngles for `ai` ents not being called
Added "use local space" to "Position Within Box Random" particle init
Replace missing .png/.jpg image data with white color
This would happen when a Material()'d .png file goes missing. It used to be undefined behavior.
Apply the fix for Panel.Exec on SetHTML'd panels
This is probably wasn't affecting this branch, but still match the code
Run render.UpdateRefractTexture during halo rendering
Fixes garrysmod-issues/issues/6000
Delete constraints.lua
Unused file
Added sbox_maxconstraints and sbox_maxropeconstraints
Both default at 1000, sbox_maxconstraints is for non rope constraints only, not ALL of them.
Nocollide is considered a non rope constraint now for the sake of limits.
Also fixed a bug where duplicated constraints would not be able to be cleaned up via Utilities > Admin or User Cleanup
player.CreateNextBot sets the bot name by player_activate event
Fixes for HL1 barnacle
Added SetTarget1-4 to logic_choreographed_scene/scene_entity
Pull Request: Search bar in icon editor + copy to clipboard
Pull Request: TTT traitor button fixes
Fixed CNPC_ControllerZapBall not doing damage
Consistent returns from Sandbox tool Make* functions
Minor clean ups in constraint library
Bump max save game size to 16M (from 3)
This is Source's save system, for level transitions
Implement GetPreferredCarryAngles for `ai` type SENTs
Disable -nulldevice
Added NPC:SetIdealSequence
Fix undoing nocollide constraint not restoring collisions
Adds `disable_on_remove` keyvalue to `logic_collision_pair`
Adds 5th argument to constraint.Nocollide - disableOnRemove
Fixed duplicated nocollides not being cleaned up via No-Collides cleanup option
Merged Pull Requests
TTT: Minor updates to Turkish translations
Optimized SortedPairs further
Added properties.Remove( name )
Added surface.GetPanelPaintState
returns a table with the following keys:
* translate_x
* translate_y
* scissor_left
* scissor_top
* scissor_right
* scissor_bottom
* scissor_enabled
Replace usage of "devshots_screenshot" with "screenshot"
Add "killserver" to concommand blacklist
Correct UTF8<->UTF16 conversion for close caption function & hook
Try to resolve issues caused by sv_max_userinfo_rate for extreme cases
Added sv_max_userinfo_rate
This is aimed at preventing malicious clients eating server CPU. It is unlikely server owners would need to touch this cvar, but just in case its there.
More strict application of GMODSandbox GDClass in Hammer
So `point_spotlight` doesn't have useless keyvalues on it.
Added "Last played date" for each server in the server browser
Rollback game.CleanUpMap removing tempents and beams
Apparently crashes on x86-64 somehow, sometimes, for some people
Fixed a few more potential crashing issues
Fix a lag issue to do with spamming certain packets to the server from client
Fixed Panel.Exec not working on SetHTML'd HTML panels
Fixed wrong translation string used in recent changes (oopsie)
Fixed a crash to do with teleporting constrained entities
Removed unused variables in Problems panels
Pull Requests
* Use localization strings for GMod-specific keyboard settings
* TTT: Updated Turkish localization
* Use 4 number overload of surface.SetDrawColor in base game for performance
Tooltips for vehicles in spawnmenu akin to those for SWEPs, SENTs
Resistance turrets only set the 2 valid skins (was trying to use 4)
Localize NPC and Vehicle spawnmenu tab entries
Added Resistance Turrets to spawnmenu if Episode 2 is mounted
Adjust "Prison Guard" localization strings
Also remove unintentional changes
Use the #classname for Sandbox editors and Bouncy BALL
Localize stuff added by game_hl2.lua (Partially Community Contribution)
Jalopy model with adjusted correct suspension travel
Bump `cvarlist` buffers from 128 to 1024
Added color input/kv for `func_water_analog`
Episodic headcrab models
They have ceiling animations for ep1 + lamarr merged model
Fix missing Ladder.WoodStepRight/Left soundscripts (ep2)
Merged gman model
Remove missing skins from certain PHX props
concrete_barrier00.mdl
concrete_barrier01.mdl
box_torpedo.mdl
box_amraam.mdl
Minor code cleanup
Episodic combine_intmonitor props with extra skin
gmad.exe allows .vtx files again
Try writing current git branch to garrysmod.ver
Give titles to windows build scripts, so I know what's running
Merged ghostanim.mdl and blackout.mdl
Instead of doing a hack for Episode 1, just merge all these models from all the half-life 2 games, and including portal 1
Episodic Poison Zombie model with fixed animation events
Advisor episodic model hack
The models are too different to be merged, so we swap the ep2 one in, on spawn
Apply Panel:SetHTML/RunJavascript restrictions from main branch
Try rolling back changes to `game.CleanUpMap`
Episodic models for Combine Dropship and Mossman
They should contain all animations for all 3 games.
Only drop physics gun held props from Lua
Pull Requests
Fixed Lua error in TTT introduced by a previous PR
Improved TTT's Spanish localization
Micro optimization for GWEN.CreateTextureBorder and related functions
Unblock 'mp_flashlight' in menu state
Autorefresh weapons in spawnmenu
Changing weapon info (including adding a new weapon) will update the weapon in spawnmenu automatically.
Remove respawn_entities concommand
We have gmod_admin_cleanup
Mention valid sample rates in "Invalid sample rate X for sound Y" warning
Fixed DropEntityIfHeld affecting all players holding anything
Implements `CHL2_Player::ForceDropOfCarriedPhysObjects`'s argument to actually work
Also now affects Physics Gun, for consistency with other such functions.
it is now an alias of `Entity:ForcePlayerDrop()`, and is deprecated in favor of it.
Fixed Close Caption HUD being disabled by sethudvisibility input
Update .gitignore
Fix MatSelect erroring on select if not given a convar
Added MatSelect.OnSelect and OnRightClick
Improvements to PropSelect to match MatSelect
Implement Panel:Clear
Added OnSelect hook
Added OnRightClick hook
Fixed errors when not given a convar
Added FindModelByValue
Added SelectModel
Fixed Lua errors when loading a save that had tools that no longer exist
Pull Request: game icons in game list in main menu
Updated HL1MP icon to match its Steam icon
Display the command that is not bound in Hints, when no key is bound for it
Pull Request: "SAM" support for TTT bans
Update .gitignore
Pull Request: util.Timer additions
TIMER:Start() default first argument to 0
Added TIMER:GetElaspedTime()
game.CleanUpMap() clientside now clears beams and temp ents
Fix VBSP being unable to find sub instances in subfolders
Prevent crashes with wireframe model rendering and high vert models
Particle system changes
Added:
Set child control points from particle positions - set orientation
Set control points from particle positions
Set per child control point from particle position
Remap Distance Between Two Control Points to Scalar - output is scalar of current value
Remap Distance Between Two Control Points to CP
Remap Percentage Between Two Control Points to Scalar
Remap Percentage Between Two Control Points to Vector
Set Control Point To Player - Use Eye Orientation
Set CP Offset to CP Percentage Between Two Control Points
Cull when crossing sphere
Fix some compile warnings (Hammer)
Ported even more particle operators from CS:GO
C_OP_SetControlPointToImpactPoint
C_OP_RemapSpeed
C_OP_RemapCPtoVector
C_OP_RemapBoundingVolumetoCP
C_OP_RemapVelocityToVector
C_OP_RemapCPVelocityToVector
C_OP_RemapAverageScalarValuetoCP
C_OP_RampScalarLinear
C_OP_RampScalarSpline
C_OP_RampScalarSplineSimple
C_OP_RampScalarLinearSimple
C_OP_NormalLock
C_OP_SetControlPointRotation
C_OP_SetCPOrientationToDirection
C_OP_LerpVector
C_OP_LerpScalar
More csgo particle operators
C_OP_RemapControlPointDirectionToVector
C_OP_NormalizeVector
C_OP_RotateVector
C_OP_ClampScalar
C_OP_ClampVector
C_OP_InheritFromParentParticles
New CS:GO particle initializers
C_INIT_OffsetVectorToVector
C_INIT_RemapSpeedToScalar
C_INIT_NormalAlignToCP
C_INIT_NormalOffset
C_INIT_SequenceFromCP
C_INIT_InheritFromParentParticles
C_INIT_RemapInitialDirectionToCPToVector
C_INIT_RemapInitialCPDirectionToRotation
implement particlefield_rotation selector for PET
Fixed Entity:ManipulateBoneJiggle type `2` non functioning
Restore some more HL2-specific gamerules behaviors
sk_plr_health_drop_time
sk_plr_grenade_drop_time
sv_robust_explosions
Entities that block radius damage, don't block it on themselves
Do not hide servers with OOB data, clamp the data
Do not hide the server from master server if sv_lan is 1
This causes LAN servers to be invisible to the LAN tab in the server browser, which is a regression.
Mention `hide_server` convar in sv_lan's description.
Fixed a Linux crash with sv_showlagcompensation (hopefully, most likely)