diff options
Diffstat (limited to 'src/JSystem/JAudio2/JASBasicBank.cpp')
| -rw-r--r-- | src/JSystem/JAudio2/JASBasicBank.cpp | 127 |
1 files changed, 31 insertions, 96 deletions
diff --git a/src/JSystem/JAudio2/JASBasicBank.cpp b/src/JSystem/JAudio2/JASBasicBank.cpp index 5b970837b5..537bbc52c1 100644 --- a/src/JSystem/JAudio2/JASBasicBank.cpp +++ b/src/JSystem/JAudio2/JASBasicBank.cpp @@ -4,117 +4,52 @@ // #include "JSystem/JAudio2/JASBasicBank.h" -#include "dol2asm.h" - -// -// Types: -// - -struct JKRHeap {}; - -struct JASInstParam {}; - -struct JASInst {}; - -struct JASCalc { - /* 8028F480 */ void bzero(void*, u32); -}; - -struct JASBasicBank { - /* 80297D78 */ JASBasicBank(); - /* 80297DA4 */ void newInstTable(u8, JKRHeap*); - /* 80297E00 */ void getInstParam(int, int, int, JASInstParam*) const; - /* 80297E68 */ void setInst(int, JASInst*); - /* 80297E80 */ void getInst(int) const; - /* 80297F0C */ ~JASBasicBank(); - /* 80297F68 */ void getType() const; -}; - -struct JASBank { - /* 80297EC4 */ ~JASBank(); -}; - -// -// Forward References: -// - -extern "C" void __ct__12JASBasicBankFv(); -extern "C" void newInstTable__12JASBasicBankFUcP7JKRHeap(); -extern "C" void getInstParam__12JASBasicBankCFiiiP12JASInstParam(); -extern "C" void setInst__12JASBasicBankFiP7JASInst(); -extern "C" void getInst__12JASBasicBankCFi(); -extern "C" void __dt__7JASBankFv(); -extern "C" void __dt__12JASBasicBankFv(); -extern "C" void getType__12JASBasicBankCFv(); - -// -// External References: -// - -extern "C" void bzero__7JASCalcFPvUl(); -extern "C" void* __nwa__FUlP7JKRHeapi(); -extern "C" void __dl__FPv(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_29(); - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 803C76A8-803C76BC 0247C8 0014+00 2/2 0/0 0/0 .data __vt__12JASBasicBank */ -SECTION_DATA extern void* __vt__12JASBasicBank[5] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12JASBasicBankFv, - (void*)getInstParam__12JASBasicBankCFiiiP12JASInstParam, - (void*)getType__12JASBasicBankCFv, -}; - -/* 803C76BC-803C76D0 0247DC 0014+00 3/3 2/2 0/0 .data __vt__7JASBank */ -SECTION_DATA extern void* __vt__7JASBank[5] = { - (void*)NULL /* RTTI */, (void*)NULL, (void*)__dt__7JASBankFv, (void*)NULL, (void*)NULL, -}; +#include "JSystem/JAudio2/JASCalc.h" /* 80297D78-80297DA4 2926B8 002C+00 0/0 2/2 0/0 .text __ct__12JASBasicBankFv */ JASBasicBank::JASBasicBank() { - // NONMATCHING + mInstTable = NULL; + mInstNumMax = 0; } /* 80297DA4-80297E00 2926E4 005C+00 0/0 2/2 0/0 .text newInstTable__12JASBasicBankFUcP7JKRHeap */ -void JASBasicBank::newInstTable(u8 param_0, JKRHeap* param_1) { - // NONMATCHING +void JASBasicBank::newInstTable(u8 num, JKRHeap* heap) { + if (num != 0) { + mInstNumMax = num; + mInstTable = new (heap, 0) JASInst*[mInstNumMax]; + JASCalc::bzero(mInstTable, mInstNumMax * 4); + } } /* 80297E00-80297E68 292740 0068+00 1/0 0/0 0/0 .text * getInstParam__12JASBasicBankCFiiiP12JASInstParam */ -void JASBasicBank::getInstParam(int param_0, int param_1, int param_2, - JASInstParam* param_3) const { - // NONMATCHING +bool JASBasicBank::getInstParam(int prg_no, int param_1, int param_2, + JASInstParam* o_param) const { + JASInst* inst = getInst(prg_no); + if (inst == NULL) { + return NULL; + } + return inst->getParam(param_1, param_2, o_param); } /* 80297E68-80297E80 2927A8 0018+00 0/0 2/2 0/0 .text setInst__12JASBasicBankFiP7JASInst */ -void JASBasicBank::setInst(int param_0, JASInst* param_1) { - // NONMATCHING +void JASBasicBank::setInst(int prg_no, JASInst* inst) { + if (mInstTable != NULL) { + mInstTable[prg_no] = inst; + } } /* 80297E80-80297EC4 2927C0 0044+00 1/1 1/1 0/0 .text getInst__12JASBasicBankCFi */ -void JASBasicBank::getInst(int param_0) const { - // NONMATCHING -} - -/* 80297EC4-80297F0C 292804 0048+00 1/0 0/0 0/0 .text __dt__7JASBankFv */ -JASBank::~JASBank() { - // NONMATCHING +JASInst* JASBasicBank::getInst(int prg_no) const { + if (prg_no < 0) { + return NULL; + } + if (prg_no >= mInstNumMax) { + return NULL; + } + if (mInstTable == NULL) { + return NULL; + } + return mInstTable[prg_no]; } - -/* 80297F0C-80297F68 29284C 005C+00 1/0 0/0 0/0 .text __dt__12JASBasicBankFv */ -JASBasicBank::~JASBasicBank() { - // NONMATCHING -} - -/* 80297F68-80297F74 2928A8 000C+00 1/0 0/0 0/0 .text getType__12JASBasicBankCFv */ -void JASBasicBank::getType() const { - // NONMATCHING -}
\ No newline at end of file |
