userDaniel Pcancel

2,836 Commits over 700 Days - 0.17cph!

1 Year Ago
Update: PlayerInventory.CanWear no longer allocates an extra array - BufferList.CopyFrom now clears orphaned range, to avoid holding references to managed objects Tests: gave myself 2 maps - they correctly avoided being both on the belt
1 Year Ago
Update: pool ToArray allocation in PlayerInventory.WearItemCheck - BufferList now can copy from List Tests: equipped armor while wearing armor
1 Year Ago
Merge: from parallel_validatemove - Clearing 2 TODOs Tests: unit tests
1 Year Ago
Clean: remove minor TODOs - append Job to the last burst job without it - Replace .Add with AddNoResize Tests: uni tests
1 Year Ago
Merge: from main Tests: none, no conflicts
1 Year Ago
Clean: fixing various whitespace issues and unused "using" statements Tests: compiles in editor
1 Year Ago
Merge: from main Tests: ran unit tests
1 Year Ago
Update: add profiling scopes to search-component parts of GamePhysics.CheckSphere<T> and CheckCapsule<T> This is a slow path if there are many terrain/water volumes being hit Tests: none
1 Year Ago
Tests: GamePhysics tests now contain cases with both water and terrain ignore volumes This is kind of a bug fix, since it wasn't testing both paths, but ah well Tests: ran unit tests
1 Year Ago
Clean: remove unused NativeList Tests: none, trivial change
1 Year Ago
Clean: removing dead code Tests: compiles
1 Year Ago
Update: add GamePhysics.TraceSphere and TraceSphereUnordered - added GamePhysics.Sort(NativeArray...) - replaced some inline code with TraceSphere call Works the same as Trace(>0 radius) and TraceUnordered(>0 radius) Tests: unit tests + staging demo playback
1 Year Ago
Update: add GamePhysics.TraceRays and TraceRaysUnordered - works the same as Trace(0 radius) and TraceUnordered(0 radius) - Replaced some inlined code with a call to TraceRays Tests: ran unit tests
1 Year Ago
Optim: use Burst to generate commands in GamePhysics.OverlapSpheres - It used to be there, but lost it during refactor Tests: unit tests
1 Year Ago
Clean: minor changes to GamePhysics - Renamed batch methods to be plural - Split GamePhysics.CheckSphere<T> to separate OverlapSpheres - added profiling scopes Tests: unit tests
1 Year Ago
Update: move RemoveTerrainMask to GamePhysics Tests: unit tests
1 Year Ago
Update: move GenerateCheckCapsuleQueries to GamePhyics and utilize Tests: ran unit tests
1 Year Ago
Update: split GamePhysics.CheckCapsule<T> - forbid CheckCapsule(batch) from returning ColliderHits - this is to better represent relationship to non-batched CheckCapsule Tests: unit tests
1 Year Ago
Update: adding GamePhysics.CheckCapsule(batch) Last factored out func - should be able to complete refactor shortly Tests: none, will integrate to tests next
1 Year Ago
Bugfix: fixing native allocation leaks in tests Tests: ran the tests with leak detections enabled
1 Year Ago
Update: GamePhysics.CheckCapsule<T>(batch) internalized layermask handling There's room for optims, but not going to pursue them for now - will test later how the perf deteriorates with the new APIs. Tests: ran relevant unit tests
1 Year Ago
Update: GamePhysics.CheckSphere(batch) now able to handle mask validation internally - Renamed GamePhysics.IgnoreCollision to MasksToValidate (prev name could be misleading and confusing) - undid sphere command building as that wasn't meshing well with MasksToValidate flow - Added UtrilityJobs.GatherJob<T> (will need to go through other code and clean up similar/same jobs) I still need to update GamePhysics.CheckCapsule, and replace inlined code with new versions Tests: all relevant unit tests
1 Year Ago
Clean: simplify NativeList.CopyFrom<T>(ReadOnly) Tests: none, trivial change
1 Year Ago
Update: Rewrite GamePhysics.HandleIgnoreCollision(batch) to allow for explicit control of what exclusion volumes to check Tests: ran updated test
1 Year Ago
Update: adding GamePhysics.HandleIgnoreWater - comes with it's own consistency test Going to use those to try to refactor some of the existing code and hopefully shrink it Tests: ran new test
1 Year Ago
Tests: adding tests that generate various "HandleIgnoreCollision" scenarios - added TestHandleIgnoreTerrainConsistency Covers both TerrainCollisionTrigger and WaterVisibilityTrigger. Tests: ran the new unit test, checked that all paths all covered.
1 Year Ago
Optim: GamePhysics.HandleIgnoreTerrain - replace const seting managed loop with a Burst job Saves 0.1ms on 10k test Tests: ran unit test
1 Year Ago
Optim: allocate smaller buffers for WaterCollision.GetIgnoreIndirect - Added a couple profiling scopes Tests: unit tests
1 Year Ago
Bugfix: when we're missing TerrainCollision or WaterCollision, run all of the physics checks for trigger volumes - Added UtilityJobs namespace, moved FillJob<T> to it - Added a utility extension to NativeList<T> to copy from NativeArray<T>.ReadOnly (surprised it's missing) Tests: all relevant unit tests
1 Year Ago
Clean: remove GamePhysics.OverlapSphere(batch) and GamePhysics.OverlapCapsule(batch) - These have been inlined into CheckSphere<T> and CheckCapsule<T> - Also updated CoarseQueryGrid.CheckJobIndirect(capsule) (returns JobHandle, works on a NativeList) since I missed it in previous commit Tests: ran all unit tests
1 Year Ago
Update: CoarseQueryGrid - add non-indirect CheckJob API - Also changed the API to return a JobHandle and accept a NativeList Helps avoid extra busy work when we run direct work Tests: ran unit tests
1 Year Ago
Bugfix: prevent WaterCollision.GetIgnore from returning garbage values Another case that's the same as previous Tests: none, trivial change
1 Year Ago
Clean: move all CoarseQueryGridJobs to it's own namespace - rename the jobs to avoid duplication with namespace Tests: compiles in editor
1 Year Ago
Bugfix: make sure TerrainCollision.GetIgnore doesn't return garbage values Same bug as in WaterCollision that I fixed last friday. Tests: none, trivial change
1 Year Ago
Bugfix: WaterCollision.GetIgnoreIndirect properly fills entire result set Tests: ran unit tests + staging demo playback
1 Year Ago
Tests: adding TestWaterIgnoreConsistency to further narrow down what is going wrong Tests: ran new unit test, it does fail as begrudgingly expected
1 Year Ago
Optim: FinalizeTickParallel - use a burst job to gather players to validate for tick history - Cleaned up a bunch of code by switching to NativeList from NativeArray - more TickInterpolatorCache usage Tests: staging demo playback
1 Year Ago
Update: adding HandleIgnoreTerrain that works on a batch of positions - also ninja-fixing a bug in batch overload of HandleIgnoreCollisions that screwed layermasks - good thing it wasn't used anywhere Tests: ran unit tests
1 Year Ago
Merge: from parallel_validatemove/stable_playercache Promoting stable player cache version as main dev direction Tests: none, no conflicts
1 Year Ago
Clean: consolidate some work buffers Tests: ran staging demo
1 Year Ago
Update: merge NativeList.Expand and NativeList.ExpandAndClear - Rewrote the Expand branching logic to be simpler Realized that Expand(false) always leads to a Clear - so there's no point in having ExpandAndClear
1 Year Ago
Update: Add NativeList.ExpandAndClear - also fixed invalid check in NativeList.Expand that was comparing against list length instead of capacity, potentially causing more reallocs than necessary Tests: none, trivial change
1 Year Ago
Clean: variable rename Tests: none, trivial change
1 Year Ago
Bugfix: NativeList.Expand now properly clean us old list Tests: none, trivial change
1 Year Ago
Update: TickInterpolatorCache exposes state via ReadOnly property - Reroute all accessors and logic via static methods that take in ReadOnlyState This enables to pass entire TickInterpolatorCache into a burst job Tests: ran unit tests
1 Year Ago
Update: mark a bunch of BasePlayer functions as static Makes it easier to build Burst jobs Tests: editor compiles
1 Year Ago
Update: Split various tick validation functions into smaller loops - Added a couple small extension utils to NativeList This helps isolate code that we'll be able to run as Burst jobs - there's a bit more to split Tests: Staging demo playback - got comparable results
1 Year Ago
Update: Adding last missing API - TickInterpolatorCache.TransformEntries - added tests to cover it Tests: ran unit tests
1 Year Ago
Update: Adding TickInterpolatorCache.PlayerTickIterator to help with code migration - Expanded unit tests to cover the new util and a couple more code paths Tests: none. Tests are currently failing as I uncovered a different issue - will fix in next CL
1 Year Ago
Optim: TickInterpolator.TestConsistency - Replace Assert.IsTrue with AssertTrue wrapper that doesn't allocate - Sprinkled some scopes for future Speeds up the unit test 20x times and avoids 3.6GB of garbage Tests: ran the unit tests