feat(object): add HandleObjectOutOfRangePass1

This commit is contained in:
fallenoak committed 2026-01-15 21:04:43 -06:00
1 parent f4ca99ac15
commit 13ec1d7eef
4 files changed
+32

No files matched your search

+4
View File
@@ -22,6 +22,10 @@ void CGObject_C::AddWorldObject() {
// TODO
}
void CGObject_C::Disable() {
// TODO
}
int32_t CGObject_C::IsInReenable() {
return this->m_inReenable;
}
+8
View File
@@ -19,6 +19,14 @@ class CGObject_C : public CGObject, public TSHashObject<CGObject_C, CHashKeyGUID
uint32_t m_postInited : 1;
uint32_t m_flag19 : 1;
uint32_t m_disablePending : 1;
// TODO
// Virtual public member functions
// TODO
virtual void Disable();
// TODO
virtual void HandleOutOfRange(OUT_OF_RANGE_TYPE type) {};
// TODO
// Public member functions
CGObject_C() = default;
+17
View File
@@ -56,6 +56,23 @@ CGObject_C* GetUpdateObject(WOWGUID guid, int32_t* reenable) {
return nullptr;
}
int32_t HandleObjectOutOfRangePass1(CGObject_C* object, OUT_OF_RANGE_TYPE type) {
// TODO arena unit out of range handling
object->HandleOutOfRange(type);
if (object->IsObjectLocked()) {
object->SetDisablePending(true);
return false;
}
object->SetDisablePending(false);
object->Disable();
return true;
}
void InitObject(CGObject_C* object, uint32_t time, CClientObjCreate& objCreate) {
switch (object->m_typeID) {
case ID_ITEM: {
+3
View File
@@ -1,6 +1,7 @@
#ifndef OBJECT_CLIENT_UTIL_HPP
#define OBJECT_CLIENT_UTIL_HPP
#include "object/Types.hpp"
#include "util/GUID.hpp"
#include <cstdint>
@@ -11,6 +12,8 @@ CGObject_C* FindActiveObject(WOWGUID guid);
CGObject_C* GetUpdateObject(WOWGUID guid, int32_t* reenable);
int32_t HandleObjectOutOfRangePass1(CGObject_C* object, OUT_OF_RANGE_TYPE type);
void InitObject(CGObject_C* object, uint32_t time, CClientObjCreate& objCreate);
#endif