XPlor/libs/xassets/xclipmap.h
2025-09-05 18:35:17 -04:00

112 lines
2.1 KiB
C++

#ifndef XCLIPMAP_H
#define XCLIPMAP_H
#include "xasset.h"
#include "xcleaf.h"
#include "xcleafbrushnode.h"
#include "xcnode.h"
#include "xcbrush.h"
#include "xcmodel.h"
#include "xcollisionaabbtree.h"
#include "xcollisionborder.h"
#include "xcollisionpartition.h"
#include "xcplane.h"
#include "xcstaticmodel.h"
#include "xdmaterial.h"
#include "xdynentityclient.h"
#include "xdynentitydef.h"
#include "xdynentitypose.h"
#include "xdynentitycoll.h"
#include "xmapents.h"
class XClipMap : public XAsset
{
public:
explicit XClipMap();
~XClipMap();
void ParseData(QDataStream *aStream) override;
void Clear() override;
private:
QString mName;
bool mIsInUse;
int mPlaneCount;
QVector<XCPlane> mPlanes;
uint mNumStaticModels;
QVector<XCStaticModel> mStaticModelList;
uint mNumMaterials;
QVector<XDMaterial> mMaterials;
uint mNumBrushSides;
QVector<XCBrushSide> mBrushsides;
uint mNumBrushEdges;
QVector<quint8> mBrushEdges;
uint mNumNodes;
QVector<XCNode> mNodes;
uint mNumLeafs;
QVector<XCLeaf> mLeafs;
uint mLeafbrushNodesCount;
QVector<XCLeafBrushNode> mLeafbrushNodes;
uint mNumLeafBrushes;
QVector<quint16> mLeafbrushes;
uint mNumLeafSurfaces;
QVector<uint> mLeafsurfaces;
uint mVertCount;
QVector<float> mVerts;
int mTriCount;
QVector<quint16> mTriIndices;
QVector<quint8> mTriEdgeIsWalkable;
int mBorderCount;
QVector<XCollisionBorder> mBorders;
int mPartitionCount;
QVector<XCollisionPartition> mPartitions;
int mAabbTreeCount;
QVector<XCollisionAabbTree> mAabbTrees;
uint mNumSubModels;
QVector<XCModel> mCodels;
quint16 mNumBrushes;
QVector<XCBrush> mBrushes;
int mNumClusters;
int mClusterBytes;
qint32 mVisibilityPtr;
QVector<quint8> mVisibility;
int mVised;
QVector<XMapEnts> mMapEnts;
XCBrush *mBoxBrush;
XCModel mBoxModel;
quint16 mDynEntCount[2];
XDynEntityDef *mDynEntDefList[2];
XDynEntityPose *mDynEntPoseList[2];
XDynEntityClient *mDynEntClientList[2];
XDynEntityColl *mDynEntCollList[2];
uint mChecksum;
};
#endif // XCLIPMAP_H