159,101 Commits over 4,566 Days - 1.45cph!
merge from fix_switch_ammo_reload -> main
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
Merge from SpiralStaircaseFix2
▋██▊▉▆ ▊▊▍▇ ▌█▉▉▆▍▄▍▅▇▄█▉▌▋▉▍▇▍▋▋▆
Merge from SeedExtraction
Merge from icon_render_legacy_bindpose_fix
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
Added support for a base melee to forward signals to a world animator, enabled on shears
reapplied berry extraction, undid another change I accidentally included i
Added 'Extract' option on berries to get seeds without having to eat the berries. 1 berry gives 1 seed.
▉███▄▉ ▆▊▋▊ █▊▋▇▆▊▌▋▌▉▊▍▌▇▋▅▇▅▆▊▅▊▄▅▅▆
▇▅▌▋█▉▊▊ ▋▋▊ ▇▆▅▊▊█▋▊█▊ ▍█▉▄▄█▆▄ ▆▅ █▌▍▇▌▍▉▌▇▍▊ ▍▇█▋▋▋▄▍ ▋▊▇▅ █▇ ▊▇▋█▄ ▇▊▉ ▉▅▉▆▋▋▊▌▍▆ █▍▄▅▄▆▆▋▆▅█ ▉▅ ▋█▍▅▊▌▇▆ ▉▄█▋ ▇▆█▍▆▆▌ ▊ ▄▊▉ ▇▉▆▉▅▇▅▉▄ ▄▍▋▌▌▉▄ ▄ ▉▄▌▌▊▇▋▄▋▌▍ ▌▊▍▅ ▄ ▍▊▊▇▇▆▍ ▇▉█▋▇█▊ ▅▊▅▌▄▄▋▋▋▅█▉██▆ ▊█▅▌▋ ▍ ▅▍▊▋▇▄█ ▆▆▊▇▉▄▋ ▆▋ ▋▌ ▅▆▆▍█▌ ▋▋ █ ▅▍▍ ▊▉ ▋▋▍ ▋█▅▊▍▇██▉ ▅▍▇▋▍▍▊▆ ▊█▋▅ █▋▍ ▊▉▇▇ ▆▍▋▌ ▇▋ ▉▆▊▆▅ ▍▋ █▍▋ ▌▇▊▆▄▇ █▌ ▇▍▌ ▇▋▆ ▄▇▄▅ ▆▉▇▅▄▄▇ ▊▄▍▉█▍▋ █▍▄▆▌▄▇▌▉▌▉▇ ▍▆▉█▆ ▋▍▊▆▇█▋ ▇▊▌▇▇ █▇▌▄▄▌▋▅▋█▍ ▌█▍ █▉▊▅▅▅▉▋
Fixed our static font being set as readable
The atlases are only in VRAM now, saves another ~42MB RAM
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
Add uploading of signs / sculptures / voicemails to our backend
- simple retry: try 1x per minute, give up after 5x attempts
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
▍ ▍▉▉█▇▌▉▄▌▍▍▉▌▆▍█▇▍█▇▋▍ ▌▍ ▅▅▌▌
▆ ▆▆▊ ▇█ ▌▄▍▉▆▍█▆ ▍▇▊▋ ▊▍▅
▋ ▄▉▇▍ ▊▇▉▌▅ ▉▅▋ ▊▆ ▋▆▅ ▊▉▄▇▆▇▍ ▋▉▊▅▆▉▉ ▍▅▆▋ ▇▉ ██▊▊ ▋▅█▇ ▆▉ ▍▇▇▅ ▍█ ▄█▋ ▅ █▆▄▋▇▉
Improved panel unregistration performance
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
▉▊▍▊▇▊ ▋█▌▆▊▍▆▉▊ ▋▌▅██ ▍ ▇▍▉▅▉▊ ▊▍▌▊█▊▍█▇▋▄▅▍▉█▅▆▆▇▉ █▆ ▇█▉▅ ▌█▆▋▇▉▋ ▍▅▉ ▄▊▆ ▆▇▅▆▄▋▄ ▉▌▉▅▊▇▌ ▍▆ █▉ ▇▄▆▌ █▆ ▊▇▉▇ ▍█▌ ▅▊▄ ▄▆▇▍▇▊ █▊▍▍▄▄▄ ▊▋▋ ▊▄ ▊▉▍▇▌▌ ▉▊▆ ▋▉█▊▄▍▇▋▋▌ █▆▊▉▉▍▉ ▆▊▆ ▌▉▆▋▌█▅▄ ▊██▇▊ █▋ ▄█▇▍ ▄▋▌▄▌▅▋ ▄▍██▆ ▊▍▇▇▅ ▇▊▋▊▌▇▄▆▇▄▉▅
merge from fix_cookable_created_alloc -> main
Fix ItemModCookable allocating a new delegate every time an item is created
█ ▌▋█▊▇ ▄█ ▅▄▆▆▄ ██▍▇ █▆▅▅▌▍█ ▉▋▉▍▆▍█ ▌▆ ▋▇▅▋▍▄▉▍▌▋▊ ▄▄▉▇▊▉▋ ▌▌ ▉▆▉▍▆▌▍▌ ▅▆ ▅▊▇▍▇▄▇▆▇ ▇▋▅▇▅▇▇▉ ▅▅▇▋▆ ▉▄▊ ▉▋▅█▅▅▊▌▉▉ ▍▊▄▅▆▇▇██▄ █▌▇▊▌▆▋▊▌▉▍▄▇▆▌▆▅▋▅▆▅▇▋▉▇▋ █▍▌▄▇▋▄▍▆▊ ▇ ▉▉▌█▍ ▍▄▊ ▍▇▋▇▄▅▉ ▆▆ ▍▄▄▌ ▇▅▌ ▋▌▌▅▅ ▍▇▄▅▌▊▅▇▋▅▇ ▋▌▇▇▋▉▌ ▌▌ ▉▌▄▆▊▉▆ ▇▄ ▊▅ ▅▍▉▍▍▋▆▅▉█▍█ ▋▊▇▍▍▋▄ ▅▍▍▆▉▄▇▌▉▇▇▋▆▄▄▆▋▆▇█▄▇▋ ▆█▉ ▇▇▉▆▉ ▇▊▍▉▅▅ ▊▍ ▌▉▍▊▋ ▅▊▋ █▊█▉ ▊▉▇▄▌▅▋▌ ▄▋ ▍▆▆▋ ▄▅▆▉▌ ▄▅ ▇▉ ▌▄▊ ▍▄▋▌▍▊▄ ▋▍▋ ▇▍▋ ▄█▋▍▅ ▊▊█▄ ▄██▌▌▇█ ▇▄█▍▅▆▊
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
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
Fix some weird/stuck crosshairs on the rear turret
another fix for third person crouch anim playing when dropping off ledges
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.
merge from hitchtrough_save_fix
▇▇▊▉▌▅███▄ ▇▇██▆▆▍▍ ▄▆▄▊▅█ ▄▅▍█▉ ▍█▋▋▊▆▅▊▊ ▆▇ ▊▄█▇▌▉ ▌▊▅██▅▇▆ ▄ ▋ ▆▆▉ ▋▆▄▌█ ▊▊▉▌▆▅▊▇▋ ▊▊▄▅▋▉ ▉▆ ▇▇▄▉▇▇▉▉█▌█▅ █▅▉▅▍▋▆▍ ▄ █▄▌▄▇ ▋▉ ▍▊█▊▍█ ▌▋▋▍▇▆▄▆▋▆▅▆▆ █▄▌▆▍ ▇▉▆ ▌▆▆█▍▊▄▉▌█▌▅▄▇▌█▍ █▍▍▋▋▌▋ ▌▄▆█▅▇█▆ ▇▆▍█▉▉ ▇▊ ▍ ▊▌▋▇▄▆▅▅█ ▇▉█▊█▅█▉ ▉▌▇ ▉█▉▍▉▋▋▇█▌█▄▆▍▄▌▄▇▋▌▄▆▊▄▍▌▋▋▋▍▄▍▉▇█▅▇▌▋▇▉▌▋▊▌█▆▊█▇█▅▌▄▆▆▌█▍▋▍▍▉█▌▉▉▌▉▌█▅▊█▇
merge from buildingprivilege_cache
Fixed blocks registering with a 0 net id on the server when placed with the building plan
Make sure to also rebuild plant info when new quality data comes in via rpc without a network update
replaced soundpooling for a readonly struct modulator, avoids all allocs and doesn't change any of the usage
Auto adjust jobs thread count when changing CPU affinity
added dryfire wip anims, stock updates, set up animator to correctly choose correct fire and dryfire anims based on state
fixed jenkinsfile using wrong param name for slack channels
merge from sendmouseevents_optim