145,373 Commits over 4,413 Days - 1.37cph!

Today
Show room numbers on doors as text instead of the placeholder LCD screens above the doors
Today
Add dripping font for the apartment door numbers
Today
Add autoturret reskinning Preserves loaded ammo, authlist, rc identifier and peacekeeper setting
Today
auto_turret missing cover fix, fixed in scene prefabs, fixed workshop issues
Today
merge from main -> optimize_generate_textures_alloc
Today
Implement IO entity reskinning with the new system, will now always nicely adjust any connected wires / pipes to the new positions: https://files.facepunch.com/cipeaX/2026/May/21_01-08-RightBighorn.mp4
Today
Add culling sphere component to the apartments
Today
Add culling support for apartment furniture - start with large spheres around each apartment - add extra check if the player is inside the apartment to handle corners of the apartment the culling sphere doesn't reach
Today
Update: Codegen Tests: builds
Today
Merge: from main Needs codegen
Today
Optim: reimplement all Arg.Get* via GetStringView Avoids allocations in the GetString fallback Tests: unit tests
Today
Update: add StringView-to-numeric extensions Tests: ran unit tests
Fixed mid-length hair being skinned to eyes
Today
Clean(tests): get rid of redundant profiling code Tests: builds
Today
Fix a bug causing io lines to not update correctly when multiple storage adaptors on the same barrel have connections between themselves
Today
Optim: BuildCommand - remove another Substring alloc via StringView Down to 3 allocs/0.34KB per call Tests: ran a couple commands with and without args
Today
Reconnect apartment doors to apartment prefabs
Today
Optim: ConsoleSystem.Index uses StringView internally to avoid allocations Tests: booted into craggy, ran a couple commands (short and fully qualified)
Today
Put apartment elevator at the end of the wing - add extra floor for basement - split apartment floors into their own prefabs
Today
Integrate item container and child item container preserving into the new system Re-implement entity children preserving, with attachments repositioning if their sockets shifted, child io entity also have their connected lines update correctly Fixes various current bugs with storage adaptors / door controllers when their parent is reskinned Make ceilinglight reskinnable again, will fix reskinning io entities themselves next Fix not being able to skin snowmobile back to default
Today
▇ ▉▋▊▌▍▋▇ ▉▍█▋▄▌▅▇▇▇▄▉ █▊█▉▉▌▌▅ ▍▍▍█▍▍▅▋ ▍▉▄▍█ ▄▊▉▇▉▆▇█ ▋▆▍▄ ▇█▊▄▆▄▍▄▉█ ▉▄▄▋▄▋▇█ ▋▇▅▄█▍▍
Today
Duplicated second elevator in reception area
Today
Apartment elevator now functional
restored missing hair textures for movember moustache and santa beard
Yesterday
Industrial Torch - Small texture update (still WIP), changed base materials from smoothness to metalness, fixed material assignment on worldmodel (from half on to full off)
Yesterday
Added a viewmodel button to the skin viewer, pops the view model (wip)
Yesterday
increase censorship pixelation size with decreasing camera FOV (binoculars, etc) to account for further away stuff taking up more screen area
Yesterday
m16a2 world model added
Yesterday
add optional override for pixelation censorship pixel size, override it for player preview so it looks correct
Yesterday
functional darts 1p viewmodel
Yesterday
Analytics event for changing entity colours with the spraycan should now be raised for all appropriate entities
Yesterday
scene fix
Yesterday
finalize RRP underwater post processing
Yesterday
▇ ▋ ▋▊█▌█▌▋▉█▋▅▍▄ ▄▊ ▅█▊ █ ▄▊█▆▅▄▌▉██▇ ▋▇▅▋▍▌▄ ▍▌ ▊▉▍▅▆█▄▆▋▊▉▆▋ ▌▇ ▅▆█ ▇▋▉▆▆ ▄▅▄▌▌▆ ▅▋▄ ▉▌▌█▊▆▍▊ ▄▊▌▌▌ ▄▄▉ ▋▊▊█▋ ▅▆ ▇▆▍▄ ▆▊▆ ▍▊▌▉ ▋▍▄▌▉▍█ ▊▋ ▌█ █▅▄▄▇ ▄▊█▆ ▇█▉ █▆▋▆▋▄▌▊▆▄ ▇▇▅ █▍▄ ▋▄▄█▇ ▍▌▋▍▅▇▆▇▅▉▅▆▇▊▉▌ ▋▊▊▌▅▅ ▇▌▋▍▌ ▄▉▋▆▇ ▄▅ █▇▍▆ ▉▋ ▊▇▄█▅▄▋ ▋▇▆▍▇▇▉▆
Yesterday
HasActiveFakeConnection tweaked order of conditions + added `relay.status` convar
Yesterday
Optim: Arg.Args is now a StringView[] Most of the code uses GetString to lazy alloc a string. BuildCommand is now 4 allocs/0.4KB per call Tests: unit tests, booted into craggy and set a couple variables, tested crosshair clientvars
Yesterday
merge from texture_optimisations
Yesterday
Adding bullet joint to m16 rig
Yesterday
Optim: Arg.FullString is now a StringView - updated CodeGenerator to support StringView params - ran codegen Saves an allocation(once I’m done with conversion). Currently at 12 allocs/0.85KB per call Tests: booted into cragy, tried echo and say commands
Yesterday
▍ ▉▅▌▇▄ ▇▋▉▌ ▆▋▌▉█▋▄▍▍▊▄▊▉▅▉▉▉▋▉▍▌▊█▍
Yesterday
█ ▆█▊▍▆▍ ▆▇▉█▍▅ ▄▋▅▊ ▇▍▆ ▍▇▇▌█▌▋ ▅▇▅█▇▄▍ █▍▅
Yesterday
Head texture optimisations
Yesterday
Randomly apply a movement offset thruster effect too when tightening radius. Refactor.
Yesterday
more clean up
Yesterday
Update: add StringView.Trim(char) overload - add unit tests Tests: ran unit tests
Yesterday
Optim: add StringView.SplitQuotesStrings overload - Refactored logic to work on StringViews internally Only has 1 alloc(StringView[]). Using it is blocked on whether I'll be able to convert Arg.Args field to StringView[] or not Tests: none
Yesterday
Merge from parent
Yesterday
Merge from parent
Yesterday
Merge from main
Yesterday
Update: add StringView.EndsWith(StringView) - added trivial unit test Tests: ran unit tests