158,191 Commits over 4,566 Days - 1.44cph!
Add special staging-only gamepad UI button option that hackily enables gamepad override just for that session.
Hide all other gamepad options in the gamepad section until it is enabled.
Fix navmesh building on top of cargoship
Fix AI Sleep Zones not working correctly since May
- race condition fix earlier this year inadvertently made any zone outside of a BaseEntity not initialise correctly (all except underwater labs)
- before / after on fresh procmap: https://files.facepunch.com/ryanw/2026/October/26_19-06-IndelibleBlackrhino.png / https://files.facepunch.com/ryanw/2026/October/26_18-54-FluffyDaddylonglegs.png
Fix sheeps starving despite a trough, their feed time was lower than cows so they wasted time shuffling with each other for a turn, now feeding time can't desync between sheep and cows
Update: Item.UseItem now returns if the entire item was consumed
- bugfix IndustrialConveyor's use-after-free of item in QuickMove path
Tests: ran conveyor tests, no longer failing
▉ ▄▅▄▌▇ █▆ ▍▅▉▇ ▋▋▄▍▌▉▅▄█▅▌ ▋▆▋▆▉ ▊█▆██ ▌█▋▍▊▇▇▍█▇ ▄ ▍▄▉▇▇ ▇█ ▅█▅▉█▆▇▋ ▅▄▍▊▉ ▌▄▍▍▆▆▍▆ ▅▋▅▍▋▌▋▆▆ ▌▆▆▍▅▍▆▇▄▉▉ ▌▆▆▍ ▋▋▅ ▌▅▉▅▄▇▆ ▍▊▄▉ ▊█▊▉▌ ▅▋▇▉▋ ▅▊▊▆▊ █▇▍ █▅▅▄ ▊▌▄▋▋▅ ▍▋▅▆ ▅▌ ▇▅▌▇█ ▄▆█▆▇ ▋█▌▍▇▌▍▍▆ ▍▇▊▋▋▉▄█▉▇▌▉▌█▌▌▉▉▄▉▇▍▋▋▆▅ ▉▌▌ ▌▄▋▆▄▆█▊ █▅▌▇▊▊▄▇ ▌▍▄▄▄ ▌▇▍ █▌▍▉ ▌█▊ ▍▆▊▋▇▄▇▋▅▇▆▄█▅▅▋▆▊ ██▅▉▌ ▋▍▋▌ ▋▆▆▍▋▍█▌▅▄▍▋▆█ ▅▌▊▌ ▋▌▋▆▅▊▌█▄ █▇▇▌▋▉▅▉
Optimize doors when recalculating series of connected rooms when doors are opened & closed
merge from analytics_base_occlusion -> main
merge from work_queue_optims
- anims and clips for weapons own anims, inc stock deploy + collapse, reload and fire
- initial animator setup for these weapon anims
- clip update of 3p idle
- avatar setup for world weapon rig
Add analytics events for rotating and flipping building blocks
▄ █▍█▅▊ ▌▅▋▉ ▇▄▍▅▌▊▍██▍▍▋█▊▊▄
█ ▅ ▆▆▋▋▇ ▊▉▅▊ ▆▆▊▅▄ ▉▌ ▇▉▌ █▆▆▉█▄▋▅▊▆ ▇▉▅▄▊▉▆▋ ▄▅▍▌▍▋▆▇▍▊▋ ▇▍ ▌▊▄ ▍▌▍▊ ▆▊▉▉ ▍▌ ▇▊▄▊▉█▆▄▇▇ ▍▊▇▉▇▅▅▅ ▇▇ ▇▉▌ ▄▄▋▊▊ █▇ ▉▇▍▄ █▉▆▇▅▆▄ ▌█▆▅ ▇▉█▇▅ ▉█▅ ▉▉▌▋▄▉▋▌ ▊▊▄▋▉▊▆
boat_scientists_improvements -> main
Only attempt turns when we can actually see the player
Lap interval pass on additional work queues
- DroppedItemUnderwaterQueue, 0.05, keep inline (ish) with physics tick rate
- BotColliderWorkQueue, 0.1, this is only refreshed every 0.2-0.3 seconds anyway
Fix bad merge when updated before submitting livestock lamp changes
merge from main -> base_occlusion
merge from analytics_base_occlusion -> main
boat_scientist_improvements -> main
- Give up players if you've been chasing them for a while
- Pursue for a max set of meters unless that player shoost you
replicated_convar_error_change -> main
item_pool_expansion -> main
radwater_color_throw_fix -> main
Add "isOpen" to the existing door toggled event
3p setup wip
- 3p anims
- holdtype controller population
- holster placement
▇ ▇▉▅▊▋ ▉▄ ▌▍▇▌█ ▋█▋▊▋ █▄█▄▆█▊▋▄ ▋▉█▄▊ ▄▇▆▉▋▌▉ ▋▊▆▆▍ ▆▋ ▅▌▋▇▄▍▆▆▌ ▇▄▅█ ▌▊▋▉▇ ▍▋▌ ▄█▍▍▌▆ ▋▇▆▌ ▇▅▍▉▅ ▄▅█▅▇▌ █▍▉▊ █▊▄▍▊▍▄▉▍▅▇▌█▆ ▋█▌▊█▊▍▉▇ ▉▊▇▍▌ ▇▍▉▉▇▇▇▉ ▋█▉ ▍▇▉▍█▋▆ ▋▅▇▍▍▋ █▌▊▌▇█▆▆▄▆▆▍▉▌█▄▌▅ ▋▇▅▉▇▇▉▌▋ █▉▋█▇▍▋▄ ▉▊▉ ▅▆▆▆ ▍▅▇ ▄ ▍▍▌▊▆▅▅ ▊▊▌ █▇▆▉▋ ▋▊▆ ▋▌▍▋▋▌█▇▄▉ ▄▍▊▆▄▉▌ ▋▊ ▌█▆▆▇▅▆▄▇▆
- Swap to another target if the boats main target is obstructed
- Otherwise decide to bail if the target has been hidden for a long time
Bugfix: fix WaterPurifier incorrectly increasing stack of garbage in output just before removing it
Tests: none, trivial change
Bugfix: ResearchTable.ResearchAttemptFinished - preserve ItemDef from the removed item to avoid NREs
Tests: none, trivial change
commit remaining textures that were for some reason not included
added new milk icons so its clearer what they are when in fridge. updated asset textures accordingly
Optim: use IndexOf to avoid double scan in ItemContainer.Remove
Tests: ran unit tests
▊▇▌▌▆ ▍▇▄▊ █▆▆ ▄▄▊██▋ ▉▍▌▋▉ ▉▇▌▋▋
Bugfix: reimplement ItemContainer.Clear loop to invalidate items at the end of iteration
- removed couple cases of dead code
Tests: unit tests + server automated tests, down to 1 failing
If the target is no longer valid then move on to someone we can see, or bail out
Workshop Downloadable Source - Default name for files now uses dashes instead of dots. "rifle.ak.obj" would now be "rifle-ak.obj" to prevent issues
Workshop Downloadable Source Models - Updated all files, adding a (correctly shaded) _triangulated mesh for every quadded mesh. Kept the quadded meshes when they existed for skinners to choose. Downloading meshes now downloads one file with all the meshes inside instead of one mesh per file. Updated .skinnable files to match the new file names. Removed old files
exported seagull take off anim
Fix water junkpile queue leaking at about 150 entries/hour, causing budget to max out pretty quickly
- also introduce concept of work queue intervals, allowing the enforcement of min seconds between two passes, UpdateNearbyPlayers only runs every 0.5-1 second so queue has been changed to match this
Allow cows light need to be fulfilled by lamps
If none of the crew of a scientist boat can see the target player then turn the boat around so it can face them
Swap 'Replicated convar not found on client' to a warning for this patch
I previously marked replicated convars as saved, so everyone will get replicated errors the first time they join a staging server as everything regenerates
(fine to swap back to an error next patch)
Bugfix: ItemModCookable - cache relevant information before destroying item
Tests: cookign tests pass
Update: add ItemManager.RemoveImmediate to validate removing DoRemove
Temp set to true, will revert back to default false before merging
Tests: ran automated tests - a bunch of failures
Fix cows still clipping through walls when lying down