159,030 Commits over 4,566 Days - 1.45cph!
Wallpaper health was included with every building block, even those without wallpaper
Saves 10 B per building block
Optimize LookAtPlant and LookAtPlanter, only rebuild if data changed
Stop muzzle flash light casting any shadows past 60 meters cause it's wasteful
Added MaxShadowDistance to LightLOD, default 0 so existing lights aren't changed
Fix head jitter when playing turn in place anims
Pack the tree billboard lists sent to joining players
Each cell now sends its prefabs once, ids as deltas from the previous tree and positions as raw halves instead of a nested message per tree
~30 -> ~16 bytes per tree, roughly 1.8 MB -> 0.9 MB per player join on a full map
▍ ▄▍▉▆▌ ▌██▉ ▊▌▍▉▇▉▋█▌▍▉▄▄▅▌▇█▄▌▍▌▇
▋ ▆▋▇▉▊▅█ ▊▇▆▆▋█▅▋▆ ▊▊▉ ▋▊▄▄▇▉▆▆ ▅▄ ▊▌▍▋ ▍▇ ▉▉█▇▄▅▆▉ ▌▅▄▇█ ▇▋▄ ▍▉▇ ▅▆▋▄▄▇▌▇▉ ▋█▆▄▉▌▆▊▆▆▉ ▊█▉▅▆▉ ▌▌▋▇ ▉ ▌▇▇ ▋▄▋▉▇▄
Reviewed the 3P gun effects we spawn for distant shots:
- Muzzle particles don't emit past 60m anymore, you only get the muzzle light and the sound
- Shells aren't spawned past 15m
Unchanged when using scopes and binoculars, the distances are stretched based on zoom scale
Item icon, delete some unused uzi fbx files at the root of the assets folder
merge from snowmobile_wheel_fix
Fixed snowmobile wheels jittering at standstill due to physics noise
Before: https://files.facepunch.com/raul/2026/October/13_14-12-FrailCobra.mp4
After: https://files.facepunch.com/raul/2026/October/13_14-14-RedBlacknorwegianelkhound.mp4
Send animal look direction in an RPC rather than with SendNetworkUpdate
Animals with look animators were running network updates crazy often rather than just sending the look over
This was especially bad with cows, wolfs, sheep and bulls
Worst offender is cow at ~144 bytes per look update (network update).
~350 B/s per cow per player -> ~60 B/s
Set all the gun firing effects warmed up amount accordingly
Estimated +21MB vs main, still around -29MB overall after removing the 3900 useless thrown projectiles
Release pad run/crouch toggles when keyboard/mouse is used, so a pad latch can't carry into keyboard play
Stop SpaceLR and M15 mags sticking to the bone
Gun attack effects can now be recycled before their tail sound finishes, means we only have to warm up half the amount we'd need to
Skip the gamepad vehicle action set lookup when no Steam Input controller is active
Only send waterwheel network updates when its actually changed (at low speed)
Saves ~76 B per skipped update per nearby player
Clear potential stale gamepad inventory cursors in edit mode
Added replayInPlace to EffectRecycle, lets us flag effects that can be replayed in place instead of popping and retiring a pooled copy every time
Applied to AK first and 3rd person shell eject effects for now, ~0.13ms -> ~0.04ms per shot
Also means we'll only have to prewarm a handful of shell particle prefabs for all the guns
Adding dweller mace viewmodel rig
Use Facepunch.Steamworks GetPngAnalogActionGlyph for stick/trigger glyphs, remove the now unnecessary hacky workaround
Fix motion vector pass being culled when ocean is present
Merge from main (actually latest this time)
Updating tattoo rig with updated mesh
Merge from main, and fix MapInterface marker conflict
Merge from render_pipeline_testing
Merge from render_pipeline_testing
Merge from fp_sw_glyph_fixes
Update Facepunch.Steamworks: fix Steam Input glyph origin buffer overflow, add GetPngAnalogActionGlyph, cache action set handles
Forward jump down animations for cow and sheep
Updating flail viewmodel rig
Rebind rendertarget to camera target after rendergraph and move SetupCameraProperties back
Handmade SMG damage Increased 20 > 21
▄▆▄▆▅█▋▍ ▉▋▆ ▍▉▇▅█▅▊ ▉█▍▄▇ ▆▍ ▉▇ █▆█ ▌▋▇▆▅▇▄▅▄▄ ▋▌▉▉▋ ▍▍ ▊▅▋▌ ▌▍█▆ ▄▍▌ ▇▉▅▇▊▄▌█ ▊▇▅▌▇▍▊█▊▅█▋▉▍▊▊▆▉ ▊▄▌ ▌▍▅▇▅▋▉ ▍█ ▅▉▊▇▆▊█▆▇▌▆█▋▅▉▅▇▇▍█▄▅█▌▉▋▇▄▉▆▆▅▉▆▍▍▄▅▋▄▅ ▍▆▋▋▇▄▋▉▅ ▌▇▉█▇▄▄▌ ▋▉▆█▋▄▊▅▌ ▉▆▊▅▅▊▌▆▅ ▌▊▄▆▊▊█▇ █▌▉ ▄▍▌▌▆█▅▋
Merge from car_spawning_prefill
Round up the amount of filled slots, so a 5 slot engine gets 3 prefilled instead of 2