feat(object): add CGObject_C::SetTypeID

This commit is contained in:
fallenoak 2026-01-09 21:15:33 -06:00
parent 7101bc55b6
commit 551fd7f4b1
No known key found for this signature in database
GPG Key ID: 7628F8E61AEA070D
3 changed files with 50 additions and 2 deletions

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 {

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;
}
}

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