2025-09-05 21:35:21 +00:00
|
|
|
#include "xmaterialtechniqueset.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)
|
|
|
|
|
{
|
2025-09-07 12:36:08 -04:00
|
|
|
if (IsDebug())
|
|
|
|
|
{
|
|
|
|
|
qDebug() << QString("[%1] Parsing data for %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(GetName());
|
|
|
|
|
}
|
|
|
|
|
mName.ParsePtr(aStream, false);
|
2025-09-05 21:35:21 +00:00
|
|
|
|
2025-09-07 12:36:08 -04:00
|
|
|
*aStream >> mWorldVertFormat;
|
|
|
|
|
if (IsDebug())
|
|
|
|
|
{
|
|
|
|
|
qDebug() << QString("[%1] mWorldVertFormat = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mWorldVertFormat);
|
|
|
|
|
}
|
2025-09-05 21:35:21 +00:00
|
|
|
|
2025-09-07 12:36:08 -04:00
|
|
|
aStream->skipRawData(3);
|
2025-09-05 21:35:21 +00:00
|
|
|
|
|
|
|
|
qint32 remappedPtr;
|
2025-09-07 12:36:08 -04:00
|
|
|
*aStream >> remappedPtr;
|
|
|
|
|
if (IsDebug())
|
|
|
|
|
{
|
|
|
|
|
qDebug() << QString("[%1] remappedPtr = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(remappedPtr);
|
2025-09-05 21:35:21 +00:00
|
|
|
|
2025-09-07 12:36:08 -04:00
|
|
|
qDebug() << QString("Parsing techniques.");
|
|
|
|
|
}
|
2025-09-05 21:35:21 +00:00
|
|
|
for (int i = 0; i < 26; i++)
|
|
|
|
|
{
|
|
|
|
|
XMaterialTechnique newTechnique;
|
2025-09-07 12:36:08 -04:00
|
|
|
newTechnique.ParsePtr(aStream, false);
|
2025-09-05 21:35:21 +00:00
|
|
|
mTechniques.append(newTechnique);
|
|
|
|
|
}
|
|
|
|
|
|
2025-09-07 12:36:08 -04:00
|
|
|
mName.ParseData(aStream, ",");
|
2025-09-05 21:35:21 +00:00
|
|
|
|
|
|
|
|
for (int i = 0; i < 26; i++)
|
|
|
|
|
{
|
2025-09-07 12:36:08 -04:00
|
|
|
mTechniques[i].ParseData(aStream);
|
2025-09-05 21:35:21 +00:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void XMaterialTechniqueSet::Clear()
|
|
|
|
|
{
|
|
|
|
|
mName.Clear();
|
|
|
|
|
mWorldVertFormat = 0;
|
|
|
|
|
|
|
|
|
|
delete mRemappedTechniqueSet;
|
|
|
|
|
mRemappedTechniqueSet = new XMaterialTechniqueSet();
|
|
|
|
|
|
|
|
|
|
mTechniques.clear();
|
|
|
|
|
mTechniques = QVector<XMaterialTechnique>(26);
|
|
|
|
|
}
|