mirror of
https://github.com/zeldaret/tww.git
synced 2026-05-23 15:01:33 -04:00
40 lines
1.1 KiB
C++
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 */
|