aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/MovementHandler.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2012-07-11 19:26:26 +0200
committerShauren <shauren.trinity@gmail.com>2012-07-11 19:26:26 +0200
commit492fd80b0621728889c6013682d07b420778ef9a (patch)
tree6539618a8f34e937b5ca5af3044ca0fbcca15d7b /src/server/game/Handlers/MovementHandler.cpp
parent7611ab69be5982dfe558d6e7554545ea253cbb60 (diff)
Core/Misc
* Cleaned up packet manipulation methods, no need to keep duplicate sets of functions doing the same * Added a very basic ObjectGuid structure for easier (and endian-safe) method of accessing individual guid bytes
Diffstat (limited to 'src/server/game/Handlers/MovementHandler.cpp')
-rwxr-xr-xsrc/server/game/Handlers/MovementHandler.cpp37
1 files changed, 13 insertions, 24 deletions
diff --git a/src/server/game/Handlers/MovementHandler.cpp b/src/server/game/Handlers/MovementHandler.cpp
index 598dafb200a..57afc614545 100755
--- a/src/server/game/Handlers/MovementHandler.cpp
+++ b/src/server/game/Handlers/MovementHandler.cpp
@@ -192,22 +192,14 @@ void WorldSession::HandleMoveTeleportAck(WorldPacket& recv_data)
{
sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_MOVE_TELEPORT_ACK");
- BitStream mask = recv_data.ReadBitStream(8);
+ recv_data.rfinish();
+ return;
uint32 flags, time;
recv_data >> flags >> time;
- ByteBuffer bytes(8, true);
- recv_data.ReadXorByte(mask[6], bytes[1]);
- recv_data.ReadXorByte(mask[0], bytes[3]);
- recv_data.ReadXorByte(mask[1], bytes[2]);
- recv_data.ReadXorByte(mask[7], bytes[0]);
- recv_data.ReadXorByte(mask[5], bytes[6]);
- recv_data.ReadXorByte(mask[3], bytes[4]);
- recv_data.ReadXorByte(mask[2], bytes[7]);
- recv_data.ReadXorByte(mask[4], bytes[5]);
- uint64 guid = BitConverter::ToUInt64(bytes);
+ uint64 guid = 0;
sLog->outStaticDebug("Guid " UI64FMTD, guid);
sLog->outStaticDebug("Flags %u, time %u", flags, time/IN_MILLISECONDS);
@@ -618,11 +610,8 @@ void WorldSession::ReadMovementInfo(WorldPacket &data, MovementInfo* mi)
if (sequence == NULL)
return;
- BytesGuid guid;
- BytesGuid tguid;
-
- guid.guid = 0;
- tguid.guid = 0;
+ ObjectGuid guid;
+ ObjectGuid tguid;
for (uint32 i = 0; i < MSE_COUNT; i++)
{
@@ -630,7 +619,7 @@ void WorldSession::ReadMovementInfo(WorldPacket &data, MovementInfo* mi)
if (element >= MSEGuidByte0 && element <= MSEGuidByte7)
{
- data.ReadByteMask(guid.bytes[element - MSEGuidByte0]);
+ guid[element - MSEGuidByte0] = data.ReadBit();
continue;
}
@@ -638,13 +627,13 @@ void WorldSession::ReadMovementInfo(WorldPacket &data, MovementInfo* mi)
element <= MSETransportGuidByte7)
{
if (HaveTransportData)
- data.ReadByteMask(tguid.bytes[element - MSETransportGuidByte0]);
+ tguid[element - MSETransportGuidByte0] = data.ReadBit();
continue;
}
if (element >= MSEGuidByte0_2 && element <= MSEGuidByte7_2)
{
- data.ReadByteSeq(guid.bytes[element - MSEGuidByte0_2]);
+ data.ReadByteSeq(guid[element - MSEGuidByte0_2]);
continue;
}
@@ -652,7 +641,7 @@ void WorldSession::ReadMovementInfo(WorldPacket &data, MovementInfo* mi)
element <= MSETransportGuidByte7_2)
{
if (HaveTransportData)
- data.ReadByteSeq(tguid.bytes[element - MSETransportGuidByte0_2]);
+ data.ReadByteSeq(tguid[element - MSETransportGuidByte0_2]);
continue;
}
@@ -763,8 +752,8 @@ void WorldSession::ReadMovementInfo(WorldPacket &data, MovementInfo* mi)
}
}
- mi->guid = guid.guid;
- mi->t_guid = tguid.guid;
+ mi->guid = guid;
+ mi->t_guid = tguid;
if (HaveTransportData && mi->pos.m_positionX != mi->t_pos.m_positionX)
if (GetPlayer()->GetTransport())
@@ -866,7 +855,7 @@ void WorldSession::WriteMovementInfo(WorldPacket &data, MovementInfo* mi)
if (element >= MSEGuidByte0 && element <= MSEGuidByte7)
{
- data.WriteByteMask(guid[element - MSEGuidByte0]);
+ data.WriteBit(guid[element - MSEGuidByte0]);
continue;
}
@@ -874,7 +863,7 @@ void WorldSession::WriteMovementInfo(WorldPacket &data, MovementInfo* mi)
element <= MSETransportGuidByte7)
{
if (HaveTransportData)
- data.WriteByteMask(tguid[element - MSETransportGuidByte0]);
+ data.WriteBit(tguid[element - MSETransportGuidByte0]);
continue;
}