summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjdflyer <yeacub@gmail.com>2021-01-21 21:47:28 -0700
committerjdflyer <yeacub@gmail.com>2021-01-21 21:47:28 -0700
commitff7ac962f141de063e9b9db0e7ade8af74bdf53d (patch)
tree92897208e33d2b12644bce966b95b4a760728d1f
parent7b97550cee460008a12da5355a3ea9f43fca33e0 (diff)
m_Do_audio
-rw-r--r--asm/JAudio2/JAISeMgr.s20
-rw-r--r--asm/JAudio2/JAISeqMgr.s4
-rw-r--r--asm/JAudio2/JAIStreamMgr.s4
-rw-r--r--asm/JAudio2/JASDriverIF.s4
-rw-r--r--asm/JAudio2/JAUInitializer.s4
-rw-r--r--asm/d/error/d_error_msg.s4
-rw-r--r--asm/d/menu/d_menu_option.s6
-rw-r--r--asm/d/ovlp/d_ovlp_fade.s4
-rw-r--r--asm/d/ovlp/d_ovlp_fade3.s4
-rw-r--r--asm/d/s/d_s_logo.s2
-rw-r--r--asm/d/s/d_s_play.s6
-rw-r--r--asm/m/Do/m_Do_audio.s718
-rw-r--r--include/JSystem/JAudio2/JAUClusterSound/JAUClusterSound.h1
-rw-r--r--include/Z2AudioLib/Z2AudioLib.h9
-rw-r--r--include/Z2AudioLib/Z2AudioMgr/Z2AudioMgr.h27
-rw-r--r--include/Z2AudioLib/Z2AudioMgr/asm/func_802CD888.s2
-rw-r--r--include/Z2AudioLib/Z2SceneMgr/Z2SceneMgr.h4
-rw-r--r--include/Z2AudioLib/Z2SeMgr/Z2SeMgr.h1
-rw-r--r--include/Z2AudioLib/Z2SeMgr/asm/func_802AB64C.s12
-rw-r--r--include/Z2AudioLib/Z2SoundMgr/asm/func_802A9E80.s6
-rw-r--r--include/d/d_com/d_com_inf_game/asm/func_8002CC54.s2
-rw-r--r--include/d/d_com/d_com_inf_game/asm/func_8002CD44.s2
-rw-r--r--include/d/d_kankyo/asm/func_801A37C4.s2
-rw-r--r--include/d/d_save/d_save/asm/func_80035A04.s6
-rw-r--r--include/functions.h11
-rw-r--r--include/m_Do/m_Do_audio/asm/JAISeCategoryMgr_NS_dtor.s32
-rw-r--r--include/m_Do/m_Do_audio/asm/JAISoundHandle_NS_dtor.s21
-rw-r--r--include/m_Do/m_Do_audio/asm/Z2AudioMgr_NS_dtor.s315
-rw-r--r--include/m_Do/m_Do_audio/asm/Z2MultiSeObj_NS_dtor.s22
-rw-r--r--include/m_Do/m_Do_audio/asm/__sinit_m_Do_audio_cpp.s20
-rw-r--r--include/m_Do/m_Do_audio/asm/mDoAud_Create.s112
-rw-r--r--include/m_Do/m_Do_audio/asm/mDoAud_zelAudio_c_NS_dtor.s25
-rw-r--r--include/m_Do/m_Do_audio/m_Do_audio.h93
-rw-r--r--include/m_Do/m_Do_main/asm/func_8000628C.s2
-rw-r--r--include/m_Do/m_Do_main/m_Do_main.h5
-rw-r--r--include/variables.h3
-rw-r--r--ldscript.lcf6
-rw-r--r--libs/Z2AudioLib/Z2AudioMgr.cpp35
-rw-r--r--libs/Z2AudioLib/Z2Creature.cpp1
-rw-r--r--libs/Z2AudioLib/Z2SceneMgr.cpp2
-rw-r--r--libs/Z2AudioLib/Z2SeMgr.cpp2
-rw-r--r--libs/Z2AudioLib/Z2SoundMgr.cpp1
-rw-r--r--libs/Z2AudioLib/Z2SoundStarter.cpp1
-rw-r--r--libs/Z2AudioLib/Z2SpeechMgr2.cpp1
-rw-r--r--obj_files.mk2
-rw-r--r--src/d/d_a/d_a_alink.cpp1
-rw-r--r--src/d/d_attention.cpp1
-rw-r--r--src/d/d_camera.cpp1
-rw-r--r--src/d/d_com/d_com_inf_game.cpp1
-rw-r--r--src/d/d_kankyo.cpp1
-rw-r--r--src/d/d_kankyo/d_kankyo_wether.cpp1
-rw-r--r--src/d/d_meter/d_meter_button.cpp1
-rw-r--r--src/d/d_meter/d_meter_map.cpp1
-rw-r--r--src/d/d_meter2.cpp1
-rw-r--r--src/d/d_meter2/d_meter2_draw.cpp1
-rw-r--r--src/d/d_save/d_save.cpp4
-rw-r--r--src/m_Do/m_Do_Reset.cpp5
-rw-r--r--src/m_Do/m_Do_audio.cpp98
-rw-r--r--src/m_Do/m_Do_main.cpp3
59 files changed, 882 insertions, 804 deletions
diff --git a/asm/JAudio2/JAISeMgr.s b/asm/JAudio2/JAISeMgr.s
index 8eb846d8ec..938bb0abd5 100644
--- a/asm/JAudio2/JAISeMgr.s
+++ b/asm/JAudio2/JAISeMgr.s
@@ -602,8 +602,8 @@ lbl_802A005C:
/* 802A006C 0029CFAC 38 21 00 40 */ addi r1, r1, 0x40
/* 802A0070 0029CFB0 4E 80 00 20 */ blr
-.global JAISeMgr
-JAISeMgr:
+.global __ct__8JAISeMgrFb
+__ct__8JAISeMgrFb:
/* 802A0074 0029CFB4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802A0078 0029CFB8 7C 08 02 A6 */ mflr r0
/* 802A007C 0029CFBC 90 01 00 14 */ stw r0, 0x14(r1)
@@ -624,10 +624,10 @@ lbl_802A0094:
/* 802A00B0 0029CFF0 3C 80 80 2A */ lis r4, JAISeCategoryMgr@ha
.global JAISeCategoryMgr
/* 802A00B4 0029CFF4 38 84 09 94 */ addi r4, r4, JAISeCategoryMgr@l
-.global JAISeCategoryMgr_NS_dtor
-/* 802A00B8 0029CFF8 3C A0 80 00 */ lis r5, JAISeCategoryMgr_NS_dtor@ha
-.global JAISeCategoryMgr_NS_dtor
-/* 802A00BC 0029CFFC 38 A5 78 DC */ addi r5, r5, JAISeCategoryMgr_NS_dtor@l
+.global __dt__16JAISeCategoryMgrFv
+/* 802A00B8 0029CFF8 3C A0 80 00 */ lis r5, __dt__16JAISeCategoryMgrFv@ha
+.global __dt__16JAISeCategoryMgrFv
+/* 802A00BC 0029CFFC 38 A5 78 DC */ addi r5, r5, __dt__16JAISeCategoryMgrFv@l
/* 802A00C0 0029D000 38 C0 00 6C */ li r6, 0x6c
/* 802A00C4 0029D004 38 E0 00 10 */ li r7, 0x10
/* 802A00C8 0029D008 48 0C 1C 99 */ bl func_80361D60
@@ -1247,10 +1247,10 @@ lbl_802A08E0:
/* 802A0920 0029D860 38 03 98 B0 */ addi r0, r3, lbl_803C98B0@l
/* 802A0924 0029D864 90 1E 00 00 */ stw r0, 0(r30)
/* 802A0928 0029D868 38 7E 00 14 */ addi r3, r30, 0x14
-.global JAISeCategoryMgr_NS_dtor
-/* 802A092C 0029D86C 3C 80 80 00 */ lis r4, JAISeCategoryMgr_NS_dtor@ha
-.global JAISeCategoryMgr_NS_dtor
-/* 802A0930 0029D870 38 84 78 DC */ addi r4, r4, JAISeCategoryMgr_NS_dtor@l
+.global __dt__16JAISeCategoryMgrFv
+/* 802A092C 0029D86C 3C 80 80 00 */ lis r4, __dt__16JAISeCategoryMgrFv@ha
+.global __dt__16JAISeCategoryMgrFv
+/* 802A0930 0029D870 38 84 78 DC */ addi r4, r4, __dt__16JAISeCategoryMgrFv@l
/* 802A0934 0029D874 38 A0 00 6C */ li r5, 0x6c
/* 802A0938 0029D878 38 C0 00 10 */ li r6, 0x10
/* 802A093C 0029D87C 48 0C 13 AD */ bl func_80361CE8
diff --git a/asm/JAudio2/JAISeqMgr.s b/asm/JAudio2/JAISeqMgr.s
index 901342a3e8..52531526fa 100644
--- a/asm/JAudio2/JAISeqMgr.s
+++ b/asm/JAudio2/JAISeqMgr.s
@@ -85,8 +85,8 @@ lbl_802A18FC:
/* 802A190C 0029E84C 38 21 00 20 */ addi r1, r1, 0x20
/* 802A1910 0029E850 4E 80 00 20 */ blr
-.global JAISeqMgr
-JAISeqMgr:
+.global __ct__9JAISeqMgrFb
+__ct__9JAISeqMgrFb:
/* 802A1914 0029E854 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802A1918 0029E858 7C 08 02 A6 */ mflr r0
/* 802A191C 0029E85C 90 01 00 14 */ stw r0, 0x14(r1)
diff --git a/asm/JAudio2/JAIStreamMgr.s b/asm/JAudio2/JAIStreamMgr.s
index 8cfbd13dbb..59e839a1a3 100644
--- a/asm/JAudio2/JAIStreamMgr.s
+++ b/asm/JAudio2/JAIStreamMgr.s
@@ -3,8 +3,8 @@
.section .text, "ax" # 802a3b68
-.global JAIStreamMgr
-JAIStreamMgr:
+.global __ct__12JAIStreamMgrFb
+__ct__12JAIStreamMgrFb:
/* 802A3B68 002A0AA8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802A3B6C 002A0AAC 7C 08 02 A6 */ mflr r0
/* 802A3B70 002A0AB0 90 01 00 14 */ stw r0, 0x14(r1)
diff --git a/asm/JAudio2/JASDriverIF.s b/asm/JAudio2/JASDriverIF.s
index 346077ca0a..a894308c61 100644
--- a/asm/JAudio2/JASDriverIF.s
+++ b/asm/JAudio2/JASDriverIF.s
@@ -30,8 +30,8 @@ JASDriver_NS_getDSPLevel:
/* 8029E170 0029B0B0 38 21 00 10 */ addi r1, r1, 0x10
/* 8029E174 0029B0B4 4E 80 00 20 */ blr
-.global JASDriver_NS_setOutputMode
-JASDriver_NS_setOutputMode:
+.global setOutputMode__9JASDriverFUl
+setOutputMode__9JASDriverFUl:
/* 8029E178 0029B0B8 90 6D 82 44 */ stw r3, lbl_804507C4-_SDA_BASE_(r13)
/* 8029E17C 0029B0BC 4E 80 00 20 */ blr
diff --git a/asm/JAudio2/JAUInitializer.s b/asm/JAudio2/JAUInitializer.s
index 32bbc7afc6..fcbca1b238 100644
--- a/asm/JAudio2/JAUInitializer.s
+++ b/asm/JAudio2/JAUInitializer.s
@@ -167,11 +167,11 @@ lbl_802A4CF4:
/* 802A4D0C 002A1C4C 48 00 00 18 */ b lbl_802A4D24
lbl_802A4D10:
/* 802A4D10 002A1C50 38 60 00 00 */ li r3, 0
-/* 802A4D14 002A1C54 4B FF 94 65 */ bl JASDriver_NS_setOutputMode
+/* 802A4D14 002A1C54 4B FF 94 65 */ bl setOutputMode__9JASDriverFUl
/* 802A4D18 002A1C58 48 00 00 0C */ b lbl_802A4D24
lbl_802A4D1C:
/* 802A4D1C 002A1C5C 38 60 00 01 */ li r3, 1
-/* 802A4D20 002A1C60 4B FF 94 59 */ bl JASDriver_NS_setOutputMode
+/* 802A4D20 002A1C60 4B FF 94 59 */ bl setOutputMode__9JASDriverFUl
lbl_802A4D24:
/* 802A4D24 002A1C64 39 61 00 20 */ addi r11, r1, 0x20
/* 802A4D28 002A1C68 48 0B D5 01 */ bl _restgpr_29
diff --git a/asm/d/error/d_error_msg.s b/asm/d/error/d_error_msg.s
index c8788aae23..684b61f05e 100644
--- a/asm/d/error/d_error_msg.s
+++ b/asm/d/error/d_error_msg.s
@@ -840,7 +840,7 @@ lbl_8009D7C0:
/* 8009D7D0 0009A710 88 03 05 18 */ lbz r0, 0x518(r3)
/* 8009D7D4 0009A714 28 00 00 00 */ cmplwi r0, 0
/* 8009D7D8 0009A718 41 82 00 20 */ beq lbl_8009D7F8
-/* 8009D7DC 0009A71C 4B F6 9A E9 */ bl mDoAud_resetRecover
+/* 8009D7DC 0009A71C 4B F6 9A E9 */ bl mDoAud_resetRecover__Fv
/* 8009D7E0 0009A720 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8009D7E4 0009A724 40 82 00 14 */ bne lbl_8009D7F8
/* 8009D7E8 0009A728 88 6D 81 08 */ lbz r3, lbl_80450688-_SDA_BASE_(r13)
@@ -854,7 +854,7 @@ lbl_8009D7F8:
/* 8009D804 0009A744 80 6D 8D E8 */ lwz r3, lbl_80451368-_SDA_BASE_(r13)
/* 8009D808 0009A748 38 80 00 10 */ li r4, 0x10
/* 8009D80C 0009A74C 38 A0 00 01 */ li r5, 1
-/* 8009D810 0009A750 48 23 01 65 */ bl Z2AudioMgr_NS_resetProcess
+/* 8009D810 0009A750 48 23 01 65 */ bl resetProcess__10Z2AudioMgrFUlb
lbl_8009D814:
/* 8009D814 0009A754 88 6D 81 08 */ lbz r3, lbl_80450688-_SDA_BASE_(r13)
/* 8009D818 0009A758 4B FF FB F9 */ bl drawCapture
diff --git a/asm/d/menu/d_menu_option.s b/asm/d/menu/d_menu_option.s
index ff94a2935e..689d9f05e6 100644
--- a/asm/d/menu/d_menu_option.s
+++ b/asm/d/menu/d_menu_option.s
@@ -2726,7 +2726,7 @@ lbl_801E4690:
/* 801E469C 001E15DC 3C 80 80 39 */ lis r4, lbl_80396EA8@ha
/* 801E46A0 001E15E0 38 84 6E A8 */ addi r4, r4, lbl_80396EA8@l
/* 801E46A4 001E15E4 7C 84 00 2E */ lwzx r4, r4, r0
-/* 801E46A8 001E15E8 48 0E 91 E1 */ bl Z2AudioMgr_NS_setOutputMode
+/* 801E46A8 001E15E8 48 0E 91 E1 */ bl setOutputMode__10Z2AudioMgrFUl
/* 801E46AC 001E15EC 7F E3 FB 78 */ mr r3, r31
/* 801E46B0 001E15F0 88 1F 03 E9 */ lbz r0, 0x3e9(r31)
/* 801E46B4 001E15F4 54 00 10 3A */ slwi r0, r0, 2
@@ -2829,7 +2829,7 @@ lbl_801E480C:
/* 801E4818 001E1758 3C 80 80 39 */ lis r4, lbl_80396EA8@ha
/* 801E481C 001E175C 38 84 6E A8 */ addi r4, r4, lbl_80396EA8@l
/* 801E4820 001E1760 7C 84 00 2E */ lwzx r4, r4, r0
-/* 801E4824 001E1764 48 0E 90 65 */ bl Z2AudioMgr_NS_setOutputMode
+/* 801E4824 001E1764 48 0E 90 65 */ bl setOutputMode__10Z2AudioMgrFUl
/* 801E4828 001E1768 7F E3 FB 78 */ mr r3, r31
/* 801E482C 001E176C 88 1F 03 E9 */ lbz r0, 0x3e9(r31)
/* 801E4830 001E1770 54 00 10 3A */ slwi r0, r0, 2
@@ -3447,7 +3447,7 @@ lbl_801E50F0:
/* 801E5140 001E2080 3C 80 80 39 */ lis r4, lbl_80396EA8@ha
/* 801E5144 001E2084 38 84 6E A8 */ addi r4, r4, lbl_80396EA8@l
/* 801E5148 001E2088 7C 84 00 2E */ lwzx r4, r4, r0
-/* 801E514C 001E208C 48 0E 87 3D */ bl Z2AudioMgr_NS_setOutputMode
+/* 801E514C 001E208C 48 0E 87 3D */ bl setOutputMode__10Z2AudioMgrFUl
/* 801E5150 001E2090 7F E3 FB 78 */ mr r3, r31
/* 801E5154 001E2094 88 1F 03 E9 */ lbz r0, 0x3e9(r31)
/* 801E5158 001E2098 54 00 10 3A */ slwi r0, r0, 2
diff --git a/asm/d/ovlp/d_ovlp_fade.s b/asm/d/ovlp/d_ovlp_fade.s
index 6232b5e9b7..ab569b167e 100644
--- a/asm/d/ovlp/d_ovlp_fade.s
+++ b/asm/d/ovlp/d_ovlp_fade.s
@@ -49,7 +49,7 @@ dOvlpFd_FadeOut:
/* 80252214 0024F154 2C 00 00 00 */ cmpwi r0, 0
/* 80252218 0024F158 40 82 00 4C */ bne lbl_80252264
/* 8025221C 0024F15C 38 60 00 00 */ li r3, 0
-/* 80252220 0024F160 4B DB 50 35 */ bl mDoAud_setFadeInStart
+/* 80252220 0024F160 4B DB 50 35 */ bl mDoAud_setFadeInStart__FUc
/* 80252224 0024F164 A8 1E 00 0E */ lha r0, 0xe(r30)
/* 80252228 0024F168 2C 00 00 08 */ cmpwi r0, 8
/* 8025222C 0024F16C 40 82 00 10 */ bne lbl_8025223C
@@ -175,7 +175,7 @@ lbl_802523B4:
lbl_802523BC:
/* 802523BC 0024F2FC 93 DF 00 D4 */ stw r30, 0xd4(r31)
/* 802523C0 0024F300 38 60 00 00 */ li r3, 0
-/* 802523C4 0024F304 4B DB 4E 61 */ bl mDoAud_setFadeOutStart
+/* 802523C4 0024F304 4B DB 4E 61 */ bl mDoAud_setFadeOutStart__FUc
lbl_802523C8:
/* 802523C8 0024F308 80 7F 00 D0 */ lwz r3, 0xd0(r31)
/* 802523CC 0024F30C 34 03 FF FF */ addic. r0, r3, -1
diff --git a/asm/d/ovlp/d_ovlp_fade3.s b/asm/d/ovlp/d_ovlp_fade3.s
index 914eb02638..f5cb04b412 100644
--- a/asm/d/ovlp/d_ovlp_fade3.s
+++ b/asm/d/ovlp/d_ovlp_fade3.s
@@ -497,7 +497,7 @@ lbl_8025365C:
/* 8025365C 0025059C 38 00 00 5A */ li r0, 0x5a
/* 80253660 002505A0 98 1F 01 1D */ stb r0, 0x11d(r31)
/* 80253664 002505A4 38 60 00 00 */ li r3, 0
-/* 80253668 002505A8 4B DB 3B BD */ bl mDoAud_setFadeOutStart
+/* 80253668 002505A8 4B DB 3B BD */ bl mDoAud_setFadeOutStart__FUc
/* 8025366C 002505AC 48 00 00 0C */ b lbl_80253678
lbl_80253670:
/* 80253670 002505B0 38 7F 01 1D */ addi r3, r31, 0x11d
@@ -527,7 +527,7 @@ lbl_80253678:
/* 802536CC 0025060C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802536D0 00250610 40 82 00 4C */ bne lbl_8025371C
/* 802536D4 00250614 38 60 00 00 */ li r3, 0
-/* 802536D8 00250618 4B DB 3B 7D */ bl mDoAud_setFadeInStart
+/* 802536D8 00250618 4B DB 3B 7D */ bl mDoAud_setFadeInStart__FUc
/* 802536DC 0025061C A8 7F 01 10 */ lha r3, 0x110(r31)
/* 802536E0 00250620 A8 1F 01 12 */ lha r0, 0x112(r31)
/* 802536E4 00250624 7C 03 02 14 */ add r0, r3, r0
diff --git a/asm/d/s/d_s_logo.s b/asm/d/s/d_s_logo.s
index 142eb1678c..84b1075d8f 100644
--- a/asm/d/s/d_s_logo.s
+++ b/asm/d/s/d_s_logo.s
@@ -1249,7 +1249,7 @@ dScnLogo_c_NS_dtor:
/* 802572F4 00254234 80 6D 8D E8 */ lwz r3, lbl_80451368-_SDA_BASE_(r13)
/* 802572F8 00254238 38 80 00 05 */ li r4, 5
/* 802572FC 0025423C 38 A0 00 01 */ li r5, 1
-/* 80257300 00254240 48 07 66 75 */ bl Z2AudioMgr_NS_resetProcess
+/* 80257300 00254240 48 07 66 75 */ bl resetProcess__10Z2AudioMgrFUlb
lbl_80257304:
/* 80257304 00254244 38 60 00 00 */ li r3, 0
/* 80257308 00254248 3C 80 80 00 */ lis r4, 0x8000
diff --git a/asm/d/s/d_s_play.s b/asm/d/s/d_s_play.s
index ac2574ffc8..014fe7b2e4 100644
--- a/asm/d/s/d_s_play.s
+++ b/asm/d/s/d_s_play.s
@@ -491,7 +491,7 @@ dScnPly_c_NS_resetGame:
/* 80259AF4 00256A34 38 60 00 00 */ li r3, 0
/* 80259AF8 00256A38 48 00 00 F0 */ b lbl_80259BE8
lbl_80259AFC:
-/* 80259AFC 00256A3C 4B DA D7 C9 */ bl mDoAud_resetRecover
+/* 80259AFC 00256A3C 4B DA D7 C9 */ bl mDoAud_resetRecover__Fv
/* 80259B00 00256A40 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80259B04 00256A44 40 82 00 0C */ bne lbl_80259B10
/* 80259B08 00256A48 38 60 00 00 */ li r3, 0
@@ -653,8 +653,8 @@ lbl_80259D14:
/* 80259D3C 00256C7C 7C 65 1B 78 */ mr r5, r3
/* 80259D40 00256C80 7F C3 F3 78 */ mr r3, r30
/* 80259D44 00256C84 7F E4 FB 78 */ mr r4, r31
-/* 80259D48 00256C88 4B DA D4 75 */ bl mDoAud_setSceneName
-/* 80259D4C 00256C8C 4B DA D4 AD */ bl mDoAud_load1stDynamicWave
+/* 80259D48 00256C88 4B DA D4 75 */ bl mDoAud_setSceneName__FPCcll
+/* 80259D4C 00256C8C 4B DA D4 AD */ bl mDoAud_load1stDynamicWave__Fv
/* 80259D50 00256C90 2C 03 00 00 */ cmpwi r3, 0
/* 80259D54 00256C94 40 82 00 0C */ bne lbl_80259D60
/* 80259D58 00256C98 38 60 00 00 */ li r3, 0
diff --git a/asm/m/Do/m_Do_audio.s b/asm/m/Do/m_Do_audio.s
deleted file mode 100644
index 7e602fa179..0000000000
--- a/asm/m/Do/m_Do_audio.s
+++ /dev/null
@@ -1,718 +0,0 @@
-.include "macros.inc"
-
-.section .text, "ax" # 80006fb4
-
-
-.global mDoAud_zelAudio_c_NS_reset
-mDoAud_zelAudio_c_NS_reset:
-/* 80006FB4 00003EF4 38 00 00 00 */ li r0, 0
-/* 80006FB8 00003EF8 98 0D 86 3A */ stb r0, lbl_80450BBA-_SDA_BASE_(r13)
-/* 80006FBC 00003EFC 4E 80 00 20 */ blr
-
-.global mDoAud_Create
-mDoAud_Create:
-/* 80006FC0 00003F00 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 80006FC4 00003F04 7C 08 02 A6 */ mflr r0
-/* 80006FC8 00003F08 90 01 00 14 */ stw r0, 0x14(r1)
-/* 80006FCC 00003F0C 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 80006FD0 00003F10 80 0D 86 40 */ lwz r0, lbl_80450BC0-_SDA_BASE_(r13)
-/* 80006FD4 00003F14 28 00 00 00 */ cmplwi r0, 0
-/* 80006FD8 00003F18 40 82 00 24 */ bne lbl_80006FFC
-/* 80006FDC 00003F1C 3C 60 80 37 */ lis r3, lbl_80373D68@ha
-/* 80006FE0 00003F20 38 63 3D 68 */ addi r3, r3, lbl_80373D68@l
-/* 80006FE4 00003F24 38 80 00 02 */ li r4, 2
-/* 80006FE8 00003F28 38 A0 00 00 */ li r5, 0
-/* 80006FEC 00003F2C 48 00 F3 A9 */ bl mDoDvdThd_toMainRam_c_NS_create
-/* 80006FF0 00003F30 90 6D 86 40 */ stw r3, lbl_80450BC0-_SDA_BASE_(r13)
-/* 80006FF4 00003F34 28 03 00 00 */ cmplwi r3, 0
-/* 80006FF8 00003F38 41 82 01 58 */ beq lbl_80007150
-lbl_80006FFC:
-/* 80006FFC 00003F3C 80 0D 86 44 */ lwz r0, lbl_80450BC4-_SDA_BASE_(r13)
-/* 80007000 00003F40 28 00 00 00 */ cmplwi r0, 0
-/* 80007004 00003F44 40 82 00 2C */ bne lbl_80007030
-/* 80007008 00003F48 3C 60 80 37 */ lis r3, lbl_80373D68@ha
-/* 8000700C 00003F4C 38 63 3D 68 */ addi r3, r3, lbl_80373D68@l
-/* 80007010 00003F50 38 63 00 16 */ addi r3, r3, 0x16
-/* 80007014 00003F54 38 80 00 00 */ li r4, 0
-/* 80007018 00003F58 38 A0 00 03 */ li r5, 3
-/* 8000701C 00003F5C 38 C0 00 00 */ li r6, 0
-/* 80007020 00003F60 48 00 F1 C1 */ bl mDoDvdThd_mountXArchive_c_NS_create
-/* 80007024 00003F64 90 6D 86 44 */ stw r3, lbl_80450BC4-_SDA_BASE_(r13)
-/* 80007028 00003F68 28 03 00 00 */ cmplwi r3, 0
-/* 8000702C 00003F6C 41 82 01 24 */ beq lbl_80007150
-lbl_80007030:
-/* 80007030 00003F70 80 6D 86 40 */ lwz r3, lbl_80450BC0-_SDA_BASE_(r13)
-/* 80007034 00003F74 88 03 00 0C */ lbz r0, 0xc(r3)
-/* 80007038 00003F78 2C 00 00 00 */ cmpwi r0, 0
-/* 8000703C 00003F7C 41 82 01 14 */ beq lbl_80007150
-/* 80007040 00003F80 80 6D 86 44 */ lwz r3, lbl_80450BC4-_SDA_BASE_(r13)
-/* 80007044 00003F84 88 03 00 0C */ lbz r0, 0xc(r3)
-/* 80007048 00003F88 2C 00 00 00 */ cmpwi r0, 0
-/* 8000704C 00003F8C 41 82 01 04 */ beq lbl_80007150
-/* 80007050 00003F90 80 0D 86 3C */ lwz r0, lbl_80450BBC-_SDA_BASE_(r13)
-/* 80007054 00003F94 28 00 00 00 */ cmplwi r0, 0
-/* 80007058 00003F98 41 82 00 50 */ beq lbl_800070A8
-/* 8000705C 00003F9C 80 6D 8D F4 */ lwz r3, sCurrentHeap__7JKRHeap-_SDA_BASE_(r13)
-/* 80007060 00003FA0 38 80 00 05 */ li r4, 5
-/* 80007064 00003FA4 48 2C 77 4D */ bl changeGroupID__7JKRHeapFUc
-/* 80007068 00003FA8 7C 7F 1B 78 */ mr r31, r3
-/* 8000706C 00003FAC 80 6D 86 44 */ lwz r3, lbl_80450BC4-_SDA_BASE_(r13)
-/* 80007070 00003FB0 80 E3 00 1C */ lwz r7, 0x1c(r3)
-/* 80007074 00003FB4 80 6D 86 40 */ lwz r3, lbl_80450BC0-_SDA_BASE_(r13)
-/* 80007078 00003FB8 80 C3 00 1C */ lwz r6, 0x1c(r3)
-/* 8000707C 00003FBC 3C 60 80 3E */ lis r3, lbl_803DBF4C@ha
-/* 80007080 00003FC0 38 63 BF 4C */ addi r3, r3, lbl_803DBF4C@l
-/* 80007084 00003FC4 80 8D 86 3C */ lwz r4, lbl_80450BBC-_SDA_BASE_(r13)
-/* 80007088 00003FC8 3C A0 00 A0 */ lis r5, 0xa0
-/* 8000708C 00003FCC 48 2C 62 C1 */ bl Z2AudioMgr_NS_init
-/* 80007090 00003FD0 80 6D 8D F4 */ lwz r3, sCurrentHeap__7JKRHeap-_SDA_BASE_(r13)
-/* 80007094 00003FD4 57 E4 06 3E */ clrlwi r4, r31, 0x18
-/* 80007098 00003FD8 48 2C 77 19 */ bl changeGroupID__7JKRHeapFUc
-/* 8000709C 00003FDC 80 6D 86 3C */ lwz r3, lbl_80450BBC-_SDA_BASE_(r13)
-/* 800070A0 00003FE0 48 2C 9B 55 */ bl adjustSize__12JKRSolidHeapFv
-/* 800070A4 00003FE4 48 00 00 18 */ b lbl_800070BC
-lbl_800070A8:
-/* 800070A8 00003FE8 3C 60 80 37 */ lis r3, lbl_80373D68@ha
-/* 800070AC 00003FEC 38 63 3D 68 */ addi r3, r3, lbl_80373D68@l
-/* 800070B0 00003FF0 38 63 00 35 */ addi r3, r3, 0x35
-/* 800070B4 00003FF4 4C C6 31 82 */ crclr 6
-/* 800070B8 00003FF8 4B FF FB 55 */ bl OSReport_Error
-lbl_800070BC:
-/* 800070BC 00003FFC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha
-/* 800070C0 00004000 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l
-/* 800070C4 00004004 38 83 07 F0 */ addi r4, r3, 0x7f0
-/* 800070C8 00004008 3C 60 80 3E */ lis r3, lbl_803DBF4C@ha
-/* 800070CC 0000400C 38 63 BF 4C */ addi r3, r3, lbl_803DBF4C@l
-/* 800070D0 00004010 38 63 04 C4 */ addi r3, r3, 0x4c4
-/* 800070D4 00004014 48 2A F6 85 */ bl setEventBit__11Z2StatusMgrFPv
-/* 800070D8 00004018 3C 60 80 3E */ lis r3, lbl_803DBF4C@ha
-/* 800070DC 0000401C 38 63 BF 4C */ addi r3, r3, lbl_803DBF4C@l
-/* 800070E0 00004020 4B FF FE D5 */ bl mDoAud_zelAudio_c_NS_reset
-/* 800070E4 00004024 48 33 94 AD */ bl OSGetSoundMode
-/* 800070E8 00004028 7C 64 1B 78 */ mr r4, r3
-/* 800070EC 0000402C 80 6D 8D E8 */ lwz r3, lbl_80451368-_SDA_BASE_(r13)
-/* 800070F0 00004030 48 2C 67 99 */ bl Z2AudioMgr_NS_setOutputMode
-/* 800070F4 00004034 80 6D 86 40 */ lwz r3, lbl_80450BC0-_SDA_BASE_(r13)
-/* 800070F8 00004038 80 63 00 1C */ lwz r3, 0x1c(r3)
-/* 800070FC 0000403C 38 80 00 00 */ li r4, 0
-/* 80007100 00004040 48 2C 74 01 */ bl free__7JKRHeapFPvP7JKRHeap
-/* 80007104 00004044 80 6D 86 40 */ lwz r3, lbl_80450BC0-_SDA_BASE_(r13)
-/* 80007108 00004048 28 03 00 00 */ cmplwi r3, 0
-/* 8000710C 0000404C 41 82 00 18 */ beq lbl_80007124
-/* 80007110 00004050 38 80 00 01 */ li r4, 1
-/* 80007114 00004054 81 83 00 10 */ lwz r12, 0x10(r3)
-/* 80007118 00004058 81 8C 00 08 */ lwz r12, 8(r12)
-/* 8000711C 0000405C 7D 89 03 A6 */ mtctr r12
-/* 80007120 00004060 4E 80 04 21 */ bctrl
-lbl_80007124:
-/* 80007124 00004064 80 6D 86 44 */ lwz r3, lbl_80450BC4-_SDA_BASE_(r13)
-/* 80007128 00004068 28 03 00 00 */ cmplwi r3, 0
-/* 8000712C 0000406C 41 82 00 18 */ beq lbl_80007144
-/* 80007130 00004070 38 80 00 01 */ li r4, 1
-/* 80007134 00004074 81 83 00 10 */ lwz r12, 0x10(r3)
-/* 80007138 00004078 81 8C 00 08 */ lwz r12, 8(r12)
-/* 8000713C 0000407C 7D 89 03 A6 */ mtctr r12
-/* 80007140 00004080 4E 80 04 21 */ bctrl
-lbl_80007144:
-/* 80007144 00004084 38 00 00 01 */ li r0, 1
-/* 80007148 00004088 98 0D 86 38 */ stb r0, lbl_80450BB8-_SDA_BASE_(r13)
-/* 8000714C 0000408C 98 0D 87 00 */ stb r0, lbl_80450C80-_SDA_BASE_(r13)
-lbl_80007150:
-/* 80007150 00004090 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 80007154 00004094 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 80007158 00004098 7C 08 03 A6 */ mtlr r0
-/* 8000715C 0000409C 38 21 00 10 */ addi r1, r1, 0x10
-/* 80007160 000040A0 4E 80 00 20 */ blr
-
-.global mDoAud_Execute
-mDoAud_Execute:
-/* 80007164 000040A4 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 80007168 000040A8 7C 08 02 A6 */ mflr r0
-/* 8000716C 000040AC 90 01 00 14 */ stw r0, 0x14(r1)
-/* 80007170 000040B0 88 0D 86 38 */ lbz r0, lbl_80450BB8-_SDA_BASE_(r13)
-/* 80007174 000040B4 28 00 00 00 */ cmplwi r0, 0
-/* 80007178 000040B8 40 82 00 28 */ bne lbl_800071A0
-/* 8000717C 000040BC 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
-/* 80007180 000040C0 88 03 00 10 */ lbz r0, 0x10(r3)
-/* 80007184 000040C4 2C 00 00 00 */ cmpwi r0, 0
-/* 80007188 000040C8 40 82 00 24 */ bne lbl_800071AC
-/* 8000718C 000040CC 88 03 00 11 */ lbz r0, 0x11(r3)
-/* 80007190 000040D0 2C 00 00 00 */ cmpwi r0, 0
-/* 80007194 000040D4 40 82 00 18 */ bne lbl_800071AC
-/* 80007198 000040D8 4B FF FE 29 */ bl mDoAud_Create
-/* 8000719C 000040DC 48 00 00 10 */ b lbl_800071AC
-lbl_800071A0:
-/* 800071A0 000040E0 3C 60 80 3E */ lis r3, lbl_803DBF4C@ha
-/* 800071A4 000040E4 38 63 BF 4C */ addi r3, r3, lbl_803DBF4C@l
-/* 800071A8 000040E8 48 2C 67 5D */ bl Z2AudioMgr_NS_gframeProcess
-lbl_800071AC:
-/* 800071AC 000040EC 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 800071B0 000040F0 7C 08 03 A6 */ mtlr r0
-/* 800071B4 000040F4 38 21 00 10 */ addi r1, r1, 0x10
-/* 800071B8 000040F8 4E 80 00 20 */ blr
-
-.global mDoAud_setSceneName
-mDoAud_setSceneName:
-/* 800071BC 000040FC 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 800071C0 00004100 7C 08 02 A6 */ mflr r0
-/* 800071C4 00004104 90 01 00 14 */ stw r0, 0x14(r1)
-/* 800071C8 00004108 7C 67 1B 78 */ mr r7, r3
-/* 800071CC 0000410C 7C 80 23 78 */ mr r0, r4
-/* 800071D0 00004110 7C A6 2B 78 */ mr r6, r5
-/* 800071D4 00004114 80 6D 8D E8 */ lwz r3, lbl_80451368-_SDA_BASE_(r13)
-/* 800071D8 00004118 38 63 04 A4 */ addi r3, r3, 0x4a4
-/* 800071DC 0000411C 7C E4 3B 78 */ mr r4, r7
-/* 800071E0 00004120 7C 05 03 78 */ mr r5, r0
-/* 800071E4 00004124 48 2A F9 15 */ bl setSceneName__10Z2SceneMgrFPcll
-/* 800071E8 00004128 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 800071EC 0000412C 7C 08 03 A6 */ mtlr r0
-/* 800071F0 00004130 38 21 00 10 */ addi r1, r1, 0x10
-/* 800071F4 00004134 4E 80 00 20 */ blr
-
-.global mDoAud_load1stDynamicWave
-mDoAud_load1stDynamicWave:
-/* 800071F8 00004138 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 800071FC 0000413C 7C 08 02 A6 */ mflr r0
-/* 80007200 00004140 90 01 00 14 */ stw r0, 0x14(r1)
-/* 80007204 00004144 80 6D 8D E8 */ lwz r3, lbl_80451368-_SDA_BASE_(r13)
-/* 80007208 00004148 38 63 04 A4 */ addi r3, r3, 0x4a4
-/* 8000720C 0000414C 48 2B 2B 35 */ bl Z2SceneMgr_NS_load1stDynamicWave
-/* 80007210 00004150 38 60 00 01 */ li r3, 1
-/* 80007214 00004154 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 80007218 00004158 7C 08 03 A6 */ mtlr r0
-/* 8000721C 0000415C 38 21 00 10 */ addi r1, r1, 0x10
-/* 80007220 00004160 4E 80 00 20 */ blr
-
-.global mDoAud_setFadeOutStart
-mDoAud_setFadeOutStart:
-/* 80007224 00004164 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 80007228 00004168 7C 08 02 A6 */ mflr r0
-/* 8000722C 0000416C 90 01 00 14 */ stw r0, 0x14(r1)
-/* 80007230 00004170 7C 60 1B 78 */ mr r0, r3
-/* 80007234 00004174 80 6D 8D E8 */ lwz r3, lbl_80451368-_SDA_BASE_(r13)
-/* 80007238 00004178 38 63 04 A4 */ addi r3, r3, 0x4a4
-/* 8000723C 0000417C 54 04 06 3E */ clrlwi r4, r0, 0x18
-/* 80007240 00004180 48 2A F7 3D */ bl setFadeOutStart__10Z2SceneMgrFUc
-/* 80007244 00004184 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 80007248 00004188 7C 08 03 A6 */ mtlr r0
-/* 8000724C 0000418C 38 21 00 10 */ addi r1, r1, 0x10
-/* 80007250 00004190 4E 80 00 20 */ blr
-
-.global mDoAud_setFadeInStart
-mDoAud_setFadeInStart:
-/* 80007254 00004194 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 80007258 00004198 7C 08 02 A6 */ mflr r0
-/* 8000725C 0000419C 90 01 00 14 */ stw r0, 0x14(r1)
-/* 80007260 000041A0 7C 60 1B 78 */ mr r0, r3
-/* 80007264 000041A4 80 6D 8D E8 */ lwz r3, lbl_80451368-_SDA_BASE_(r13)
-/* 80007268 000041A8 38 63 04 A4 */ addi r3, r3, 0x4a4
-/* 8000726C 000041AC 54 04 06 3E */ clrlwi r4, r0, 0x18
-/* 80007270 000041B0 48 2A F7 A9 */ bl setFadeInStart__10Z2SceneMgrFUc
-/* 80007274 000041B4 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 80007278 000041B8 7C 08 03 A6 */ mtlr r0
-/* 8000727C 000041BC 38 21 00 10 */ addi r1, r1, 0x10
-/* 80007280 000041C0 4E 80 00 20 */ blr
-
-.global mDoAud_resetProcess
-mDoAud_resetProcess:
-/* 80007284 000041C4 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 80007288 000041C8 7C 08 02 A6 */ mflr r0
-/* 8000728C 000041CC 90 01 00 14 */ stw r0, 0x14(r1)
-/* 80007290 000041D0 88 0D 86 39 */ lbz r0, lbl_80450BB9-_SDA_BASE_(r13)
-/* 80007294 000041D4 28 00 00 00 */ cmplwi r0, 0
-/* 80007298 000041D8 40 82 00 1C */ bne lbl_800072B4
-/* 8000729C 000041DC 80 6D 8D E8 */ lwz r3, lbl_80451368-_SDA_BASE_(r13)
-/* 800072A0 000041E0 38 80 00 1E */ li r4, 0x1e
-/* 800072A4 000041E4 38 A0 00 00 */ li r5, 0
-/* 800072A8 000041E8 48 2C 66 CD */ bl Z2AudioMgr_NS_resetProcess
-/* 800072AC 000041EC 38 00 00 01 */ li r0, 1
-/* 800072B0 000041F0 98 0D 86 39 */ stb r0, lbl_80450BB9-_SDA_BASE_(r13)
-lbl_800072B4:
-/* 800072B4 000041F4 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 800072B8 000041F8 7C 08 03 A6 */ mtlr r0
-/* 800072BC 000041FC 38 21 00 10 */ addi r1, r1, 0x10
-/* 800072C0 00004200 4E 80 00 20 */ blr
-
-.global mDoAud_resetRecover
-mDoAud_resetRecover:
-/* 800072C4 00004204 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 800072C8 00004208 7C 08 02 A6 */ mflr r0
-/* 800072CC 0000420C 90 01 00 14 */ stw r0, 0x14(r1)
-/* 800072D0 00004210 88 0D 86 39 */ lbz r0, lbl_80450BB9-_SDA_BASE_(r13)
-/* 800072D4 00004214 28 00 00 00 */ cmplwi r0, 0
-/* 800072D8 00004218 41 82 00 2C */ beq lbl_80007304
-/* 800072DC 0000421C 80 6D 8D E8 */ lwz r3, lbl_80451368-_SDA_BASE_(r13)
-/* 800072E0 00004220 48 2C 67 8D */ bl Z2AudioMgr_NS_hasReset
-/* 800072E4 00004224 54 60 06 3F */ clrlwi. r0, r3, 0x18
-/* 800072E8 00004228 40 82 00 0C */ bne lbl_800072F4
-/* 800072EC 0000422C 38 60 00 00 */ li r3, 0
-/* 800072F0 00004230 48 00 00 18 */ b lbl_80007308
-lbl_800072F4:
-/* 800072F4 00004234 80 6D 8D E8 */ lwz r3, lbl_80451368-_SDA_BASE_(r13)
-/* 800072F8 00004238 48 2C 66 D5 */ bl Z2AudioMgr_NS_resetRecover
-/* 800072FC 0000423C 38 00 00 00 */ li r0, 0
-/* 80007300 00004240 98 0D 86 39 */ stb r0, lbl_80450BB9-_SDA_BASE_(r13)
-lbl_80007304:
-/* 80007304 00004244 38 60 00 01 */ li r3, 1
-lbl_80007308:
-/* 80007308 00004248 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 8000730C 0000424C 7C 08 03 A6 */ mtlr r0
-/* 80007310 00004250 38 21 00 10 */ addi r1, r1, 0x10
-/* 80007314 00004254 4E 80 00 20 */ blr
-/* 80007318 00004258 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 8000731C 0000425C 7C 08 02 A6 */ mflr r0
-/* 80007320 00004260 90 01 00 14 */ stw r0, 0x14(r1)
-/* 80007324 00004264 3C 60 80 3E */ lis r3, lbl_803DBF4C@ha
-/* 80007328 00004268 38 63 BF 4C */ addi r3, r3, lbl_803DBF4C@l
-/* 8000732C 0000426C 48 2C 5F 1D */ bl Z2AudioMgr
-/* 80007330 00004270 3C 60 80 3A */ lis r3, lbl_803A2F40@ha
-/* 80007334 00004274 38 03 2F 40 */ addi r0, r3, lbl_803A2F40@l
-/* 80007338 00004278 3C 60 80 3E */ lis r3, lbl_803DBF4C@ha
-/* 8000733C 0000427C 38 63 BF 4C */ addi r3, r3, lbl_803DBF4C@l
-/* 80007340 00004280 90 03 05 14 */ stw r0, 0x514(r3)
-.global mDoAud_zelAudio_c_NS_dtor
-/* 80007344 00004284 3C 80 80 00 */ lis r4, mDoAud_zelAudio_c_NS_dtor@ha
-.global mDoAud_zelAudio_c_NS_dtor
-/* 80007348 00004288 38 84 73 68 */ addi r4, r4, mDoAud_zelAudio_c_NS_dtor@l
-/* 8000734C 0000428C 3C A0 80 3E */ lis r5, lbl_803DBF40@ha
-/* 80007350 00004290 38 A5 BF 40 */ addi r5, r5, lbl_803DBF40@l
-/* 80007354 00004294 48 35 A8 D1 */ bl func_80361C24
-/* 80007358 00004298 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 8000735C 0000429C 7C 08 03 A6 */ mtlr r0
-/* 80007360 000042A0 38 21 00 10 */ addi r1, r1, 0x10
-/* 80007364 000042A4 4E 80 00 20 */ blr
-.global mDoAud_zelAudio_c_NS_dtor
-mDoAud_zelAudio_c_NS_dtor:
-/* 80007368 000042A8 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 8000736C 000042AC 7C 08 02 A6 */ mflr r0
-/* 80007370 000042B0 90 01 00 14 */ stw r0, 0x14(r1)
-/* 80007374 000042B4 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 80007378 000042B8 93 C1 00 08 */ stw r30, 8(r1)
-/* 8000737C 000042BC 7C 7E 1B 79 */ or. r30, r3, r3
-/* 80007380 000042C0 7C 9F 23 78 */ mr r31, r4
-/* 80007384 000042C4 41 82 00 28 */ beq lbl_800073AC
-/* 80007388 000042C8 3C 80 80 3A */ lis r4, lbl_803A2F40@ha
-/* 8000738C 000042CC 38 04 2F 40 */ addi r0, r4, lbl_803A2F40@l
-/* 80007390 000042D0 90 1E 05 14 */ stw r0, 0x514(r30)
-/* 80007394 000042D4 38 80 00 00 */ li r4, 0
-/* 80007398 000042D8 48 00 00 31 */ bl Z2AudioMgr_NS_dtor
-/* 8000739C 000042DC 7F E0 07 35 */ extsh. r0, r31
-/* 800073A0 000042E0 40 81 00 0C */ ble lbl_800073AC
-/* 800073A4 000042E4 7F C3 F3 78 */ mr r3, r30
-/* 800073A8 000042E8 48 2C 79 95 */ bl __dl__FPv
-lbl_800073AC:
-/* 800073AC 000042EC 7F C3 F3 78 */ mr r3, r30
-/* 800073B0 000042F0 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 800073B4 000042F4 83 C1 00 08 */ lwz r30, 8(r1)
-/* 800073B8 000042F8 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 800073BC 000042FC 7C 08 03 A6 */ mtlr r0
-/* 800073C0 00004300 38 21 00 10 */ addi r1, r1, 0x10
-/* 800073C4 00004304 4E 80 00 20 */ blr
-
-.global Z2AudioMgr_NS_dtor
-Z2AudioMgr_NS_dtor:
-/* 800073C8 00004308 94 21 FF E0 */ stwu r1, -0x20(r1)
-/* 800073CC 0000430C 7C 08 02 A6 */ mflr r0
-/* 800073D0 00004310 90 01 00 24 */ stw r0, 0x24(r1)
-/* 800073D4 00004314 39 61 00 20 */ addi r11, r1, 0x20
-/* 800073D8 00004318 48 35 AE 05 */ bl _savegpr_29
-/* 800073DC 0000431C 7C 7E 1B 79 */ or. r30, r3, r3
-/* 800073E0 00004320 7C 9F 23 78 */ mr r31, r4
-/* 800073E4 00004324 41 82 04 38 */ beq lbl_8000781C
-/* 800073E8 00004328 3C 60 80 3D */ lis r3, lbl_803CBF38@ha
-/* 800073EC 0000432C 38 03 BF 38 */ addi r0, r3, lbl_803CBF38@l
-/* 800073F0 00004330 90 1E 05 14 */ stw r0, 0x514(r30)
-/* 800073F4 00004334 34 1E 13 70 */ addic. r0, r30, 0x1370
-/* 800073F8 00004338 41 82 00 24 */ beq lbl_8000741C
-/* 800073FC 0000433C 34 1E 13 70 */ addic. r0, r30, 0x1370
-/* 80007400 00004340 41 82 00 1C */ beq lbl_8000741C
-/* 80007404 00004344 80 6D 85 C0 */ lwz r3, lbl_80450B40-_SDA_BASE_(r13)
-/* 80007408 00004348 38 1E 13 70 */ addi r0, r30, 0x1370
-/* 8000740C 0000434C 7C 03 00 40 */ cmplw r3, r0
-/* 80007410 00004350 40 82 00 0C */ bne lbl_8000741C
-/* 80007414 00004354 38 00 00 00 */ li r0, 0
-/* 80007418 00004358 90 0D 85 C0 */ stw r0, lbl_80450B40-_SDA_BASE_(r13)
-lbl_8000741C:
-/* 8000741C 0000435C 34 1E 0F 2C */ addic. r0, r30, 0xf2c
-/* 80007420 00004360 41 82 00 98 */ beq lbl_800074B8
-/* 80007424 00004364 34 7E 0F 38 */ addic. r3, r30, 0xf38
-/* 80007428 00004368 41 82 00 54 */ beq lbl_8000747C
-/* 8000742C 0000436C 3C 80 80 3D */ lis r4, lbl_803CBF24@ha
-/* 80007430 00004370 38 04 BF 24 */ addi r0, r4, lbl_803CBF24@l
-/* 80007434 00004374 90 1E 0F 38 */ stw r0, 0xf38(r30)
-/* 80007438 00004378 28 03 00 00 */ cmplwi r3, 0
-/* 8000743C 0000437C 41 82 00 40 */ beq lbl_8000747C
-/* 80007440 00004380 3C 80 80 3D */ lis r4, lbl_803C9D80@ha
-/* 80007444 00004384 38 04 9D 80 */ addi r0, r4, lbl_803C9D80@l
-/* 80007448 00004388 90 1E 0F 38 */ stw r0, 0xf38(r30)
-/* 8000744C 0000438C 34 1E 0F 3C */ addic. r0, r30, 0xf3c
-/* 80007450 00004390 41 82 00 24 */ beq lbl_80007474
-/* 80007454 00004394 34 83 00 04 */ addic. r4, r3, 4
-/* 80007458 00004398 41 82 00 08 */ beq lbl_80007460
-/* 8000745C 0000439C 38 84 FF FC */ addi r4, r4, -4
-lbl_80007460:
-/* 80007460 000043A0 80 0D 85 F4 */ lwz r0, lbl_80450B74-_SDA_BASE_(r13)
-/* 80007464 000043A4 7C 00 20 40 */ cmplw r0, r4
-/* 80007468 000043A8 40 82 00 0C */ bne lbl_80007474
-/* 8000746C 000043AC 38 00 00 00 */ li r0, 0
-/* 80007470 000043B0 90 0D 85 F4 */ stw r0, lbl_80450B74-_SDA_BASE_(r13)
-lbl_80007474:
-/* 80007474 000043B4 38 80 00 00 */ li r4, 0
-/* 80007478 000043B8 48 29 BB 11 */ bl JAISoundStarter_NS_dtor
-lbl_8000747C:
-/* 8000747C 000043BC 34 7E 0F 30 */ addic. r3, r30, 0xf30
-/* 80007480 000043C0 41 82 00 08 */ beq lbl_80007488
-/* 80007484 000043C4 48 29 AD 01 */ bl JAISoundHandle_NS_releaseSound
-lbl_80007488:
-/* 80007488 000043C8 34 1E 0F 2C */ addic. r0, r30, 0xf2c
-/* 8000748C 000043CC 41 82 00 0C */ beq lbl_80007498
-/* 80007490 000043D0 38 7E 0F 2C */ addi r3, r30, 0xf2c
-/* 80007494 000043D4 48 29 AC F1 */ bl JAISoundHandle_NS_releaseSound
-lbl_80007498:
-/* 80007498 000043D8 34 1E 0F 2C */ addic. r0, r30, 0xf2c
-/* 8000749C 000043DC 41 82 00 1C */ beq lbl_800074B8
-/* 800074A0 000043E0 80 6D 85 F0 */ lwz r3, lbl_80450B70-_SDA_BASE_(r13)
-/* 800074A4 000043E4 38 1E 0F 2C */ addi r0, r30, 0xf2c
-/* 800074A8 000043E8 7C 03 00 40 */ cmplw r3, r0
-/* 800074AC 000043EC 40 82 00 0C */ bne lbl_800074B8
-/* 800074B0 000043F0 38 00 00 00 */ li r0, 0
-/* 800074B4 000043F4 90 0D 85 F0 */ stw r0, lbl_80450B70-_SDA_BASE_(r13)
-lbl_800074B8:
-/* 800074B8 000043F8 38 7E 0D 4C */ addi r3, r30, 0xd4c
-/* 800074BC 000043FC 38 80 FF FF */ li r4, -1
-/* 800074C0 00004400 48 2B 5D 3D */ bl Z2Audience_NS_dtor
-/* 800074C4 00004404 34 1E 0D 40 */ addic. r0, r30, 0xd40
-/* 800074C8 00004408 41 82 00 94 */ beq lbl_8000755C
-/* 800074CC 0000440C 3C 60 80 3D */ lis r3, lbl_803CAC48@ha
-/* 800074D0 00004410 38 63 AC 48 */ addi r3, r3, lbl_803CAC48@l
-/* 800074D4 00004414 90 7E 0D 40 */ stw r3, 0xd40(r30)
-/* 800074D8 00004418 38 03 00 24 */ addi r0, r3, 0x24
-/* 800074DC 0000441C 90 1E 0D 44 */ stw r0, 0xd44(r30)
-/* 800074E0 00004420 38 03 00 34 */ addi r0, r3, 0x34
-/* 800074E4 00004424 90 1E 0D 48 */ stw r0, 0xd48(r30)
-/* 800074E8 00004428 34 1E 0D 4C */ addic. r0, r30, 0xd4c
-/* 800074EC 0000442C 41 82 00 24 */ beq lbl_80007510
-/* 800074F0 00004430 34 7E 0D 4C */ addic. r3, r30, 0xd4c
-/* 800074F4 00004434 41 82 00 08 */ beq lbl_800074FC
-/* 800074F8 00004438 38 63 FF F4 */ addi r3, r3, -12
-lbl_800074FC:
-/* 800074FC 0000443C 80 0D 85 CC */ lwz r0, lbl_80450B4C-_SDA_BASE_(r13)
-/* 80007500 00004440 7C 00 18 40 */ cmplw r0, r3
-/* 80007504 00004444 40 82 00 0C */ bne lbl_80007510
-/* 80007508 00004448 38 00 00 00 */ li r0, 0
-/* 8000750C 0000444C 90 0D 85 CC */ stw r0, lbl_80450B4C-_SDA_BASE_(r13)
-lbl_80007510:
-/* 80007510 00004450 38 7E 0D 48 */ addi r3, r30, 0xd48
-/* 80007514 00004454 38 80 00 00 */ li r4, 0
-/* 80007518 00004458 48 29 C5 C1 */ bl JAIStreamDataMgr_NS_dtor
-/* 8000751C 0000445C 34 1E 0D 44 */ addic. r0, r30, 0xd44
-/* 80007520 00004460 41 82 00 30 */ beq lbl_80007550
-/* 80007524 00004464 3C 60 80 3A */ lis r3, lbl_803A2F4C@ha
-/* 80007528 00004468 38 03 2F 4C */ addi r0, r3, lbl_803A2F4C@l
-/* 8000752C 0000446C 90 1E 0D 44 */ stw r0, 0xd44(r30)
-/* 80007530 00004470 34 1E 0D 44 */ addic. r0, r30, 0xd44
-/* 80007534 00004474 41 82 00 1C */ beq lbl_80007550
-/* 80007538 00004478 80 6D 85 D0 */ lwz r3, lbl_80450B50-_SDA_BASE_(r13)
-/* 8000753C 0000447C 38 1E 0D 44 */ addi r0, r30, 0xd44
-/* 80007540 00004480 7C 03 00 40 */ cmplw r3, r0
-/* 80007544 00004484 40 82 00 0C */ bne lbl_80007550
-/* 80007548 00004488 38 00 00 00 */ li r0, 0
-/* 8000754C 0000448C 90 0D 85 D0 */ stw r0, lbl_80450B50-_SDA_BASE_(r13)
-lbl_80007550:
-/* 80007550 00004490 38 7E 0D 40 */ addi r3, r30, 0xd40
-/* 80007554 00004494 38 80 00 00 */ li r4, 0
-/* 80007558 00004498 48 29 B7 F9 */ bl JAISoundInfo_NS_dtor
-lbl_8000755C:
-/* 8000755C 0000449C 34 1E 05 30 */ addic. r0, r30, 0x530
-/* 80007560 000044A0 41 82 01 04 */ beq lbl_80007664
-/* 80007564 000044A4 3C 60 80 3D */ lis r3, lbl_803C9D70@ha
-/* 80007568 000044A8 38 03 9D 70 */ addi r0, r3, lbl_803C9D70@l
-/* 8000756C 000044AC 90 1E 05 30 */ stw r0, 0x530(r30)
-/* 80007570 000044B0 37 BE 0C CC */ addic. r29, r30, 0xccc
-/* 80007574 000044B4 41 82 00 30 */ beq lbl_800075A4
-/* 80007578 000044B8 34 7D 00 58 */ addic. r3, r29, 0x58
-/* 8000757C 000044BC 41 82 00 0C */ beq lbl_80007588
-/* 80007580 000044C0 38 80 00 00 */ li r4, 0
-/* 80007584 000044C4 48 2D 49 29 */ bl __dt__10JSUPtrListFv
-lbl_80007588:
-/* 80007588 000044C8 28 1D 00 00 */ cmplwi r29, 0
-/* 8000758C 000044CC 41 82 00 18 */ beq lbl_800075A4
-/* 80007590 000044D0 80 0D 85 E4 */ lwz r0, lbl_80450B64-_SDA_BASE_(r13)
-/* 80007594 000044D4 7C 00 E8 40 */ cmplw r0, r29
-/* 80007598 000044D8 40 82 00 0C */ bne lbl_800075A4
-/* 8000759C 000044DC 38 00 00 00 */ li r0, 0
-/* 800075A0 000044E0 90 0D 85 E4 */ stw r0, lbl_80450B64-_SDA_BASE_(r13)
-lbl_800075A4:
-/* 800075A4 000044E4 37 BE 0C 58 */ addic. r29, r30, 0xc58
-/* 800075A8 000044E8 41 82 00 48 */ beq lbl_800075F0
-/* 800075AC 000044EC 3C 60 80 3D */ lis r3, lbl_803C9958@ha
-/* 800075B0 000044F0 38 03 99 58 */ addi r0, r3, lbl_803C9958@l
-/* 800075B4 000044F4 90 1E 0C 58 */ stw r0, 0xc58(r30)
-/* 800075B8 000044F8 34 7D 00 64 */ addic. r3, r29, 0x64
-/* 800075BC 000044FC 41 82 00 0C */ beq lbl_800075C8
-/* 800075C0 00004500 38 80 00 00 */ li r4, 0
-/* 800075C4 00004504 48 2D 48 E9 */ bl __dt__10JSUPtrListFv
-lbl_800075C8:
-/* 800075C8 00004508 7F A3 EB 78 */ mr r3, r29
-/* 800075CC 0000450C 38 80 00 00 */ li r4, 0
-/* 800075D0 00004510 48 29 A1 A5 */ bl JAISeqDataUser_NS_dtor
-/* 800075D4 00004514 28 1D 00 00 */ cmplwi r29, 0
-/* 800075D8 00004518 41 82 00 18 */ beq lbl_800075F0
-/* 800075DC 0000451C 80 0D 85 E8 */ lwz r0, lbl_80450B68-_SDA_BASE_(r13)
-/* 800075E0 00004520 7C 00 E8 40 */ cmplw r0, r29
-/* 800075E4 00004524 40 82 00 0C */ bne lbl_800075F0
-/* 800075E8 00004528 38 00 00 00 */ li r0, 0
-/* 800075EC 0000452C 90 0D 85 E8 */ stw r0, lbl_80450B68-_SDA_BASE_(r13)
-lbl_800075F0:
-/* 800075F0 00004530 37 BE 05 34 */ addic. r29, r30, 0x534
-/* 800075F4 00004534 41 82 00 50 */ beq lbl_80007644
-/* 800075F8 00004538 3C 60 80 3D */ lis r3, lbl_803C98B0@ha
-/* 800075FC 0000453C 38 03 98 B0 */ addi r0, r3, lbl_803C98B0@l
-/* 80007600 00004540 90 1E 05 34 */ stw r0, 0x534(r30)
-/* 80007604 00004544 38 7E 05 48 */ addi r3, r30, 0x548
-.global JAISeCategoryMgr_NS_dtor
-/* 80007608 00004548 3C 80 80 00 */ lis r4, JAISeCategoryMgr_NS_dtor@ha
-.global JAISeCategoryMgr_NS_dtor
-/* 8000760C 0000454C 38 84 78 DC */ addi r4, r4, JAISeCategoryMgr_NS_dtor@l
-/* 80007610 00004550 38 A0 00 6C */ li r5, 0x6c
-/* 80007614 00004554 38 C0 00 10 */ li r6, 0x10
-/* 80007618 00004558 48 35 A6 D1 */ bl func_80361CE8
-/* 8000761C 0000455C 7F A3 EB 78 */ mr r3, r29
-/* 80007620 00004560 38 80 00 00 */ li r4, 0
-/* 80007624 00004564 48 29 A1 51 */ bl JAISeqDataUser_NS_dtor
-/* 80007628 00004568 28 1D 00 00 */ cmplwi r29, 0
-/* 8000762C 0000456C 41 82 00 18 */ beq lbl_80007644
-/* 80007630 00004570 80 0D 85 EC */ lwz r0, lbl_80450B6C-_SDA_BASE_(r13)
-/* 80007634 00004574 7C 00 E8 40 */ cmplw r0, r29
-/* 80007638 00004578 40 82 00 0C */ bne lbl_80007644
-/* 8000763C 0000457C 38 00 00 00 */ li r0, 0
-/* 80007640 00004580 90 0D 85 EC */ stw r0, lbl_80450B6C-_SDA_BASE_(r13)
-lbl_80007644:
-/* 80007644 00004584 34 1E 05 30 */ addic. r0, r30, 0x530
-/* 80007648 00004588 41 82 00 1C */ beq lbl_80007664
-/* 8000764C 0000458C 80 6D 85 E0 */ lwz r3, lbl_80450B60-_SDA_BASE_(r13)
-/* 80007650 00004590 38 1E 05 30 */ addi r0, r30, 0x530
-/* 80007654 00004594 7C 03 00 40 */ cmplw r3, r0
-/* 80007658 00004598 40 82 00 0C */ bne lbl_80007664
-/* 8000765C 0000459C 38 00 00 00 */ li r0, 0
-/* 80007660 000045A0 90 0D 85 E0 */ stw r0, lbl_80450B60-_SDA_BASE_(r13)
-lbl_80007664:
-/* 80007664 000045A4 34 1E 05 2C */ addic. r0, r30, 0x52c
-/* 80007668 000045A8 41 82 00 44 */ beq lbl_800076AC
-/* 8000766C 000045AC 3C 60 80 3D */ lis r3, lbl_803C9D80@ha
-/* 80007670 000045B0 38 03 9D 80 */ addi r0, r3, lbl_803C9D80@l
-/* 80007674 000045B4 90 1E 05 2C */ stw r0, 0x52c(r30)
-/* 80007678 000045B8 34 1E 05 30 */ addic. r0, r30, 0x530
-/* 8000767C 000045BC 41 82 00 24 */ beq lbl_800076A0
-/* 80007680 000045C0 34 7E 05 30 */ addic. r3, r30, 0x530
-/* 80007684 000045C4 41 82 00 08 */ beq lbl_8000768C
-/* 80007688 000045C8 38 63 FF FC */ addi r3, r3, -4
-lbl_8000768C:
-/* 8000768C 000045CC 80 0D 85 F4 */ lwz r0, lbl_80450B74-_SDA_BASE_(r13)
-/* 80007690 000045D0 7C 00 18 40 */ cmplw r0, r3
-/* 80007694 000045D4 40 82 00 0C */ bne lbl_800076A0
-/* 80007698 000045D8 38 00 00 00 */ li r0, 0
-/* 8000769C 000045DC 90 0D 85 F4 */ stw r0, lbl_80450B74-_SDA_BASE_(r13)
-lbl_800076A0:
-/* 800076A0 000045E0 38 7E 05 2C */ addi r3, r30, 0x52c
-/* 800076A4 000045E4 38 80 00 00 */ li r4, 0
-/* 800076A8 000045E8 48 29 B8 E1 */ bl JAISoundStarter_NS_dtor
-lbl_800076AC:
-/* 800076AC 000045EC 38 7E 05 1C */ addi r3, r30, 0x51c
-/* 800076B0 000045F0 38 80 FF FF */ li r4, -1
-/* 800076B4 000045F4 48 29 5A 49 */ bl JASAudioReseter_NS_dtor
-/* 800076B8 000045F8 34 1E 04 F4 */ addic. r0, r30, 0x4f4
-/* 800076BC 000045FC 41 82 00 38 */ beq lbl_800076F4
-/* 800076C0 00004600 34 1E 04 F4 */ addic. r0, r30, 0x4f4
-/* 800076C4 00004604 41 82 00 10 */ beq lbl_800076D4
-/* 800076C8 00004608 38 7E 04 F4 */ addi r3, r30, 0x4f4
-/* 800076CC 0000460C 38 80 00 00 */ li r4, 0
-/* 800076D0 00004610 48 2D 47 DD */ bl __dt__10JSUPtrListFv
-lbl_800076D4:
-/* 800076D4 00004614 34 1E 04 F4 */ addic. r0, r30, 0x4f4
-/* 800076D8 00004618 41 82 00 1C */ beq lbl_800076F4
-/* 800076DC 0000461C 80 6D 85 C8 */ lwz r3, lbl_80450B48-_SDA_BASE_(r13)
-/* 800076E0 00004620 38 1E 04 F4 */ addi r0, r30, 0x4f4
-/* 800076E4 00004624 7C 03 00 40 */ cmplw r3, r0
-/* 800076E8 00004628 40 82 00 0C */ bne lbl_800076F4
-/* 800076EC 0000462C 38 00 00 00 */ li r0, 0
-/* 800076F0 00004630 90 0D 85 C8 */ stw r0, lbl_80450B48-_SDA_BASE_(r13)
-lbl_800076F4:
-/* 800076F4 00004634 34 1E 04 C4 */ addic. r0, r30, 0x4c4
-/* 800076F8 00004638 41 82 00 24 */ beq lbl_8000771C
-/* 800076FC 0000463C 34 1E 04 C4 */ addic. r0, r30, 0x4c4
-/* 80007700 00004640 41 82 00 1C */ beq lbl_8000771C
-/* 80007704 00004644 80 6D 85 FC */ lwz r3, lbl_80450B7C-_SDA_BASE_(r13)
-/* 80007708 00004648 38 1E 04 C4 */ addi r0, r30, 0x4c4
-/* 8000770C 0000464C 7C 03 00 40 */ cmplw r3, r0
-/* 80007710 00004650 40 82 00 0C */ bne lbl_8000771C
-/* 80007714 00004654 38 00 00 00 */ li r0, 0
-/* 80007718 00004658 90 0D 85 FC */ stw r0, lbl_80450B7C-_SDA_BASE_(r13)
-lbl_8000771C:
-/* 8000771C 0000465C 34 1E 04 A4 */ addic. r0, r30, 0x4a4
-/* 80007720 00004660 41 82 00 24 */ beq lbl_80007744
-/* 80007724 00004664 34 1E 04 A4 */ addic. r0, r30, 0x4a4
-/* 80007728 00004668 41 82 00 1C */ beq lbl_80007744
-/* 8000772C 0000466C 80 6D 86 00 */ lwz r3, lbl_80450B80-_SDA_BASE_(r13)
-/* 80007730 00004670 38 1E 04 A4 */ addi r0, r30, 0x4a4
-/* 80007734 00004674 7C 03 00 40 */ cmplw r3, r0
-/* 80007738 00004678 40 82 00 0C */ bne lbl_80007744
-/* 8000773C 0000467C 38 00 00 00 */ li r0, 0
-/* 80007740 00004680 90 0D 86 00 */ stw r0, lbl_80450B80-_SDA_BASE_(r13)
-lbl_80007744:
-/* 80007744 00004684 34 1E 03 D0 */ addic. r0, r30, 0x3d0
-/* 80007748 00004688 41 82 00 58 */ beq lbl_800077A0
-/* 8000774C 0000468C 34 7E 03 DC */ addic. r3, r30, 0x3dc
-/* 80007750 00004690 41 82 00 08 */ beq lbl_80007758
-/* 80007754 00004694 48 29 AA 31 */ bl JAISoundHandle_NS_releaseSound
-lbl_80007758:
-/* 80007758 00004698 34 7E 03 D8 */ addic. r3, r30, 0x3d8
-/* 8000775C 0000469C 41 82 00 08 */ beq lbl_80007764
-/* 80007760 000046A0 48 29 AA 25 */ bl JAISoundHandle_NS_releaseSound
-lbl_80007764:
-/* 80007764 000046A4 34 7E 03 D4 */ addic. r3, r30, 0x3d4
-/* 80007768 000046A8 41 82 00 08 */ beq lbl_80007770
-/* 8000776C 000046AC 48 29 AA 19 */ bl JAISoundHandle_NS_releaseSound
-lbl_80007770:
-/* 80007770 000046B0 34 1E 03 D0 */ addic. r0, r30, 0x3d0
-/* 80007774 000046B4 41 82 00 0C */ beq lbl_80007780
-/* 80007778 000046B8 38 7E 03 D0 */ addi r3, r30, 0x3d0
-/* 8000777C 000046BC 48 29 AA 09 */ bl JAISoundHandle_NS_releaseSound
-lbl_80007780:
-/* 80007780 000046C0 34 1E 03 D0 */ addic. r0, r30, 0x3d0
-/* 80007784 000046C4 41 82 00 1C */ beq lbl_800077A0
-/* 80007788 000046C8 80 6D 86 04 */ lwz r3, lbl_80450B84-_SDA_BASE_(r13)
-/* 8000778C 000046CC 38 1E 03 D0 */ addi r0, r30, 0x3d0
-/* 80007790 000046D0 7C 03 00 40 */ cmplw r3, r0
-/* 80007794 000046D4 40 82 00 0C */ bne lbl_800077A0
-/* 80007798 000046D8 38 00 00 00 */ li r0, 0
-/* 8000779C 000046DC 90 0D 86 04 */ stw r0, lbl_80450B84-_SDA_BASE_(r13)
-lbl_800077A0:
-/* 800077A0 000046E0 28 1E 00 00 */ cmplwi r30, 0
-/* 800077A4 000046E4 41 82 00 68 */ beq lbl_8000780C
-/* 800077A8 000046E8 38 7E 01 D4 */ addi r3, r30, 0x1d4
-.global Z2MultiSeObj_NS_dtor
-/* 800077AC 000046EC 3C 80 80 00 */ lis r4, Z2MultiSeObj_NS_dtor@ha
-.global Z2MultiSeObj_NS_dtor
-/* 800077B0 000046F0 38 84 78 88 */ addi r4, r4, Z2MultiSeObj_NS_dtor@l
-/* 800077B4 000046F4 38 A0 00 24 */ li r5, 0x24
-/* 800077B8 000046F8 38 C0 00 0A */ li r6, 0xa
-/* 800077BC 000046FC 48 35 A5 2D */ bl func_80361CE8
-/* 800077C0 00004700 38 7E 00 68 */ addi r3, r30, 0x68
-.global Z2MultiSeObj_NS_dtor
-/* 800077C4 00004704 3C 80 80 00 */ lis r4, Z2MultiSeObj_NS_dtor@ha
-.global Z2MultiSeObj_NS_dtor
-/* 800077C8 00004708 38 84 78 88 */ addi r4, r4, Z2MultiSeObj_NS_dtor@l
-/* 800077CC 0000470C 38 A0 00 24 */ li r5, 0x24
-/* 800077D0 00004710 38 C0 00 0A */ li r6, 0xa
-/* 800077D4 00004714 48 35 A5 15 */ bl func_80361CE8
-/* 800077D8 00004718 7F C3 F3 78 */ mr r3, r30
-.global JAISoundHandle_NS_dtor
-/* 800077DC 0000471C 3C 80 80 00 */ lis r4, JAISoundHandle_NS_dtor@ha
-.global JAISoundHandle_NS_dtor
-/* 800077E0 00004720 38 84 78 38 */ addi r4, r4, JAISoundHandle_NS_dtor@l
-/* 800077E4 00004724 38 A0 00 04 */ li r5, 4
-/* 800077E8 00004728 38 C0 00 18 */ li r6, 0x18
-/* 800077EC 0000472C 48 35 A4 FD */ bl func_80361CE8
-/* 800077F0 00004730 28 1E 00 00 */ cmplwi r30, 0
-/* 800077F4 00004734 41 82 00 18 */ beq lbl_8000780C
-/* 800077F8 00004738 80 0D 86 08 */ lwz r0, lbl_80450B88-_SDA_BASE_(r13)
-/* 800077FC 0000473C 7C 00 F0 40 */ cmplw r0, r30
-/* 80007800 00004740 40 82 00 0C */ bne lbl_8000780C
-/* 80007804 00004744 38 00 00 00 */ li r0, 0
-/* 80007808 00004748 90 0D 86 08 */ stw r0, lbl_80450B88-_SDA_BASE_(r13)
-lbl_8000780C:
-/* 8000780C 0000474C 7F E0 07 35 */ extsh. r0, r31
-/* 80007810 00004750 40 81 00 0C */ ble lbl_8000781C
-/* 80007814 00004754 7F C3 F3 78 */ mr r3, r30
-/* 80007818 00004758 48 2C 75 25 */ bl __dl__FPv
-lbl_8000781C:
-/* 8000781C 0000475C 7F C3 F3 78 */ mr r3, r30
-/* 80007820 00004760 39 61 00 20 */ addi r11, r1, 0x20
-/* 80007824 00004764 48 35 AA 05 */ bl _restgpr_29
-/* 80007828 00004768 80 01 00 24 */ lwz r0, 0x24(r1)
-/* 8000782C 0000476C 7C 08 03 A6 */ mtlr r0
-/* 80007830 00004770 38 21 00 20 */ addi r1, r1, 0x20
-/* 80007834 00004774 4E 80 00 20 */ blr
-.global JAISoundHandle_NS_dtor
-JAISoundHandle_NS_dtor:
-/* 80007838 00004778 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 8000783C 0000477C 7C 08 02 A6 */ mflr r0
-/* 80007840 00004780 90 01 00 14 */ stw r0, 0x14(r1)
-/* 80007844 00004784 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 80007848 00004788 93 C1 00 08 */ stw r30, 8(r1)
-/* 8000784C 0000478C 7C 7E 1B 79 */ or. r30, r3, r3
-/* 80007850 00004790 7C 9F 23 78 */ mr r31, r4
-/* 80007854 00004794 41 82 00 18 */ beq lbl_8000786C
-/* 80007858 00004798 48 29 A9 2D */ bl JAISoundHandle_NS_releaseSound
-/* 8000785C 0000479C 7F E0 07 35 */ extsh. r0, r31
-/* 80007860 000047A0 40 81 00 0C */ ble lbl_8000786C
-/* 80007864 000047A4 7F C3 F3 78 */ mr r3, r30
-/* 80007868 000047A8 48 2C 74 D5 */ bl __dl__FPv
-lbl_8000786C:
-/* 8000786C 000047AC 7F C3 F3 78 */ mr r3, r30
-/* 80007870 000047B0 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 80007874 000047B4 83 C1 00 08 */ lwz r30, 8(r1)
-/* 80007878 000047B8 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 8000787C 000047BC 7C 08 03 A6 */ mtlr r0
-/* 80007880 000047C0 38 21 00 10 */ addi r1, r1, 0x10
-/* 80007884 000047C4 4E 80 00 20 */ blr
-.global Z2MultiSeObj_NS_dtor
-Z2MultiSeObj_NS_dtor:
-/* 80007888 000047C8 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 8000788C 000047CC 7C 08 02 A6 */ mflr r0
-/* 80007890 000047D0 90 01 00 14 */ stw r0, 0x14(r1)
-/* 80007894 000047D4 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 80007898 000047D8 93 C1 00 08 */ stw r30, 8(r1)
-/* 8000789C 000047DC 7C 7E 1B 79 */ or. r30, r3, r3
-/* 800078A0 000047E0 7C 9F 23 78 */ mr r31, r4
-/* 800078A4 000047E4 41 82 00 1C */ beq lbl_800078C0
-/* 800078A8 000047E8 38 80 00 00 */ li r4, 0
-/* 800078AC 000047EC 48 2A 72 89 */ bl __dt__12Z2MultiSeMgrFv
-/* 800078B0 000047F0 7F E0 07 35 */ extsh. r0, r31
-/* 800078B4 000047F4 40 81 00 0C */ ble lbl_800078C0
-/* 800078B8 000047F8 7F C3 F3 78 */ mr r3, r30
-/* 800078BC 000047FC 48 2C 74 81 */ bl __dl__FPv
-lbl_800078C0:
-/* 800078C0 00004800 7F C3 F3 78 */ mr r3, r30
-/* 800078C4 00004804 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 800078C8 00004808 83 C1 00 08 */ lwz r30, 8(r1)
-/* 800078CC 0000480C 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 800078D0 00004810 7C 08 03 A6 */ mtlr r0
-/* 800078D4 00004814 38 21 00 10 */ addi r1, r1, 0x10
-/* 800078D8 00004818 4E 80 00 20 */ blr
-.global JAISeCategoryMgr_NS_dtor
-JAISeCategoryMgr_NS_dtor:
-/* 800078DC 0000481C 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 800078E0 00004820 7C 08 02 A6 */ mflr r0
-/* 800078E4 00004824 90 01 00 14 */ stw r0, 0x14(r1)
-/* 800078E8 00004828 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 800078EC 0000482C 93 C1 00 08 */ stw r30, 8(r1)
-/* 800078F0 00004830 7C 7E 1B 79 */ or. r30, r3, r3
-/* 800078F4 00004834 7C 9F 23 78 */ mr r31, r4
-/* 800078F8 00004838 41 82 00 40 */ beq lbl_80007938
-/* 800078FC 0000483C 3C 60 80 3D */ lis r3, lbl_803C98C4@ha
-/* 80007900 00004840 38 03 98 C4 */ addi r0, r3, lbl_803C98C4@l
-/* 80007904 00004844 90 1E 00 00 */ stw r0, 0(r30)
-/* 80007908 00004848 34 1E 00 58 */ addic. r0, r30, 0x58
-/* 8000790C 0000484C 41 82 00 10 */ beq lbl_8000791C
-/* 80007910 00004850 38 7E 00 58 */ addi r3, r30, 0x58
-/* 80007914 00004854 38 80 00 00 */ li r4, 0
-/* 80007918 00004858 48 2D 45 95 */ bl __dt__10JSUPtrListFv
-lbl_8000791C:
-/* 8000791C 0000485C 7F C3 F3 78 */ mr r3, r30
-/* 80007920 00004860 38 80 00 00 */ li r4, 0
-/* 80007924 00004864 48 29 9E 51 */ bl JAISeqDataUser_NS_dtor
-/* 80007928 00004868 7F E0 07 35 */ extsh. r0, r31
-/* 8000792C 0000486C 40 81 00 0C */ ble lbl_80007938
-/* 80007930 00004870 7F C3 F3 78 */ mr r3, r30
-/* 80007934 00004874 48 2C 74 09 */ bl __dl__FPv
-lbl_80007938:
-/* 80007938 00004878 7F C3 F3 78 */ mr r3, r30
-/* 8000793C 0000487C 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 80007940 00004880 83 C1 00 08 */ lwz r30, 8(r1)
-/* 80007944 00004884 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 80007948 00004888 7C 08 03 A6 */ mtlr r0
-/* 8000794C 0000488C 38 21 00 10 */ addi r1, r1, 0x10
-/* 80007950 00004890 4E 80 00 20 */ blr
-
diff --git a/include/JSystem/JAudio2/JAUClusterSound/JAUClusterSound.h b/include/JSystem/JAudio2/JAUClusterSound/JAUClusterSound.h
index 918035371d..61a4c2afbc 100644
--- a/include/JSystem/JAudio2/JAUClusterSound/JAUClusterSound.h
+++ b/include/JSystem/JAudio2/JAUClusterSound/JAUClusterSound.h
@@ -7,6 +7,7 @@ struct JAISoundHandle {
void* unk; // probably JAISound*
JAISoundHandle();
+ ~JAISoundHandle();
};
#endif \ No newline at end of file
diff --git a/include/Z2AudioLib/Z2AudioLib.h b/include/Z2AudioLib/Z2AudioLib.h
new file mode 100644
index 0000000000..c469ac97c5
--- /dev/null
+++ b/include/Z2AudioLib/Z2AudioLib.h
@@ -0,0 +1,9 @@
+#ifndef __Z2AUDIOLIB_H
+#define __Z2AUDIOLIB_H
+
+#include "Z2AudioLib/Z2StatusMgr/Z2StatusMgr.h"
+#include "Z2AudioLib/Z2SeMgr/Z2SeMgr.h"
+#include "Z2AudioLib/Z2SceneMgr/Z2SceneMgr.h"
+#include "Z2AudioLib/Z2AudioMgr/Z2AudioMgr.h"
+
+#endif \ No newline at end of file
diff --git a/include/Z2AudioLib/Z2AudioMgr/Z2AudioMgr.h b/include/Z2AudioLib/Z2AudioMgr/Z2AudioMgr.h
index f708e56395..1b048f3d3f 100644
--- a/include/Z2AudioLib/Z2AudioMgr/Z2AudioMgr.h
+++ b/include/Z2AudioLib/Z2AudioMgr/Z2AudioMgr.h
@@ -1,9 +1,30 @@
#ifndef __Z2AUDIOMGR_H__
#define __Z2AUDIOMGR_H__
+#include "Z2AudioLib/Z2SceneMgr/Z2SceneMgr.h"
+#include "JSystem/JKernel/JKRAramArchive/JKRAramArchive.h"
+#include "JSystem/JKernel/JKRSolidHeap/JKRSolidHeap.h"
-extern "C" {
-void Z2AudioMgr_NS_setOutputMode(void*, unsigned long);
-u32 Z2AudioMgr_NS_hasReset(void*);
+struct Z2AudioMgr{
+ Z2AudioMgr();
+ ~Z2AudioMgr();
+ void gframeProcess(void);
+ Z2AudioMgr* setOutputMode(unsigned long outputMode);
+ u32 resetProcess(u32 param_1, bool param_2);
+ bool hasReset(void) const;
+ void resetRecover(void);
+ void init(JKRSolidHeap*, unsigned long, void*, JKRArchive*);
+
+ u8 p1[0x4a4];
+ Z2SceneMgr sceneMgr;
+ u8 p2[0xdad];
};
+extern "C"{
+ void setOutputMode__10Z2AudioMgrFUl(void);
+ void setOutputMode__9JASDriverFUl(void);
+}
+
+extern Z2AudioMgr lbl_803DBF4C;
+extern Z2AudioMgr* lbl_80451368;
+
#endif \ No newline at end of file
diff --git a/include/Z2AudioLib/Z2AudioMgr/asm/func_802CD888.s b/include/Z2AudioLib/Z2AudioMgr/asm/func_802CD888.s
index b1c9303f19..c1e5498b9c 100644
--- a/include/Z2AudioLib/Z2AudioMgr/asm/func_802CD888.s
+++ b/include/Z2AudioLib/Z2AudioMgr/asm/func_802CD888.s
@@ -4,7 +4,7 @@
/* 802CD894 002CA7D4 28 04 00 02 */ cmplwi r4, 2
/* 802CD898 002CA7D8 41 81 00 0C */ bgt lbl_802CD8A4
/* 802CD89C 002CA7DC 7C 83 23 78 */ mr r3, r4
-/* 802CD8A0 002CA7E0 4B FD 08 D9 */ bl JASDriver_NS_setOutputMode
+/* 802CD8A0 002CA7E0 4B FD 08 D9 */ bl setOutputMode__9JASDriverFUl
lbl_802CD8A4:
/* 802CD8A4 002CA7E4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802CD8A8 002CA7E8 7C 08 03 A6 */ mtlr r0
diff --git a/include/Z2AudioLib/Z2SceneMgr/Z2SceneMgr.h b/include/Z2AudioLib/Z2SceneMgr/Z2SceneMgr.h
index f55dc7067b..f9007f5e3a 100644
--- a/include/Z2AudioLib/Z2SceneMgr/Z2SceneMgr.h
+++ b/include/Z2AudioLib/Z2SceneMgr/Z2SceneMgr.h
@@ -1,3 +1,5 @@
+#ifndef __Z2SCENEMGR_H_
+#define __Z2SCENEMGR_H_
#include "JSystem/JAudio2/JAISe/JAISe.h"
#include "Z2AudioLib/Z2SeqMgr/Z2SeqMgr.h"
#include "global.h"
@@ -45,4 +47,6 @@ struct Z2SceneMgr {
void setFadeInStart(u8 param_1);
void setSceneName(char* stageName, long roomNum, long layerNum);
int checkFirstWaves(void);
+ void load1stDynamicWave(void);
};
+#endif \ No newline at end of file
diff --git a/include/Z2AudioLib/Z2SeMgr/Z2SeMgr.h b/include/Z2AudioLib/Z2SeMgr/Z2SeMgr.h
index fda7860f9d..6258ff9166 100644
--- a/include/Z2AudioLib/Z2SeMgr/Z2SeMgr.h
+++ b/include/Z2AudioLib/Z2SeMgr/Z2SeMgr.h
@@ -8,6 +8,7 @@
struct Z2MultiSeObj {
Z2MultiSeObj();
+ ~Z2MultiSeObj();
};
struct Z2SeMgr {
diff --git a/include/Z2AudioLib/Z2SeMgr/asm/func_802AB64C.s b/include/Z2AudioLib/Z2SeMgr/asm/func_802AB64C.s
index 038eacedfd..65ac73c332 100644
--- a/include/Z2AudioLib/Z2SeMgr/asm/func_802AB64C.s
+++ b/include/Z2AudioLib/Z2SeMgr/asm/func_802AB64C.s
@@ -6,8 +6,8 @@
/* 802AB660 002A85A0 93 ED 86 08 */ stw r31, lbl_80450B88-_SDA_BASE_(r13)
/* 802AB664 002A85A4 3C 80 80 2A */ lis r4, __ct__14JAISoundHandleFv@ha
/* 802AB668 002A85A8 38 84 4A C4 */ addi r4, r4, __ct__14JAISoundHandleFv@l
-/* 802AB66C 002A85AC 3C A0 80 00 */ lis r5, JAISoundHandle_NS_dtor@ha
-/* 802AB670 002A85B0 38 A5 78 38 */ addi r5, r5, JAISoundHandle_NS_dtor@l
+/* 802AB66C 002A85AC 3C A0 80 00 */ lis r5, __dt__14JAISoundHandleFv@ha
+/* 802AB670 002A85B0 38 A5 78 38 */ addi r5, r5, __dt__14JAISoundHandleFv@l
/* 802AB674 002A85B4 38 C0 00 04 */ li r6, 4
/* 802AB678 002A85B8 38 E0 00 18 */ li r7, 0x18
/* 802AB67C 002A85BC 48 0B 66 E5 */ bl func_80361D60
@@ -17,16 +17,16 @@
/* 802AB68C 002A85CC 38 7F 00 68 */ addi r3, r31, 0x68
/* 802AB690 002A85D0 3C 80 80 2B */ lis r4, __ct__12Z2MultiSeObjFv@ha
/* 802AB694 002A85D4 38 84 B7 10 */ addi r4, r4, __ct__12Z2MultiSeObjFv@l
-/* 802AB698 002A85D8 3C A0 80 00 */ lis r5, Z2MultiSeObj_NS_dtor@ha
-/* 802AB69C 002A85DC 38 A5 78 88 */ addi r5, r5, Z2MultiSeObj_NS_dtor@l
+/* 802AB698 002A85D8 3C A0 80 00 */ lis r5, __dt__12Z2MultiSeObjFv@ha
+/* 802AB69C 002A85DC 38 A5 78 88 */ addi r5, r5, __dt__12Z2MultiSeObjFv@l
/* 802AB6A0 002A85E0 38 C0 00 24 */ li r6, 0x24
/* 802AB6A4 002A85E4 38 E0 00 0A */ li r7, 0xa
/* 802AB6A8 002A85E8 48 0B 66 B9 */ bl func_80361D60
/* 802AB6AC 002A85EC 38 7F 01 D4 */ addi r3, r31, 0x1d4
/* 802AB6B0 002A85F0 3C 80 80 2B */ lis r4, __ct__12Z2MultiSeObjFv@ha
/* 802AB6B4 002A85F4 38 84 B7 10 */ addi r4, r4, __ct__12Z2MultiSeObjFv@l
-/* 802AB6B8 002A85F8 3C A0 80 00 */ lis r5, Z2MultiSeObj_NS_dtor@ha
-/* 802AB6BC 002A85FC 38 A5 78 88 */ addi r5, r5, Z2MultiSeObj_NS_dtor@l
+/* 802AB6B8 002A85F8 3C A0 80 00 */ lis r5, __dt__12Z2MultiSeObjFv@ha
+/* 802AB6BC 002A85FC 38 A5 78 88 */ addi r5, r5, __dt__12Z2MultiSeObjFv@l
/* 802AB6C0 002A8600 38 C0 00 24 */ li r6, 0x24
/* 802AB6C4 002A8604 38 E0 00 0A */ li r7, 0xa
/* 802AB6C8 002A8608 48 0B 66 99 */ bl func_80361D60
diff --git a/include/Z2AudioLib/Z2SoundMgr/asm/func_802A9E80.s b/include/Z2AudioLib/Z2SoundMgr/asm/func_802A9E80.s
index c9641d1cf1..2064ce1ae7 100644
--- a/include/Z2AudioLib/Z2SoundMgr/asm/func_802A9E80.s
+++ b/include/Z2AudioLib/Z2SoundMgr/asm/func_802A9E80.s
@@ -9,13 +9,13 @@
/* 802A9EA0 002A6DE0 90 1F 00 00 */ stw r0, 0(r31)
/* 802A9EA4 002A6DE4 38 7F 00 04 */ addi r3, r31, 4
/* 802A9EA8 002A6DE8 38 80 00 01 */ li r4, 1
-/* 802A9EAC 002A6DEC 4B FF 61 C9 */ bl JAISeMgr
+/* 802A9EAC 002A6DEC 4B FF 61 C9 */ bl __ct__8JAISeMgrFb
/* 802A9EB0 002A6DF0 38 7F 07 28 */ addi r3, r31, 0x728
/* 802A9EB4 002A6DF4 38 80 00 01 */ li r4, 1
-/* 802A9EB8 002A6DF8 4B FF 7A 5D */ bl JAISeqMgr
+/* 802A9EB8 002A6DF8 4B FF 7A 5D */ bl __ct__9JAISeqMgrFb
/* 802A9EBC 002A6DFC 38 7F 07 9C */ addi r3, r31, 0x79c
/* 802A9EC0 002A6E00 38 80 00 01 */ li r4, 1
-/* 802A9EC4 002A6E04 4B FF 9C A5 */ bl JAIStreamMgr
+/* 802A9EC4 002A6E04 4B FF 9C A5 */ bl __ct__12JAIStreamMgrFb
/* 802A9EC8 002A6E08 38 00 FF FF */ li r0, -1
/* 802A9ECC 002A6E0C 90 1F 08 0C */ stw r0, 0x80c(r31)
/* 802A9ED0 002A6E10 7F E3 FB 78 */ mr r3, r31
diff --git a/include/d/d_com/d_com_inf_game/asm/func_8002CC54.s b/include/d/d_com/d_com_inf_game/asm/func_8002CC54.s
index 78674a1ed2..9c8113cd3d 100644
--- a/include/d/d_com/d_com_inf_game/asm/func_8002CC54.s
+++ b/include/d/d_com/d_com_inf_game/asm/func_8002CC54.s
@@ -23,7 +23,7 @@
/* 8002CCAC 00029BEC 7C 04 07 74 */ extsb r4, r0
/* 8002CCB0 00029BF0 88 05 4E 19 */ lbz r0, 0x4e19(r5)
/* 8002CCB4 00029BF4 7C 05 07 74 */ extsb r5, r0
-/* 8002CCB8 00029BF8 4B FD A5 05 */ bl mDoAud_setSceneName
+/* 8002CCB8 00029BF8 4B FD A5 05 */ bl mDoAud_setSceneName__FPCcll
/* 8002CCBC 00029BFC 38 00 00 00 */ li r0, 0
/* 8002CCC0 00029C00 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha
/* 8002CCC4 00029C04 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l
diff --git a/include/d/d_com/d_com_inf_game/asm/func_8002CD44.s b/include/d/d_com/d_com_inf_game/asm/func_8002CD44.s
index 625dd80c41..ff29b542a5 100644
--- a/include/d/d_com/d_com_inf_game/asm/func_8002CD44.s
+++ b/include/d/d_com/d_com_inf_game/asm/func_8002CD44.s
@@ -23,7 +23,7 @@ lbl_8002CD84:
/* 8002CD94 00029CD4 38 80 00 1E */ li r4, 0x1e
/* 8002CD98 00029CD8 38 A0 00 00 */ li r5, 0
/* 8002CD9C 00029CDC 48 28 26 6D */ bl bgmStop__8Z2SeqMgrFUll
-/* 8002CDA0 00029CE0 4B FD A4 E5 */ bl mDoAud_resetProcess
+/* 8002CDA0 00029CE0 4B FD A4 E5 */ bl mDoAud_resetProcess__Fv
/* 8002CDA4 00029CE4 38 60 00 01 */ li r3, 1
lbl_8002CDA8:
/* 8002CDA8 00029CE8 80 01 00 14 */ lwz r0, 0x14(r1)
diff --git a/include/d/d_kankyo/asm/func_801A37C4.s b/include/d/d_kankyo/asm/func_801A37C4.s
index e28215dc89..17615c0ee8 100644
--- a/include/d/d_kankyo/asm/func_801A37C4.s
+++ b/include/d/d_kankyo/asm/func_801A37C4.s
@@ -524,7 +524,7 @@ lbl_801A3F24:
/* 801A3F68 001A0EA8 7C 65 1B 78 */ mr r5, r3
/* 801A3F6C 001A0EAC 7F C3 F3 78 */ mr r3, r30
/* 801A3F70 001A0EB0 7F 24 CB 78 */ mr r4, r25
-/* 801A3F74 001A0EB4 4B E6 32 49 */ bl mDoAud_setSceneName
+/* 801A3F74 001A0EB4 4B E6 32 49 */ bl mDoAud_setSceneName__FPCcll
/* 801A3F78 001A0EB8 7F C3 F3 78 */ mr r3, r30
/* 801A3F7C 001A0EBC 3C 80 80 39 */ lis r4, lbl_80394C6C@ha
/* 801A3F80 001A0EC0 38 84 4C 6C */ addi r4, r4, lbl_80394C6C@l
diff --git a/include/d/d_save/d_save/asm/func_80035A04.s b/include/d/d_save/d_save/asm/func_80035A04.s
index 35f33fe713..839c943b7e 100644
--- a/include/d/d_save/d_save/asm/func_80035A04.s
+++ b/include/d/d_save/d_save/asm/func_80035A04.s
@@ -19,7 +19,7 @@
/* 80035A4C 0003298C 4B FF EC 41 */ bl setSound__19dSv_player_config_cFUc
/* 80035A50 00032990 80 6D 8D E8 */ lwz r3, lbl_80451368-_SDA_BASE_(r13)
/* 80035A54 00032994 38 80 00 00 */ li r4, 0
-/* 80035A58 00032998 48 29 7E 31 */ bl Z2AudioMgr_NS_setOutputMode
+/* 80035A58 00032998 48 29 7E 31 */ bl setOutputMode__10Z2AudioMgrFUl
/* 80035A5C 0003299C 48 00 00 4C */ b lbl_80035AA8
lbl_80035A60:
/* 80035A60 000329A0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha
@@ -32,7 +32,7 @@ lbl_80035A60:
/* 80035A7C 000329BC 40 82 00 14 */ bne lbl_80035A90
/* 80035A80 000329C0 80 6D 8D E8 */ lwz r3, lbl_80451368-_SDA_BASE_(r13)
/* 80035A84 000329C4 38 80 00 02 */ li r4, 2
-/* 80035A88 000329C8 48 29 7E 01 */ bl Z2AudioMgr_NS_setOutputMode
+/* 80035A88 000329C8 48 29 7E 01 */ bl setOutputMode__10Z2AudioMgrFUl
/* 80035A8C 000329CC 48 00 00 1C */ b lbl_80035AA8
lbl_80035A90:
/* 80035A90 000329D0 7F E3 FB 78 */ mr r3, r31
@@ -40,7 +40,7 @@ lbl_80035A90:
/* 80035A98 000329D8 4B FF EB F5 */ bl setSound__19dSv_player_config_cFUc
/* 80035A9C 000329DC 80 6D 8D E8 */ lwz r3, lbl_80451368-_SDA_BASE_(r13)
/* 80035AA0 000329E0 38 80 00 01 */ li r4, 1
-/* 80035AA4 000329E4 48 29 7D E5 */ bl Z2AudioMgr_NS_setOutputMode
+/* 80035AA4 000329E4 48 29 7D E5 */ bl setOutputMode__10Z2AudioMgrFUl
lbl_80035AA8:
/* 80035AA8 000329E8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha
/* 80035AAC 000329EC 3B E3 61 C0 */ addi r31, r3, g_dComIfG_gameInfo@l
diff --git a/include/functions.h b/include/functions.h
index 54b2092cf6..91668574e0 100644
--- a/include/functions.h
+++ b/include/functions.h
@@ -105,7 +105,6 @@ void Debug_console__FUl(void);
void debugDisplay__Fv(void);
void CheckHeap__FUl(void);
void debug__Fv(void);
-void mDoAud_Execute(void);
void fapGm_Execute(void);
void mDoMemCd_Ctrl_c_NS_update(void);
void cDyl_InitAsync(void);
@@ -310,7 +309,6 @@ void Debug_console__FUl(void);
void debugDisplay__Fv(void);
void CheckHeap__FUl(void);
void debug__Fv(void);
-void mDoAud_Execute(void);
void fapGm_Execute(void);
void mDoCPd_c_NS_read(void);
void mDoMemCd_Ctrl_c_NS_update(void);
@@ -5762,11 +5760,9 @@ void dComIfGs_staffroll_next_go(void);
// void bgmStart__8Z2SeqMgrFUlUll(void);
void Z2SoundMgr_NS_calc(void);
void Z2SoundMgr_NS_framework(void);
-void JAISeqMgr(void);
void JAUSectionHeap_NS_releaseIdleDynamicSeqDataBlock(void);
void func_802A9EE8(void);
void Z2SoundMgr_NS_initParams(void);
-void JAISeMgr(void);
void JAISeqMgr_NS_calc(void);
void JAISeMgr_NS_mixOut(void);
void JAISeMgr_NS_getNumActiveSe(void);
@@ -5790,9 +5786,6 @@ void JAISeqMgr_NS_stopSoundID(void);
void Z2SoundMgr_NS_multiVolumeSoundID(void);
void JAIStreamMgr_NS_stop_X1_(void);
void JAISeqMgr_NS_mixOut(void);
-
-// manual
-void JAIStreamMgr(void);
}
// additional symbols needed for Z2AudioMgr.cpp
@@ -5835,7 +5828,7 @@ void JAISeMgr_NS_setAudience(void);
void Z2AudioMgr_NS_zeldaGFrameWork(void);
void func_80362ABC(void);
void func_802CD7F8(void);
-void Z2AudioMgr_NS_resetProcess(void);
+void resetProcess__10Z2AudioMgrFUlb(void);
void JAISeMgr_NS_setSeqDataMgr(void);
void JASKernel_NS_getAramHeap(void);
void func_802CDB1C(void);
@@ -6115,7 +6108,6 @@ void Z2SeqMgr_NS_checkBgmIDPlaying(void);
void Z2SceneMgr_NS_checkFirstWaves(void);
void Z2SceneMgr_NS_loadBgmWave(void);
void Z2SceneMgr_NS__load1stWaveInner_2(void);
-void Z2SceneMgr_NS_load1stDynamicWave(void);
void Z2SceneMgr_NS_loadStaticWaves(void);
void Z2SceneMgr_NS_eraseBgmWave(void);
void Z2SceneMgr_NS_sceneBgmStart(void);
@@ -6625,7 +6617,6 @@ void isRegionBit__33dSv_player_field_last_stay_info_cCFi(void);
void isTbox__12dSv_memBit_cCFi(void);
BOOL isTransformLV__21dSv_player_status_b_cCFi(int);
void isVisitedRoom__13dSv_memory2_cFi(void);
-void mDoAud_resetProcess(void);
void mDoExt_bckAnm_NS_dtor(void);
void mDoExt_bpkAnm_NS_dtor(void);
void mDoExt_brkAnm_NS_dtor(void);
diff --git a/include/m_Do/m_Do_audio/asm/JAISeCategoryMgr_NS_dtor.s b/include/m_Do/m_Do_audio/asm/JAISeCategoryMgr_NS_dtor.s
new file mode 100644
index 0000000000..3951004666
--- /dev/null
+++ b/include/m_Do/m_Do_audio/asm/JAISeCategoryMgr_NS_dtor.s
@@ -0,0 +1,32 @@
+/* 800078DC 0000481C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 800078E0 00004820 7C 08 02 A6 */ mflr r0
+/* 800078E4 00004824 90 01 00 14 */ stw r0, 0x14(r1)
+/* 800078E8 00004828 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 800078EC 0000482C 93 C1 00 08 */ stw r30, 8(r1)
+/* 800078F0 00004830 7C 7E 1B 79 */ or. r30, r3, r3
+/* 800078F4 00004834 7C 9F 23 78 */ mr r31, r4
+/* 800078F8 00004838 41 82 00 40 */ beq lbl_80007938
+/* 800078FC 0000483C 3C 60 80 3D */ lis r3, lbl_803C98C4@ha
+/* 80007900 00004840 38 03 98 C4 */ addi r0, r3, lbl_803C98C4@l
+/* 80007904 00004844 90 1E 00 00 */ stw r0, 0(r30)
+/* 80007908 00004848 34 1E 00 58 */ addic. r0, r30, 0x58
+/* 8000790C 0000484C 41 82 00 10 */ beq lbl_8000791C
+/* 80007910 00004850 38 7E 00 58 */ addi r3, r30, 0x58
+/* 80007914 00004854 38 80 00 00 */ li r4, 0
+/* 80007918 00004858 48 2D 45 95 */ bl __dt__10JSUPtrListFv
+lbl_8000791C:
+/* 8000791C 0000485C 7F C3 F3 78 */ mr r3, r30
+/* 80007920 00004860 38 80 00 00 */ li r4, 0
+/* 80007924 00004864 48 29 9E 51 */ bl JAISeqDataUser_NS_dtor
+/* 80007928 00004868 7F E0 07 35 */ extsh. r0, r31
+/* 8000792C 0000486C 40 81 00 0C */ ble lbl_80007938
+/* 80007930 00004870 7F C3 F3 78 */ mr r3, r30
+/* 80007934 00004874 48 2C 74 09 */ bl __dl__FPv
+lbl_80007938:
+/* 80007938 00004878 7F C3 F3 78 */ mr r3, r30
+/* 8000793C 0000487C 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80007940 00004880 83 C1 00 08 */ lwz r30, 8(r1)
+/* 80007944 00004884 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80007948 00004888 7C 08 03 A6 */ mtlr r0
+/* 8000794C 0000488C 38 21 00 10 */ addi r1, r1, 0x10
+/* 80007950 00004890 4E 80 00 20 */ blr \ No newline at end of file
diff --git a/include/m_Do/m_Do_audio/asm/JAISoundHandle_NS_dtor.s b/include/m_Do/m_Do_audio/asm/JAISoundHandle_NS_dtor.s
new file mode 100644
index 0000000000..5624a56b11
--- /dev/null
+++ b/include/m_Do/m_Do_audio/asm/JAISoundHandle_NS_dtor.s
@@ -0,0 +1,21 @@
+/* 80007838 00004778 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8000783C 0000477C 7C 08 02 A6 */ mflr r0
+/* 80007840 00004780 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80007844 00004784 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80007848 00004788 93 C1 00 08 */ stw r30, 8(r1)
+/* 8000784C 0000478C 7C 7E 1B 79 */ or. r30, r3, r3
+/* 80007850 00004790 7C 9F 23 78 */ mr r31, r4
+/* 80007854 00004794 41 82 00 18 */ beq lbl_8000786C
+/* 80007858 00004798 48 29 A9 2D */ bl JAISoundHandle_NS_releaseSound
+/* 8000785C 0000479C 7F E0 07 35 */ extsh. r0, r31
+/* 80007860 000047A0 40 81 00 0C */ ble lbl_8000786C
+/* 80007864 000047A4 7F C3 F3 78 */ mr r3, r30
+/* 80007868 000047A8 48 2C 74 D5 */ bl __dl__FPv
+lbl_8000786C:
+/* 8000786C 000047AC 7F C3 F3 78 */ mr r3, r30
+/* 80007870 000047B0 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80007874 000047B4 83 C1 00 08 */ lwz r30, 8(r1)
+/* 80007878 000047B8 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8000787C 000047BC 7C 08 03 A6 */ mtlr r0
+/* 80007880 000047C0 38 21 00 10 */ addi r1, r1, 0x10
+/* 80007884 000047C4 4E 80 00 20 */ blr \ No newline at end of file
diff --git a/include/m_Do/m_Do_audio/asm/Z2AudioMgr_NS_dtor.s b/include/m_Do/m_Do_audio/asm/Z2AudioMgr_NS_dtor.s
new file mode 100644
index 0000000000..fe3aeee3b4
--- /dev/null
+++ b/include/m_Do/m_Do_audio/asm/Z2AudioMgr_NS_dtor.s
@@ -0,0 +1,315 @@
+/* 800073C8 00004308 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 800073CC 0000430C 7C 08 02 A6 */ mflr r0
+/* 800073D0 00004310 90 01 00 24 */ stw r0, 0x24(r1)
+/* 800073D4 00004314 39 61 00 20 */ addi r11, r1, 0x20
+/* 800073D8 00004318 48 35 AE 05 */ bl _savegpr_29
+/* 800073DC 0000431C 7C 7E 1B 79 */ or. r30, r3, r3
+/* 800073E0 00004320 7C 9F 23 78 */ mr r31, r4
+/* 800073E4 00004324 41 82 04 38 */ beq lbl_8000781C
+/* 800073E8 00004328 3C 60 80 3D */ lis r3, lbl_803CBF38@ha
+/* 800073EC 0000432C 38 03 BF 38 */ addi r0, r3, lbl_803CBF38@l
+/* 800073F0 00004330 90 1E 05 14 */ stw r0, 0x514(r30)
+/* 800073F4 00004334 34 1E 13 70 */ addic. r0, r30, 0x1370
+/* 800073F8 00004338 41 82 00 24 */ beq lbl_8000741C
+/* 800073FC 0000433C 34 1E 13 70 */ addic. r0, r30, 0x1370
+/* 80007400 00004340 41 82 00 1C */ beq lbl_8000741C
+/* 80007404 00004344 80 6D 85 C0 */ lwz r3, lbl_80450B40-_SDA_BASE_(r13)
+/* 80007408 00004348 38 1E 13 70 */ addi r0, r30, 0x1370
+/* 8000740C 0000434C 7C 03 00 40 */ cmplw r3, r0
+/* 80007410 00004350 40 82 00 0C */ bne lbl_8000741C
+/* 80007414 00004354 38 00 00 00 */ li r0, 0
+/* 80007418 00004358 90 0D 85 C0 */ stw r0, lbl_80450B40-_SDA_BASE_(r13)
+lbl_8000741C:
+/* 8000741C 0000435C 34 1E 0F 2C */ addic. r0, r30, 0xf2c
+/* 80007420 00004360 41 82 00 98 */ beq lbl_800074B8
+/* 80007424 00004364 34 7E 0F 38 */ addic. r3, r30, 0xf38
+/* 80007428 00004368 41 82 00 54 */ beq lbl_8000747C
+/* 8000742C 0000436C 3C 80 80 3D */ lis r4, lbl_803CBF24@ha
+/* 80007430 00004370 38 04 BF 24 */ addi r0, r4, lbl_803CBF24@l
+/* 80007434 00004374 90 1E 0F 38 */ stw r0, 0xf38(r30)
+/* 80007438 00004378 28 03 00 00 */ cmplwi r3, 0
+/* 8000743C 0000437C 41 82 00 40 */ beq lbl_8000747C
+/* 80007440 00004380 3C 80 80 3D */ lis r4, lbl_803C9D80@ha
+/* 80007444 00004384 38 04 9D 80 */ addi r0, r4, lbl_803C9D80@l
+/* 80007448 00004388 90 1E 0F 38 */ stw r0, 0xf38(r30)
+/* 8000744C 0000438C 34 1E 0F 3C */ addic. r0, r30, 0xf3c
+/* 80007450 00004390 41 82 00 24 */ beq lbl_80007474
+/* 80007454 00004394 34 83 00 04 */ addic. r4, r3, 4
+/* 80007458 00004398 41 82 00 08 */ beq lbl_80007460
+/* 8000745C 0000439C 38 84 FF FC */ addi r4, r4, -4
+lbl_80007460:
+/* 80007460 000043A0 80 0D 85 F4 */ lwz r0, lbl_80450B74-_SDA_BASE_(r13)
+/* 80007464 000043A4 7C 00 20 40 */ cmplw r0, r4
+/* 80007468 000043A8 40 82 00 0C */ bne lbl_80007474
+/* 8000746C 000043AC 38 00 00 00 */ li r0, 0
+/* 80007470 000043B0 90 0D 85 F4 */ stw r0, lbl_80450B74-_SDA_BASE_(r13)
+lbl_80007474:
+/* 80007474 000043B4 38 80 00 00 */ li r4, 0
+/* 80007478 000043B8 48 29 BB 11 */ bl JAISoundStarter_NS_dtor
+lbl_8000747C:
+/* 8000747C 000043BC 34 7E 0F 30 */ addic. r3, r30, 0xf30
+/* 80007480 000043C0 41 82 00 08 */ beq lbl_80007488
+/* 80007484 000043C4 48 29 AD 01 */ bl JAISoundHandle_NS_releaseSound
+lbl_80007488:
+/* 80007488 000043C8 34 1E 0F 2C */ addic. r0, r30, 0xf2c
+/* 8000748C 000043CC 41 82 00 0C */ beq lbl_80007498
+/* 80007490 000043D0 38 7E 0F 2C */ addi r3, r30, 0xf2c
+/* 80007494 000043D4 48 29 AC F1 */ bl JAISoundHandle_NS_releaseSound
+lbl_80007498:
+/* 80007498 000043D8 34 1E 0F 2C */ addic. r0, r30, 0xf2c
+/* 8000749C 000043DC 41 82 00 1C */ beq lbl_800074B8
+/* 800074A0 000043E0 80 6D 85 F0 */ lwz r3, lbl_80450B70-_SDA_BASE_(r13)
+/* 800074A4 000043E4 38 1E 0F 2C */ addi r0, r30, 0xf2c
+/* 800074A8 000043E8 7C 03 00 40 */ cmplw r3, r0
+/* 800074AC 000043EC 40 82 00 0C */ bne lbl_800074B8
+/* 800074B0 000043F0 38 00 00 00 */ li r0, 0
+/* 800074B4 000043F4 90 0D 85 F0 */ stw r0, lbl_80450B70-_SDA_BASE_(r13)
+lbl_800074B8:
+/* 800074B8 000043F8 38 7E 0D 4C */ addi r3, r30, 0xd4c
+/* 800074BC 000043FC 38 80 FF FF */ li r4, -1
+/* 800074C0 00004400 48 2B 5D 3D */ bl Z2Audience_NS_dtor
+/* 800074C4 00004404 34 1E 0D 40 */ addic. r0, r30, 0xd40
+/* 800074C8 00004408 41 82 00 94 */ beq lbl_8000755C
+/* 800074CC 0000440C 3C 60 80 3D */ lis r3, lbl_803CAC48@ha
+/* 800074D0 00004410 38 63 AC 48 */ addi r3, r3, lbl_803CAC48@l
+/* 800074D4 00004414 90 7E 0D 40 */ stw r3, 0xd40(r30)
+/* 800074D8 00004418 38 03 00 24 */ addi r0, r3, 0x24
+/* 800074DC 0000441C 90 1E 0D 44 */ stw r0, 0xd44(r30)
+/* 800074E0 00004420 38 03 00 34 */ addi r0, r3, 0x34
+/* 800074E4 00004424 90 1E 0D 48 */ stw r0, 0xd48(r30)
+/* 800074E8 00004428 34 1E 0D 4C */ addic. r0, r30, 0xd4c
+/* 800074EC 0000442C 41 82 00 24 */ beq lbl_80007510
+/* 800074F0 00004430 34 7E 0D 4C */ addic. r3, r30, 0xd4c
+/* 800074F4 00004434 41 82 00 08 */ beq lbl_800074FC
+/* 800074F8 00004438 38 63 FF F4 */ addi r3, r3, -12
+lbl_800074FC:
+/* 800074FC 0000443C 80 0D 85 CC */ lwz r0, lbl_80450B4C-_SDA_BASE_(r13)
+/* 80007500 00004440 7C 00 18 40 */ cmplw r0, r3
+/* 80007504 00004444 40 82 00 0C */ bne lbl_80007510
+/* 80007508 00004448 38 00 00 00 */ li r0, 0
+/* 8000750C 0000444C 90 0D 85 CC */ stw r0, lbl_80450B4C-_SDA_BASE_(r13)
+lbl_80007510:
+/* 80007510 00004450 38 7E 0D 48 */ addi r3, r30, 0xd48
+/* 80007514 00004454 38 80 00 00 */ li r4, 0
+/* 80007518 00004458 48 29 C5 C1 */ bl JAIStreamDataMgr_NS_dtor
+/* 8000751C 0000445C 34 1E 0D 44 */ addic. r0, r30, 0xd44
+/* 80007520 00004460 41 82 00 30 */ beq lbl_80007550
+/* 80007524 00004464 3C 60 80 3A */ lis r3, lbl_803A2F4C@ha
+/* 80007528 00004468 38 03 2F 4C */ addi r0, r3, lbl_803A2F4C@l
+/* 8000752C 0000446C 90 1E 0D 44 */ stw r0, 0xd44(r30)
+/* 80007530 00004470 34 1E 0D 44 */ addic. r0, r30, 0xd44
+/* 80007534 00004474 41 82 00 1C */ beq lbl_80007550
+/* 80007538 00004478 80 6D 85 D0 */ lwz r3, lbl_80450B50-_SDA_BASE_(r13)
+/* 8000753C 0000447C 38 1E 0D 44 */ addi r0, r30, 0xd44
+/* 80007540 00004480 7C 03 00 40 */ cmplw r3, r0
+/* 80007544 00004484 40 82 00 0C */ bne lbl_80007550
+/* 80007548 00004488 38 00 00 00 */ li r0, 0
+/* 8000754C 0000448C 90 0D 85 D0 */ stw r0, lbl_80450B50-_SDA_BASE_(r13)
+lbl_80007550:
+/* 80007550 00004490 38 7E 0D 40 */ addi r3, r30, 0xd40
+/* 80007554 00004494 38 80 00 00 */ li r4, 0
+/* 80007558 00004498 48 29 B7 F9 */ bl JAISoundInfo_NS_dtor
+lbl_8000755C:
+/* 8000755C 0000449C 34 1E 05 30 */ addic. r0, r30, 0x530
+/* 80007560 000044A0 41 82 01 04 */ beq lbl_80007664
+/* 80007564 000044A4 3C 60 80 3D */ lis r3, lbl_803C9D70@ha
+/* 80007568 000044A8 38 03 9D 70 */ addi r0, r3, lbl_803C9D70@l
+/* 8000756C 000044AC 90 1E 05 30 */ stw r0, 0x530(r30)
+/* 80007570 000044B0 37 BE 0C CC */ addic. r29, r30, 0xccc
+/* 80007574 000044B4 41 82 00 30 */ beq lbl_800075A4
+/* 80007578 000044B8 34 7D 00 58 */ addic. r3, r29, 0x58
+/* 8000757C 000044BC 41 82 00 0C */ beq lbl_80007588
+/* 80007580 000044C0 38 80 00 00 */ li r4, 0
+/* 80007584 000044C4 48 2D 49 29 */ bl __dt__10JSUPtrListFv
+lbl_80007588:
+/* 80007588 000044C8 28 1D 00 00 */ cmplwi r29, 0
+/* 8000758C 000044CC 41 82 00 18 */ beq lbl_800075A4
+/* 80007590 000044D0 80 0D 85 E4 */ lwz r0, lbl_80450B64-_SDA_BASE_(r13)
+/* 80007594 000044D4 7C 00 E8 40 */ cmplw r0, r29
+/* 80007598 000044D8 40 82 00 0C */ bne lbl_800075A4
+/* 8000759C 000044DC 38 00 00 00 */ li r0, 0
+/* 800075A0 000044E0 90 0D 85 E4 */ stw r0, lbl_80450B64-_SDA_BASE_(r13)
+lbl_800075A4:
+/* 800075A4 000044E4 37 BE 0C 58 */ addic. r29, r30, 0xc58
+/* 800075A8 000044E8 41 82 00 48 */ beq lbl_800075F0
+/* 800075AC 000044EC 3C 60 80 3D */ lis r3, lbl_803C9958@ha
+/* 800075B0 000044F0 38 03 99 58 */ addi r0, r3, lbl_803C9958@l
+/* 800075B4 000044F4 90 1E 0C 58 */ stw r0, 0xc58(r30)
+/* 800075B8 000044F8 34 7D 00 64 */ addic. r3, r29, 0x64
+/* 800075BC 000044FC 41 82 00 0C */ beq lbl_800075C8
+/* 800075C0 00004500 38 80 00 00 */ li r4, 0
+/* 800075C4 00004504 48 2D 48 E9 */ bl __dt__10JSUPtrListFv
+lbl_800075C8:
+/* 800075C8 00004508 7F A3 EB 78 */ mr r3, r29
+/* 800075CC 0000450C 38 80 00 00 */ li r4, 0
+/* 800075D0 00004510 48 29 A1 A5 */ bl JAISeqDataUser_NS_dtor
+/* 800075D4 00004514 28 1D 00 00 */ cmplwi r29, 0
+/* 800075D8 00004518 41 82 00 18 */ beq lbl_800075F0
+/* 800075DC 0000451C 80 0D 85 E8 */ lwz r0, lbl_80450B68-_SDA_BASE_(r13)
+/* 800075E0 00004520 7C 00 E8 40 */ cmplw r0, r29
+/* 800075E4 00004524 40 82 00 0C */ bne lbl_800075F0
+/* 800075E8 00004528 38 00 00 00 */ li r0, 0
+/* 800075EC 0000452C 90 0D 85 E8 */ stw r0, lbl_80450B68-_SDA_BASE_(r13)
+lbl_800075F0:
+/* 800075F0 00004530 37 BE 05 34 */ addic. r29, r30, 0x534
+/* 800075F4 00004534 41 82 00 50 */ beq lbl_80007644
+/* 800075F8 00004538 3C 60 80 3D */ lis r3, lbl_803C98B0@ha
+/* 800075FC 0000453C 38 03 98 B0 */ addi r0, r3, lbl_803C98B0@l
+/* 80007600 00004540 90 1E 05 34 */ stw r0, 0x534(r30)
+/* 80007604 00004544 38 7E 05 48 */ addi r3, r30, 0x548
+/* 80007608 00004548 3C 80 80 00 */ lis r4, __dt__16JAISeCategoryMgrFv@ha
+/* 8000760C 0000454C 38 84 78 DC */ addi r4, r4, __dt__16JAISeCategoryMgrFv@l
+/* 80007610 00004550 38 A0 00 6C */ li r5, 0x6c
+/* 80007614 00004554 38 C0 00 10 */ li r6, 0x10
+/* 80007618 00004558 48 35 A6 D1 */ bl func_80361CE8
+/* 8000761C 0000455C 7F A3 EB 78 */ mr r3, r29
+/* 80007620 00004560 38 80 00 00 */ li r4, 0
+/* 80007624 00004564 48 29 A1 51 */ bl JAISeqDataUser_NS_dtor
+/* 80007628 00004568 28 1D 00 00 */ cmplwi r29, 0
+/* 8000762C 0000456C 41 82 00 18 */ beq lbl_80007644
+/* 80007630 00004570 80 0D 85 EC */ lwz r0, lbl_80450B6C-_SDA_BASE_(r13)
+/* 80007634 00004574 7C 00 E8 40 */ cmplw r0, r29
+/* 80007638 00004578 40 82 00 0C */ bne lbl_80007644
+/* 8000763C 0000457C 38 00 00 00 */ li r0, 0
+/* 80007640 00004580 90 0D 85 EC */ stw r0, lbl_80450B6C-_SDA_BASE_(r13)
+lbl_80007644:
+/* 80007644 00004584 34 1E 05 30 */ addic. r0, r30, 0x530
+/* 80007648 00004588 41 82 00 1C */ beq lbl_80007664
+/* 8000764C 0000458C 80 6D 85 E0 */ lwz r3, lbl_80450B60-_SDA_BASE_(r13)
+/* 80007650 00004590 38 1E 05 30 */ addi r0, r30, 0x530
+/* 80007654 00004594 7C 03 00 40 */ cmplw r3, r0
+/* 80007658 00004598 40 82 00 0C */ bne lbl_80007664
+/* 8000765C 0000459C 38 00 00 00 */ li r0, 0
+/* 80007660 000045A0 90 0D 85 E0 */ stw r0, lbl_80450B60-_SDA_BASE_(r13)
+lbl_80007664:
+/* 80007664 000045A4 34 1E 05 2C */ addic. r0, r30, 0x52c
+/* 80007668 000045A8 41 82 00 44 */ beq lbl_800076AC
+/* 8000766C 000045AC 3C 60 80 3D */ lis r3, lbl_803C9D80@ha
+/* 80007670 000045B0 38 03 9D 80 */ addi r0, r3, lbl_803C9D80@l
+/* 80007674 000045B4 90 1E 05 2C */ stw r0, 0x52c(r30)
+/* 80007678 000045B8 34 1E 05 30 */ addic. r0, r30, 0x530
+/* 8000767C 000045BC 41 82 00 24 */ beq lbl_800076A0
+/* 80007680 000045C0 34 7E 05 30 */ addic. r3, r30, 0x530
+/* 80007684 000045C4 41 82 00 08 */ beq lbl_8000768C
+/* 80007688 000045C8 38 63 FF FC */ addi r3, r3, -4
+lbl_8000768C:
+/* 8000768C 000045CC 80 0D 85 F4 */ lwz r0, lbl_80450B74-_SDA_BASE_(r13)
+/* 80007690 000045D0 7C 00 18 40 */ cmplw r0, r3
+/* 80007694 000045D4 40 82 00 0C */ bne lbl_800076A0
+/* 80007698 000045D8 38 00 00 00 */ li r0, 0
+/* 8000769C 000045DC 90 0D 85 F4 */ stw r0, lbl_80450B74-_SDA_BASE_(r13)
+lbl_800076A0:
+/* 800076A0 000045E0 38 7E 05 2C */ addi r3, r30, 0x52c
+/* 800076A4 000045E4 38 80 00 00 */ li r4, 0
+/* 800076A8 000045E8 48 29 B8 E1 */ bl JAISoundStarter_NS_dtor
+lbl_800076AC:
+/* 800076AC 000045EC 38 7E 05 1C */ addi r3, r30, 0x51c
+/* 800076B0 000045F0 38 80 FF FF */ li r4, -1
+/* 800076B4 000045F4 48 29 5A 49 */ bl JASAudioReseter_NS_dtor
+/* 800076B8 000045F8 34 1E 04 F4 */ addic. r0, r30, 0x4f4
+/* 800076BC 000045FC 41 82 00 38 */ beq lbl_800076F4
+/* 800076C0 00004600 34 1E 04 F4 */ addic. r0, r30, 0x4f4
+/* 800076C4 00004604 41 82 00 10 */ beq lbl_800076D4
+/* 800076C8 00004608 38 7E 04 F4 */ addi r3, r30, 0x4f4
+/* 800076CC 0000460C 38 80 00 00 */ li r4, 0
+/* 800076D0 00004610 48 2D 47 DD */ bl __dt__10JSUPtrListFv
+lbl_800076D4:
+/* 800076D4 00004614 34 1E 04 F4 */ addic. r0, r30, 0x4f4
+/* 800076D8 00004618 41 82 00 1C */ beq lbl_800076F4
+/* 800076DC 0000461C 80 6D 85 C8 */ lwz r3, lbl_80450B48-_SDA_BASE_(r13)
+/* 800076E0 00004620 38 1E 04 F4 */ addi r0, r30, 0x4f4
+/* 800076E4 00004624 7C 03 00 40 */ cmplw r3, r0
+/* 800076E8 00004628 40 82 00 0C */ bne lbl_800076F4
+/* 800076EC 0000462C 38 00 00 00 */ li r0, 0
+/* 800076F0 00004630 90 0D 85 C8 */ stw r0, lbl_80450B48-_SDA_BASE_(r13)
+lbl_800076F4:
+/* 800076F4 00004634 34 1E 04 C4 */ addic. r0, r30, 0x4c4
+/* 800076F8 00004638 41 82 00 24 */ beq lbl_8000771C
+/* 800076FC 0000463C 34 1E 04 C4 */ addic. r0, r30, 0x4c4
+/* 80007700 00004640 41 82 00 1C */ beq lbl_8000771C
+/* 80007704 00004644 80 6D 85 FC */ lwz r3, lbl_80450B7C-_SDA_BASE_(r13)
+/* 80007708 00004648 38 1E 04 C4 */ addi r0, r30, 0x4c4
+/* 8000770C 0000464C 7C 03 00 40 */ cmplw r3, r0
+/* 80007710 00004650 40 82 00 0C */ bne lbl_8000771C
+/* 80007714 00004654 38 00 00 00 */ li r0, 0
+/* 80007718 00004658 90 0D 85 FC */ stw r0, lbl_80450B7C-_SDA_BASE_(r13)
+lbl_8000771C:
+/* 8000771C 0000465C 34 1E 04 A4 */ addic. r0, r30, 0x4a4
+/* 80007720 00004660 41 82 00 24 */ beq lbl_80007744
+/* 80007724 00004664 34 1E 04 A4 */ addic. r0, r30, 0x4a4
+/* 80007728 00004668 41 82 00 1C */ beq lbl_80007744
+/* 8000772C 0000466C 80 6D 86 00 */ lwz r3, lbl_80450B80-_SDA_BASE_(r13)
+/* 80007730 00004670 38 1E 04 A4 */ addi r0, r30, 0x4a4
+/* 80007734 00004674 7C 03 00 40 */ cmplw r3, r0
+/* 80007738 00004678 40 82 00 0C */ bne lbl_80007744
+/* 8000773C 0000467C 38 00 00 00 */ li r0, 0
+/* 80007740 00004680 90 0D 86 00 */ stw r0, lbl_80450B80-_SDA_BASE_(r13)
+lbl_80007744:
+/* 80007744 00004684 34 1E 03 D0 */ addic. r0, r30, 0x3d0
+/* 80007748 00004688 41 82 00 58 */ beq lbl_800077A0
+/* 8000774C 0000468C 34 7E 03 DC */ addic. r3, r30, 0x3dc
+/* 80007750 00004690 41 82 00 08 */ beq lbl_80007758
+/* 80007754 00004694 48 29 AA 31 */ bl JAISoundHandle_NS_releaseSound
+lbl_80007758:
+/* 80007758 00004698 34 7E 03 D8 */ addic. r3, r30, 0x3d8
+/* 8000775C 0000469C 41 82 00 08 */ beq lbl_80007764
+/* 80007760 000046A0 48 29 AA 25 */ bl JAISoundHandle_NS_releaseSound
+lbl_80007764:
+/* 80007764 000046A4 34 7E 03 D4 */ addic. r3, r30, 0x3d4
+/* 80007768 000046A8 41 82 00 08 */ beq lbl_80007770
+/* 8000776C 000046AC 48 29 AA 19 */ bl JAISoundHandle_NS_releaseSound
+lbl_80007770:
+/* 80007770 000046B0 34 1E 03 D0 */ addic. r0, r30, 0x3d0
+/* 80007774 000046B4 41 82 00 0C */ beq lbl_80007780
+/* 80007778 000046B8 38 7E 03 D0 */ addi r3, r30, 0x3d0
+/* 8000777C 000046BC 48 29 AA 09 */ bl JAISoundHandle_NS_releaseSound
+lbl_80007780:
+/* 80007780 000046C0 34 1E 03 D0 */ addic. r0, r30, 0x3d0
+/* 80007784 000046C4 41 82 00 1C */ beq lbl_800077A0
+/* 80007788 000046C8 80 6D 86 04 */ lwz r3, lbl_80450B84-_SDA_BASE_(r13)
+/* 8000778C 000046CC 38 1E 03 D0 */ addi r0, r30, 0x3d0
+/* 80007790 000046D0 7C 03 00 40 */ cmplw r3, r0
+/* 80007794 000046D4 40 82 00 0C */ bne lbl_800077A0
+/* 80007798 000046D8 38 00 00 00 */ li r0, 0
+/* 8000779C 000046DC 90 0D 86 04 */ stw r0, lbl_80450B84-_SDA_BASE_(r13)
+lbl_800077A0:
+/* 800077A0 000046E0 28 1E 00 00 */ cmplwi r30, 0
+/* 800077A4 000046E4 41 82 00 68 */ beq lbl_8000780C
+/* 800077A8 000046E8 38 7E 01 D4 */ addi r3, r30, 0x1d4
+/* 800077AC 000046EC 3C 80 80 00 */ lis r4, __dt__12Z2MultiSeObjFv@ha
+/* 800077B0 000046F0 38 84 78 88 */ addi r4, r4, __dt__12Z2MultiSeObjFv@l
+/* 800077B4 000046F4 38 A0 00 24 */ li r5, 0x24
+/* 800077B8 000046F8 38 C0 00 0A */ li r6, 0xa
+/* 800077BC 000046FC 48 35 A5 2D */ bl func_80361CE8
+/* 800077C0 00004700 38 7E 00 68 */ addi r3, r30, 0x68
+/* 800077C4 00004704 3C 80 80 00 */ lis r4, __dt__12Z2MultiSeObjFv@ha
+/* 800077C8 00004708 38 84 78 88 */ addi r4, r4, __dt__12Z2MultiSeObjFv@l
+/* 800077CC 0000470C 38 A0 00 24 */ li r5, 0x24
+/* 800077D0 00004710 38 C0 00 0A */ li r6, 0xa
+/* 800077D4 00004714 48 35 A5 15 */ bl func_80361CE8
+/* 800077D8 00004718 7F C3 F3 78 */ mr r3, r30
+/* 800077DC 0000471C 3C 80 80 00 */ lis r4, __dt__14JAISoundHandleFv@ha
+/* 800077E0 00004720 38 84 78 38 */ addi r4, r4, __dt__14JAISoundHandleFv@l
+/* 800077E4 00004724 38 A0 00 04 */ li r5, 4
+/* 800077E8 00004728 38 C0 00 18 */ li r6, 0x18
+/* 800077EC 0000472C 48 35 A4 FD */ bl func_80361CE8
+/* 800077F0 00004730 28 1E 00 00 */ cmplwi r30, 0
+/* 800077F4 00004734 41 82 00 18 */ beq lbl_8000780C
+/* 800077F8 00004738 80 0D 86 08 */ lwz r0, lbl_80450B88-_SDA_BASE_(r13)
+/* 800077FC 0000473C 7C 00 F0 40 */ cmplw r0, r30
+/* 80007800 00004740 40 82 00 0C */ bne lbl_8000780C
+/* 80007804 00004744 38 00 00 00 */ li r0, 0
+/* 80007808 00004748 90 0D 86 08 */ stw r0, lbl_80450B88-_SDA_BASE_(r13)
+lbl_8000780C:
+/* 8000780C 0000474C 7F E0 07 35 */ extsh. r0, r31
+/* 80007810 00004750 40 81 00 0C */ ble lbl_8000781C
+/* 80007814 00004754 7F C3 F3 78 */ mr r3, r30
+/* 80007818 00004758 48 2C 75 25 */ bl __dl__FPv
+lbl_8000781C:
+/* 8000781C 0000475C 7F C3 F3 78 */ mr r3, r30
+/* 80007820 00004760 39 61 00 20 */ addi r11, r1, 0x20
+/* 80007824 00004764 48 35 AA 05 */ bl _restgpr_29
+/* 80007828 00004768 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 8000782C 0000476C 7C 08 03 A6 */ mtlr r0
+/* 80007830 00004770 38 21 00 20 */ addi r1, r1, 0x20
+/* 80007834 00004774 4E 80 00 20 */ blr \ No newline at end of file
diff --git a/include/m_Do/m_Do_audio/asm/Z2MultiSeObj_NS_dtor.s b/include/m_Do/m_Do_audio/asm/Z2MultiSeObj_NS_dtor.s
new file mode 100644
index 0000000000..eee5763bd0
--- /dev/null
+++ b/include/m_Do/m_Do_audio/asm/Z2MultiSeObj_NS_dtor.s
@@ -0,0 +1,22 @@
+/* 80007888 000047C8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8000788C 000047CC 7C 08 02 A6 */ mflr r0
+/* 80007890 000047D0 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80007894 000047D4 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80007898 000047D8 93 C1 00 08 */ stw r30, 8(r1)
+/* 8000789C 000047DC 7C 7E 1B 79 */ or. r30, r3, r3
+/* 800078A0 000047E0 7C 9F 23 78 */ mr r31, r4
+/* 800078A4 000047E4 41 82 00 1C */ beq lbl_800078C0
+/* 800078A8 000047E8 38 80 00 00 */ li r4, 0
+/* 800078AC 000047EC 48 2A 72 89 */ bl __dt__12Z2MultiSeMgrFv
+/* 800078B0 000047F0 7F E0 07 35 */ extsh. r0, r31
+/* 800078B4 000047F4 40 81 00 0C */ ble lbl_800078C0
+/* 800078B8 000047F8 7F C3 F3 78 */ mr r3, r30
+/* 800078BC 000047FC 48 2C 74 81 */ bl __dl__FPv
+lbl_800078C0:
+/* 800078C0 00004800 7F C3 F3 78 */ mr r3, r30
+/* 800078C4 00004804 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 800078C8 00004808 83 C1 00 08 */ lwz r30, 8(r1)
+/* 800078CC 0000480C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 800078D0 00004810 7C 08 03 A6 */ mtlr r0
+/* 800078D4 00004814 38 21 00 10 */ addi r1, r1, 0x10
+/* 800078D8 00004818 4E 80 00 20 */ blr \ No newline at end of file
diff --git a/include/m_Do/m_Do_audio/asm/__sinit_m_Do_audio_cpp.s b/include/m_Do/m_Do_audio/asm/__sinit_m_Do_audio_cpp.s
new file mode 100644
index 0000000000..f584c9fcc9
--- /dev/null
+++ b/include/m_Do/m_Do_audio/asm/__sinit_m_Do_audio_cpp.s
@@ -0,0 +1,20 @@
+/* 80007318 00004258 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8000731C 0000425C 7C 08 02 A6 */ mflr r0
+/* 80007320 00004260 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80007324 00004264 3C 60 80 3E */ lis r3, lbl_803DBF4C@ha
+/* 80007328 00004268 38 63 BF 4C */ addi r3, r3, lbl_803DBF4C@l
+/* 8000732C 0000426C 48 2C 5F 1D */ bl __ct__10Z2AudioMgrFv
+/* 80007330 00004270 3C 60 80 3A */ lis r3, lbl_803A2F40@ha
+/* 80007334 00004274 38 03 2F 40 */ addi r0, r3, lbl_803A2F40@l
+/* 80007338 00004278 3C 60 80 3E */ lis r3, lbl_803DBF4C@ha
+/* 8000733C 0000427C 38 63 BF 4C */ addi r3, r3, lbl_803DBF4C@l
+/* 80007340 00004280 90 03 05 14 */ stw r0, 0x514(r3)
+/* 80007344 00004284 3C 80 80 00 */ lis r4, __dt__17mDoAud_zelAudio_cFv@ha
+/* 80007348 00004288 38 84 73 68 */ addi r4, r4, __dt__17mDoAud_zelAudio_cFv@l
+/* 8000734C 0000428C 3C A0 80 3E */ lis r5, lbl_803DBF40@ha
+/* 80007350 00004290 38 A5 BF 40 */ addi r5, r5, lbl_803DBF40@l
+/* 80007354 00004294 48 35 A8 D1 */ bl func_80361C24
+/* 80007358 00004298 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8000735C 0000429C 7C 08 03 A6 */ mtlr r0
+/* 80007360 000042A0 38 21 00 10 */ addi r1, r1, 0x10
+/* 80007364 000042A4 4E 80 00 20 */ blr \ No newline at end of file
diff --git a/include/m_Do/m_Do_audio/asm/mDoAud_Create.s b/include/m_Do/m_Do_audio/asm/mDoAud_Create.s
new file mode 100644
index 0000000000..567ae025e1
--- /dev/null
+++ b/include/m_Do/m_Do_audio/asm/mDoAud_Create.s
@@ -0,0 +1,112 @@
+/* 80006FC0 00003F00 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80006FC4 00003F04 7C 08 02 A6 */ mflr r0
+/* 80006FC8 00003F08 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80006FCC 00003F0C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80006FD0 00003F10 80 0D 86 40 */ lwz r0, lbl_80450BC0-_SDA_BASE_(r13)
+/* 80006FD4 00003F14 28 00 00 00 */ cmplwi r0, 0
+/* 80006FD8 00003F18 40 82 00 24 */ bne lbl_80006FFC
+/* 80006FDC 00003F1C 3C 60 80 37 */ lis r3, lbl_80373D68@ha
+/* 80006FE0 00003F20 38 63 3D 68 */ addi r3, r3, lbl_80373D68@l
+/* 80006FE4 00003F24 38 80 00 02 */ li r4, 2
+/* 80006FE8 00003F28 38 A0 00 00 */ li r5, 0
+/* 80006FEC 00003F2C 48 00 F3 A9 */ bl mDoDvdThd_toMainRam_c_NS_create
+/* 80006FF0 00003F30 90 6D 86 40 */ stw r3, lbl_80450BC0-_SDA_BASE_(r13)
+/* 80006FF4 00003F34 28 03 00 00 */ cmplwi r3, 0
+/* 80006FF8 00003F38 41 82 01 58 */ beq lbl_80007150
+lbl_80006FFC:
+/* 80006FFC 00003F3C 80 0D 86 44 */ lwz r0, lbl_80450BC4-_SDA_BASE_(r13)
+/* 80007000 00003F40 28 00 00 00 */ cmplwi r0, 0
+/* 80007004 00003F44 40 82 00 2C */ bne lbl_80007030
+/* 80007008 00003F48 3C 60 80 37 */ lis r3, lbl_80373D68@ha
+/* 8000700C 00003F4C 38 63 3D 68 */ addi r3, r3, lbl_80373D68@l
+/* 80007010 00003F50 38 63 00 16 */ addi r3, r3, 0x16
+/* 80007014 00003F54 38 80 00 00 */ li r4, 0
+/* 80007018 00003F58 38 A0 00 03 */ li r5, 3
+/* 8000701C 00003F5C 38 C0 00 00 */ li r6, 0
+/* 80007020 00003F60 48 00 F1 C1 */ bl mDoDvdThd_mountXArchive_c_NS_create
+/* 80007024 00003F64 90 6D 86 44 */ stw r3, lbl_80450BC4-_SDA_BASE_(r13)
+/* 80007028 00003F68 28 03 00 00 */ cmplwi r3, 0
+/* 8000702C 00003F6C 41 82 01 24 */ beq lbl_80007150
+lbl_80007030:
+/* 80007030 00003F70 80 6D 86 40 */ lwz r3, lbl_80450BC0-_SDA_BASE_(r13)
+/* 80007034 00003F74 88 03 00 0C */ lbz r0, 0xc(r3)
+/* 80007038 00003F78 2C 00 00 00 */ cmpwi r0, 0
+/* 8000703C 00003F7C 41 82 01 14 */ beq lbl_80007150
+/* 80007040 00003F80 80 6D 86 44 */ lwz r3, lbl_80450BC4-_SDA_BASE_(r13)
+/* 80007044 00003F84 88 03 00 0C */ lbz r0, 0xc(r3)
+/* 80007048 00003F88 2C 00 00 00 */ cmpwi r0, 0
+/* 8000704C 00003F8C 41 82 01 04 */ beq lbl_80007150
+/* 80007050 00003F90 80 0D 86 3C */ lwz r0, lbl_80450BBC-_SDA_BASE_(r13)
+/* 80007054 00003F94 28 00 00 00 */ cmplwi r0, 0
+/* 80007058 00003F98 41 82 00 50 */ beq lbl_800070A8
+/* 8000705C 00003F9C 80 6D 8D F4 */ lwz r3, sCurrentHeap__7JKRHeap-_SDA_BASE_(r13)
+/* 80007060 00003FA0 38 80 00 05 */ li r4, 5
+/* 80007064 00003FA4 48 2C 77 4D */ bl changeGroupID__7JKRHeapFUc
+/* 80007068 00003FA8 7C 7F 1B 78 */ mr r31, r3
+/* 8000706C 00003FAC 80 6D 86 44 */ lwz r3, lbl_80450BC4-_SDA_BASE_(r13)
+/* 80007070 00003FB0 80 E3 00 1C */ lwz r7, 0x1c(r3)
+/* 80007074 00003FB4 80 6D 86 40 */ lwz r3, lbl_80450BC0-_SDA_BASE_(r13)
+/* 80007078 00003FB8 80 C3 00 1C */ lwz r6, 0x1c(r3)
+/* 8000707C 00003FBC 3C 60 80 3E */ lis r3, lbl_803DBF4C@ha
+/* 80007080 00003FC0 38 63 BF 4C */ addi r3, r3, lbl_803DBF4C@l
+/* 80007084 00003FC4 80 8D 86 3C */ lwz r4, lbl_80450BBC-_SDA_BASE_(r13)
+/* 80007088 00003FC8 3C A0 00 A0 */ lis r5, 0xa0
+/* 8000708C 00003FCC 48 2C 62 C1 */ bl init__10Z2AudioMgrFP12JKRSolidHeapUlPvP10JKRArchive
+/* 80007090 00003FD0 80 6D 8D F4 */ lwz r3, sCurrentHeap__7JKRHeap-_SDA_BASE_(r13)
+/* 80007094 00003FD4 57 E4 06 3E */ clrlwi r4, r31, 0x18
+/* 80007098 00003FD8 48 2C 77 19 */ bl changeGroupID__7JKRHeapFUc
+/* 8000709C 00003FDC 80 6D 86 3C */ lwz r3, lbl_80450BBC-_SDA_BASE_(r13)
+/* 800070A0 00003FE0 48 2C 9B 55 */ bl adjustSize__12JKRSolidHeapFv
+/* 800070A4 00003FE4 48 00 00 18 */ b lbl_800070BC
+lbl_800070A8:
+/* 800070A8 00003FE8 3C 60 80 37 */ lis r3, lbl_80373D68@ha
+/* 800070AC 00003FEC 38 63 3D 68 */ addi r3, r3, lbl_80373D68@l
+/* 800070B0 00003FF0 38 63 00 35 */ addi r3, r3, 0x35
+/* 800070B4 00003FF4 4C C6 31 82 */ crclr 6
+/* 800070B8 00003FF8 4B FF FB 55 */ bl OSReport_Error
+lbl_800070BC:
+/* 800070BC 00003FFC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha
+/* 800070C0 00004000 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l
+/* 800070C4 00004004 38 83 07 F0 */ addi r4, r3, 0x7f0
+/* 800070C8 00004008 3C 60 80 3E */ lis r3, lbl_803DBF4C@ha
+/* 800070CC 0000400C 38 63 BF 4C */ addi r3, r3, lbl_803DBF4C@l
+/* 800070D0 00004010 38 63 04 C4 */ addi r3, r3, 0x4c4
+/* 800070D4 00004014 48 2A F6 85 */ bl setEventBit__11Z2StatusMgrFPv
+/* 800070D8 00004018 3C 60 80 3E */ lis r3, lbl_803DBF4C@ha
+/* 800070DC 0000401C 38 63 BF 4C */ addi r3, r3, lbl_803DBF4C@l
+/* 800070E0 00004020 4B FF FE D5 */ bl reset__17mDoAud_zelAudio_cFv
+/* 800070E4 00004024 48 33 94 AD */ bl OSGetSoundMode
+/* 800070E8 00004028 7C 64 1B 78 */ mr r4, r3
+/* 800070EC 0000402C 80 6D 8D E8 */ lwz r3, lbl_80451368-_SDA_BASE_(r13)
+/* 800070F0 00004030 48 2C 67 99 */ bl setOutputMode__10Z2AudioMgrFUl
+/* 800070F4 00004034 80 6D 86 40 */ lwz r3, lbl_80450BC0-_SDA_BASE_(r13)
+/* 800070F8 00004038 80 63 00 1C */ lwz r3, 0x1c(r3)
+/* 800070FC 0000403C 38 80 00 00 */ li r4, 0
+/* 80007100 00004040 48 2C 74 01 */ bl free__7JKRHeapFPvP7JKRHeap
+/* 80007104 00004044 80 6D 86 40 */ lwz r3, lbl_80450BC0-_SDA_BASE_(r13)
+/* 80007108 00004048 28 03 00 00 */ cmplwi r3, 0
+/* 8000710C 0000404C 41 82 00 18 */ beq lbl_80007124
+/* 80007110 00004050 38 80 00 01 */ li r4, 1
+/* 80007114 00004054 81 83 00 10 */ lwz r12, 0x10(r3)
+/* 80007118 00004058 81 8C 00 08 */ lwz r12, 8(r12)
+/* 8000711C 0000405C 7D 89 03 A6 */ mtctr r12
+/* 80007120 00004060 4E 80 04 21 */ bctrl
+lbl_80007124:
+/* 80007124 00004064 80 6D 86 44 */ lwz r3, lbl_80450BC4-_SDA_BASE_(r13)
+/* 80007128 00004068 28 03 00 00 */ cmplwi r3, 0
+/* 8000712C 0000406C 41 82 00 18 */ beq lbl_80007144
+/* 80007130 00004070 38 80 00 01 */ li r4, 1
+/* 80007134 00004074 81 83 00 10 */ lwz r12, 0x10(r3)
+/* 80007138 00004078 81 8C 00 08 */ lwz r12, 8(r12)
+/* 8000713C 0000407C 7D 89 03 A6 */ mtctr r12
+/* 80007140 00004080 4E 80 04 21 */ bctrl
+lbl_80007144:
+/* 80007144 00004084 38 00 00 01 */ li r0, 1
+/* 80007148 00004088 98 0D 86 38 */ stb r0, lbl_80450BB8-_SDA_BASE_(r13)
+/* 8000714C 0000408C 98 0D 87 00 */ stb r0, lbl_80450C80-_SDA_BASE_(r13)
+lbl_80007150:
+/* 80007150 00004090 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80007154 00004094 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80007158 00004098 7C 08 03 A6 */ mtlr r0
+/* 8000715C 0000409C 38 21 00 10 */ addi r1, r1, 0x10
+/* 80007160 000040A0 4E 80 00 20 */ blr
diff --git a/include/m_Do/m_Do_audio/asm/mDoAud_zelAudio_c_NS_dtor.s b/include/m_Do/m_Do_audio/asm/mDoAud_zelAudio_c_NS_dtor.s
new file mode 100644
index 0000000000..c116846df3
--- /dev/null
+++ b/include/m_Do/m_Do_audio/asm/mDoAud_zelAudio_c_NS_dtor.s
@@ -0,0 +1,25 @@
+/* 80007368 000042A8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8000736C 000042AC 7C 08 02 A6 */ mflr r0
+/* 80007370 000042B0 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80007374 000042B4 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80007378 000042B8 93 C1 00 08 */ stw r30, 8(r1)
+/* 8000737C 000042BC 7C 7E 1B 79 */ or. r30, r3, r3
+/* 80007380 000042C0 7C 9F 23 78 */ mr r31, r4
+/* 80007384 000042C4 41 82 00 28 */ beq lbl_800073AC
+/* 80007388 000042C8 3C 80 80 3A */ lis r4, lbl_803A2F40@ha
+/* 8000738C 000042CC 38 04 2F 40 */ addi r0, r4, lbl_803A2F40@l
+/* 80007390 000042D0 90 1E 05 14 */ stw r0, 0x514(r30)
+/* 80007394 000042D4 38 80 00 00 */ li r4, 0
+/* 80007398 000042D8 48 00 00 31 */ bl __dt__10Z2AudioMgrFv
+/* 8000739C 000042DC 7F E0 07 35 */ extsh. r0, r31
+/* 800073A0 000042E0 40 81 00 0C */ ble lbl_800073AC
+/* 800073A4 000042E4 7F C3 F3 78 */ mr r3, r30
+/* 800073A8 000042E8 48 2C 79 95 */ bl __dl__FPv
+lbl_800073AC:
+/* 800073AC 000042EC 7F C3 F3 78 */ mr r3, r30
+/* 800073B0 000042F0 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 800073B4 000042F4 83 C1 00 08 */ lwz r30, 8(r1)
+/* 800073B8 000042F8 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 800073BC 000042FC 7C 08 03 A6 */ mtlr r0
+/* 800073C0 00004300 38 21 00 10 */ addi r1, r1, 0x10
+/* 800073C4 00004304 4E 80 00 20 */ blr \ No newline at end of file
diff --git a/include/m_Do/m_Do_audio/m_Do_audio.h b/include/m_Do/m_Do_audio/m_Do_audio.h
new file mode 100644
index 0000000000..3f50b78e7a
--- /dev/null
+++ b/include/m_Do/m_Do_audio/m_Do_audio.h
@@ -0,0 +1,93 @@
+#ifndef __M_DO_AUDIO_H_
+#define __M_DO_AUDIO_H_
+#include "global.h"
+#include "Z2AudioLib/Z2AudioMgr/Z2AudioMgr.h"
+
+class mDoAud_zelAudio_c{ //Based on Z2AudioMgr
+public:
+ void reset(void);
+ ~mDoAud_zelAudio_c();
+};
+
+class JAISeCategoryMgr{
+public:
+ ~JAISeCategoryMgr();
+};
+
+void mDoAud_Create(void);
+void mDoAud_Execute(void);
+
+void mDoAud_setSceneName(const char *spot,long room,long layer);
+
+bool mDoAud_load1stDynamicWave(void);
+
+void mDoAud_setFadeOutStart(u8 param_1);
+
+void mDoAud_setFadeInStart(u8 param_1);
+
+void mDoAud_resetProcess(void);
+
+bool mDoAud_resetRecover(void);
+
+void init(void);
+
+extern bool lbl_80450BBA;
+extern bool lbl_80450BB9;
+
+//required for inline asm
+extern u8 lbl_80450BC0;
+extern char lbl_80373D68[];
+extern u8 lbl_80450BC4;
+extern void* lbl_803A2F40; //is a vtable, change later
+extern u8 lbl_803DBF40;
+struct JAIStreamMgr;
+extern JAIStreamMgr* lbl_80450B64; //JAIStreamMgr sInstance
+extern void* lbl_803C9958; //vtable
+struct JAISeqMgr;
+extern JAISeqMgr* lbl_80450B68; //JAISeqMgr sInstance
+extern void* lbl_803C98B0; //vtable
+struct JAISeMgr;
+extern JAISeMgr* lbl_80450B6C;
+extern void* lbl_803C98C4; //vtable
+
+
+extern "C" {
+ void mDoAud_Execute__Fv(void);
+ void Z2MultiSeObj_NS_dtor(void);
+ void Z2MultiSeMgr_NS_dtor(void);
+ void __dt__16JAISeCategoryMgrFv(void);
+ void __dt__14JAISoundHandleFv(void);
+ void __dt__12Z2MultiSeObjFv(void);
+ void Z2MultiSeObj_NS_dtor(void);
+ void JAISoundHandle_NS_dtor(void);
+ void JASAudioReseter_NS_dtor(void);
+ void func_80361CE8(void);
+ void JAISeqDataUser_NS_dtor(void);
+ void JAISoundInfo_NS_dtor(void);
+ void JAIStreamDataMgr_NS_dtor(void);
+ void Z2Audience_NS_dtor(void);
+ void JAISoundHandle_NS_releaseSound(void);
+ void __dt__17mDoAud_zelAudio_cFv(void);
+ void __dt__10Z2AudioMgrFv(void);
+ void __ct__10Z2AudioMgrFv(void);
+ void hasReset__10Z2AudioMgrCFv(void);
+ void mDoAud_zelAudio_c_NS_dtor(void);
+ void mDoAud_resetRecover__Fv(void);
+ void resetRecover__10Z2AudioMgrFv(void);
+ void resetProcess__10Z2AudioMgrFUlb(void);
+ void gframeProcess__10Z2AudioMgrFv(void);
+ void mDoAud_Create__Fv(void);
+ void reset__17mDoAud_zelAudio_cFv(void);
+ void Z2StatusMgr_NS_setEventBit(void);
+ void mDoDvdThd_mountXArchive_c_NS_create(void);
+ void mDoDvdThd_toMainRam_c_NS_create(void);
+ void setOutputMode__10Z2AudioMgrFUl(void);
+ void mDoAud_setSceneName__FPCcll(void);
+ void __ct__12JAIStreamMgrFb(void);
+ void __ct__9JAISeqMgrFb(void);
+ void __ct__8JAISeMgrFb(void);
+ void Z2AudioMgr_NS_setOutputMode__9JASDriverFUl(void);
+ void init__10Z2AudioMgrFP12JKRSolidHeapUlPvP10JKRArchive(void);
+ void mDoAud_resetProcess__Fv(void);
+}
+#endif \ No newline at end of file
diff --git a/include/m_Do/m_Do_main/asm/func_8000628C.s b/include/m_Do/m_Do_main/asm/func_8000628C.s
index a3018a69e0..ea2abb99d8 100644
--- a/include/m_Do/m_Do_main/asm/func_8000628C.s
+++ b/include/m_Do/m_Do_main/asm/func_8000628C.s
@@ -121,6 +121,6 @@ lbl_8000642C:
lbl_80006440:
/* 80006440 00003380 48 00 16 55 */ bl read__8mDoCPd_cFv
/* 80006444 00003384 48 01 26 29 */ bl fapGm_Execute
-/* 80006448 00003388 48 00 0D 1D */ bl mDoAud_Execute
+/* 80006448 00003388 48 00 0D 1D */ bl mDoAud_Execute__Fv
/* 8000644C 0000338C 4B FF FD 7D */ bl debug__Fv
/* 80006450 00003390 4B FF FF B0 */ b lbl_80006400 \ No newline at end of file
diff --git a/include/m_Do/m_Do_main/m_Do_main.h b/include/m_Do/m_Do_main/m_Do_main.h
index 949efc3af1..69cf8cb13a 100644
--- a/include/m_Do/m_Do_main/m_Do_main.h
+++ b/include/m_Do/m_Do_main/m_Do_main.h
@@ -1,3 +1,5 @@
+#ifndef __M_DO_MAIN_H_
+#define __M_DO_MAIN_H_
#include "JSystem/JKernel/JKRExpHeap/JKRExpHeap.h"
#include "JSystem/JKernel/JKRHeap/JKRHeap.h"
#include "JSystem/JKernel/JKRSolidHeap/JKRSolidHeap.h"
@@ -40,4 +42,5 @@ extern u8 lbl_80450B18;
extern u8 lbl_80450588[8];
extern u8 lbl_804511B8[4];
extern u8 lbl_80451210[4];
-extern JKRSolidHeap* lbl_80450BBC; \ No newline at end of file
+extern JKRSolidHeap* lbl_80450BBC;
+#endif \ No newline at end of file
diff --git a/include/variables.h b/include/variables.h
index f5502ccab2..2cd7e8ce76 100644
--- a/include/variables.h
+++ b/include/variables.h
@@ -7,7 +7,6 @@ extern u8 lbl_80430188[16];
extern u8 lbl_80379235[16];
extern char lbl_80379234[0x64];
extern char lbl_803739A0[0x310];
-extern void* lbl_80451368;
extern u32 _sRumbleSupported;
extern u8 lbl_803A2EF4;
extern char lbl_803A2EE0[20];
@@ -413,7 +412,7 @@ extern u32 lbl_80450DE4;
// func_80015614
#include "JSystem/JUtility/JUTXfb/JUTXfb.h"
// extern JUTXfb* lbl_80451550;
-extern u8 lbl_80450BB8;
+extern bool lbl_80450BB8;
extern char lbl_80374198[16];
// func_8001574C
extern bool lbl_80451501;
diff --git a/ldscript.lcf b/ldscript.lcf
index 369de65b87..6c1660de3e 100644
--- a/ldscript.lcf
+++ b/ldscript.lcf
@@ -758,6 +758,12 @@ SECTIONS {
"__dt__7JKRFileFv" = 0x802D7B90;
}
FORCEACTIVE {
+ __sinit_m_Do_audio_cpp
+ hasReset__10Z2AudioMgrCFv
+ resetRecover__10Z2AudioMgrFv
+ mDoAud_resetRecover__Fv
+ resetProcess__10Z2AudioMgrFUlb
+ mDoAud_resetProcess__Fv
isLeadByte_1Byte__7JUTFontFi
isLeadByte_2Byte__7JUTFontFi
isLeadByte_ShiftJIS__7JUTFontFi
diff --git a/libs/Z2AudioLib/Z2AudioMgr.cpp b/libs/Z2AudioLib/Z2AudioMgr.cpp
index 976f5e19fa..315f057edd 100644
--- a/libs/Z2AudioLib/Z2AudioMgr.cpp
+++ b/libs/Z2AudioLib/Z2AudioMgr.cpp
@@ -1,72 +1,83 @@
/* Z2AudioMgr.cpp autogenerated by split.py v0.3 at 2021-01-04 23:11:48.333955 */
-#include "Z2AudioLib/Z2Param/Z2Param.h"
#include "global.h"
+#include "Z2AudioLib/Z2Param/Z2Param.h"
+#include "Z2AudioLib/Z2AudioMgr/Z2AudioMgr.h"
+#include "m_Do/m_Do_audio/m_Do_audio.h"
-extern "C" {
+
+
+
+extern "C"{
// __ct__10Z2AudioMgrFv
// Z2AudioMgr::Z2AudioMgr(void)
-asm void Z2AudioMgr(void) {
+asm void __ct__10Z2AudioMgrFv() { //cpp constructor won't compile???
nofralloc
#include "Z2AudioLib/Z2AudioMgr/asm/func_802CD248.s"
}
+};
// init__10Z2AudioMgrFP12JKRSolidHeapUlPvP10JKRArchive
// Z2AudioMgr::init(JKRSolidHeap*, unsigned long, void*, JKRArchive*)
-asm void Z2AudioMgr_NS_init(void) {
+asm void Z2AudioMgr::init(JKRSolidHeap*, unsigned long, void*, JKRArchive*) {
nofralloc
#include "Z2AudioLib/Z2AudioMgr/asm/func_802CD34C.s"
}
// __dt__24JAUStreamAramMgrBase_<1>Fv
// JAUStreamAramMgrBase_<1>::~JAUStreamAramMgrBase_<1>(void)
+extern "C"{
asm void func_802CD7F8(void) {
nofralloc
#include "Z2AudioLib/Z2AudioMgr/asm/func_802CD7F8.s"
}
+};
+
// setOutputMode__10Z2AudioMgrFUl
// Z2AudioMgr::setOutputMode(unsigned long)
-asm void Z2AudioMgr_NS_setOutputMode(void*, unsigned long) {
+asm Z2AudioMgr* Z2AudioMgr::setOutputMode(unsigned long) {
nofralloc
#include "Z2AudioLib/Z2AudioMgr/asm/func_802CD888.s"
}
+extern "C"{
// zeldaGFrameWork__10Z2AudioMgrFv
// Z2AudioMgr::zeldaGFrameWork(void)
asm void Z2AudioMgr_NS_zeldaGFrameWork(void) {
nofralloc
#include "Z2AudioLib/Z2AudioMgr/asm/func_802CD8B4.s"
}
+};
+
// gframeProcess__10Z2AudioMgrFv
// Z2AudioMgr::gframeProcess(void)
-asm void Z2AudioMgr_NS_gframeProcess(void) {
+asm void Z2AudioMgr::gframeProcess(void) {
nofralloc
#include "Z2AudioLib/Z2AudioMgr/asm/func_802CD904.s"
}
-
// resetProcess__10Z2AudioMgrFUlb
// Z2AudioMgr::resetProcess(unsigned long, bool)
-asm void Z2AudioMgr_NS_resetProcess(void) {
+asm u32 Z2AudioMgr::resetProcess(u32,bool) {
nofralloc
#include "Z2AudioLib/Z2AudioMgr/asm/func_802CD974.s"
}
-
// resetRecover__10Z2AudioMgrFv
// Z2AudioMgr::resetRecover(void)
-asm void Z2AudioMgr_NS_resetRecover(void) {
+asm void Z2AudioMgr::resetRecover(void) {
nofralloc
#include "Z2AudioLib/Z2AudioMgr/asm/func_802CD9CC.s"
}
// hasReset__10Z2AudioMgrCFv
// Z2AudioMgr::hasReset(void) const
-asm u32 Z2AudioMgr_NS_hasReset(void*) {
+asm bool Z2AudioMgr::hasReset(void) const {
nofralloc
#include "Z2AudioLib/Z2AudioMgr/asm/func_802CDA6C.s"
}
+extern "C" {
// startSound__10Z2AudioMgrF10JAISoundIDP14JAISoundHandlePCQ29JGeometry8TVec3<f>
// Z2AudioMgr::startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3<f>)
asm void func_802CDB1C(void) {
@@ -94,4 +105,4 @@ asm void func_802CDCEC(void) {
nofralloc
#include "Z2AudioLib/Z2AudioMgr/asm/func_802CDCEC.s"
}
-};
+}; \ No newline at end of file
diff --git a/libs/Z2AudioLib/Z2Creature.cpp b/libs/Z2AudioLib/Z2Creature.cpp
index 2da944db5e..d852df7c00 100644
--- a/libs/Z2AudioLib/Z2Creature.cpp
+++ b/libs/Z2AudioLib/Z2Creature.cpp
@@ -3,6 +3,7 @@
#include "Z2AudioLib/Z2SeMgr/Z2SeMgr.h"
#include "Z2AudioLib/Z2SeqMgr/Z2SeqMgr.h"
#include "Z2AudioLib/Z2StatusMgr/Z2StatusMgr.h"
+#include "m_Do/m_Do_audio/m_Do_audio.h"
#include "global.h"
extern "C" {
diff --git a/libs/Z2AudioLib/Z2SceneMgr.cpp b/libs/Z2AudioLib/Z2SceneMgr.cpp
index 19aa8eba9c..34a91c96b5 100644
--- a/libs/Z2AudioLib/Z2SceneMgr.cpp
+++ b/libs/Z2AudioLib/Z2SceneMgr.cpp
@@ -235,7 +235,7 @@ asm void Z2SceneMgr_NS_framework(void) {
// load1stDynamicWave__10Z2SceneMgrFv
// Z2SceneMgr::load1stDynamicWave(void)
-asm void Z2SceneMgr_NS_load1stDynamicWave(void) {
+asm void Z2SceneMgr::load1stDynamicWave(void) {
nofralloc
#include "Z2AudioLib/Z2SceneMgr/asm/func_802B9D40.s"
}
diff --git a/libs/Z2AudioLib/Z2SeMgr.cpp b/libs/Z2AudioLib/Z2SeMgr.cpp
index 9018ec675e..c529b4cd87 100644
--- a/libs/Z2AudioLib/Z2SeMgr.cpp
+++ b/libs/Z2AudioLib/Z2SeMgr.cpp
@@ -1,10 +1,10 @@
#include "Z2AudioLib/Z2SeMgr/Z2SeMgr.h"
#include "Z2AudioLib/Z2StatusMgr/Z2StatusMgr.h"
+#include "m_Do/m_Do_audio/m_Do_audio.h"
extern "C" {
void JAISoundHandle(void);
void JAISoundHandle_NS_dtor(void);
-void Z2MultiSeObj_NS_dtor(void);
}
asm Z2SeMgr::Z2SeMgr(void) {
diff --git a/libs/Z2AudioLib/Z2SoundMgr.cpp b/libs/Z2AudioLib/Z2SoundMgr.cpp
index 6f1a41cdd4..71c5764560 100644
--- a/libs/Z2AudioLib/Z2SoundMgr.cpp
+++ b/libs/Z2AudioLib/Z2SoundMgr.cpp
@@ -3,6 +3,7 @@
#include "Z2AudioLib/Z2SoundMgr/Z2SoundMgr.h"
#include "Z2AudioLib/Z2SeMgr/Z2SeMgr.h"
#include "Z2AudioLib/Z2SeqMgr/Z2SeqMgr.h"
+#include "m_Do/m_Do_audio/m_Do_audio.h"
#include "global.h"
extern "C" {
diff --git a/libs/Z2AudioLib/Z2SoundStarter.cpp b/libs/Z2AudioLib/Z2SoundStarter.cpp
index 8b0969859f..27d65e9a7a 100644
--- a/libs/Z2AudioLib/Z2SoundStarter.cpp
+++ b/libs/Z2AudioLib/Z2SoundStarter.cpp
@@ -2,6 +2,7 @@
#include "Z2AudioLib/Z2EnvSeMgr/Z2EnvSeMgr.h"
#include "Z2AudioLib/Z2StatusMgr/Z2StatusMgr.h"
+#include "m_Do/m_Do_audio/m_Do_audio.h"
#include "global.h"
extern "C" {
diff --git a/libs/Z2AudioLib/Z2SpeechMgr2.cpp b/libs/Z2AudioLib/Z2SpeechMgr2.cpp
index 0c94677a3f..2fb8bf25eb 100644
--- a/libs/Z2AudioLib/Z2SpeechMgr2.cpp
+++ b/libs/Z2AudioLib/Z2SpeechMgr2.cpp
@@ -4,6 +4,7 @@
#include "Z2AudioLib/Z2EnvSeMgr/Z2EnvSeMgr.h"
#include "Z2AudioLib/Z2SeqMgr/Z2SeqMgr.h"
#include "Z2AudioLib/Z2StatusMgr/Z2StatusMgr.h"
+#include "m_Do/m_Do_audio/m_Do_audio.h"
#include "global.h"
extern "C" {
diff --git a/obj_files.mk b/obj_files.mk
index e39063be97..79b4a795b8 100644
--- a/obj_files.mk
+++ b/obj_files.mk
@@ -12,7 +12,7 @@ EXTABINDEX_O_FILES := \
TEXT_O_FILES := \
$(BUILD_DIR)/src/m_Do/m_Do_main.o \
$(BUILD_DIR)/asm/m/Do/m_Do_printf.o \
- $(BUILD_DIR)/asm/m/Do/m_Do_audio.o \
+ $(BUILD_DIR)/src/m_Do/m_Do_audio.o \
$(BUILD_DIR)/src/m_Do/m_Do_controller_pad.o \
$(BUILD_DIR)/asm/m/Do/m_Do_graphic.o \
$(BUILD_DIR)/asm/m/Do/m_Do_machine.o \
diff --git a/src/d/d_a/d_a_alink.cpp b/src/d/d_a/d_a_alink.cpp
index afe63d9718..db268f1303 100644
--- a/src/d/d_a/d_a_alink.cpp
+++ b/src/d/d_a/d_a_alink.cpp
@@ -7,6 +7,7 @@
#include "f/f_pc/f_pc_manager.h"
#include "f/f_pc/f_pc_searcher.h"
#include "m_Do/m_Do_controller_pad/m_Do_controller_pad.h"
+#include "m_Do/m_Do_audio/m_Do_audio.h"
u32 daAlink_c::getE3Zhint(void) {
return 0;
diff --git a/src/d/d_attention.cpp b/src/d/d_attention.cpp
index f64c11b78c..8dbb25e62b 100644
--- a/src/d/d_attention.cpp
+++ b/src/d/d_attention.cpp
@@ -6,6 +6,7 @@
#include "f/f_pc/f_pc_searcher.h"
#include "global.h"
#include "m_Do/m_Do_controller_pad/m_Do_controller_pad.h"
+#include "m_Do/m_Do_audio/m_Do_audio.h"
extern "C" {
// padLockButton__25@unnamed@d_attention_cpp@Fl
diff --git a/src/d/d_camera.cpp b/src/d/d_camera.cpp
index 1f57b00e04..fddaf7e1b1 100644
--- a/src/d/d_camera.cpp
+++ b/src/d/d_camera.cpp
@@ -7,6 +7,7 @@
#include "f/f_pc/f_pc_searcher.h"
#include "global.h"
#include "m_Do/m_Do_controller_pad/m_Do_controller_pad.h"
+#include "m_Do/m_Do_audio/m_Do_audio.h"
extern "C" {
// limitf__22@unnamed@d_camera_cpp@Ffff
diff --git a/src/d/d_com/d_com_inf_game.cpp b/src/d/d_com/d_com_inf_game.cpp
index 8e1c0681cd..2e1ffe149b 100644
--- a/src/d/d_com/d_com_inf_game.cpp
+++ b/src/d/d_com/d_com_inf_game.cpp
@@ -5,6 +5,7 @@
#include "d/d_item/d_item/d_item.h"
#include "global.h"
#include "m_Do/m_Do_Reset/m_Do_Reset.h"
+#include "m_Do/m_Do_audio/m_Do_audio.h"
#include "m_Do/m_Do_controller_pad/m_Do_controller_pad.h"
#include "m_Do/m_Do_ext/m_Do_ext.h"
diff --git a/src/d/d_kankyo.cpp b/src/d/d_kankyo.cpp
index 89a289499a..ef679f9120 100644
--- a/src/d/d_kankyo.cpp
+++ b/src/d/d_kankyo.cpp
@@ -2,6 +2,7 @@
#include "Z2AudioLib/Z2SeMgr/Z2SeMgr.h"
#include "d/d_com/d_com_inf_game/d_com_inf_game.h"
+#include "m_Do/m_Do_audio/m_Do_audio.h"
#include "global.h"
#include "os/OS.h"
diff --git a/src/d/d_kankyo/d_kankyo_wether.cpp b/src/d/d_kankyo/d_kankyo_wether.cpp
index 2a83d3a9b4..6ef9600f13 100644
--- a/src/d/d_kankyo/d_kankyo_wether.cpp
+++ b/src/d/d_kankyo/d_kankyo_wether.cpp
@@ -3,6 +3,7 @@
#include "SComponent/c_xyz.h"
#include "Z2AudioLib/Z2SeMgr/Z2SeMgr.h"
#include "d/d_com/d_com_inf_game/d_com_inf_game.h"
+#include "m_Do/m_Do_audio/m_Do_audio.h"
#include "global.h"
extern "C" {
diff --git a/src/d/d_meter/d_meter_button.cpp b/src/d/d_meter/d_meter_button.cpp
index 0aca54e8e0..970151d0c0 100644
--- a/src/d/d_meter/d_meter_button.cpp
+++ b/src/d/d_meter/d_meter_button.cpp
@@ -2,6 +2,7 @@
#include "Z2AudioLib/Z2SeMgr/Z2SeMgr.h"
#include "d/d_com/d_com_inf_game/d_com_inf_game.h"
+#include "m_Do/m_Do_audio/m_Do_audio.h"
#include "global.h"
extern "C" {
diff --git a/src/d/d_meter/d_meter_map.cpp b/src/d/d_meter/d_meter_map.cpp
index 0b80e48859..4205b9b014 100644
--- a/src/d/d_meter/d_meter_map.cpp
+++ b/src/d/d_meter/d_meter_map.cpp
@@ -4,6 +4,7 @@
#include "d/d_com/d_com_inf_game/d_com_inf_game.h"
#include "global.h"
#include "m_Do/m_Do_controller_pad/m_Do_controller_pad.h"
+#include "m_Do/m_Do_audio/m_Do_audio.h"
extern "C" {
// isEnableDispMap__11dMeterMap_cFv
diff --git a/src/d/d_meter2.cpp b/src/d/d_meter2.cpp
index e17d545d03..df25b68bea 100644
--- a/src/d/d_meter2.cpp
+++ b/src/d/d_meter2.cpp
@@ -2,6 +2,7 @@
#include "Z2AudioLib/Z2SeMgr/Z2SeMgr.h"
#include "d/d_com/d_com_inf_game/d_com_inf_game.h"
+#include "m_Do/m_Do_audio/m_Do_audio.h"
#include "global.h"
extern "C" {
diff --git a/src/d/d_meter2/d_meter2_draw.cpp b/src/d/d_meter2/d_meter2_draw.cpp
index 003d35ea9f..9a4451b188 100644
--- a/src/d/d_meter2/d_meter2_draw.cpp
+++ b/src/d/d_meter2/d_meter2_draw.cpp
@@ -2,6 +2,7 @@
#include "Z2AudioLib/Z2SeMgr/Z2SeMgr.h"
#include "d/d_com/d_com_inf_game/d_com_inf_game.h"
+#include "m_Do/m_Do_audio/m_Do_audio.h"
#include "global.h"
extern "C" {
diff --git a/src/d/d_save/d_save.cpp b/src/d/d_save/d_save.cpp
index 1bc3fd417a..89f3c439b0 100644
--- a/src/d/d_save/d_save.cpp
+++ b/src/d/d_save/d_save.cpp
@@ -900,10 +900,10 @@ void dSv_player_config_c::init(void) {
os_mSoundMode = OSGetSoundMode();
if (os_mSoundMode == SOUND_MODE_MONO) {
this->mSoundMode = SOUND_MODE_MONO;
- Z2AudioMgr_NS_setOutputMode(lbl_80451368, SOUND_MODE_MONO);
+ lbl_80451368->setOutputMode(SOUND_MODE_MONO);
} else {
this->mSoundMode = SOUND_MODE_STEREO;
- Z2AudioMgr_NS_setOutputMode(lbl_80451368, SOUND_MODE_STEREO);
+ lbl_80451368->setOutputMode(SOUND_MODE_STEREO);
}
this->unk2 = 0;
diff --git a/src/m_Do/m_Do_Reset.cpp b/src/m_Do/m_Do_Reset.cpp
index e8141783af..a6f2744de2 100644
--- a/src/m_Do/m_Do_Reset.cpp
+++ b/src/m_Do/m_Do_Reset.cpp
@@ -30,10 +30,9 @@ void mDoRst_reset(int p1, u32 p2, int p3) {
/* sManager */ lbl_80451550->clearIndex();
mDoDvdErr_ThdCleanup();
cAPICPad_recalibrate__Fv();
- if (lbl_80450BB8 != 0) {
+ if (lbl_80450BB8 != false) {
do {
- // uVar2 = lbl_80451368->hasReset();
- uVar2 = Z2AudioMgr_NS_hasReset(lbl_80451368);
+ uVar2 = lbl_80451368->hasReset();
} while ((uVar2 & 0xff) == 0);
}
diff --git a/src/m_Do/m_Do_audio.cpp b/src/m_Do/m_Do_audio.cpp
index 4bf93c8658..82578f346c 100644
--- a/src/m_Do/m_Do_audio.cpp
+++ b/src/m_Do/m_Do_audio.cpp
@@ -1 +1,97 @@
-// ok
+#include "global.h"
+#include "JSystem/JAudio2/JAUClusterSound/JAUClusterSound.h"
+#include "m_Do/m_Do_audio/m_Do_audio.h"
+#include "m_Do/m_Do_Reset/m_Do_Reset.h"
+#include "m_Do/m_Do_main/m_Do_main.h"
+#include "Z2AudioLib/Z2AudioLib.h"
+#include "d/d_com/d_com_inf_game/d_com_inf_game.h"
+
+void mDoAud_zelAudio_c::reset(void){
+ lbl_80450BBA = false;
+}
+
+
+asm void mDoAud_Create(void){
+ nofralloc
+ #include "m_Do/m_Do_audio/asm/mDoAud_Create.s"
+}
+
+void mDoAud_Execute(void) {
+ if (lbl_80450BB8 == false) {
+ if((int)m_Do_Reset_NS_mDoRst_NS_mResetData->field_0x10 == 0 && (int)m_Do_Reset_NS_mDoRst_NS_mResetData->field_0x11 == 0){
+ mDoAud_Create();
+ }
+ }else{
+ lbl_803DBF4C.gframeProcess();
+ }
+}
+
+void mDoAud_setSceneName(const char *spot,long room,long layer){
+ lbl_80451368->sceneMgr.setSceneName((char*)spot, room, layer);
+}
+
+bool mDoAud_load1stDynamicWave(){
+ lbl_80451368->sceneMgr.load1stDynamicWave();
+ return true;
+}
+
+void mDoAud_setFadeOutStart(u8 param_1){
+ lbl_80451368->sceneMgr.setFadeOutStart((int)param_1);
+}
+
+void mDoAud_setFadeInStart(u8 param_1){
+ lbl_80451368->sceneMgr.setFadeInStart((int)param_1);
+}
+
+void mDoAud_resetProcess(){
+ if (lbl_80450BB9 == false) {
+ lbl_80451368->resetProcess(0x1e,false);
+ lbl_80450BB9 = true;
+ }
+}
+
+
+bool mDoAud_resetRecover(void){
+ if (lbl_80450BB9){
+ bool hasReset = lbl_80451368->hasReset();
+ if (hasReset == false){
+ return false;
+ }
+ lbl_80451368->resetRecover();
+ lbl_80450BB9 = false;
+ }
+ return true;
+}
+
+extern "C"{
+ asm void __sinit_m_Do_audio_cpp(void){
+ nofralloc
+ #include "m_Do/m_Do_audio/asm/__sinit_m_Do_audio_cpp.s"
+ }
+}
+
+asm mDoAud_zelAudio_c::~mDoAud_zelAudio_c(){
+ nofralloc
+ #include "m_Do/m_Do_audio/asm/mDoAud_zelAudio_c_NS_dtor.s"
+}
+
+
+asm Z2AudioMgr::~Z2AudioMgr(void){
+ nofralloc
+ #include "m_Do/m_Do_audio/asm/Z2AudioMgr_NS_dtor.s"
+}
+
+asm JAISoundHandle::~JAISoundHandle(){
+ nofralloc
+ #include "m_Do/m_Do_audio/asm/JAISoundHandle_NS_dtor.s"
+}
+
+asm Z2MultiSeObj::~Z2MultiSeObj() {
+ nofralloc
+ #include "m_Do/m_Do_audio/asm/Z2MultiSeObj_NS_dtor.s"
+}
+
+asm JAISeCategoryMgr::~JAISeCategoryMgr(){
+ nofralloc
+ #include "m_Do/m_Do_audio/asm/JAISeCategoryMgr_NS_dtor.s"
+} \ No newline at end of file
diff --git a/src/m_Do/m_Do_main.cpp b/src/m_Do/m_Do_main.cpp
index 8534743a3a..7561716d60 100644
--- a/src/m_Do/m_Do_main.cpp
+++ b/src/m_Do/m_Do_main.cpp
@@ -1,14 +1,15 @@
+#include "global.h"
#include "m_Do/m_Do_main/m_Do_main.h"
#include "SComponent/c_API_controller_pad.h"
#include "d/d_com/d_com_inf_game/d_com_inf_game.h"
#include "dvd/dvd.h"
-#include "global.h"
#include "m_Do/m_Do_controller_pad/m_Do_controller_pad.h"
#include "m_Do/m_Do_dvd_thread/m_Do_dvd_thread.h"
#include "m_Do/m_Do_ext/m_Do_ext.h"
#include "m_Do/m_Do_graphic/m_Do_graphic.h"
#include "m_Do/m_Do_machine/m_Do_machine.h"
#include "m_Do/m_Do_reset/m_Do_reset.h"
+#include "m_Do/m_Do_audio/m_Do_audio.h"
void version_check(void) {
if ((!strcmp((char*)lbl_803739A0, (char*)lbl_803739A0)) &&