diff --git a/libs/xassets/xmodelpiece.cpp b/libs/xassets/xmodelpiece.cpp index c83f676..2f97f63 100644 --- a/libs/xassets/xmodelpiece.cpp +++ b/libs/xassets/xmodelpiece.cpp @@ -2,7 +2,7 @@ XModelPiece::XModelPiece() : XAsset() - , mModel(new XModel()) + , mModel() , mOffset() { @@ -10,16 +10,23 @@ XModelPiece::XModelPiece() XModelPiece::~XModelPiece() { - delete mModel; + } void XModelPiece::ParseData(QDataStream *aStream) { - + mModel.ParsePtr(aStream, false); + + *aStream + >> mOffset[0] + >> mOffset[1] + >> mOffset[2]; + + mModel.ParseData(aStream); } void XModelPiece::Clear() { - mModel->Clear(); + mModel.Clear(); mOffset = QVector3D(); } diff --git a/libs/xassets/xmodelpiece.h b/libs/xassets/xmodelpiece.h index 2fc1d0f..ae661f4 100644 --- a/libs/xassets/xmodelpiece.h +++ b/libs/xassets/xmodelpiece.h @@ -14,7 +14,7 @@ public: virtual void Clear() override; private: - XModel *mModel; + XModel mModel; QVector3D mOffset; };