XPlor/libs/xassets/xfxelemdef.h

67 lines
1.7 KiB
C
Raw Normal View History

2025-09-03 13:04:54 -04:00
#ifndef XFXELEMDEF_H
#define XFXELEMDEF_H
#include "xasset.h"
2025-09-05 18:35:17 -04:00
#include "xfxspawndef.h"
#include "xfxfloatrange.h"
#include "xfxintrange.h"
#include "xfxelematlas.h"
#include "xfxelemvelstatesample.h"
#include "xfxelemvisstatesample.h"
#include "xeffectdefref.h"
#include "xfxelemdefvisuals.h"
2025-09-07 23:12:06 -04:00
#include "xfxtraildef.h"
2025-09-03 13:04:54 -04:00
class XFxElemDef : public XAsset
{
public:
explicit XFxElemDef();
~XFxElemDef();
void Clear() override;
void ParseData(QDataStream *aStream) override;
private:
int mFlags;
2025-09-05 18:35:17 -04:00
XFxSpawnDef mSpawn;
XFxFloatRange mSpawnRange;
XFxFloatRange mFadeInRange;
XFxFloatRange mFadeOutRange;
2025-09-03 13:04:54 -04:00
float mSpawnFrustumCullRadius;
2025-09-05 18:35:17 -04:00
XFxIntRange mSpawnDelayMsec;
XFxIntRange mLifeSpanMsec;
QVector<XFxFloatRange> mSpawnOrigin;
XFxFloatRange mSpawnOffsetRadius;
XFxFloatRange mSpawnOffsetHeight;
QVector<XFxFloatRange> mSpawnAngles;
QVector<XFxFloatRange> mAngularVelocity;
XFxFloatRange mInitialRotation;
XFxFloatRange mGravity;
XFxFloatRange mReflectionFactor;
XFxElemAtlas mAtlas;
2025-09-03 13:04:54 -04:00
quint8 mElemType;
quint8 mVisualCount;
quint8 mVelIntervalCount;
quint8 mVisStateIntervalCount;
qint32 mVelSamplesPtr;
2025-09-05 18:35:17 -04:00
QVector<XFxElemVelStateSample> mVelSamples;
2025-09-03 13:04:54 -04:00
qint32 mVisSamplesPtr;
2025-09-05 18:35:17 -04:00
QVector<XFxElemVisStateSample> mVisSamples;
XFxElemDefVisuals mVisuals;
2025-09-03 13:04:54 -04:00
QVector3D mCollMins;
QVector3D mCollMaxs;
2025-09-05 18:35:17 -04:00
XEffectDefRef mEffectOnImpact;
XEffectDefRef mEffectOnDeath;
XEffectDefRef mEffectEmitted;
XFxFloatRange mEmitDist;
XFxFloatRange mEmitDistVariance;
2025-09-03 13:04:54 -04:00
2025-09-07 23:12:06 -04:00
XFxTrailDef mTrailDef;
2025-09-03 13:04:54 -04:00
quint8 mSortOrder;
quint8 mLightingFrac;
quint8 mUseItemClip;
};
#endif // XFXELEMDEF_H