Core/PacketIO: Remove duplicated areatrigger spline packet writer

This commit is contained in:
Shauren
2025-06-04 20:59:46 +02:00
parent 2f7fa781dd
commit dc10ac722f
7 changed files with 35 additions and 61 deletions

View File

@@ -17,20 +17,22 @@
#include "AreaTriggerPackets.h"
#include "PacketOperators.h"
#include "Spline.h"
namespace WorldPackets::AreaTrigger
{
void WriteAreaTriggerSpline(ByteBuffer& data, uint32 timeToTarget, uint32 elapsedTimeForMovement, ::Movement::Spline<float> const& areaTriggerSpline)
{
data << uint32(timeToTarget);
data << uint32(elapsedTimeForMovement);
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)
{
data << uint32(areaTriggerSpline.TimeToTarget);
data << uint32(areaTriggerSpline.ElapsedTimeForMovement);
data << BitsSize<16>(areaTriggerSpline.Points);
data.FlushBits();
for (TaggedPosition<Position::XYZ> const& point : areaTriggerSpline.Points)
data << point;
WriteAreaTriggerSpline(data, areaTriggerSpline.TimeToTarget, areaTriggerSpline.ElapsedTimeForMovement, *areaTriggerSpline.Points);
return data;
}

View File

@@ -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);
}
}

View File

@@ -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;

View File

@@ -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);
};