144,766 Commits over 4,413 Days - 1.37cph!

8 Minutes Ago
Fix texture analyzer incorrectly flagging assets as having compression disabled that are NPOT + mipmaps that are part of texture atlases
54 Minutes Ago
Small tweak
58 Minutes Ago
Fix primitive servers logging an error when trying to spawn sharks in divesites since the divesite prefabs use empty prefabs to control shark spawn chances
Rin
1 Hour Ago
Finer scale Flip degree min/max https://files.facepunch.com/Rin/2026/05/hsxOAUTTY4.png
Rin
3 Hours Ago
Tool crate loot pool. Double spawn Lake only spawns https://files.facepunch.com/Rin/2026/05/Unity_qRVXOzMqS6.mp4
Today
Fixed incomplete &/or cancelled map downloads writing empty maps to disk, causing reconnecting to break Download the map as a temporary file in the same folder then rename it once complete Additional cleanup on map download failure / cancellation Before: https://files.facepunch.com/raul/1b1611b1/16_16-43-LateGallinule.mp4 After: https://files.facepunch.com/raul/1b1611b1/16_16-52-SwelteringDunnart.mp4
Today
fix missing shader parameter used by post process effects
Today
No allocations when running the flood fill when rebuilding circuits
Today
Updated all SimpleLight prefabs to use the HasPower flag instead of On
Today
Updated cinematic controller, fixed existed talking anims and added new sets (generic and host)
Today
Simple light don't switch the ON flag anymore, we can just use HasPower and save a setflag when turning a light on/off (they're batched but that saves some overhead)
Today
Added a max flag flip per tick per circuit budget too (too many flag changes can stall the client)
Today
Circuit budgeting: all circuits share a 0.25ms budget per frame to evaluate. When the budget is depleted mid circuit, we save where we stopped and continue later. The starting circuit is never the same so a single circuit can't eat the whole budget and clog everything Also moved the drain pass to the 1hz battery tick, it doesnt have to run on every tick
Today
Optimised the evaluation pass. we now starts from the dirty components specifically instead of evaluating the entire circuit from start to finish When evaluating, if a component output didnt change, we stop there
Today
added hanging ivy (hedera helix variegata) models, materials, textures. created 3 decor plant variants
Today
FPV drone UI WIP & related files.
Today
switch out batched packet send storage for HashSet to avoid multiple sends from an entity within a circuit tick
Yesterday
Use Azure Artifact Signing
Yesterday
▅ ▄▆▆▊█▆ ▉▍▄▅▋ ▊▇▌ ▊▊▆▋▄▊▅▅▌ ▆██▆▍
Yesterday
▊ ▋▉▍▅ ▉▋▄▌▊ █▍▍▌▅
Yesterday
▅ █▌▋▋ ▊▇▉▋▇ ▊▆▆▇█ ▇▌▍▊▆
Yesterday
Another consistency pass for resource files * Remove the word "Launcher" from launcher file descriptions - I thought task manager would show "Product Name" field, not "File description" field. * Make all resource files provide a single language ID (was previously US or UK english, sometimes German and Canadian English?) * Updated tool icon slightly * Add icons & version info to all compiled .exe files by our build system Build 64bit gmad/publish, add icons/version, fix some compile warnings Disable Steam Error Reporting as it is apparently EOL'd by Steam * Crash dumps are now generated by the game, not Steam * Moved crash dumps to crashes/ folder. Resolve 64bit tools not loading Build Hammer 64bit Fixed a bunch of Hammer 64bit runtime crashes
Yesterday
▌ ▇▅▋██ ▄▉▍▅ ▇▆▊▄
Yesterday
merge from /main/hackweek_parented_ddraw
Yesterday
merge from /main/hackweek_parented_ddraw
Yesterday
merge from main
Yesterday
Server compile fix
Yesterday
Assigning the duration of a ddraw shape / text to -1 will now make them never expire, unless user / server runs ddraw.clear, ddraw.clearid or client reconnects
Yesterday
underwater post effect initial
Yesterday
▊ ▍▉▄▌█ ██▄▅█▄▅▌▄▊▉▇▄▋ █▆▄█▌▍▌▇▇▆ ▌▆ ▄▉▆▉▉ ▉▋▇▇▅ ▉▉ ▊▉▊▊▄ ▆▌▉▅ ▋▊█ ▌▄▆▌▊ ▄▅▋▇▆▍▉▊▉▅▄▉▋ ▇▇▊▉▌▆▇▆▇▄ █▆▅▆▌▌▊ █▆▍▋▆▄▋▅█ ▊▅ ▍▉▅▋▍█▇▇▋▇ ▆▍██▋▄▇ ▅▄▊▊ ▌▌▊▋▉▄▅▆▍▇▇▊
Yesterday
▅ ▊▌▌▇▉ ▄▍▌▌▋▆█▇ ▇▄▅▋ ▄▇▇▍▍ ▅▋▇ ▍▋▄██ ▄▊▉▍▉▊▌
Yesterday
Kamikaze FPV Drone - Added gibs
Yesterday
Added optional ddraw shape / text identifiers (so they can be individually cleared with the new ddraw.clearid command) https://files.facepunch.com/raul/1b1511b1/15_19-42-FixedSnowdog.mp4
Yesterday
updated lr300 sprint pose to anim loop
Yesterday
bone knife deploy animation update
Yesterday
illuminated pressure pad; - Gibs added - fixed bug on pad stacking on itself
Yesterday
Update(tests): even more edge case unit tests - escaped double quotes - split escaped double quotes Tests: ran tests
Yesterday
▌▋▌▋▌▌ ▉▍▊▅▇█▉▅▇▋▍▉▋█▄▉▆▊ ▋▍ ▇▉▇ ▇▋▇ ▊▆█▄█▄
Yesterday
▇█▅▉▇▍ ▄█▉▋▊▊▌▊▊▅▉▌▋ ▄▌▆▄ ▆▊▆ ▉▍▄▉▇▅▆ ▆▄▄▉ ▇▋▉▅▌ ▊▆▇▄▉█ ▌▋ █▅█▇ ▆▄▇▌▌▅█▅ █▍ ▇▉█▉▉▊ ▉▅▅▆▍▄▉ ▌▍▊▋ ▄▄ ▇▅▆▊▍▍
Yesterday
Update(tests): add a couple more edge case unit tests - torn nested string - single quotes nested - torn single quote nested - Added a whitespace to first nested string in all tests to validate trimming Tests: ran unit tests
Yesterday
Salvaged icepick anim update
Yesterday
- New PoolCueViewModel setup - strip off rotational changes - Update viewmodel rotation based on mountable - New setup for the viewmodel
Yesterday
Ensure mountable is killed (again)
Yesterday
Add(tests): add StringExtensionTests Currently only covers SplitQuotesStrings. Baseline allocs - 33allocs, 1.8KB Tests: ran tests
Yesterday
illuminated pressure pad; - Lods created - Prefab updated
Yesterday
▊▌▌▉▇▄ ▄▍█ █▄▊▊▍▇▉
Yesterday
Fixed transforms on playground assets and prefabbed up
Yesterday
Optim: fully remove function temporary Saves 1 alloc (63 allocs, 3.9KB) Tests: ran tests
Yesterday
Update(tests): add case or command with no args Tests: ran unit tests
Yesterday
Optim: don't recreate temporary klass and function substrings, fetch the full name at the end Saves 2 allocs (64 allocs, 4.2KB) Tests: ran tests