XPlor/libs/xassets/xmodel.h

56 lines
1.2 KiB
C
Raw Normal View History

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