JAUAudioArcInterpreter, JAUAudioArcLoader (#1917)

* JAUAudioArcInterpreter

* JAUAudioArcLoader OK
This commit is contained in:
Jcw87
2023-09-09 08:26:01 +03:00
committed by GitHub
parent 6deaa22a19
commit 64faf5012c
30 changed files with 430 additions and 737 deletions
+113 -63
View File
@@ -4,94 +4,51 @@
//
#include "JSystem/JAudio2/JAUAudioArcInterpreter.h"
#include "JSystem/JUtility/JUTAssert.h"
#include "dol2asm.h"
//
// Types:
//
struct JAUAudioArcInterpreter {
/* 802A4244 */ JAUAudioArcInterpreter();
/* 802A4260 */ ~JAUAudioArcInterpreter();
/* 802A42A8 */ void parse(void const*);
/* 802A4314 */ bool readCommandMore(u32);
/* 802A431C */ void readCommand_();
};
//
// Forward References:
//
extern "C" void __ct__22JAUAudioArcInterpreterFv();
extern "C" void __dt__22JAUAudioArcInterpreterFv();
extern "C" void parse__22JAUAudioArcInterpreterFPCv();
extern "C" bool readCommandMore__22JAUAudioArcInterpreterFUl();
extern "C" void readCommand___22JAUAudioArcInterpreterFv();
//
// External References:
//
extern "C" void __dl__FPv();
//
// Declarations:
//
/* ############################################################################################## */
/* 803C9A30-803C9A78 026B50 0044+04 2/2 0/0 0/0 .data __vt__22JAUAudioArcInterpreter */
SECTION_DATA extern void* __vt__22JAUAudioArcInterpreter[17 + 1 /* padding */] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__22JAUAudioArcInterpreterFv,
(void*)NULL,
(void*)NULL,
(void*)NULL,
(void*)NULL,
(void*)NULL,
(void*)NULL,
(void*)NULL,
(void*)NULL,
(void*)NULL,
(void*)NULL,
(void*)NULL,
(void*)NULL,
(void*)NULL,
(void*)readCommandMore__22JAUAudioArcInterpreterFUl,
/* padding */
NULL,
};
/* 802A4244-802A4260 29EB84 001C+00 0/0 1/1 0/0 .text __ct__22JAUAudioArcInterpreterFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm JAUAudioArcInterpreter::JAUAudioArcInterpreter() {
nofralloc
#include "asm/JSystem/JAudio2/JAUAudioArcInterpreter/__ct__22JAUAudioArcInterpreterFv.s"
JAUAudioArcInterpreter::JAUAudioArcInterpreter() {
mBase = NULL;
mReadPtr = NULL;
}
#pragma pop
/* 802A4260-802A42A8 29EBA0 0048+00 1/0 3/3 0/0 .text __dt__22JAUAudioArcInterpreterFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm JAUAudioArcInterpreter::~JAUAudioArcInterpreter() {
nofralloc
#include "asm/JSystem/JAudio2/JAUAudioArcInterpreter/__dt__22JAUAudioArcInterpreterFv.s"
}
#pragma pop
JAUAudioArcInterpreter::~JAUAudioArcInterpreter() {}
/* 802A42A8-802A4314 29EBE8 006C+00 0/0 1/1 0/0 .text parse__22JAUAudioArcInterpreterFPCv
*/
// regswap
#ifdef NONMATCHING
bool JAUAudioArcInterpreter::parse(void const* param_0) {
mBase = (const u8*)param_0;
mReadPtr = mBase;
if (readU32_() != 'AA_<') {
return false;
}
while (readCommand_()) {}
return true;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JAUAudioArcInterpreter::parse(void const* param_0) {
asm bool JAUAudioArcInterpreter::parse(void const* param_0) {
nofralloc
#include "asm/JSystem/JAudio2/JAUAudioArcInterpreter/parse__22JAUAudioArcInterpreterFPCv.s"
}
#pragma pop
#endif
/* 802A4314-802A431C 29EC54 0008+00 1/0 1/0 0/0 .text readCommandMore__22JAUAudioArcInterpreterFUl
*/
@@ -100,11 +57,104 @@ bool JAUAudioArcInterpreter::readCommandMore(u32 param_0) {
}
/* 802A431C-802A4740 29EC5C 0424+00 1/1 0/0 0/0 .text readCommand___22JAUAudioArcInterpreterFv */
// regalloc
#ifdef NONMATCHING
bool JAUAudioArcInterpreter::readCommand_() {
u32 cmd = readU32_();
switch (cmd) {
case '>_AA':
return false;
case 'ws ': {
u32 var1 = readU32_();
u32 var2 = readU32_();
u32 var3 = readU32_();
readWS(var1, getContent_(var2), var3);
break;
}
case 'bnk ': {
u32 var1 = readU32_();
u32 var2 = readU32_();
readBNK(var1, getContent_(var2));
break;
}
case 'bl_<': {
u32 var1 = readU32_();
u32 var2 = readU32_();
beginBNKList(var1, var2);
break;
}
case '>_bl':
endBNKList();
break;
case 'bsc ': {
u32 var1 = readU32_();
u32 var2 = readU32_();
readBSC(getContent_(var1), var2 - var1);
break;
}
case 'bst ': {
u32 var1 = readU32_();
u32 var2 = readU32_();
readBST(getContent_(var1), var2 - var1);
break;
}
case 'bstn': {
u32 var1 = readU32_();
u32 var2 = readU32_();
readBSTN(getContent_(var1), var2 - var1);
break;
}
case 'bms ': {
u32 var1 = readU32_();
u32 var2 = readU32_();
u32 var3 = readU32_();
readBMS(var1, getContent_(var2), var3 - var2);
break;
}
case 'bmsa': {
u32 var1 = readU32_();
readBMS_fromArchive(var1);
break;
}
case 'vbnk': {
u32 var1 = readU32_();
u32 var2 = readU32_();
newVoiceBank(var1, var2);
break;
}
case 'dsqb': {
u32 var1 = readU32_();
newDynamicSeqBlock(var1);
break;
}
case 'bsft': {
u32 var1 = readU32_();
readBSFT(getContent_(var1));
break;
}
case 'sect': {
readU8_();
u8 var1 = readU8_();
u8 var2 = readU8_();
u8 var3 = readU8_();
readMaxSeCategory(var1, var2, var3);
break;
}
default:
if (!readCommandMore(cmd)) {
JUT_ASSERT("JAUAudioArcInterpreter.cpp", 0x91, false);
}
break;
}
return true;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JAUAudioArcInterpreter::readCommand_() {
asm bool JAUAudioArcInterpreter::readCommand_() {
nofralloc
#include "asm/JSystem/JAudio2/JAUAudioArcInterpreter/readCommand___22JAUAudioArcInterpreterFv.s"
}
#pragma pop
#endif
+45 -237
View File
@@ -4,301 +4,109 @@
//
#include "JSystem/JAudio2/JAUAudioArcLoader.h"
#include "dol2asm.h"
//
// Types:
//
struct JAUSectionHeap {
/* 802A60AC */ void newDynamicSeqBlock(u32);
};
struct JAISoundID {};
struct JAUSection {
/* 802A51E4 */ void newSoundTable(void const*, u32, bool);
/* 802A52A0 */ void newSoundNameTable(void const*, u32, bool);
/* 802A535C */ void newStreamFileTable(void const*, bool);
/* 802A5500 */ void newSeSeqCollection(void const*, u32);
/* 802A56C8 */ void newStaticSeqData(JAISoundID, void const*, u32);
/* 802A5730 */ void newStaticSeqData(JAISoundID);
/* 802A5854 */ void newWaveBank(u32, void const*);
/* 802A5948 */ void loadWaveArc(u32, u32);
/* 802A5A50 */ void newBank(void const*, u32);
/* 802A5B84 */ void newVoiceBank(u32, u32);
/* 802A5CAC */ void beginNewBankTable(u32, u32);
/* 802A5D9C */ void endNewBankTable();
};
struct JAUAudioArcLoader {
/* 802A4740 */ JAUAudioArcLoader(JAUSection*);
/* 802A478C */ void load(void const*);
/* 802A47AC */ void readWS(u32, void const*, u32);
/* 802A4804 */ void readBNK(u32, void const*);
/* 802A4834 */ void readBSC(void const*, u32);
/* 802A4858 */ void readBST(void const*, u32);
/* 802A4880 */ void readBSTN(void const*, u32);
/* 802A48A8 */ void readBMS(u32, void const*, u32);
/* 802A48D4 */ void readBMS_fromArchive(u32);
/* 802A4900 */ void newVoiceBank(u32, u32);
/* 802A4930 */ void newDynamicSeqBlock(u32);
/* 802A4968 */ void readBSFT(void const*);
/* 802A4990 */ void beginBNKList(u32, u32);
/* 802A49B4 */ void endBNKList();
/* 802A49D8 */ void readMaxSeCategory(int, int, int);
/* 802A49FC */ ~JAUAudioArcLoader();
};
struct JAUAudioArcInterpreter {
/* 802A4244 */ JAUAudioArcInterpreter();
/* 802A4260 */ ~JAUAudioArcInterpreter();
/* 802A42A8 */ void parse(void const*);
/* 802A4314 */ bool readCommandMore(u32);
};
//
// Forward References:
//
extern "C" void __ct__17JAUAudioArcLoaderFP10JAUSection();
extern "C" void load__17JAUAudioArcLoaderFPCv();
extern "C" void readWS__17JAUAudioArcLoaderFUlPCvUl();
extern "C" void readBNK__17JAUAudioArcLoaderFUlPCv();
extern "C" void readBSC__17JAUAudioArcLoaderFPCvUl();
extern "C" void readBST__17JAUAudioArcLoaderFPCvUl();
extern "C" void readBSTN__17JAUAudioArcLoaderFPCvUl();
extern "C" void readBMS__17JAUAudioArcLoaderFUlPCvUl();
extern "C" void readBMS_fromArchive__17JAUAudioArcLoaderFUl();
extern "C" void newVoiceBank__17JAUAudioArcLoaderFUlUl();
extern "C" void newDynamicSeqBlock__17JAUAudioArcLoaderFUl();
extern "C" void readBSFT__17JAUAudioArcLoaderFPCv();
extern "C" void beginBNKList__17JAUAudioArcLoaderFUlUl();
extern "C" void endBNKList__17JAUAudioArcLoaderFv();
extern "C" void readMaxSeCategory__17JAUAudioArcLoaderFiii();
extern "C" void __dt__17JAUAudioArcLoaderFv();
//
// External References:
//
extern "C" void __ct__22JAUAudioArcInterpreterFv();
extern "C" void __dt__22JAUAudioArcInterpreterFv();
extern "C" void parse__22JAUAudioArcInterpreterFPCv();
extern "C" bool readCommandMore__22JAUAudioArcInterpreterFUl();
extern "C" void newSoundTable__10JAUSectionFPCvUlb();
extern "C" void newSoundNameTable__10JAUSectionFPCvUlb();
extern "C" void newStreamFileTable__10JAUSectionFPCvb();
extern "C" void newSeSeqCollection__10JAUSectionFPCvUl();
extern "C" void newStaticSeqData__10JAUSectionF10JAISoundIDPCvUl();
extern "C" void newStaticSeqData__10JAUSectionF10JAISoundID();
extern "C" void newWaveBank__10JAUSectionFUlPCv();
extern "C" void loadWaveArc__10JAUSectionFUlUl();
extern "C" void newBank__10JAUSectionFPCvUl();
extern "C" void newVoiceBank__10JAUSectionFUlUl();
extern "C" void beginNewBankTable__10JAUSectionFUlUl();
extern "C" void endNewBankTable__10JAUSectionFv();
extern "C" void newDynamicSeqBlock__14JAUSectionHeapFUl();
extern "C" void __dl__FPv();
extern "C" void _savegpr_29();
extern "C" void _restgpr_29();
extern "C" extern u8 data_80450B6C[4];
extern "C" extern u8 __OSReport_disable;
#include "JSystem/JAudio2/JAISeMgr.h"
#include "JSystem/JAudio2/JAUSectionHeap.h"
#include "JSystem/JUtility/JUTAssert.h"
//
// Declarations:
//
/* ############################################################################################## */
/* 803C9A78-803C9AC0 026B98 0044+04 2/2 2/2 0/0 .data __vt__17JAUAudioArcLoader */
SECTION_DATA extern void* __vt__17JAUAudioArcLoader[17 + 1 /* padding */] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__17JAUAudioArcLoaderFv,
(void*)readWS__17JAUAudioArcLoaderFUlPCvUl,
(void*)readBNK__17JAUAudioArcLoaderFUlPCv,
(void*)readBSC__17JAUAudioArcLoaderFPCvUl,
(void*)readBST__17JAUAudioArcLoaderFPCvUl,
(void*)readBSTN__17JAUAudioArcLoaderFPCvUl,
(void*)readBMS__17JAUAudioArcLoaderFUlPCvUl,
(void*)readBMS_fromArchive__17JAUAudioArcLoaderFUl,
(void*)newVoiceBank__17JAUAudioArcLoaderFUlUl,
(void*)newDynamicSeqBlock__17JAUAudioArcLoaderFUl,
(void*)readBSFT__17JAUAudioArcLoaderFPCv,
(void*)readMaxSeCategory__17JAUAudioArcLoaderFiii,
(void*)beginBNKList__17JAUAudioArcLoaderFUlUl,
(void*)endBNKList__17JAUAudioArcLoaderFv,
(void*)readCommandMore__22JAUAudioArcInterpreterFUl,
/* padding */
NULL,
};
/* 802A4740-802A478C 29F080 004C+00 0/0 1/1 0/0 .text __ct__17JAUAudioArcLoaderFP10JAUSection */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm JAUAudioArcLoader::JAUAudioArcLoader(JAUSection* param_0) {
nofralloc
#include "asm/JSystem/JAudio2/JAUAudioArcLoader/__ct__17JAUAudioArcLoaderFP10JAUSection.s"
JAUAudioArcLoader::JAUAudioArcLoader(JAUSection* section) {
//JUT_ASSERT("JAUAudioArcLoader.cpp",0xd, section->isOpen());
//JUT_ASSERT("JAUAudioArcLoader.cpp",0xe, section->isBuilding());
mSection = section;
}
#pragma pop
/* 802A478C-802A47AC 29F0CC 0020+00 0/0 1/1 0/0 .text load__17JAUAudioArcLoaderFPCv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JAUAudioArcLoader::load(void const* param_0) {
nofralloc
#include "asm/JSystem/JAudio2/JAUAudioArcLoader/load__17JAUAudioArcLoaderFPCv.s"
bool JAUAudioArcLoader::load(void const* param_0) {
return parse(param_0);
}
#pragma pop
/* 802A47AC-802A4804 29F0EC 0058+00 1/0 1/0 0/0 .text readWS__17JAUAudioArcLoaderFUlPCvUl
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JAUAudioArcLoader::readWS(u32 param_0, void const* param_1, u32 param_2) {
nofralloc
#include "asm/JSystem/JAudio2/JAUAudioArcLoader/readWS__17JAUAudioArcLoaderFUlPCvUl.s"
void JAUAudioArcLoader::readWS(u32 param_0, void const* param_1, u32 param_2) {
mSection->newWaveBank(param_0, param_1);
if (param_2) {
mSection->loadWaveArc(param_0, param_2);
}
}
#pragma pop
/* 802A4804-802A4834 29F144 0030+00 1/0 1/0 0/0 .text readBNK__17JAUAudioArcLoaderFUlPCv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JAUAudioArcLoader::readBNK(u32 param_0, void const* param_1) {
nofralloc
#include "asm/JSystem/JAudio2/JAUAudioArcLoader/readBNK__17JAUAudioArcLoaderFUlPCv.s"
void JAUAudioArcLoader::readBNK(u32 param_0, void const* param_1) {
mSection->newBank(param_1, param_0);
}
#pragma pop
/* 802A4834-802A4858 29F174 0024+00 1/0 1/0 0/0 .text readBSC__17JAUAudioArcLoaderFPCvUl
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JAUAudioArcLoader::readBSC(void const* param_0, u32 param_1) {
nofralloc
#include "asm/JSystem/JAudio2/JAUAudioArcLoader/readBSC__17JAUAudioArcLoaderFPCvUl.s"
void JAUAudioArcLoader::readBSC(void const* param_0, u32 param_1) {
mSection->newSeSeqCollection(param_0, param_1);
}
#pragma pop
/* 802A4858-802A4880 29F198 0028+00 1/0 1/0 0/0 .text readBST__17JAUAudioArcLoaderFPCvUl
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JAUAudioArcLoader::readBST(void const* param_0, u32 param_1) {
nofralloc
#include "asm/JSystem/JAudio2/JAUAudioArcLoader/readBST__17JAUAudioArcLoaderFPCvUl.s"
void JAUAudioArcLoader::readBST(void const* param_0, u32 param_1) {
mSection->newSoundTable(param_0, param_1, true);
}
#pragma pop
/* 802A4880-802A48A8 29F1C0 0028+00 1/0 0/0 0/0 .text readBSTN__17JAUAudioArcLoaderFPCvUl
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JAUAudioArcLoader::readBSTN(void const* param_0, u32 param_1) {
nofralloc
#include "asm/JSystem/JAudio2/JAUAudioArcLoader/readBSTN__17JAUAudioArcLoaderFPCvUl.s"
void JAUAudioArcLoader::readBSTN(void const* param_0, u32 param_1) {
mSection->newSoundNameTable(param_0, param_1, true);
}
#pragma pop
/* 802A48A8-802A48D4 29F1E8 002C+00 1/0 1/0 0/0 .text readBMS__17JAUAudioArcLoaderFUlPCvUl */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JAUAudioArcLoader::readBMS(u32 param_0, void const* param_1, u32 param_2) {
nofralloc
#include "asm/JSystem/JAudio2/JAUAudioArcLoader/readBMS__17JAUAudioArcLoaderFUlPCvUl.s"
void JAUAudioArcLoader::readBMS(u32 param_0, void const* param_1, u32 param_2) {
mSection->newStaticSeqData(param_0, param_1, param_2);
}
#pragma pop
/* 802A48D4-802A4900 29F214 002C+00 1/0 1/0 0/0 .text readBMS_fromArchive__17JAUAudioArcLoaderFUl
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JAUAudioArcLoader::readBMS_fromArchive(u32 param_0) {
nofralloc
#include "asm/JSystem/JAudio2/JAUAudioArcLoader/readBMS_fromArchive__17JAUAudioArcLoaderFUl.s"
void JAUAudioArcLoader::readBMS_fromArchive(u32 param_0) {
mSection->newStaticSeqData(param_0);
}
#pragma pop
/* 802A4900-802A4930 29F240 0030+00 1/0 1/0 0/0 .text newVoiceBank__17JAUAudioArcLoaderFUlUl */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JAUAudioArcLoader::newVoiceBank(u32 param_0, u32 param_1) {
nofralloc
#include "asm/JSystem/JAudio2/JAUAudioArcLoader/newVoiceBank__17JAUAudioArcLoaderFUlUl.s"
void JAUAudioArcLoader::newVoiceBank(u32 param_0, u32 param_1) {
mSection->newVoiceBank(param_1, param_0);
}
#pragma pop
/* 802A4930-802A4968 29F270 0038+00 1/0 1/0 0/0 .text newDynamicSeqBlock__17JAUAudioArcLoaderFUl
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JAUAudioArcLoader::newDynamicSeqBlock(u32 param_0) {
nofralloc
#include "asm/JSystem/JAudio2/JAUAudioArcLoader/newDynamicSeqBlock__17JAUAudioArcLoaderFUl.s"
void JAUAudioArcLoader::newDynamicSeqBlock(u32 param_0) {
JAUSectionHeap* sectionHeap = mSection->asSectionHeap();
JUT_ASSERT("JAUAudioArcLoader.cpp", 0x48, sectionHeap);
sectionHeap->newDynamicSeqBlock(param_0);
}
#pragma pop
/* 802A4968-802A4990 29F2A8 0028+00 1/0 1/0 0/0 .text readBSFT__17JAUAudioArcLoaderFPCv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JAUAudioArcLoader::readBSFT(void const* param_0) {
nofralloc
#include "asm/JSystem/JAudio2/JAUAudioArcLoader/readBSFT__17JAUAudioArcLoaderFPCv.s"
void JAUAudioArcLoader::readBSFT(void const* param_0) {
mSection->newStreamFileTable(param_0, true);
}
#pragma pop
/* 802A4990-802A49B4 29F2D0 0024+00 1/0 1/0 0/0 .text beginBNKList__17JAUAudioArcLoaderFUlUl */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JAUAudioArcLoader::beginBNKList(u32 param_0, u32 param_1) {
nofralloc
#include "asm/JSystem/JAudio2/JAUAudioArcLoader/beginBNKList__17JAUAudioArcLoaderFUlUl.s"
void JAUAudioArcLoader::beginBNKList(u32 param_0, u32 param_1) {
mSection->beginNewBankTable(param_0, param_1);
}
#pragma pop
/* 802A49B4-802A49D8 29F2F4 0024+00 1/0 1/0 0/0 .text endBNKList__17JAUAudioArcLoaderFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JAUAudioArcLoader::endBNKList() {
nofralloc
#include "asm/JSystem/JAudio2/JAUAudioArcLoader/endBNKList__17JAUAudioArcLoaderFv.s"
void JAUAudioArcLoader::endBNKList() {
mSection->endNewBankTable();
}
#pragma pop
/* 802A49D8-802A49FC 29F318 0024+00 1/0 1/0 0/0 .text readMaxSeCategory__17JAUAudioArcLoaderFiii
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JAUAudioArcLoader::readMaxSeCategory(int param_0, int param_1, int param_2) {
nofralloc
#include "asm/JSystem/JAudio2/JAUAudioArcLoader/readMaxSeCategory__17JAUAudioArcLoaderFiii.s"
void JAUAudioArcLoader::readMaxSeCategory(int param_0, int param_1, int param_2) {
JAISeMgr* seMgr = JASGlobalInstance<JAISeMgr>::getInstance();
if (seMgr) {
seMgr->getCategory(param_0)->setMaxActiveSe(param_1);
seMgr->getCategory(param_0)->setMaxInactiveSe(param_2);
}
}
#pragma pop
/* 802A49FC-802A4A5C 29F33C 0060+00 1/0 0/0 0/0 .text __dt__17JAUAudioArcLoaderFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm JAUAudioArcLoader::~JAUAudioArcLoader() {
nofralloc
#include "asm/JSystem/JAudio2/JAUAudioArcLoader/__dt__17JAUAudioArcLoaderFv.s"
}
#pragma pop
JAUAudioArcLoader::~JAUAudioArcLoader() {}
+6 -114
View File
@@ -11,35 +11,6 @@
// Types:
//
namespace std {
template <typename A1>
struct __bitset_base {};
/* __bitset_base<8> */
struct __bitset_base__template0 {
/* 802A65D4 */ void func_802A65D4(void* _this, u32, bool);
/* 802A6614 */ void func_802A6614(void* _this, u32);
/* 802A6634 */ void func_802A6634(void* _this, u32) /* const */;
/* 802A665C */ void func_802A665C(void* _this);
};
}; // namespace std
struct JSUPtrLink {
/* 802DBDFC */ JSUPtrLink(void*);
/* 802DBE14 */ ~JSUPtrLink();
};
struct JSUPtrList {
/* 802DBEAC */ ~JSUPtrList();
/* 802DBF14 */ void initiate();
/* 802DBF4C */ void append(JSUPtrLink*);
};
template <typename A0>
struct JSULink {};
/* JSULink<JAUBankTable> */
struct JSULink__template0 {};
struct JKRHeap {
/* 802CE438 */ void becomeCurrentHeap();
/* 802CE5F8 */ void freeTail();
@@ -50,11 +21,6 @@ struct JKRSolidHeap {
/* 802D0A24 */ void create(u32, JKRHeap*, bool);
};
struct JKRDisposer {
/* 802D147C */ JKRDisposer();
/* 802D14E4 */ ~JKRDisposer();
};
struct JKRArchive {};
struct JAUStreamFileTable {
@@ -76,80 +42,10 @@ struct JAUSeqDataMgr_SeqCollection {
/* 802A677C */ JAUSeqDataMgr_SeqCollection();
};
struct JAUSeqDataBlock {
/* 802A68F4 */ JAUSeqDataBlock();
};
struct JAUSeqCollection {
/* 802A66AC */ void init(void const*);
};
struct JAISeqDataUser {};
struct JAISeqData {};
struct JAISoundID {};
struct JAUSectionHeap {
struct TSectionHeapData {
/* 802A5DF4 */ TSectionHeapData();
};
/* 802A5E60 */ void setSeqDataArchive(JKRArchive*);
/* 802A5EC0 */ void loadDynamicSeq(JAISoundID, bool);
/* 802A5EF8 */ void releaseIdleDynamicSeqDataBlock();
/* 802A5FE0 */ JAUSectionHeap(JKRSolidHeap*, bool, s32);
/* 802A6094 */ void getOpenSection();
/* 802A60A0 */ void setSeqDataUser(JAISeqDataUser*);
/* 802A60AC */ void newDynamicSeqBlock(u32);
/* 802A61D0 */ void getSeqData(JAISoundID, JAISeqData*);
/* 802A6270 */ bool releaseSeqData();
/* 802A6278 */ ~JAUSectionHeap();
};
struct JAUSection {
struct TSectionData {
/* 802A4EE8 */ TSectionData();
/* 802A4F68 */ void resetRegisteredBankTables();
/* 802A4FE4 */ void resetRegisteredWaveBankTables();
};
/* 802A5060 */ JAUSection(JAUSectionHeap*, u32, s32);
/* 802A50F8 */ void finishBuild();
/* 802A5160 */ void dispose();
/* 802A51E4 */ void newSoundTable(void const*, u32, bool);
/* 802A52A0 */ void newSoundNameTable(void const*, u32, bool);
/* 802A535C */ void newStreamFileTable(void const*, bool);
/* 802A5500 */ void newSeSeqCollection(void const*, u32);
/* 802A5598 */ void newStaticSeqDataBlock_(JAISoundID, u32);
/* 802A56C8 */ void newStaticSeqData(JAISoundID, void const*, u32);
/* 802A5730 */ void newStaticSeqData(JAISoundID);
/* 802A57F0 */ void newCopy(void const*, u32, s32);
/* 802A5854 */ void newWaveBank(u32, void const*);
/* 802A5948 */ void loadWaveArc(u32, u32);
/* 802A5A50 */ void newBank(void const*, u32);
/* 802A5B84 */ void newVoiceBank(u32, u32);
/* 802A5CAC */ void beginNewBankTable(u32, u32);
/* 802A5D9C */ void endNewBankTable();
/* 802A6468 */ ~JAUSection();
};
struct JAUDynamicSeqDataBlocks {
/* 802A6A58 */ JAUDynamicSeqDataBlocks();
/* 802A6AA8 */ void getSeqData(JAISoundID, JAISeqDataUser*, JAISeqData*, bool);
/* 802A6B8C */ void appendDynamicSeqDataBlock(JAUSeqDataBlock*);
/* 802A6C18 */ void loadDynamicSeq(JAISoundID, bool, JAISeqDataUser*);
/* 802A6D48 */ void releaseIdleDynamicSeqDataBlock(JAISeqDataUser*);
};
struct JAUBankTable {
/* 802A4AA0 */ void getBank(u32) const;
};
struct JAUBankTableDictionary {
/* 802A4A80 */ void appendBankTable(JSULink<JAUBankTable>*);
};
struct JASHeap {};
struct JASWaveArc {
@@ -172,10 +68,6 @@ struct JAIStreamDataMgr {
/* 802A3AD8 */ ~JAIStreamDataMgr();
};
struct JAISeqDataMgr {
/* 802A17BC */ ~JAISeqDataMgr();
};
//
// Forward References:
//
@@ -625,7 +517,7 @@ asm void JAUSectionHeap::releaseIdleDynamicSeqDataBlock() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void JAUNewSectionHeap(JKRSolidHeap* param_0, bool param_1) {
static asm JAUSectionHeap* JAUNewSectionHeap(JKRSolidHeap* param_0, bool param_1) {
nofralloc
#include "asm/JSystem/JAudio2/JAUSectionHeap/JAUNewSectionHeap__FP12JKRSolidHeapb.s"
}
@@ -635,7 +527,7 @@ static asm void JAUNewSectionHeap(JKRSolidHeap* param_0, bool param_1) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JAUNewSectionHeap(bool param_0) {
asm JAUSectionHeap* JAUNewSectionHeap(bool param_0) {
nofralloc
#include "asm/JSystem/JAudio2/JAUSectionHeap/JAUNewSectionHeap__Fb.s"
}
@@ -656,7 +548,7 @@ asm JAUSectionHeap::JAUSectionHeap(JKRSolidHeap* param_0, bool param_1, s32 para
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JAUSectionHeap::getOpenSection() {
asm JAUSection* JAUSectionHeap::getOpenSection() {
nofralloc
#include "asm/JSystem/JAudio2/JAUSectionHeap/getOpenSection__14JAUSectionHeapFv.s"
}
@@ -688,7 +580,7 @@ asm void JAUSectionHeap::newDynamicSeqBlock(u32 param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JAUSectionHeap::getSeqData(JAISoundID param_0, JAISeqData* param_1) {
asm int JAUSectionHeap::getSeqData(JAISoundID param_0, JAISeqData* param_1) {
nofralloc
#include "asm/JSystem/JAudio2/JAUSectionHeap/getSeqData__14JAUSectionHeapF10JAISoundIDP10JAISeqData.s"
}
@@ -696,8 +588,8 @@ asm void JAUSectionHeap::getSeqData(JAISoundID param_0, JAISeqData* param_1) {
/* 802A6270-802A6278 2A0BB0 0008+00 2/1 0/0 0/0 .text releaseSeqData__14JAUSectionHeapFv
*/
bool JAUSectionHeap::releaseSeqData() {
return false;
int JAUSectionHeap::releaseSeqData() {
return 0;
}
/* 802A6278-802A6440 2A0BB8 01C8+00 2/1 0/0 0/0 .text __dt__14JAUSectionHeapFv */
@@ -10,52 +10,12 @@
// Types:
//
struct JSUPtrLink {
/* 802DBDFC */ JSUPtrLink(void*);
};
struct JSUPtrList {
/* 802DBF14 */ void initiate();
/* 802DBF4C */ void append(JSUPtrLink*);
/* 802DC15C */ void remove(JSUPtrLink*);
};
template <typename A0>
struct JSULink {};
/* JSULink<JAUSeqDataBlock> */
struct JSULink__template1 {};
struct JKRArchive {};
struct JAISoundID {};
struct JAUSeqDataBlock {
/* 802A68F4 */ JAUSeqDataBlock();
};
struct JAUSeqDataBlocks {
/* 802A6928 */ void getSeqData(JAISoundID);
/* 802A6974 */ void seekFreeBlock(u32);
/* 802A69D8 */ void append(JSULink<JAUSeqDataBlock>*);
/* 802A69F8 */ void remove(JSULink<JAUSeqDataBlock>*);
/* 802A6A18 */ void hasFailedBlock(JAISoundID);
};
struct JAISeqDataUser {};
struct JAISeqData {};
struct JAUDynamicSeqDataBlocks {
/* 802A6A58 */ JAUDynamicSeqDataBlocks();
/* 802A6AA0 */ void setSeqDataArchive(JKRArchive*);
/* 802A6AA8 */ void getSeqData(JAISoundID, JAISeqDataUser*, JAISeqData*, bool);
/* 802A6B8C */ void appendDynamicSeqDataBlock(JAUSeqDataBlock*);
/* 802A6C18 */ void loadDynamicSeq(JAISoundID, bool, JAISeqDataUser*);
/* 802A6D48 */ void releaseIdleDynamicSeqDataBlock(JAISeqDataUser*);
/* 802A6E00 */ void releaseIdleDynamicSeqDataBlock_(JAISeqDataUser*, u32);
/* 802A6EDC */ void rearrangeLoadingSeqs_();
};
struct JASResArcLoader {
/* 80290BD0 */ void getResSize(JKRArchive const*, u16);
/* 80290D18 */ void loadResourceAsync(JKRArchive*, u16, u8*, u32, void (*)(u32, u32), u32);