branchrust_reboot/main/baseplayer_serverupdateparallel/occlusion_reworkcancel
9 Commits over 31 Days - 0.01cph!
Update: work-in-progress task splitting for server's occlusion checks
Rewrote the high level code to be able to run PlayerFound/Lost in batches on worker threads - need to confirm if it's legal
Tests: none
Update: reimplement how occlusion treats overrides
- this is a reimplementation of
118512
Allows to further simplify OcclusionLineOfSight code - enables removal of OcclusionPlayerFound/Lost
Tests: on craggy with 2 players, ran behind the hill, disappeared, turned on occlusion override - player appeared
Update: plug in batched occlusion logic
- fix early-disposed container
Need to figure out how to factor out the OnPlayerFound/Lost, but getting close
Tests: 2p on craggy in editor - walked behind the mountain and disappeared
Update: plug in new batched server occlusion job
Tests: none, need to hook up the calling code
Update: extract algorithm from ServerOcclusionJobs.CalculatePathBetweenGridsJob
Tests: inspected asssembly
Update: batched OcclusionLineOfsight skeleton
Tests: none, not engaged yet
Update: refactor server occlusion job to take out grid definition
Prep for adding a batch version
Tests: on craggy in editor with 2 players, ran behind the hill and got despawned
Update: refactor occlusion loop to be friendly for batching
Need to simplify BasePlayer.OcclusionLineOfSight before I can start working on batched job
Tests: none, no functional changes for now
UPdate: move serverocclusion caching logic a level higher
Goal is to get rid of OcclusionPlayerFound/Lost in the query, so this is first baby step
Tests: none, trivial change