diff options
| author | hatal175 <hatal175@users.noreply.github.com> | 2024-01-09 01:19:07 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-01-08 15:19:07 -0800 |
| commit | 28bef08667e3e1ef9eb85a8a96cb23af700afe02 (patch) | |
| tree | ff43e05e48a69c869a144a53d1bf3c1aea5eb88e /libs/Z2AudioLib/Z2AudioArcLoader.cpp | |
| parent | 40dae638a7c0b7e967eda55d3aa1089163213c5d (diff) | |
Work on Audio, JAUSeqDataBlockMgr OK (#2027)
Diffstat (limited to 'libs/Z2AudioLib/Z2AudioArcLoader.cpp')
| -rw-r--r-- | libs/Z2AudioLib/Z2AudioArcLoader.cpp | 96 |
1 files changed, 25 insertions, 71 deletions
diff --git a/libs/Z2AudioLib/Z2AudioArcLoader.cpp b/libs/Z2AudioLib/Z2AudioArcLoader.cpp index 9a2465bcd4..0762223a1c 100644 --- a/libs/Z2AudioLib/Z2AudioArcLoader.cpp +++ b/libs/Z2AudioLib/Z2AudioArcLoader.cpp @@ -4,30 +4,16 @@ // #include "Z2AudioLib/Z2AudioArcLoader.h" +#include "Z2AudioLib/Z2FxLineMgr.h" +#include "JSystem/JKernel/JKRHeap.h" +#include "JSystem/JKernel/JKRArchive.h" +#include "JSystem/JAudio2/JAUSectionHeap.h" #include "dol2asm.h" // // Types: // -struct JKRHeap { - static u8 sCurrentHeap[4]; -}; - -struct JKRArchive { - struct EMountDirection {}; - - /* 802D5840 */ void mount(void*, JKRHeap*, JKRArchive::EMountDirection); -}; - -struct Z2FxLineMgr { - /* 802BA7FC */ void initDataArc(JKRArchive*, JKRHeap*); -}; - -struct JAUSectionHeap { - /* 802A6094 */ void getOpenSection(); -}; - // // Forward References: // @@ -68,55 +54,33 @@ extern "C" extern u8 data_80450CC0[4 + 4 /* padding */]; extern "C" u8 sCurrentHeap__7JKRHeap[4]; extern "C" extern u8 __OSReport_disable; -// -// Declarations: -// - -/* ############################################################################################## */ -/* 803C9CD0-803C9D18 026DF0 0044+04 2/2 1/1 0/0 .data __vt__16Z2AudioArcLoader */ -SECTION_DATA extern void* __vt__16Z2AudioArcLoader[17 + 1 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__16Z2AudioArcLoaderFv, - (void*)readWS__17JAUAudioArcLoaderFUlPCvUl, - (void*)readBNK__17JAUAudioArcLoaderFUlPCv, - (void*)readBSC__17JAUAudioArcLoaderFPCvUl, - (void*)readBST__17JAUAudioArcLoaderFPCvUl, - (void*)readBSTN__16Z2AudioArcLoaderFPCvUl, - (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__16Z2AudioArcLoaderFUl, - /* padding */ - NULL, -}; - /* 802A9A34-802A9A70 2A4374 003C+00 0/0 1/1 0/0 .text __ct__16Z2AudioArcLoaderFP10JAUSection */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm Z2AudioArcLoader::Z2AudioArcLoader(JAUSection* param_0) { - nofralloc -#include "asm/Z2AudioLib/Z2AudioArcLoader/__ct__16Z2AudioArcLoaderFP10JAUSection.s" +Z2AudioArcLoader::Z2AudioArcLoader(JAUSection* param_0) : JAUAudioArcLoader(param_0) { } -#pragma pop /* 802A9A70-802A9AC8 2A43B0 0058+00 1/0 0/0 0/0 .text readCommandMore__16Z2AudioArcLoaderFUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool Z2AudioArcLoader::readCommandMore(u32 param_0) { - nofralloc -#include "asm/Z2AudioLib/Z2AudioArcLoader/readCommandMore__16Z2AudioArcLoaderFUl.s" +bool Z2AudioArcLoader::readCommandMore(u32 param_0) { + bool rv = false; + switch (param_0) { + case 'bfca': + readBFCA(getContent_(readU32_())); + rv = true; + break; + } + return rv; } -#pragma pop /* 802A9AC8-802A9B54 2A4408 008C+00 1/1 0/0 0/0 .text readBFCA__16Z2AudioArcLoaderFPCv */ +// regalloc and extra stack +#ifdef NONMATCHING +void Z2AudioArcLoader::readBFCA(void const* param_0) { + JAUSectionHeap* sectionHeap = JASGlobalInstance<JAUSectionHeap>::getInstance(); + JKRHeap* pJVar1 = sectionHeap->getHeap(); + JKRArchive* pJVar5 = JKRArchive::mount((void*)param_0, JKRGetCurrentHeap(), JKRArchive::MOUNT_DIRECTION_TAIL); + Z2GetFxLineMgr()->initDataArc(pJVar5, pJVar1); + JKRUnmountArchive(pJVar5); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -125,19 +89,9 @@ asm void Z2AudioArcLoader::readBFCA(void const* param_0) { #include "asm/Z2AudioLib/Z2AudioArcLoader/readBFCA__16Z2AudioArcLoaderFPCv.s" } #pragma pop - +#endif /* 802A9B54-802A9B58 2A4494 0004+00 1/0 0/0 0/0 .text readBSTN__16Z2AudioArcLoaderFPCvUl */ void Z2AudioArcLoader::readBSTN(void const* param_0, u32 param_1) { /* empty function */ } - -/* 802A9B58-802A9BC8 2A4498 0070+00 1/0 0/0 0/0 .text __dt__16Z2AudioArcLoaderFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm Z2AudioArcLoader::~Z2AudioArcLoader() { - nofralloc -#include "asm/Z2AudioLib/Z2AudioArcLoader/__dt__16Z2AudioArcLoaderFv.s" -} -#pragma pop |
