fix(world): complete recall before teleport hide
Match retail's update ordering so object animation, particles, and scripts advance before inbound teleport state is applied. Separate input-originated movement from post-network autonomous position output, and reconcile presentation without a second physics tick so recall cannot resume after arrival. Co-authored-by: OpenAI Codex <codex@openai.com>
This commit is contained in:
parent
dded9e6b17
commit
75acae02d6
13 changed files with 1068 additions and 332 deletions
|
|
@ -916,6 +916,21 @@ public sealed class PlayerMovementController
|
|||
IsMouseLookMovementEvent: mouseLookEvent);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Captures the current controller state for presentation without
|
||||
/// advancing physics or requesting an outbound movement event.
|
||||
/// </summary>
|
||||
public MovementResult CapturePresentationResult()
|
||||
{
|
||||
MovementResult current = CaptureMovementResult(mouseLookEvent: false);
|
||||
return current with
|
||||
{
|
||||
MotionStateChanged = false,
|
||||
ShouldSendMovementEvent = false,
|
||||
IsMouseLookMovementEvent = false,
|
||||
};
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Retail <c>CommandInterpreter::SendPositionEvent</c> (0x006B4770)
|
||||
/// stamps the send time, complete cell-local frame (origin and
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue