Commit d76de26
Read Surface::wouldCollide out of the running game: the tile half is an oriented test, exact on 2157 of 2157 calls
An lldb breakpoint script on the 2.0.77 binary records every call the map
generator makes to the apply-stage cliff collision test while re-creating
the three oracle-vulcanus-cliff-entities regions: the box, getAABB's
output, the tile and entity verdicts, and the result. The replay places
the fixtures' own 283/885/409 cliffs.
Measured: the loader keeps rotbb's 1/8 tag, getAABB widens every rotated
box to its square, and checkTileCollisions scans that square and runs
BoundingBox::collide (a separating-axis test) per blocking tile. The
transcription agrees with the game on all 2157 calls with the port's own
lava; the shipped raw rectangle disagrees on 19, all six of #84's false
rejections among them. The loader also TRUNCATES rotbb's doubles where the
catalog rounds, one 1/256 unit on 15 of 16 corner orientations, and it
tests each cell with its raw queued orientation, which the port's raw
queue matches 2088 of 2088. The entity half is 35 kills, 5 of them a
demolisher body segment under the "far ten" run at x=1746.
Through the apply stage on the 1531 game cliffs the oriented test moves
the score from 1508/18/22/5 to 1525/6/16/0. Every leftover passed the
game's own test and dies afterwards.
No port change: the fix is a graded change with its own issue (#84).
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PiGqmKAaxnRnDXwND8rq2y1 parent 5107925 commit d76de26
6 files changed
Lines changed: 3692 additions & 0 deletions
File tree
- crates/fmw-noise/src
- docs/noise
- scripts/probes/vulcanus-cliff-wouldcollide
- test/fixtures
0 commit comments