aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Server
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2025-06-04 20:59:46 +0200
committerShauren <shauren.trinity@gmail.com>2025-06-04 20:59:46 +0200
commitdc10ac722f5e059852785372f9ff91e205d730ce (patch)
treebc4304eeddf5fa6a13c02231b2b5d7f4f7cfd2ea /src/server/game/Server
parent2f7fa781ddaafede2b75fda8f9680e28914708f2 (diff)
Core/PacketIO: Remove duplicated areatrigger spline packet writer
Diffstat (limited to 'src/server/game/Server')
-rw-r--r--src/server/game/Server/Packets/AreaTriggerPackets.cpp18
-rw-r--r--src/server/game/Server/Packets/AreaTriggerPackets.h9
-rw-r--r--src/server/game/Server/Packets/MovementPackets.cpp6
-rw-r--r--src/server/game/Server/Packets/MovementPackets.h3
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);
};