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

Yesterday
▉███▄▉ ▆▊▋▊ █▊▋▇▆▊▌▋▌▉▊▍▌▇▋▅▇▅▆▊▅▊▄▅▅▆
Yesterday
▇▅▌▋█▉▊▊ ▋▋▊ ▇▆▅▊▊█▋▊█▊ ▍█▉▄▄█▆▄ ▆▅ █▌▍▇▌▍▉▌▇▍▊ ▍▇█▋▋▋▄▍ ▋▊▇▅ █▇ ▊▇▋█▄ ▇▊▉ ▉▅▉▆▋▋▊▌▍▆ █▍▄▅▄▆▆▋▆▅█ ▉▅ ▋█▍▅▊▌▇▆ ▉▄█▋ ▇▆█▍▆▆▌ ▊ ▄▊▉ ▇▉▆▉▅▇▅▉▄ ▄▍▋▌▌▉▄ ▄ ▉▄▌▌▊▇▋▄▋▌▍ ▌▊▍▅ ▄ ▍▊▊▇▇▆▍ ▇▉█▋▇█▊ ▅▊▅▌▄▄▋▋▋▅█▉██▆ ▊█▅▌▋ ▍ ▅▍▊▋▇▄█ ▆▆▊▇▉▄▋ ▆▋ ▋▌ ▅▆▆▍█▌ ▋▋ █ ▅▍▍ ▊▉ ▋▋▍ ▋█▅▊▍▇██▉ ▅▍▇▋▍▍▊▆ ▊█▋▅ █▋▍ ▊▉▇▇ ▆▍▋▌ ▇▋ ▉▆▊▆▅ ▍▋ █▍▋ ▌▇▊▆▄▇ █▌ ▇▍▌ ▇▋▆ ▄▇▄▅ ▆▉▇▅▄▄▇ ▊▄▍▉█▍▋ █▍▄▆▌▄▇▌▉▌▉▇ ▍▆▉█▆ ▋▍▊▆▇█▋ ▇▊▌▇▇ █▇▌▄▄▌▋▅▋█▍ ▌█▍ █▉▊▅▅▅▉▋
Yesterday
Fixed our static font being set as readable The atlases are only in VRAM now, saves another ~42MB RAM
Yesterday
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
Yesterday
Add uploading of signs / sculptures / voicemails to our backend - simple retry: try 1x per minute, give up after 5x attempts
Yesterday
More tweaking
Yesterday
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
Yesterday
▍ ▍▉▉█▇▌▉▄▌▍▍▉▌▆▍█▇▍█▇▋▍ ▌▍ ▅▅▌▌
Yesterday
▆ ▆▆▊ ▇█ ▌▄▍▉▆▍█▆ ▍▇▊▋ ▊▍▅
Yesterday
▋ ▄▉▇▍ ▊▇▉▌▅ ▉▅▋ ▊▆ ▋▆▅ ▊▉▄▇▆▇▍ ▋▉▊▅▆▉▉ ▍▅▆▋ ▇▉ ██▊▊ ▋▅█▇ ▆▉ ▍▇▇▅ ▍█ ▄█▋ ▅ █▆▄▋▇▉
Yesterday
merge from cui_allui_fix
Yesterday
Improved panel unregistration performance
2 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
Yesterday
▉▊▍▊▇▊ ▋█▌▆▊▍▆▉▊ ▋▌▅██ ▍ ▇▍▉▅▉▊ ▊▍▌▊█▊▍█▇▋▄▅▍▉█▅▆▆▇▉ █▆ ▇█▉▅ ▌█▆▋▇▉▋ ▍▅▉ ▄▊▆ ▆▇▅▆▄▋▄ ▉▌▉▅▊▇▌ ▍▆ █▉ ▇▄▆▌ █▆ ▊▇▉▇ ▍█▌ ▅▊▄ ▄▆▇▍▇▊ █▊▍▍▄▄▄ ▊▋▋ ▊▄ ▊▉▍▇▌▌ ▉▊▆ ▋▉█▊▄▍▇▋▋▌ █▆▊▉▉▍▉ ▆▊▆ ▌▉▆▋▌█▅▄ ▊██▇▊ █▋ ▄█▇▍ ▄▋▌▄▌▅▋ ▄▍██▆ ▊▍▇▇▅ ▇▊▋▊▌▇▄▆▇▄▉▅
Yesterday
merge from fix_cookable_created_alloc -> main
Yesterday
Fix ItemModCookable allocating a new delegate every time an item is created
Yesterday
█ ▌▋█▊▇ ▄█ ▅▄▆▆▄ ██▍▇ █▆▅▅▌▍█ ▉▋▉▍▆▍█ ▌▆ ▋▇▅▋▍▄▉▍▌▋▊ ▄▄▉▇▊▉▋ ▌▌ ▉▆▉▍▆▌▍▌ ▅▆ ▅▊▇▍▇▄▇▆▇ ▇▋▅▇▅▇▇▉ ▅▅▇▋▆ ▉▄▊ ▉▋▅█▅▅▊▌▉▉ ▍▊▄▅▆▇▇██▄ █▌▇▊▌▆▋▊▌▉▍▄▇▆▌▆▅▋▅▆▅▇▋▉▇▋ █▍▌▄▇▋▄▍▆▊ ▇ ▉▉▌█▍ ▍▄▊ ▍▇▋▇▄▅▉ ▆▆ ▍▄▄▌ ▇▅▌ ▋▌▌▅▅ ▍▇▄▅▌▊▅▇▋▅▇ ▋▌▇▇▋▉▌ ▌▌ ▉▌▄▆▊▉▆ ▇▄ ▊▅ ▅▍▉▍▍▋▆▅▉█▍█ ▋▊▇▍▍▋▄ ▅▍▍▆▉▄▇▌▉▇▇▋▆▄▄▆▋▆▇█▄▇▋ ▆█▉ ▇▇▉▆▉ ▇▊▍▉▅▅ ▊▍ ▌▉▍▊▋ ▅▊▋ █▊█▉ ▊▉▇▄▌▅▋▌ ▄▋ ▍▆▆▋ ▄▅▆▉▌ ▄▅ ▇▉ ▌▄▊ ▍▄▋▌▍▊▄ ▋▍▋ ▇▍▋ ▄█▋▍▅ ▊▊█▄ ▄██▌▌▇█ ▇▄█▍▅▆▊
Yesterday
merge from cui_allui_fix
Yesterday
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
Yesterday
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
Yesterday
Fix some weird/stuck crosshairs on the rear turret
Yesterday
another fix for third person crouch anim playing when dropping off ledges
2 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.
2 Days Ago
merge from hitchtrough_save_fix
Rin
2 Days Ago
▇▇▊▉▌▅███▄ ▇▇██▆▆▍▍ ▄▆▄▊▅█ ▄▅▍█▉ ▍█▋▋▊▆▅▊▊ ▆▇ ▊▄█▇▌▉ ▌▊▅██▅▇▆ ▄ ▋ ▆▆▉ ▋▆▄▌█ ▊▊▉▌▆▅▊▇▋ ▊▊▄▅▋▉ ▉▆ ▇▇▄▉▇▇▉▉█▌█▅ █▅▉▅▍▋▆▍ ▄ █▄▌▄▇ ▋▉ ▍▊█▊▍█ ▌▋▋▍▇▆▄▆▋▆▅▆▆ █▄▌▆▍ ▇▉▆ ▌▆▆█▍▊▄▉▌█▌▅▄▇▌█▍ █▍▍▋▋▌▋ ▌▄▆█▅▇█▆ ▇▆▍█▉▉ ▇▊ ▍ ▊▌▋▇▄▆▅▅█ ▇▉█▊█▅█▉ ▉▌▇ ▉█▉▍▉▋▋▇█▌█▄▆▍▄▌▄▇▋▌▄▆▊▄▍▌▋▋▋▍▄▍▉▇█▅▇▌▋▇▉▌▋▊▌█▆▊█▇█▅▌▄▆▆▌█▍▋▍▍▉█▌▉▉▌▉▌█▅▊█▇
2 Days Ago
merge from buildingprivilege_cache
2 Days Ago
Fixed blocks registering with a 0 net id on the server when placed with the building plan
2 Days Ago
merge from misc_alloc_cleanup
2 Days Ago
Make sure to also rebuild plant info when new quality data comes in via rpc without a network update
2 Days Ago
merge from main
2 Days Ago
merge from main
2 Days Ago
clip timing updates
2 Days Ago
replaced soundpooling for a readonly struct modulator, avoids all allocs and doesn't change any of the usage
2 Days Ago
Auto adjust jobs thread count when changing CPU affinity
2 Days Ago
added dryfire wip anims, stock updates, set up animator to correctly choose correct fire and dryfire anims based on state
2 Days Ago
fixed jenkinsfile using wrong param name for slack channels
2 Days Ago
merge from sendmouseevents_optim
2 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..)
2 Days Ago
Optimized PreUpdate.SendMouseEvents by clearing the main camera event mask, nothing uses OnMouse events Saves up to 0.08ms a frame in builds
2 Days Ago
Compile fix
2 Days Ago
▊▍▊▉▋▆▊ ▆▉▉█▌█ ▌▆▆▇ ▇▌▇█▍▊█ ▆▊▅
2 Days Ago
Initial setup of different ADS and recoil settings for weapon stock being deployed/collapsed
2 Days Ago
merge from analytics_biofuel_generator
2 Days Ago
Add resource consumption/production events for the biofuel generator
2 Days Ago
pt_boat_rewrite -> turret_viewmodels
2 Days Ago
main -> pt_boat_turret_rewrite
2 Days Ago
Only send turret targets rather than every single turret movement We are effectively predicting the turret movement on the client with the server reconcilling it 1.83 -> 0.20 aim messages/s per idle turret ~46 -> ~7 B/s per turret per player On a 122 player server: roughly ~105 KB/s less outbound (~9GB a day). 6% reduction of all outbound game data
2 Days Ago
Formatting
2 Days Ago
first pass on tattoo layering - 2 layers, 1 "base" layer which is fixed onto the player model, 1 which is edited during a painting session - tattoo compositor merges the editing layer onto the base layer when exiting the menu or saving - fade is applied to base layer, and baked into the png when merging downwards - rads add fade to the base layer visually with a parameter, which is only baked in during a merge - reworked to accomodate a separate player sending the tattoo edits to the other for saving (bc tattoo chair eventually) - moved more code to serverside to allow for direct painting communication between 2 clients