XPlor/libs/xassets/xclipmap.h

112 lines
2.1 KiB
C
Raw Normal View History

2025-08-17 13:14:17 -04:00
#ifndef XCLIPMAP_H
#define XCLIPMAP_H
#include "xasset.h"
2025-09-05 18:35:17 -04:00
#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"
2025-08-17 13:14:17 -04:00
class XClipMap : public XAsset
{
public:
explicit XClipMap();
2025-09-05 18:35:17 -04:00
~XClipMap();
2025-08-17 13:14:17 -04:00
void ParseData(QDataStream *aStream) override;
2025-09-05 18:35:17 -04:00
void Clear() override;
2025-08-17 13:14:17 -04:00
2025-09-05 18:35:17 -04:00
private:
QString mName;
2025-08-17 13:14:17 -04:00
2025-09-05 18:35:17 -04:00
bool mIsInUse;
2025-08-17 13:14:17 -04:00
2025-09-05 18:35:17 -04:00
int mPlaneCount;
QVector<XCPlane> mPlanes;
2025-08-17 13:14:17 -04:00
2025-09-05 18:35:17 -04:00
uint mNumStaticModels;
QVector<XCStaticModel> mStaticModelList;
2025-08-17 13:14:17 -04:00
2025-09-05 18:35:17 -04:00
uint mNumMaterials;
QVector<XDMaterial> mMaterials;
2025-08-17 13:14:17 -04:00
2025-09-05 18:35:17 -04:00
uint mNumBrushSides;
QVector<XCBrushSide> mBrushsides;
2025-08-17 13:14:17 -04:00
2025-09-05 18:35:17 -04:00
uint mNumBrushEdges;
QVector<quint8> mBrushEdges;
2025-08-17 13:14:17 -04:00
2025-09-05 18:35:17 -04:00
uint mNumNodes;
QVector<XCNode> mNodes;
2025-08-17 13:14:17 -04:00
2025-09-05 18:35:17 -04:00
uint mNumLeafs;
QVector<XCLeaf> mLeafs;
2025-08-17 13:14:17 -04:00
2025-09-05 18:35:17 -04:00
uint mLeafbrushNodesCount;
QVector<XCLeafBrushNode> mLeafbrushNodes;
2025-08-17 13:14:17 -04:00
2025-09-05 18:35:17 -04:00
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;
2025-08-17 13:14:17 -04:00
2025-09-05 18:35:17 -04:00
uint mNumSubModels;
QVector<XCModel> mCodels;
2025-08-17 13:14:17 -04:00
2025-09-05 18:35:17 -04:00
quint16 mNumBrushes;
QVector<XCBrush> mBrushes;
2025-08-17 13:14:17 -04:00
2025-09-05 18:35:17 -04:00
int mNumClusters;
int mClusterBytes;
2025-08-17 13:14:17 -04:00
2025-09-05 18:35:17 -04:00
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;
2025-08-17 13:14:17 -04:00
};
#endif // XCLIPMAP_H