2025-08-14 17:30:25 -04:00
|
|
|
#ifndef XMODEL_H
|
|
|
|
|
#define XMODEL_H
|
2025-06-07 11:20:47 -04:00
|
|
|
|
2025-08-14 17:30:25 -04:00
|
|
|
#include "xasset.h"
|
2025-09-03 13:02:54 -04:00
|
|
|
#include "xmodelstreaminfo.h"
|
|
|
|
|
#include "xphysgeomlist.h"
|
|
|
|
|
#include "xphyspreset.h"
|
|
|
|
|
#include "xboneinfo.h"
|
|
|
|
|
#include "xmodellodinfo.h"
|
|
|
|
|
#include "xmodelcollsurf.h"
|
|
|
|
|
#include "xmaterial.h"
|
|
|
|
|
#include "xsurface.h"
|
|
|
|
|
#include "xdobjanimmat.h"
|
2025-08-14 17:30:25 -04:00
|
|
|
|
|
|
|
|
class XModel : public XAsset
|
2025-06-07 11:20:47 -04:00
|
|
|
{
|
2025-08-14 17:30:25 -04:00
|
|
|
public:
|
|
|
|
|
explicit XModel();
|
2025-09-05 18:35:17 -04:00
|
|
|
~XModel();
|
2025-08-14 17:30:25 -04:00
|
|
|
|
2025-09-10 21:58:26 -04:00
|
|
|
virtual void ParseData(XDataStream* aStream) override;
|
2025-09-03 13:02:54 -04:00
|
|
|
virtual void Clear() override;
|
2025-08-14 17:30:25 -04:00
|
|
|
|
|
|
|
|
private:
|
2025-09-07 23:16:08 -04:00
|
|
|
XString mName;
|
2025-09-03 13:02:54 -04:00
|
|
|
quint8 mNumBones;
|
|
|
|
|
quint8 mNumRootBones;
|
|
|
|
|
quint8 mNumSurfs;
|
|
|
|
|
quint8 mLodRampType;
|
2025-09-07 23:16:08 -04:00
|
|
|
QVector<quint16> mBoneNames;
|
2025-09-03 13:02:54 -04:00
|
|
|
QVector<quint8> mParentList;
|
|
|
|
|
QVector<quint8> mQuats;
|
2025-09-07 23:16:08 -04:00
|
|
|
QVector<float> mTrans;
|
|
|
|
|
QVector<quint8> mPartClassification;
|
|
|
|
|
XDObjAnimMat mBaseMat;
|
2025-09-03 13:02:54 -04:00
|
|
|
QVector<XSurface> mSurfs;
|
2025-09-07 23:16:08 -04:00
|
|
|
QVector<XMaterial> mMaterialHandles;
|
2025-09-03 13:02:54 -04:00
|
|
|
QVector<XModelLodInfo> mLodInfo;
|
|
|
|
|
QVector<XModelCollSurf> mCollSurfs;
|
2025-09-10 21:58:26 -04:00
|
|
|
qint32 mNumCollSurfs;
|
|
|
|
|
qint32 mContents;
|
2025-09-07 23:16:08 -04:00
|
|
|
XBoneInfo mBoneInfo;
|
2025-09-03 13:02:54 -04:00
|
|
|
float mRadius;
|
|
|
|
|
QVector3D mMins;
|
|
|
|
|
QVector3D mMaxs;
|
|
|
|
|
qint16 mNumLods;
|
|
|
|
|
qint16 mCollLod;
|
|
|
|
|
XModelStreamInfo mStreamInfo;
|
2025-09-10 21:58:26 -04:00
|
|
|
qint32 mMemUsage;
|
2025-09-03 13:02:54 -04:00
|
|
|
quint8 mFlags;
|
2025-09-07 23:16:08 -04:00
|
|
|
XPhysPreset mPhysPreset;
|
|
|
|
|
XPhysGeomList mPhysGeoms;
|
2025-06-07 11:20:47 -04:00
|
|
|
};
|
|
|
|
|
|
2025-08-14 17:30:25 -04:00
|
|
|
#endif // XMODEL_H
|