diff --git a/libs/xassets/xanimparts.cpp b/libs/xassets/xanimparts.cpp index ab26f3f..7942cb4 100644 --- a/libs/xassets/xanimparts.cpp +++ b/libs/xassets/xanimparts.cpp @@ -31,68 +31,49 @@ XAnimParts::XAnimParts() , mDeltaPart() { SetType(ASSET_TYPE_XANIMPARTS); - SetName("XAnimParts"); + SetName("Animation Parts"); } -XAnimParts::~XAnimParts() -{ - -} - -void XAnimParts::ParseData(QDataStream *aStream) { +void XAnimParts::ParseData(XDataStream *aStream) { if (GetPtr() == -1) { mName.ParsePtr(aStream, false); // Parse all fields - *aStream - >> mDataByteCount - >> mDataShortCount - >> mDataIntCount - >> mRandomDataByteCount - >> mRandomDataIntCount - >> mNumFrames; + mDataByteCount = aStream->ParseUInt32(QString("%1 data byte count").arg(GetName())); + mDataShortCount = aStream->ParseUInt32(QString("%1 data short count").arg(GetName())); + mDataIntCount = aStream->ParseUInt32(QString("%1 data int count").arg(GetName())); + mRandomDataByteCount = aStream->ParseUInt32(QString("%1 random date byte count").arg(GetName())); + mRandomDataIntCount = aStream->ParseUInt32(QString("%1 random data int count").arg(GetName())); + mNumFrames = aStream->ParseUInt32(QString("%1 # frames").arg(GetName())); - quint8 loopDelta; - *aStream >> loopDelta; + quint8 loopDelta = aStream->ParseUInt8(QString("%1 loop delta").arg(GetName())); mIsLoop = (loopDelta & 0x1) != 0; mIsDelta = (loopDelta & 0x2) != 0; for (int i = 0; i < 12; i++) { - *aStream >> mBoneCount[i]; + mBoneCount[i] = aStream->ParseUInt8(QString("%1 bone count %2").arg(GetName()).arg(i)); } - *aStream - >> mNotifyCount - >> mAssetType; - - quint32 pad; - *aStream >> pad; - mPad = (pad != 0); + mNotifyCount = aStream->ParseUInt8(QString("%1 notify count").arg(GetName())); + mAssetType = aStream->ParseUInt8(QString("%1 asset type").arg(GetName())); + mPad = aStream->ParseUInt32(QString("%1 pad").arg(GetName())) != 0; qint32 namesPtr, dataBytePtr, dataShortPtr, dataIntPtr, randomDataShortPtr, randomDataBytePtr, randomDataIntPtr; - *aStream - >> mRandomDataShortCount - >> mIndexCount - >> mFramerate - >> mFrequency - >> namesPtr - >> mNames - >> dataBytePtr - >> mDataByte - >> dataShortPtr - >> mDataShort - >> dataIntPtr - >> mDataInt - >> randomDataShortPtr - >> mRandomDataShort - >> randomDataBytePtr - >> mRandomDataByte - >> randomDataIntPtr - >> mRandomDataInt; + mRandomDataShortCount = aStream->ParseUInt32(QString("%1 random data short count").arg(GetName())); + mIndexCount = aStream->ParseUInt32(QString("%1 index count").arg(GetName())); + mFramerate = aStream->ParseSingle(QString("%1 frame rate").arg(GetName())); + mFrequency = aStream->ParseSingle(QString("%1 frequency").arg(GetName())); + namesPtr = aStream->ParseInt32(QString("%1 names ptr").arg(GetName())); + dataBytePtr = aStream->ParseInt32(QString("%1 data byte ptr").arg(GetName())); + dataShortPtr = aStream->ParseInt32(QString("%1 data short ptr").arg(GetName())); + dataIntPtr = aStream->ParseInt32(QString("%1 data int ptr").arg(GetName())); + randomDataShortPtr = aStream->ParseInt32(QString("%1 random data short ptr").arg(GetName())); + randomDataBytePtr = aStream->ParseInt32(QString("%1 random data byte ptr").arg(GetName())); + randomDataIntPtr = aStream->ParseInt32(QString("%1 random data int ptr").arg(GetName())); // Parse indices mIndices.ParseData(aStream); @@ -102,33 +83,33 @@ void XAnimParts::ParseData(QDataStream *aStream) { mName.ParseData(aStream); if (namesPtr) { - + mNames = aStream->ParseInt32(QString("%1 names").arg(GetName())); } mNotify.ParseData(aStream); mDeltaPart.ParseData(aStream); if (dataBytePtr) { - *aStream >> mDataByte; + mDataByte = aStream->ParseUInt8(QString("%1 data byte").arg(GetName())); } if (dataShortPtr) { - *aStream >> mDataShort; + mDataShort = aStream->ParseInt16(QString("%1 data short").arg(GetName())); } if (dataIntPtr) { - *aStream >> mDataInt; + mDataInt = aStream->ParseInt32(QString("%1 data int").arg(GetName())); } if (randomDataShortPtr) { - *aStream >> mDataInt; + mRandomDataShort = aStream->ParseInt16(QString("%1 random data short").arg(GetName())); } if (randomDataBytePtr) { - *aStream >> mRandomDataByte; + mRandomDataByte = aStream->ParseUInt8(QString("%1 random data byte").arg(GetName())); } if (randomDataIntPtr) { - *aStream >> mRandomDataInt; + mRandomDataInt = aStream->ParseInt32(QString("%1 random data int").arg(GetName())); } mIndices.ParseData(aStream); }