From 56f645fe3b693c214730ddeedec7d3b7384443e5 Mon Sep 17 00:00:00 2001 From: fallenoak Date: Tue, 13 Jan 2026 22:34:44 -0600 Subject: [PATCH] feat(object): link newly created objects to visible list --- src/object/client/CGObject_C.hpp | 4 ++++ src/object/client/ClntObjMgr.hpp | 3 +++ src/object/client/MessageHandlers.cpp | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/object/client/CGObject_C.hpp b/src/object/client/CGObject_C.hpp index 8ca0416..cb0a3a0 100644 --- a/src/object/client/CGObject_C.hpp +++ b/src/object/client/CGObject_C.hpp @@ -6,9 +6,13 @@ #include "object/client/CGObject.hpp" #include "util/GUID.hpp" #include +#include class CGObject_C : public CGObject, public TSHashObject { public: + // Public member variables + TSLink m_link; + // Public member functions CGObject_C() = default; CGObject_C(uint32_t time, CClientObjCreate& objCreate); diff --git a/src/object/client/ClntObjMgr.hpp b/src/object/client/ClntObjMgr.hpp index 51cd561..baf848d 100644 --- a/src/object/client/ClntObjMgr.hpp +++ b/src/object/client/ClntObjMgr.hpp @@ -3,6 +3,7 @@ #include "object/client/CGObject_C.hpp" #include +#include #include class ClientConnection; @@ -12,6 +13,8 @@ class ClntObjMgr { // Member variables TSHashTable m_objects; // TODO + STORM_EXPLICIT_LIST(CGObject_C, m_link) m_visibleObjects; + // TODO WOWGUID m_activePlayer = 0; uint32_t m_mapID = 0; ClientConnection* m_net = nullptr; diff --git a/src/object/client/MessageHandlers.cpp b/src/object/client/MessageHandlers.cpp index 13b6fca..b50a672 100644 --- a/src/object/client/MessageHandlers.cpp +++ b/src/object/client/MessageHandlers.cpp @@ -205,7 +205,7 @@ int32_t CreateObject(CDataStore* msg, uint32_t time) { InitObject(newObject, time, objCreate); - // TODO link to one of the ClntObjMgr lists + ClntObjMgrGetCurrent()->m_visibleObjects.LinkToTail(newObject); return 1; }