160,096 Commits over 4,566 Days - 1.46cph!
▄▉ ▆▊▅▄▊▇▌ ▋▊▇▄▊▄▍▊▋▆▊ ▍█▅█▉▉ ▅▅ ▋▆▇▅ ▄▆█▇▊▋▅ ▄▋▋▄▄▍▅ ▊▉ ▍▊▄▇▍ ▍▆ ▉▇▌ ▅▊▍▉ ▉▉▇ ▉▇▌ ▅▊▇▍▊▅▌▆▇▅ ▉█▍▊▆ ▄▆▄ ▆▄▍▌▄ ▌▉█▄ ▆▅█▊ █▋▋ ▇▆▆ ▄▊▋▄▍
merge from optimize_decay_frame_budget -> main
merge from softcore_disable_corpses -> main
Merge from npc_phone_debug_fix
Fix convar for accessing test NPC phone conversations
set up tattoo gun prefabs/anims in tools folder
More merge fixes
- Codegen
Disable deployable corpse system in softcore
Increase max TCs in softcore from 3 -> 6
- fix "changelog" in main menu not reflecting the max TC count when convar is changed
Removed the fail-safe that disables shadows for lights with an AmbientLightLOD component on awake as the components have been set up wrong for a lot of lights, meaning this just causes more issues
Fix entering play mode trying to change generate biome/place monument settings
simple_creator_v2 -> main
main -> character_customisation (breaking)
Added new locomotion and vocal sounds to the Seagull anims
New cleaned up simple map creator to replace the overengineered rubbish before
- Create maps with certain monuments
- Create maps with certain biomes
- Force spawn one specific monument
- Force spawn in specific biomes
Merge: from websocket_merge_write
- Optim: reduce rustrelay tcp packet overhead
Tests: booted local relay server, didn't see errors during streaming
Optim: websocket-sharp - merge header and payloiad into one write
- release dll from 8d89ba4 commit
This time on correct branch
Tests: booted local relay server, didn't see errors during streaming
reduced SenseComponent overhead by about half
- only gather eye information once per tick rather than per entity
- reduced redundant calls into CanTarget
Optim: websocket-sharp - merge header and payloiad into one write
- release dll from 8d89ba4 commit
Tests: booted local relay server, didn't see errors during streaming
adding blink animations to all customizer anims
Commit some texture .meta that keep popping up
Fixed the additive billboard shader rendering when using an orthographic projection
scrap king - updated stair blocks and colliders
setting up rifle viewmodel prefab/anims
Reword and invert the inventory/crafting dpad convar and UI description so it's not confusing as fuck
Make surface.DrawPoly throw an error when giving invalid data
* Specifically when giving it less than 3 verts
Stop ropes being invisible in specific mcore circumstance
* `r_queued_ropes 0; mat_queue_mode 2; gmod_mcore_test 1` is the exact scenario
Restore functionality of sk_auto_reload_time
* Requires gmod_suit set to 1. Value of 0 or below disables the feature.
Enable ALT+F4 closing the game
Make Get/SetNetworkAngles exist serverside for consistency
* Also made these functions check for reasonable values
Apply that getmetatable() LuaJIT fix someone wanted
Handle context menu errors when "originator" panel is removed
Fixed engine.LightStyle only updating static props once (Community Cont)
Remove some map compile tool parameters
* `-novconfig` - was non functional basically
* `-vproject` - same as `-game`, irrelevant for GMod
* `-x360`, `-nox360` - never existed
* `-xbox` - Same as `-nodrawtriggers` + one other pointless option
* Moved `-tmpout` from VVIS (doesn't exist) to VBSP (exists)
* VBSP's `-virtualdispphysics` - never worked/doesn't exist
* Document some undocumented VBSP params (Already documented on VDC, so nothing new)
Added -noTJuncsDetail to VBSP from TF2
Apply T-Junction limit softcap (Community Contribution)
* Apparently is now in TF2, prevents the compiler from just stopping
Bump MAX_MAP_TEXINFO to the new TF2 limit (16k>32k)
* The other changes are already in GMod
Other map compile tool related changes
* Remove redundant VRAD code + fix VRAD potentially adding new planes to the map
* Increase limit of detail sprites added by VBSP to its new TF2 limit (2mil=>2bil)
Make r_DrawBeams 2 affect sprite trails (to draw wireframe)
Block envmap and lightprobe commands from Lua
Replace usages of string.Explode with string.Split
Properly fix env_microphone missing closed captions
Make dedicated server workshop cleanup do it in correct folder
* Was cleaning cache/workshop/ while saving files to cache/srcds/
* This separation helps ME PERSONALLY when running dedicated servers from the client install
Fixed some dupes/saves/demos not loading
* Specifically when they only have a single tag - Dupe, Save OR Demo
Added more decompression self checks
* Removed FastLZ fallback decompression attempt from util.Decompress - I don't think anything out there can actually hit it. Oldest dupes/saves on the workshop already use LZMA. util.Compress used LZMA since 2014
Material reading fixes
Fix engine.CloseServer falsely claiming the server is shutting down
Update file.Read blocklist
* So it doesn't affect file and folder names in DATA path
Added 9 new combine related props from licensee repo
* Adjusted combine_booth_tall01b.vmt to be less extremely glossy
* Preview: https://files.facepunch.com/rubat/2026/October08-3304-MeanIrishsetter.jpg
Fixed missing material on that one CS:S prop and EP1 prop
Make "failed to dlopen" skips case insensitive
Update combine_booth_tall01b.vmt
* Include $normalmapalphaenvmapmask but still commented out, just so uncommenting it makes it work better should anyone choose to do so at some point
Fixed IN_MOVERIGHT/LEFT not activating from controller
Fixed false positive for "SeekPut overflow" message
Fixed Player:KeyDown in SP clientside not detecting controller move
Fixed SetNWVarProxy callback's old value being the new value
Make Entity:SetPos run trigger touch events
Probably fixed Linux not building
Fixed "is3DSkybox" variable not resetting when returning from hooks
Fixed some missing textures on Half-Life 2: Episode 2 props
Try to workaround Portal using same texture names as Ep2
Remove some unused libs from menu state
Use a different delimiter for "last map" saves
* One that can't naturally occur in filenames
Change network transfer folder blacklist into a whitelist
* Seems more logical to be this way
* Also removed .ain from extension whitelist, since it's a useless for the client format that is no longer automatically sent anyway
Try resolving a crash with recent change to Entity:SetPos
Merged Pull Requests
* Remove usage of a unnecessary Think hook in DOF post processing effect
* Updated a comment in SurfaceProperties.txt
Includes higher quality Eli Vance face texture from S1 repo
Fixed typo in cam.End2D underflow error message
▅▊▊▊▊▋▇▋▇▆▋▊▅▌▇▌▄▍▉▍▌█▌▅ ▉▇▊ ▇▌▅▌▄█ ▊▅ ▋▄▅ ▊█▍▋ ▅▅ ▋▇▍▉▍▉▍ ▌▊▉▄▊▋ █▅▇▅▍▌▅▇▊▆█ ▋▊▋▌▆▅ ▄▄▆▋▇▅█▅█▆▆▄█ ▍▊█▍ ▊▄▇▇▍▍▍▋▅ ▅█▋▇▋ ▄▉██▍ ▇▄▄ ▍▍▍▉▉▍ ▇▅▆▋▇▊▅ ▋▍▌▅▅ ▇▄▆▍ ▍ ▇▄█▅█▄▉ ▋▄▍ ▉▄█▇▇▇▄▇▍ ▍▊█▊▊▆▊▉ ▆▋▄ ▄▌▄▍▊ ▉▄▋▍ ▅▊▄ ▇▋▊▋██▌ ▋▆ ▊▇▄▇▌█ ▌▌ ▋█▆▍▍▌▋▄█▋▌▇▆█▌▆▊▅▌▍▉▆▄█▍▌▇█▍ ▊▋▄▅ ▌ ▅▊ ▇▄▇▍▍▊▍▋ ▄█▍▆█▋ ▊▋▉▌ ▇▉▇▌▍▅█▆ ▄▌▍ ▋▅█▆▅▌ ▉▋▍▄▌ ▆▇█ █▌▅ ▄▆▍▄▉▇▉ ▉▇ ▉▅ ▆█▋▊▅ ▌▆▇▉ ▍▇▍▅▍▊▌█ ▇▄█ █▆▇▆▌ ▍▌▆▌▌ ▊▋
▊▇▍█▆▍ ▍▆▆▌ ▍▍█▇▊▆▊▇▉▊▋▆▋▋█▊▌▋▉▇█▌▄
Merge from render_pipeline_testing
Added support for the scene view wireframe overlays in RRP
scrap king - block updates
▌ ▉▌▊▇▉ ▄▊▊▄█▋ ▉▊▉▅▅▆▆▉▍ ▄▉▆▅▇▊▊ ▄▌▊▇▌▇▆▅ █▊▆█▅▌ ▅▉▇▄▅▇▊▋▆▉ █▊▆ ▌▄▉▉▄▍▇▊ ▋█▄ ▍▅▇█▊▉▍▋█▅▌▍
merge from dynamiclod_parenting_fix
Fixed light occludees and LODs not being marked as dynamic when their entity is parented. Setting an entity dynamic only reached active children, so inactive renderers stayed static
Fixes lamps on player boats disappearing after moving away from where they were switched on
Submitting WIP work on random room small A to switch branches
Fixed the lighting on the confetti particles
merge from automated_testing
Removed TestMethodAsync, we use TestMethod for all test methods now
Building block tests checking the roof overhangs only block deployables
scrap king
- ramps gibs updated
Fixed lights switched on beyond their culling distance flashing at full brightness before turning off
merge from ambientlight_lod_fix