From ec665bae25c4cb93d50184fa212a47ef17e6d443 Mon Sep 17 00:00:00 2001 From: Kelsi Date: Tue, 10 Mar 2026 11:21:13 -0700 Subject: [PATCH] net: store moveFlags in UpdateBlock for Classic and TBC parsers Extends the cold-join fix (block.moveFlags) to the Classic and TBC parseMovementBlock implementations so that SMSG_UPDATE_OBJECT CREATE packets on Classic/TBC servers also initialise entity swim/walk state from the spawn-time movement flags via unitMoveFlagsCallback_. --- src/game/packet_parsers_classic.cpp | 1 + src/game/packet_parsers_tbc.cpp | 1 + 2 files changed, 2 insertions(+) diff --git a/src/game/packet_parsers_classic.cpp b/src/game/packet_parsers_classic.cpp index 03e0c5a0..33d39b77 100644 --- a/src/game/packet_parsers_classic.cpp +++ b/src/game/packet_parsers_classic.cpp @@ -103,6 +103,7 @@ bool ClassicPacketParsers::parseMovementBlock(network::Packet& packet, UpdateBlo /*float turnRate =*/ packet.readFloat(); block.runSpeed = runSpeed; + block.moveFlags = moveFlags; // Spline data (Classic: SPLINE_ENABLED=0x00400000) if (moveFlags & ClassicMoveFlags::SPLINE_ENABLED) { diff --git a/src/game/packet_parsers_tbc.cpp b/src/game/packet_parsers_tbc.cpp index ffc7d3cd..d4cad578 100644 --- a/src/game/packet_parsers_tbc.cpp +++ b/src/game/packet_parsers_tbc.cpp @@ -116,6 +116,7 @@ bool TbcPacketParsers::parseMovementBlock(network::Packet& packet, UpdateBlock& /*float turnRate =*/ packet.readFloat(); block.runSpeed = runSpeed; + block.moveFlags = moveFlags; // Spline data (TBC/WotLK: SPLINE_ENABLED = 0x08000000) if (moveFlags & TbcMoveFlags::SPLINE_ENABLED) {