userDaniel Pcancel
reporust_rebootcancel

1,405 Commits over 365 Days - 0.16cph!

18 Days Ago
Update: projectile perf test Tests: ran the perf test
18 Days Ago
Buildfix: rename UnitTests.WaterLevel to WaterLevelTests It was colliding with a non-namespace WaterLevel and causing a headache Tests: editor build in C+S
18 Days Ago
Update: refactor TestConsistency and make it cover a larger area - increased proj velocity, as it was possible for proj to start inside the shield, breaking validation Tests: ran unit test
18 Days Ago
Update: TestConsistency now validates repl projectiles as well Test: ran the unit test
18 Days Ago
Update: TestConsistency now passes - validates auth proj hit their players/shields - added utility that helps revalidate projectile hit and get more info (auth only for now) Need to expand to re-validate non-auth hits Tests: ran projectile consistency test
18 Days Ago
Update: wip fixing the consistency test - fix invalid tracking of on which frame a hit is expected - extra validation code to confirm hits to expected players - revealed missmatches Need to redo how I setup the players to avoid random overlapping Tests: ran the test
19 Days Ago
Update(wip): new comprehensive projectile test on craggy - spawns a bunch of players on craggy and drops projectiles on them Currently fails as majority of hits miss (but expect 100% hit rate) - likely bad test setup. Will investigate tomorrow Tests: ran unit tests
19 Days Ago
Update: projectile tests against players with shields Test: ran new unit tests
19 Days Ago
Update: rewrite TestProjectileWater to attempt to hit a player in water Tests: ran new TestProjectileWater - pass all
19 Days Ago
Update: extract all miss cases from projectile tests into separate case It takes the same path internally, so no point in rerunning the same test case Tests: ran all proj tests - pass
20 Days Ago
Update: projectile-water test via Craggy Pretty close to covering all cases Tests: ran new tests
21 Days Ago
Update: Projectiles that are managed by unit tests only run 1 substep Tests: projectile unit tests now pass
21 Days Ago
Update: Projectile Tests now run inside Craggy Most tests are failing because now their substepping eventually hits water/terrain - will fix next. Tests: ran unit tests
21 Days Ago
Update: TerrainTexturing - defer init in editor, relly on manual init by user This prevents it from screwing unit tests when loading scenes Tests: ran part of updates projectile unit tests (to be committed)
21 Days Ago
Update: adding mounted-player related tests - Fixed names of tests as turns out if they share a name, then all of them get executed when trying to run only one - Fixed not cleaning up palyer's physics objects at the end of tests (caused tests to fail unexpectedly when ran all together) - test projectile now has thickness (relevant to test with players in same vehicle) Tests: ran all unit tests
21 Days Ago
Merge: from autoturret_optim - Bugfix for turret not reacting to player in front when powering up (caused by me) - Bugfix for turret not identifying new target if it snuck from behind then walked in front (likely me as well) Tests: standing in front, sneak in from behind then to front, sneak damage, flying from far, depower-power turret - turret finds a target & shoots
21 Days Ago
Update: make turret scan const a servervar - called `sentry.scantimer`, default to 1s Tests: standing in front, sneak damage, flying from far, depower-power turret - it finds a target & shoots
21 Days Ago
Merge: from main Tests: none, no conflicts
21 Days Ago
Bugfix: AutoTurret no longer misses players moving it's it's FOV - Done by running scans every second when not tracking any targets Tests: walked into turret's FOV from behind. checked turret still shoots when powered up with non-auth player in front.
21 Days Ago
Bugfix: powering up auto-turret now runs a search - Simplify and clean authDirty-related code One of previous bugfixes mucked this up by allowing authDirty to desync. There's still a case that's possible, so one more fix needed. Tests: powered up the turret by standing in front of it - it started shooting correctly
23 Days Ago
Clean: minor comment fix Tests: none, trivial change
23 Days Ago
Update: projectile-entity test now covers more internal code - cleaned dead code - not sure I'll need it in the future, so to the grave it goes Tests: ran the unit tests
23 Days Ago
Add: new Projectile vs world base entity tests Tests: ran the unit tests
24 Days Ago
Merge: from autoturret_optim - Fix to auto turret not responding to shots outside of firing arc - Fix to turret not reacting to shots if it got depowered then powered up again - Fix to turret snapping to hostiles outside of it's default firing arc when powering up Tests: shot it, ran around and powered it up and down using infiniteiopower in various combinations
24 Days Ago
Bugfix: prevent turret snapping to a hostile outside of the default firing arc when powering up Tests: while hostile, depowered turret, got behind it and powered it up - it didn't snap on me until I shot it again
24 Days Ago
Bugfix: reset turret's cached visibility when unsetting the target This could cause the turret to think it doesn't have a target, yet has a visible target(unpowering the turret would cause this, for example). It prevents damage reaction. Tests: while the turret was aiming at me, disabled io power cheat. re-enabled - now responds to shots. Spotted another bug though
24 Days Ago
Bugfix: turret will respond to sneak attacks - takes 3 seconds to drop aggro that forces aiming Spotted another bug - target and targetVisible can desync Tests: spawned a turret, snuck behind, powered up, shot at it - it rotated
24 Days Ago
Merge: from main
24 Days Ago
Update: expand projectile test - Validates hits and misses, auth and replicated - renamed TestProjectileBaseline to TestProjectilePlayer (as I'll be adding more test types) Tests: ran all resulting unit tests
24 Days Ago
Update: working TestProjectileBaseline baseline test Was more complicated than expected, but we got there. Tests: ran the unit test
24 Days Ago
Update: move PlayerWalkMovement awake to init Editor unit tests don't invoke lifecycle events (awake/onenable), this change makes it easier to use the class with unit tests. Tests: in C+S editor on craggy - spawned and ran around. Also spawned a fake player - no errors
25 Days Ago
Update: started work on projectile unit tests Incomplete, will continue tomorrow. Tests: none, it's too derpy
25 Days Ago
Merge: from autoturret_optim - Speeds up AutoTurret::ServerTick by not updating nested transform hierarchy (gun_yaw and gun_pitch) Tests: deauthed gun turret shooting me from different positions/angles
25 Days Ago
Optim: avoid requiring position from a transform in AutoTurret.ServerTick Minor change, but should be helpful either way Tests: none, trivial change
25 Days Ago
Merge: from main Tests: editor builds
25 Days Ago
Clean: remove unused Transform param on AutoTurret.FireAttachedGun Tests: editor builds
25 Days Ago
Bugfix: AutoTurret now shoots in all directions Tests: gun turret with deauth
25 Days Ago
Clean: simplify code Tests: gun turret being deauthed
25 Days Ago
Bugfix: AutoTurret now correctly detects player in front of it Still need to fix shooting code. Tests: gun turret on craggy being deauthed
25 Days Ago
Update: AutoTurret - rewrite rotations via matrices instead of TRS - Delete all TRS related stuff (turns out you can't do non-uniform scaling with it :/) - Incorporate transform hierarchy up to gun_yaw This should be slower, but different PC - will re-bench once home Tests: spaend a turret and caused it to rotate different ways
28 Days Ago
Optim: AutoTurret - virtualize part of transform hierarchy on server - Breaks dependent logic - will update next This saves 75% of time in synth test of updating aiming of 1k turrets (1.29ms -> 0.32ms) Tests: perf test + debug rendering
28 Days Ago
Tests: PerfTest for AutoTurret.UpdateAiming Hacking AutoTurret's code, it suggest we can shrink this by 85% Tests: ran the perf test
28 Days Ago
Merge: from growablegenes_allocs - clean of 1 line Tests: none, trivial change
28 Days Ago
Clean: remove unused static Tests: none, trivial change
28 Days Ago
Merge: from growablegenes_alloc - reduces(removes?) junk allocs from growables Tests: editor builds + alloc unit test
28 Days Ago
Clean: unused usings Tests: none, trivial change
28 Days Ago
Merge: from main Tests: editor builds
28 Days Ago
Clean: remove Sort from BufferList Not used anywhere Tests: editor builds
28 Days Ago
Optim: don't sort slotWeights to avoid internal allocs Array.Sort(T[], IComparer<T>) in this version of mono always allocates a Comparison<T> internally. Lucky for us, we can just simplify the code and avoid this alloc. Tests: alloc unit test passes
30 Days Ago
Optim: avoid allocating compoarison delegate in GrowableGenes.PickWeightedGeneType Tests: unit test