160,065 Commits over 4,566 Days - 1.46cph!
Add automated tests for placing foundations in rocks
▅ ██▄ ▍▄▄▄▊▊▇▆▌▉▇▆▋▉█▊▋▊▇▄▅▄█▍▉ ▅▇█▌ ▆▍▉▅▌ ▉▊▄▋▅▉ ▊▍ ▅ ▇▉▇▌▍█▅▄▉ ▅█▍▌▊ ▅ ██▇▌▇▊▉▌ ▄▌▄ ▌▉▍ █▌▇▆▍▄▇▆▆ ▇▄▊▅█▇ ▋▍▊▍ ▍▇▊▅▌▉ █▌▋ ▆ ▍▍▉▉▄▄▇▄▊▌▉▋▆ ▅▍ ▋▊▉ ▅█▇▌▇▌ ▊▊▋ ▊▉▋█▆ ▊▍▇██▅ ▄▇▍▋▇▌█▆▅█ ▆▄▌▍▊ ▆▍ ▅▉▋▍█▆ ▋█▍▇▇ ▅▆▌▉▆▉█▌▉▉ ▉▉█▇▉▇ ██▌▉▉▇▍▆ ▌▋▅ ▊▄▅▆ ▇█▄▄▌▊▊▋▇█ ▌▋ ▇▉ ▄▆▉▍▍▇▄▄ ▌▋ ▋ ▆▊▋▉█▌▌▇ ▇▆▅▇▇▊
tone down eye lid opening bounce
Changed "Client update required" kick message wording. Can be translated too
merge from skinviewer_waterpurifier_fix
merge from tattoos/art_pass
Fixed water purifier showing its viewmodel in the skin viewer (its using the old deployer still)
Play eye movement and blinks from the customiser anims
- updated blink anims
- each clip's mask is the v4RustPlayerMask bones plus l_eye, r_eye, l_eyelid, r_eyelid
- UI_CharacterPreview - removes the procedural eye look-at and blink in the preview
- PlayerModel.ApplyHeadEyePositions - the preview re-applies each head's eye positions after the animation, to fix eyeballs sinking into skull
- self contained eye code changes in the customiser, In-game eye behaviour is unchanged
merge from main -> ugc_censor_option
merge from main -> fix_foundation_clipping_rocks
apply tattoo material properties to viewmodel material
Update viewmodel arms with UV1 that matches the body UV1
adjust hands.male bounds so they don't disappear in the tattoo tpose
- Use idle breathing instead of regular idles when up close.
- Dont use idle 2 and 7
Remove the temporary pivots used for positioning, calculate it all instead.
Removes some unecessary gameobjects.
Fix a couple of minor display bugs too.
Add support to be able to skip certain clips when zoomed in on the head so we can bypass larger head movements when zoomed right in
▄▉ ▆▊▅▄▊▇▌ ▋▊▇▄▊▄▍▊▋▆▊ ▍█▅█▉▉ ▅▅ ▋▆▇▅ ▄▆█▇▊▋▅ ▄▋▋▄▄▍▅ ▊▉ ▍▊▄▇▍ ▍▆ ▉▇▌ ▅▊▍▉ ▉▉▇ ▉▇▌ ▅▊▇▍▊▅▌▆▇▅ ▉█▍▊▆ ▄▆▄ ▆▄▍▌▄ ▌▉█▄ ▆▅█▊ █▋▋ ▇▆▆ ▄▊▋▄▍
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
▅▊▊▊▊▋▇▋▇▆▋▊▅▌▇▌▄▍▉▍▌█▌▅ ▉▇▊ ▇▌▅▌▄█ ▊▅ ▋▄▅ ▊█▍▋ ▅▅ ▋▇▍▉▍▉▍ ▌▊▉▄▊▋ █▅▇▅▍▌▅▇▊▆█ ▋▊▋▌▆▅ ▄▄▆▋▇▅█▅█▆▆▄█ ▍▊█▍ ▊▄▇▇▍▍▍▋▅ ▅█▋▇▋ ▄▉██▍ ▇▄▄ ▍▍▍▉▉▍ ▇▅▆▋▇▊▅ ▋▍▌▅▅ ▇▄▆▍ ▍ ▇▄█▅█▄▉ ▋▄▍ ▉▄█▇▇▇▄▇▍ ▍▊█▊▊▆▊▉ ▆▋▄ ▄▌▄▍▊ ▉▄▋▍ ▅▊▄ ▇▋▊▋██▌ ▋▆ ▊▇▄▇▌█ ▌▌ ▋█▆▍▍▌▋▄█▋▌▇▆█▌▆▊▅▌▍▉▆▄█▍▌▇█▍ ▊▋▄▅ ▌ ▅▊ ▇▄▇▍▍▊▍▋ ▄█▍▆█▋ ▊▋▉▌ ▇▉▇▌▍▅█▆ ▄▌▍ ▋▅█▆▅▌ ▉▋▍▄▌ ▆▇█ █▌▅ ▄▆▍▄▉▇▉ ▉▇ ▉▅ ▆█▋▊▅ ▌▆▇▉ ▍▇▍▅▍▊▌█ ▇▄█ █▆▇▆▌ ▍▌▆▌▌ ▊▋