#ifndef CMAPOBJDEF_H #define CMAPOBJDEF_H DECLARE_STRUCT(CMapObjDef); DECLARE_STRUCT(CMapObjDefGroup); #include "tempest/box.h" #include "tempest/sphere.h" #include "tempest/matrix.h" #include "tempest/vector.h" #include "storm/array.h" STORM_TS_GROWABLE_ARRAY(CMapObjDefGroup); struct CMapObjDef { void** vtable; //0x00 int32_t objectIndex; //0x04 uint16_t flags; //0x08 uint16_t pad_0A; //0x0A int32_t unk_C; //0x0C CMapObjDef* prev; //0x10 CMapObjDef* next; //0x14 int32_t TSExplicitList__m_linkoffset_unk_18; //0x18 void* TSExplicitList__m_ptr1_unk_1C; //0x1C void* TSExplicitList__m_ptr2_unk_1C; //0x20 void* unk_24; //0x24 void* unk_28; //0x28 void* unk_2C; //0x2C void* unk_30; //0x30 void* unk_34; //0x34 int32_t unk_38; //0x38 C3Vector position; CAaBox bbox; CAaSphere sphere; C44Matrix mat; C44Matrix invMat; int32_t unk_F0; //0xF0 void* CMapObjPtr_owner; //0xF4 int32_t unk_F8; //0xF8 uint32_t unkFlags; //0xFC int32_t unk_100; //0x100 int32_t unk_104; //0x104 int32_t unk_108; //0x108 int32_t unk_10C; //0x10C int32_t unk_110; //0x110 int32_t TSExplicitList__m_linkoffset_unk_114; //0x114 void* TSExplicitList__m_ptr1_unk_118; //0x118 void* TSExplicitList__m_ptr2_unk_11C; //0x11C TSGrowableArray_CMapObjDefGroup defGroups; void* unk_130; //0x130 int32_t TSGrowableArray__m_alloc; //0x134 int32_t TSGrowableArray__m_count; //0x138 void* TSGrowableArray__m_data; //0x13C int32_t TSGrowableArray__m_chunk; //0x140 uint32_t argbColor; //0x144 int32_t unk_148; //0x148 int32_t unk_14C; //0x14C int32_t unk_150; //0x150 void* unk_154; //0x154 }; struct CMapObjDefGroup { void* vtable; //0x00 int32_t objectIndex; //0x04 uint16_t flags; //0x08 uint16_t pad_0A; //0x0A int32_t unk_C; //0x0C CMapObjDefGroup* prev; //0x10 CMapObjDefGroup* next; //0x14 int32_t TSExplicitList__m_linkoffset_unk_18; //0x18 void* TSExplicitList__m_ptr1_unk_1C; //0x1C void* TSExplicitList__m_ptr2_unk_1C; //0x20 CAaBox bbox; CAaSphere sphere; float unk_4C; //0x4C uint32_t groupNum; //0x50 uint32_t unkFlags; //0x54 int32_t unk_58; //0x58 uint32_t ambientColor; //0x5C int32_t unk_60; //0x60 int32_t unk_64; //0x64 int32_t unk_68; //0x68 int32_t TSExplicitList__m_linkoffset_unk_6C; //0x6C void* TSExplicitList__m_ptr1_unk_70; //0x70 void* TSExplicitList__m_ptr2_unk_74; //0x74 int32_t TSExplicitList__m_linkoffset_unk_78; //0x78 void* TSExplicitList__m_ptr1_unk_7C; //0x7C void* TSExplicitList__m_ptr2_unk_80; //0x80 int32_t TSExplicitList__m_linkoffset_unk_84; //0x84 void* TSExplicitList__m_ptr1_unk_88; //0x88 void* TSExplicitList__m_ptr2_unk_8C; //0x8C int32_t TSExplicitList__m_linkoffset_unk_90; //0x90 void* TSExplicitList__m_ptr1_unk_94; //0x94 void* TSExplicitList__m_ptr2_unk_98; //0x98 int32_t TSExplicitList__m_linkoffset_unk_9C; //0x9C void* TSExplicitList__m_ptr1_unk_A0; //0xA0 void* TSExplicitList__m_ptr2_unk_A4; //0xA4 int32_t unk_A8; //0xA8 int32_t unk_AC; //0xAC int32_t unk_B0; //0xB0 int32_t unk_B4; //0xB4 int32_t unk_B8; //0xB8 int32_t unk_BC; //0xBC }; #endif