branchrust_reboot/main/remove_jobs2cancel
28 Commits over 0 Days - Infinitycph!
Bugfix: expand TickDeltaTime & TickNeedsFinalizing server state arrays as players join
Prevents NRE when server gets >32 players - missed this during rewrite
Tests: compiles
Update: Codegen
Tests: compiles
Clean: pass around ReadOnly instead of mutable collection where possible
Tests: compiles
Bugfix(tests): make sure PerfIsNoClipping properly cleans up spawned gameobjects
- also cleaned up some leftover deltaTime arrays in tests
This was messing up tests further in the queue
Tests: ran AH perf and unit tests
Bugfix: fix out of bounds write
Tests: ran unit test combination that previously failed - now passes
Clean: remove AntiHack.DeltaTimes persistent buffer
Was used to cache tick times, but now we cache it in PlayerStates
Tests: ran AH perf and unit tests - stumbled on an unrelated(I think? suspicious) bug
Update: move tickDeltaTime and tickNeedsFinalizing into it's own state arrays
Cleans a stale TODO
Tests: booted craggy and ran around
Bugfix(tests): remove test assertion that can sporadically fail
Since we run some checks in parallel, some state results are unreliable
Tests: ran unit tests as a batch and each in isolation
Bugfix(tests): ensure env volumes get cleaned between TestIsFlyingConsistency runs
Found a test that fails when run in isolation
Tests: ran unit tests
Bugfix(tests): use test state caches for PlayerState
Fixes failures from previous change. Spotted a bug that should cause a failure, yet it passes somehow - will investigate next
Tests: ran AH perf and unit tests
Update: move generic AH state from BasePlayer to AH.PlayerState struct
Tests: ran AH tests, perf tests failing (will fix next)
Bugfix: add missing reset call for noclip states
- also minor refactor
Tests: ran unit tests
Clean: minor refactor
- remove dead prop
- wrap unparentTime in prep for moving to it's own state array
Tests: compiles
Bugfix(tests): use passed in array instead of global static when checking overlap with player
Same bug as before but on a batched path - guess I was sleep deprived yesterday.
Tests: ran all AH perf and unit tests - they pass
Bugfix(tests): use correct array when checking overlap with other player
Fixes PerfIsFlying tests, gotta fix the batched now
Tests: ran perf + unit tests
Clean: move noclip state from BasePlayer to AntiHack.PlayerNoclipState
Tests: ran all AH tests, unit tests pass but perf tests fail (for flying checks, will fix next)
Clean: move IsNoClipping code to unit tests
Tests: compiles
Update: ensure PlayerPos/LocalPos/Rot/... caches are initialized to accurate values when player connects
Tests: none, trivial change
Clean: minor refactors
- codegen
Tests: none, trivial changes
Clean: remove last Jobs 2 code and branches
Tests: compiles
Clean: remove all speed and flyhack state fields on BasePlayer, rely on AH counterparts
Tests: ran unit tests
Clean: use AH states in unit test logic
Eliminates a chunk of BasePlayer AH field usage, can remove them next
Tests: ran unit tests
Clean: rewrite internal unit test methods to use PlayerServerState struct
Done in prep to switch to custom AH states from Jobs 3
Tests: ran unit tests
Clean: got rid of Jobs 2 branches in AntiHack code
- also moved serial IsSpeeding and IsFlying from AntiHack to Test.AntiHackTestsSetup
Keeping them so that we can still use those to validate batched logic
Tests: ran unit tests
Clean: remove BasePlayer.UpdateSubscriptions, it was only used in unit tests
- fix TestPlayer.UpdateSubscriptionsConsistency unit test
Tests: ran unit test
Clean: initial pass of removal Jobs 2 code
- removed hand-rolled async state machines
- removed all code dependent on !UseUniTasks
Tests: compiles