mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-03-24 16:10:14 +00:00
net/game: initialise entity swim/walk state from spawn packet and SPLINE_MOVE opcodes
UpdateBlock now stores moveFlags from the LIVING movement block so the cold-join problem is fixed: entities already swimming or walking when the client joins get their animation state correctly initialised from the SMSG_UPDATE_OBJECT CREATE_OBJECT packet rather than waiting for the next MSG_MOVE_* heartbeat. Additionally, SMSG_SPLINE_MOVE_START_SWIM, SMSG_SPLINE_MOVE_STOP_SWIM, SMSG_SPLINE_MOVE_SET_WALK_MODE, SMSG_SPLINE_MOVE_SET_RUN_MODE, and SMSG_SPLINE_MOVE_SET_FLYING now fire unitMoveFlagsCallback_ with synthesised flags so explicit server-driven mode transitions update animation state immediately without waiting for a heartbeat.
This commit is contained in:
parent
3439df0333
commit
863ea742f6
3 changed files with 35 additions and 7 deletions
|
|
@ -904,6 +904,7 @@ bool UpdateObjectParser::parseMovementBlock(network::Packet& packet, UpdateBlock
|
|||
/*float pitchRate =*/ packet.readFloat();
|
||||
|
||||
block.runSpeed = runSpeed;
|
||||
block.moveFlags = moveFlags;
|
||||
|
||||
// Spline data
|
||||
if (moveFlags & 0x08000000) { // MOVEMENTFLAG_SPLINE_ENABLED
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue