userDaniel Pcancel
branchrust_reboot/main/stableobjectcache_taa_nullscancel

28 Commits over 0 Days - ∞cph!

18 Days Ago
Merge: from main
18 Days Ago
Update(tests): add validation of StableIndexLookup to StressTest Tests: ran unit tests
18 Days Ago
Clean: delete StableObjectCache, no longer in use - fixed up const references that I missed Tests: compiles
18 Days Ago
Update: add missing NativeDisableParallelForRestriction to BasePlayerJobs.RecacheTransforms Tests: none, trivial change
18 Days Ago
Update: rewrite projectile batching to use StableObjectArray instead of StableObjectCache - internal statics are now initialized and cleaned up on client connect/disconenct (+ scripts reload) - had to sprinkle container access checks due to indirection This was the last user of StableObjectCache, will rip it out next Tests: ran unit tests, 2p craggy test with shooting (confirmed fly by effects, ricoches still happen)
19 Days Ago
Update: rewriten TriggerParent to use StableObjectArray instead of StableArrayCache - ran codegen - made DisposeInternalState run on assembly reload Tests: built a boat, jumped on off - no issues (except the boat not moving, but a separate bug)
19 Days Ago
Bugfix: ensure PlayerTransformsAccess stays in sync with PlayerCache when players are removed - also removed safety if as it's obsolete after recent change to cleanup player before shutting down the server Tests: had 2nd client connect-disconnect to me on Craggy (though technically it's not enough, I'm relying on unit test logic)
19 Days Ago
Update: StableObjectArray gets GetIndexForSyncRemove to support removing from linked collections - used it to fix TestTransformAccessArraySync Need to update actual game code since it's bugged Tests: ran unit test
19 Days Ago
Merge: from main
19 Days Ago
Update(tests): add unit test that validates StableObjectArray is in sync with TransformAccessArray Tests: ran the test - they're not, gotta fix it tomorrow
19 Days Ago
Merge: from main
19 Days Ago
Bugfix(editor): cleanup connected players before we shutdown server when stopping playing in editor Tests: started and stopped play mode
19 Days Ago
Bugfix: if shorevector caching is disabled, then make sure we generate it Prev version skipped if it found the cache files on disk even though it didn't load them Tests: booted into craggy
19 Days Ago
Bugfix: properly dispose of BasePlayer.PlayerCache - also invoke DisposeInternalState on assembly reload Tests: started and stopped playing on Craggy
19 Days Ago
Clean: rename BasePlayer.StableIndex -> BasePlayer.ActivePlayerInd Eventually we'll have SleeperInd and etc, so doing this change early Tests: compile all modes pases
19 Days Ago
Clean: delete PlayerCache and it's unit tests Tests: compiles
19 Days Ago
Bugfix(editor): rengerate client-side shorevector cache if it's size changed Tests: connected to a server running craggy
19 Days Ago
Merge: from main
19 Days Ago
Update: StableObjectArray rewrite - version 2 - Replaces PlayerCache on the server in all the relevant paths Still need to do clientside projectiles stable cache before ripping it out Tests: booted into Craggy, ran around. Need to test 2p, but being stopped by some shore vector out of bounds access, hoping sync fixes it
19 Days Ago
Bugfix: StableObjectArray.StableIndexLookup was returning unbounded array Tests: booted into craggy and ran around
19 Days Ago
Update: useful bits from the first failed StableObjectArray conversion It ended up being too pervasive for my liking, going to try a simpler approach Tests: compiles as part of rewrite, but none otherwise
20 Days Ago
Update: StableObjectArray now exposes stable index lookup map (needed for transform access array jobs) - moved NativeArrayEx to Facepunch.UnityEngine plugin, enabled unsafe code, added Unity.Collections dep Tests: none, code is in the middle of breaking rewrite
20 Days Ago
Clean: dead test code removal Tests: compiles
20 Days Ago
Update: conversion to StableObjectArray - step 2, WaterLevel tests Tests: ran WaterLevel unit and perf tests
20 Days Ago
Update: conversion to StableObjectArray - step 1, AntiHack unit tests Tests: ran antihack unit and perf tests
20 Days Ago
Update: implement StableObjectArray.Repack - update unit tests to better track consistency of the state - expand StressTest to validate Repack Going to start replacing StableObjectCache in code tomorrow. Also gotta stop unit test from allocating, it takes too long Tests: ran StableObjectArrayTests
20 Days Ago
Update(tests): add StressTest unit test Next up going to try to figure out how to support Repacking Tests: ran unit tests
20 Days Ago
New: StableObjectArray, a pending replacement for StableObjectCache - added basic tests, needs more Follows TransformAccessArray API, provides similar stability guarantees as StableObjectCache but requires to be interacted with differently. Tests: ran unit tests