From 1b90dcb09ba5d15059c9d6565bf3d671f0862be1 Mon Sep 17 00:00:00 2001 From: fallenoak Date: Fri, 27 Feb 2026 20:12:08 -0600 Subject: [PATCH] fix(object): move CMovement_C pointer to proper location in CGUnit --- src/object/client/CGUnit.hpp | 5 +++++ src/object/client/CGUnit_C.cpp | 3 ++- src/object/client/CGUnit_C.hpp | 5 ++--- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/object/client/CGUnit.hpp b/src/object/client/CGUnit.hpp index f34c268..95e5d83 100644 --- a/src/object/client/CGUnit.hpp +++ b/src/object/client/CGUnit.hpp @@ -4,6 +4,8 @@ #include "util/GUID.hpp" #include +class CMovement_C; + struct CGUnitData { WOWGUID charm; WOWGUID summon; @@ -83,6 +85,8 @@ class CGUnit { static uint32_t TotalFieldsSaved(); // Public member functions + CGUnit(CMovement_C& move) + : m_move(&move) {}; int32_t GetDisplayID() const; int32_t GetNativeDisplayID() const; @@ -90,6 +94,7 @@ class CGUnit { // Protected member variables CGUnitData* m_unit; uint32_t* m_unitSaved; + CMovement_C* m_move; // Protected member functions CGUnitData* Unit() const; diff --git a/src/object/client/CGUnit_C.cpp b/src/object/client/CGUnit_C.cpp index c34cda1..470ab4f 100644 --- a/src/object/client/CGUnit_C.cpp +++ b/src/object/client/CGUnit_C.cpp @@ -98,7 +98,8 @@ const char* CGUnit_C::GetDisplayRaceNameFromRecord(const ChrRacesRec* raceRec, U CGUnit_C::CGUnit_C(uint32_t time, CClientObjCreate& objCreate) : CGObject_C(time, objCreate) - , m_localMovement(objCreate.move.status.position28, objCreate.move.status.facing34, this->GetGUID(), this) + , CGUnit(this->m_localMove) + , m_localMove(objCreate.move.status.position28, objCreate.move.status.facing34, this->GetGUID(), this) { // TODO diff --git a/src/object/client/CGUnit_C.hpp b/src/object/client/CGUnit_C.hpp index 57d09aa..667f1cb 100644 --- a/src/object/client/CGUnit_C.hpp +++ b/src/object/client/CGUnit_C.hpp @@ -4,7 +4,7 @@ #include "object/client/CClientObjCreate.hpp" #include "object/client/CGObject_C.hpp" #include "object/client/CGUnit.hpp" -#include "object/client/CMovementData_C.hpp" +#include "object/client/CMovement_C.hpp" #include "object/Types.hpp" #include "util/GUID.hpp" @@ -49,9 +49,8 @@ class CGUnit_C : public CGObject_C, public CGUnit { private: // Private member variables - CMovementData_C* m_movement = &m_localMovement; // TODO - CMovementData_C m_localMovement; + CMovement_C m_localMove; // TODO CreatureDisplayInfoRec* m_displayInfo = nullptr; CreatureDisplayInfoExtraRec* m_displayInfoExtra = nullptr;