64 lines
1.4 KiB
C++
64 lines
1.4 KiB
C++
#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);
|
|
}
|