From 274419584e94e024c782cd789078e1d77e66869e Mon Sep 17 00:00:00 2001 From: Kelsi Date: Tue, 10 Mar 2026 11:25:58 -0700 Subject: [PATCH] net: add MSG_MOVE_SET_WALK/RUN_MODE to compressed-moves batch dispatch handleCompressedMoves uses a hardcoded opcode array to recognise which sub-packets should be routed to handleOtherPlayerMovement. The two newly dispatched opcodes were not in this list, so walk/run mode transitions embedded in SMSG_COMPRESSED_MOVES / SMSG_MULTIPLE_MOVES batches were silently dropped. --- src/game/game_handler.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/game/game_handler.cpp b/src/game/game_handler.cpp index bd94fc0f..52591c7c 100644 --- a/src/game/game_handler.cpp +++ b/src/game/game_handler.cpp @@ -12240,7 +12240,7 @@ void GameHandler::handleCompressedMoves(network::Packet& packet) { // Player movement sub-opcodes (SMSG_MULTIPLE_MOVES carries MSG_MOVE_*) // Not static — wireOpcode() depends on runtime active opcode table. - const std::array kMoveOpcodes = { + const std::array kMoveOpcodes = { wireOpcode(Opcode::MSG_MOVE_START_FORWARD), wireOpcode(Opcode::MSG_MOVE_START_BACKWARD), wireOpcode(Opcode::MSG_MOVE_STOP), @@ -12256,6 +12256,8 @@ void GameHandler::handleCompressedMoves(network::Packet& packet) { wireOpcode(Opcode::MSG_MOVE_HEARTBEAT), wireOpcode(Opcode::MSG_MOVE_START_SWIM), wireOpcode(Opcode::MSG_MOVE_STOP_SWIM), + wireOpcode(Opcode::MSG_MOVE_SET_WALK_MODE), + wireOpcode(Opcode::MSG_MOVE_SET_RUN_MODE), }; // Track unhandled sub-opcodes once per compressed packet (avoid log spam)