feat(render) Campaign FW1: flood decomp appendix + the visibility math port
The second decomp round (flood bookkeeping/propagation, view-clip support, landscape visibility) is archived Ghidra-arbitrated - it caught a load-bearing BN inversion (InsCellTodoList pops NEAREST-first, which is what makes the draw list far-to-near) and three more traps (the 192m elided constant, the min/max double positional swap, the copy_view cross order - the walk doc section 6 is corrected). WalkVisibilityMath ports get_pt_limit @0x0054b840, get_clip_height @0x0054cff0, corner/block_plane_check @0x0054b930/@0x0054d060, block_check @0x0054dc50, and viewconeCheck @0x0054c250 with retail boundary semantics (strict cull, inclusive partial, touch-out=Outside / touch-in=EntirelyInside) under 23 focused tests. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
0926b55eaf
commit
368c480bc2
4 changed files with 1138 additions and 2 deletions
|
|
@ -206,8 +206,12 @@ unreachable (every listed cell was `curr_view_push`ed).
|
|||
- `Render::copy_view` @0x0054dfc0 — appends ONE view: perspective-divided
|
||||
screen points (drop near-duplicates/collinear within ~1 px; <3
|
||||
survivors ⇒ reject; cap 31), bounds, and per-edge WORLD-space planes
|
||||
(`N = normalize(cross(ray_i, ray_i+1))`, `d = −dot(N, viewpoint)`).
|
||||
`copy_view(dest, null, 4)` = the full-viewport root quad.
|
||||
(`N = normalize(cross(ray[k+1], ray[k]))` — NEXT × CURRENT, corrected
|
||||
2026-08-30 by the flood-read appendix against Ghidra; an earlier
|
||||
revision of this line had the operands reversed —
|
||||
`d = −dot(N, viewpoint)`). `copy_view(dest, null, n)` = the
|
||||
full-viewport root quad (count ignored). Full extraction:
|
||||
`2026-08-30-fw-flood-pseudocode-appendix.md`.
|
||||
- `PView::GetClip` @0x005a4320 — projects the portal polygon
|
||||
(`xformStart`), reverses winding for NEGATIVE side, and (do_clip)
|
||||
clips via `ACRender::polyClipFinish` against the installed view. ≤32
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue