Fix: Parse Data Stream

This commit fixes the parsing logic for the XAnimDeltaPartQuatDataFrames data stream, ensuring that the frames pointer, frame 0, and frame 1 are correctly parsed from the stream.
This commit is contained in:
njohnson 2025-09-10 21:55:48 -04:00
parent a71607aae3
commit 8e215f13af

View File

@ -1,7 +1,9 @@
#include "xanimdeltapartquatdataframes.h" #include "xanimdeltapartquatdataframes.h"
XAnimDeltaPartQuatDataFrames::XAnimDeltaPartQuatDataFrames() XAnimDeltaPartQuatDataFrames::XAnimDeltaPartQuatDataFrames()
: XAsset() { : XAsset()
{
SetName("Animation Delta Part Quat Data Frame");
} }
quint32 XAnimDeltaPartQuatDataFrames::GetFramesPtr() const { quint32 XAnimDeltaPartQuatDataFrames::GetFramesPtr() const {
@ -34,12 +36,12 @@ void XAnimDeltaPartQuatDataFrames::SetIndices(const XAnimDynamicIndices& indices
mIndices = indices; mIndices = indices;
} }
void XAnimDeltaPartQuatDataFrames::ParseData(QDataStream *aStream) { void XAnimDeltaPartQuatDataFrames::ParseData(XDataStream *aStream) {
if (GetPtr() == -1) { if (GetPtr() == -1) {
*aStream mFramesPtr = aStream->ParseInt32(QString("%1 frames ptr").arg(GetName()));
>> mFramesPtr
>> mFrames[0] mFrames[0] = aStream->ParseInt16(QString("%1 frame %2").arg(GetName()).arg(0));
>> mFrames[1]; mFrames[1] = aStream->ParseInt16(QString("%1 frame %2").arg(GetName()).arg(1));
// Parse indices // Parse indices
mIndices.ParseData(aStream); mIndices.ParseData(aStream);