aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Server/Packets
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2015-04-04 23:49:14 +0200
committerShauren <shauren.trinity@gmail.com>2015-04-04 23:49:14 +0200
commit14b475e865058c1804cd6fb4dcaf307a4d895745 (patch)
treee7ec36a39adeaa62f5019d165fe19df59acdaee7 /src/server/game/Server/Packets
parent38b326d27ba211b80a5028a3ce3e4381fd019b73 (diff)
Core/PacketIO: Enabled CMSG_MOVE_KNOCK_BACK_ACK, SMSG_MOVE_UPDATE_KNOCK_BACK and SMSG_MOVE_UPDATE
Diffstat (limited to 'src/server/game/Server/Packets')
-rw-r--r--src/server/game/Server/Packets/MovementPackets.cpp16
-rw-r--r--src/server/game/Server/Packets/MovementPackets.h10
2 files changed, 22 insertions, 4 deletions
diff --git a/src/server/game/Server/Packets/MovementPackets.cpp b/src/server/game/Server/Packets/MovementPackets.cpp
index 836c00b70ca..0733bc5dbc0 100644
--- a/src/server/game/Server/Packets/MovementPackets.cpp
+++ b/src/server/game/Server/Packets/MovementPackets.cpp
@@ -56,6 +56,8 @@ ByteBuffer& operator<<(ByteBuffer& data, MovementInfo& movementInfo)
data.WriteBit(0); // HeightChangeFailed
data.WriteBit(0); // RemoteTimeValid
+ data.FlushBits();
+
if (hasTransportData)
data << movementInfo.transport;
@@ -65,6 +67,7 @@ ByteBuffer& operator<<(ByteBuffer& data, MovementInfo& movementInfo)
data << movementInfo.jump.zspeed;
data.WriteBit(hasFallDirection);
+ data.FlushBits();
if (hasFallDirection)
{
data << movementInfo.jump.sinAngle;
@@ -73,8 +76,6 @@ ByteBuffer& operator<<(ByteBuffer& data, MovementInfo& movementInfo)
}
}
- data.FlushBits();
-
return data;
}
@@ -167,14 +168,14 @@ ByteBuffer& operator<<(ByteBuffer& data, MovementInfo::TransportInfo const& tran
data.WriteBit(hasPrevTime);
data.WriteBit(hasVehicleId);
+ data.FlushBits();
+
if (hasPrevTime)
data << transportInfo.prevTime; // PrevMoveTime
if (hasVehicleId)
data << transportInfo.vehicleId; // VehicleRecID
- data.FlushBits();
-
return data;
}
@@ -620,3 +621,10 @@ WorldPacket const* WorldPackets::Movement::MoveSetActiveMover::Write()
return &_worldPacket;
}
+
+WorldPacket const* WorldPackets::Movement::MoveUpdateKnockBack::Write()
+{
+ _worldPacket << *movementInfo;
+
+ return &_worldPacket;
+}
diff --git a/src/server/game/Server/Packets/MovementPackets.h b/src/server/game/Server/Packets/MovementPackets.h
index b84f3592d05..139f6077b0a 100644
--- a/src/server/game/Server/Packets/MovementPackets.h
+++ b/src/server/game/Server/Packets/MovementPackets.h
@@ -328,6 +328,16 @@ namespace WorldPackets
ObjectGuid MoverGUID;
};
+
+ class MoveUpdateKnockBack final : public ServerPacket
+ {
+ public:
+ MoveUpdateKnockBack() : ServerPacket(SMSG_MOVE_UPDATE_KNOCK_BACK) { }
+
+ WorldPacket const* Write() override;
+
+ MovementInfo* movementInfo = nullptr;
+ };
}
ByteBuffer& operator<<(ByteBuffer& data, Movement::MonsterSplineFilterKey const& monsterSplineFilterKey);