test(render) FW3 gate: the fallback camera test pins the corrected retail cell
The total-fallback assertion pinned ViewerCellId == 0 - the pre-fix adaptation. Retail set_viewer copies the whole player Position, objcell_id included, so the fallback inherits the player cell; the re-extend-from-the-player property the test exists for is unchanged. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
f3cb4b6cc9
commit
8f8b0b9c57
1 changed files with 8 additions and 2 deletions
|
|
@ -876,9 +876,15 @@ public class RetailChaseCameraTests
|
||||||
isOnGround: true, contactPlaneNormal: Vector3.UnitZ, dt: 1f / 60f,
|
isOnGround: true, contactPlaneNormal: Vector3.UnitZ, dt: 1f / 60f,
|
||||||
cellId: 0x100, selfEntityId: 0x5);
|
cellId: 0x100, selfEntityId: 0x5);
|
||||||
|
|
||||||
Step(); // frame 1: total fallback — viewer snaps to the player, cell 0
|
Step(); // frame 1: total fallback — viewer snaps to the player
|
||||||
Assert.Equal(Vector3.Zero, cam.Position);
|
Assert.Equal(Vector3.Zero, cam.Position);
|
||||||
Assert.Equal(0u, cam.ViewerCellId);
|
// FW3 visual-gate correction: retail's set_viewer(&player->
|
||||||
|
// m_position, 1) copies the WHOLE Position — objcell_id included
|
||||||
|
// — so the fallback viewer inherits the PLAYER'S cell (0x100
|
||||||
|
// here), never 0. Rooting those frames on 0 made the walk treat
|
||||||
|
// a doorway-graze frame as outdoor (grass over the stairwell —
|
||||||
|
// the #119 family's transition arm).
|
||||||
|
Assert.Equal(0x100u, cam.ViewerCellId);
|
||||||
|
|
||||||
Step(); // frame 2: the sweep target re-extends FROM the player
|
Step(); // frame 2: the sweep target re-extends FROM the player
|
||||||
float reach = Vector3.Distance(probe.Requests[1], Vector3.Zero);
|
float reach = Vector3.Distance(probe.Requests[1], Vector3.Zero);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue