aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/MovementHandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Handlers/MovementHandler.cpp')
-rw-r--r--src/server/game/Handlers/MovementHandler.cpp19
1 files changed, 8 insertions, 11 deletions
diff --git a/src/server/game/Handlers/MovementHandler.cpp b/src/server/game/Handlers/MovementHandler.cpp
index 21ef1fc6ae0..23cbdc7d4a3 100644
--- a/src/server/game/Handlers/MovementHandler.cpp
+++ b/src/server/game/Handlers/MovementHandler.cpp
@@ -32,6 +32,7 @@
#include "ObjectMgr.h"
#include "MovementStructures.h"
#include "Vehicle.h"
+#include "MovementPackets.h"
#define MOVEMENT_PACKET_TIME_DELAY 0
@@ -264,26 +265,23 @@ void WorldSession::HandleMoveTeleportAck(WorldPacket& recvPacket)
GetPlayer()->ProcessDelayedOperations();
}
-void WorldSession::HandleMovementOpcodes(WorldPacket& recvPacket)
+void WorldSession::HandleMovementOpcodes(WorldPackets::Movement::ClientPlayerMovement& packet)
{
- uint16 opcode = recvPacket.GetOpcode();
+ OpcodeClient opcode = packet.GetOpcode();
Unit* mover = _player->m_mover;
- ASSERT(mover != NULL); // there must always be a mover
+ ASSERT(mover != nullptr); // there must always be a mover
Player* plrMover = mover->ToPlayer();
// ignore, waiting processing in WorldSession::HandleMoveWorldportAckOpcode and WorldSession::HandleMoveTeleportAck
if (plrMover && plrMover->IsBeingTeleported())
{
- recvPacket.rfinish(); // prevent warnings spam
return;
}
- /* extract packet */
- MovementInfo movementInfo;
- GetPlayer()->ReadMovementInfo(recvPacket, &movementInfo);
+ MovementInfo& movementInfo = packet.movementInfo;
// prevent tampered movement data
if (movementInfo.guid != mover->GetGUID())
@@ -308,14 +306,12 @@ void WorldSession::HandleMovementOpcodes(WorldPacket& recvPacket)
// (also received at zeppelin leave by some reason with t_* as absolute in continent coordinates, can be safely skipped)
if (movementInfo.transport.pos.GetPositionX() > 50 || movementInfo.transport.pos.GetPositionY() > 50 || movementInfo.transport.pos.GetPositionZ() > 50)
{
- recvPacket.rfinish(); // prevent warnings spam
return;
}
if (!Trinity::IsValidMapCoord(movementInfo.pos.GetPositionX() + movementInfo.transport.pos.GetPositionX(), movementInfo.pos.GetPositionY() + movementInfo.transport.pos.GetPositionY(),
movementInfo.pos.GetPositionZ() + movementInfo.transport.pos.GetPositionZ(), movementInfo.pos.GetOrientation() + movementInfo.transport.pos.GetOrientation()))
{
- recvPacket.rfinish(); // prevent warnings spam
return;
}
@@ -387,7 +383,8 @@ void WorldSession::HandleMovementOpcodes(WorldPacket& recvPacket)
mover->UpdatePosition(movementInfo.pos);
- WorldPacket data(SMSG_PLAYER_MOVE, recvPacket.size());
+ // TODO:
+ /*WorldPacket data(SMSG_PLAYER_MOVE, recvPacket.size());
mover->WriteMovementInfo(data);
mover->SendMessageToSet(&data, _player);
@@ -418,7 +415,7 @@ void WorldSession::HandleMovementOpcodes(WorldPacket& recvPacket)
}
}
}
- }
+ }*/
}
void WorldSession::HandleForceSpeedChangeAck(WorldPacket &recvData)