namespace AcDream.Core.Physics; /// /// Reconstructs a full 32-bit retail MotionCommand from the 16-bit wire /// value broadcast in InterpretedMotionState.Commands[] (the server /// truncates the class byte — see for /// why that byte must be restored before routing). /// /// /// Two implementations exist because the wire-numbering used by ACE / the /// local DATs and the wire-numbering used by the Sept 2013 EoR retail /// decomp diverge for ~130 command names (a contiguous low-word "+3" shift /// starting at SnowAngelState). See /// (runtime default) and /// (conformance/reference), and /// docs/research/2026-06-26-ace-vs-2013-motion-command-gap.md for the /// full divergence analysis. /// /// public interface IMotionCommandCatalog { /// /// Reconstruct the full 32-bit MotionCommand from a 16-bit wire value. /// Returns 0 if no entry matches. /// uint ReconstructFullCommand(ushort wireCommand); }