branchgarrysmod.main/maincancel
681 Commits over 823 Days - 0.03cph!
Fixed crashes with npc_portal_turret_floor
Bump .exe versions
Updated language files
Undo flexcontroller changes to see if they cause the crashes
Limit flex counts to 1k to avoid crashing
There will be a warning when the limit is hit now.
Fix compile error on Windows
Fixed a whole bunch of potential crashes with NPCs in multiplayer when there are no players
3rd argument to NetworkIDValidated - ownerID64
Try to make Linux happy
This should do it
Compile warning fixes
Fixed crash with trigger_weapon_strip
Fixed faceposer breaking after 384 different flex names were loaded in a session
Now there should be no limit, and it doesn't preallocate 384 pointers.
Compile warning fixes & add some missing .h files to the solution
Rework flex controller limit fix to hopefully not crash for that 1 server
Restore ENT.PhysicsSolidMask but this time with less crashing
Rollback ENT.PhysicsSolidMask for now
Fix clients getting stuck during loading after changelevel
Experimental: Do not close srcds on modelprecache overflow, just use error models
Added prop_disable_distance_fade convar (cheat)
If set to 1, disables prop fading out with distance set by the map, including static props and other entities. Useful for taking screenshots.
Added ENT.PhysicsSolidMask to anim/ai/nextbot SENTs
If unset, uses default value
New TF2 map icons
Fix compile error from merge again
Fixed GMod force-adding "English (US)" keyboard layout
Make "English (Europe)" not an unknown language
Also add internal ID to unknown languages
Added -disablehttp command line parameter
Disables HTTP global function (http.Fetch/Post use that)
Fixed GMod now removing English US keyboard layout
Use Windows API to get keyboard layout names when not in our list
-disablehttp also blocks Panel:OpenURL and sound.PlayURL
http.Fetch/Post calls onFailure callback if HTTP() returns false
Fix RichText InsertColorChange to black not working when its the first color change
RichText uses localized string for Copy conext menu option
Also fixed Text Entry Copy/Cut context menu buttons not being disabled when they should be
&& => ||
Check if onfailure exists in http.Fetch/Post
Fixed crazy mouse acceleration values completely breaking player view
Also limited some of the cvars to sane values, m_customaccel_max and m_customaccel_exponent specifically
Added ficool2's VRAD ambient occlusion implementation
Adds the following new parameters:
-aofacesamples
-aopropsamples
-aoNoSquare
See vrad.exe help for defaults/explanations
Fix errors with singular static prop causing VRAD to bail for all remaining
Unhide sv_stressbots and make it a cheat
Reduce max allowed voice packets per frame to 48 (from 64)
Include map name in map related disconnect messages
Kick players who send impossible voice packet sizes
Added sv_signon_dos_disconnect from CS:GO
Even more compile warning fixes
MORE warning fixes
Display a warning message when main menu is blocked too many times
A message about how to bypass the block
Fixup gamemode hook calling code for consistency
Also hopefully prevent a a case of cryptic "trying to call <type>" errors.
Also fixes crashes due to Lua panics
Added GM:OnPauseMenuShow
This is meant to replace other methods of hiding the mainmenu (which will be disabled at some point). Return false to prevent main menu from showing for that key press.
The user can hold SHIFT to bypass this hook at any time, in case the server/addon has malicious intent of not allowing the player access the main menu.
Panel:GetFont works for RichText
Hammer builds on newer C++ Windows toolset
Limit GM:OnPauseMenuShow to ESC key
Fixed Linux/Mac compile error due to usage of variable name "default"
Fixed some compile warnings
Fix compile error
Remove PhysObj.MakeShadow
Entity:MakePhysicsObjectAShadow exists
Fix ContentHeader colors
Disable -textmode
Fix compile error
Merge hlmv crash fixes from CS:GO
Related to high poly models and the debug rendering modes
Fix? flex bone drivers in-game
Made the flex bone driver code mimic the code from HLMV, which basically includes special case for BONE_USED_BY_BONE_MERGE
Added a new option to HLMV Flex tab for $boneflexdriver preview
It will move Flex sliders live as the animation plays
Try to fix GitHub screwing us over
Fix player angles serverside while in vehicle not matching client
Also fixed GetPassengerSeatPoint returning wrong values for vehicles without ACT_IDLE, such as the chair models, now will select first sequence.
point_viewcontrol only gives invincibility if it freezes the player
Fixed water for leaking to the world due to resetting clipping on disconnect
garrysmod-issues/issues/5925
Fixed crashes when getting ammo type name of invalid ammo
Update icon for ep2_outland_06a to actually represent what it is
HL2 map categories are done by name
garrysmod/pull/2091
Improve map NPC name detection further
util.StringToType supports "boolean" and "number" types
Added player_manager.GetPlayerClassTable (Community Contribution)
Added missing outputs to func_healthcharger in the .fgd
Also remove duplicate ClearAllOutputs from the FGD
Make SWEP:Think not run before NextAttack in singleplayer
This mimics SWEP:Think's behavior in multiplayer.
Call TOOL:Holster and Deploy when switching tools clientside
This was done when using gmod_tool serverside only, it is now done when gmod_toolmode changes both clientside and shared.
Added 2nd return value to GM:CanArmDupe hook (Community Contribution)
Fix util.StringToType "int" erroring with invalid inputs
Hopefully fix compile error
Gamemode cvars: Added "replicate" field
If set to 0, removes REPLICATED flag from gamemode cvars
Use this for sandbox cvars that don't actually need replicating, such as sbox_weapons
Fixed util.DecalMaterial to actually work
TTT: Updated localization files (Community Contribution)
Fixed vrad not writing light flags to the BSP
Fixes "Cast entity shadows" option in Hammer to not working.
Also added info to the hammer option about how to properly make it work.
Fixed DNumSlider reset to default via MMB not functioning correctly
Entity.GetBodyGroups returns "empty" for submodels with no meshes
Added Entity.GetFlexType ( id ) = string
Returns model defined flex controller "type" or the group
Added Color:Lerp( target, frac )
Small changes
* Fix DForm description
* DNumSlider.SetEnabled also affects its DLabel
* Finger poser and Faceposer correctly rebuilds UI on loss of entity
* DLabel.SetDark disables SetBright, and vice versa
* DLabel.SetHighlight always overrides SetDark AND SetBright
Added string.NiceName & use it for bodygroup names
It converts "names_likeThis" to "Names like This". There have been multiple implementation in the base game, which are not all using the same function.
IMaterial:GetColor returns an actual Color
Disabled DLabel has faded out colors
Fixed file.AsyncRead erroring after Lua shutdown
Faceposer flex groups
The groups are defined by the models themselves.
https://files.facepunch.com/rubat/2024/June28-263-UnwittingEthiopianwolf.jpg
Fixed nextbot deaths counting twice for npc_maker
Restore game_text rendering same text channel multiple time
Block "Miscellaneous Symbols and Arrows" unicode block in server browser
Free font materials & textures on disconnect
Change default of gmod_uncache_test to -2
I need to verify the changelevel crashes are caused by this.
Fix game_text crashes
fix compile error
Move "Model X has mismatching model version" to -verbose (vbsp.exe)
Temporarily partially disable "CBoneAccessor invalid bone id" warnings
For cases with error models
Move "Invalid model scale" warning to PhysObj creation
Fixed warnings about bone access on player death
Fixed case where particle materials would end up with artificial refcount
Free font textures/materials when registering new fonts
This would mean running CreateFont in a render hook no longer fills video memory, and font textures/materials are freed on disconnect properly, no longer accumulating.
Bump severity of mat_hdr_level problem (HDR being disabled)
debug_dump: Separate Lua and non-Lua cvars
Block voice_overdrivefadetime
Add light pos to some vrad warnings
* light has _fifty_percent_distance of X but _zero_percent_distance of Y
* can't solve quadratic for light X Y
Fixed crashes relating to Entity.FollowBone
Entity.FollowBone, SetAttachment and SetParent will throw errors when given absolutely invalid attachment/bone IDs (i.e. less than 0, or above 255)
Add more info to "gamemode is not a table" error
Rework how movement is disabled when player is dead with movetype_walk
Block all .log files
Destroy font texture IDs on frame start, not during rendering
Block file access to ChromiumCache, whatever that is
Fixed a crash when an NPC sees more than 255 enemies
Fixed some more compile warnings
Bump game_text max duration to 1 hour
Block scriptenforcer.net as it's being abused now
Default "skill" to 2 (normal)
Fixed a crash to do with soundscapes after map cleanup
Fix "skill" cvar affecting non NPC damage to player
Merge scripts/talker/* with episodes
Fixed gamemode resetting after playing and leaving Sandbox, and starting a new server on a different gamemode
Let's try adding a Discord webhook on build finish
Move notification step to deploy job, propagate to other branches as well
Gravity Gun doesn't delete Physics Objects it didn't create
Give debug name to physics objects created via Lua & models scaling
For Lua functions, will be the function name that created it, for scaled physics objects - model name + scale
Fixed NPCs spawning sprites sometimes causing artificial refs on the material
Hammer support for sent_ball
To serve as another example of Lua entity in Hammer
Apply the fix for NPC death animation blending
garrysmod-issues/issues/5891
Do not precache particle materials on the server (game.AddParticles)
Allows particle materials to reach 0 refcount on disconnect from singleplayer, and also makes no sense to precache particle materials serverside anyway.
Show "Unknown Addon #X" as invalid in addons menu
So there's no confusion why they don't appear in-game.
Make sure to restore gamemode on server disconnect to what it was
file.Remove returns success
Potential fix for a sound DSP crash
Prevent NPCs complaining about sequence -1
This could happen when a combine solider has no gun and tries to chase the player.
Fixed NPCs complaining about bone access on death
HL2 model changes
* Moved stalker model to overrides/, next to other override models
* Include EP2 combine mine model, so its skins appear on that EP2 map
* Include EP1 ceiling turret model so it functions correctly when dry firing
Fixed "skill" no doing anything for HL2 content
Also enable Alyx darkness mode
Correct AIClassText for some CLASS_ enums
Also block "skill" from being modified by Lua ( game.SetSkillLevel exists)
Disable .sw.vtx generation in studiomdl.exe
Also made the program work out of the box without specifying `-nop4`.
Minor changes
Fix NPC death poses (Thanks MapBase)
garrysmod-issues/issues/5361
Enabled a bunch more episodic behaviors
Most of it is locked away behind hl2_episodic, most of it is relating to Alyx Darkness mode stuff
Replace default cubemap texture with the one VBSP generates by default
This affects maps that are renamed after compilation
Fix CmdSeq.wc being broken on local builds
Fixed Ceiling Turret trying to play non existent sounds on dry fire
Was spamming warnings in console
Fixed Alyx not being blinded by flashlight in Episode 1
More episodic behaviors, for Zombies and Headcrabs
Fixed Alyx still following the player in darkness mode without flashlight
Fix Alyx's darkness breathing breaking other voice lines
Remount subbed addons if we unmounted server addons
In case some file(s) were overwritten by server addons, which are now gone
Clean up rope materials on disconnect, not game shutdown
Allows rope materials to reach 0 refcounts
Fixed intro screen material not being freed
Also fixed __error material getting an extra forever refcount
Also fixed __loading and __background getting forever refcounts
Fixed certain sprites (such as physgun beam) being forever referenced if drawn
Fix potential division by 0 when parsing MP3 files
Fix potential division by 0 when parsing MP3 files
Actually apply the fix for division by 0 :pensive:
Add reason to "Unmounting addon X" message
Attempt to fix weird Linux filesystem crash
Retouch material/model uncaching
Making sure it doesn't happen when mcore is turnedon/allowed
Resolved case sensitivity issues with lua_refresh_file
Change up GetPhysicsObjectNum warnings with more info
Rework game_text rendering clientside to allow for 256 channels (from 6)
Also limit hold time to 0-300 seconds.
Allow 3 separate number inputs to certain mesh.* functions
mesh.Position
mesh.Normal
mesh.TangentS
mesh.TangentT
Only allow dx80/dx90.vtx files in gmpublisher
Fixed materials with matproxies sometimes getting permanent artificial refcount
Do not unmount server .GMA file for now
Use network origin/angles for clientside physics objects
Fixed legacy workshop addons sometimes not extracting correctly
This would happen on download, potentially after messing about with Steam files
SetAvoidPlayers ignores noclipping players
Resolve model materials going into negative refcounts
This is a specific case where error models are "hotloaded" into non error models.
Block cl_playerspraydisable
Fixed util.GetModelMeshes leaking model refcounts
Fixed sprites causing material refcounts going negative
Similar case to models - sprite materials becoming available after precaching as error
Minor changes
Fixed Lua particles leaking material refcount
This is fixed by precaching the material just before it is used
Restore unmounting of server workshop addons
Can be still disabled with `gmod_uncache_test -1` for testing purposes.
Added gmod_uncache_test (defaults ON) for the new attempt at content unloading
This probably doesn't matter: Move changes to CLuaObject to the bottom
Fix even more potential crashes with NPCs driving vehicles
Forgot this file for gmod_uncache_test
Fixed whereis sometimes not finding the culprit workshop addon
Fixed unmounting GMAs leaving behind empty folders internally
Block path concommand
Minor cleanups
Try to encourage models to be unloaded on disconnect
Fixed RegisterMetaTable still creating a new table
Temp hack for vgui.GetAll when it doesnt exist
Added temp polyfill for RegisterMetaTable
Improve server-only scaled physics prop trace hit detection
Do not PurgeUnusedModels before mounting BSP content
Properly fix modelscale bounds - they were doubled from scaling PhysObjs
Release materials created by surface.GetTextureID clientside
Hopefully the clientside-only part solves issues people had when destroying these textureIDs
Prevent "unknown material" spam on disconnect due to recent changes
Fixed Entity:SetModel and util.PrecacheModel leaking mdl refcounts
Fix FollowBone not working correctly again
Fixed a bunch of possible crashes with Vehicles pre-spawn
Afternative fix for timers during timing out
Alternative fix for Entity:FollowBone
Fixed UnmountServerAddons not working without gmod_unload_test
Change where clientside think is called from
This does NOT affect the Think/Tick hooks clientside, but DOES affect the following Lua systems:
* timers
* HTTP requests
* async file reads
* net messages
Ideally there should be no noticeable changes, but these systems will now run correctly when not receiving pakcets from the server.
Fix filesystem not being able to seek above 2GB in a file
Error out and do not mount addons over 4GB
Everything under should work with previous commit.
Block servers from modifying fov_desired
Warning on model scales of 0 or below
Fixed gibs clientside not initializing their scale to 1
Fixed crashes when certain models are spawning gibs
Models from other games that may reference non existent gib types
Fixed logic_collision_pair not really working at all when spawned by map
Improve kill feed NPC names for map spawned NPCs like rebels
Episode 1 intro fixes
Fixed crashes when point_template is used improperly
Delete duplicate build scripts that don't really work too well
Expose steamworks.GetList/FileInfo to serverside
Kleiner model with merged animations
Vortigaunt models with merged animations
Include Episode 2 floor turret models for its skins & gibs
Enable Episodic behaviors for vortigaunts
Make PhysObj:GetFrictionSnapshot start at index 1 again
▄▅▆▋▍▋ █▉ ▋▆▌ ▉▅▉▍▇ ▇▇▌▌▋ █▅ ██▋▍▋
Lets try exposing sound duration stuff to linux srcds
Fixed Entity:FollowBone not working with boneID 0.
Fixed SoundDuration returning wrong values for MP3 files
It was a sneaky bug in the MP3 parser
It's still an approximation, but it is very close now. (+/- 0.1s)
Also make it skip ID3v2 data
Fixed .wav SoundDuration being off by number of channels on srcds
Let's try not disabling SV_GetSoundDuration on srcds
Move certain "hexed" models to fallbacks VPK
Fixed env_zoom not working sometimes, and not undoing itself on removal
Include modified Alyx models that include animations from episodes
Get rid of "env_sprite is rendering non sprite material" warning
It's too spammy
Entity:Set/GetPoseParameter now can accept numbers instead of strings
Entity:GetPoseParameterRange can now accept string instead of a number
▉▆▄▄▆ █▅▌▄▌▇█▆ ▌▇ ▆█▄▊█▉▋▆██▉▍ ▉█ ▌▌██▇ ▊▅▉▌▄▄
!█▆▌ ▍▄▊▅▉ ▌▋▄▅▄▍▄ ▌▍▉▊▋ + ▉▉▇▅▍▌▄ ▍▆▆▊▊
▍▊▄▆ ▌▆█▋█ █▊▋▌ ▋██▇▋▅▄▆▇ ▉▌▌▋▄▅ ▊▆▆▊▅█▅ █▍▋▄▋.▅▌▆ ▄▍ ▊▇▆█ ▊▉█▄▊
▇▊▄▅█▅ \▆ ▆▅ ▅▅▄▊▇▉ ▍█▊▋█ ▌▇▄
env_screenoverlay SwitchOverlay forcing overlays on when the entity is disabled
Fix clicking a TextEntry sometimes setting invalid caret pos
Display an error in console when addon file list has failed to be read completely
Removing dead/redundant code from SENTs
sound.Generate now accepts table of samples, or direct binary data as a string
The table input should have float values from -1 to 1 (index starting with 1), and is about 4 times faster than using a function
string input must be raw 16bit sound data (each sample is a signed short), and is much faster than the 2 other methods.
EmitSound handles registered sounds a bit better clientside
You could, and still can add `.wav` to the end of the registered sounds to make them work with EmitSound, which is still useful for serverside, but clientside this is no longer necessary.
Added optional argument to sound.Generate - loopStart (sample ID)
Merge clientside and serverside physobj scaling code
Update button spawnicons to face the camera
mat_viewportscale tiny value Problem
Remove unintended label from HL2 spawnlist
Fixed stray "Other2" category name fallback in spawnmenu
Added PhysObj:MakeShadow( maxSpeed, maxAngSpeed )
This allows making any physics object a physics shadow, not just Entity:PhysicsInitShadow
Speed values of 0 or below mean do not allow movement.
Added RegisterMetaTable( name, table )
"anim" type SENTs move physics objects clientside for you
Hopefully this will not cause any issues
surface.PlaySound can accept soundscript names clientside
This will only translate the soundscript name to a file path, it will NOT affect ptich/volume, etc, since the function does not support that at all.
Fixed crashes due to recent changes to gib system
Let's try this again: unload unreferenced materials in more places
This is aimed at making sure content from maps is unloaded before content from another map is loaded
Fixed DMenuOptionCVar resetting from cvar too early in certain use cases
Gibs inherit model scale of scaled props
Change clientside physobj scale to trigger from Activate()
Fixed scaled props scaling collision bounds twice
Added CLuaInterface::RegisterMetaTable
Use a different place to set fallbacks for VolumeClouds shader
Added CNewParticleEffect.GetRenderBounds
Improve consistency of trace surfaceID returns clientside
This only relates to usages of PhysicsObject shadows
vcollide_wireframe - draw the actual physics object clientside if it exists
Test version of clientside model physics scaling
Fixed trackspeed only working after ReturnToEyes input (point_viewcontrol)
Remove file.AsyncRead from menu state entirely, since its broken anyway
Added new shader parameters to `Core` shader
$ENTITYORIGIN
$DIAMETER
(They are case insensitive)
Added $BASETEXTURESPEED,BASETEXTURE(2/3)SPEED for VolumeClouds shader
forgot this file for asyncread
concommand autocomplete tokenized arguments argument
Port hack for Portal 2 .wavs that are actually .mp3s
Remove Episode 2 exclusive soundscapes from gm_construct
Restore angle alignment stuff for +use pickup
Print games that are mounted to console (like folder addons) with developer 1
Traces now have "whitelist" input property
This will turn the table filter into a whitelist, rather than ignore list. This will NOT affect function() filters
Added "hitclientonly" option to trace functions clientside
Fixed Static/Dynamic/Physics not being correctly displayed in Hammer due to recent changes
Added new data to util.GetModelInfo
MeshCount, BoneCount, Flags, StaticProp (specific flag)
GMad.exe: On windows, pause on error when using drag'n'drop
Added NPC:GetArrivalSpeed / NPC:GetArrivalDistance
Restore HL2 use sounds with `gmod_suit 1`
Added ability for traces to use a table of class names as filter
They can be mixed and matched with entities as well.
Added Entity:GetBoneFollowers, new argument to Entity:CreateBoneFollowers
Entity:CreateBoneFollowers( table of bone names )
Throw errors when ColorToHSL/ColorToHSV/physenv.SetPerformanceSettings gets not a table
Bone follower support for AI and Nextbot SENTs
Added Entity:Dissolve( type = 0, magn = 0, orign = EntOrigin )
Added a 3rd argument for PathFollower:Chase - cost function
Added NPC:Set/GetStepHeight
Can build vphysics now
No 64bit builds though, not shipping actual builds
Added optional argument to NPC:StopMoving - immediate (defaults to true)
Create Build-GameProjectsPhysics.bat
Prevent invalid input to render.DrawWireframeSphere
Fixed a long freeze on disconnect from maps with huge nav meshes
Remaining spawnicons for HL2 props shipped with the game
HL2:Episode 1 spawnicons
FIxed Spawnicon Editor move speed not loading on open
EP2 Spawnicons
Updated spawnlists to include All HL2 base props shipped with the game
This took way longer than expected. Also added Episode 1 and 2 spawnlists if they are mounted.
More updated spawnicons
New spawnicon editor options
Move speed customization, FOV precise control, camera position copy/paste
SetCookieName support for DNumSlider, DCheckbox(Label)
Added DAdjustableModelPanel:Get/SetMovementScale
Spawnicons for HL2 models shipped with the game
Fix citadel pods not advancing their animation
force spawnlist file names to lower case