Fix: Parse entry count and entries ptr

This commit is contained in:
njohnson 2025-09-10 21:56:33 -04:00
parent 8c1f9539c7
commit e6f2932ef1

View File

@ -5,7 +5,7 @@ XAudioChannelMap::XAudioChannelMap()
, mEntryCount(0) , mEntryCount(0)
, mEntries(QVector<XAudioChannelMapEntry*>()) , mEntries(QVector<XAudioChannelMapEntry*>())
{ {
SetName("Audio Channel Map");
} }
XAudioChannelMap::~XAudioChannelMap() XAudioChannelMap::~XAudioChannelMap()
@ -32,15 +32,13 @@ void XAudioChannelMap::SetMapEntry(int aIndex, XAudioChannelMapEntry *aEntry)
mEntries[aIndex] = aEntry; mEntries[aIndex] = aEntry;
} }
void XAudioChannelMap::ParseData(QDataStream *aStream) void XAudioChannelMap::ParseData(XDataStream *aStream)
{ {
*aStream >> mEntryCount; mEntryCount = aStream->ParseUInt8(QString("%1 entry count").arg(GetName()));
aStream->skipRawData(3); aStream->skipRawData(3);
quint32 entriesPtr; quint32 entriesPtr = aStream->ParseInt32(QString("%1 entries ptr").arg(GetName()));
*aStream >> entriesPtr;
if (entriesPtr) if (entriesPtr)
{ {
mEntries.resize(mEntryCount); mEntries.resize(mEntryCount);