#163: remove [autowalk-gate] (+ _lastAutowalkGateLogTime throttle clock, PlayerMovementController), [autowalk-feed] (GameWindow player tracker feed), and the short-lived [MOVETO-CANCEL] #162 capture probe. The durable ProbeAutoWalk family (PhysicsDiagnostics owner + DebugPanel toggle + the permanent [autowalk] probe sites) stays. #162 closed WITHOUT adaptation: user A/B says retail does not glide, and post-#161 acdream matches (user-verified walk/run-by-distance movetos + clean mid-chain key takeover). Head-interrupt + CancelMoveTo re-audited retail-verbatim against the raw (unpack_movement 0x00524440, interrupt_current_movement 0x005101f0, MoveToManager::CancelMoveTo 0x00529930 armed-gate); the launch-162 capture shows ACE's mt-0 reflections carry the mover's real locomotion, so cancels never strand the legs. The old glide was killed by the R4-V5 stack + #161's apply-pass params fix. Evidence trail in ISSUES Recently-closed #162. Suite 3,964 green. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
584ad0a8f6
commit
5ebe2be38e
4 changed files with 47 additions and 55 deletions
|
|
@ -198,8 +198,6 @@ public sealed class PlayerMovementController
|
|||
private bool _prevTurnLeftHeld;
|
||||
private bool _prevTurnRightHeld;
|
||||
private bool _prevRunHeld;
|
||||
// TEMPORARY diagnostic clock (2026-07-03 moveto-stall investigation).
|
||||
private float _lastAutowalkGateLogTime = float.MinValue;
|
||||
|
||||
// Heartbeat timer.
|
||||
// Cadence is 1.0 sec to match holtburger's
|
||||
|
|
@ -528,22 +526,6 @@ public sealed class PlayerMovementController
|
|||
// slot drains.
|
||||
_motion.CheckForCompletedMotions?.Invoke();
|
||||
|
||||
// TEMPORARY diagnostic (2026-07-03 moveto-stall investigation,
|
||||
// strip when closed): every gate input the armed moveto's per-tick
|
||||
// drive depends on, ~2 Hz while armed, ProbeAutoWalk-gated.
|
||||
if (PhysicsDiagnostics.ProbeAutoWalkEnabled
|
||||
&& MoveTo is { } mtDiag && mtDiag.IsMovingTo()
|
||||
&& _simTimeSeconds - _lastAutowalkGateLogTime > 0.5f)
|
||||
{
|
||||
_lastAutowalkGateLogTime = _simTimeSeconds;
|
||||
var pmParts = new System.Collections.Generic.List<string>();
|
||||
foreach (var n in _motion.PendingMotions) pmParts.Add($"0x{n.Motion:X8}");
|
||||
var nodeParts = new System.Collections.Generic.List<string>();
|
||||
foreach (var n in mtDiag.PendingActions) nodeParts.Add(n.Type.ToString());
|
||||
Console.WriteLine(System.FormattableString.Invariant(
|
||||
$"[autowalk-gate] type={mtDiag.MovementTypeState} init={mtDiag.Initialized} tlid=0x{mtDiag.TopLevelObjectId:X8} contact={_body.InContact} motionsPending={_motion.MotionsPending()} pm=[{string.Join(",", pmParts)}] nodes=[{string.Join(",", nodeParts)}] curCmd=0x{mtDiag.CurrentCommand:X8} auxCmd=0x{mtDiag.AuxCommand:X8} fwd=0x{_motion.InterpretedState.ForwardCommand:X8} pos=({Position.X:F1},{Position.Y:F1}) yaw={Yaw:F2}"));
|
||||
}
|
||||
|
||||
// Portal-space guard: while teleporting, no input is processed and
|
||||
// no physics is resolved. Return a zero-movement result so the caller
|
||||
// can detect the frozen state (MotionStateChanged = false, no commands).
|
||||
|
|
|
|||
|
|
@ -8009,11 +8009,6 @@ public sealed class GameWindow : IDisposable
|
|||
_playerMoveToTargetGuid,
|
||||
AcDream.Core.Physics.Motion.TargetStatus.Ok,
|
||||
tp, tp));
|
||||
if (AcDream.Core.Physics.PhysicsDiagnostics.ProbeAutoWalkEnabled)
|
||||
{
|
||||
Console.WriteLine(System.FormattableString.Invariant(
|
||||
$"[autowalk-feed] Ok guid=0x{_playerMoveToTargetGuid:X8} pos=({tpos.X:F1},{tpos.Y:F1}) init={playerMtm.Initialized}"));
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue