Files
2024-01-22 08:01:30 -08:00

48 lines
1.1 KiB
C++

#ifndef JASWAVEBANK_H
#define JASWAVEBANK_H
#include "dolphin/types.h"
class JKRHeap;
namespace JASystem {
class TWaveArc;
struct TWaveInfo {
/* 0x00 */ u8 mBlockType;
/* 0x01 */ u8 field_0x1;
/* 0x02 */ u8 field_0x2;
/* 0x04 */ f32 field_0x4;
/* 0x08 */ int mWavePtrOffs;
/* 0x0C */ int field_0xc;
/* 0x10 */ int field_0x10;
/* 0x14 */ int mBlockCount;
/* 0x18 */ int field_0x18;
/* 0x1C */ int field_0x1c;
/* 0x20 */ s16 field_0x20;
/* 0x22 */ s16 field_0x22;
/* 0x24 */ void* field_0x24;
/* 0x28 */ int field_0x28;
};
class TWaveHandle {
public:
virtual ~TWaveHandle() {}
virtual const TWaveInfo* getWaveInfo() const = 0;
virtual const void* getWavePtr() const = 0;
};
class TWaveBank {
public:
TWaveBank() {}
virtual ~TWaveBank() {}
virtual TWaveHandle* getWaveHandle(u32) const = 0;
virtual TWaveArc* getWaveArc(int) = 0;
static JKRHeap* getCurrentHeap();
static JKRHeap* sCurrentHeap;
};
}
#endif /* JASWAVEBANK_H */