#ifndef MAP_MAP_STATIC_ENTITY_H #define MAP_MAP_STATIC_ENTITY_H DECLARE_STRUCT(CMapStaticEntityMapChunkLink); DECLARE_STRUCT(CMapStaticEntity); #include "m2/model.h" #include "map/mapbaseobj.h" #include "storm/list.h" #include "system/types.h" #include "tempest/box.h" #include "tempest/sphere.h" #include "tempest/vector.h" STORM_TS_LIST(CMapStaticEntityMapChunkLink); struct CMapStaticEntityMapChunkLink { uint32_t objectIndex; // 0x00 CMapStaticEntity* owner; // 0x04 void* ref; // 0x08 //could be CMapChunk* or CMapObjDefGroup* TSLink_CMapStaticEntityMapChunkLink refLink; // 0x0C - 0x14 TSLink_CMapStaticEntityMapChunkLink ownerLink; // 0x14 - 0x1C }; struct CMapStaticEntity { void** vtable; // 0x00 int32_t objectIndex; // 0x04 uint16_t type; // 0x08 uint16_t refCount; // 0x0A int32_t unk_C; // 0x0C CMapStaticEntity* prev; // 0x10 CMapStaticEntity* next; // 0x14 TSExplicitList_CMapStaticEntityMapChunkLink linkList; int32_t unk_024; // 0x24 uint32_t unkFlags_28; // 0x28 int32_t unkCounter; // 0x2C float unk_030; // 0x30 CM2Model* model; CAaSphere sphere; CAaBox bbox; C3Vector vec2; C3Vector position; float scale; // 0x78 int32_t unk_07C; // 0x7C int32_t unk_080; // 0x80 CImVector m2AmbietColor; // 0x84 CImVector m2DiffuseColor; // 0x88 float unk_08C; // 0x8C }; #endif