diff --git a/docs/ISSUES.md b/docs/ISSUES.md index e2dd2271..b7343984 100644 --- a/docs/ISSUES.md +++ b/docs/ISSUES.md @@ -4261,12 +4261,48 @@ contact chain diverges). Retiring those three rows IS this issue; do them together against a retail cdb capture of a downhill jump (velocity + contact-plane trace at landing). -**Where:** `PlayerMovementController.cs:874` (AD-25 suppression), -`PhysicsBody.cs:307` (AP-7), `BSPQuery.cs:2001` (TS-4). +**Reattribution (2026-07-30, Campaign P Slice P2 research pass — +`docs/research/2026-07-30-response-layer-edge-family-pseudocode.md` §3, +§6 Step 6):** confirmed as the AD-25 + AP-7 + TS-4 composite above, with +two corrections to the original framing. First, **AD-25's LOCAL-PLAYER +half was already ported** in the #182 verbatim `UpdateObjectInternal` +rebuild (2026-07-07) — what remains open for AD-25 is remote/NPC-only and +is explicitly Campaign P P3 scope, not this issue. Second, and more +important: **no client-side `PhysicsState.Sledding` auto-toggle exists in +retail, and this issue should not wait on inventing one.** A cross- +reference of the named-retail decomp (zero hits for "sled" anywhere in the +1.4M-line pseudo-C, string or hex-constant search) against ACE's complete +`PhysicsObj.cs` (the same shared `CPhysicsObj` class that produced +`calc_friction`) found the ONLY write site for `PhysicsState.Sledding` +anywhere in any reference repo is a per-weenie game-data property +(`WorldObject_Properties.cs:1105-1109`, server/database-set, same pattern +as `Ethereal`/`Static`) — not a physics-engine landing response. Ordinary +downhill-jump glide-and-bounce in retail is therefore NOT the literal +Sledding state for an ordinary player; Sledding is most likely reserved +for specific data-authored content (e.g. an actual sled-ride mechanic), +outside this issue's scope. AP-7 landed this same session (`calc_friction` +now ports retail's confirmed 0.25f threshold); TS-4's removal was attempted +per its own fixture-first requirement and reproduced the historical +2026-04-30 wedge, so **TS-4 stays deferred** (see its register row and the +research doc §7 item 6 for the precise mechanism and the concrete next +step). Closure of #166 therefore pends: (a) TS-4 actually landing, and (b) +re-checking Campaign P's final visual matrix item 5 ("Downhill jump +landing: sled glide + bounce") against a fresh capture — if the glide/ +bounce still visibly mismatches retail after AP-7 alone (with TS-4 still +deferred), that capture, not a guess, is what should drive any further +work here, and it should go through cdb against live retail before any +client-side Sledding-state mechanism is written. + +**Where:** `PlayerMovementController.cs:874` (AD-25 suppression, remote +half only — local half already ported via #182), +`src/AcDream.Core/Physics/PhysicsBody.cs` (`calc_friction`, AP-7 — DONE +2026-07-30), `src/AcDream.Core/Physics/BSPQuery.cs` (Path 6 steep branches, +TS-4 — deferred, shortcut still in place). **Acceptance:** side-by-side downhill jump: acdream glides/bounces like retail; flat-ground landings unchanged; no micro-bounce death spiral -(the reason AD-25 exists) reintroduced. +(the reason AD-25 exists) reintroduced. Blocked on TS-4's eventual landing +per the note above. ## #164 — UM action-replay dispatches drop the per-action Autonomous bit