fix #131 (root cause): look-in cells draw their emitters - the cell-particles pass was missing from the #124 sub-pass
The teleport capture pinned it: walking into the portal flipped pCell to 0xA9B4017A - the hall's PORCH EnvCell. The swirl emitter is owned by a static inside another building's cell. Outdoors the merge path runs the main per-cell pass incl. DrawCellParticles -> visible; under an interior root the #124 look-in sub-pass drew shells + statics but had no cell-particles call. Retail's nested DrawCells draws objects WITH their emitters (DrawObjCellForDummies pc:432878+). Fix: DrawBuildingLookIns pass 2 invokes DrawCellParticles per look-in cell with its static bucket. The owner-cone verdicts were geometrically correct all along (0xC0A9B462 = a porch torch); fixes 1-2 were real-but-adjacent (the unattached pass plugs an independent hole; the alpha deferral fixed #132). Suites: App 260+1skip / Core 1439+2skip / UI 420 / Net 294 green. Awaiting the swirl gate. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
a07279dfd1
commit
47f32cd45c
2 changed files with 49 additions and 10 deletions
|
|
@ -4635,15 +4635,27 @@ the landscape stage is now TWO phases per frame — EARLY per slice: sky,
|
|||
terrain, outdoor static meshes (the look-in punches need their depth, the
|
||||
#117 lesson); then the #124 look-ins; then LATE per slice: outside-stage
|
||||
dynamics' meshes + ALL attached scene particles + weather + the
|
||||
unattached pass. Outdoor roots keep their existing order (no look-ins in
|
||||
the stage; net order unchanged). Residual (documented, AP-34): under
|
||||
OUTDOOR roots slice particles still draw before merged building
|
||||
interiors (the outdoor sibling of this bug, unreported); building
|
||||
exteriors' own translucent batches draw early.
|
||||
unattached pass. (This FIXED #132 indoors but not the portal.)
|
||||
|
||||
**ROOT CAUSE (fix 3 — the real one, pinned by the teleport capture):**
|
||||
walking into the portal flipped `pCell` to **0xA9B4017A — the hall's
|
||||
porch EnvCell**. The portal's swirl emitter is owned by a STATIC inside
|
||||
ANOTHER BUILDING'S CELL, not an outdoor entity at all. Outdoors the
|
||||
hall's cells merge into the main frame and the per-cell object pass
|
||||
runs `DrawCellParticles` → swirl visible. Under an interior root the
|
||||
#124 look-in sub-pass drew the far cells' shells + statics but had NO
|
||||
cell-particles call — retail's nested DrawCells draws objects WITH
|
||||
their emitters (`DrawObjCellForDummies`). Every earlier suspect
|
||||
(unattached pass, owner-cone verdicts, alpha ordering) was real-but-
|
||||
adjacent; the cone math was correct all along (the 0xC0A9B462 flips
|
||||
were a porch torch, geometrically defensible).
|
||||
|
||||
**Fix 3:** `DrawBuildingLookIns` pass 2 invokes `DrawCellParticles` per
|
||||
look-in cell with its static bucket (same callback as the main per-cell
|
||||
pass; no-clip slice when the cell has no slot).
|
||||
|
||||
**Gate:** stand inside, look out the doorway at the town portal — the
|
||||
swirl renders through the door; the candle flame (#132) stays visible
|
||||
with the through-opening behind it.
|
||||
swirl renders through the door.
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue