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:
njohnson 2025-09-10 21:56:10 -04:00
parent 99d2885f9c
commit d267ad19f5

View File

@ -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;