diff --git a/src/AcDream.Core/Physics/PhysicsBody.cs b/src/AcDream.Core/Physics/PhysicsBody.cs index 2c2b20a..753db36 100644 --- a/src/AcDream.Core/Physics/PhysicsBody.cs +++ b/src/AcDream.Core/Physics/PhysicsBody.cs @@ -280,6 +280,16 @@ public sealed class PhysicsBody /// /// Cross-checked with ACE PhysicsObj.calc_friction which uses 0.25f as /// the threshold instead; the decompile uses 0.0. We match the decompile. + /// + /// L.3c attempt (2026-04-30, REVERTED): tried bumping to 0.25f per + /// retail acclient_2013_pseudo_c.txt:276705. Build green but + /// PlayerMovementControllerTests showed forward locomotion dropping + /// from ~3m/s to ~0.16m/s — friction now hammers normal walking. + /// Retail's friction block is gated by an additional state check at + /// line 276702 (`(this->state & ...) == 0`) that we didn't decode + /// fully; locomotion is probably skipped from the friction path + /// while actively walking. Filed as L.3c-followup; keeping the + /// matching-the-decompile-as-read 0.0 threshold for now. /// public void calc_friction(float dt, float velocityMag2) {