Commit graph

2 commits

Author SHA1 Message Date
Erik
368c480bc2 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>
2026-08-30 09:44:49 +02:00
Erik
a6885aa2f0 research(render) Campaign FW0: the frame-walk pseudocode model + decomp appendix
The distilled port-ready model for FW1: camera-cell rooting, the
invisible-panel primitive (punch far-Z / seal own-depth, byte-verified
constants), the far-to-near landscape walk, the building two-pass portal
machinery with its push/pop asymmetry, the interior flood + DrawCells
passes, the view machinery, and the constants/struct anchor table. The
panel question is resolved: retail DOES draw depth-only portal-polygon
panels via DrawPortalPolyInternal - AD-117 re-invented a real mechanism
at the wrong site. FW0 is complete: oracle fixtures, replay helper,
decomp model.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-30 09:28:19 +02:00