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.
This commit is contained in:
Kelsi 2026-03-10 11:25:58 -07:00
parent d96a87aafc
commit 274419584e

View file

@ -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<uint16_t, 15> kMoveOpcodes = {
const std::array<uint16_t, 17> 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)