From da8cb5e5b03445faf400ffe5f885d32a9b683c99 Mon Sep 17 00:00:00 2001 From: Ovahlord Date: Sun, 19 Jun 2022 22:11:09 +0200 Subject: [PATCH] Core/Movement: partial cherrypick of f8ad7017dd69e3853ed5912ac6151bc56b6265a0 --- src/server/game/Movement/PathGenerator.h | 5 +++++ src/server/game/Movement/Spline/Spline.cpp | 6 ++++++ src/server/game/Movement/Spline/Spline.h | 7 ++++++- 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/server/game/Movement/PathGenerator.h b/src/server/game/Movement/PathGenerator.h index 826a25205a6..7f012417b17 100644 --- a/src/server/game/Movement/PathGenerator.h +++ b/src/server/game/Movement/PathGenerator.h @@ -59,6 +59,11 @@ class TC_GAME_API PathGenerator explicit PathGenerator(WorldObject const* owner); ~PathGenerator(); + PathGenerator(PathGenerator const& right) = delete; + PathGenerator(PathGenerator&& right) = delete; + PathGenerator& operator=(PathGenerator const& right) = delete; + PathGenerator& operator=(PathGenerator&& right) = delete; + // Calculate the path from owner to given destination // return: true if new path was calculated, false otherwise (no change needed) bool CalculatePath(float destX, float destY, float destZ, bool forceDest = false); diff --git a/src/server/game/Movement/Spline/Spline.cpp b/src/server/game/Movement/Spline/Spline.cpp index ee2bb49dc9e..53d1777b1f0 100644 --- a/src/server/game/Movement/Spline/Spline.cpp +++ b/src/server/game/Movement/Spline/Spline.cpp @@ -282,6 +282,12 @@ void SplineBase::InitBezier3(Vector3 const* controls, index_type count, index_ty //mov_assert(points.size() % 3 == 0); } +SplineBase::SplineBase() : index_lo(0), index_hi(0), m_mode(UninitializedMode), cyclic(false), initialOrientation(0.f) +{ +} + +SplineBase::~SplineBase() = default; + void SplineBase::clear() { index_lo = 0; diff --git a/src/server/game/Movement/Spline/Spline.h b/src/server/game/Movement/Spline/Spline.h index 53f22e1047b..ddb2274c437 100644 --- a/src/server/game/Movement/Spline/Spline.h +++ b/src/server/game/Movement/Spline/Spline.h @@ -87,7 +87,12 @@ protected: public: - explicit SplineBase() : index_lo(0), index_hi(0), m_mode(UninitializedMode), cyclic(false), initialOrientation(0.f) { } + explicit SplineBase(); + SplineBase(SplineBase const& right) = delete; + SplineBase(SplineBase&& right) = delete; + SplineBase& operator=(SplineBase const& right) = delete; + SplineBase& operator=(SplineBase&& right) = delete; + virtual ~SplineBase(); /** Caclulates the position for given segment Idx, and percent of segment length t @param t - percent of segment length, assumes that t in range [0, 1]