summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhatal175 <hatal175@users.noreply.github.com>2024-01-09 01:19:07 +0200
committerGitHub <noreply@github.com>2024-01-08 15:19:07 -0800
commit28bef08667e3e1ef9eb85a8a96cb23af700afe02 (patch)
treeff43e05e48a69c869a144a53d1bf3c1aea5eb88e
parent40dae638a7c0b7e967eda55d3aa1089163213c5d (diff)
Work on Audio, JAUSeqDataBlockMgr OK (#2027)
-rw-r--r--asm/JSystem/JAudio2/JASWSParser/createWaveBank__11JASWSParserFPCvP7JKRHeap.s26
-rw-r--r--asm/JSystem/JAudio2/JAUSeqDataBlockMgr/JAUDynamicSeqDataBlocks_receiveLoaded___FUlUl.s11
-rw-r--r--asm/JSystem/JAudio2/JAUSeqDataBlockMgr/__ct__15JAUSeqDataBlockFv.s14
-rw-r--r--asm/JSystem/JAudio2/JAUSeqDataBlockMgr/__ct__23JAUDynamicSeqDataBlocksFv.s19
-rw-r--r--asm/JSystem/JAudio2/JAUSeqDataBlockMgr/appendDynamicSeqDataBlock__23JAUDynamicSeqDataBlocksFP15JAUSeqDataBlock.s29
-rw-r--r--asm/JSystem/JAudio2/JAUSeqDataBlockMgr/func_802A69D8.s9
-rw-r--r--asm/JSystem/JAudio2/JAUSeqDataBlockMgr/func_802A69F8.s9
-rw-r--r--asm/JSystem/JAudio2/JAUSeqDataBlockMgr/func_802A6AA8.s62
-rw-r--r--asm/JSystem/JAudio2/JAUSeqDataBlockMgr/getSeqData__16JAUSeqDataBlocksF10JAISoundID.s24
-rw-r--r--asm/JSystem/JAudio2/JAUSeqDataBlockMgr/hasFailedBlock__16JAUSeqDataBlocksF10JAISoundID.s20
-rw-r--r--asm/JSystem/JAudio2/JAUSeqDataBlockMgr/loadDynamicSeq__23JAUDynamicSeqDataBlocksF10JAISoundIDbP14JAISeqDataUser.s82
-rw-r--r--asm/JSystem/JAudio2/JAUSeqDataBlockMgr/rearrangeLoadingSeqs___23JAUDynamicSeqDataBlocksFv.s42
-rw-r--r--asm/JSystem/JAudio2/JAUSeqDataBlockMgr/releaseIdleDynamicSeqDataBlock__23JAUDynamicSeqDataBlocksFP14JAISeqDataUser.s52
-rw-r--r--asm/JSystem/JAudio2/JAUSeqDataBlockMgr/releaseIdleDynamicSeqDataBlock___23JAUDynamicSeqDataBlocksFP14JAISeqDataUserUl.s62
-rw-r--r--asm/JSystem/JAudio2/JAUSeqDataBlockMgr/seekFreeBlock__16JAUSeqDataBlocksFUl.s30
-rw-r--r--asm/Z2AudioLib/Z2Audience/__dt__10Z2AudienceFv.s39
-rw-r--r--asm/Z2AudioLib/Z2AudioArcLoader/__ct__16Z2AudioArcLoaderFP10JAUSection.s16
-rw-r--r--asm/Z2AudioLib/Z2AudioArcLoader/__dt__16Z2AudioArcLoaderFv.s31
-rw-r--r--asm/Z2AudioLib/Z2AudioArcLoader/readCommandMore__16Z2AudioArcLoaderFUl.s25
-rw-r--r--include/JSystem/JAudio2/JAISeqDataMgr.h8
-rw-r--r--include/JSystem/JAudio2/JASBasicWaveBank.h1
-rw-r--r--include/JSystem/JAudio2/JASHeapCtrl.h2
-rw-r--r--include/JSystem/JAudio2/JASWSParser.h72
-rw-r--r--include/JSystem/JAudio2/JAUAudioArcLoader.h2
-rw-r--r--include/JSystem/JAudio2/JAUSectionHeap.h6
-rw-r--r--include/JSystem/JAudio2/JAUSeqDataBlockMgr.h18
-rw-r--r--include/JSystem/JKernel/JKRArchive.h4
-rw-r--r--include/Z2AudioLib/Z2AudioArcLoader.h2
-rw-r--r--libs/JSystem/JAudio2/JASHeapCtrl.cpp3
-rw-r--r--libs/JSystem/JAudio2/JASWSParser.cpp76
-rw-r--r--libs/JSystem/JAudio2/JAUAudioArcLoader.cpp3
-rw-r--r--libs/JSystem/JAudio2/JAUSectionHeap.cpp12
-rw-r--r--libs/JSystem/JAudio2/JAUSeqCollection.cpp4
-rw-r--r--libs/JSystem/JAudio2/JAUSeqDataBlockMgr.cpp347
-rw-r--r--libs/JSystem/JAudio2/JAUSoundTable.cpp3
-rw-r--r--libs/Z2AudioLib/Z2Audience.cpp12
-rw-r--r--libs/Z2AudioLib/Z2AudioArcLoader.cpp96
-rw-r--r--obj_files.mk2
38 files changed, 344 insertions, 931 deletions
diff --git a/asm/JSystem/JAudio2/JASWSParser/createWaveBank__11JASWSParserFPCvP7JKRHeap.s b/asm/JSystem/JAudio2/JASWSParser/createWaveBank__11JASWSParserFPCvP7JKRHeap.s
deleted file mode 100644
index 0e4d489144..0000000000
--- a/asm/JSystem/JAudio2/JASWSParser/createWaveBank__11JASWSParserFPCvP7JKRHeap.s
+++ /dev/null
@@ -1,26 +0,0 @@
-lbl_80298FD8:
-/* 80298FD8 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 80298FDC 7C 08 02 A6 */ mflr r0
-/* 80298FE0 90 01 00 14 */ stw r0, 0x14(r1)
-/* 80298FE4 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 80298FE8 93 C1 00 08 */ stw r30, 8(r1)
-/* 80298FEC 7C 7E 1B 78 */ mr r30, r3
-/* 80298FF0 7C 9F 23 78 */ mr r31, r4
-/* 80298FF4 4B FF FF BD */ bl getGroupCount__11JASWSParserFPCv
-/* 80298FF8 28 03 00 01 */ cmplwi r3, 1
-/* 80298FFC 40 82 00 14 */ bne lbl_80299010
-/* 80299000 7F C3 F3 78 */ mr r3, r30
-/* 80299004 7F E4 FB 78 */ mr r4, r31
-/* 80299008 48 00 02 5D */ bl createSimpleWaveBank__11JASWSParserFPCvP7JKRHeap
-/* 8029900C 48 00 00 10 */ b lbl_8029901C
-lbl_80299010:
-/* 80299010 7F C3 F3 78 */ mr r3, r30
-/* 80299014 7F E4 FB 78 */ mr r4, r31
-/* 80299018 48 00 00 1D */ bl createBasicWaveBank__11JASWSParserFPCvP7JKRHeap
-lbl_8029901C:
-/* 8029901C 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 80299020 83 C1 00 08 */ lwz r30, 8(r1)
-/* 80299024 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 80299028 7C 08 03 A6 */ mtlr r0
-/* 8029902C 38 21 00 10 */ addi r1, r1, 0x10
-/* 80299030 4E 80 00 20 */ blr
diff --git a/asm/JSystem/JAudio2/JAUSeqDataBlockMgr/JAUDynamicSeqDataBlocks_receiveLoaded___FUlUl.s b/asm/JSystem/JAudio2/JAUSeqDataBlockMgr/JAUDynamicSeqDataBlocks_receiveLoaded___FUlUl.s
deleted file mode 100644
index d87d019b4c..0000000000
--- a/asm/JSystem/JAudio2/JAUSeqDataBlockMgr/JAUDynamicSeqDataBlocks_receiveLoaded___FUlUl.s
+++ /dev/null
@@ -1,11 +0,0 @@
-lbl_802A6BF4:
-/* 802A6BF4 80 84 00 00 */ lwz r4, 0(r4)
-/* 802A6BF8 28 03 00 00 */ cmplwi r3, 0
-/* 802A6BFC 41 82 00 10 */ beq lbl_802A6C0C
-/* 802A6C00 38 00 00 02 */ li r0, 2
-/* 802A6C04 90 04 00 1C */ stw r0, 0x1c(r4)
-/* 802A6C08 4E 80 00 20 */ blr
-lbl_802A6C0C:
-/* 802A6C0C 38 00 00 00 */ li r0, 0
-/* 802A6C10 90 04 00 1C */ stw r0, 0x1c(r4)
-/* 802A6C14 4E 80 00 20 */ blr
diff --git a/asm/JSystem/JAudio2/JAUSeqDataBlockMgr/__ct__15JAUSeqDataBlockFv.s b/asm/JSystem/JAudio2/JAUSeqDataBlockMgr/__ct__15JAUSeqDataBlockFv.s
deleted file mode 100644
index a9774f96ac..0000000000
--- a/asm/JSystem/JAudio2/JAUSeqDataBlockMgr/__ct__15JAUSeqDataBlockFv.s
+++ /dev/null
@@ -1,14 +0,0 @@
-lbl_802A68F4:
-/* 802A68F4 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 802A68F8 7C 08 02 A6 */ mflr r0
-/* 802A68FC 90 01 00 14 */ stw r0, 0x14(r1)
-/* 802A6900 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 802A6904 7C 7F 1B 78 */ mr r31, r3
-/* 802A6908 7F E4 FB 78 */ mr r4, r31
-/* 802A690C 48 03 54 F1 */ bl __ct__10JSUPtrLinkFPv
-/* 802A6910 7F E3 FB 78 */ mr r3, r31
-/* 802A6914 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 802A6918 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 802A691C 7C 08 03 A6 */ mtlr r0
-/* 802A6920 38 21 00 10 */ addi r1, r1, 0x10
-/* 802A6924 4E 80 00 20 */ blr
diff --git a/asm/JSystem/JAudio2/JAUSeqDataBlockMgr/__ct__23JAUDynamicSeqDataBlocksFv.s b/asm/JSystem/JAudio2/JAUSeqDataBlockMgr/__ct__23JAUDynamicSeqDataBlocksFv.s
deleted file mode 100644
index 18f51360fe..0000000000
--- a/asm/JSystem/JAudio2/JAUSeqDataBlockMgr/__ct__23JAUDynamicSeqDataBlocksFv.s
+++ /dev/null
@@ -1,19 +0,0 @@
-lbl_802A6A58:
-/* 802A6A58 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 802A6A5C 7C 08 02 A6 */ mflr r0
-/* 802A6A60 90 01 00 14 */ stw r0, 0x14(r1)
-/* 802A6A64 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 802A6A68 7C 7F 1B 78 */ mr r31, r3
-/* 802A6A6C 48 03 54 A9 */ bl initiate__10JSUPtrListFv
-/* 802A6A70 38 7F 00 0C */ addi r3, r31, 0xc
-/* 802A6A74 48 03 54 A1 */ bl initiate__10JSUPtrListFv
-/* 802A6A78 38 7F 00 18 */ addi r3, r31, 0x18
-/* 802A6A7C 48 03 54 99 */ bl initiate__10JSUPtrListFv
-/* 802A6A80 38 00 00 00 */ li r0, 0
-/* 802A6A84 90 1F 00 24 */ stw r0, 0x24(r31)
-/* 802A6A88 7F E3 FB 78 */ mr r3, r31
-/* 802A6A8C 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 802A6A90 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 802A6A94 7C 08 03 A6 */ mtlr r0
-/* 802A6A98 38 21 00 10 */ addi r1, r1, 0x10
-/* 802A6A9C 4E 80 00 20 */ blr
diff --git a/asm/JSystem/JAudio2/JAUSeqDataBlockMgr/appendDynamicSeqDataBlock__23JAUDynamicSeqDataBlocksFP15JAUSeqDataBlock.s b/asm/JSystem/JAudio2/JAUSeqDataBlockMgr/appendDynamicSeqDataBlock__23JAUDynamicSeqDataBlocksFP15JAUSeqDataBlock.s
deleted file mode 100644
index d729a9c410..0000000000
--- a/asm/JSystem/JAudio2/JAUSeqDataBlockMgr/appendDynamicSeqDataBlock__23JAUDynamicSeqDataBlocksFP15JAUSeqDataBlock.s
+++ /dev/null
@@ -1,29 +0,0 @@
-lbl_802A6B8C:
-/* 802A6B8C 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 802A6B90 7C 08 02 A6 */ mflr r0
-/* 802A6B94 90 01 00 14 */ stw r0, 0x14(r1)
-/* 802A6B98 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 802A6B9C 93 C1 00 08 */ stw r30, 8(r1)
-/* 802A6BA0 7C 7E 1B 78 */ mr r30, r3
-/* 802A6BA4 7C 9F 23 78 */ mr r31, r4
-/* 802A6BA8 48 00 03 35 */ bl rearrangeLoadingSeqs___23JAUDynamicSeqDataBlocksFv
-/* 802A6BAC 80 7F 00 10 */ lwz r3, 0x10(r31)
-/* 802A6BB0 3C 03 00 01 */ addis r0, r3, 1
-/* 802A6BB4 28 00 FF FF */ cmplwi r0, 0xffff
-/* 802A6BB8 40 82 00 14 */ bne lbl_802A6BCC
-/* 802A6BBC 7F C3 F3 78 */ mr r3, r30
-/* 802A6BC0 7F E4 FB 78 */ mr r4, r31
-/* 802A6BC4 4B FF FE 15 */ bl func_802A69D8
-/* 802A6BC8 48 00 00 10 */ b lbl_802A6BD8
-lbl_802A6BCC:
-/* 802A6BCC 38 7E 00 18 */ addi r3, r30, 0x18
-/* 802A6BD0 7F E4 FB 78 */ mr r4, r31
-/* 802A6BD4 4B FF FE 05 */ bl func_802A69D8
-lbl_802A6BD8:
-/* 802A6BD8 38 60 00 01 */ li r3, 1
-/* 802A6BDC 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 802A6BE0 83 C1 00 08 */ lwz r30, 8(r1)
-/* 802A6BE4 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 802A6BE8 7C 08 03 A6 */ mtlr r0
-/* 802A6BEC 38 21 00 10 */ addi r1, r1, 0x10
-/* 802A6BF0 4E 80 00 20 */ blr
diff --git a/asm/JSystem/JAudio2/JAUSeqDataBlockMgr/func_802A69D8.s b/asm/JSystem/JAudio2/JAUSeqDataBlockMgr/func_802A69D8.s
deleted file mode 100644
index 3b8c822c8e..0000000000
--- a/asm/JSystem/JAudio2/JAUSeqDataBlockMgr/func_802A69D8.s
+++ /dev/null
@@ -1,9 +0,0 @@
-lbl_802A69D8:
-/* 802A69D8 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 802A69DC 7C 08 02 A6 */ mflr r0
-/* 802A69E0 90 01 00 14 */ stw r0, 0x14(r1)
-/* 802A69E4 48 03 55 69 */ bl append__10JSUPtrListFP10JSUPtrLink
-/* 802A69E8 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 802A69EC 7C 08 03 A6 */ mtlr r0
-/* 802A69F0 38 21 00 10 */ addi r1, r1, 0x10
-/* 802A69F4 4E 80 00 20 */ blr
diff --git a/asm/JSystem/JAudio2/JAUSeqDataBlockMgr/func_802A69F8.s b/asm/JSystem/JAudio2/JAUSeqDataBlockMgr/func_802A69F8.s
deleted file mode 100644
index 0f45a37b8f..0000000000
--- a/asm/JSystem/JAudio2/JAUSeqDataBlockMgr/func_802A69F8.s
+++ /dev/null
@@ -1,9 +0,0 @@
-lbl_802A69F8:
-/* 802A69F8 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 802A69FC 7C 08 02 A6 */ mflr r0
-/* 802A6A00 90 01 00 14 */ stw r0, 0x14(r1)
-/* 802A6A04 48 03 57 59 */ bl remove__10JSUPtrListFP10JSUPtrLink
-/* 802A6A08 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 802A6A0C 7C 08 03 A6 */ mtlr r0
-/* 802A6A10 38 21 00 10 */ addi r1, r1, 0x10
-/* 802A6A14 4E 80 00 20 */ blr
diff --git a/asm/JSystem/JAudio2/JAUSeqDataBlockMgr/func_802A6AA8.s b/asm/JSystem/JAudio2/JAUSeqDataBlockMgr/func_802A6AA8.s
deleted file mode 100644
index 5c689b6b26..0000000000
--- a/asm/JSystem/JAudio2/JAUSeqDataBlockMgr/func_802A6AA8.s
+++ /dev/null
@@ -1,62 +0,0 @@
-lbl_802A6AA8:
-/* 802A6AA8 94 21 FF D0 */ stwu r1, -0x30(r1)
-/* 802A6AAC 7C 08 02 A6 */ mflr r0
-/* 802A6AB0 90 01 00 34 */ stw r0, 0x34(r1)
-/* 802A6AB4 39 61 00 30 */ addi r11, r1, 0x30
-/* 802A6AB8 48 0B B7 1D */ bl _savegpr_27
-/* 802A6ABC 7C 7B 1B 78 */ mr r27, r3
-/* 802A6AC0 7C 9C 23 78 */ mr r28, r4
-/* 802A6AC4 7C BD 2B 78 */ mr r29, r5
-/* 802A6AC8 7C DE 33 78 */ mr r30, r6
-/* 802A6ACC 7C FF 3B 78 */ mr r31, r7
-/* 802A6AD0 48 00 04 0D */ bl rearrangeLoadingSeqs___23JAUDynamicSeqDataBlocksFv
-/* 802A6AD4 80 1C 00 00 */ lwz r0, 0(r28)
-/* 802A6AD8 90 01 00 14 */ stw r0, 0x14(r1)
-/* 802A6ADC 7F 63 DB 78 */ mr r3, r27
-/* 802A6AE0 38 81 00 14 */ addi r4, r1, 0x14
-/* 802A6AE4 4B FF FF 35 */ bl hasFailedBlock__16JAUSeqDataBlocksF10JAISoundID
-/* 802A6AE8 54 60 06 3F */ clrlwi. r0, r3, 0x18
-/* 802A6AEC 41 82 00 0C */ beq lbl_802A6AF8
-/* 802A6AF0 38 60 00 00 */ li r3, 0
-/* 802A6AF4 48 00 00 80 */ b lbl_802A6B74
-lbl_802A6AF8:
-/* 802A6AF8 80 1C 00 00 */ lwz r0, 0(r28)
-/* 802A6AFC 90 01 00 10 */ stw r0, 0x10(r1)
-/* 802A6B00 38 7B 00 0C */ addi r3, r27, 0xc
-/* 802A6B04 38 81 00 10 */ addi r4, r1, 0x10
-/* 802A6B08 4B FF FE 21 */ bl getSeqData__16JAUSeqDataBlocksF10JAISoundID
-/* 802A6B0C 28 03 00 00 */ cmplwi r3, 0
-/* 802A6B10 41 82 00 0C */ beq lbl_802A6B1C
-/* 802A6B14 38 60 00 01 */ li r3, 1
-/* 802A6B18 48 00 00 5C */ b lbl_802A6B74
-lbl_802A6B1C:
-/* 802A6B1C 80 1C 00 00 */ lwz r0, 0(r28)
-/* 802A6B20 90 01 00 0C */ stw r0, 0xc(r1)
-/* 802A6B24 38 7B 00 18 */ addi r3, r27, 0x18
-/* 802A6B28 38 81 00 0C */ addi r4, r1, 0xc
-/* 802A6B2C 4B FF FD FD */ bl getSeqData__16JAUSeqDataBlocksF10JAISoundID
-/* 802A6B30 28 03 00 00 */ cmplwi r3, 0
-/* 802A6B34 41 82 00 18 */ beq lbl_802A6B4C
-/* 802A6B38 90 7E 00 00 */ stw r3, 0(r30)
-/* 802A6B3C 38 00 00 00 */ li r0, 0
-/* 802A6B40 90 1E 00 04 */ stw r0, 4(r30)
-/* 802A6B44 38 60 00 02 */ li r3, 2
-/* 802A6B48 48 00 00 2C */ b lbl_802A6B74
-lbl_802A6B4C:
-/* 802A6B4C 80 1C 00 00 */ lwz r0, 0(r28)
-/* 802A6B50 90 01 00 08 */ stw r0, 8(r1)
-/* 802A6B54 7F 63 DB 78 */ mr r3, r27
-/* 802A6B58 38 81 00 08 */ addi r4, r1, 8
-/* 802A6B5C 7F E5 FB 78 */ mr r5, r31
-/* 802A6B60 7F A6 EB 78 */ mr r6, r29
-/* 802A6B64 48 00 00 B5 */ bl loadDynamicSeq__23JAUDynamicSeqDataBlocksF10JAISoundIDbP14JAISeqDataUser
-/* 802A6B68 54 63 06 3E */ clrlwi r3, r3, 0x18
-/* 802A6B6C 30 03 FF FF */ addic r0, r3, -1
-/* 802A6B70 7C 60 19 10 */ subfe r3, r0, r3
-lbl_802A6B74:
-/* 802A6B74 39 61 00 30 */ addi r11, r1, 0x30
-/* 802A6B78 48 0B B6 A9 */ bl _restgpr_27
-/* 802A6B7C 80 01 00 34 */ lwz r0, 0x34(r1)
-/* 802A6B80 7C 08 03 A6 */ mtlr r0
-/* 802A6B84 38 21 00 30 */ addi r1, r1, 0x30
-/* 802A6B88 4E 80 00 20 */ blr
diff --git a/asm/JSystem/JAudio2/JAUSeqDataBlockMgr/getSeqData__16JAUSeqDataBlocksF10JAISoundID.s b/asm/JSystem/JAudio2/JAUSeqDataBlockMgr/getSeqData__16JAUSeqDataBlocksF10JAISoundID.s
deleted file mode 100644
index 8f54c0e093..0000000000
--- a/asm/JSystem/JAudio2/JAUSeqDataBlockMgr/getSeqData__16JAUSeqDataBlocksF10JAISoundID.s
+++ /dev/null
@@ -1,24 +0,0 @@
-lbl_802A6928:
-/* 802A6928 80 84 00 00 */ lwz r4, 0(r4)
-/* 802A692C 3C 04 00 01 */ addis r0, r4, 1
-/* 802A6930 28 00 FF FF */ cmplwi r0, 0xffff
-/* 802A6934 40 82 00 0C */ bne lbl_802A6940
-/* 802A6938 38 60 00 00 */ li r3, 0
-/* 802A693C 4E 80 00 20 */ blr
-lbl_802A6940:
-/* 802A6940 80 A3 00 00 */ lwz r5, 0(r3)
-/* 802A6944 48 00 00 20 */ b lbl_802A6964
-lbl_802A6948:
-/* 802A6948 80 65 00 00 */ lwz r3, 0(r5)
-/* 802A694C 80 03 00 10 */ lwz r0, 0x10(r3)
-/* 802A6950 7C 00 20 40 */ cmplw r0, r4
-/* 802A6954 40 82 00 0C */ bne lbl_802A6960
-/* 802A6958 80 63 00 14 */ lwz r3, 0x14(r3)
-/* 802A695C 4E 80 00 20 */ blr
-lbl_802A6960:
-/* 802A6960 80 A5 00 0C */ lwz r5, 0xc(r5)
-lbl_802A6964:
-/* 802A6964 28 05 00 00 */ cmplwi r5, 0
-/* 802A6968 40 82 FF E0 */ bne lbl_802A6948
-/* 802A696C 38 60 00 00 */ li r3, 0
-/* 802A6970 4E 80 00 20 */ blr
diff --git a/asm/JSystem/JAudio2/JAUSeqDataBlockMgr/hasFailedBlock__16JAUSeqDataBlocksF10JAISoundID.s b/asm/JSystem/JAudio2/JAUSeqDataBlockMgr/hasFailedBlock__16JAUSeqDataBlocksF10JAISoundID.s
deleted file mode 100644
index 379c10093e..0000000000
--- a/asm/JSystem/JAudio2/JAUSeqDataBlockMgr/hasFailedBlock__16JAUSeqDataBlocksF10JAISoundID.s
+++ /dev/null
@@ -1,20 +0,0 @@
-lbl_802A6A18:
-/* 802A6A18 80 A3 00 00 */ lwz r5, 0(r3)
-/* 802A6A1C 80 04 00 00 */ lwz r0, 0(r4)
-/* 802A6A20 48 00 00 28 */ b lbl_802A6A48
-lbl_802A6A24:
-/* 802A6A24 80 65 00 00 */ lwz r3, 0(r5)
-/* 802A6A28 80 83 00 10 */ lwz r4, 0x10(r3)
-/* 802A6A2C 7C 04 00 40 */ cmplw r4, r0
-/* 802A6A30 40 82 00 14 */ bne lbl_802A6A44
-/* 802A6A34 38 00 FF FF */ li r0, -1
-/* 802A6A38 90 03 00 10 */ stw r0, 0x10(r3)
-/* 802A6A3C 38 60 00 01 */ li r3, 1
-/* 802A6A40 4E 80 00 20 */ blr
-lbl_802A6A44:
-/* 802A6A44 80 A5 00 0C */ lwz r5, 0xc(r5)
-lbl_802A6A48:
-/* 802A6A48 28 05 00 00 */ cmplwi r5, 0
-/* 802A6A4C 40 82 FF D8 */ bne lbl_802A6A24
-/* 802A6A50 38 60 00 00 */ li r3, 0
-/* 802A6A54 4E 80 00 20 */ blr
diff --git a/asm/JSystem/JAudio2/JAUSeqDataBlockMgr/loadDynamicSeq__23JAUDynamicSeqDataBlocksF10JAISoundIDbP14JAISeqDataUser.s b/asm/JSystem/JAudio2/JAUSeqDataBlockMgr/loadDynamicSeq__23JAUDynamicSeqDataBlocksF10JAISoundIDbP14JAISeqDataUser.s
deleted file mode 100644
index d7d8fb48dc..0000000000
--- a/asm/JSystem/JAudio2/JAUSeqDataBlockMgr/loadDynamicSeq__23JAUDynamicSeqDataBlocksF10JAISoundIDbP14JAISeqDataUser.s
+++ /dev/null
@@ -1,82 +0,0 @@
-lbl_802A6C18:
-/* 802A6C18 94 21 FF D0 */ stwu r1, -0x30(r1)
-/* 802A6C1C 7C 08 02 A6 */ mflr r0
-/* 802A6C20 90 01 00 34 */ stw r0, 0x34(r1)
-/* 802A6C24 39 61 00 30 */ addi r11, r1, 0x30
-/* 802A6C28 48 0B B5 A5 */ bl _savegpr_25
-/* 802A6C2C 7C 7F 1B 78 */ mr r31, r3
-/* 802A6C30 7C 99 23 78 */ mr r25, r4
-/* 802A6C34 7C BA 2B 78 */ mr r26, r5
-/* 802A6C38 7C DB 33 78 */ mr r27, r6
-/* 802A6C3C 80 03 00 24 */ lwz r0, 0x24(r3)
-/* 802A6C40 28 00 00 00 */ cmplwi r0, 0
-/* 802A6C44 40 82 00 0C */ bne lbl_802A6C50
-/* 802A6C48 38 60 00 00 */ li r3, 0
-/* 802A6C4C 48 00 00 E4 */ b lbl_802A6D30
-lbl_802A6C50:
-/* 802A6C50 80 6D 85 D0 */ lwz r3, __OSReport_disable-0x48(r13)
-/* 802A6C54 28 03 00 00 */ cmplwi r3, 0
-/* 802A6C58 40 82 00 0C */ bne lbl_802A6C64
-/* 802A6C5C 38 60 00 00 */ li r3, 0
-/* 802A6C60 48 00 00 D0 */ b lbl_802A6D30
-lbl_802A6C64:
-/* 802A6C64 80 19 00 00 */ lwz r0, 0(r25)
-/* 802A6C68 90 01 00 08 */ stw r0, 8(r1)
-/* 802A6C6C 38 81 00 08 */ addi r4, r1, 8
-/* 802A6C70 81 83 00 00 */ lwz r12, 0(r3)
-/* 802A6C74 81 8C 00 0C */ lwz r12, 0xc(r12)
-/* 802A6C78 7D 89 03 A6 */ mtctr r12
-/* 802A6C7C 4E 80 04 21 */ bctrl
-/* 802A6C80 7C 7E 1B 78 */ mr r30, r3
-/* 802A6C84 80 7F 00 24 */ lwz r3, 0x24(r31)
-/* 802A6C88 7F C4 F3 78 */ mr r4, r30
-/* 802A6C8C 4B FE 9F 45 */ bl getResSize__15JASResArcLoaderFPC10JKRArchiveUs
-/* 802A6C90 7C 7D 1B 78 */ mr r29, r3
-/* 802A6C94 7F E3 FB 78 */ mr r3, r31
-/* 802A6C98 7F A4 EB 78 */ mr r4, r29
-/* 802A6C9C 4B FF FC D9 */ bl seekFreeBlock__16JAUSeqDataBlocksFUl
-/* 802A6CA0 7C 7C 1B 79 */ or. r28, r3, r3
-/* 802A6CA4 40 82 00 34 */ bne lbl_802A6CD8
-/* 802A6CA8 57 40 06 3F */ clrlwi. r0, r26, 0x18
-/* 802A6CAC 41 82 00 24 */ beq lbl_802A6CD0
-/* 802A6CB0 7F E3 FB 78 */ mr r3, r31
-/* 802A6CB4 7F 64 DB 78 */ mr r4, r27
-/* 802A6CB8 7F A5 EB 78 */ mr r5, r29
-/* 802A6CBC 48 00 01 45 */ bl releaseIdleDynamicSeqDataBlock___23JAUDynamicSeqDataBlocksFP14JAISeqDataUserUl
-/* 802A6CC0 7C 7C 1B 79 */ or. r28, r3, r3
-/* 802A6CC4 40 82 00 14 */ bne lbl_802A6CD8
-/* 802A6CC8 38 60 00 00 */ li r3, 0
-/* 802A6CCC 48 00 00 64 */ b lbl_802A6D30
-lbl_802A6CD0:
-/* 802A6CD0 38 60 00 00 */ li r3, 0
-/* 802A6CD4 48 00 00 5C */ b lbl_802A6D30
-lbl_802A6CD8:
-/* 802A6CD8 7F E3 FB 78 */ mr r3, r31
-/* 802A6CDC 7F 84 E3 78 */ mr r4, r28
-/* 802A6CE0 4B FF FD 19 */ bl func_802A69F8
-/* 802A6CE4 80 7C 00 00 */ lwz r3, 0(r28)
-/* 802A6CE8 80 19 00 00 */ lwz r0, 0(r25)
-/* 802A6CEC 90 03 00 10 */ stw r0, 0x10(r3)
-/* 802A6CF0 38 00 00 01 */ li r0, 1
-/* 802A6CF4 80 7C 00 00 */ lwz r3, 0(r28)
-/* 802A6CF8 90 03 00 1C */ stw r0, 0x1c(r3)
-/* 802A6CFC 38 7F 00 0C */ addi r3, r31, 0xc
-/* 802A6D00 7F 84 E3 78 */ mr r4, r28
-/* 802A6D04 4B FF FC D5 */ bl func_802A69D8
-/* 802A6D08 80 DC 00 00 */ lwz r6, 0(r28)
-/* 802A6D0C 80 7F 00 24 */ lwz r3, 0x24(r31)
-/* 802A6D10 7F C4 F3 78 */ mr r4, r30
-/* 802A6D14 80 A6 00 14 */ lwz r5, 0x14(r6)
-/* 802A6D18 80 C6 00 18 */ lwz r6, 0x18(r6)
-/* 802A6D1C 3C E0 80 2A */ lis r7, JAUDynamicSeqDataBlocks_receiveLoaded___FUlUl@ha /* 0x802A6BF4@ha */
-/* 802A6D20 38 E7 6B F4 */ addi r7, r7, JAUDynamicSeqDataBlocks_receiveLoaded___FUlUl@l /* 0x802A6BF4@l */
-/* 802A6D24 7F 88 E3 78 */ mr r8, r28
-/* 802A6D28 4B FE 9F F1 */ bl loadResourceAsync__15JASResArcLoaderFP10JKRArchiveUsPUcUlPFUlUl_vUl
-/* 802A6D2C 38 60 00 01 */ li r3, 1
-lbl_802A6D30:
-/* 802A6D30 39 61 00 30 */ addi r11, r1, 0x30
-/* 802A6D34 48 0B B4 E5 */ bl _restgpr_25
-/* 802A6D38 80 01 00 34 */ lwz r0, 0x34(r1)
-/* 802A6D3C 7C 08 03 A6 */ mtlr r0
-/* 802A6D40 38 21 00 30 */ addi r1, r1, 0x30
-/* 802A6D44 4E 80 00 20 */ blr
diff --git a/asm/JSystem/JAudio2/JAUSeqDataBlockMgr/rearrangeLoadingSeqs___23JAUDynamicSeqDataBlocksFv.s b/asm/JSystem/JAudio2/JAUSeqDataBlockMgr/rearrangeLoadingSeqs___23JAUDynamicSeqDataBlocksFv.s
deleted file mode 100644
index dafe0f62f0..0000000000
--- a/asm/JSystem/JAudio2/JAUSeqDataBlockMgr/rearrangeLoadingSeqs___23JAUDynamicSeqDataBlocksFv.s
+++ /dev/null
@@ -1,42 +0,0 @@
-lbl_802A6EDC:
-/* 802A6EDC 94 21 FF E0 */ stwu r1, -0x20(r1)
-/* 802A6EE0 7C 08 02 A6 */ mflr r0
-/* 802A6EE4 90 01 00 24 */ stw r0, 0x24(r1)
-/* 802A6EE8 39 61 00 20 */ addi r11, r1, 0x20
-/* 802A6EEC 48 0B B2 F1 */ bl _savegpr_29
-/* 802A6EF0 7C 7D 1B 78 */ mr r29, r3
-/* 802A6EF4 83 C3 00 0C */ lwz r30, 0xc(r3)
-/* 802A6EF8 48 00 00 58 */ b lbl_802A6F50
-lbl_802A6EFC:
-/* 802A6EFC 83 FE 00 0C */ lwz r31, 0xc(r30)
-/* 802A6F00 80 7E 00 00 */ lwz r3, 0(r30)
-/* 802A6F04 80 03 00 1C */ lwz r0, 0x1c(r3)
-/* 802A6F08 2C 00 00 00 */ cmpwi r0, 0
-/* 802A6F0C 40 82 00 20 */ bne lbl_802A6F2C
-/* 802A6F10 38 7D 00 0C */ addi r3, r29, 0xc
-/* 802A6F14 7F C4 F3 78 */ mr r4, r30
-/* 802A6F18 4B FF FA E1 */ bl func_802A69F8
-/* 802A6F1C 7F A3 EB 78 */ mr r3, r29
-/* 802A6F20 7F C4 F3 78 */ mr r4, r30
-/* 802A6F24 4B FF FA B5 */ bl func_802A69D8
-/* 802A6F28 48 00 00 24 */ b lbl_802A6F4C
-lbl_802A6F2C:
-/* 802A6F2C 2C 00 00 02 */ cmpwi r0, 2
-/* 802A6F30 40 82 00 1C */ bne lbl_802A6F4C
-/* 802A6F34 38 7D 00 0C */ addi r3, r29, 0xc
-/* 802A6F38 7F C4 F3 78 */ mr r4, r30
-/* 802A6F3C 4B FF FA BD */ bl func_802A69F8
-/* 802A6F40 38 7D 00 18 */ addi r3, r29, 0x18
-/* 802A6F44 7F C4 F3 78 */ mr r4, r30
-/* 802A6F48 4B FF FA 91 */ bl func_802A69D8
-lbl_802A6F4C:
-/* 802A6F4C 7F FE FB 78 */ mr r30, r31
-lbl_802A6F50:
-/* 802A6F50 28 1E 00 00 */ cmplwi r30, 0
-/* 802A6F54 40 82 FF A8 */ bne lbl_802A6EFC
-/* 802A6F58 39 61 00 20 */ addi r11, r1, 0x20
-/* 802A6F5C 48 0B B2 CD */ bl _restgpr_29
-/* 802A6F60 80 01 00 24 */ lwz r0, 0x24(r1)
-/* 802A6F64 7C 08 03 A6 */ mtlr r0
-/* 802A6F68 38 21 00 20 */ addi r1, r1, 0x20
-/* 802A6F6C 4E 80 00 20 */ blr
diff --git a/asm/JSystem/JAudio2/JAUSeqDataBlockMgr/releaseIdleDynamicSeqDataBlock__23JAUDynamicSeqDataBlocksFP14JAISeqDataUser.s b/asm/JSystem/JAudio2/JAUSeqDataBlockMgr/releaseIdleDynamicSeqDataBlock__23JAUDynamicSeqDataBlocksFP14JAISeqDataUser.s
deleted file mode 100644
index 0a17dbe1e0..0000000000
--- a/asm/JSystem/JAudio2/JAUSeqDataBlockMgr/releaseIdleDynamicSeqDataBlock__23JAUDynamicSeqDataBlocksFP14JAISeqDataUser.s
+++ /dev/null
@@ -1,52 +0,0 @@
-lbl_802A6D48:
-/* 802A6D48 94 21 FF E0 */ stwu r1, -0x20(r1)
-/* 802A6D4C 7C 08 02 A6 */ mflr r0
-/* 802A6D50 90 01 00 24 */ stw r0, 0x24(r1)
-/* 802A6D54 39 61 00 20 */ addi r11, r1, 0x20
-/* 802A6D58 48 0B B4 7D */ bl _savegpr_27
-/* 802A6D5C 7C 7B 1B 78 */ mr r27, r3
-/* 802A6D60 7C 9C 23 78 */ mr r28, r4
-/* 802A6D64 48 00 01 79 */ bl rearrangeLoadingSeqs___23JAUDynamicSeqDataBlocksFv
-/* 802A6D68 3B C0 00 00 */ li r30, 0
-/* 802A6D6C 83 BB 00 18 */ lwz r29, 0x18(r27)
-/* 802A6D70 48 00 00 6C */ b lbl_802A6DDC
-lbl_802A6D74:
-/* 802A6D74 83 FD 00 0C */ lwz r31, 0xc(r29)
-/* 802A6D78 80 9D 00 00 */ lwz r4, 0(r29)
-/* 802A6D7C 28 1C 00 00 */ cmplwi r28, 0
-/* 802A6D80 41 82 00 24 */ beq lbl_802A6DA4
-/* 802A6D84 7F 83 E3 78 */ mr r3, r28
-/* 802A6D88 38 84 00 14 */ addi r4, r4, 0x14
-/* 802A6D8C 81 9C 00 00 */ lwz r12, 0(r28)
-/* 802A6D90 81 8C 00 0C */ lwz r12, 0xc(r12)
-/* 802A6D94 7D 89 03 A6 */ mtctr r12
-/* 802A6D98 4E 80 04 21 */ bctrl
-/* 802A6D9C 54 60 06 3F */ clrlwi. r0, r3, 0x18
-/* 802A6DA0 40 82 00 38 */ bne lbl_802A6DD8
-lbl_802A6DA4:
-/* 802A6DA4 38 7B 00 18 */ addi r3, r27, 0x18
-/* 802A6DA8 7F A4 EB 78 */ mr r4, r29
-/* 802A6DAC 4B FF FC 4D */ bl func_802A69F8
-/* 802A6DB0 80 7D 00 00 */ lwz r3, 0(r29)
-/* 802A6DB4 38 00 FF FF */ li r0, -1
-/* 802A6DB8 90 03 00 10 */ stw r0, 0x10(r3)
-/* 802A6DBC 80 03 00 18 */ lwz r0, 0x18(r3)
-/* 802A6DC0 7C 1E 00 40 */ cmplw r30, r0
-/* 802A6DC4 40 80 00 08 */ bge lbl_802A6DCC
-/* 802A6DC8 7C 1E 03 78 */ mr r30, r0
-lbl_802A6DCC:
-/* 802A6DCC 7F 63 DB 78 */ mr r3, r27
-/* 802A6DD0 7F A4 EB 78 */ mr r4, r29
-/* 802A6DD4 4B FF FC 05 */ bl func_802A69D8
-lbl_802A6DD8:
-/* 802A6DD8 7F FD FB 78 */ mr r29, r31
-lbl_802A6DDC:
-/* 802A6DDC 28 1D 00 00 */ cmplwi r29, 0
-/* 802A6DE0 40 82 FF 94 */ bne lbl_802A6D74
-/* 802A6DE4 7F C3 F3 78 */ mr r3, r30
-/* 802A6DE8 39 61 00 20 */ addi r11, r1, 0x20
-/* 802A6DEC 48 0B B4 35 */ bl _restgpr_27
-/* 802A6DF0 80 01 00 24 */ lwz r0, 0x24(r1)
-/* 802A6DF4 7C 08 03 A6 */ mtlr r0
-/* 802A6DF8 38 21 00 20 */ addi r1, r1, 0x20
-/* 802A6DFC 4E 80 00 20 */ blr
diff --git a/asm/JSystem/JAudio2/JAUSeqDataBlockMgr/releaseIdleDynamicSeqDataBlock___23JAUDynamicSeqDataBlocksFP14JAISeqDataUserUl.s b/asm/JSystem/JAudio2/JAUSeqDataBlockMgr/releaseIdleDynamicSeqDataBlock___23JAUDynamicSeqDataBlocksFP14JAISeqDataUserUl.s
deleted file mode 100644
index 6bf4d7ed53..0000000000
--- a/asm/JSystem/JAudio2/JAUSeqDataBlockMgr/releaseIdleDynamicSeqDataBlock___23JAUDynamicSeqDataBlocksFP14JAISeqDataUserUl.s
+++ /dev/null
@@ -1,62 +0,0 @@
-lbl_802A6E00:
-/* 802A6E00 94 21 FF D0 */ stwu r1, -0x30(r1)
-/* 802A6E04 7C 08 02 A6 */ mflr r0
-/* 802A6E08 90 01 00 34 */ stw r0, 0x34(r1)
-/* 802A6E0C 39 61 00 30 */ addi r11, r1, 0x30
-/* 802A6E10 48 0B B3 B9 */ bl _savegpr_24
-/* 802A6E14 7C 78 1B 78 */ mr r24, r3
-/* 802A6E18 7C 99 23 78 */ mr r25, r4
-/* 802A6E1C 7C BA 2B 78 */ mr r26, r5
-/* 802A6E20 48 00 00 BD */ bl rearrangeLoadingSeqs___23JAUDynamicSeqDataBlocksFv
-/* 802A6E24 3B A0 FF FF */ li r29, -1
-/* 802A6E28 3B 80 00 00 */ li r28, 0
-/* 802A6E2C 83 78 00 18 */ lwz r27, 0x18(r24)
-/* 802A6E30 48 00 00 54 */ b lbl_802A6E84
-lbl_802A6E34:
-/* 802A6E34 83 FB 00 0C */ lwz r31, 0xc(r27)
-/* 802A6E38 83 DB 00 00 */ lwz r30, 0(r27)
-/* 802A6E3C 28 19 00 00 */ cmplwi r25, 0
-/* 802A6E40 41 82 00 24 */ beq lbl_802A6E64
-/* 802A6E44 7F 23 CB 78 */ mr r3, r25
-/* 802A6E48 38 9E 00 14 */ addi r4, r30, 0x14
-/* 802A6E4C 81 99 00 00 */ lwz r12, 0(r25)
-/* 802A6E50 81 8C 00 0C */ lwz r12, 0xc(r12)
-/* 802A6E54 7D 89 03 A6 */ mtctr r12
-/* 802A6E58 4E 80 04 21 */ bctrl
-/* 802A6E5C 54 60 06 3F */ clrlwi. r0, r3, 0x18
-/* 802A6E60 40 82 00 20 */ bne lbl_802A6E80
-lbl_802A6E64:
-/* 802A6E64 80 1E 00 18 */ lwz r0, 0x18(r30)
-/* 802A6E68 7C 00 D0 40 */ cmplw r0, r26
-/* 802A6E6C 41 80 00 14 */ blt lbl_802A6E80
-/* 802A6E70 7C 00 E8 40 */ cmplw r0, r29
-/* 802A6E74 40 80 00 0C */ bge lbl_802A6E80
-/* 802A6E78 7F 7C DB 78 */ mr r28, r27
-/* 802A6E7C 7C 1D 03 78 */ mr r29, r0
-lbl_802A6E80:
-/* 802A6E80 7F FB FB 78 */ mr r27, r31
-lbl_802A6E84:
-/* 802A6E84 28 1B 00 00 */ cmplwi r27, 0
-/* 802A6E88 40 82 FF AC */ bne lbl_802A6E34
-/* 802A6E8C 28 1C 00 00 */ cmplwi r28, 0
-/* 802A6E90 41 82 00 30 */ beq lbl_802A6EC0
-/* 802A6E94 38 78 00 18 */ addi r3, r24, 0x18
-/* 802A6E98 7F 84 E3 78 */ mr r4, r28
-/* 802A6E9C 4B FF FB 5D */ bl func_802A69F8
-/* 802A6EA0 80 7C 00 00 */ lwz r3, 0(r28)
-/* 802A6EA4 38 00 FF FF */ li r0, -1
-/* 802A6EA8 90 03 00 10 */ stw r0, 0x10(r3)
-/* 802A6EAC 7F 03 C3 78 */ mr r3, r24
-/* 802A6EB0 7F 84 E3 78 */ mr r4, r28
-/* 802A6EB4 4B FF FB 25 */ bl func_802A69D8
-/* 802A6EB8 80 7C 00 00 */ lwz r3, 0(r28)
-/* 802A6EBC 48 00 00 08 */ b lbl_802A6EC4
-lbl_802A6EC0:
-/* 802A6EC0 38 60 00 00 */ li r3, 0
-lbl_802A6EC4:
-/* 802A6EC4 39 61 00 30 */ addi r11, r1, 0x30
-/* 802A6EC8 48 0B B3 4D */ bl _restgpr_24
-/* 802A6ECC 80 01 00 34 */ lwz r0, 0x34(r1)
-/* 802A6ED0 7C 08 03 A6 */ mtlr r0
-/* 802A6ED4 38 21 00 30 */ addi r1, r1, 0x30
-/* 802A6ED8 4E 80 00 20 */ blr
diff --git a/asm/JSystem/JAudio2/JAUSeqDataBlockMgr/seekFreeBlock__16JAUSeqDataBlocksFUl.s b/asm/JSystem/JAudio2/JAUSeqDataBlockMgr/seekFreeBlock__16JAUSeqDataBlocksFUl.s
deleted file mode 100644
index 5e32f61ac8..0000000000
--- a/asm/JSystem/JAudio2/JAUSeqDataBlockMgr/seekFreeBlock__16JAUSeqDataBlocksFUl.s
+++ /dev/null
@@ -1,30 +0,0 @@
-lbl_802A6974:
-/* 802A6974 38 C0 FF FF */ li r6, -1
-/* 802A6978 38 E0 00 00 */ li r7, 0
-/* 802A697C 81 03 00 00 */ lwz r8, 0(r3)
-/* 802A6980 48 00 00 38 */ b lbl_802A69B8
-lbl_802A6984:
-/* 802A6984 80 A8 00 00 */ lwz r5, 0(r8)
-/* 802A6988 80 65 00 10 */ lwz r3, 0x10(r5)
-/* 802A698C 3C 03 00 01 */ addis r0, r3, 1
-/* 802A6990 28 00 FF FF */ cmplwi r0, 0xffff
-/* 802A6994 40 82 00 20 */ bne lbl_802A69B4
-/* 802A6998 80 05 00 18 */ lwz r0, 0x18(r5)
-/* 802A699C 7C 00 20 40 */ cmplw r0, r4
-/* 802A69A0 41 80 00 14 */ blt lbl_802A69B4
-/* 802A69A4 7C 00 30 40 */ cmplw r0, r6
-/* 802A69A8 40 80 00 0C */ bge lbl_802A69B4
-/* 802A69AC 7D 07 43 78 */ mr r7, r8
-/* 802A69B0 7C 06 03 78 */ mr r6, r0
-lbl_802A69B4:
-/* 802A69B4 81 08 00 0C */ lwz r8, 0xc(r8)
-lbl_802A69B8:
-/* 802A69B8 28 08 00 00 */ cmplwi r8, 0
-/* 802A69BC 40 82 FF C8 */ bne lbl_802A6984
-/* 802A69C0 28 07 00 00 */ cmplwi r7, 0
-/* 802A69C4 41 82 00 0C */ beq lbl_802A69D0
-/* 802A69C8 7C E3 3B 78 */ mr r3, r7
-/* 802A69CC 4E 80 00 20 */ blr
-lbl_802A69D0:
-/* 802A69D0 38 60 00 00 */ li r3, 0
-/* 802A69D4 4E 80 00 20 */ blr
diff --git a/asm/Z2AudioLib/Z2Audience/__dt__10Z2AudienceFv.s b/asm/Z2AudioLib/Z2Audience/__dt__10Z2AudienceFv.s
deleted file mode 100644
index 7e81f15caf..0000000000
--- a/asm/Z2AudioLib/Z2Audience/__dt__10Z2AudienceFv.s
+++ /dev/null
@@ -1,39 +0,0 @@
-lbl_802BD1FC:
-/* 802BD1FC 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 802BD200 7C 08 02 A6 */ mflr r0
-/* 802BD204 90 01 00 14 */ stw r0, 0x14(r1)
-/* 802BD208 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 802BD20C 93 C1 00 08 */ stw r30, 8(r1)
-/* 802BD210 7C 7E 1B 79 */ or. r30, r3, r3
-/* 802BD214 7C 9F 23 78 */ mr r31, r4
-/* 802BD218 41 82 00 54 */ beq lbl_802BD26C
-/* 802BD21C 3C 60 80 3D */ lis r3, __vt__10Z2Audience@ha /* 0x803CAC98@ha */
-/* 802BD220 38 03 AC 98 */ addi r0, r3, __vt__10Z2Audience@l /* 0x803CAC98@l */
-/* 802BD224 90 1E 00 00 */ stw r0, 0(r30)
-/* 802BD228 34 1E 00 04 */ addic. r0, r30, 4
-/* 802BD22C 41 82 00 24 */ beq lbl_802BD250
-/* 802BD230 34 7E 00 04 */ addic. r3, r30, 4
-/* 802BD234 41 82 00 08 */ beq lbl_802BD23C
-/* 802BD238 38 63 FF FC */ addi r3, r3, -4
-lbl_802BD23C:
-/* 802BD23C 80 0D 85 C4 */ lwz r0, __OSReport_disable-0x54(r13)
-/* 802BD240 7C 00 18 40 */ cmplw r0, r3
-/* 802BD244 40 82 00 0C */ bne lbl_802BD250
-/* 802BD248 38 00 00 00 */ li r0, 0
-/* 802BD24C 90 0D 85 C4 */ stw r0, __OSReport_disable-0x54(r13)
-lbl_802BD250:
-/* 802BD250 7F C3 F3 78 */ mr r3, r30
-/* 802BD254 38 80 00 00 */ li r4, 0
-/* 802BD258 4B FE 1D 9D */ bl __dt__11JAIAudienceFv
-/* 802BD25C 7F E0 07 35 */ extsh. r0, r31
-/* 802BD260 40 81 00 0C */ ble lbl_802BD26C
-/* 802BD264 7F C3 F3 78 */ mr r3, r30
-/* 802BD268 48 01 1A D5 */ bl __dl__FPv
-lbl_802BD26C:
-/* 802BD26C 7F C3 F3 78 */ mr r3, r30
-/* 802BD270 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 802BD274 83 C1 00 08 */ lwz r30, 8(r1)
-/* 802BD278 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 802BD27C 7C 08 03 A6 */ mtlr r0
-/* 802BD280 38 21 00 10 */ addi r1, r1, 0x10
-/* 802BD284 4E 80 00 20 */ blr
diff --git a/asm/Z2AudioLib/Z2AudioArcLoader/__ct__16Z2AudioArcLoaderFP10JAUSection.s b/asm/Z2AudioLib/Z2AudioArcLoader/__ct__16Z2AudioArcLoaderFP10JAUSection.s
deleted file mode 100644
index 7e2e1b0027..0000000000
--- a/asm/Z2AudioLib/Z2AudioArcLoader/__ct__16Z2AudioArcLoaderFP10JAUSection.s
+++ /dev/null
@@ -1,16 +0,0 @@
-lbl_802A9A34:
-/* 802A9A34 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 802A9A38 7C 08 02 A6 */ mflr r0
-/* 802A9A3C 90 01 00 14 */ stw r0, 0x14(r1)
-/* 802A9A40 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 802A9A44 7C 7F 1B 78 */ mr r31, r3
-/* 802A9A48 4B FF AC F9 */ bl __ct__17JAUAudioArcLoaderFP10JAUSection
-/* 802A9A4C 3C 60 80 3D */ lis r3, __vt__16Z2AudioArcLoader@ha /* 0x803C9CD0@ha */
-/* 802A9A50 38 03 9C D0 */ addi r0, r3, __vt__16Z2AudioArcLoader@l /* 0x803C9CD0@l */
-/* 802A9A54 90 1F 00 00 */ stw r0, 0(r31)
-/* 802A9A58 7F E3 FB 78 */ mr r3, r31
-/* 802A9A5C 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 802A9A60 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 802A9A64 7C 08 03 A6 */ mtlr r0
-/* 802A9A68 38 21 00 10 */ addi r1, r1, 0x10
-/* 802A9A6C 4E 80 00 20 */ blr
diff --git a/asm/Z2AudioLib/Z2AudioArcLoader/__dt__16Z2AudioArcLoaderFv.s b/asm/Z2AudioLib/Z2AudioArcLoader/__dt__16Z2AudioArcLoaderFv.s
deleted file mode 100644
index 6de9a8912b..0000000000
--- a/asm/Z2AudioLib/Z2AudioArcLoader/__dt__16Z2AudioArcLoaderFv.s
+++ /dev/null
@@ -1,31 +0,0 @@
-lbl_802A9B58:
-/* 802A9B58 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 802A9B5C 7C 08 02 A6 */ mflr r0
-/* 802A9B60 90 01 00 14 */ stw r0, 0x14(r1)
-/* 802A9B64 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 802A9B68 93 C1 00 08 */ stw r30, 8(r1)
-/* 802A9B6C 7C 7E 1B 79 */ or. r30, r3, r3
-/* 802A9B70 7C 9F 23 78 */ mr r31, r4
-/* 802A9B74 41 82 00 38 */ beq lbl_802A9BAC
-/* 802A9B78 3C 80 80 3D */ lis r4, __vt__16Z2AudioArcLoader@ha /* 0x803C9CD0@ha */
-/* 802A9B7C 38 04 9C D0 */ addi r0, r4, __vt__16Z2AudioArcLoader@l /* 0x803C9CD0@l */
-/* 802A9B80 90 1E 00 00 */ stw r0, 0(r30)
-/* 802A9B84 41 82 00 18 */ beq lbl_802A9B9C
-/* 802A9B88 3C 80 80 3D */ lis r4, __vt__17JAUAudioArcLoader@ha /* 0x803C9A78@ha */
-/* 802A9B8C 38 04 9A 78 */ addi r0, r4, __vt__17JAUAudioArcLoader@l /* 0x803C9A78@l */
-/* 802A9B90 90 1E 00 00 */ stw r0, 0(r30)
-/* 802A9B94 38 80 00 00 */ li r4, 0
-/* 802A9B98 4B FF A6 C9 */ bl __dt__22JAUAudioArcInterpreterFv
-lbl_802A9B9C:
-/* 802A9B9C 7F E0 07 35 */ extsh. r0, r31
-/* 802A9BA0 40 81 00 0C */ ble lbl_802A9BAC
-/* 802A9BA4 7F C3 F3 78 */ mr r3, r30
-/* 802A9BA8 48 02 51 95 */ bl __dl__FPv
-lbl_802A9BAC:
-/* 802A9BAC 7F C3 F3 78 */ mr r3, r30
-/* 802A9BB0 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 802A9BB4 83 C1 00 08 */ lwz r30, 8(r1)
-/* 802A9BB8 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 802A9BBC 7C 08 03 A6 */ mtlr r0
-/* 802A9BC0 38 21 00 10 */ addi r1, r1, 0x10
-/* 802A9BC4 4E 80 00 20 */ blr
diff --git a/asm/Z2AudioLib/Z2AudioArcLoader/readCommandMore__16Z2AudioArcLoaderFUl.s b/asm/Z2AudioLib/Z2AudioArcLoader/readCommandMore__16Z2AudioArcLoaderFUl.s
deleted file mode 100644
index ee918aef3e..0000000000
--- a/asm/Z2AudioLib/Z2AudioArcLoader/readCommandMore__16Z2AudioArcLoaderFUl.s
+++ /dev/null
@@ -1,25 +0,0 @@
-lbl_802A9A70:
-/* 802A9A70 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 802A9A74 7C 08 02 A6 */ mflr r0
-/* 802A9A78 90 01 00 14 */ stw r0, 0x14(r1)
-/* 802A9A7C 38 C0 00 00 */ li r6, 0
-/* 802A9A80 3C A0 62 66 */ lis r5, 0x6266 /* 0x62666361@ha */
-/* 802A9A84 38 05 63 61 */ addi r0, r5, 0x6361 /* 0x62666361@l */
-/* 802A9A88 7C 04 00 00 */ cmpw r4, r0
-/* 802A9A8C 41 82 00 08 */ beq lbl_802A9A94
-/* 802A9A90 48 00 00 24 */ b lbl_802A9AB4
-lbl_802A9A94:
-/* 802A9A94 80 83 00 04 */ lwz r4, 4(r3)
-/* 802A9A98 80 A4 00 00 */ lwz r5, 0(r4)
-/* 802A9A9C 38 04 00 04 */ addi r0, r4, 4
-/* 802A9AA0 90 03 00 04 */ stw r0, 4(r3)
-/* 802A9AA4 80 03 00 08 */ lwz r0, 8(r3)
-/* 802A9AA8 7C 80 2A 14 */ add r4, r0, r5
-/* 802A9AAC 48 00 00 1D */ bl readBFCA__16Z2AudioArcLoaderFPCv
-/* 802A9AB0 38 C0 00 01 */ li r6, 1
-lbl_802A9AB4:
-/* 802A9AB4 7C C3 33 78 */ mr r3, r6
-/* 802A9AB8 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 802A9ABC 7C 08 03 A6 */ mtlr r0
-/* 802A9AC0 38 21 00 10 */ addi r1, r1, 0x10
-/* 802A9AC4 4E 80 00 20 */ blr
diff --git a/include/JSystem/JAudio2/JAISeqDataMgr.h b/include/JSystem/JAudio2/JAISeqDataMgr.h
index ed8ce8d14e..0943933228 100644
--- a/include/JSystem/JAudio2/JAISeqDataMgr.h
+++ b/include/JSystem/JAudio2/JAISeqDataMgr.h
@@ -20,17 +20,17 @@ struct JAISeqData {
struct JAISeqDataRegion {
bool intersects(JAISeqData& seqData) const {
- if (field_0x0 + field_0x4 < (u32)seqData.field_0x0) {
+ if ((u32)addr + size < (u32)seqData.field_0x0) {
return false;
}
- if ((u32)seqData.field_0x0 + seqData.field_0x4 < field_0x0) {
+ if ((u32)seqData.field_0x0 + seqData.field_0x4 < (u32)addr) {
return false;
}
return true;
}
- /* 0x00 */ u32 field_0x0;
- /* 0x04 */ u32 field_0x4;
+ /* 0x00 */ u8* addr;
+ /* 0x04 */ u32 size;
};
diff --git a/include/JSystem/JAudio2/JASBasicWaveBank.h b/include/JSystem/JAudio2/JASBasicWaveBank.h
index 3d22d24ff7..d923124233 100644
--- a/include/JSystem/JAudio2/JASBasicWaveBank.h
+++ b/include/JSystem/JAudio2/JASBasicWaveBank.h
@@ -30,6 +30,7 @@ struct JASBasicWaveBank : public JASWaveBank {
/* 80298B64 */ int getWavePtr() const;
/* 80298C18 */ TWaveHandle() { mHeap = NULL; }
/* 80298C64 */ const JASWaveInfo* getWaveInfo() const { return &field_0x4; }
+ bool compareHeap(JASHeap* heap) const { return mHeap == heap;}
/* 0x04 */ JASWaveInfo field_0x4;
/* 0x28 */ JASHeap* mHeap;
diff --git a/include/JSystem/JAudio2/JASHeapCtrl.h b/include/JSystem/JAudio2/JASHeapCtrl.h
index b5d7f50c99..4edbe1e271 100644
--- a/include/JSystem/JAudio2/JASHeapCtrl.h
+++ b/include/JSystem/JAudio2/JASHeapCtrl.h
@@ -20,7 +20,7 @@ public:
/* 802906F0 */ JASHeap* getTailHeap();
/* 8029077C */ u32 getTailOffset();
/* 802907E0 */ u32 getCurOffset();
- /* 80290B54 */ ~JASHeap();
+ /* 80290B54 */ ~JASHeap() {}
void* getBase() { return mBase; }
bool isAllocated() { return mBase; }
diff --git a/include/JSystem/JAudio2/JASWSParser.h b/include/JSystem/JAudio2/JASWSParser.h
index 7ef0bdc6cb..8555857de9 100644
--- a/include/JSystem/JAudio2/JASWSParser.h
+++ b/include/JSystem/JAudio2/JASWSParser.h
@@ -1,5 +1,77 @@
#ifndef JASWSPARSER_H
#define JASWSPARSER_H
+#include "dolphin/types.h"
+#include "JSystem/JSupport/JSupport.h"
+
+class JKRHeap;
+class JASWaveBank;
+class JASBasicWaveBank;
+class JASSimpleWaveBank;
+
+class JASWSParser {
+public:
+ template<class T>
+ class TOffset {
+ public:
+ T* ptr(void* param_0) {
+ return JSUConvertOffsetToPtr<T>(param_0, mOffset);
+ }
+ void* mOffset;
+ };
+
+ /** @fabricated */
+ struct THeader {
+ u8 _00[0x10]; // _00 - unknown/padding
+ u32 mArchiveBankOffset; // _10
+ u32 mCtrlGroupOffset; // _14
+ };
+ struct TCtrlWave {
+ u32 _00; // _00
+ };
+ struct TWave {
+ u8 _00; // _00
+ u8 _01; // _01
+ u8 _02; // _02
+ f32 _04; // _04
+ u32 mOffset; // _08
+ u32 _0C; // _0C
+ u32 _10; // _10
+ u32 _14; // _14
+ u32 _18; // _18
+ u32 _1C; // _1C
+ s16 _20; // _20
+ s16 _22; // _22
+ };
+ struct TWaveArchive {
+ char mFileName[0x74]; // _00 - unknown length
+ u32 mWaveOffsets[1]; // _74 - dynamic length
+ };
+ struct TWaveArchiveBank {
+ u8 _00[8]; // _00 - unknown/padding
+ u32 mArchiveOffsets[1]; // _08 - dynamic length
+ };
+ struct TCtrl {
+ u8 _00[4]; // _00 - unknown/padding
+ u32 mWaveCount; // _04
+ u32 mCtrlWaveOffsets[1]; // _08 - dynamic length
+ };
+ struct TCtrlScene {
+ u8 _00[12]; // _00 - unknown/padding
+ u32 mCtrlOffset; // _0C
+ };
+ struct TCtrlGroup {
+ u8 _00[8]; // _00 - unknown/padding
+ u32 mCtrlGroupCount; // _08
+ u32 mCtrlSceneOffsets[1]; // _0C - dynamic length
+ };
+
+ /* 80298FB0 */ static u32 getGroupCount(void const*);
+ /* 80298FD8 */ static JASWaveBank* createWaveBank(void const*, JKRHeap*);
+ /* 80299034 */ static JASBasicWaveBank* createBasicWaveBank(void const*, JKRHeap*);
+ /* 80299264 */ static JASSimpleWaveBank* createSimpleWaveBank(void const*, JKRHeap*);
+
+ static u8 sUsedHeapSize[4 + 4 /* padding */];
+};
#endif /* JASWSPARSER_H */
diff --git a/include/JSystem/JAudio2/JAUAudioArcLoader.h b/include/JSystem/JAudio2/JAUAudioArcLoader.h
index 5cfd255490..c81e726b32 100644
--- a/include/JSystem/JAudio2/JAUAudioArcLoader.h
+++ b/include/JSystem/JAudio2/JAUAudioArcLoader.h
@@ -22,7 +22,7 @@ public:
/* 802A4990 */ virtual void beginBNKList(u32, u32);
/* 802A49B4 */ virtual void endBNKList();
/* 802A49D8 */ virtual void readMaxSeCategory(int, int, int);
- /* 802A49FC */ virtual ~JAUAudioArcLoader();
+ /* 802A49FC */ virtual ~JAUAudioArcLoader() {}
/* 0x0C */ JAUSection* mSection;
};
diff --git a/include/JSystem/JAudio2/JAUSectionHeap.h b/include/JSystem/JAudio2/JAUSectionHeap.h
index d3126391bb..aa1bde433a 100644
--- a/include/JSystem/JAudio2/JAUSectionHeap.h
+++ b/include/JSystem/JAudio2/JAUSectionHeap.h
@@ -101,6 +101,12 @@ public:
/* 802A6278 */ ~JAUSectionHeap();
JAUWaveBankTable& getWaveBankTable() { return sectionHeapData_.waveBankTable; }
+ JKRHeap* getHeap() {
+ if (getOpenSection()->isBuilding() != 0) {
+ return mHeap;
+ }
+ return NULL;
+ }
/* 0x00 */ JAUSection base1;
/* 0xDC */ u8 base2[0xE0 - 0xDC]; // JAISeqDataMgr
diff --git a/include/JSystem/JAudio2/JAUSeqDataBlockMgr.h b/include/JSystem/JAudio2/JAUSeqDataBlockMgr.h
index dd6bae8a15..c3176f9ab7 100644
--- a/include/JSystem/JAudio2/JAUSeqDataBlockMgr.h
+++ b/include/JSystem/JAudio2/JAUSeqDataBlockMgr.h
@@ -2,6 +2,7 @@
#define JAUSEQDATABLOCKMGR_H
#include "JSystem/JAudio2/JAISound.h"
+#include "JSystem/JAudio2/JAISeqDataMgr.h"
#include "JSystem/JSupport/JSUList.h"
class JAISeqData;
@@ -13,18 +14,17 @@ struct JAUSeqDataBlock {
/* 0x00 */ JSULink<JAUSeqDataBlock> field_0x0;
/* 0x10 */ JAISoundID field_0x10;
- /* 0x14 */ u8* field_0x14;
- /* 0x18 */ u32 field_0x18;
+ /* 0x14 */ JAISeqDataRegion field_0x14;
/* 0x1C */ int field_0x1c;
};
class JAUSeqDataBlocks {
public:
- /* 802A6928 */ void getSeqData(JAISoundID);
- /* 802A6974 */ void seekFreeBlock(u32);
- /* 802A69D8 */ void append(JSULink<JAUSeqDataBlock>*);
- /* 802A69F8 */ void remove(JSULink<JAUSeqDataBlock>*);
- /* 802A6A18 */ void hasFailedBlock(JAISoundID);
+ /* 802A6928 */ u8* getSeqData(JAISoundID);
+ /* 802A6974 */ JSULink<JAUSeqDataBlock>* seekFreeBlock(u32);
+ /* 802A69D8 */ bool append(JSULink<JAUSeqDataBlock>*);
+ /* 802A69F8 */ bool remove(JSULink<JAUSeqDataBlock>*);
+ /* 802A6A18 */ bool hasFailedBlock(JAISoundID);
/* 0x00 */ JSUList<JAUSeqDataBlock> field_0x0;
};
@@ -36,8 +36,8 @@ public:
/* 802A6AA8 */ s32 getSeqData(JAISoundID, JAISeqDataUser*, JAISeqData*, bool);
/* 802A6B8C */ bool appendDynamicSeqDataBlock(JAUSeqDataBlock*);
/* 802A6C18 */ bool loadDynamicSeq(JAISoundID, bool, JAISeqDataUser*);
- /* 802A6D48 */ void releaseIdleDynamicSeqDataBlock(JAISeqDataUser*);
- /* 802A6E00 */ void releaseIdleDynamicSeqDataBlock_(JAISeqDataUser*, u32);
+ /* 802A6D48 */ u32 releaseIdleDynamicSeqDataBlock(JAISeqDataUser*);
+ /* 802A6E00 */ JAUSeqDataBlock* releaseIdleDynamicSeqDataBlock_(JAISeqDataUser*, u32);
/* 802A6EDC */ void rearrangeLoadingSeqs_();
JKRArchive* getSeqDataArchive() { return seqDataArchive_; }
diff --git a/include/JSystem/JKernel/JKRArchive.h b/include/JSystem/JKernel/JKRArchive.h
index c7800b7359..2db5dc079e 100644
--- a/include/JSystem/JKernel/JKRArchive.h
+++ b/include/JSystem/JKernel/JKRArchive.h
@@ -226,4 +226,8 @@ inline bool JKRRemoveResource(void* resource, JKRFileLoader* fileLoader) {
return JKRFileLoader::removeResource(resource, fileLoader);
}
+inline void JKRUnmountArchive(JKRArchive* arc) {
+ arc->unmount();
+}
+
#endif \ No newline at end of file
diff --git a/include/Z2AudioLib/Z2AudioArcLoader.h b/include/Z2AudioLib/Z2AudioArcLoader.h
index 09d4bb919b..031f191412 100644
--- a/include/Z2AudioLib/Z2AudioArcLoader.h
+++ b/include/Z2AudioLib/Z2AudioArcLoader.h
@@ -6,7 +6,7 @@
class Z2AudioArcLoader : public JAUAudioArcLoader {
public:
Z2AudioArcLoader(JAUSection*);
- virtual ~Z2AudioArcLoader();
+ virtual ~Z2AudioArcLoader() {}
virtual bool readCommandMore(u32);
void readBFCA(const void*);
diff --git a/libs/JSystem/JAudio2/JASHeapCtrl.cpp b/libs/JSystem/JAudio2/JASHeapCtrl.cpp
index 1c1dcda510..04de9ef7ee 100644
--- a/libs/JSystem/JAudio2/JASHeapCtrl.cpp
+++ b/libs/JSystem/JAudio2/JASHeapCtrl.cpp
@@ -412,7 +412,8 @@ REGISTER_CTORS(0x80290B14, __sinit_JASHeapCtrl_cpp);
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm JASHeap::~JASHeap() {
+//asm JASHeap::~JASHeap() {
+asm void __dt__7JASHeapFv() {
nofralloc
#include "asm/JSystem/JAudio2/JASHeapCtrl/__dt__7JASHeapFv.s"
}
diff --git a/libs/JSystem/JAudio2/JASWSParser.cpp b/libs/JSystem/JAudio2/JASWSParser.cpp
index e5595005b7..e26d898b74 100644
--- a/libs/JSystem/JAudio2/JASWSParser.cpp
+++ b/libs/JSystem/JAudio2/JASWSParser.cpp
@@ -4,52 +4,14 @@
//
#include "JSystem/JAudio2/JASWSParser.h"
+#include "JSystem/JAudio2/JASWaveInfo.h"
+#include "JSystem/JAudio2/JASWaveArcLoader.h"
+#include "JSystem/JAudio2/JASSimpleWaveBank.h"
+#include "JSystem/JAudio2/JASBasicWaveBank.h"
+#include "JSystem/JKernel/JKRHeap.h"
#include "dolphin/types.h"
//
-// Types:
-//
-
-struct JKRHeap {
- /* 802CE72C */ void getFreeSize();
-};
-
-struct JASWaveInfo {
- static u32 one[1 + 1 /* padding */];
-};
-
-struct JASWaveArc {
- /* 8029A70C */ void setFileName(char const*);
-};
-
-struct JASWSParser {
- /* 80298FB0 */ void getGroupCount(void const*);
- /* 80298FD8 */ void createWaveBank(void const*, JKRHeap*);
- /* 80299034 */ void createBasicWaveBank(void const*, JKRHeap*);
- /* 80299264 */ void createSimpleWaveBank(void const*, JKRHeap*);
-
- static u8 sUsedHeapSize[4 + 4 /* padding */];
-};
-
-struct JASSimpleWaveBank {
- /* 80298C94 */ JASSimpleWaveBank();
- /* 80298DE0 */ void setWaveTableSize(u32, JKRHeap*);
- /* 80298E84 */ void setWaveInfo(u32, JASWaveInfo const&);
-};
-
-struct JASBasicWaveBank {
- struct TWaveGroup {
- /* 80298A84 */ void setWaveCount(u32, JKRHeap*);
- };
-
- /* 802984F8 */ JASBasicWaveBank();
- /* 80298640 */ void getWaveGroup(u32);
- /* 80298664 */ void setGroupCount(u32, JKRHeap*);
- /* 80298710 */ void setWaveTableSize(u32, JKRHeap*);
- /* 80298910 */ void setWaveInfo(JASBasicWaveBank::TWaveGroup*, int, u16, JASWaveInfo const&);
-};
-
-//
// Forward References:
//
@@ -88,32 +50,38 @@ extern "C" void _savegpr_23();
extern "C" void _restgpr_20();
extern "C" void _restgpr_23();
extern "C" u32 one__11JASWaveInfo[1 + 1 /* padding */];
-extern "C" extern u8 JASDram[4];
//
// Declarations:
//
/* 80298FB0-80298FD8 2938F0 0028+00 1/1 0/0 0/0 .text getGroupCount__11JASWSParserFPCv */
+// Matches with JSUConvertOffsetToPtr
+#ifdef NONMATCHING
+u32 JASWSParser::getGroupCount(void const* stream) {
+ THeader* header = (THeader*)stream;
+ return ((TOffset<TCtrlGroup>*)&header->mCtrlGroupOffset)->ptr(header)->mCtrlGroupCount;
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void JASWSParser::getGroupCount(void const* param_0) {
+asm u32 JASWSParser::getGroupCount(void const* param_0) {
nofralloc
#include "asm/JSystem/JAudio2/JASWSParser/getGroupCount__11JASWSParserFPCv.s"
}
#pragma pop
+#endif
/* 80298FD8-80299034 293918 005C+00 0/0 1/1 0/0 .text createWaveBank__11JASWSParserFPCvP7JKRHeap
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void JASWSParser::createWaveBank(void const* param_0, JKRHeap* param_1) {
- nofralloc
-#include "asm/JSystem/JAudio2/JASWSParser/createWaveBank__11JASWSParserFPCvP7JKRHeap.s"
+JASWaveBank* JASWSParser::createWaveBank(void const* param_0, JKRHeap* param_1) {
+ if (getGroupCount(param_0) == 1) {
+ return (JASWaveBank*)createSimpleWaveBank(param_0, param_1);
+ } else {
+ return (JASWaveBank*) createBasicWaveBank(param_0, param_1);
+ }
}
-#pragma pop
/* ############################################################################################## */
/* 80451280-80451288 000780 0004+04 2/2 0/0 0/0 .sbss sUsedHeapSize__11JASWSParser */
@@ -124,7 +92,7 @@ u8 JASWSParser::sUsedHeapSize[4 + 4 /* padding */];
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void JASWSParser::createBasicWaveBank(void const* param_0, JKRHeap* param_1) {
+asm JASBasicWaveBank* JASWSParser::createBasicWaveBank(void const* param_0, JKRHeap* param_1) {
nofralloc
#include "asm/JSystem/JAudio2/JASWSParser/createBasicWaveBank__11JASWSParserFPCvP7JKRHeap.s"
}
@@ -135,7 +103,7 @@ asm void JASWSParser::createBasicWaveBank(void const* param_0, JKRHeap* param_1)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void JASWSParser::createSimpleWaveBank(void const* param_0, JKRHeap* param_1) {
+asm JASSimpleWaveBank* JASWSParser::createSimpleWaveBank(void const* param_0, JKRHeap* param_1) {
nofralloc
#include "asm/JSystem/JAudio2/JASWSParser/createSimpleWaveBank__11JASWSParserFPCvP7JKRHeap.s"
}
diff --git a/libs/JSystem/JAudio2/JAUAudioArcLoader.cpp b/libs/JSystem/JAudio2/JAUAudioArcLoader.cpp
index 58b7349306..f2e7328560 100644
--- a/libs/JSystem/JAudio2/JAUAudioArcLoader.cpp
+++ b/libs/JSystem/JAudio2/JAUAudioArcLoader.cpp
@@ -107,6 +107,3 @@ void JAUAudioArcLoader::readMaxSeCategory(int param_0, int param_1, int param_2)
seMgr->getCategory(param_0)->setMaxInactiveSe(param_2);
}
}
-
-/* 802A49FC-802A4A5C 29F33C 0060+00 1/0 0/0 0/0 .text __dt__17JAUAudioArcLoaderFv */
-JAUAudioArcLoader::~JAUAudioArcLoader() {}
diff --git a/libs/JSystem/JAudio2/JAUSectionHeap.cpp b/libs/JSystem/JAudio2/JAUSectionHeap.cpp
index d4e4bda155..bfd5a75e61 100644
--- a/libs/JSystem/JAudio2/JAUSectionHeap.cpp
+++ b/libs/JSystem/JAudio2/JAUSectionHeap.cpp
@@ -506,8 +506,8 @@ u8* JAUSection::newStaticSeqDataBlock_(JAISoundID param_0, u32 size) {
if (!r28) {
return NULL;
}
- seqDataBlock->field_0x14 = r28;
- seqDataBlock->field_0x18 = size;
+ seqDataBlock->field_0x14.addr = r28;
+ seqDataBlock->field_0x14.size = size;
seqDataBlock->field_0x10 = param_0;
JASCriticalSection cs;
if(data_.field_0x00.appendDynamicSeqDataBlock(seqDataBlock)) {
@@ -844,7 +844,7 @@ bool JAUSectionHeap::setSeqDataUser(JAISeqDataUser* param_0) {
}
/* 802A60AC-802A61D0 2A09EC 0124+00 0/0 2/2 0/0 .text newDynamicSeqBlock__14JAUSectionHeapFUl */
-bool JAUSectionHeap::newDynamicSeqBlock(u32 param_0) {
+bool JAUSectionHeap::newDynamicSeqBlock(u32 size) {
/* JUT_ASSERT(937, isOpen());
JUT_ASSERT(938, isBuilding());
JUT_ASSERT(939, sectionHeap_ == this); */
@@ -857,12 +857,12 @@ bool JAUSectionHeap::newDynamicSeqBlock(u32 param_0) {
if (!link) {
return false;
}
- u8* r25 = new(0x20) u8[param_0];
+ u8* r25 = new(0x20) u8[size];
if (!r25) {
return false;
}
- seqDataBlock->field_0x14 = r25;
- seqDataBlock->field_0x18 = param_0;
+ seqDataBlock->field_0x14.addr = r25;
+ seqDataBlock->field_0x14.size = size;
seqDataBlock->field_0x10.setAnonymous();
JASCriticalSection cs;
if (base1.sectionHeap_->sectionHeapData_.field_0x408.appendDynamicSeqDataBlock(seqDataBlock)) {
diff --git a/libs/JSystem/JAudio2/JAUSeqCollection.cpp b/libs/JSystem/JAudio2/JAUSeqCollection.cpp
index e07a6b88e2..d7c4558268 100644
--- a/libs/JSystem/JAudio2/JAUSeqCollection.cpp
+++ b/libs/JSystem/JAudio2/JAUSeqCollection.cpp
@@ -59,8 +59,8 @@ bool JAUSeqCollection::getSeqData(int param_0, int param_1, JAISeqData* param_2)
* getSeqDataRegion__16JAUSeqCollectionFP16JAISeqDataRegion */
bool JAUSeqCollection::getSeqDataRegion(JAISeqDataRegion* param_0) {
if (isValid()) {
- param_0->field_0x0 = (u32)field_0x8;
- param_0->field_0x4 = field_0xc;
+ param_0->addr = (u8*)field_0x8;
+ param_0->size = field_0xc;
return true;
}
return false;
diff --git a/libs/JSystem/JAudio2/JAUSeqDataBlockMgr.cpp b/libs/JSystem/JAudio2/JAUSeqDataBlockMgr.cpp
index c36a64b549..63e340b5a0 100644
--- a/libs/JSystem/JAudio2/JAUSeqDataBlockMgr.cpp
+++ b/libs/JSystem/JAudio2/JAUSeqDataBlockMgr.cpp
@@ -1,145 +1,86 @@
//
-// Generated By: dol2asm
-// Translation Unit: JAUSeqDataBlockMgr
+// JAUSeqDataBlockMgr
//
#include "JSystem/JAudio2/JAUSeqDataBlockMgr.h"
+#include "JSystem/JAudio2/JAUSoundInfo.h"
+#include "JSystem/JAudio2/JASResArcLoader.h"
+#include "JSystem/JUtility/JUTAssert.h"
#include "dolphin/types.h"
-//
-// Types:
-//
-
-struct JKRArchive {};
-
-struct JAISeqDataUser {};
-
-struct JAISeqData {};
-
-struct JASResArcLoader {
- /* 80290BD0 */ void getResSize(JKRArchive const*, u16);
- /* 80290D18 */ void loadResourceAsync(JKRArchive*, u16, u8*, u32, void (*)(u32, u32), u32);
-};
-
-//
-// Forward References:
-//
-
-extern "C" void __ct__15JAUSeqDataBlockFv();
-extern "C" void getSeqData__16JAUSeqDataBlocksF10JAISoundID();
-extern "C" void seekFreeBlock__16JAUSeqDataBlocksFUl();
-extern "C" void func_802A69D8();
-extern "C" void func_802A69F8();
-extern "C" void hasFailedBlock__16JAUSeqDataBlocksF10JAISoundID();
-extern "C" void __ct__23JAUDynamicSeqDataBlocksFv();
-extern "C" void setSeqDataArchive__23JAUDynamicSeqDataBlocksFP10JKRArchive();
-extern "C" void getSeqData__23JAUDynamicSeqDataBlocksF10JAISoundIDP14JAISeqDataUserP10JAISeqDatab();
-extern "C" void appendDynamicSeqDataBlock__23JAUDynamicSeqDataBlocksFP15JAUSeqDataBlock();
-extern "C" static void JAUDynamicSeqDataBlocks_receiveLoaded___FUlUl();
-extern "C" void loadDynamicSeq__23JAUDynamicSeqDataBlocksF10JAISoundIDbP14JAISeqDataUser();
-extern "C" void releaseIdleDynamicSeqDataBlock__23JAUDynamicSeqDataBlocksFP14JAISeqDataUser();
-extern "C" void releaseIdleDynamicSeqDataBlock___23JAUDynamicSeqDataBlocksFP14JAISeqDataUserUl();
-extern "C" void rearrangeLoadingSeqs___23JAUDynamicSeqDataBlocksFv();
-
-//
-// External References:
-//
-
-extern "C" void getResSize__15JASResArcLoaderFPC10JKRArchiveUs();
-extern "C" void loadResourceAsync__15JASResArcLoaderFP10JKRArchiveUsPUcUlPFUlUl_vUl();
-extern "C" void __ct__10JSUPtrLinkFPv();
-extern "C" void initiate__10JSUPtrListFv();
-extern "C" void append__10JSUPtrListFP10JSUPtrLink();
-extern "C" void remove__10JSUPtrListFP10JSUPtrLink();
-extern "C" void _savegpr_24();
-extern "C" void _savegpr_25();
-extern "C" void _savegpr_27();
-extern "C" void _savegpr_29();
-extern "C" void _restgpr_24();
-extern "C" void _restgpr_25();
-extern "C" void _restgpr_27();
-extern "C" void _restgpr_29();
-extern "C" extern u8 data_80450B50[4];
-extern "C" extern u8 __OSReport_disable;
-
-//
-// Declarations:
-//
-
/* 802A68F4-802A6928 2A1234 0034+00 0/0 2/2 0/0 .text __ct__15JAUSeqDataBlockFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm JAUSeqDataBlock::JAUSeqDataBlock() {
- nofralloc
-#include "asm/JSystem/JAudio2/JAUSeqDataBlockMgr/__ct__15JAUSeqDataBlockFv.s"
-}
-#pragma pop
+JAUSeqDataBlock::JAUSeqDataBlock() : field_0x0(this) {}
/* 802A6928-802A6974 2A1268 004C+00 1/1 0/0 0/0 .text getSeqData__16JAUSeqDataBlocksF10JAISoundID
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void JAUSeqDataBlocks::getSeqData(JAISoundID param_0) {
- nofralloc
-#include "asm/JSystem/JAudio2/JAUSeqDataBlockMgr/getSeqData__16JAUSeqDataBlocksF10JAISoundID.s"
+u8* JAUSeqDataBlocks::getSeqData(JAISoundID param_0) {
+ // fake match. Should be
+ // if (param_0.isAnonymous()) {
+ // But doesn't match
+ if ((u32)param_0 == 0xffffffff) {
+ return NULL;
+ }
+ for (JSULink<JAUSeqDataBlock>* link = field_0x0.getFirst(); link != NULL;
+ link = link->getNext())
+ {
+ if ((u32)link->getObject()->field_0x10 == (u32)param_0) {
+ return link->getObject()->field_0x14.addr;
+ }
+ }
+ return NULL;
}
-#pragma pop
/* 802A6974-802A69D8 2A12B4 0064+00 1/1 0/0 0/0 .text seekFreeBlock__16JAUSeqDataBlocksFUl */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void JAUSeqDataBlocks::seekFreeBlock(u32 param_0) {
- nofralloc
-#include "asm/JSystem/JAudio2/JAUSeqDataBlockMgr/seekFreeBlock__16JAUSeqDataBlocksFUl.s"
+JSULink<JAUSeqDataBlock>* JAUSeqDataBlocks::seekFreeBlock(u32 size) {
+ u32 currentBlockSize = 0xffffffff;
+ JSULink<JAUSeqDataBlock>* rv = NULL;
+ for (JSULink<JAUSeqDataBlock>* link = field_0x0.getFirst(); link != NULL; link = link->getNext())
+ {
+ if (link->getObject()->field_0x10.isAnonymous()) {
+ u32 blockSize = link->getObject()->field_0x14.size;
+ if (blockSize >= size && blockSize < currentBlockSize) {
+ rv = link;
+ currentBlockSize = blockSize;
+ }
+ }
+ }
+ if (rv != NULL) {
+ return rv;
+ }
+ return NULL;
}
-#pragma pop
/* 802A69D8-802A69F8 2A1318 0020+00 5/5 0/0 0/0 .text
* append__16JAUSeqDataBlocksFP26JSULink<15JAUSeqDataBlock> */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void JAUSeqDataBlocks::append(JSULink<JAUSeqDataBlock>* param_0) {
- nofralloc
-#include "asm/JSystem/JAudio2/JAUSeqDataBlockMgr/func_802A69D8.s"
+bool JAUSeqDataBlocks::append(JSULink<JAUSeqDataBlock>* param_0) {
+ return field_0x0.append(param_0);
}
-#pragma pop
/* 802A69F8-802A6A18 2A1338 0020+00 4/4 0/0 0/0 .text
* remove__16JAUSeqDataBlocksFP26JSULink<15JAUSeqDataBlock> */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void JAUSeqDataBlocks::remove(JSULink<JAUSeqDataBlock>* param_0) {
- nofralloc
-#include "asm/JSystem/JAudio2/JAUSeqDataBlockMgr/func_802A69F8.s"
+bool JAUSeqDataBlocks::remove(JSULink<JAUSeqDataBlock>* param_0) {
+ return field_0x0.remove(param_0);
}
-#pragma pop
/* 802A6A18-802A6A58 2A1358 0040+00 1/1 0/0 0/0 .text
* hasFailedBlock__16JAUSeqDataBlocksF10JAISoundID */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void JAUSeqDataBlocks::hasFailedBlock(JAISoundID param_0) {
- nofralloc
-#include "asm/JSystem/JAudio2/JAUSeqDataBlockMgr/hasFailedBlock__16JAUSeqDataBlocksF10JAISoundID.s"
+bool JAUSeqDataBlocks::hasFailedBlock(JAISoundID param_0) {
+ JSULink<JAUSeqDataBlock>* rv = NULL;
+ for (JSULink<JAUSeqDataBlock>* link = field_0x0.getFirst(); link != NULL; link = link->getNext())
+ {
+ if (link->getObject()->field_0x10 == param_0) {
+ link->getObject()->field_0x10.setAnonymous();
+ return true;
+ }
+ }
+ return false;
}
-#pragma pop
/* 802A6A58-802A6AA0 2A1398 0048+00 0/0 2/2 0/0 .text __ct__23JAUDynamicSeqDataBlocksFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm JAUDynamicSeqDataBlocks::JAUDynamicSeqDataBlocks() {
- nofralloc
-#include "asm/JSystem/JAudio2/JAUSeqDataBlockMgr/__ct__23JAUDynamicSeqDataBlocksFv.s"
+JAUDynamicSeqDataBlocks::JAUDynamicSeqDataBlocks() {
+ seqDataArchive_ = NULL;
}
-#pragma pop
/* 802A6AA0-802A6AA8 -00001 0008+00 0/0 0/0 0/0 .text
* setSeqDataArchive__23JAUDynamicSeqDataBlocksFP10JKRArchive */
@@ -149,80 +90,158 @@ void JAUDynamicSeqDataBlocks::setSeqDataArchive(JKRArchive* param_0) {
/* 802A6AA8-802A6B8C 2A13E8 00E4+00 0/0 1/1 0/0 .text
* getSeqData__23JAUDynamicSeqDataBlocksF10JAISoundIDP14JAISeqDataUserP10JAISeqDatab */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm s32 JAUDynamicSeqDataBlocks::getSeqData(JAISoundID param_0, JAISeqDataUser* param_1,
- JAISeqData* param_2, bool param_3) {
- nofralloc
-#include "asm/JSystem/JAudio2/JAUSeqDataBlockMgr/func_802A6AA8.s"
+s32 JAUDynamicSeqDataBlocks::getSeqData(JAISoundID param_0, JAISeqDataUser* param_1,
+ JAISeqData* param_2, bool param_3) {
+ rearrangeLoadingSeqs_();
+ if (field_0x0.hasFailedBlock(param_0)) {
+ return 0;
+ }
+
+ if (field_0xc.getSeqData(param_0)) {
+ return 1;
+ }
+
+ u8* seqData = field_0x18.getSeqData(param_0);
+ if (seqData != NULL) {
+ param_2->field_0x0 = seqData;
+ param_2->field_0x4 = 0;
+ return 2;
+ }
+
+ if (loadDynamicSeq(param_0, param_3, param_1)) {
+ return 1;
+ }
+ return 0;
}
-#pragma pop
/* 802A6B8C-802A6BF4 2A14CC 0068+00 0/0 2/2 0/0 .text
* appendDynamicSeqDataBlock__23JAUDynamicSeqDataBlocksFP15JAUSeqDataBlock */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool JAUDynamicSeqDataBlocks::appendDynamicSeqDataBlock(JAUSeqDataBlock* param_0) {
- nofralloc
-#include "asm/JSystem/JAudio2/JAUSeqDataBlockMgr/appendDynamicSeqDataBlock__23JAUDynamicSeqDataBlocksFP15JAUSeqDataBlock.s"
+bool JAUDynamicSeqDataBlocks::appendDynamicSeqDataBlock(JAUSeqDataBlock* seqDataBlock) {
+ rearrangeLoadingSeqs_();
+ if (seqDataBlock->field_0x10.isAnonymous()) {
+ field_0x0.append(&seqDataBlock->field_0x0);
+ } else {
+ field_0x18.append(&seqDataBlock->field_0x0);
+ }
+ return 1;
}
-#pragma pop
/* 802A6BF4-802A6C18 2A1534 0024+00 1/1 0/0 0/0 .text
* JAUDynamicSeqDataBlocks_receiveLoaded___FUlUl */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm void JAUDynamicSeqDataBlocks_receiveLoaded_(u32 param_0, u32 param_1) {
- nofralloc
-#include "asm/JSystem/JAudio2/JAUSeqDataBlockMgr/JAUDynamicSeqDataBlocks_receiveLoaded___FUlUl.s"
+static void JAUDynamicSeqDataBlocks_receiveLoaded_(u32 param_0, u32 param_1) {
+ JAUSeqDataBlock* seqDataBlock = ((JSULink<JAUSeqDataBlock>*)param_1)->getObject();
+ if (param_0 != NULL) {
+ seqDataBlock->field_0x1c = 2;
+ } else {
+ seqDataBlock->field_0x1c = 0;
+ }
}
-#pragma pop
/* 802A6C18-802A6D48 2A1558 0130+00 1/1 2/2 0/0 .text
* loadDynamicSeq__23JAUDynamicSeqDataBlocksF10JAISoundIDbP14JAISeqDataUser */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool JAUDynamicSeqDataBlocks::loadDynamicSeq(JAISoundID param_0, bool param_1,
- JAISeqDataUser* param_2) {
- nofralloc
-#include "asm/JSystem/JAudio2/JAUSeqDataBlockMgr/loadDynamicSeq__23JAUDynamicSeqDataBlocksF10JAISoundIDbP14JAISeqDataUser.s"
+bool JAUDynamicSeqDataBlocks::loadDynamicSeq(JAISoundID param_0, bool param_1,
+ JAISeqDataUser* param_2) {
+ if (seqDataArchive_ == NULL) {
+ return false;
+ }
+ JAUSoundInfo* soundInfo = JASGlobalInstance<JAUSoundInfo>::getInstance();
+ if (soundInfo == NULL) {
+ return false;
+ }
+ u16 resourceId = soundInfo->getBgmSeqResourceID(param_0);
+ size_t resSize = JASResArcLoader::getResSize(seqDataArchive_, resourceId);
+ JSULink<JAUSeqDataBlock>* link = field_0x0.seekFreeBlock(resSize);
+ if (link == NULL) {
+ if (param_1) {
+ link = &releaseIdleDynamicSeqDataBlock_(param_2, resSize)->field_0x0;
+ if (link == NULL) {
+ return false;
+ }
+ } else {
+ return false;
+ }
+ }
+ field_0x0.remove(link);
+ JAUSeqDataBlock* seqDataBlock = link->getObject();
+ seqDataBlock->field_0x10 = param_0;
+ link->getObject()->field_0x1c = 1;
+ field_0xc.append(link);
+ JASResArcLoader::loadResourceAsync(
+ seqDataArchive_, resourceId,
+ link->getObject()->field_0x14.addr, link->getObject()->field_0x14.size,
+ JAUDynamicSeqDataBlocks_receiveLoaded_, (u32)link);
+ return true;
}
-#pragma pop
/* 802A6D48-802A6E00 2A1688 00B8+00 0/0 1/1 0/0 .text
* releaseIdleDynamicSeqDataBlock__23JAUDynamicSeqDataBlocksFP14JAISeqDataUser */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void JAUDynamicSeqDataBlocks::releaseIdleDynamicSeqDataBlock(JAISeqDataUser* param_0) {
- nofralloc
-#include "asm/JSystem/JAudio2/JAUSeqDataBlockMgr/releaseIdleDynamicSeqDataBlock__23JAUDynamicSeqDataBlocksFP14JAISeqDataUser.s"
+u32 JAUDynamicSeqDataBlocks::releaseIdleDynamicSeqDataBlock(JAISeqDataUser* param_0) {
+ rearrangeLoadingSeqs_();
+ u32 size = 0;
+ JSULink<JAUSeqDataBlock>* nextLink;
+ for (JSULink<JAUSeqDataBlock>* link = field_0x18.field_0x0.getFirst(); link != NULL; ) {
+ nextLink = link->getNext();
+ JAUSeqDataBlock* seqDataBlock = link->getObject();
+ if (param_0 == NULL || !param_0->isUsingSeqData(seqDataBlock->field_0x14)) {
+ field_0x18.remove(link);
+ JAUSeqDataBlock* seqDataBlock = link->getObject();
+ link->getObject()->field_0x10.setAnonymous();
+ if (size < seqDataBlock->field_0x14.size) {
+ size = seqDataBlock->field_0x14.size;
+ }
+ field_0x0.append(link);
+ }
+ link = nextLink;
+ }
+ return size;
}
-#pragma pop
/* 802A6E00-802A6EDC 2A1740 00DC+00 1/1 0/0 0/0 .text
* releaseIdleDynamicSeqDataBlock___23JAUDynamicSeqDataBlocksFP14JAISeqDataUserUl */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void JAUDynamicSeqDataBlocks::releaseIdleDynamicSeqDataBlock_(JAISeqDataUser* param_0,
- u32 param_1) {
- nofralloc
-#include "asm/JSystem/JAudio2/JAUSeqDataBlockMgr/releaseIdleDynamicSeqDataBlock___23JAUDynamicSeqDataBlocksFP14JAISeqDataUserUl.s"
+JAUSeqDataBlock*
+JAUDynamicSeqDataBlocks::releaseIdleDynamicSeqDataBlock_(JAISeqDataUser* param_0, u32 param_1) {
+ rearrangeLoadingSeqs_();
+ u32 minSize = 0xffffffff;
+ JSULink<JAUSeqDataBlock>* foundBlock = NULL;
+ JSULink<JAUSeqDataBlock>* link = field_0x18.field_0x0.getFirst();
+ JSULink<JAUSeqDataBlock>* nextLink;
+ while (link != NULL) {
+ nextLink = link->getNext();
+ JAUSeqDataBlock* seqDataBlock = link->getObject();
+ if (param_0 == NULL || !param_0->isUsingSeqData(seqDataBlock->field_0x14)) {
+ u32 size = seqDataBlock->field_0x14.size;
+ if (size >= param_1 && size < minSize) {
+ foundBlock = link;
+ minSize = size;
+ }
+ }
+ link = nextLink;
+ }
+ if (foundBlock != NULL) {
+ field_0x18.remove(foundBlock);
+ JAUSeqDataBlock* seqDataBlock = foundBlock->getObject();
+ seqDataBlock->field_0x10.setAnonymous();
+ field_0x0.append(foundBlock);
+ return foundBlock->getObject();
+ }
+ return NULL;
}
-#pragma pop
/* 802A6EDC-802A6F70 2A181C 0094+00 4/4 0/0 0/0 .text
* rearrangeLoadingSeqs___23JAUDynamicSeqDataBlocksFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void JAUDynamicSeqDataBlocks::rearrangeLoadingSeqs_() {
- nofralloc
-#include "asm/JSystem/JAudio2/JAUSeqDataBlockMgr/rearrangeLoadingSeqs___23JAUDynamicSeqDataBlocksFv.s"
+void JAUDynamicSeqDataBlocks::rearrangeLoadingSeqs_() {
+ JSULink<JAUSeqDataBlock>* link = field_0xc.field_0x0.getFirst();
+ JSULink<JAUSeqDataBlock>* nextLink;
+ while (link != NULL) {
+ nextLink = link->getNext();
+ JAUSeqDataBlock* seqDataBlock = link->getObject();
+ if (seqDataBlock->field_0x1c == 0) {
+ field_0xc.remove(link);
+ field_0x0.append(link);
+ } else if (seqDataBlock->field_0x1c == 2) {
+ field_0xc.remove(link);
+ field_0x18.append(link);
+ }
+ link = nextLink;
+ }
}
-#pragma pop
diff --git a/libs/JSystem/JAudio2/JAUSoundTable.cpp b/libs/JSystem/JAudio2/JAUSoundTable.cpp
index d18231f750..1deb81f88c 100644
--- a/libs/JSystem/JAudio2/JAUSoundTable.cpp
+++ b/libs/JSystem/JAudio2/JAUSoundTable.cpp
@@ -1,6 +1,5 @@
//
-// Generated By: dol2asm
-// Translation Unit: JAUSoundTable
+// JAUSoundTable
//
#include "JSystem/JAudio2/JAUSoundTable.h"
diff --git a/libs/Z2AudioLib/Z2Audience.cpp b/libs/Z2AudioLib/Z2Audience.cpp
index b5d4f9909a..3088fb5d93 100644
--- a/libs/Z2AudioLib/Z2Audience.cpp
+++ b/libs/Z2AudioLib/Z2Audience.cpp
@@ -301,7 +301,7 @@ SECTION_SDATA2 static f64 lit_1008 = 4503599627370496.0 /* cast u32 to float */;
void Z2Audible::setOuterParams(JASSoundParams const& param_0, JASSoundParams const& param_1,
int param_2) {
Z2AudibleChannel* this_01 = &field_0x2c[param_2];
- u32 iStack_94 = (field_0x10.field_0x0.b.f1 & 0xf00) >> 8;
+ u32 iStack_94 = (field_0x10.field_0x0.half.f1 & 0xf00) >> 8;
if (iStack_94 == 0) {
this_01->field_0x0.combine(param_0, param_1);
return;
@@ -1016,15 +1016,7 @@ asm Z2Audience::Z2Audience() {
#endif
/* 802BD1FC-802BD288 2B7B3C 008C+00 1/0 1/1 0/0 .text __dt__10Z2AudienceFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-extern "C" asm void __dt__10Z2AudienceFv() {
- // asm Z2Audience::~Z2Audience() {
- nofralloc
-#include "asm/Z2AudioLib/Z2Audience/__dt__10Z2AudienceFv.s"
-}
-#pragma pop
+Z2Audience::~Z2Audience() {}
/* 802BD288-802BD2DC 2B7BC8 0054+00 2/2 1/1 0/0 .text __dt__22JASMemPool<9Z2Audible>Fv */
#pragma push
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
diff --git a/obj_files.mk b/obj_files.mk
index c9c9534f4a..b70dfa94fa 100644
--- a/obj_files.mk
+++ b/obj_files.mk
@@ -1052,5 +1052,7 @@ O_FILES_SYM_ON := \
$(BUILD_DIR)/src/DynamicLink.o \
$(BUILD_DIR)/src/d/meter/d_meter_HIO.o \
$(BUILD_DIR)/libs/JSystem/JUtility/JUTResFont.o \
+ $(BUILD_DIR)/libs/JSystem/JAudio2/JAUAudioArcLoader.o \
+ $(BUILD_DIR)/libs/Z2AudioLib/Z2AudioArcLoader.o \
$(BUILD_DIR)/src/d/bg/d_bg_s_grp_pass_chk.o \
\ No newline at end of file