diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/game/MiscHandler.cpp | 96 | ||||
-rw-r--r-- | src/game/MovementHandler.cpp | 11 |
2 files changed, 46 insertions, 61 deletions
diff --git a/src/game/MiscHandler.cpp b/src/game/MiscHandler.cpp index fc7dd114af2..cc1732fdb6a 100644 --- a/src/game/MiscHandler.cpp +++ b/src/game/MiscHandler.cpp @@ -1078,76 +1078,50 @@ void WorldSession::HandleFeatherFallAck(WorldPacket &/*recv_data*/) void WorldSession::HandleMoveUnRootAck(WorldPacket& recv_data) { + // no used + recv_data.rpos(recv_data.wpos()); // prevent warnings spam +/* + uint64 guid; + recv_data >> guid; + + // now can skip not our packet + if(_player->GetGUID() != guid) + { + recv_data.rpos(recv_data.wpos()); // prevent warnings spam + return; + } + sLog.outDebug( "WORLD: CMSG_FORCE_MOVE_UNROOT_ACK" ); - recv_data.read_skip<uint64>(); // guid - recv_data.read_skip<uint64>(); // unknown1 - recv_data.read_skip<uint32>(); // unknown2 - recv_data.read_skip<float>(); // PositionX - recv_data.read_skip<float>(); // PositionY - recv_data.read_skip<float>(); // PositionZ - recv_data.read_skip<float>(); // Orientation - - /* - recv_data.hexlike(); + recv_data.read_skip<uint32>(); // unk - recv_data >> guid; - recv_data >> unknown1; - recv_data >> unknown2; - recv_data >> PositionX; - recv_data >> PositionY; - recv_data >> PositionZ; - recv_data >> Orientation; - - // TODO for later may be we can use for anticheat - DEBUG_LOG("Guid " UI64FMTD,guid); - DEBUG_LOG("unknown1 " UI64FMTD,unknown1); - DEBUG_LOG("unknown2 %u",unknown2); - DEBUG_LOG("X %f",PositionX); - DEBUG_LOG("Y %f",PositionY); - DEBUG_LOG("Z %f",PositionZ); - DEBUG_LOG("O %f",Orientation); - */ + MovementInfo movementInfo; + ReadMovementInfo(recv_data, &movementInfo); +*/ } void WorldSession::HandleMoveRootAck(WorldPacket& recv_data) { - recv_data.read_skip<uint64>(); // guid - recv_data.read_skip<uint64>(); // unknown1 - recv_data.read_skip<uint32>(); // unknown2 - recv_data.read_skip<float>(); // PositionX - recv_data.read_skip<float>(); // PositionY - recv_data.read_skip<float>(); // PositionZ - recv_data.read_skip<float>(); // Orientation + // no used + recv_data.rpos(recv_data.wpos()); // prevent warnings spam +/* + uint64 guid; + recv_data >> guid; - /* - sLog.outDebug( "WORLD: CMSG_FORCE_MOVE_ROOT_ACK" ); - recv_data.hexlike(); - uint64 guid; - uint64 unknown1; - uint32 unknown2; - float PositionX; - float PositionY; - float PositionZ; - float Orientation; + // now can skip not our packet + if(_player->GetGUID() != guid) + { + recv_data.rpos(recv_data.wpos()); // prevent warnings spam + return; + } - recv_data >> guid; - recv_data >> unknown1; - recv_data >> unknown2; - recv_data >> PositionX; - recv_data >> PositionY; - recv_data >> PositionZ; - recv_data >> Orientation; - - // for later may be we can use for anticheat - DEBUG_LOG("Guid " UI64FMTD,guid); - DEBUG_LOG("unknown1 " UI64FMTD,unknown1); - DEBUG_LOG("unknown1 %u",unknown2); - DEBUG_LOG("X %f",PositionX); - DEBUG_LOG("Y %f",PositionY); - DEBUG_LOG("Z %f",PositionZ); - DEBUG_LOG("O %f",Orientation); - */ + sLog.outDebug( "WORLD: CMSG_FORCE_MOVE_ROOT_ACK" ); + + recv_data.read_skip<uint32>(); // unk + + MovementInfo movementInfo; + ReadMovementInfo(recv_data, &movementInfo); +*/ } void WorldSession::HandleSetActionBarToggles(WorldPacket& recv_data) diff --git a/src/game/MovementHandler.cpp b/src/game/MovementHandler.cpp index b558609cc2e..f518c7f4da4 100644 --- a/src/game/MovementHandler.cpp +++ b/src/game/MovementHandler.cpp @@ -228,7 +228,10 @@ void WorldSession::HandleMovementOpcodes( WorldPacket & recv_data ) // ignore, waiting processing in WorldSession::HandleMoveWorldportAckOpcode and WorldSession::HandleMoveTeleportAck if(plMover && plMover->IsBeingTeleported()) + { + recv_data.rpos(recv_data.wpos()); // prevent warnings spam return; + } /* extract packet */ MovementInfo movementInfo; @@ -239,6 +242,7 @@ void WorldSession::HandleMovementOpcodes( WorldPacket & recv_data ) { sLog.outError("MovementHandler: player %s (guid %d, account %u) sent a packet (opcode %u) that is " SIZEFMTD " bytes larger than it should be. Kicked as cheater.", _player->GetName(), _player->GetGUIDLow(), _player->GetSession()->GetAccountId(), recv_data.GetOpcode(), recv_data.size() - recv_data.rpos()); KickPlayer(); + recv_data.rpos(recv_data.wpos()); // prevent warnings spam return; } @@ -379,7 +383,10 @@ void WorldSession::HandleForceSpeedChangeAck(WorldPacket &recv_data) // now can skip not our packet if(_player->GetGUID() != guid) + { + recv_data.rpos(recv_data.wpos()); // prevent warnings spam return; + } // continue parse packet @@ -470,6 +477,7 @@ void WorldSession::HandleMoveNotActiveMover(WorldPacket &recv_data) /*if(_player->m_mover->GetGUID() == old_mover_guid) { sLog.outError("HandleMoveNotActiveMover: incorrect mover guid: mover is " I64FMT " and should be " I64FMT " instead of " I64FMT, _player->m_mover->GetGUID(), _player->GetGUID(), old_mover_guid); + recv_data.rpos(recv_data.wpos()); // prevent warnings spam return; }*/ @@ -484,7 +492,10 @@ void WorldSession::HandleDismissControlledVehicle(WorldPacket &recv_data) uint64 vehicleGUID = _player->GetCharmGUID(); if(!vehicleGUID) // something wrong here... + { + recv_data.rpos(recv_data.wpos()); // prevent warnings spam return; + } ReadMovementInfo(recv_data, &_player->m_mover->m_movementInfo); _player->ExitVehicle(); |