fix(render) Campaign FW3.2b-2: scenery buckets need the streaming recenter
The owner watched the first passing lifecycle run and reported most outdoor scenery not rendering (terrain/buildings/interiors fine, no seams). Root cause: retained-scene record positions are RENDER-ORIGIN- RELATIVE (each landblock carries (lbX - CenterX)*192 offsets), but the walk world data bucketed outdoor statics by treating them as absolute - garbage landblock bytes, so the walk's landscape-cell turns read empty buckets and trees/rocks/fences never drew. LandscapeCellId now adds the frame's RenderCenterLbX/Y back to the relative block index, producing the TRUE cell ids the walk's OnLandscapeCellTurn emits. Buildings and cell statics were unaffected (id-keyed, not position-bucketed). The same run confirmed the campaign thesis live: NO SEAMS at the doorway class under walk order + retail depth, with the lift hack still present (its retirement is FW3.3). Suites: hermetic 6,750/0. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
1e1a0d9318
commit
1955a0d5f1
2 changed files with 41 additions and 14 deletions
|
|
@ -1167,7 +1167,11 @@ public sealed class RetailPViewRenderer
|
|||
Walk.WalkCell? cameraCell,
|
||||
Walk.WalkLandscape landscape)
|
||||
{
|
||||
_walkWorldData!.BeginFrame(_sceneFrameProduct!.SceneQuery, ctx.PlayerLandblockId ?? 0u);
|
||||
_walkWorldData!.BeginFrame(
|
||||
_sceneFrameProduct!.SceneQuery,
|
||||
ctx.PlayerLandblockId ?? 0u,
|
||||
ctx.RenderCenterLbX,
|
||||
ctx.RenderCenterLbY);
|
||||
|
||||
Action clearInteriorDepth = () =>
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue