XPlor/libs/xassets/xfxeffectdef.cpp

55 lines
1.5 KiB
C++
Raw Normal View History

2025-09-05 21:26:14 +00:00
#include "xfxeffectdef.h"
XFxEffectDef::XFxEffectDef()
: XAsset()
2025-09-07 23:15:55 -04:00
, mName()
2025-09-05 21:26:14 +00:00
, mFlags(0)
, mTotalSize(0)
, mMsecLoopingLife(0)
, mElemDefCountLooping(0)
, mElemDefCountOneShot(0)
, mElemDefCountEmission(0)
, mElemDefs()
{
SetType(ASSET_TYPE_FX);
2025-09-10 21:58:26 -04:00
SetName("Effect Definition");
2025-09-05 21:26:14 +00:00
}
XFxEffectDef::~XFxEffectDef()
{
}
void XFxEffectDef::Clear()
{
}
2025-09-10 21:58:26 -04:00
void XFxEffectDef::ParseData(XDataStream *aStream)
2025-09-05 21:26:14 +00:00
{
2025-09-07 23:15:55 -04:00
mName.ParsePtr(aStream, false);
qint32 elemDefsPtr;
2025-09-10 21:58:26 -04:00
mFlags = aStream->ParseInt32(QString("%1 flags").arg(GetName()));
mTotalSize = aStream->ParseInt32(QString("%1 total size").arg(GetName()));
mMsecLoopingLife = aStream->ParseInt32(QString("%1 msec looping life").arg(GetName()));
mElemDefCountLooping = aStream->ParseInt32(QString("%1 elem def count looping").arg(GetName()));
mElemDefCountOneShot = aStream->ParseInt32(QString("%1 elem def count one shot").arg(GetName()));
mElemDefCountEmission = aStream->ParseInt32(QString("%1 elem def count emission").arg(GetName()));
elemDefsPtr = aStream->ParseInt32(QString("%1 elem defs ptr").arg(GetName()));
2025-09-07 23:15:55 -04:00
mName.ParseData(aStream);
if (elemDefsPtr)
{
for (int i = 0; i < mElemDefCountEmission + mElemDefCountOneShot + mElemDefCountLooping; i++)
{
XFxElemDef newElemDef;
newElemDef.ParseData(aStream);
mElemDefs.append(newElemDef);
}
}
2025-09-05 21:26:14 +00:00
}
2025-09-10 21:58:26 -04:00