XPlor/libs/xassets/xanimparttrans.cpp
njohnson e512636ad6 Fix: Parse data for XAnimPartTrans
This commit fixes the parsing logic for the `XAnimPartTrans` class, ensuring that the size and small trans flags are correctly parsed from the data stream. It uses `ParseUInt32` and `ParseUInt8` for better type handling and includes informative strings for debugging.
2025-09-10 21:56:01 -04:00

41 lines
756 B
C++

#include "xanimparttrans.h"
XAnimPartTrans::XAnimPartTrans()
: XAsset()
, mSize(0)
, mIsSmallTrans(false)
, mData()
{
SetName("Animation Part Trans");
}
XAnimPartTrans::XAnimPartTrans(const XAnimPartTrans &aSrc)
: XAsset()
, mSize(aSrc.mSize)
, mIsSmallTrans(aSrc.mIsSmallTrans)
, mData(aSrc.mData)
{
}
void XAnimPartTrans::ParseData(XDataStream *aStream) {
if (GetPtr() == -1) {
mSize = aStream->ParseUInt32(QString("%1 size").arg(GetName()));
mIsSmallTrans = aStream->ParseUInt8(QString("%1 is small trans").arg(GetName())) != 0;
// Parse data
mData.ParseData(aStream);
}
}
void XAnimPartTrans::Clear()
{
mSize = 0;
mIsSmallTrans = false;
mData.Clear();
}