checkpoint: preserve cathedral look-in investigation state
This commit is contained in:
parent
c287db8651
commit
572de1ec30
11 changed files with 757 additions and 197 deletions
|
|
@ -138,6 +138,13 @@ internal sealed partial class RetailPViewPassExecutor :
|
|||
private readonly Dictionary<uint, int> _singleCellClipRouting = new(1);
|
||||
private readonly Dictionary<uint, int> _noCellClipRouting = new(0);
|
||||
|
||||
// ACDREAM_PROBE_WALK_ROOT / cathedral FW4: observation-only counters.
|
||||
// They distinguish the walk-owned far-Z portal punches from the retired
|
||||
// legacy look-in punch route. RetailPViewRenderer samples them for the
|
||||
// diagnostic comparison after the walk-turn look-in routes have replayed.
|
||||
internal int WalkLookInPunchCountThisFrame { get; private set; }
|
||||
internal int LegacyLookInPunchCountThisFrame { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// Borrowed until the next late landscape pass. The outdoor-root post-world
|
||||
/// particle pass consumes this synchronously before another PView frame.
|
||||
|
|
@ -181,7 +188,11 @@ internal sealed partial class RetailPViewPassExecutor :
|
|||
{
|
||||
_particleClassifications.BeginFrame();
|
||||
if (AcDream.Core.Rendering.RenderingDiagnostics.ProbeWalkRootEnabled)
|
||||
{
|
||||
AcDream.Core.Rendering.RenderingDiagnostics.WalkRootPhase = "pre";
|
||||
WalkLookInPunchCountThisFrame = 0;
|
||||
LegacyLookInPunchCountThisFrame = 0;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>Campaign FW3.2b-2: the shared dispatcher, for
|
||||
|
|
@ -596,8 +607,19 @@ internal sealed partial class RetailPViewPassExecutor :
|
|||
public void DrawLookInPortalPunch(
|
||||
RetailPViewFrameInput frame,
|
||||
RetailPViewCellSliceContext context,
|
||||
int portalIndex) =>
|
||||
int portalIndex)
|
||||
{
|
||||
if (AcDream.Core.Rendering.RenderingDiagnostics.ProbeWalkRootEnabled)
|
||||
{
|
||||
LegacyLookInPunchCountThisFrame++;
|
||||
Console.WriteLine(
|
||||
$"[lookin-punch] source=legacy viewer=0x{frame.ViewerCellId:X8} "
|
||||
+ $"root=0x{frame.RootCell.CellId:X8} cell=0x{context.CellId:X8} "
|
||||
+ $"portal={portalIndex} planes={context.Slice.Planes.Length} "
|
||||
+ $"phase={AcDream.Core.Rendering.RenderingDiagnostics.WalkRootPhase}");
|
||||
}
|
||||
DrawPortalDepthWrite(context, frame, forceFarZ: true, portalIndex);
|
||||
}
|
||||
|
||||
public void DrawUnattachedSceneParticles(
|
||||
RetailPViewFrameInput frame,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue