41 lines
1.1 KiB
C++
41 lines
1.1 KiB
C++
#include "xmodellodinfo.h"
|
|
|
|
XModelLodInfo::XModelLodInfo()
|
|
: XAsset()
|
|
, mDist(0)
|
|
, mNumSurfs(0)
|
|
, mSurfIndex(0)
|
|
, mPartBits()
|
|
, mLod(0)
|
|
, mSmcIndexPlusOne(0)
|
|
, mSmcAllocBits(0)
|
|
{
|
|
SetName("Model LOD Info");
|
|
}
|
|
|
|
void XModelLodInfo::ParseData(XDataStream *aStream)
|
|
{
|
|
mDist = aStream->ParseSingle(QString("%1 distance").arg(GetName()));
|
|
mNumSurfs = aStream->ParseUInt16(QString("%1 number surfaces").arg(GetName()));
|
|
mSurfIndex = aStream->ParseUInt16(QString("%1 surface index").arg(GetName()));
|
|
for (int i = 0; i < 4; i++)
|
|
{
|
|
mPartBits.push_back(aStream->ParseInt32(QString("%1 part bit %2").arg(GetName()).arg(i)));
|
|
}
|
|
mLod = aStream->ParseUInt8(QString("%1 level of detail").arg(GetName()));
|
|
mSmcIndexPlusOne = aStream->ParseUInt8(QString("%1 smc index plus one").arg(GetName()));
|
|
mSmcAllocBits = aStream->ParseUInt8(QString("%1 smc alloc bits").arg(GetName()));
|
|
aStream->skipRawData(1);
|
|
}
|
|
|
|
void XModelLodInfo::Clear()
|
|
{
|
|
mDist = 0;
|
|
mNumSurfs = 0;
|
|
mSurfIndex = 0;
|
|
mPartBits.clear();
|
|
mLod = 0;
|
|
mSmcIndexPlusOne = 0;
|
|
mSmcAllocBits = 0;
|
|
}
|