All Rust commits from Facepunch
Update: TestConsistency now validates repl projectiles as well Test: ran the unit test
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
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
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
Update: projectile tests against players with shields Test: ran new unit tests
Update: rewrite TestProjectileWater to attempt to hit a player in water Tests: ran new TestProjectileWater - pass all
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
compile fix
Update: projectile-water test via Craggy Pretty close to covering all cases Tests: ran new tests
Update: Projectiles that are managed by unit tests only run 1 substep Tests: projectile unit tests now pass
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
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)
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
Clean: minor comment fix Tests: none, trivial change
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
Add: new Projectile vs world base entity tests Tests: ran the unit tests
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
Update: working TestProjectileBaseline baseline test Was more complicated than expected, but we got there. Tests: ran the unit test
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
Update: started work on projectile unit tests Incomplete, will continue tomorrow. Tests: none, it's too derpy