XPlor/libs/xassets/xclipmap.h

112 lines
2.2 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:
2025-09-07 12:36:08 -04:00
XString mName;
2025-08-17 13:14:17 -04:00
2025-09-07 12:36:08 -04:00
quint32 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-07 12:36:08 -04:00
quint32 mNumStaticModels;
2025-09-05 18:35:17 -04:00
QVector<XCStaticModel> mStaticModelList;
2025-08-17 13:14:17 -04:00
2025-09-07 12:36:08 -04:00
quint32 mNumMaterials;
2025-09-05 18:35:17 -04:00
QVector<XDMaterial> mMaterials;
2025-08-17 13:14:17 -04:00
2025-09-07 12:36:08 -04:00
quint32 mNumBrushSides;
2025-09-05 18:35:17 -04:00
QVector<XCBrushSide> mBrushsides;
2025-08-17 13:14:17 -04:00
2025-09-07 12:36:08 -04:00
quint32 mNumBrushEdges;
2025-09-05 18:35:17 -04:00
QVector<quint8> mBrushEdges;
2025-08-17 13:14:17 -04:00
2025-09-07 12:36:08 -04:00
quint32 mNumNodes;
2025-09-05 18:35:17 -04:00
QVector<XCNode> mNodes;
2025-08-17 13:14:17 -04:00
2025-09-07 12:36:08 -04:00
quint32 mNumLeafs;
2025-09-05 18:35:17 -04:00
QVector<XCLeaf> mLeafs;
2025-08-17 13:14:17 -04:00
2025-09-07 12:36:08 -04:00
quint32 mLeafBrushNodesCount;
QVector<XCLeafBrushNode> mLeafBrushNodes;
2025-08-17 13:14:17 -04:00
2025-09-07 12:36:08 -04:00
quint32 mNumLeafBrushes;
QVector<quint32> mLeafBrushes;
2025-09-05 18:35:17 -04:00
2025-09-07 12:36:08 -04:00
quint32 mNumLeafSurfaces;
2025-09-07 23:11:49 -04:00
QVector<quint32> mLeafSurfaces;
2025-09-05 18:35:17 -04:00
2025-09-07 12:36:08 -04:00
quint32 mVertCount;
2025-09-07 23:11:49 -04:00
QVector<QVector3D> mVerts;
2025-09-05 18:35:17 -04:00
int mTriCount;
2025-09-07 12:36:08 -04:00
QVector<quint32> mTriIndices;
2025-09-07 23:11:49 -04:00
QByteArray mTriEdgeIsWalkable;
2025-09-05 18:35:17 -04:00
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;
2025-09-07 12:36:08 -04:00
QVector<XCModel> mCModels;
2025-08-17 13:14:17 -04:00
2025-09-07 12:36:08 -04:00
quint32 mNumBrushes;
2025-09-05 18:35:17 -04:00
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;
2025-09-07 23:11:49 -04:00
QByteArray mVisibility;
2025-09-05 18:35:17 -04:00
int mVised;
2025-09-07 23:11:49 -04:00
XMapEnts mMapEnts;
2025-09-07 12:36:08 -04:00
XCBrush mBoxBrush;
2025-09-05 18:35:17 -04:00
XCModel mBoxModel;
2025-09-07 12:36:08 -04:00
QVector<quint32> mDynEntCounts;
QVector<XDynEntityDef> mDynEntDefList;
QVector<XDynEntityPose> mDynEntPoseList;
QVector<XDynEntityClient> mDynEntClientList;
QVector<XDynEntityColl> mDynEntCollList;
quint32 mChecksum;
2025-08-17 13:14:17 -04:00
};
#endif // XCLIPMAP_H