XPlor/libs/xassets/xaudiochannelmap.cpp

65 lines
1.2 KiB
C++
Raw Normal View History

2025-08-17 13:14:17 -04:00
#include "xaudiochannelmap.h"
XAudioChannelMap::XAudioChannelMap()
: XAsset()
, mEntryCount(0)
, mEntries(QVector<XAudioChannelMapEntry*>())
{
}
XAudioChannelMap::~XAudioChannelMap()
{
for (int i = 0; i < mEntries.size(); i++)
{
delete mEntries[i];
}
mEntries.clear();
}
quint8 XAudioChannelMap::GetEntryCount() const
{
return mEntryCount;
}
XAudioChannelMapEntry *XAudioChannelMap::GetMapEntry(int aIndex) const
{
return mEntries[aIndex];
}
void XAudioChannelMap::SetMapEntry(int aIndex, XAudioChannelMapEntry *aEntry)
{
mEntries[aIndex] = aEntry;
}
void XAudioChannelMap::ParseData(QDataStream *aStream)
{
*aStream >> mEntryCount;
aStream->skipRawData(3);
quint32 entriesPtr;
*aStream >> entriesPtr;
if (entriesPtr)
{
mEntries.resize(mEntryCount);
for (int i = 0; i < mEntryCount; i++)
{
mEntries[i] = new XAudioChannelMapEntry();
mEntries[i]->ParseData(aStream);
}
}
}
void XAudioChannelMap::Clear()
{
mEntryCount = 0;
for (int i = 0; i < mEntries.size(); i++)
{
delete mEntries[i];
}
mEntries.clear();
}