From fe24289ac5a4757854d1aa6753010df7e8a0f831 Mon Sep 17 00:00:00 2001 From: Erik Date: Sat, 4 Jul 2026 09:23:03 +0200 Subject: [PATCH] diag(#170): dump remote inbound action list with stamps under ACDREAM_DUMP_MOTION MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The existing UM dump shows only ForwardCommand; the [CMD_LIST] dump is local- player only and omits stamps. For a remote creature (the #170 Mite Scamp) nothing logged the attack action stream, so a capture couldn't answer "do the attack stamps advance (variety) or repeat (uniform)?". Add one env-gated line in the remote funnel branch dumping each inbound action (full command + route + stamp + autonomous + speed). Temporary #170 capture aid — strip once the mechanism is confirmed. Co-Authored-By: Claude Opus 4.8 --- src/AcDream.App/Rendering/GameWindow.cs | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/AcDream.App/Rendering/GameWindow.cs b/src/AcDream.App/Rendering/GameWindow.cs index 5edfaee4..f629da8a 100644 --- a/src/AcDream.App/Rendering/GameWindow.cs +++ b/src/AcDream.App/Rendering/GameWindow.cs @@ -4977,6 +4977,29 @@ public sealed class GameWindow : IDisposable Speed: item.Speed)); } ims.Actions = actionList; + + // #170 capture aid (ACDREAM_DUMP_MOTION): dump the + // REMOTE inbound action list WITH stamps — the + // existing UM line only shows ForwardCommand, and the + // [CMD_LIST] dump is local-player only. This is what + // answers "do the attack stamps advance (variety) or + // repeat (uniform)?". Strip once #170 is understood. + if (Environment.GetEnvironmentVariable("ACDREAM_DUMP_MOTION") == "1") + { + var sb = new System.Text.StringBuilder(); + sb.Append(System.FormattableString.Invariant( + $"UM ↳ actions guid=0x{update.Guid:X8} mt=0x{update.MotionState.MovementType:X2} fwd=0x{ims.ForwardCommand:X8} [")); + for (int ai = 0; ai < actionList.Count; ai++) + { + var a = actionList[ai]; + var rt = AcDream.Core.Physics.AnimationCommandRouter.Classify(a.Command); + if (ai > 0) sb.Append(", "); + sb.Append(System.FormattableString.Invariant( + $"0x{a.Command:X8}({rt}) stamp={a.Stamp} auto={a.Autonomous} spd={a.Speed:F2}")); + } + sb.Append(']'); + Console.WriteLine(sb.ToString()); + } } // R2-Q5/R3-W4: funnel dispatches go STRAIGHT into the