159,084 Commits over 4,566 Days - 1.45cph!

Yesterday
scrap king building skin steam item setup
Yesterday
Add support for major/minor revision bumping. Update all gamepad configs with this data. Update validation to always check/catch chamges.
Yesterday
Fix all skinned items allocating on every inventory update when getting their icon sprite
Yesterday
Attack/AttackAlt are now Button actions on the triggers' soft pull so players can rebind fire/aim to any button (per Valve guidance). Update all action sets/configs to match,
Yesterday
Improve DImage shader replacement system * Uses case insensitive check for VertexLitGeneric, includes LightmappedGeneric now * Handles SubRect shader materials by drawing the correct part of the texture Try to have Paint tool UI with previews * https://files.facepunch.com/rubat/2026/October13-3318-SecondhandWoodborer.png
Yesterday
merge from main
Yesterday
Stop any rumble in Deactivate
Yesterday
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
Yesterday
▆ ▋ ▆█▍▄▋ ▇▋▅▆ ▌▋▇▍▇ ▊▅▅ █▍▅▌ ▇▍▄▌▄▋▌ ▅▊▆▉▇▇█ ▇▌▉▅▋ ▊█▇▆▆▆ ▇▄▊▍▉▍▄ ▅▍▌ █▌▆▊▊▍▄▊▊ ▅▍▊▍▇▇ ▉▇ ▆▉█ ▄▋▌▊ ▊▋▅▆▅▆▉▆█ ▉▍▍▇█ ▄▊▇▊▉ ▄▆▊▄ ▇▉▍▊▋▊█▌▊▄▊▄▍▋▋██ ▉▋▆▇
Yesterday
▆ ▉█▉▅▉ ▍▇▆▊ ▇▋▍▆ ▅▌▍▊▄▍█ ▅ ▅▍▊██▉▊▉ ▊▊▊█ ▍▅▄▊ ▅▇▄ ▉▇▍▅ ▊ ▌▅▍█ ▅▅ ▉▅▆▄██▍▊ ▅▇▋▊▄
Yesterday
merge from render_pipeline_testing
Yesterday
remove the Rust Render Pipeline text when RRP is enabled, instead show Built-In Render Pipeline when RRP is disabled
Yesterday
Try/catch the gamepad update loop, disable on any error errors.
Yesterday
Fixed quick craft spending ~1.6ms rebuilding after almost every shot (inventory update) Only rebuilds when the inventory is open now
Yesterday
fix stale frame on subsystems without fade in, fix flare not having a predict release event, remove fade in on flare subsystem to fix weird flipping artifact on flare
Yesterday
merge from cache_entity_links -> main
Yesterday
Update comment
Yesterday
merge from automated_testing
Yesterday
Get rid of some debug logs spamming related to halloween dungeon spawning
Yesterday
Re-add the "Restoring X/100,000 links" for cases where the cache links aren't used
Yesterday
merge from render_pipeline_testing
Yesterday
fix RRP drawing ocean after water bodies
Yesterday
Halloween stringlights Improve deployment, stop clipping, fix groundwatch, reduce network range, remove snapping All tests pass
Yesterday
Pool 3 copies of thrown melee weapon and tool projectiles instead of 100. No point in filling our pool with 3900 copies you'll rarely see more than 3 of at the same time Saves around 50MB of memory and gives me some leeway to eat that with gun effects next
Yesterday
▍ ▌▇▉▆▋ ▅▌▅▉▄▍▆ ▅▄▆▅▆ ▅▅▄▄ ▉█ ▇▆▄▄█ ▄█▍▇▊█▋ ▋▅ █▉▋██▆▋▊▊ ▊▋▅▇▆▊█▊▍▇▍ ▅▍▊▄ ▇▅▄ ▅▊▊▊ ▇█▍ ▋▊ █▊▊▇▊▋ ▊▇▇▇▊▆▆ ▌▄▉█▌ ▍▉▌ ▊▅▇▅▊▍▄▄▇▊▇█ ▄▄▍ ▆▍▇█▇ ▇▊▍ █▋▌▋ ▊▅▍▊ ▄▆▋▋█ ▇▅▍▋▊▇▍▋▇▋▆
Yesterday
Pass `serverStartup` parameter into RestoringLoadedEntityLinks() so we don't call RCON.Update() when pasting with copypaste - probably harmless but it bugged me
Yesterday
Increase stick move distance required to activate gamepad
Yesterday
merge from cache_ocean_path -> main
Yesterday
Codegen
Yesterday
Optimize server startup time by caching the ocean patrol path on disk (158s -> 138s) - same idea as server occlusion grid being saved - can increase version number to regenerate next restart - convar `regenerate_ocean_path` will cause it to regenerate it next startup too
Yesterday
Codegen
Yesterday
Remove three unused floats (skincol, skintex, skinmesh) from all player net messages that havent been used since 2016 Defaults were set to -1 so included in the proto Saves 17 bytes per player
Yesterday
merge from main
Yesterday
Prewarm 5 copies of each ricochet effect instead of 1, first magazine dumped after connecting created up to 2 more per prefab at ~0.5ms each
Yesterday
Stop networking IO wire origin data and duplicate slack levels to clients Saves ~34 B per wired slot + ~5 B per wire point on network load
Yesterday
Fix flame turret sending two updates per trigger change instead of one Saves 60 B~ per nearby player each time the turret turns on or off
Yesterday
Update test list
Yesterday
Stop water purifier sending two unchanged network updates per boil tick 30 B/s~ per nearby player
Yesterday
Dont send environment rainGraceStartTicks (only used on the server) Sends every 5 seconds. 54 → 44 B per update, so saves 10 B~ every per player every 5s
Yesterday
Door.SetOpen no longer sends a full network update when the door is already in the requested state (door closers re-close shut doors 3 s after every open/close cycle) Saves ~76 B per nearby player per call
Yesterday
merge from main -> cache_entity_links
Yesterday
Only send search light network updates when aim/flags change rather than per tick when mounted
Yesterday
▄ ▉▄▉▆▄ ▇▋▍▄ ▄▅▇▆▊▍█▅▄▌█▋█▋▆▆▍▄▌▅▍▌█▉▋▌▍▉
Yesterday
█▆▇▇▌▅ ▌▆▌▊ ▇█▋▋▍▇▄▉▄█▇▉▇█▅▉▄█▊▇▊▉▄▉█▌▅▌
Yesterday
merge from optimize_duplicate_player_check -> main
Yesterday
▍ ▇▆▋ █ ▉▉▋█▉▅ ▄▊▅▌█ ▋▋▍▇▍▋▌▇▌ ▊█▉▋ ▍▉▋▌█▇▋▊▋▊█ ▇▊ ▅▄▉▅▍▍▆▄▄▉ ▅▄▇▅▉▌▌▋▄ ▍▍ █▄▇ ▆▅▋▅▌▄▅█▍▆ ▊▌▌▋▊▉▇▋▍▍▊ ▋▄▆▅ ▋▍ ▌██ ▋▊▍▅▍▌▅▄▅▄█▋▅▅▉▋▄▅▅ █▉ ▅▉▄▋█▄▉ ▄▄▄ ▆▄█▉▄▌ ▊▌▌ ▇▆▉▍▉▍ ▊▍▋▇▋▌
Yesterday
Dont send travelling vendor map marker updates 20 frames a second Saves 160 bytes per network tick when the vendor is out
Yesterday
merge from optimize_enforce_limits -> main
Yesterday
Create the pools LaunchProjectileClientside uses at bootstrap instead of on the first shot, avoids a ~365KB alloc when the first projectile of the session is fired
Yesterday
Remove old mortar prototype code Means we can remove an mortarCooldown float with every BasePlayer update Saves 6 bytes per player update