Files
tww/include/JSystem/JAudio/JASWaveArcLoader.h
T
2026-08-28 20:42:59 -04:00

52 lines
1.3 KiB
C++

#ifndef JASWAVEARCLOADER_H
#define JASWAVEARCLOADER_H
#include "JSystem/JAudio/JASHeapCtrl.h"
#include "dolphin/os/OSMutex.h"
namespace JASystem {
namespace WaveArcLoader {
bool init();
Kernel::THeap* getRootHeap();
void setCurrentDir(const char*);
char* getCurrentDir();
extern Kernel::THeap sAramHeap;
extern char sCurrentDir[];
};
class TWaveArc : public Kernel::TDisposer {
public:
TWaveArc();
virtual void onLoadDone() {}
virtual void onEraseDone() {}
bool loadSetup(u32);
bool eraseSetup();
static s32 loadToAramCallback(void*);
bool sendLoadCmd();
bool load(Kernel::THeap*);
bool erase();
void onDispose();
void setEntryNum(s32);
void setFileName(const char*);
// fake struct name
struct loadToAramCallbackMsg {
JASystem::TWaveArc* mpWaveArc;
s32 mEntryNum;
uintptr_t mBase;
u32 field_0xc;
};
/* 0x04 */ Kernel::THeap mHeap;
/* 0x4C */ int field_0x4c;
/* 0x50 */ OSMutex mMutex;
/* 0x68 */ int field_0x68;
/* 0x6C */ s32 mEntryNum;
/* 0x70 */ int mSize;
/* 0x74 */ int field_0x74;
};
}
#endif /* JASWAVEARCLOADER_H */