diff --git a/libs/xassets/xfxeffectdef.cpp b/libs/xassets/xfxeffectdef.cpp index 617f410..1759414 100644 --- a/libs/xassets/xfxeffectdef.cpp +++ b/libs/xassets/xfxeffectdef.cpp @@ -2,7 +2,7 @@ XFxEffectDef::XFxEffectDef() : XAsset() - , mName("") + , mName() , mFlags(0) , mTotalSize(0) , mMsecLoopingLife(0) @@ -27,5 +27,27 @@ void XFxEffectDef::Clear() void XFxEffectDef::ParseData(QDataStream *aStream) { - + mName.ParsePtr(aStream, false); + + qint32 elemDefsPtr; + *aStream + >> mFlags + >> mTotalSize + >> mMsecLoopingLife + >> mElemDefCountLooping + >> mElemDefCountOneShot + >> mElemDefCountEmission + >> elemDefsPtr; + + mName.ParseData(aStream); + + if (elemDefsPtr) + { + for (int i = 0; i < mElemDefCountEmission + mElemDefCountOneShot + mElemDefCountLooping; i++) + { + XFxElemDef newElemDef; + newElemDef.ParseData(aStream); + mElemDefs.append(newElemDef); + } + } } diff --git a/libs/xassets/xfxeffectdef.h b/libs/xassets/xfxeffectdef.h index 2d569f8..346d3bb 100644 --- a/libs/xassets/xfxeffectdef.h +++ b/libs/xassets/xfxeffectdef.h @@ -14,7 +14,7 @@ public: void ParseData(QDataStream *aStream) override; private: - QString mName; + XString mName; int mFlags; int mTotalSize; int mMsecLoopingLife;