159,554 Commits over 4,566 Days - 1.46cph!

5 Days Ago
Fix guns with partial reloads (shotguns) not reloading all the bullets after switching ammo - example: 4 buckshot loaded, switch to slugs and it only reloads 4
5 Days Ago
Merge from SpiralStaircaseFix2
5 Days Ago
▋██▊▉▆ ▊▊▍▇ ▌█▉▉▆▍▄▍▅▇▄█▉▌▋▉▍▇▍▋▋▆
5 Days Ago
Merge from SeedExtraction
5 Days Ago
Merge from icon_render_legacy_bindpose_fix
5 Days Ago
Workshop skin textures no longer keep a copy in RAM Downloaded skin textures were left readable, nothing used that copy 98MB -> 0MB RAM with 22 skins loaded ingame
5 Days Ago
Animator hash
5 Days Ago
Added support for a base melee to forward signals to a world animator, enabled on shears
5 Days Ago
reapplied berry extraction, undid another change I accidentally included i
5 Days Ago
merge from fonts_optims
5 Days Ago
Added 'Extract' option on berries to get seeds without having to eat the berries. 1 berry gives 1 seed.
5 Days Ago
▉███▄▉ ▆▊▋▊ █▊▋▇▆▊▌▋▌▉▊▍▌▇▋▅▇▅▆▊▅▊▄▅▅▆
5 Days Ago
▇▅▌▋█▉▊▊ ▋▋▊ ▇▆▅▊▊█▋▊█▊ ▍█▉▄▄█▆▄ ▆▅ █▌▍▇▌▍▉▌▇▍▊ ▍▇█▋▋▋▄▍ ▋▊▇▅ █▇ ▊▇▋█▄ ▇▊▉ ▉▅▉▆▋▋▊▌▍▆ █▍▄▅▄▆▆▋▆▅█ ▉▅ ▋█▍▅▊▌▇▆ ▉▄█▋ ▇▆█▍▆▆▌ ▊ ▄▊▉ ▇▉▆▉▅▇▅▉▄ ▄▍▋▌▌▉▄ ▄ ▉▄▌▌▊▇▋▄▋▌▍ ▌▊▍▅ ▄ ▍▊▊▇▇▆▍ ▇▉█▋▇█▊ ▅▊▅▌▄▄▋▋▋▅█▉██▆ ▊█▅▌▋ ▍ ▅▍▊▋▇▄█ ▆▆▊▇▉▄▋ ▆▋ ▋▌ ▅▆▆▍█▌ ▋▋ █ ▅▍▍ ▊▉ ▋▋▍ ▋█▅▊▍▇██▉ ▅▍▇▋▍▍▊▆ ▊█▋▅ █▋▍ ▊▉▇▇ ▆▍▋▌ ▇▋ ▉▆▊▆▅ ▍▋ █▍▋ ▌▇▊▆▄▇ █▌ ▇▍▌ ▇▋▆ ▄▇▄▅ ▆▉▇▅▄▄▇ ▊▄▍▉█▍▋ █▍▄▆▌▄▇▌▉▌▉▇ ▍▆▉█▆ ▋▍▊▆▇█▋ ▇▊▌▇▇ █▇▌▄▄▌▋▅▋█▍ ▌█▍ █▉▊▅▅▅▉▋
5 Days Ago
Fixed our static font being set as readable The atlases are only in VRAM now, saves another ~42MB RAM
5 Days Ago
Fixed fonts duped in memory: - the interaction toast in bootstrap was using the non bootstrap version - TMP Settings was referencing Roboto which was pulling the entire chain Saves around ~60MB VRAM and ~30MB RAM
5 Days Ago
Add uploading of signs / sculptures / voicemails to our backend - simple retry: try 1x per minute, give up after 5x attempts
5 Days Ago
More tweaking
5 Days Ago
Apply the same hierarchy flattening from S2P on all prefabs in PrefabPreProcess (only at bundle time, skipped in editor by default) Fix some edge cases in the hierarchy flattening logic
5 Days Ago
▍ ▍▉▉█▇▌▉▄▌▍▍▉▌▆▍█▇▍█▇▋▍ ▌▍ ▅▅▌▌
5 Days Ago
▆ ▆▆▊ ▇█ ▌▄▍▉▆▍█▆ ▍▇▊▋ ▊▍▅
5 Days Ago
▋ ▄▉▇▍ ▊▇▉▌▅ ▉▅▋ ▊▆ ▋▆▅ ▊▉▄▇▆▇▍ ▋▉▊▅▆▉▉ ▍▅▆▋ ▇▉ ██▊▊ ▋▅█▇ ▆▉ ▍▇▇▅ ▍█ ▄█▋ ▅ █▆▄▋▇▉
5 Days Ago
merge from cui_allui_fix
5 Days Ago
Improved panel unregistration performance
6 Days Ago
Lets try ignoring UV adjustments in surface.DrawTexturedRectUV * So the function's UV arguments work like expected, without the "sub pixel adjustment" stuff, which seems unnecessary? * Only the Lua binding is affected Refine DImage subrect support and KeepAspect features Minor cleanups Remove leftover debug panel from Paint tool, KeepAspect the icons
5 Days Ago
▉▊▍▊▇▊ ▋█▌▆▊▍▆▉▊ ▋▌▅██ ▍ ▇▍▉▅▉▊ ▊▍▌▊█▊▍█▇▋▄▅▍▉█▅▆▆▇▉ █▆ ▇█▉▅ ▌█▆▋▇▉▋ ▍▅▉ ▄▊▆ ▆▇▅▆▄▋▄ ▉▌▉▅▊▇▌ ▍▆ █▉ ▇▄▆▌ █▆ ▊▇▉▇ ▍█▌ ▅▊▄ ▄▆▇▍▇▊ █▊▍▍▄▄▄ ▊▋▋ ▊▄ ▊▉▍▇▌▌ ▉▊▆ ▋▉█▊▄▍▇▋▋▌ █▆▊▉▉▍▉ ▆▊▆ ▌▉▆▋▌█▅▄ ▊██▇▊ █▋ ▄█▇▍ ▄▋▌▄▌▅▋ ▄▍██▆ ▊▍▇▇▅ ▇▊▋▊▌▇▄▆▇▄▉▅
5 Days Ago
merge from fix_cookable_created_alloc -> main
5 Days Ago
Fix ItemModCookable allocating a new delegate every time an item is created
5 Days Ago
█ ▌▋█▊▇ ▄█ ▅▄▆▆▄ ██▍▇ █▆▅▅▌▍█ ▉▋▉▍▆▍█ ▌▆ ▋▇▅▋▍▄▉▍▌▋▊ ▄▄▉▇▊▉▋ ▌▌ ▉▆▉▍▆▌▍▌ ▅▆ ▅▊▇▍▇▄▇▆▇ ▇▋▅▇▅▇▇▉ ▅▅▇▋▆ ▉▄▊ ▉▋▅█▅▅▊▌▉▉ ▍▊▄▅▆▇▇██▄ █▌▇▊▌▆▋▊▌▉▍▄▇▆▌▆▅▋▅▆▅▇▋▉▇▋ █▍▌▄▇▋▄▍▆▊ ▇ ▉▉▌█▍ ▍▄▊ ▍▇▋▇▄▅▉ ▆▆ ▍▄▄▌ ▇▅▌ ▋▌▌▅▅ ▍▇▄▅▌▊▅▇▋▅▇ ▋▌▇▇▋▉▌ ▌▌ ▉▌▄▆▊▉▆ ▇▄ ▊▅ ▅▍▉▍▍▋▆▅▉█▍█ ▋▊▇▍▍▋▄ ▅▍▍▆▉▄▇▌▉▇▇▋▆▄▄▆▋▆▇█▄▇▋ ▆█▉ ▇▇▉▆▉ ▇▊▍▉▅▅ ▊▍ ▌▉▍▊▋ ▅▊▋ █▊█▉ ▊▉▇▄▌▅▋▌ ▄▋ ▍▆▆▋ ▄▅▆▉▌ ▄▅ ▇▉ ▌▄▊ ▍▄▋▌▍▊▄ ▋▍▋ ▇▍▋ ▄█▋▍▅ ▊▊█▄ ▄██▌▌▇█ ▇▄█▍▅▆▊
5 Days Ago
merge from cui_allui_fix
6 Days Ago
Fixed CommunityEntity.AllUi list accumulating endlessly and only clearing when reconnecting to a server; it now validates the list and removes null entries on panel destruction Added admin-only `communityentity.print_alluis` for debugging, codegen Before: https://files.facepunch.com/raul/2026/October/13_20-59-InsistentSiamesecat.mp4 After: https://files.facepunch.com/raul/2026/October/13_21-14-GlamorousBalloonfish.mp4
6 Days Ago
first pass on restore tool - old tattoos that are faded can be painted with this tool to restore their colour to full without needing to be fully redrawn
6 Days Ago
Fix some weird/stuck crosshairs on the rear turret
6 Days Ago
another fix for third person crouch anim playing when dropping off ledges
6 Days Ago
S2P tropical island 1, 2, 3 and 4. Removed the coconuts from the big palm trees. Its really difficult to see the coconuts + the taller trees visually sway a lot more and currently the coconuts do not sway with the tree so it looks terrible.
6 Days Ago
merge from hitchtrough_save_fix
Rin
6 Days Ago
▇▇▊▉▌▅███▄ ▇▇██▆▆▍▍ ▄▆▄▊▅█ ▄▅▍█▉ ▍█▋▋▊▆▅▊▊ ▆▇ ▊▄█▇▌▉ ▌▊▅██▅▇▆ ▄ ▋ ▆▆▉ ▋▆▄▌█ ▊▊▉▌▆▅▊▇▋ ▊▊▄▅▋▉ ▉▆ ▇▇▄▉▇▇▉▉█▌█▅ █▅▉▅▍▋▆▍ ▄ █▄▌▄▇ ▋▉ ▍▊█▊▍█ ▌▋▋▍▇▆▄▆▋▆▅▆▆ █▄▌▆▍ ▇▉▆ ▌▆▆█▍▊▄▉▌█▌▅▄▇▌█▍ █▍▍▋▋▌▋ ▌▄▆█▅▇█▆ ▇▆▍█▉▉ ▇▊ ▍ ▊▌▋▇▄▆▅▅█ ▇▉█▊█▅█▉ ▉▌▇ ▉█▉▍▉▋▋▇█▌█▄▆▍▄▌▄▇▋▌▄▆▊▄▍▌▋▋▋▍▄▍▉▇█▅▇▌▋▇▉▌▋▊▌█▆▊█▇█▅▌▄▆▆▌█▍▋▍▍▉█▌▉▉▌▉▌█▅▊█▇
6 Days Ago
merge from buildingprivilege_cache
6 Days Ago
Fixed blocks registering with a 0 net id on the server when placed with the building plan
6 Days Ago
merge from misc_alloc_cleanup
6 Days Ago
Make sure to also rebuild plant info when new quality data comes in via rpc without a network update
6 Days Ago
merge from main
6 Days Ago
merge from main
6 Days Ago
clip timing updates
6 Days Ago
replaced soundpooling for a readonly struct modulator, avoids all allocs and doesn't change any of the usage
6 Days Ago
Auto adjust jobs thread count when changing CPU affinity
6 Days Ago
added dryfire wip anims, stock updates, set up animator to correctly choose correct fire and dryfire anims based on state
6 Days Ago
fixed jenkinsfile using wrong param name for slack channels
6 Days Ago
merge from sendmouseevents_optim
6 Days Ago
tattoo fixes - clamp tattoo brush size 1.0-5.0, doesnt use painting convar - zoom scaling clamp, so you cant get as far out but can also go closer than usual for fine detail - brushes now scale independent of zoom in tattooing, this does make performance a little worse, but fixes when the paint stamp doesnt cover enough of the uv and becomes spotty. WIP still - uv buffer now samples some of the uv pixels around the current target to try to smooth out and match seams where the uv resolutions dont match (like where the head meets torso etc..)