fix: complete retail parity stability pass
All checks were successful
CI / linux-portable (push) Successful in 3m41s
CI / windows-gate (push) Successful in 6m49s
CI / release (push) Successful in 3m22s

This commit is contained in:
Erik 2026-08-28 20:01:39 +02:00
parent d3df4cb20a
commit f7aa8e0eb7
131 changed files with 7765 additions and 1190 deletions

View file

@ -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);
}