fix: complete retail parity stability pass
This commit is contained in:
parent
d3df4cb20a
commit
f7aa8e0eb7
131 changed files with 7765 additions and 1190 deletions
|
|
@ -109,4 +109,36 @@ public class InteriorEntityPartitionTests
|
|||
Assert.Empty(result.Dynamics);
|
||||
Assert.Empty(result.OutdoorStatic);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void FrustumRejectsWholeLandblockBeforeWalkingItsEntities()
|
||||
{
|
||||
const uint culledLandblock = 0xA8B4FFFFu;
|
||||
const uint cameraLandblock = 0xA9B4FFFFu;
|
||||
var culled = Ent(10, serverGuid: 0x80000010u, parentCell: OutdoorCell);
|
||||
var camera = Ent(11, serverGuid: 0x80000011u, parentCell: OutdoorCell);
|
||||
var entries = new[]
|
||||
{
|
||||
(culledLandblock,
|
||||
new Vector3(10f),
|
||||
new Vector3(11f),
|
||||
(IReadOnlyList<WorldEntity>)new[] { culled },
|
||||
(IReadOnlyDictionary<uint, WorldEntity>?)null),
|
||||
(cameraLandblock,
|
||||
new Vector3(10f),
|
||||
new Vector3(11f),
|
||||
(IReadOnlyList<WorldEntity>)new[] { camera },
|
||||
(IReadOnlyDictionary<uint, WorldEntity>?)null),
|
||||
};
|
||||
|
||||
InteriorEntityPartition.Result result =
|
||||
InteriorEntityPartition.Partition(
|
||||
new HashSet<uint>(),
|
||||
entries,
|
||||
FrustumPlanes.FromViewProjection(Matrix4x4.Identity),
|
||||
neverCullLandblockId: cameraLandblock);
|
||||
|
||||
Assert.DoesNotContain(culled, result.Dynamics);
|
||||
Assert.Equal(camera, Assert.Single(result.Dynamics));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue