C# port of CMotionInterp from chunk_00520000.c — the AC client's motion state machine that controls walk/run/jump/turn. Methods ported: - PerformMovement: top-level 5-case dispatcher - DoMotion: process raw motion command from packet - StopCompletely: reset to Ready (0x41000003) - get_state_velocity: compute velocity for current interpreted state - apply_current_movement: push velocity to PhysicsBody - jump: initiate jump (validate + set extent + leave ground) - get_jump_v_z: vertical jump velocity (delegates to WeenieObj) - get_leave_ground_velocity: full 3D launch vector - jump_is_allowed: requires Gravity + Contact + OnWalkable - contact_allows_move: slope angle + state checks Supporting types: MotionCommand constants, MovementType enum, WeenieError enum, RawMotionState/InterpretedMotionState structs, IWeenieObject interface. 412 total tests (303 core + 109 net). 45 new MotionInterpreter tests. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| Input | ||
| Meshing | ||
| Physics | ||
| Plugins | ||
| Rendering | ||
| Streaming | ||
| Terrain | ||
| Textures | ||
| World | ||
| AcDream.Core.Tests.csproj | ||
| SmokeTest.cs | ||