Files
tww/include/JSystem/JAudio/JASSimpleWaveBank.h
T
2024-01-22 08:01:30 -08:00

40 lines
1.1 KiB
C++

#ifndef JASSIMPLEWAVEBANK_H
#define JASSIMPLEWAVEBANK_H
#include "JSystem/JAudio/JASWaveArcLoader.h"
#include "JSystem/JAudio/JASWaveBank.h"
#include "dolphin/types.h"
namespace JASystem {
class TSimpleWaveBank : public TWaveBank, public TWaveArc {
public:
class TWaveHandle : public JASystem::TWaveHandle {
public:
TWaveHandle() { mHeap = NULL; }
~TWaveHandle();
const TWaveInfo* getWaveInfo() const { return &mWaveInfo; }
const void* getWavePtr() const {
if (mHeap->mBase == NULL) {
return NULL;
}
return (u8*)mHeap->mBase + mWaveInfo.mWavePtrOffs;
}
/* 0x04 */ TWaveInfo mWaveInfo;
/* 0x30 */ Kernel::THeap* mHeap;
};
TSimpleWaveBank();
~TSimpleWaveBank();
void setWaveTableSize(u32);
TWaveHandle* getWaveHandle(u32) const;
void setWaveInfo(u32, const JASystem::TWaveInfo&);
TWaveArc* getWaveArc(int);
/* 0x7C */ TWaveHandle* mWaveTable;
/* 0x80 */ u32 mWaveCount;
};
}
#endif /* JASSIMPLEWAVEBANK_H */