aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Server/Packets
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2024-04-23 11:09:59 +0200
committerShauren <shauren.trinity@gmail.com>2024-04-23 11:09:59 +0200
commita02804fa0246851436bb195d8d06d991de523bb0 (patch)
treec59f40a8d2c7188b0599f3b62b8d0634dc4fe161 /src/server/game/Server/Packets
parent1da162d71dd0dc7540db0384e45b7aaa7e6f0d64 (diff)
Core/Movement: Refactor MoveSplineFlag to get rid of undefined behavior (cast in raw()) and unify enum to string formatting for it
Diffstat (limited to 'src/server/game/Server/Packets')
-rw-r--r--src/server/game/Server/Packets/MovementPackets.cpp18
1 files changed, 9 insertions, 9 deletions
diff --git a/src/server/game/Server/Packets/MovementPackets.cpp b/src/server/game/Server/Packets/MovementPackets.cpp
index 8545ac6e59d..895c12fb704 100644
--- a/src/server/game/Server/Packets/MovementPackets.cpp
+++ b/src/server/game/Server/Packets/MovementPackets.cpp
@@ -381,17 +381,17 @@ void WorldPackets::Movement::CommonMovement::WriteCreateObjectSplineDataBlock(::
if (hasSplineMove) // MovementSplineMove
{
- data << uint32(moveSpline.splineflags.raw()); // SplineFlags
+ data << uint32(moveSpline.splineflags.Raw.AsUnderlyingType()); // SplineFlags
data << int32(moveSpline.timePassed()); // Elapsed
data << uint32(moveSpline.Duration()); // Duration
data << float(1.0f); // DurationModifier
data << float(1.0f); // NextDurationModifier
data.WriteBits(moveSpline.facing.type, 2); // Face
- bool hasFadeObjectTime = data.WriteBit(moveSpline.splineflags.fadeObject && moveSpline.effect_start_time < moveSpline.Duration());
+ bool hasFadeObjectTime = data.WriteBit(moveSpline.splineflags.FadeObject && moveSpline.effect_start_time < moveSpline.Duration());
data.WriteBits(moveSpline.getPath().size(), 16);
data.WriteBit(false); // HasSplineFilter
data.WriteBit(moveSpline.spell_effect_extra.has_value()); // HasSpellEffectExtraData
- bool hasJumpExtraData = data.WriteBit(moveSpline.splineflags.parabolic && (!moveSpline.spell_effect_extra || moveSpline.effect_start_time));
+ bool hasJumpExtraData = data.WriteBit(moveSpline.splineflags.Parabolic && (!moveSpline.spell_effect_extra || moveSpline.effect_start_time));
data.WriteBit(moveSpline.anim_tier.has_value()); // HasAnimTierTransition
data.WriteBit(false); // HasUnknown901
data.FlushBits();
@@ -522,7 +522,7 @@ void WorldPackets::Movement::MonsterMove::InitializeSplineData(::Movement::MoveS
WorldPackets::Movement::MovementSpline& movementSpline = SplineData.Move;
::Movement::MoveSplineFlag splineFlags = moveSpline.splineflags;
- movementSpline.Flags = uint32(splineFlags & uint32(~::Movement::MoveSplineFlag::Mask_No_Monster_Move));
+ movementSpline.Flags = uint32(splineFlags & ~::Movement::MoveSplineFlagEnum::Mask_No_Monster_Move);
movementSpline.Face = moveSpline.facing.type;
movementSpline.FaceDirection = moveSpline.facing.angle;
movementSpline.FaceGUID = moveSpline.facing.target;
@@ -538,14 +538,14 @@ void WorldPackets::Movement::MonsterMove::InitializeSplineData(::Movement::MoveS
movementSpline.MoveTime = moveSpline.Duration();
- if (splineFlags.parabolic && (!moveSpline.spell_effect_extra || moveSpline.effect_start_time))
+ if (splineFlags.Parabolic && (!moveSpline.spell_effect_extra || moveSpline.effect_start_time))
{
movementSpline.JumpExtraData.emplace();
movementSpline.JumpExtraData->JumpGravity = moveSpline.vertical_acceleration;
movementSpline.JumpExtraData->StartTime = moveSpline.effect_start_time;
}
- if (splineFlags.fadeObject)
+ if (splineFlags.FadeObject)
movementSpline.FadeObjectTime = moveSpline.effect_start_time;
if (moveSpline.spell_effect_extra)
@@ -561,15 +561,15 @@ void WorldPackets::Movement::MonsterMove::InitializeSplineData(::Movement::MoveS
::Movement::Spline<int32> const& spline = moveSpline.spline;
std::vector<G3D::Vector3> const& array = spline.getPoints();
- if (splineFlags & ::Movement::MoveSplineFlag::UncompressedPath)
+ if (splineFlags.UncompressedPath)
{
- uint32 count = spline.getPointCount() - (splineFlags.cyclic ? 4 : 3);
+ uint32 count = spline.getPointCount() - (splineFlags.Cyclic ? 4 : 3);
for (uint32 i = 0; i < count; ++i)
movementSpline.Points.emplace_back(array[i + 2].x, array[i + 2].y, array[i + 2].z);
}
else
{
- uint32 lastIdx = spline.getPointCount() - (splineFlags.cyclic ? 4 : 3);
+ uint32 lastIdx = spline.getPointCount() - (splineFlags.Cyclic ? 4 : 3);
G3D::Vector3 const* realPath = &array[1];
movementSpline.Points.emplace_back(realPath[lastIdx].x, realPath[lastIdx].y, realPath[lastIdx].z);