From 7b61cff46dc8d3933cb72f863cf9353dfe98bab4 Mon Sep 17 00:00:00 2001 From: njohnson Date: Wed, 10 Sep 2025 21:55:50 -0400 Subject: [PATCH] Fix: Parse frames from data stream The frames were parsed incorrectly from the data stream. This commit fixes the parsing logic to properly read the frame data using `ParseUInt8` and includes a descriptive name for the asset. --- libs/xassets/xanimdynamicframes.cpp | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/libs/xassets/xanimdynamicframes.cpp b/libs/xassets/xanimdynamicframes.cpp index 17c587e..2adfedb 100644 --- a/libs/xassets/xanimdynamicframes.cpp +++ b/libs/xassets/xanimdynamicframes.cpp @@ -4,24 +4,17 @@ XAnimDynamicFrames::XAnimDynamicFrames() : XAsset() , mFrames(3) { + SetName("Animation Dynamic Frames"); } -XAnimDynamicFrames::~XAnimDynamicFrames() -{ - -} - -void XAnimDynamicFrames::ParseData(QDataStream *aStream) { +void XAnimDynamicFrames::ParseData(XDataStream *aStream) { if (GetPtr() == -1) { - qint32 framePtr; - *aStream >> framePtr; - + qint32 framePtr = aStream->ParseInt32(QString("%1 frames ptr").arg(GetName())); if (framePtr == -1) { - *aStream - >> mFrames[0] - >> mFrames[1] - >> mFrames[2]; + mFrames[0] = aStream->ParseUInt8(QString("%1 frame %2").arg(GetName()).arg(0)); + mFrames[1] = aStream->ParseUInt8(QString("%1 frame %2").arg(GetName()).arg(1)); + mFrames[2] = aStream->ParseUInt8(QString("%1 frame %2").arg(GetName()).arg(2)); } } }