binana/profile/3.3.5a-windows-386/include/map/CMapObj.h
2025-08-28 23:59:00 +03:00

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