summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjdflyer <jdflyer10@gmail.com>2023-01-01 18:00:01 -0700
committerjdflyer <jdflyer10@gmail.com>2023-01-01 18:00:01 -0700
commitaab727b13f9edecb4424be3afa4ecb3f2b8d5de0 (patch)
tree6ba8f9fda284c06946f9ae33a1dcb98d3c980ab2
parent40469d42a03c02f492305556bfdd8c78a72a5c42 (diff)
JAUBankTable
-rw-r--r--include/JSystem/JAudio2/JASWaveArcLoader.h6
-rw-r--r--include/JSystem/JAudio2/JAUBankTable.h24
-rw-r--r--libs/JSystem/JAudio2/JAUBankTable.cpp58
3 files changed, 31 insertions, 57 deletions
diff --git a/include/JSystem/JAudio2/JASWaveArcLoader.h b/include/JSystem/JAudio2/JASWaveArcLoader.h
index b9f8ba68b3..fc0b2c172a 100644
--- a/include/JSystem/JAudio2/JASWaveArcLoader.h
+++ b/include/JSystem/JAudio2/JASWaveArcLoader.h
@@ -1,16 +1,16 @@
#ifndef JASWAVEARCLOADER_H
#define JASWAVEARCLOADER_H
+#include "dol2asm.h"
#include "dolphin/types.h"
#include "global.h"
-#include "dol2asm.h"
#include "MSL_C/MSL_Common/Src/string.h"
#include "dolphin/os/OSMutex.h"
#include "JSystem/JAudio2/JASDvdThread.h"
-#include "JSystem/JKernel/JKRDvdAramRipper.h"
#include "JSystem/JAudio2/JASHeapCtrl.h"
+#include "JSystem/JKernel/JKRDvdAramRipper.h"
#include "JSystem/JKernel/JKRSolidHeap.h"
struct JASDisposer {
@@ -29,7 +29,7 @@ struct JASHeap : JSUTree<JASHeap> {
/* 802906F0 */ void getTailHeap();
/* 8029077C */ void getTailOffset();
/* 802907E0 */ void getCurOffset();
- /* 80290B54 */ ~JASHeap() {};
+ /* 80290B54 */ ~JASHeap(){};
void* getBase() { return mBase; }
/*0x1c*/ OSMutex mMutex;
diff --git a/include/JSystem/JAudio2/JAUBankTable.h b/include/JSystem/JAudio2/JAUBankTable.h
index 96f0360a8c..c441f8ff30 100644
--- a/include/JSystem/JAudio2/JAUBankTable.h
+++ b/include/JSystem/JAudio2/JAUBankTable.h
@@ -1,6 +1,30 @@
#ifndef JAUBANKTABLE_H
#define JAUBANKTABLE_H
+#include "JSystem/JSupport/JSUList.h"
#include "dolphin/types.h"
+template <typename T>
+struct JASPtrTable {
+ T* get(u32 value) const {
+ if (value >= mLength) {
+ return NULL;
+ }
+ return mTable[value];
+ }
+ T** mTable;
+ u32 mLength;
+};
+
+struct JASBank;
+struct JAUBankTable {
+ /* 802A4AA0 */ /*virtual*/ JASBank* getBank(u32) const;
+ /* 0x0 */ void* vtable;
+ /* 0x4 */ JASPtrTable<JASBank> mBankPtrTable;
+};
+
+struct JAUBankTableDictionary : JSUList<JAUBankTable> {
+ /* 802A4A80 */ void appendBankTable(JSULink<JAUBankTable>*);
+};
+
#endif /* JAUBANKTABLE_H */
diff --git a/libs/JSystem/JAudio2/JAUBankTable.cpp b/libs/JSystem/JAudio2/JAUBankTable.cpp
index ae28058b26..23215ad725 100644
--- a/libs/JSystem/JAudio2/JAUBankTable.cpp
+++ b/libs/JSystem/JAudio2/JAUBankTable.cpp
@@ -7,63 +7,13 @@
#include "dol2asm.h"
#include "dolphin/types.h"
-//
-// Types:
-//
-
-struct JSUPtrLink {};
-
-struct JSUPtrList {
- /* 802DBF4C */ void append(JSUPtrLink*);
-};
-
-template <typename A0>
-struct JSULink {};
-/* JSULink<JAUBankTable> */
-struct JSULink__template0 {};
-
-struct JAUBankTable {
- /* 802A4AA0 */ void getBank(u32) const;
-};
-
-struct JAUBankTableDictionary {
- /* 802A4A80 */ void appendBankTable(JSULink<JAUBankTable>*);
-};
-
-//
-// Forward References:
-//
-
-extern "C" void func_802A4A80();
-extern "C" void getBank__12JAUBankTableCFUl();
-
-//
-// External References:
-//
-
-extern "C" void append__10JSUPtrListFP10JSUPtrLink();
-
-//
-// Declarations:
-//
-
/* 802A4A80-802A4AA0 29F3C0 0020+00 0/0 1/1 0/0 .text
* appendBankTable__22JAUBankTableDictionaryFP23JSULink<12JAUBankTable> */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void JAUBankTableDictionary::appendBankTable(JSULink<JAUBankTable>* param_0) {
- nofralloc
-#include "asm/JSystem/JAudio2/JAUBankTable/func_802A4A80.s"
+void JAUBankTableDictionary::appendBankTable(JSULink<JAUBankTable>* bankTableList) {
+ append(bankTableList);
}
-#pragma pop
/* 802A4AA0-802A4AC4 29F3E0 0024+00 0/0 2/0 0/0 .text getBank__12JAUBankTableCFUl */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void JAUBankTable::getBank(u32 param_0) const {
- nofralloc
-#include "asm/JSystem/JAudio2/JAUBankTable/getBank__12JAUBankTableCFUl.s"
+JASBank* JAUBankTable::getBank(u32 bank) const {
+ return mBankPtrTable.get(bank);
}
-#pragma pop