userDaniel Pcancel

3,047 Commits over 730 Days - 0.17cph!

7 Days Ago
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
7 Days Ago
Bugfix(tests): use correct array when checking overlap with other player Fixes PerfIsFlying tests, gotta fix the batched now Tests: ran perf + unit tests
7 Days Ago
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)
7 Days Ago
Clean: move IsNoClipping code to unit tests Tests: compiles
8 Days Ago
Update: ensure PlayerPos/LocalPos/Rot/... caches are initialized to accurate values when player connects Tests: none, trivial change
8 Days Ago
Clean: minor refactors - codegen Tests: none, trivial changes
8 Days Ago
Clean: remove last Jobs 2 code and branches Tests: compiles
8 Days Ago
Clean: remove all speed and flyhack state fields on BasePlayer, rely on AH counterparts Tests: ran unit tests
8 Days Ago
Clean: use AH states in unit test logic Eliminates a chunk of BasePlayer AH field usage, can remove them next Tests: ran unit tests
8 Days Ago
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
8 Days Ago
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
8 Days Ago
Clean: remove BasePlayer.UpdateSubscriptions, it was only used in unit tests - fix TestPlayer.UpdateSubscriptionsConsistency unit test Tests: ran unit test
8 Days Ago
Clean: initial pass of removal Jobs 2 code - removed hand-rolled async state machines - removed all code dependent on !UseUniTasks Tests: compiles
8 Days Ago
Merge: from culling_falsepos_improve - Update: restore culling.debugshowstats functionality Tests: built debug client standalone, used the command in editor
8 Days Ago
Update: replace editor GUIStyle with default one to allow culling.debugshowstats to work - remove UNITY_EDITOR defines Tests: built debug client standalone
9 Days Ago
Bugfix: ignore set calls if occlusionculling instance hasn't been created yet Tests: compiles
9 Days Ago
Merge: from culling_falsepos_improv - Bugfix for NRE blocking connection to the server Tests: none, trivial change
9 Days Ago
Merge: from culling_falsepos_improv - Update(debug): added a bunch of editor only debug tools to be available in standalone, in culling clientvar group - Update(debug): improved output of some of these tools Tests: used these tools on craggy and apartment
9 Days Ago
Merge: from main
9 Days Ago
Update: expose more of culling debug tools - DebugShowStats - same as PrintStats, but continuously rendered to screen - DebugDrawHiZMipChain - draw all depth mip levels on screen - DebugDrawHiZOverlay - overlay specific level of mipchain on the screen, -1 to disable Tests: used all on craggy
12 Days Ago
Bugfix: ensure rendering camera is facing same direction as apt cctv camera Tests: rented 602, looked into it - more stuff rendered
12 Days Ago
Merge: from main
12 Days Ago
Clean: get rid of OcclusionCulling.DebugFilter We already had DebugMask that represented exactly the same Tests: compiles
12 Days Ago
Update: expose more of OcclusionCulling debug - got rid of original culling.debug clientvar (superseded by debugmask which accepts a bitmask value) - added debugscreenbounds (shows screenspace bounds + resolved LOD of hiz chain) - added printstats Most of this was available in the editor, should make it easier to sus out the specific conditions of bugs Tests: used all on craggy
12 Days Ago
Update: add debugshowoccluderid to help with filtering to specific occluder Tests: used on Craggy to look at boxes
12 Days Ago
Update: couple more debug features for OcclusionCulling debug DebugLookingAt will try to resolve LODComponent (but our entity hierarchies are wild, so it fails frequently), DebugRange limits which occluders are debugged Tests: used both to target props on Craggy
13 Days Ago
Update(debug): allow to filter occlusion culling debug to just 1 specific instance via culling.debugid - added editor only way to copy id (need a way to do this in standalone) Tests: used it to isolate apartment corridor wall (still pants to use though, need something better)
13 Days Ago
Update(editor): occlusion hiz overlay - "auto-expose" depth overlay Original implementation made it very difficult to discern anything in enclosed spaces Tests: used it in apartments
13 Days Ago
Update(editor): use same color for lod level of occludee when rendering ss bounds - also added memoization of lod level Tests: none, trivial change
13 Days Ago
Update(editor): use different colors for visualizing occluidee screen-space bounds Red for dynamics, cyan for statics, purple for grid Tests: visualized swing - saw all 3 colors
13 Days Ago
Bugfix(editor): fix dynamic occludees rendering sphere in LS, instead of WS - use cached location to help detect slow updates to dynamic occludees Tests: visualized bounds of swing seats - they're no longer at origin
13 Days Ago
Merge: from main
13 Days Ago
Remerge of before due to submit race
13 Days Ago
Merge: from renderbatch_meshlod_improv - Update: reimplementation of previous bugfix to be cheaper Tests: pasted a boat, flew out and back - props were there
13 Days Ago
Optim: simplify prev bugfix, don't early initialize LOD managers Tests: pasted a boat, flew out and back - props were there
13 Days Ago
Bugfix: from renderbatch_meshlod_improv - Bugfix for disappearing props on boats Tests: paste a boat, flew out of range and back - all props present
13 Days Ago
Bugfix: fix initialization race of LODComponent on whether it's dynamic or not - Now both ToggleDynamic and OnEnable can initialize managers+occlusion When loading from network snapshot, it was toggling dynamic state before it initialized managers, leaving it in a half-dynamic, half-static state Tests: spawned a copy paste boat, all entities were present. Flew out of net range and back - all's there
13 Days Ago
Merge: from main
14 Days Ago
Merge: from furniture_occlusion_fix - Reimplement previous bugfix to retain furniture culling Tests: rendeted and tried to run in and out, abused noclip, triggered bug once
14 Days Ago
Bugfix: restore furniture occlusion culling, check both occlusion state and appt flag Tests: rented 601, ran in and out, noclipped a bunch - was able to trigger it only once(abusing noclip) instead of constantly, should be better
14 Days Ago
Merge: from main
14 Days Ago
Merge: from main
14 Days Ago
Merge: from renderbatch_meshlod_improv - Bugfix for basement doors not rendering Tests: booted into apartments island, checked all floors for doors not rendering. Checked room 101 - stuff was rendering
14 Days Ago
Bugfix: mark appartment doors a/b/c as dynamic - apartments S2P Since they move, they should've been dynamic, but it also causes them to be refreshed and have up to date occlusion state (but no idea why we need this - will chase up later) Tests: booted into apartments island, checked all floors for doors not rendering. Checekd room 101 - stuff was rendering
14 Days Ago
Update: add visible count to occlusion debug output Tests: used it on craggy while tweaking extra lod steps
14 Days Ago
Merge: from main
14 Days Ago
Merge: from renderbatch_meshlod_improv - Bugfix: opening doors should no longer cause them/others to disappear Tests: pasted many doors paste and opened door, flew back and to - all was in place
14 Days Ago
Bugfix: fix MeshLOD never unregistering from occlusion after animating - when batching gets toggled, notify batching handlers - MeshLOD will toggle culling on notif Tests: paste of many doors, opened couple doors and flew far/close - no more missing meshes
14 Days Ago
Bugfix(editor): add ResetStaticFields to OcclusionCulling - codegen Tests: spawned copypaste, restarted game in editor - print out doesn't mention lingering renderers
14 Days Ago
Merge: from main