userDaniel Pcancel

1,177 Commits over 304 Days - 0.16cph!

57 Days Ago
▍▍█▍▆█: ▌▋▆▇█▇▊ ▋▋▌▍▋ ▅▄▆▌▍▇▅▄▅▉█▌▉▆▆▉▇ █▄█▉▋▅▌▋▅▉▆▍▊▆ ▉▌▊▌ - ▉█▅▍ ▅▌▆ ▆▆▇█▋▅▅▅▇▇▌ ▉▅█▌▇▄▋▋ ▍▅▉▆▌▍ ▍█▊▅▆█▍ ▊▇█▌ ▉▇██▄▋▇▍ ▋▇ █▇▋▅▄▆▇▌ ▄▊▄██ ▌▋▉▍▄ ▌▍▍▋▍▍ ▋▋▇▇ ▍▇▆ ▆▅▉█▄ ▍▄▅▆ ▉▋▇▋▌: ▅▌▊▊▉▌ ▆▅▌█ ▊▇▋▇▇▌▄ ▌▋█▋ - ▆▌▇▊▉▌▍▊▇▅ █▅▄ ▉▌▊▊ █▉▍▅▇▅▋▊ ▅▋▋
57 Days Ago
▄▇▅▍▊▌: ▇▆▍▇█ ▉▊▌█▍▍▍▊▊▊▅▋▋▇▌▌▋ ▅▉▉▆ ▉▅▋▊▆█▇▍ ▉▊▍▄▉██▇█ ▄▊▄▄▊ - ▊▌▊█▊▌▍▉▄▇▋▅ ▍▉▄ ▌▊█▊▋▄▄▆▋▅▌▇▉▇ ▅▌█▆▌ █▌▄ ▌▌█▍ ▄▉▉▆▇█ ▍▆▉▇▆█▆▊▉ ▊▍▇▋█: █▅▌ ▉▆▍▄▄▅ ▌▌ ▊▅▋▄█▋ █▋▇█ ▆▋▋▊▄ ▍▆▍▆▄█▄▄▉▌▋▄▄ █▇▌ ▄▋█▉▆▉▉▄▌ █▉█▍▆█ ▄▌▆▄▌▄ + ▍▋▇▉▅▆ ▅▋▋▇ ▇▍▉▅▄▇▄ ▋█▊▌
57 Days 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
57 Days 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
58 Days Ago
Clean: variable rename Tests: none, trivial change
58 Days Ago
▄▇▌▇▅█: ▄▄▉▇▊▋▇▍ ▄▉▆▍▅▄█▊▆▉▇▊▋ ▋▋█▊ ▄▉▌▊ ▊▄ ▋▉▊▍▄▆▊▄█▅▌ █▌▍▊▅▍▅▇▅▇▄█▊▇▆▄▋ - ▊▅▉▇ ██▉▇█▄█▇▉▉▌, ▉▌'▇ ▌█▍▌▊ ▊▆█▋▋▄ - ▄▊▋ ▅▌█▆▉▉▄ ██▆▊▌ ▋▄ ▉▌▅ ▍▌▍▇▊▌ ▋▉▍▄ ▍▊▋▆█: █▊▅▋▄▉ ▍▆▇█ ▍▊▅▋▌▅▌ ▍▊▅▆
58 Days Ago
▌▄▆▉▉█: ▉▄▉'█ ▋█▌▋█▉▍▍ ▍ ▍▇▊▌▋ ▉▉▌▌▉▄ ▊▌▇▊▌▆█▇▅▅▌▌▊▋▌██ - ▋▊▌▄▄▇▇ ▉▅▅▉ ▄ ▄▉▊█▉ ▋▌▅ ▆▍▅▄ ▉▋▋▅ ▉ ▍▅▍▅▄▅ ▅▋▍▊▉▄ - ▄▊'▅ ▍▆▅▉▅▇, ▅▍▍ ▆▅▌█▋█▆ ▉▅▄▆ ▄▉▍▍█: ▉▋▉▅▆▄ ▆▆▄▅ ▇▉▆▍▆▌▅ ▍▌▍▆
58 Days Ago
▌▌▊▅▄▄: ▄█▍▊▆▄█ ▌▋█▄▍▇▋▊ █▆ ██▄▌▌▋▅▌▇▍▄▉▇ ▄▄▉▆ ▊▍▊▇▋▍▆█▊▄▊ ▉▄▄▇▇▉▅▊▄▆ ▆▋▌▋▌▅▇ ▇▇▇▄ ▇▅▅▊▌▍ ▊▉ ▋▇ ▅▋█▇▆ ▌▊▅▌▌▇▉ ▍█▆▌▉▌▋▌▄▆▊▉▆▍▍▋▉ ▊▉▅▇▌: ▄▄▇█▊▆ ▊▆▉█ ▋▋▅▋▇▄▇ ▌▌▌▇ - ▍▄▍▅▇▍▍ ▊▆▇▆ ▆▄▇▆█▄▆█▅▌
58 Days Ago
Bugfix: NativeList.Expand now properly clean us old list Tests: none, trivial change
58 Days Ago
▅▄▊▋█: ▌▊█▆▊▅ ▊▌▆▋▊█_▇▉▅▊▅▆▍▉▋▄ >= ▆ █▍▌█▌▇ ▄▄ ▆▉█ ▅▊▊▉▍ ▍█▄ ▍▊▄▅ ▄▆ ▍▇▄▌ ▊▅▋▌█▍ (▇▌▋▌▉ <▆) ▊█▍▌▇: ▉▍▊▆, ▄▄▊▄▉▇▌ ▋▅▍▍▍▆
58 Days Ago
▊▋▍▉▄▍: ▆▍▅▆█▌▅▋▄▄▄▋▉ - ▋█▌▄▊ █▄▅▉▅▅█ ▅█ ▆▊▄▇▌▆▊▌▇▍▌█ - ▊▋▍▉▍▄▉ ▉▋▅▋ ▊▇▄▍▌▊▋▍.▌▆█▌▄▄▊▅█▍▌▅▍ ▆▅▌▇▆▄▆▅▌▊ ▋▅'▍ ▇▄▌▇▋ ▆▊▍ ▄▅▅▌▍▉▆▌ - ▅'▊▌ ▄▌█ ▅▆ ▊▊▉█ ▌▍▉▋▋ ▅▋▊▇▅▅▊█▄▅▍ ▊█▇█▍▆▋▄▍▄▄▌▌▉ ▊▅▊▅▄: ▄▊█▅▋▌ ▊█▄▉ ▅▉▌▆▅▊▅ ▆▅▉▊ - ▆▉▋ ▊▄▌▋▌█▍▍ ▇▍▄▇▅▇▉ ▊▇ ▋▊▉▋█▆ ▉▋▌█▍▉▊█▌▄
58 Days 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
58 Days Ago
Update: mark a bunch of BasePlayer functions as static Makes it easier to build Burst jobs Tests: editor compiles
2 Months Ago
▍▋▍▍█▄: ▅▆█▉▄ ▆▌▇ ▍▋▍ ▄▊██▌▌▊█▄ ▆▍▋▍▊▉▍▋ ▋▌▍█▌█▅▊▅ ▊▄▊▄▋▊▄█ ▅▊▉▉ ▅▍ ▇▉'▇ ▌▅▉ █▌▉▇▅ ▉▅▌▉▆: ▆▇▌▊▆▊ ▋▄▉▇ ▊▉▉ ▍▇▅▊▍▉▌ █▊▍▅
2 Months Ago
▆▋▅█▇▍: ▄▊▉▍▍ ▋▄▋ ▄▇▄▋█▋▉▄▋ ▆▋▉▆▊▋▇▄ ▊▅▉▇ ▉▅▊▊█▋▋▅▌▇ ▉▊▊▍▅ ▉▍▉▅▅: ▆▄▌▋▋▋ ▇▍▆▌ ▆▊█▇▉▆▇ ▅▄▍▌
2 Months Ago
▋▌▄▌▍▆: ▊▅▆▌▋█▍▅▍ █▋▌ ▇▉▅▇▆▅█▊▊ ▋▍▍▍▌▍█▆ ▇▊▊ ▄▋█▌█▉ ▋▌▊▉▊▋ ▆▊▇▉▉: ▇▊▌ █▇▊▌▆▆▌ ▌▉▉▌ ▉▌▅▋▊▅▆▍
2 Months Ago
▉▉█▅▇▆: ▄▅▆ ▌▌▅█▍▇▉ ▇▍▅█ ▄▇ ▌▇▊▉ ▋▌▋█▄▋ ▊▆█▄▄ ▅▋▅▆▊▌▊▉.▌▍█▌▊▇▄▉ ▍▍▅▊▄: █▌▉▆
2 Months 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
2 Months Ago
Update: Integrate TickInterpolatorCache into the server flow Tests: played back staging demo, once with it enabled from start, another with disabling-enabling it multiple times during playback. Both cases had comparable telemetry numbers
2 Months Ago
Bugfix: avoid writes past the end of the buffer Tests: ran unit tests
2 Months Ago
Update: Adding last missing API - TickInterpolatorCache.TransformEntries - added tests to cover it Tests: ran unit tests
2 Months 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
2 Months Ago
Clean: add a comment Tests: none, trivial change
2 Months Ago
Tests: validate PlayerTickIterator in it's initial state Tests: ran unit tests
2 Months Ago
Tests: Add more edge case testing - Testing 1 tick only - Testing up to capacity ticks Tests: ran unit tests
2 Months Ago
Bugfix: TickInterpolatorCache now properly handles "Reset" position - Fixed unit tests Tests: ran unit tests - all tests now pass
2 Months 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
2 Months Ago
Update: translate ValidateMove to batched ValidateMoves Internally it's the same logic for now, as I've yet to properly intergrate TickInterpolatorCache and need to convert a lot of internal methods Tests: played back staging demo - got same numbers and no new errors
2 Months Ago
Update: made some caches stable across frames Tests: played back staging demo - no new errors and stats match expected
2 Months Ago
Clean: simplify call Tests: none, trivial change
2 Months Ago
Merge: from parallel_validatemove Tests: none
2 Months Ago
Merge: from parallel_validatemove - bugfix for invalid transforms in the cache - fallout from previous bugfix Tests: played back staging demo - counts as expected and no more errors about transform cache inconsistency
2 Months Ago
Bugfix: fix transform cache rebuild loop Previously threw away dirty indices too early, missing on some player cache changes Tests: played back the staging demo - no more error logs about transfomr cache inconsistency
2 Months Ago
Update: consolidate debug logic - Also ValidatePlayerCache fixed to actually check for native-null players I'm hoping I won't need this after tomorrow, but keeping it fixed to use for testing on staging for a bit Tests: ran through the staging demo - notifced it's picking up an issue from the prev merge, will fix shortly
2 Months Ago
Merge: from parallel_validatemove Tests: none, no conflicts
2 Months Ago
Merge: from parallel_validatemove - Bugfix for null players in PlayerCache causing UsePlayerUpdateJobs to get disabled Tests: played back staging demo - got similar results
2 Months Ago
Clean: fixing broken whitespaces that I spotted with the merge Tests: none, trivial change
2 Months Ago
Merge: from main Tests: none, no conflicts
2 Months Ago
Bugfix: PlayerCache now tracks players that are removed from the server Original impl left a space where it could miss some of the players, leading to rogue nulls. Tests: played back staging demo - had same numbers
2 Months Ago
Merge: from parallel_validatemove Tests: none (resolved into dest version)
2 Months Ago
Update: adapted code to PlayerCache change - FinalizeTickParallel now uses `player.StableIndex` as indirection, instead of iterator index - Updated validation checks - Transform caching job now checks for invalid transform accessses Tests: ran all relevant unit tests, played back staging demo - got comparable numbers
2 Months Ago
Merge: from parallel_validatemove - fixing one of validation checks silently passing Tests: none, trivial change
2 Months Ago
Bugfix: one of validation checks was doing nothing Tests: none, trivial change
2 Months Ago
Merge: from parallel_validatemove Tests: none, no conflicts
2 Months Ago
Clean: Lenght -> Length Tests: compiles in editor
2 Months Ago
Merge: from parallel_validatemove - Removing extra logging Tests: built server locally
2 Months Ago
Clean: removing BasePlayer OnDisable/-Destroy logs for UsePlayerUpdateJobs Got confirmation that it's not Unity nuking the objects, so something else must be afoot. Tests: built server locally
2 Months Ago
Merge: from main Tests: none, no conflicts
2 Months Ago
Update: fix TickInterpolatorCache tests and update it's API - No longer tracks player count - Made API focus on Expand -> Replace(index) flow - makes it easy to work with PlayerCache Tests: ran unit tests
2 Months Ago
Update: PlayerCache now guarantees spatial stability - Updated it's direct tests (will update rest next) Updated interface, although compatible with existing code, will lead to breakages, so I'm slowly updating the relevant code Tests: ran unit tests