docs(register): file the AdjustOffset snap_to_plane and safety-threshold divergences
Both were found inside acdream's port of CTransition::adjust_offset while retiring AD-10, and neither had a register row — grep confirms no existing row mentions snap_to_plane, SnapToPlane, naturalResting, or away-plane. Filed as AD-65 and AD-66. Neither is fixed here: both change LOCAL-PLAYER movement feel and need their own visual gate, and folding them into the remote-movement change would have put a local-player regression behind the wrong acceptance test. AD-65 — the `collisionAngle > 0` arm substitutes `result -= N * angle` for retail's Plane::snap_to_plane call, making the if and else arms byte-identical. snap_to_plane (0x00509c50) writes only v.z and leaves XY alone, so acdream descends slopes 13% slow at 30 degrees and 29% slow at 45. Uphill is correct. Recorded as a LEAD for the open #269 slope-slide residual, explicitly not a diagnosis — the direction fits but nothing here establishes causation. #269's friction and jump chains are byte-exonerated and are not re-audited; adjust_offset is a different function. AD-66 — the safety push-out substitutes `radius * Normal.Z` for retail's bare `radius` in both the trigger and the zDist numerator, knowingly and with a written rationale. The rationale may be right; the missing row is the defect. The code comment's "ACE and the published pseudocode have the original threshold" understates the case — the retail binary has it. Both directions are byte-verified against the PDB-paired v11.4186 binary (GUID 9e847e2f-777c-4bd9-886c-22256bb87f32, check_exe_pdb.py MATCH), not inferred from pseudo-C: Binary Ninja renders every x87 comparison in this function as the fnstsw/test-ah mush and cannot be read for branch direction. AD-65's row records the exact three instructions and the FPU condition-code reasoning; AD-66's records the four operand loads showing neither site multiplies by N.z, plus both float constants read from the image (0x795344 = 0.0f, 0x7c6878 = 0.00019999999494757503f). AD-10's own retail anchor was corrected in the previous commit for the same reason: pc:272296-272346 truncated the sliding-normal validity gate at the head and the whole safety push-out block at the tail. No code change; no test change. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
886333a2a9
commit
fb454b748c
1 changed files with 2 additions and 0 deletions
File diff suppressed because one or more lines are too long
Loading…
Add table
Add a link
Reference in a new issue