diff --git a/libs/xassets/xmodelpieces.cpp b/libs/xassets/xmodelpieces.cpp index b15e0fc..bd1789a 100644 --- a/libs/xassets/xmodelpieces.cpp +++ b/libs/xassets/xmodelpieces.cpp @@ -2,7 +2,7 @@ XModelPieces::XModelPieces() : XAsset() - , mName("") + , mName() , mNumPieces(0) , mPieces() { @@ -17,12 +17,32 @@ XModelPieces::~XModelPieces() void XModelPieces::ParseData(QDataStream *aStream) { - + if (GetPtr() == -1) + { + mName.ParsePtr(aStream, false); + + qint32 piecesPtr; + *aStream + >> mNumPieces + >> piecesPtr; + + mName.ParseData(aStream); + + if (piecesPtr) + { + for (int i = 0; i < mNumPieces; i++) + { + XModelPiece newPiece; + newPiece.ParseData(aStream); + mPieces.append(newPiece); + } + } + } } void XModelPieces::Clear() { - mName.clear(); + mName.Clear(); mNumPieces = 0; mPieces.clear(); } diff --git a/libs/xassets/xmodelpieces.h b/libs/xassets/xmodelpieces.h index 87b598d..ff9b06d 100644 --- a/libs/xassets/xmodelpieces.h +++ b/libs/xassets/xmodelpieces.h @@ -14,7 +14,7 @@ public: virtual void Clear() override; private: - QString mName; + XString mName; int mNumPieces; QVector mPieces; };