diff --git a/libs/xassets/xmaterialconstantdef.cpp b/libs/xassets/xmaterialconstantdef.cpp index f0cd298..d91c229 100644 --- a/libs/xassets/xmaterialconstantdef.cpp +++ b/libs/xassets/xmaterialconstantdef.cpp @@ -3,7 +3,7 @@ XMaterialConstantDef::XMaterialConstantDef() : XAsset() , mNameHash(0) - , mName("") + , mName() , mLiteral() { @@ -16,12 +16,26 @@ XMaterialConstantDef::~XMaterialConstantDef() void XMaterialConstantDef::ParseData(QDataStream *aStream) { - + if (GetPtr() == -1) + { + *aStream >> mNameHash; + + QByteArray rawName(12, Qt::Uninitialized); + aStream->readRawData(rawName.data(), 12); + + mName.SetString(QString::fromUtf8(rawName)); + + *aStream + >> mLiteral[0] + >> mLiteral[1] + >> mLiteral[2] + >> mLiteral[3]; + } } void XMaterialConstantDef::Clear() { mNameHash = 0; - mName = ""; + mName.Clear(); mLiteral.clear(); } diff --git a/libs/xassets/xmaterialconstantdef.h b/libs/xassets/xmaterialconstantdef.h index 91ad8fa..7f66705 100644 --- a/libs/xassets/xmaterialconstantdef.h +++ b/libs/xassets/xmaterialconstantdef.h @@ -2,13 +2,14 @@ #define XMATERIALCONSTANTDEF_H #include "xasset.h" +#include "xstring.h" #include class XMaterialConstantDef : public XAsset { public: - XMaterialConstantDef(); + explicit XMaterialConstantDef(); ~XMaterialConstantDef(); virtual void ParseData(QDataStream* aStream) override; @@ -16,7 +17,7 @@ public: private: quint32 mNameHash; - QString mName; + XString mName; QVector mLiteral; };