feat(object): add CGObject_C::SetTypeID

This commit is contained in:
fallenoak committed 2026-01-09 21:15:33 -06:00
1 parent 7101bc55b6
commit 551fd7f4b1
3 files changed
+50 -2

No files matched your search

+5 -1
View File
@@ -5,7 +5,11 @@
#include <cstdint>
struct CGObjectData {
// TODO
uint64_t m_guid;
OBJECT_TYPE m_type;
int32_t m_entryID;
float m_scale;
uint32_t pad;
};
class CGObject {
+42
View File
@@ -0,0 +1,42 @@
#include "object/client/CGObject_C.hpp"
void CGObject_C::SetTypeID(OBJECT_TYPE_ID typeID) {
this->m_typeID = typeID;
switch (typeID) {
case ID_OBJECT:
this->m_obj->m_type = TYPE_OBJECT;
break;
case ID_ITEM:
this->m_obj->m_type = static_cast<OBJECT_TYPE>(TYPE_OBJECT | TYPE_ITEM);
break;
case ID_CONTAINER:
this->m_obj->m_type = static_cast<OBJECT_TYPE>(TYPE_OBJECT | TYPE_ITEM | TYPE_CONTAINER);
break;
case ID_UNIT:
this->m_obj->m_type = static_cast<OBJECT_TYPE>(TYPE_OBJECT | TYPE_UNIT);
break;
case ID_PLAYER:
this->m_obj->m_type = static_cast<OBJECT_TYPE>(TYPE_OBJECT | TYPE_UNIT | TYPE_PLAYER);
break;
case ID_GAMEOBJECT:
this->m_obj->m_type = static_cast<OBJECT_TYPE>(TYPE_OBJECT | TYPE_GAMEOBJECT);
break;
case ID_DYNAMICOBJECT:
this->m_obj->m_type = static_cast<OBJECT_TYPE>(TYPE_OBJECT | TYPE_DYNAMICOBJECT);
break;
case ID_CORPSE:
this->m_obj->m_type = static_cast<OBJECT_TYPE>(TYPE_OBJECT | TYPE_CORPSE);
break;
default:
break;
}
}
+3 -1
View File
@@ -2,12 +2,14 @@
#define OBJECT_CLIENT_CG_OBJECT_C_HPP
#include "object/client/CGObject.hpp"
#include "object/Types.hpp"
#include "util/CHashKeyGUID.hpp"
#include <storm/Hash.hpp>
class CGObject_C : public CGObject, public TSHashObject<CGObject_C, CHashKeyGUID> {
public:
// TODO
// Public member functions
void SetTypeID(OBJECT_TYPE_ID typeID);
};
#endif