userDaniel Pcancel
branchrust_reboot/main/useplayerupdatejobs3cancel

30 Commits over 28 Days - 0.04cph!

Yesterday
Clean(tests): replace more handrolled index set generation with AntiHackTests.GenerateIndexPermutations Tests: ran all afected tests
Yesterday
Bugfix(tests): use 1^-5 epsilon for water level consistency in TestWaterLevelsConsistency Tests: ran unit test
Yesterday
Merge: from main
Yesterday
Merge: from main
2 Days Ago
Merge: from main
2 Days Ago
Merge: from useplayerupdatejobs3/free_tasks - New: fork of Cysharp/UniTask with less allocs - Optim: reduce allocs around tasks in Jobs 3 mode Tests: jobs3 on craggy with 2 players, built client and booted
8 Days Ago
Merge: from defer_tick_analytics - Optim: start analytics tasks earlier to avoid blocking main thread Tests: Jobs3 on craggy in editor
8 Days Ago
Optim: save on action alloc when setting up tasks for UpdateSubs_AsyncState Tests: none, trivial change
8 Days Ago
Merge: from main
8 Days Ago
Merge: from updatesubs_optim - Optim: player subscriptions can be updated in parallel (Jobs 3 feature, currently disabled) - New: unit & perf tests for net group updating Tests: unit tests
16 Days Ago
Clean: refactored NoClip perf tests to use Utils.MeasureAndPrint Tests: ran noclip perf tests
16 Days Ago
Clean: fix stream of warnings from running AntiHackTests Tests: ran noclip tests
16 Days Ago
Update(tests): added perf tests for IsSpeeding and AreSpeeding AreSpeeding is slower at 50 players, but faster at 200 players (probably transient allocs). Tests: ran unit tests
16 Days Ago
Clean: simplify TestNoClipConsistency unit test Tests: ran updated unit test
17 Days Ago
Bugfix: uncomment tickState caching Left it commented because I thought it would help with unit test validation, but it's completelly unrelated to my unit tests. Tests: on Craggy tried to sprint with UsePlayerUpdateJobs 0
17 Days Ago
Update(tests): cover all speedhack_protection levels in tests Tests: ran unit tests
17 Days Ago
Update: expand isspeeding test coverage by generating index permutations Revealed a bunch of false-positive access violations, fixed by sprinkling NativeDisableParallelForRestriction (hate it) Tests: ran unit tests
17 Days Ago
Update: add a couple more test positions for unit tests Tests: tests pass
17 Days Ago
Update: move normal calculation logic to HeightMapQueryStructure - Give couple methods a rename Tests: ran unit tests
17 Days Ago
Bugfix: basic arespeeding unit tests now pass - use the right interpolators for IsSpeeding - add overloads to TerrainHeightMap.GetNormalsIndirect and antihack specific jobs to accept deferred arrays - make IsSpeeding work on CachedState Tests: ran unit tests
18 Days Ago
Update: add basic consistency unit tests for AntiHack.IsSpeeding and AreSpeeding Currently fail, as I forgot to adjust the IsSpeeding logic after state cache changes. Tests: ran unit tests
20 Days Ago
Update: shifting job dependency downstream Tests: none, trivial change
20 Days Ago
Update: added AntiHack.AreSpeeding - (almost) fully jobbified version of IsSpeeding Only active with UsePlayerUpdateJobs 3. Needs unit tests, will do that later. Tests: booted on craggy with UsePlayerUpdateJobs 3 and ran around.
20 Days Ago
Buildfix: type missmatch Tests: editor compiles
20 Days Ago
Update: add BasePlayerJobs.CalcPlayerSpeedJob Tests: none
20 Days Ago
Update: add ScatterValueToJob utility job Tests: none
20 Days Ago
Update: add TerrainHeightMap.GetNormalsIndirect Tests: none
20 Days Ago
Buildfix: fix up missed renames Tests: unity compiles
20 Days Ago
Update: AntiHack now track it's own persistent cache of player states - base player internals redirect to the cache when jobs 3 is set Gets synced when player enters and leaves player cache (even if they're disconnecting). This allows us to change jobs level without mesing up player state. Tests: none, WIP
20 Days Ago
Update: Gather more player state for Jobs3 work - rewrite how we add to/remove from PlayerCache to add custom handling for specific systems (needed for AntiHack) Tests: none