201,380 Commits over 4,171 Days - 2.01cph!

13 Minutes Ago
mission_isstarted_nre -> main
17 Minutes Ago
Improvised walkways progress
22 Minutes Ago
Try/catch mission think system
32 Minutes Ago
Assembly contexts for code declared phrases Better de-duping and type skip when generating the phrases
49 Minutes Ago
Reworked pouring so it uses a start and stop RPC. Holding left mouse button will pour (up to) 50ml out of the container every 0.5s (100ml/s), stop holding left mouse button and pouring stops. Needs bespoke animations and visual effects, something like a continuous stream pouring out when the item is tilted over. Video: https://files.facepunch.com/jacob/1b1211b1/Unity_0KbTAw2Am2.mp4
1 Hour Ago
mission_isstarted_nre -> main
1 Hour Ago
Fix mission 'is started' NRE
1 Hour Ago
Allow AI to drive anything derived from BaseVehicle New custom upload loop. Safely turned on/off if AI is assigned HasDriver flag set but mounting logic stays the same
2 Hours Ago
Indirect Instancing Integration Candidate 1
2 Hours Ago
Enable 3052 materials for instancing
3 Hours Ago
Tests: TestLineOfSight - properly enforce non-job mode in relevant cases Tests: ran test sets
3 Hours Ago
Tests: TestLineOfSight - validate reverse paths Looks like some occlusion checks might fail reverse paths. That's an uh-oh. Tests: ran above set, got a failure
3 Hours Ago
▅▍▍▆▆▅
3 Hours Ago
Final SIMD frustum culling implementation for x86/AVX and untested implementation for ARM/Neon
3 Hours Ago
Fix ARM/Neon SIMD (and non-SIMD) code for frustum culling.
4 Hours Ago
Tests: ServerOcclusionTests - generated data set now contains similar pairs Interestingly, this trips up consistency test - will investigate Tests: ran TestOcclusionLineOfSight_Consistency
4 Hours Ago
Detailed context when updating phrases
4 Hours Ago
Tests: PerfOcclusionLineOfSight - reset internal recent visibility cache between runs Tests: ran the set
5 Hours Ago
Implement NativeArray.ReinterpretLoad() for NativeArray.ReadOnly to avoid triggering concurrency checks.
5 Hours Ago
Tests: ServerOcclusionTests - standardize test naming Tests: ran test set
5 Hours Ago
Tests: ServerOcclusionTests.GeneratePairs - generate correct number of pairs This further shrinks runtimes, as previously we generated waaaay too many Tests: ran ServerOcclusionTests set
5 Hours Ago
update media_projects/hackweekaug2025_media
5 Hours Ago
merge from main -> media_projects
5 Hours Ago
Tests: optim TestOcclusionLineOfSight_PerfSerial/-Parallel By properly constructing and caching base players - tests now take less than a second. Tests: ran test set
6 Hours Ago
Tests: add TestOcclusionLineOfSight_PerfSerial/-Parallel Both run for too long - likely due to how I create players for the tests. Will fix next Tests: ran the new set
Today
Tests: TestOcclusionLineOfSight_Consistency - rset occlusion cache between serial and parallel runs Tests: ran the test set
Today
Added crosshair codes. Can be generated from the current crosshair settings, and then easily loaded at a later time or shared with other people: https://files.facepunch.com/cipeaX/2025/August/12_13-59-FrankGrasshopper.mp4
Today
Tests: add ServerOcclusionTests.TestOcclusionLineOfSight_Consistency Compares results between serial and batched versions. Tests: ran the new test set
Today
Update: prep BasePlayer.OcclusionLineOfSight (both serial and batched) for use in tests Tests: none, trivial change
Play an on/off animation on the maps when the engine is toggled on or off Map system refactor and storing in its own file Folder cleanup
Today
Tests: rewrite ServerOcclusionTests to make ServerOcclusion usage clear Is it ugly on some lines? Yes. But is it explicit and beautiful? Also yes. Tests: ran the unit tests
Today
Fix unity_BaseCommandID not being set on Mac
Today
Fix stencil buffer incompatibility in Standard and Standard-Terrain
Today
Today
Clean: propagate network time from FinalizeTickParallel Tests: none, trivial change
Today
Optim: NetworkPositionTick - remove extra InvalidateNetworkCache Cache has been previously invalidated in FinalizeTickParallel, so no need to discard it again Tests: none, trivial change
Today
█▋▉ ██▄ ▅▍▇▄▊▄ ▊▍▍█ ▍▊▊▄▆▉▆▇ ▌▌█▆█ ▌ ▇▆▅▍█▊ ▇▍▌█▌▍▄.
Today
Optim: OcclusionSendUpdates can now reuse occlusion results - Got rid of old OcclusionLineOfSight that used to send updates internally, as there's no need for it now Tests: 2p session on Craggy with UsePlayerUpdateJobs 2
Today
Clarified in the tutorial that you must talk to the survivor (not just be in their proximity).
Today
bug fix: incorrect button prompt was displayed for opening the inventory on this tutorial text only.
Today
Clean: remove couple TODOs - one was just completed - another was overzealous Tests: none, trivial changes
Today
Optim: SendNetworkPositions - reuse occlusion query results Tests: 2p on Craggy with UsePlayerUpdateJobs 2
Today
update from main
Today
merge from gesturewheel_cinematic_fix
Today
Fixed cinematic gestures not showing in the gesture menu when using ShowAdminCinematicGesturesInBindings
Today
When updating the phrases we now save their context for later use Some cleanup in phrases update code
Today
Update: move ServerUpdateOcclusionParallel inside FinalizeTickParallel - FinalizeTickParallel invalidates players network cache - with UsePlayerUpdateJobs 2 we can skip it later, but 1 is has double-invalidate This increases the coverage of OcclusionFrameCache, allowing to simplify a bunch of code. Tests: 2p on Craggy with UsePlayerUpdateJobs 0, 1, 2 and disconnects. 0p server with UsePlayerUpdateJobs 1, 2
Today
Merge: from connectedplayer_rewrite Got far enough along in this direction and things seem to work
Today
Bugfix: ServerUpdatePlayerTick - restore Player.serverTickInterval functionality Got lost during the rewrite Tests: 2p on Craggy with UsePlayerUpdateJobs 2
Today
Backup