mirror of
https://github.com/thunderbrewhq/binana.git
synced 2025-12-12 09:52:28 +00:00
180 lines
No EOL
3.8 KiB
C
180 lines
No EOL
3.8 KiB
C
#ifndef CMAPOBJ_H
|
|
#define CMAPOBJ_H
|
|
|
|
#include "tempest/box.h"
|
|
#include "async/object.h"
|
|
#include "WMOchunks.h"
|
|
#include "tempest/vector.h"
|
|
|
|
DECLARE_STRUCT(CMapObj);
|
|
DECLARE_STRUCT(CMapObjGroup);
|
|
|
|
struct CMapObjGroup;
|
|
|
|
struct CMapObj
|
|
{
|
|
int objectIndex;
|
|
int unk_04;
|
|
int unk_08;
|
|
int unk_0C;
|
|
int unk_10;
|
|
int unk_14;
|
|
int unk_18;
|
|
char m_wmoName[260];
|
|
SMOHeader *header;
|
|
char* textureNameList;
|
|
char* groupNameList;
|
|
char* skybox;
|
|
SMOGroupInfo* groupInfo;
|
|
C3Vector* portalVertexList;
|
|
SMOPortal* portalList;
|
|
SMOPortalRef* portalRefList;
|
|
C3Vector* visBlockVertList;
|
|
SMOVisibleBlock* visBlockList;
|
|
SMOLight* lightList;
|
|
SMODoodadSet* doodadSetList;
|
|
char* doodadNameList;
|
|
SMODoodadDef* doodadDefList;
|
|
SMOFog* fogList;
|
|
C4Plane* convexVolumePlanes;
|
|
SMOMaterial* materialList;
|
|
int texturesSize;
|
|
int groupNameSize;
|
|
int groupInfoCount;
|
|
int planeVertCount;
|
|
int portalsCount;
|
|
int portalRefCount;
|
|
int visBlockVertCount;
|
|
int visBlockCount;
|
|
int ligtsCount;
|
|
int doodadSetCount;
|
|
int doodadNameSize;
|
|
int doodadDefCount;
|
|
int fogsCount;
|
|
int convexVolumePlaneCount;
|
|
int materialsCount;
|
|
uint32_t argb_color;
|
|
int unk_1A4;
|
|
CAaBox bbox;
|
|
float distToCamera;
|
|
int unk_1C4;
|
|
int unk_1C8;
|
|
void* pWmoData;
|
|
int wmoFileSize;
|
|
int refCount;
|
|
float flushTimer;
|
|
CAsyncObject* asyncObject;
|
|
int isGroupLoaded;
|
|
int unk_1E4;
|
|
int TSExplicitList__m_linkOffset;
|
|
void* TSExplicitList__ptr1;
|
|
void* TSExplicitList__ptr2;
|
|
int mapObjGroupCount;
|
|
CMapObjGroup* mapObjGroupArray[512];
|
|
};
|
|
|
|
struct CMapObjGroup
|
|
{
|
|
int objectIndex;
|
|
int unk_04;
|
|
int unk_08;
|
|
int unk_0C;
|
|
int unk_10;
|
|
int unk_14;
|
|
float timer;
|
|
int unk_1C;
|
|
int unk_20;
|
|
int unk_24;
|
|
int unk_28;
|
|
int unk_2C;
|
|
int flags;
|
|
CAaBox bbox;
|
|
float distToCamera;
|
|
int portalStart;
|
|
int portalCount;
|
|
int fogs;
|
|
uint16_t transparencyBatchesCount;
|
|
uint16_t intBatchCount;
|
|
int extBatchCount;
|
|
void* CAaBspNodePtr;
|
|
void* CAaBspNodePtr;
|
|
uint16_t* nodeFaceIndices;
|
|
int bspNodesCount;
|
|
int nodeFaceIndicesCount;
|
|
int unk_7C;
|
|
int unk_80;
|
|
int unk_84;
|
|
int unk_88;
|
|
int unk_8C;
|
|
int unk_90;
|
|
int unk_94;
|
|
int unk_98;
|
|
int unk_9C;
|
|
int unk_A0;
|
|
int unk_A4;
|
|
int unk_A8;
|
|
int unk_AC;
|
|
int unk_B0;
|
|
CAaBox bbox2;
|
|
int unk_CC;
|
|
int unkFlags;
|
|
int unk_D4;
|
|
int unk_D8;
|
|
char* groupName;
|
|
SMOPoly* polyList;
|
|
uint16_t* indices;
|
|
int unk_E8;
|
|
C3Vector* vertexList;
|
|
C3Vector* normalList;
|
|
C2Vector* textureVertexList;
|
|
int unk_F8;
|
|
SMOBatch* batchList;
|
|
int unk_100;
|
|
int unk_104;
|
|
uint16_t* doodadRefList;
|
|
CImVector* colorVertexList;
|
|
CImVector* colorVertexListExtra;
|
|
int unk_114;
|
|
C2iVector liquidVerts;
|
|
C2iVector liquidTiles;
|
|
C3Vector liquidCorner;
|
|
int luquidMaterialId;
|
|
SMOLiquidVert* liquidVertexList;
|
|
SMOLTile* liquidTileList;
|
|
float liquidHeight;
|
|
int unk_144;
|
|
int unk_148;
|
|
int unkFlag;
|
|
int unk_150;
|
|
int polyListSize;
|
|
int indicesCount;
|
|
int unk_15C;
|
|
int vertexListCount;
|
|
int normalListCount;
|
|
int textureVertexListCount;
|
|
int unk_16C;
|
|
int batchListCount;
|
|
int unk_174;
|
|
int doodadRefListCount;
|
|
int colorVertexListSize;
|
|
int colorVertexListExtraSize;
|
|
|
|
int wmoGroupId;
|
|
void* filePtr;
|
|
int fileSize;
|
|
CMapObj* parent;
|
|
int unk_194;
|
|
CAsyncObject* asyncObjPtr;
|
|
int unkLoadedFlag;
|
|
int unkIndexMin1;
|
|
int unkIndexMax1;
|
|
uint16_t unkIndexMin2;
|
|
uint16_t unkIndexMax2;
|
|
int TSExplicitList__m_linkoffset;
|
|
void* TSExplicitList__ptr;
|
|
void* TSExplicitList__ptr2;
|
|
CMapObjGroup* perv;
|
|
CMapObjGroup* next;
|
|
};
|
|
|
|
#endif |