fix: complete retail parity stability pass
This commit is contained in:
parent
d3df4cb20a
commit
f7aa8e0eb7
131 changed files with 7765 additions and 1190 deletions
|
|
@ -265,15 +265,28 @@ public class PhysicsTimestampGateTests
|
|||
}
|
||||
|
||||
[Fact]
|
||||
public void FreshForceWithNewerTeleport_UsesNormalPositionPath()
|
||||
public void FreshForceWithNewerTeleport_UsesForcePathWithoutConsumingTeleport()
|
||||
{
|
||||
var gate = new PhysicsTimestampGate();
|
||||
gate.SeedForCreateObject(10, 0, 0, 0, 20, 0, 30, 0, 1);
|
||||
|
||||
Assert.Equal(PositionTimestampDisposition.Apply,
|
||||
Assert.Equal(PositionTimestampDisposition.ForcePosition,
|
||||
gate.TryAcceptPositionEvent(1, 11, 21, 31, isLocalPlayer: true));
|
||||
Assert.Equal((ushort)11, gate.PositionTimestamp);
|
||||
Assert.Equal((ushort)21, gate.TeleportTimestamp);
|
||||
Assert.Equal((ushort)20, gate.TeleportTimestamp);
|
||||
Assert.Equal((ushort)31, gate.ForcePositionTimestamp);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void FreshForceWithWrappedNewerTeleport_UsesForcePathWithoutConsumingTeleport()
|
||||
{
|
||||
var gate = new PhysicsTimestampGate();
|
||||
gate.SeedForCreateObject(10, 0, 0, 0, ushort.MaxValue, 0, 30, 0, 1);
|
||||
|
||||
Assert.Equal(PositionTimestampDisposition.ForcePosition,
|
||||
gate.TryAcceptPositionEvent(1, 11, 0, 31, isLocalPlayer: true));
|
||||
Assert.Equal((ushort)11, gate.PositionTimestamp);
|
||||
Assert.Equal(ushort.MaxValue, gate.TeleportTimestamp);
|
||||
Assert.Equal((ushort)31, gate.ForcePositionTimestamp);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -76,13 +76,22 @@ public sealed class RetailAnimationCyclePlaybackTests
|
|||
}
|
||||
|
||||
[Fact]
|
||||
public void Advance_NonPositiveFramerateOrElapsed_ReturnsCurrFrameUnchanged()
|
||||
public void Advance_ZeroFramerateOrNonPositiveElapsed_ReturnsCurrFrameUnchanged()
|
||||
{
|
||||
Assert.Equal(3f, RetailAnimationCyclePlayback.Advance(3f, 0, 29, framerate: 0f, elapsedSeconds: 1f));
|
||||
Assert.Equal(3f, RetailAnimationCyclePlayback.Advance(3f, 0, 29, framerate: 30f, elapsedSeconds: 0f));
|
||||
Assert.Equal(3f, RetailAnimationCyclePlayback.Advance(3f, 0, 29, framerate: 30f, elapsedSeconds: -1f));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Advance_NegativeFramerate_MovesBackwardAndClampsAtLowFrame()
|
||||
{
|
||||
Assert.Equal(3f, RetailAnimationCyclePlayback.Advance(
|
||||
5f, lowFrame: 0, highFrame: 29, framerate: -2f, elapsedSeconds: 1f));
|
||||
Assert.Equal(0f, RetailAnimationCyclePlayback.Advance(
|
||||
1f, lowFrame: 0, highFrame: 29, framerate: -2f, elapsedSeconds: 1f));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void TryInterpolatePart_ExactFrame_ReturnsThatFramesPose()
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue