XPlor/libs/xassets/xassetheader.cpp
njohnson d267ad19f5 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.
2025-09-10 21:56:10 -04:00

55 lines
1.1 KiB
C++

#include "xassetheader.h"
#include "zonefile.h"
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");
}
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);
qDebug() << "Found asset:" << XAssetTypeToString(mAssetType) << QString::number(mRawType, 16);
}
void XAssetHeader::Clear()
{
mAssetType = ASSET_TYPE_NONE;
mAssetPtr = 0;
mRawType = 0;
}
XAssetType XAssetHeader::GetAssetType() const
{
return mAssetType;
}
quint32 XAssetHeader::GetRawAssetType() const
{
return mRawType;
}
qint32 XAssetHeader::GetAssetPtr() const
{
return mAssetPtr;
}