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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|