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