fix(motion): full queue reset on locomotion-cycle direct transitions

When AnimationSequencer.SetCycle transitions between forward-locomotion
cycles (Walk↔Run, Walk↔WalkBackward, etc.) — i.e. when both old and new
motion's low byte is in {0x05 WalkForward, 0x06 WalkBackward, 0x07
RunForward} — do a full queue drain + _currNode/_firstCyclic reset
(matching the existing skipTransitionLink branch) instead of just
ClearCyclicTail. Without this, _currNode is left pointing into the
previous cycle's non-cyclic head (link frames from the prior Ready→walk
transition), and the visible legs continue playing those head frames
before reaching the new run cycle.

Investigation findings (cdb live trace of retail at
tools/cdb-scripts/walk_run_motion_trace.log):

  Retail's actual approach is "additive add_to_queue with no truncate" —
  MotionTableManager handles the natural progression via per-tick
  CheckForCompletedMotions / remove_redundant_links cleanup. Acdream
  doesn't have that machinery, so this fix is the closest viable
  emulation: force the queue back to a clean state and rebuild from
  scratch on the locomotion-cycle transition.

User-reported symptom this addresses (walk→run direct transition,
release shift while W held): visible animation cycle did not switch
until next motion event. Verified via FWD_WIRE + SETCYCLE diags that
both ACE and our SetCycle are firing correctly on the transition.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
Erik 2026-05-03 17:00:55 +02:00
parent b1d8e122ed
commit c06b6c51e1
3 changed files with 408 additions and 2 deletions

View file

@ -434,7 +434,29 @@ public sealed class AnimationSequencer
// cycle. Without this, the old RunForward → ??? link would
// continue draining for ~100 ms before the new Falling cycle
// starts, defeating the "skip the link" intent.
if (skipTransitionLink)
//
// 2026-05-03: ALSO do a full drain when transitioning between
// FORWARD-LOCOMOTION cycles (Walk↔Run, Walk↔WalkBackward, etc.)
// — i.e. when both old and new motion's low byte is in the
// {0x05 WalkForward, 0x06 WalkBackward, 0x07 RunForward} set.
// ClearCyclicTail alone leaves _currNode in the previous cycle's
// non-cyclic head (link frames from a Ready→walk transition),
// and the visible legs continue playing those head frames before
// reaching the new run cycle. The user-reported symptom: walk→run
// direct transition (release shift while W held) did not visibly
// switch the leg cycle — body advanced at walk pace until the
// next motion event (turn / stop) re-fired SetCycle and finally
// aligned the queue. Live cdb trace of retail acclient.exe
// 2026-05-03 (tools/cdb-scripts/walk_run_motion_trace.log) shows
// retail uses an additive add_to_queue with no truncate — the
// MotionTableManager's per-tick CheckForCompletedMotions handles
// the natural progression. We don't have that machinery, so we
// emulate via a hard reset on the locomotion-cycle transition.
uint oldLow = CurrentMotion & 0xFFu;
uint newLow = motion & 0xFFu;
bool oldIsForwardLoc = oldLow == 0x05u || oldLow == 0x06u || oldLow == 0x07u;
bool newIsForwardLoc = newLow == 0x05u || newLow == 0x06u || newLow == 0x07u;
if (skipTransitionLink || (oldIsForwardLoc && newIsForwardLoc))
{
_queue.Clear();
_currNode = null;

View file

@ -172,4 +172,388 @@ breakpoint 6 redefined
[124] MotionTableManager::PerformMovement: motion=001af3e0 speedBits=15f356a0 holdkey=13cf1420
[125] CMotionTable::StopObjectMotion: motion=6500000d
[126] MotionTableManager::PerformMovement: motion=001af3e0 speedBits=15f356a0 holdkey=13cf1420
[127] CMotionTable::StopObjectMotion: motion=6500000f
[127] CMotionTable::StopObjectMotion: motion=6500000f
[128] CPhysicsObj::DoInterpretedMotion: motion=8000003d speedBits=001afcb4
[129] CPartArray::DoInterpretedMotion: motion=8000003d speedBits=001afcb4
[130] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5e9f8 holdkey=16fa6538
[131] CMotionTable::DoObjectMotion: motion=8000003d
[132] MotionTableManager::add_to_queue: arg1=8000003d arg2=00000000
[133] CPhysicsObj::DoInterpretedMotion: motion=10000053 speedBits=001afcb4
[134] CPartArray::DoInterpretedMotion: motion=10000053 speedBits=001afcb4
[135] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5e9f8 holdkey=16fa6538
[136] CMotionTable::DoObjectMotion: motion=10000053
[137] MotionTableManager::add_to_queue: arg1=10000053 arg2=00000003
[138] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5e9f8 holdkey=16fa6538
[139] CMotionTable::StopObjectMotion: motion=6500000f
[140] MotionTableManager::PerformMovement: motion=001afc40 speedBits=16f5e9f8 holdkey=16fa6538
[141] CMotionTable::StopObjectMotion: motion=6500000d
[142] CPhysicsObj::DoInterpretedMotion: motion=8000003d speedBits=001afcb4
[143] CPartArray::DoInterpretedMotion: motion=8000003d speedBits=001afcb4
[144] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5e9f8 holdkey=16fa6538
[145] CMotionTable::DoObjectMotion: motion=8000003d
[146] MotionTableManager::add_to_queue: arg1=8000003d arg2=00000000
[147] CPhysicsObj::DoInterpretedMotion: motion=41000003 speedBits=001afcb4
[148] CPartArray::DoInterpretedMotion: motion=41000003 speedBits=001afcb4
[149] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5e9f8 holdkey=16fa6538
[150] CMotionTable::DoObjectMotion: motion=41000003
[151] MotionTableManager::add_to_queue: arg1=41000003 arg2=00000000
[152] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5e9f8 holdkey=16fa6538
[153] CMotionTable::StopObjectMotion: motion=6500000f
[154] MotionTableManager::PerformMovement: motion=001afc40 speedBits=16f5e9f8 holdkey=16fa6538
[155] CMotionTable::StopObjectMotion: motion=6500000d
[156] CPhysicsObj::DoInterpretedMotion: motion=8000003d speedBits=001afcb4
[157] CPartArray::DoInterpretedMotion: motion=8000003d speedBits=001afcb4
[158] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5eb78 holdkey=16fa6a48
[159] CMotionTable::DoObjectMotion: motion=8000003d
[160] MotionTableManager::add_to_queue: arg1=8000003d arg2=00000000
[161] CPhysicsObj::DoInterpretedMotion: motion=10000053 speedBits=001afcb4
[162] CPartArray::DoInterpretedMotion: motion=10000053 speedBits=001afcb4
[163] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5eb78 holdkey=16fa6a48
[164] CMotionTable::DoObjectMotion: motion=10000053
[165] MotionTableManager::add_to_queue: arg1=10000053 arg2=00000003
[166] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5eb78 holdkey=16fa6a48
[167] CMotionTable::StopObjectMotion: motion=6500000f
[168] MotionTableManager::PerformMovement: motion=001afc40 speedBits=16f5eb78 holdkey=16fa6a48
[169] CMotionTable::StopObjectMotion: motion=6500000d
[170] CPhysicsObj::DoInterpretedMotion: motion=8000003d speedBits=001afcb4
[171] CPartArray::DoInterpretedMotion: motion=8000003d speedBits=001afcb4
[172] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5eb78 holdkey=16fa6a48
[173] CMotionTable::DoObjectMotion: motion=8000003d
[174] MotionTableManager::add_to_queue: arg1=8000003d arg2=00000000
[175] CPhysicsObj::DoInterpretedMotion: motion=41000003 speedBits=001afcb4
[176] CPartArray::DoInterpretedMotion: motion=41000003 speedBits=001afcb4
[177] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5eb78 holdkey=16fa6a48
[178] CMotionTable::DoObjectMotion: motion=41000003
[179] MotionTableManager::add_to_queue: arg1=41000003 arg2=00000000
[180] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5eb78 holdkey=16fa6a48
[181] CMotionTable::StopObjectMotion: motion=6500000f
[182] MotionTableManager::PerformMovement: motion=001afc40 speedBits=16f5eb78 holdkey=16fa6a48
[183] CMotionTable::StopObjectMotion: motion=6500000d
[184] CPhysicsObj::DoInterpretedMotion: motion=8000003d speedBits=001afcb4
[185] CPartArray::DoInterpretedMotion: motion=8000003d speedBits=001afcb4
[186] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5e9f8 holdkey=16fa6538
[187] CMotionTable::DoObjectMotion: motion=8000003d
[188] MotionTableManager::add_to_queue: arg1=8000003d arg2=00000000
[189] CPhysicsObj::DoInterpretedMotion: motion=10000054 speedBits=001afcb4
[190] CPartArray::DoInterpretedMotion: motion=10000054 speedBits=001afcb4
[191] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5e9f8 holdkey=16fa6538
[192] CMotionTable::DoObjectMotion: motion=10000054
[193] MotionTableManager::add_to_queue: arg1=10000054 arg2=00000001
[194] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5e9f8 holdkey=16fa6538
[195] CMotionTable::StopObjectMotion: motion=6500000f
[196] MotionTableManager::PerformMovement: motion=001afc40 speedBits=16f5e9f8 holdkey=16fa6538
[197] CMotionTable::StopObjectMotion: motion=6500000d
[198] CPhysicsObj::DoInterpretedMotion: motion=8000003d speedBits=001afcb4
[199] CPartArray::DoInterpretedMotion: motion=8000003d speedBits=001afcb4
[200] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5e9f8 holdkey=16fa6538
[201] CMotionTable::DoObjectMotion: motion=8000003d
[202] MotionTableManager::add_to_queue: arg1=8000003d arg2=00000000
[203] CPhysicsObj::DoInterpretedMotion: motion=41000003 speedBits=001afcb4
[204] CPartArray::DoInterpretedMotion: motion=41000003 speedBits=001afcb4
[205] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5e9f8 holdkey=16fa6538
[206] CMotionTable::DoObjectMotion: motion=41000003
[207] MotionTableManager::add_to_queue: arg1=41000003 arg2=00000000
[208] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5e9f8 holdkey=16fa6538
[209] CMotionTable::StopObjectMotion: motion=6500000f
[210] MotionTableManager::PerformMovement: motion=001afc40 speedBits=16f5e9f8 holdkey=16fa6538
[211] CMotionTable::StopObjectMotion: motion=6500000d
[212] CPhysicsObj::DoInterpretedMotion: motion=8000003d speedBits=001afcb4
[213] CPartArray::DoInterpretedMotion: motion=8000003d speedBits=001afcb4
[214] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5e9f8 holdkey=16fa6538
[215] CMotionTable::DoObjectMotion: motion=8000003d
[216] MotionTableManager::add_to_queue: arg1=8000003d arg2=00000000
[217] CPhysicsObj::DoInterpretedMotion: motion=10000052 speedBits=001afcb4
[218] CPartArray::DoInterpretedMotion: motion=10000052 speedBits=001afcb4
[219] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5e9f8 holdkey=16fa6538
[220] CMotionTable::DoObjectMotion: motion=10000052
[221] MotionTableManager::add_to_queue: arg1=10000052 arg2=00000001
[222] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5e9f8 holdkey=16fa6538
[223] CMotionTable::StopObjectMotion: motion=6500000f
[224] MotionTableManager::PerformMovement: motion=001afc40 speedBits=16f5e9f8 holdkey=16fa6538
[225] CMotionTable::StopObjectMotion: motion=6500000d
[226] CPhysicsObj::DoInterpretedMotion: motion=8000003d speedBits=001afcb4
[227] CPartArray::DoInterpretedMotion: motion=8000003d speedBits=001afcb4
[228] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5e9f8 holdkey=16fa6538
[229] CMotionTable::DoObjectMotion: motion=8000003d
[230] MotionTableManager::add_to_queue: arg1=8000003d arg2=00000000
[231] CPhysicsObj::DoInterpretedMotion: motion=41000003 speedBits=001afcb4
[232] CPartArray::DoInterpretedMotion: motion=41000003 speedBits=001afcb4
[233] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5e9f8 holdkey=16fa6538
[234] CMotionTable::DoObjectMotion: motion=41000003
[235] MotionTableManager::add_to_queue: arg1=41000003 arg2=00000000
[236] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5e9f8 holdkey=16fa6538
[237] CMotionTable::StopObjectMotion: motion=6500000f
[238] MotionTableManager::PerformMovement: motion=001afc40 speedBits=16f5e9f8 holdkey=16fa6538
[239] CMotionTable::StopObjectMotion: motion=6500000d
[240] CPhysicsObj::DoInterpretedMotion: motion=8000003d speedBits=001afcb4
[241] CPartArray::DoInterpretedMotion: motion=8000003d speedBits=001afcb4
[242] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5eb78 holdkey=16fa6a48
[243] CMotionTable::DoObjectMotion: motion=8000003d
[244] MotionTableManager::add_to_queue: arg1=8000003d arg2=00000000
[245] CPhysicsObj::DoInterpretedMotion: motion=10000053 speedBits=001afcb4
[246] CPartArray::DoInterpretedMotion: motion=10000053 speedBits=001afcb4
[247] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5eb78 holdkey=16fa6a48
[248] CMotionTable::DoObjectMotion: motion=10000053
[249] MotionTableManager::add_to_queue: arg1=10000053 arg2=00000003
[250] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5eb78 holdkey=16fa6a48
[251] CMotionTable::StopObjectMotion: motion=6500000f
[252] MotionTableManager::PerformMovement: motion=001afc40 speedBits=16f5eb78 holdkey=16fa6a48
[253] CMotionTable::StopObjectMotion: motion=6500000d
[254] CPhysicsObj::DoInterpretedMotion: motion=8000003d speedBits=001afcb4
[255] CPartArray::DoInterpretedMotion: motion=8000003d speedBits=001afcb4
[256] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5eb78 holdkey=16fa6a48
[257] CMotionTable::DoObjectMotion: motion=8000003d
[258] MotionTableManager::add_to_queue: arg1=8000003d arg2=00000000
[259] CPhysicsObj::DoInterpretedMotion: motion=41000003 speedBits=001afcb4
[260] CPartArray::DoInterpretedMotion: motion=41000003 speedBits=001afcb4
[261] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5eb78 holdkey=16fa6a48
[262] CMotionTable::DoObjectMotion: motion=41000003
[263] MotionTableManager::add_to_queue: arg1=41000003 arg2=00000000
[264] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5eb78 holdkey=16fa6a48
[265] CMotionTable::StopObjectMotion: motion=6500000f
[266] MotionTableManager::PerformMovement: motion=001afc40 speedBits=16f5eb78 holdkey=16fa6a48
[267] CMotionTable::StopObjectMotion: motion=6500000d
[268] CPhysicsObj::DoInterpretedMotion: motion=8000003d speedBits=001afcb4
[269] CPartArray::DoInterpretedMotion: motion=8000003d speedBits=001afcb4
[270] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5e978 holdkey=16fa3328
[271] CMotionTable::DoObjectMotion: motion=8000003d
[272] MotionTableManager::add_to_queue: arg1=8000003d arg2=00000000
[273] CPhysicsObj::DoInterpretedMotion: motion=10000054 speedBits=001afcb4
[274] CPartArray::DoInterpretedMotion: motion=10000054 speedBits=001afcb4
[275] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5e978 holdkey=16fa3328
[276] CMotionTable::DoObjectMotion: motion=10000054
[277] MotionTableManager::add_to_queue: arg1=10000054 arg2=00000001
[278] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5e978 holdkey=16fa3328
[279] CMotionTable::StopObjectMotion: motion=6500000f
[280] MotionTableManager::PerformMovement: motion=001afc40 speedBits=16f5e978 holdkey=16fa3328
[281] CMotionTable::StopObjectMotion: motion=6500000d
[282] CPhysicsObj::DoInterpretedMotion: motion=8000003d speedBits=001afcb4
[283] CPartArray::DoInterpretedMotion: motion=8000003d speedBits=001afcb4
[284] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5e978 holdkey=16fa3328
[285] CMotionTable::DoObjectMotion: motion=8000003d
[286] MotionTableManager::add_to_queue: arg1=8000003d arg2=00000000
[287] CPhysicsObj::DoInterpretedMotion: motion=41000003 speedBits=001afcb4
[288] CPartArray::DoInterpretedMotion: motion=41000003 speedBits=001afcb4
[289] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5e978 holdkey=16fa3328
[290] CMotionTable::DoObjectMotion: motion=41000003
[291] MotionTableManager::add_to_queue: arg1=41000003 arg2=00000000
[292] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5e978 holdkey=16fa3328
[293] CMotionTable::StopObjectMotion: motion=6500000f
[294] MotionTableManager::PerformMovement: motion=001afc40 speedBits=16f5e978 holdkey=16fa3328
[295] CMotionTable::StopObjectMotion: motion=6500000d
[296] MotionTableManager::PerformMovement: motion=001afbe4 speedBits=16f5e1f8 holdkey=16fa5c38
[297] MotionTableManager::add_to_queue: arg1=41000003 arg2=00000000
[298] CPhysicsObj::DoInterpretedMotion: motion=6500000d speedBits=001afcc0
[299] CPartArray::DoInterpretedMotion: motion=6500000d speedBits=001afcc0
[300] MotionTableManager::PerformMovement: motion=001afc14 speedBits=16f5e1f8 holdkey=16fa5c38
[301] CMotionTable::DoObjectMotion: motion=6500000d
[302] MotionTableManager::add_to_queue: arg1=6500000d arg2=00000000
[303] CPhysicsObj::DoInterpretedMotion: motion=8000003d speedBits=001afcb4
[304] CPartArray::DoInterpretedMotion: motion=8000003d speedBits=001afcb4
[305] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5e978 holdkey=16fa3328
[306] CMotionTable::DoObjectMotion: motion=8000003d
[307] MotionTableManager::add_to_queue: arg1=8000003d arg2=00000000
[308] CPhysicsObj::DoInterpretedMotion: motion=10000054 speedBits=001afcb4
[309] CPartArray::DoInterpretedMotion: motion=10000054 speedBits=001afcb4
[310] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5e978 holdkey=16fa3328
[311] CMotionTable::DoObjectMotion: motion=10000054
[312] MotionTableManager::add_to_queue: arg1=10000054 arg2=00000001
[313] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5e978 holdkey=16fa3328
[314] CMotionTable::StopObjectMotion: motion=6500000f
[315] MotionTableManager::PerformMovement: motion=001afc40 speedBits=16f5e978 holdkey=16fa3328
[316] CMotionTable::StopObjectMotion: motion=6500000d
[317] CPhysicsObj::DoInterpretedMotion: motion=8000003d speedBits=001afcb4
[318] CPartArray::DoInterpretedMotion: motion=8000003d speedBits=001afcb4
[319] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5e978 holdkey=16fa3328
[320] CMotionTable::DoObjectMotion: motion=8000003d
[321] MotionTableManager::add_to_queue: arg1=8000003d arg2=00000000
[322] CPhysicsObj::DoInterpretedMotion: motion=41000003 speedBits=001afcb4
[323] CPartArray::DoInterpretedMotion: motion=41000003 speedBits=001afcb4
[324] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5e978 holdkey=16fa3328
[325] CMotionTable::DoObjectMotion: motion=41000003
[326] MotionTableManager::add_to_queue: arg1=41000003 arg2=00000000
[327] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5e978 holdkey=16fa3328
[328] CMotionTable::StopObjectMotion: motion=6500000f
[329] MotionTableManager::PerformMovement: motion=001afc40 speedBits=16f5e978 holdkey=16fa3328
[330] CMotionTable::StopObjectMotion: motion=6500000d
[331] CPhysicsObj::DoInterpretedMotion: motion=8000003d speedBits=001afcb4
[332] CPartArray::DoInterpretedMotion: motion=8000003d speedBits=001afcb4
[333] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5ec78 holdkey=16fa4498
[334] CMotionTable::DoObjectMotion: motion=8000003d
[335] MotionTableManager::add_to_queue: arg1=8000003d arg2=00000000
[336] CPhysicsObj::DoInterpretedMotion: motion=10000052 speedBits=001afcb4
[337] CPartArray::DoInterpretedMotion: motion=10000052 speedBits=001afcb4
[338] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5ec78 holdkey=16fa4498
[339] CMotionTable::DoObjectMotion: motion=10000052
[340] MotionTableManager::add_to_queue: arg1=10000052 arg2=00000001
[341] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5ec78 holdkey=16fa4498
[342] CMotionTable::StopObjectMotion: motion=6500000f
[343] MotionTableManager::PerformMovement: motion=001afc40 speedBits=16f5ec78 holdkey=16fa4498
[344] CMotionTable::StopObjectMotion: motion=6500000d
[345] CPhysicsObj::DoInterpretedMotion: motion=8000003d speedBits=001afcb4
[346] CPartArray::DoInterpretedMotion: motion=8000003d speedBits=001afcb4
[347] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5ec78 holdkey=16fa4498
[348] CMotionTable::DoObjectMotion: motion=8000003d
[349] MotionTableManager::add_to_queue: arg1=8000003d arg2=00000000
[350] CPhysicsObj::DoInterpretedMotion: motion=41000003 speedBits=001afcb4
[351] CPartArray::DoInterpretedMotion: motion=41000003 speedBits=001afcb4
[352] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5ec78 holdkey=16fa4498
[353] CMotionTable::DoObjectMotion: motion=41000003
[354] MotionTableManager::add_to_queue: arg1=41000003 arg2=00000000
[355] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5ec78 holdkey=16fa4498
[356] CMotionTable::StopObjectMotion: motion=6500000f
[357] MotionTableManager::PerformMovement: motion=001afc40 speedBits=16f5ec78 holdkey=16fa4498
[358] CMotionTable::StopObjectMotion: motion=6500000d
[359] CPhysicsObj::DoInterpretedMotion: motion=8000003d speedBits=001afcb4
[360] CPartArray::DoInterpretedMotion: motion=8000003d speedBits=001afcb4
[361] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5eb78 holdkey=16fa6a48
[362] CMotionTable::DoObjectMotion: motion=8000003d
[363] MotionTableManager::add_to_queue: arg1=8000003d arg2=00000000
[364] CPhysicsObj::DoInterpretedMotion: motion=10000054 speedBits=001afcb4
[365] CPartArray::DoInterpretedMotion: motion=10000054 speedBits=001afcb4
[366] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5eb78 holdkey=16fa6a48
[367] CMotionTable::DoObjectMotion: motion=10000054
[368] MotionTableManager::add_to_queue: arg1=10000054 arg2=00000001
[369] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5eb78 holdkey=16fa6a48
[370] CMotionTable::StopObjectMotion: motion=6500000f
[371] MotionTableManager::PerformMovement: motion=001afc40 speedBits=16f5eb78 holdkey=16fa6a48
[372] CMotionTable::StopObjectMotion: motion=6500000d
[373] CPhysicsObj::DoInterpretedMotion: motion=8000003d speedBits=001afcb4
[374] CPartArray::DoInterpretedMotion: motion=8000003d speedBits=001afcb4
[375] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5e9f8 holdkey=16fa6538
[376] CMotionTable::DoObjectMotion: motion=8000003d
[377] MotionTableManager::add_to_queue: arg1=8000003d arg2=00000000
[378] CPhysicsObj::DoInterpretedMotion: motion=10000053 speedBits=001afcb4
[379] CPartArray::DoInterpretedMotion: motion=10000053 speedBits=001afcb4
[380] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5e9f8 holdkey=16fa6538
[381] CMotionTable::DoObjectMotion: motion=10000053
[382] MotionTableManager::add_to_queue: arg1=10000053 arg2=00000003
[383] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5e9f8 holdkey=16fa6538
[384] CMotionTable::StopObjectMotion: motion=6500000f
[385] MotionTableManager::PerformMovement: motion=001afc40 speedBits=16f5e9f8 holdkey=16fa6538
[386] CMotionTable::StopObjectMotion: motion=6500000d
[387] CPhysicsObj::DoInterpretedMotion: motion=8000003d speedBits=001afcb4
[388] CPartArray::DoInterpretedMotion: motion=8000003d speedBits=001afcb4
[389] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5e978 holdkey=16fa3328
[390] CMotionTable::DoObjectMotion: motion=8000003d
[391] MotionTableManager::add_to_queue: arg1=8000003d arg2=00000000
[392] CPhysicsObj::DoInterpretedMotion: motion=10000054 speedBits=001afcb4
[393] CPartArray::DoInterpretedMotion: motion=10000054 speedBits=001afcb4
[394] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5e978 holdkey=16fa3328
[395] CMotionTable::DoObjectMotion: motion=10000054
[396] MotionTableManager::add_to_queue: arg1=10000054 arg2=00000001
[397] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5e978 holdkey=16fa3328
[398] CMotionTable::StopObjectMotion: motion=6500000f
[399] MotionTableManager::PerformMovement: motion=001afc40 speedBits=16f5e978 holdkey=16fa3328
[400] CMotionTable::StopObjectMotion: motion=6500000d
[401] CPhysicsObj::DoInterpretedMotion: motion=8000003d speedBits=001afcb4
[402] CPartArray::DoInterpretedMotion: motion=8000003d speedBits=001afcb4
[403] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5eb78 holdkey=16fa6a48
[404] CMotionTable::DoObjectMotion: motion=8000003d
[405] MotionTableManager::add_to_queue: arg1=8000003d arg2=00000000
[406] CPhysicsObj::DoInterpretedMotion: motion=41000003 speedBits=001afcb4
[407] CPartArray::DoInterpretedMotion: motion=41000003 speedBits=001afcb4
[408] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5eb78 holdkey=16fa6a48
[409] CMotionTable::DoObjectMotion: motion=41000003
[410] MotionTableManager::add_to_queue: arg1=41000003 arg2=00000000
[411] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5eb78 holdkey=16fa6a48
[412] CMotionTable::StopObjectMotion: motion=6500000f
[413] MotionTableManager::PerformMovement: motion=001afc40 speedBits=16f5eb78 holdkey=16fa6a48
[414] CMotionTable::StopObjectMotion: motion=6500000d
[415] CPhysicsObj::DoInterpretedMotion: motion=8000003d speedBits=001afcb4
[416] CPartArray::DoInterpretedMotion: motion=8000003d speedBits=001afcb4
[417] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5e978 holdkey=16fa3328
[418] CMotionTable::DoObjectMotion: motion=8000003d
[419] MotionTableManager::add_to_queue: arg1=8000003d arg2=00000000
[420] CPhysicsObj::DoInterpretedMotion: motion=41000003 speedBits=001afcb4
[421] CPartArray::DoInterpretedMotion: motion=41000003 speedBits=001afcb4
[422] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5e978 holdkey=16fa3328
[423] CMotionTable::DoObjectMotion: motion=41000003
[424] MotionTableManager::add_to_queue: arg1=41000003 arg2=00000000
[425] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5e978 holdkey=16fa3328
[426] CMotionTable::StopObjectMotion: motion=6500000f
[427] MotionTableManager::PerformMovement: motion=001afc40 speedBits=16f5e978 holdkey=16fa3328
[428] CMotionTable::StopObjectMotion: motion=6500000d
[429] CPhysicsObj::DoInterpretedMotion: motion=8000003d speedBits=001afcb4
[430] CPartArray::DoInterpretedMotion: motion=8000003d speedBits=001afcb4
[431] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5e9f8 holdkey=16fa6538
[432] CMotionTable::DoObjectMotion: motion=8000003d
[433] MotionTableManager::add_to_queue: arg1=8000003d arg2=00000000
[434] CPhysicsObj::DoInterpretedMotion: motion=41000003 speedBits=001afcb4
[435] CPartArray::DoInterpretedMotion: motion=41000003 speedBits=001afcb4
[436] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5e9f8 holdkey=16fa6538
[437] CMotionTable::DoObjectMotion: motion=41000003
[438] MotionTableManager::add_to_queue: arg1=41000003 arg2=00000000
[439] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5e9f8 holdkey=16fa6538
[440] CMotionTable::StopObjectMotion: motion=6500000f
[441] MotionTableManager::PerformMovement: motion=001afc40 speedBits=16f5e9f8 holdkey=16fa6538
[442] CMotionTable::StopObjectMotion: motion=6500000d
[443] CPhysicsObj::DoInterpretedMotion: motion=8000003d speedBits=001afcb4
[444] CPartArray::DoInterpretedMotion: motion=8000003d speedBits=001afcb4
[445] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5eb78 holdkey=16fa6a48
[446] CMotionTable::DoObjectMotion: motion=8000003d
[447] MotionTableManager::add_to_queue: arg1=8000003d arg2=00000000
[448] CPhysicsObj::DoInterpretedMotion: motion=10000053 speedBits=001afcb4
[449] CPartArray::DoInterpretedMotion: motion=10000053 speedBits=001afcb4
[450] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5eb78 holdkey=16fa6a48
[451] CMotionTable::DoObjectMotion: motion=10000053
[452] MotionTableManager::add_to_queue: arg1=10000053 arg2=00000003
[453] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5eb78 holdkey=16fa6a48
[454] CMotionTable::StopObjectMotion: motion=6500000f
[455] MotionTableManager::PerformMovement: motion=001afc40 speedBits=16f5eb78 holdkey=16fa6a48
[456] CMotionTable::StopObjectMotion: motion=6500000d
[457] MotionTableManager::PerformMovement: motion=001afc60 speedBits=16f5e1f8 holdkey=16fa5c38
[458] CMotionTable::StopObjectMotion: motion=6500000d
[459] MotionTableManager::add_to_queue: arg1=41000003 arg2=00000000
[460] MotionTableManager::PerformMovement: motion=001afc2c speedBits=16f5e1f8 holdkey=16fa5c38
[461] MotionTableManager::add_to_queue: arg1=41000003 arg2=00000000
[462] MotionTableManager::PerformMovement: motion=001afbe4 speedBits=16f5e1f8 holdkey=16fa5c38
[463] MotionTableManager::add_to_queue: arg1=41000003 arg2=00000000
[464] CPhysicsObj::DoInterpretedMotion: motion=6500000d speedBits=001afcc0
[465] CPartArray::DoInterpretedMotion: motion=6500000d speedBits=001afcc0
[466] MotionTableManager::PerformMovement: motion=001afc14 speedBits=16f5e1f8 holdkey=16fa5c38
[467] CMotionTable::DoObjectMotion: motion=6500000d
[468] MotionTableManager::add_to_queue: arg1=6500000d arg2=00000000
[469] CPhysicsObj::DoInterpretedMotion: motion=8000003d speedBits=001afcb4
[470] CPartArray::DoInterpretedMotion: motion=8000003d speedBits=001afcb4
[471] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5eb78 holdkey=16fa6a48
[472] CMotionTable::DoObjectMotion: motion=8000003d
[473] MotionTableManager::add_to_queue: arg1=8000003d arg2=00000000
[474] CPhysicsObj::DoInterpretedMotion: motion=41000003 speedBits=001afcb4
[475] CPartArray::DoInterpretedMotion: motion=41000003 speedBits=001afcb4
[476] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5eb78 holdkey=16fa6a48
[477] CMotionTable::DoObjectMotion: motion=41000003
[478] MotionTableManager::add_to_queue: arg1=41000003 arg2=00000000
[479] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5eb78 holdkey=16fa6a48
[480] CMotionTable::StopObjectMotion: motion=6500000f
[481] MotionTableManager::PerformMovement: motion=001afc40 speedBits=16f5eb78 holdkey=16fa6a48
[482] CMotionTable::StopObjectMotion: motion=6500000d
[483] MotionTableManager::PerformMovement: motion=001afc60 speedBits=16f5e1f8 holdkey=16fa5c38
[484] CMotionTable::StopObjectMotion: motion=6500000d
[485] MotionTableManager::add_to_queue: arg1=41000003 arg2=00000000
[486] MotionTableManager::PerformMovement: motion=001afc2c speedBits=16f5e1f8 holdkey=16fa5c38
[487] MotionTableManager::add_to_queue: arg1=41000003 arg2=00000000
[488] MotionTableManager::PerformMovement: motion=001afbe4 speedBits=16f5e1f8 holdkey=16fa5c38
[489] MotionTableManager::add_to_queue: arg1=41000003 arg2=00000000
[490] CPhysicsObj::DoInterpretedMotion: motion=6500000d speedBits=001afcc0
[491] CPartArray::DoInterpretedMotion: motion=6500000d speedBits=001afcc0
[492] MotionTableManager::PerformMovement: motion=001afc14 speedBits=16f5e1f8 holdkey=16fa5c38
[493] CMotionTable::DoObjectMotion: motion=6500000d
[494] MotionTableManager::add_to_queue: arg1=6500000d arg2=00000000
[495] CPhysicsObj::DoInterpretedMotion: motion=8000003d speedBits=001afcb4
[496] CPartArray::DoInterpretedMotion: motion=8000003d speedBits=001afcb4
[497] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5e4f8 holdkey=16fa5218
[498] CMotionTable::DoObjectMotion: motion=8000003d
[499] MotionTableManager::add_to_queue: arg1=8000003d arg2=00000000
[500] CPhysicsObj::DoInterpretedMotion: motion=10000053 speedBits=001afcb4
[501] CPartArray::DoInterpretedMotion: motion=10000053 speedBits=001afcb4
[502] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5e4f8 holdkey=16fa5218
[503] CMotionTable::DoObjectMotion: motion=10000053
[504] MotionTableManager::add_to_queue: arg1=10000053 arg2=00000003
[505] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5e4f8 holdkey=16fa5218
[506] CMotionTable::StopObjectMotion: motion=6500000f
[507] MotionTableManager::PerformMovement: motion=001afc40 speedBits=16f5e4f8 holdkey=16fa5218
[508] CMotionTable::StopObjectMotion: motion=6500000d
[509] CPhysicsObj::DoInterpretedMotion: motion=8000003d speedBits=001afcb4
[510] CPartArray::DoInterpretedMotion: motion=8000003d speedBits=001afcb4
[511] MotionTableManager::PerformMovement: motion=001afc24 speedBits=16f5e4f8 holdkey=16fa5218Detached