Fix: Parse Raw Asset Type and Asset Pointer
Adds parsing logic for the raw asset type and asset pointer within the `XAssetHeader` class. This enables the retrieval of these values during data stream parsing, facilitating asset identification and management.
This commit is contained in:
parent
99d2885f9c
commit
d267ad19f5
@ -3,41 +3,39 @@
|
||||
|
||||
XAssetHeader::XAssetHeader()
|
||||
: XAsset()
|
||||
, mRawType(0)
|
||||
, mAssetType()
|
||||
, mAssetPtr(0)
|
||||
, mZoneFile(nullptr)
|
||||
{
|
||||
|
||||
SetName("Asset Header");
|
||||
}
|
||||
|
||||
XAssetHeader::XAssetHeader(ZoneFile *aZoneFile)
|
||||
: XAsset()
|
||||
, mRawType(0)
|
||||
, mAssetType()
|
||||
, mAssetPtr(0)
|
||||
, mZoneFile(aZoneFile)
|
||||
{
|
||||
|
||||
SetName("Asset Header");
|
||||
}
|
||||
|
||||
XAssetHeader::~XAssetHeader()
|
||||
void XAssetHeader::ParseData(XDataStream *aStream)
|
||||
{
|
||||
mRawType = aStream->ParseUInt32(QString("%1 raw type").arg(GetName()));
|
||||
mAssetPtr = aStream->ParseInt32(QString("%1 asset ptr").arg(GetName()));
|
||||
|
||||
}
|
||||
mAssetType = mZoneFile->GetType(mRawType);
|
||||
|
||||
void XAssetHeader::ParseData(QDataStream *aStream)
|
||||
{
|
||||
quint32 rawAssetType;
|
||||
*aStream
|
||||
>> rawAssetType
|
||||
>> mAssetPtr;
|
||||
|
||||
mAssetType = mZoneFile->GetType(rawAssetType);
|
||||
qDebug() << "Found asset:" << XAssetTypeToString(mAssetType) << QString::number(mRawType, 16);
|
||||
}
|
||||
|
||||
void XAssetHeader::Clear()
|
||||
{
|
||||
mAssetType = ASSET_TYPE_NONE;
|
||||
mAssetPtr = 0;
|
||||
mRawType = 0;
|
||||
}
|
||||
|
||||
XAssetType XAssetHeader::GetAssetType() const
|
||||
@ -45,6 +43,11 @@ XAssetType XAssetHeader::GetAssetType() const
|
||||
return mAssetType;
|
||||
}
|
||||
|
||||
quint32 XAssetHeader::GetRawAssetType() const
|
||||
{
|
||||
return mRawType;
|
||||
}
|
||||
|
||||
qint32 XAssetHeader::GetAssetPtr() const
|
||||
{
|
||||
return mAssetPtr;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user