XPlor/libs/xassets/xmaterialtechniqueset.cpp

64 lines
1.4 KiB
C++
Raw Normal View History

#include "xmaterialtechniqueset.h"
#include "qdebug.h"
#include "qfiledevice.h"
XMaterialTechniqueSet::XMaterialTechniqueSet()
: XAsset()
, mName()
, mWorldVertFormat(0)
, mRemappedTechniqueSet()
, mTechniques(26)
{
SetType(ASSET_TYPE_TECHNIQUE_SET);
SetName("Technique Set");
}
XMaterialTechniqueSet::~XMaterialTechniqueSet()
{
}
void XMaterialTechniqueSet::ParseData(QDataStream *aStream)
{
qDebug() << aStream->device()->pos();
mName.ParsePtr(aStream);
*aStream
>> mWorldVertFormat;
aStream->skipRawData(2);
qint32 remappedPtr;
*aStream
>> remappedPtr;
for (int i = 0; i < 26; i++)
{
qDebug() << aStream->device()->pos();
XMaterialTechnique newTechnique;
newTechnique.ParsePtr(aStream);
mTechniques.append(newTechnique);
}
qDebug() << aStream->device()->pos();
mName.ParseData(aStream);
for (int i = 0; i < 26; i++)
{
XMaterialTechnique newTechnique = mTechniques[i];
newTechnique.ParseData(aStream);
}
}
void XMaterialTechniqueSet::Clear()
{
mName.Clear();
mWorldVertFormat = 0;
delete mRemappedTechniqueSet;
mRemappedTechniqueSet = new XMaterialTechniqueSet();
mTechniques.clear();
mTechniques = QVector<XMaterialTechnique>(26);
}