diff options
| author | Shauren <shauren.trinity@gmail.com> | 2025-06-04 20:59:46 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2025-06-04 20:59:46 +0200 |
| commit | dc10ac722f5e059852785372f9ff91e205d730ce (patch) | |
| tree | bc4304eeddf5fa6a13c02231b2b5d7f4f7cfd2ea /src/server/game/Server | |
| parent | 2f7fa781ddaafede2b75fda8f9680e28914708f2 (diff) | |
Core/PacketIO: Remove duplicated areatrigger spline packet writer
Diffstat (limited to 'src/server/game/Server')
4 files changed, 18 insertions, 18 deletions
diff --git a/src/server/game/Server/Packets/AreaTriggerPackets.cpp b/src/server/game/Server/Packets/AreaTriggerPackets.cpp index fd783bbe177..22a86f84e3b 100644 --- a/src/server/game/Server/Packets/AreaTriggerPackets.cpp +++ b/src/server/game/Server/Packets/AreaTriggerPackets.cpp @@ -17,20 +17,22 @@ #include "AreaTriggerPackets.h" #include "PacketOperators.h" +#include "Spline.h" namespace WorldPackets::AreaTrigger { -ByteBuffer& operator<<(ByteBuffer& data, AreaTriggerSplineInfo const& areaTriggerSpline) +void WriteAreaTriggerSpline(ByteBuffer& data, uint32 timeToTarget, uint32 elapsedTimeForMovement, ::Movement::Spline<float> const& areaTriggerSpline) { - data << uint32(areaTriggerSpline.TimeToTarget); - data << uint32(areaTriggerSpline.ElapsedTimeForMovement); - - data << BitsSize<16>(areaTriggerSpline.Points); - data.FlushBits(); + data << uint32(timeToTarget); + data << uint32(elapsedTimeForMovement); - for (TaggedPosition<Position::XYZ> const& point : areaTriggerSpline.Points) - data << point; + data << BitsSize<16>(areaTriggerSpline.getPoints()); + data.append(reinterpret_cast<float const*>(areaTriggerSpline.getPoints().data()), areaTriggerSpline.getPoints().size() * 3); +} +ByteBuffer& operator<<(ByteBuffer& data, AreaTriggerSplineInfo const& areaTriggerSpline) +{ + WriteAreaTriggerSpline(data, areaTriggerSpline.TimeToTarget, areaTriggerSpline.ElapsedTimeForMovement, *areaTriggerSpline.Points); return data; } diff --git a/src/server/game/Server/Packets/AreaTriggerPackets.h b/src/server/game/Server/Packets/AreaTriggerPackets.h index 3c770295a81..f402e0d2256 100644 --- a/src/server/game/Server/Packets/AreaTriggerPackets.h +++ b/src/server/game/Server/Packets/AreaTriggerPackets.h @@ -23,6 +23,12 @@ #include "ObjectGuid.h" #include "Optional.h" +namespace Movement +{ +template<class index_type> +class Spline; +} + namespace WorldPackets { namespace AreaTrigger @@ -31,7 +37,7 @@ namespace WorldPackets { uint32 TimeToTarget = 0; uint32 ElapsedTimeForMovement = 0; - std::vector<TaggedPosition<Position::XYZ>> Points; + ::Movement::Spline<float>* Points = nullptr; }; struct AreaTriggerMovementScriptInfo @@ -96,6 +102,7 @@ namespace WorldPackets uint32 SpellVisualID = 0; }; + void WriteAreaTriggerSpline(ByteBuffer& data, uint32 timeToTarget, uint32 elapsedTimeForMovement, ::Movement::Spline<float> const& areaTriggerSpline); ByteBuffer& operator<<(ByteBuffer& data, AreaTriggerOrbitInfo const& areaTriggerCircularMovement); } } diff --git a/src/server/game/Server/Packets/MovementPackets.cpp b/src/server/game/Server/Packets/MovementPackets.cpp index ac5413d59f2..356e1c4c409 100644 --- a/src/server/game/Server/Packets/MovementPackets.cpp +++ b/src/server/game/Server/Packets/MovementPackets.cpp @@ -513,12 +513,6 @@ void CommonMovement::WriteCreateObjectSplineDataBlock(::Movement::MoveSpline con } } -void CommonMovement::WriteCreateObjectAreaTriggerSpline(::Movement::Spline<float> const& spline, ByteBuffer& data) -{ - data << BitsSize<16>(spline.getPoints()); - data.append(reinterpret_cast<float const*>(spline.getPoints().data()), spline.getPoints().size() * 3); -} - void CommonMovement::WriteMovementForceWithDirection(MovementForce const& movementForce, ByteBuffer& data, Position const* objectPosition /*= nullptr*/) { data << movementForce.ID; diff --git a/src/server/game/Server/Packets/MovementPackets.h b/src/server/game/Server/Packets/MovementPackets.h index 020305d0b49..a6f628184d2 100644 --- a/src/server/game/Server/Packets/MovementPackets.h +++ b/src/server/game/Server/Packets/MovementPackets.h @@ -25,8 +25,6 @@ namespace Movement { - template<class index_type> - class Spline; class MoveSpline; } @@ -148,7 +146,6 @@ namespace WorldPackets { public: static void WriteCreateObjectSplineDataBlock(::Movement::MoveSpline const& moveSpline, ByteBuffer& data); - static void WriteCreateObjectAreaTriggerSpline(::Movement::Spline<float> const& spline, ByteBuffer& data); static void WriteMovementForceWithDirection(MovementForce const& movementForce, ByteBuffer& data, Position const* objectPosition = nullptr); }; |
