fix: complete retail parity stability pass
This commit is contained in:
parent
d3df4cb20a
commit
f7aa8e0eb7
131 changed files with 7765 additions and 1190 deletions
|
|
@ -12,7 +12,7 @@ namespace AcDream.App.Tests.Physics;
|
|||
|
||||
public sealed class LiveEntityOrdinaryPhysicsUpdaterTests
|
||||
{
|
||||
private const uint Guid = 0x70000071u;
|
||||
private const uint Guid = 0x50000071u;
|
||||
private const uint SourceCell = 0xA9B40039u;
|
||||
private const uint DestinationCell = 0xAAB40001u;
|
||||
|
||||
|
|
@ -37,7 +37,8 @@ public sealed class LiveEntityOrdinaryPhysicsUpdaterTests
|
|||
Rotation = Quaternion.Identity,
|
||||
MeshRefs = Array.Empty<MeshRef>(),
|
||||
ParentCellId = SourceCell,
|
||||
});
|
||||
},
|
||||
isLocalPlayer: true);
|
||||
WorldEntity entity = Assert.IsType<WorldEntity>(record.WorldEntity);
|
||||
|
||||
var remote = new AcDream.Runtime.Physics.RemoteMotion
|
||||
|
|
@ -84,6 +85,17 @@ public sealed class LiveEntityOrdinaryPhysicsUpdaterTests
|
|||
Assert.True(entity.Position.X > 192f);
|
||||
Assert.Equal(entity.Position, record.PhysicsBody.Position);
|
||||
Assert.Equal(epoch, record.ObjectClockEpoch);
|
||||
|
||||
// #320: retiring the landblock the player walked out of must not
|
||||
// sweep the still-live player into a DeferredCell park. Before the
|
||||
// ordinary-cell commit existed, FullCellId remained SourceCell and
|
||||
// this exact retirement selected the player as an affected spatial
|
||||
// root.
|
||||
live.Physics.SetPosition.ParkCollisionResidents(
|
||||
SourceCell,
|
||||
includeOutdoorCells: true);
|
||||
Assert.Equal(DestinationCell, record.FullCellId);
|
||||
Assert.True(live.Physics.IsSpatialRoot(record.Canonical));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue