diff --git a/asm/JSystem/JAudio2/JAIAudible/__dt__10JAIAudibleFv.s b/asm/JSystem/JAudio2/JAIAudible/__dt__10JAIAudibleFv.s deleted file mode 100644 index 7bb0a29385..0000000000 --- a/asm/JSystem/JAudio2/JAIAudible/__dt__10JAIAudibleFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_8029EFAC: -/* 8029EFAC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8029EFB0 7C 08 02 A6 */ mflr r0 -/* 8029EFB4 90 01 00 14 */ stw r0, 0x14(r1) -/* 8029EFB8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8029EFBC 7C 7F 1B 79 */ or. r31, r3, r3 -/* 8029EFC0 41 82 00 1C */ beq lbl_8029EFDC -/* 8029EFC4 3C A0 80 3D */ lis r5, __vt__10JAIAudible@ha /* 0x803C9820@ha */ -/* 8029EFC8 38 05 98 20 */ addi r0, r5, __vt__10JAIAudible@l /* 0x803C9820@l */ -/* 8029EFCC 90 1F 00 00 */ stw r0, 0(r31) -/* 8029EFD0 7C 80 07 35 */ extsh. r0, r4 -/* 8029EFD4 40 81 00 08 */ ble lbl_8029EFDC -/* 8029EFD8 48 02 FD 65 */ bl __dl__FPv -lbl_8029EFDC: -/* 8029EFDC 7F E3 FB 78 */ mr r3, r31 -/* 8029EFE0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8029EFE4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8029EFE8 7C 08 03 A6 */ mtlr r0 -/* 8029EFEC 38 21 00 10 */ addi r1, r1, 0x10 -/* 8029EFF0 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAIAudience/__dt__11JAIAudienceFv.s b/asm/JSystem/JAudio2/JAIAudience/__dt__11JAIAudienceFv.s deleted file mode 100644 index 603bfecd82..0000000000 --- a/asm/JSystem/JAudio2/JAIAudience/__dt__11JAIAudienceFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_8029EFF4: -/* 8029EFF4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8029EFF8 7C 08 02 A6 */ mflr r0 -/* 8029EFFC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8029F000 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8029F004 7C 7F 1B 79 */ or. r31, r3, r3 -/* 8029F008 41 82 00 1C */ beq lbl_8029F024 -/* 8029F00C 3C A0 80 3D */ lis r5, __vt__11JAIAudience@ha /* 0x803C9838@ha */ -/* 8029F010 38 05 98 38 */ addi r0, r5, __vt__11JAIAudience@l /* 0x803C9838@l */ -/* 8029F014 90 1F 00 00 */ stw r0, 0(r31) -/* 8029F018 7C 80 07 35 */ extsh. r0, r4 -/* 8029F01C 40 81 00 08 */ ble lbl_8029F024 -/* 8029F020 48 02 FD 1D */ bl __dl__FPv -lbl_8029F024: -/* 8029F024 7F E3 FB 78 */ mr r3, r31 -/* 8029F028 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8029F02C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8029F030 7C 08 03 A6 */ mtlr r0 -/* 8029F034 38 21 00 10 */ addi r1, r1, 0x10 -/* 8029F038 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAISeqDataMgr/__dt__13JAISeqDataMgrFv.s b/asm/JSystem/JAudio2/JAISeqDataMgr/__dt__13JAISeqDataMgrFv.s deleted file mode 100644 index c5b28ab6a4..0000000000 --- a/asm/JSystem/JAudio2/JAISeqDataMgr/__dt__13JAISeqDataMgrFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_802A17BC: -/* 802A17BC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A17C0 7C 08 02 A6 */ mflr r0 -/* 802A17C4 90 01 00 14 */ stw r0, 0x14(r1) -/* 802A17C8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802A17CC 7C 7F 1B 79 */ or. r31, r3, r3 -/* 802A17D0 41 82 00 1C */ beq lbl_802A17EC -/* 802A17D4 3C A0 80 3D */ lis r5, __vt__13JAISeqDataMgr@ha /* 0x803C9928@ha */ -/* 802A17D8 38 05 99 28 */ addi r0, r5, __vt__13JAISeqDataMgr@l /* 0x803C9928@l */ -/* 802A17DC 90 1F 00 00 */ stw r0, 0(r31) -/* 802A17E0 7C 80 07 35 */ extsh. r0, r4 -/* 802A17E4 40 81 00 08 */ ble lbl_802A17EC -/* 802A17E8 48 02 D5 55 */ bl __dl__FPv -lbl_802A17EC: -/* 802A17EC 7F E3 FB 78 */ mr r3, r31 -/* 802A17F0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802A17F4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802A17F8 7C 08 03 A6 */ mtlr r0 -/* 802A17FC 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A1800 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAISeqDataMgr/__dt__14JAISeqDataUserFv.s b/asm/JSystem/JAudio2/JAISeqDataMgr/__dt__14JAISeqDataUserFv.s deleted file mode 100644 index 4be126229e..0000000000 --- a/asm/JSystem/JAudio2/JAISeqDataMgr/__dt__14JAISeqDataUserFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_802A1774: -/* 802A1774 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A1778 7C 08 02 A6 */ mflr r0 -/* 802A177C 90 01 00 14 */ stw r0, 0x14(r1) -/* 802A1780 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802A1784 7C 7F 1B 79 */ or. r31, r3, r3 -/* 802A1788 41 82 00 1C */ beq lbl_802A17A4 -/* 802A178C 3C A0 80 3D */ lis r5, __vt__14JAISeqDataUser@ha /* 0x803C9940@ha */ -/* 802A1790 38 05 99 40 */ addi r0, r5, __vt__14JAISeqDataUser@l /* 0x803C9940@l */ -/* 802A1794 90 1F 00 00 */ stw r0, 0(r31) -/* 802A1798 7C 80 07 35 */ extsh. r0, r4 -/* 802A179C 40 81 00 08 */ ble lbl_802A17A4 -/* 802A17A0 48 02 D5 9D */ bl __dl__FPv -lbl_802A17A4: -/* 802A17A4 7F E3 FB 78 */ mr r3, r31 -/* 802A17A8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802A17AC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802A17B0 7C 08 03 A6 */ mtlr r0 -/* 802A17B4 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A17B8 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAISound/acceptsNewAudible__8JAISoundCFv.s b/asm/JSystem/JAudio2/JAISound/acceptsNewAudible__8JAISoundCFv.s deleted file mode 100644 index 8759599b5d..0000000000 --- a/asm/JSystem/JAudio2/JAISound/acceptsNewAudible__8JAISoundCFv.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_802A244C: -/* 802A244C 38 80 00 00 */ li r4, 0 -/* 802A2450 80 03 00 08 */ lwz r0, 8(r3) -/* 802A2454 28 00 00 00 */ cmplwi r0, 0 -/* 802A2458 40 82 00 14 */ bne lbl_802A246C -/* 802A245C 88 03 00 1F */ lbz r0, 0x1f(r3) -/* 802A2460 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f -/* 802A2464 40 82 00 08 */ bne lbl_802A246C -/* 802A2468 38 80 00 01 */ li r4, 1 -lbl_802A246C: -/* 802A246C 7C 83 23 78 */ mr r3, r4 -/* 802A2470 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAISound/attachHandle__8JAISoundFP14JAISoundHandle.s b/asm/JSystem/JAudio2/JAISound/attachHandle__8JAISoundFP14JAISoundHandle.s deleted file mode 100644 index d5cf5eb5b5..0000000000 --- a/asm/JSystem/JAudio2/JAISound/attachHandle__8JAISoundFP14JAISoundHandle.s +++ /dev/null @@ -1,28 +0,0 @@ -lbl_802A21BC: -/* 802A21BC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A21C0 7C 08 02 A6 */ mflr r0 -/* 802A21C4 90 01 00 14 */ stw r0, 0x14(r1) -/* 802A21C8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802A21CC 93 C1 00 08 */ stw r30, 8(r1) -/* 802A21D0 7C 7E 1B 78 */ mr r30, r3 -/* 802A21D4 7C 9F 23 78 */ mr r31, r4 -/* 802A21D8 80 64 00 00 */ lwz r3, 0(r4) -/* 802A21DC 28 03 00 00 */ cmplwi r3, 0 -/* 802A21E0 41 82 00 08 */ beq lbl_802A21E8 -/* 802A21E4 48 00 03 B5 */ bl stop__8JAISoundFv -lbl_802A21E8: -/* 802A21E8 80 1E 00 04 */ lwz r0, 4(r30) -/* 802A21EC 28 00 00 00 */ cmplwi r0, 0 -/* 802A21F0 41 82 00 0C */ beq lbl_802A21FC -/* 802A21F4 7F C3 F3 78 */ mr r3, r30 -/* 802A21F8 4B FF FF A9 */ bl releaseHandle__8JAISoundFv -lbl_802A21FC: -/* 802A21FC 93 FE 00 04 */ stw r31, 4(r30) -/* 802A2200 80 7E 00 04 */ lwz r3, 4(r30) -/* 802A2204 93 C3 00 00 */ stw r30, 0(r3) -/* 802A2208 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802A220C 83 C1 00 08 */ lwz r30, 8(r1) -/* 802A2210 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802A2214 7C 08 03 A6 */ mtlr r0 -/* 802A2218 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A221C 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAISound/lockWhenPrepared__15JAISoundStatus_Fv.s b/asm/JSystem/JAudio2/JAISound/lockWhenPrepared__15JAISoundStatus_Fv.s deleted file mode 100644 index d0a06d5e4c..0000000000 --- a/asm/JSystem/JAudio2/JAISound/lockWhenPrepared__15JAISoundStatus_Fv.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_802A2220: -/* 802A2220 88 03 00 02 */ lbz r0, 2(r3) -/* 802A2224 28 00 00 00 */ cmplwi r0, 0 -/* 802A2228 40 82 00 14 */ bne lbl_802A223C -/* 802A222C 38 00 00 01 */ li r0, 1 -/* 802A2230 98 03 00 02 */ stb r0, 2(r3) -/* 802A2234 38 60 00 01 */ li r3, 1 -/* 802A2238 4E 80 00 20 */ blr -lbl_802A223C: -/* 802A223C 38 60 00 00 */ li r3, 0 -/* 802A2240 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAISound/mixOutAll__14JAISoundParamsFRC14JASSoundParamsP14JASSoundParamsf.s b/asm/JSystem/JAudio2/JAISound/mixOutAll__14JAISoundParamsFRC14JASSoundParamsP14JASSoundParamsf.s deleted file mode 100644 index e3bf1be263..0000000000 --- a/asm/JSystem/JAudio2/JAISound/mixOutAll__14JAISoundParamsFRC14JASSoundParamsP14JASSoundParamsf.s +++ /dev/null @@ -1,31 +0,0 @@ -lbl_802A2280: -/* 802A2280 C0 63 00 0C */ lfs f3, 0xc(r3) -/* 802A2284 C0 44 00 00 */ lfs f2, 0(r4) -/* 802A2288 C0 03 00 00 */ lfs f0, 0(r3) -/* 802A228C EC 02 00 32 */ fmuls f0, f2, f0 -/* 802A2290 EC 03 00 32 */ fmuls f0, f3, f0 -/* 802A2294 EC 01 00 32 */ fmuls f0, f1, f0 -/* 802A2298 D0 05 00 00 */ stfs f0, 0(r5) -/* 802A229C C0 43 00 10 */ lfs f2, 0x10(r3) -/* 802A22A0 C0 24 00 04 */ lfs f1, 4(r4) -/* 802A22A4 C0 03 00 04 */ lfs f0, 4(r3) -/* 802A22A8 EC 01 00 2A */ fadds f0, f1, f0 -/* 802A22AC EC 02 00 2A */ fadds f0, f2, f0 -/* 802A22B0 D0 05 00 04 */ stfs f0, 4(r5) -/* 802A22B4 C0 43 00 14 */ lfs f2, 0x14(r3) -/* 802A22B8 C0 24 00 08 */ lfs f1, 8(r4) -/* 802A22BC C0 03 00 08 */ lfs f0, 8(r3) -/* 802A22C0 EC 01 00 32 */ fmuls f0, f1, f0 -/* 802A22C4 EC 02 00 32 */ fmuls f0, f2, f0 -/* 802A22C8 D0 05 00 08 */ stfs f0, 8(r5) -/* 802A22CC C0 24 00 0C */ lfs f1, 0xc(r4) -/* 802A22D0 C0 03 00 18 */ lfs f0, 0x18(r3) -/* 802A22D4 EC 21 00 2A */ fadds f1, f1, f0 -/* 802A22D8 C0 02 BD B8 */ lfs f0, lit_659(r2) -/* 802A22DC EC 01 00 28 */ fsubs f0, f1, f0 -/* 802A22E0 D0 05 00 0C */ stfs f0, 0xc(r5) -/* 802A22E4 C0 24 00 10 */ lfs f1, 0x10(r4) -/* 802A22E8 C0 03 00 1C */ lfs f0, 0x1c(r3) -/* 802A22EC EC 01 00 2A */ fadds f0, f1, f0 -/* 802A22F0 D0 05 00 10 */ stfs f0, 0x10(r5) -/* 802A22F4 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAISound/releaseHandle__8JAISoundFv.s b/asm/JSystem/JAudio2/JAISound/releaseHandle__8JAISoundFv.s deleted file mode 100644 index 2119b9166b..0000000000 --- a/asm/JSystem/JAudio2/JAISound/releaseHandle__8JAISoundFv.s +++ /dev/null @@ -1,8 +0,0 @@ -lbl_802A21A0: -/* 802A21A0 80 83 00 04 */ lwz r4, 4(r3) -/* 802A21A4 28 04 00 00 */ cmplwi r4, 0 -/* 802A21A8 4D 82 00 20 */ beqlr -/* 802A21AC 38 00 00 00 */ li r0, 0 -/* 802A21B0 90 04 00 00 */ stw r0, 0(r4) -/* 802A21B4 90 03 00 04 */ stw r0, 4(r3) -/* 802A21B8 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAISound/releaseSound__14JAISoundHandleFv.s b/asm/JSystem/JAudio2/JAISound/releaseSound__14JAISoundHandleFv.s deleted file mode 100644 index 5a4d7e6e32..0000000000 --- a/asm/JSystem/JAudio2/JAISound/releaseSound__14JAISoundHandleFv.s +++ /dev/null @@ -1,8 +0,0 @@ -lbl_802A2184: -/* 802A2184 80 83 00 00 */ lwz r4, 0(r3) -/* 802A2188 28 04 00 00 */ cmplwi r4, 0 -/* 802A218C 4D 82 00 20 */ beqlr -/* 802A2190 38 00 00 00 */ li r0, 0 -/* 802A2194 90 04 00 04 */ stw r0, 4(r4) -/* 802A2198 90 03 00 00 */ stw r0, 0(r3) -/* 802A219C 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAISound/unlockIfLocked__15JAISoundStatus_Fv.s b/asm/JSystem/JAudio2/JAISound/unlockIfLocked__15JAISoundStatus_Fv.s deleted file mode 100644 index 69374d88e5..0000000000 --- a/asm/JSystem/JAudio2/JAISound/unlockIfLocked__15JAISoundStatus_Fv.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_802A2244: -/* 802A2244 88 03 00 02 */ lbz r0, 2(r3) -/* 802A2248 28 00 00 03 */ cmplwi r0, 3 -/* 802A224C 40 82 00 14 */ bne lbl_802A2260 -/* 802A2250 38 00 00 04 */ li r0, 4 -/* 802A2254 98 03 00 02 */ stb r0, 2(r3) -/* 802A2258 38 60 00 01 */ li r3, 1 -/* 802A225C 4E 80 00 20 */ blr -lbl_802A2260: -/* 802A2260 28 00 00 01 */ cmplwi r0, 1 -/* 802A2264 40 82 00 14 */ bne lbl_802A2278 -/* 802A2268 38 00 00 00 */ li r0, 0 -/* 802A226C 98 03 00 02 */ stb r0, 2(r3) -/* 802A2270 38 60 00 01 */ li r3, 1 -/* 802A2274 4E 80 00 20 */ blr -lbl_802A2278: -/* 802A2278 38 60 00 00 */ li r3, 0 -/* 802A227C 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAISoundChild/calc__13JAISoundChildFv.s b/asm/JSystem/JAudio2/JAISoundChild/calc__13JAISoundChildFv.s deleted file mode 100644 index 355c85011b..0000000000 --- a/asm/JSystem/JAudio2/JAISoundChild/calc__13JAISoundChildFv.s +++ /dev/null @@ -1,82 +0,0 @@ -lbl_802A2B7C: -/* 802A2B7C C0 23 00 00 */ lfs f1, 0(r3) -/* 802A2B80 80 83 00 1C */ lwz r4, 0x1c(r3) -/* 802A2B84 28 04 00 01 */ cmplwi r4, 1 -/* 802A2B88 40 81 00 18 */ ble lbl_802A2BA0 -/* 802A2B8C 38 04 FF FF */ addi r0, r4, -1 -/* 802A2B90 90 03 00 1C */ stw r0, 0x1c(r3) -/* 802A2B94 C0 03 00 14 */ lfs f0, 0x14(r3) -/* 802A2B98 EC 21 00 2A */ fadds f1, f1, f0 -/* 802A2B9C 48 00 00 14 */ b lbl_802A2BB0 -lbl_802A2BA0: -/* 802A2BA0 40 82 00 10 */ bne lbl_802A2BB0 -/* 802A2BA4 38 00 00 00 */ li r0, 0 -/* 802A2BA8 90 03 00 1C */ stw r0, 0x1c(r3) -/* 802A2BAC C0 23 00 18 */ lfs f1, 0x18(r3) -lbl_802A2BB0: -/* 802A2BB0 D0 23 00 00 */ stfs f1, 0(r3) -/* 802A2BB4 C0 23 00 08 */ lfs f1, 8(r3) -/* 802A2BB8 80 83 00 28 */ lwz r4, 0x28(r3) -/* 802A2BBC 28 04 00 01 */ cmplwi r4, 1 -/* 802A2BC0 40 81 00 18 */ ble lbl_802A2BD8 -/* 802A2BC4 38 04 FF FF */ addi r0, r4, -1 -/* 802A2BC8 90 03 00 28 */ stw r0, 0x28(r3) -/* 802A2BCC C0 03 00 20 */ lfs f0, 0x20(r3) -/* 802A2BD0 EC 21 00 2A */ fadds f1, f1, f0 -/* 802A2BD4 48 00 00 14 */ b lbl_802A2BE8 -lbl_802A2BD8: -/* 802A2BD8 40 82 00 10 */ bne lbl_802A2BE8 -/* 802A2BDC 38 00 00 00 */ li r0, 0 -/* 802A2BE0 90 03 00 28 */ stw r0, 0x28(r3) -/* 802A2BE4 C0 23 00 24 */ lfs f1, 0x24(r3) -lbl_802A2BE8: -/* 802A2BE8 D0 23 00 08 */ stfs f1, 8(r3) -/* 802A2BEC C0 23 00 04 */ lfs f1, 4(r3) -/* 802A2BF0 80 83 00 34 */ lwz r4, 0x34(r3) -/* 802A2BF4 28 04 00 01 */ cmplwi r4, 1 -/* 802A2BF8 40 81 00 18 */ ble lbl_802A2C10 -/* 802A2BFC 38 04 FF FF */ addi r0, r4, -1 -/* 802A2C00 90 03 00 34 */ stw r0, 0x34(r3) -/* 802A2C04 C0 03 00 2C */ lfs f0, 0x2c(r3) -/* 802A2C08 EC 21 00 2A */ fadds f1, f1, f0 -/* 802A2C0C 48 00 00 14 */ b lbl_802A2C20 -lbl_802A2C10: -/* 802A2C10 40 82 00 10 */ bne lbl_802A2C20 -/* 802A2C14 38 00 00 00 */ li r0, 0 -/* 802A2C18 90 03 00 34 */ stw r0, 0x34(r3) -/* 802A2C1C C0 23 00 30 */ lfs f1, 0x30(r3) -lbl_802A2C20: -/* 802A2C20 D0 23 00 04 */ stfs f1, 4(r3) -/* 802A2C24 C0 23 00 10 */ lfs f1, 0x10(r3) -/* 802A2C28 80 83 00 4C */ lwz r4, 0x4c(r3) -/* 802A2C2C 28 04 00 01 */ cmplwi r4, 1 -/* 802A2C30 40 81 00 18 */ ble lbl_802A2C48 -/* 802A2C34 38 04 FF FF */ addi r0, r4, -1 -/* 802A2C38 90 03 00 4C */ stw r0, 0x4c(r3) -/* 802A2C3C C0 03 00 44 */ lfs f0, 0x44(r3) -/* 802A2C40 EC 21 00 2A */ fadds f1, f1, f0 -/* 802A2C44 48 00 00 14 */ b lbl_802A2C58 -lbl_802A2C48: -/* 802A2C48 40 82 00 10 */ bne lbl_802A2C58 -/* 802A2C4C 38 00 00 00 */ li r0, 0 -/* 802A2C50 90 03 00 4C */ stw r0, 0x4c(r3) -/* 802A2C54 C0 23 00 48 */ lfs f1, 0x48(r3) -lbl_802A2C58: -/* 802A2C58 D0 23 00 10 */ stfs f1, 0x10(r3) -/* 802A2C5C C0 23 00 0C */ lfs f1, 0xc(r3) -/* 802A2C60 80 83 00 40 */ lwz r4, 0x40(r3) -/* 802A2C64 28 04 00 01 */ cmplwi r4, 1 -/* 802A2C68 40 81 00 18 */ ble lbl_802A2C80 -/* 802A2C6C 38 04 FF FF */ addi r0, r4, -1 -/* 802A2C70 90 03 00 40 */ stw r0, 0x40(r3) -/* 802A2C74 C0 03 00 38 */ lfs f0, 0x38(r3) -/* 802A2C78 EC 21 00 2A */ fadds f1, f1, f0 -/* 802A2C7C 48 00 00 14 */ b lbl_802A2C90 -lbl_802A2C80: -/* 802A2C80 40 82 00 10 */ bne lbl_802A2C90 -/* 802A2C84 38 00 00 00 */ li r0, 0 -/* 802A2C88 90 03 00 40 */ stw r0, 0x40(r3) -/* 802A2C8C C0 23 00 3C */ lfs f1, 0x3c(r3) -lbl_802A2C90: -/* 802A2C90 D0 23 00 0C */ stfs f1, 0xc(r3) -/* 802A2C94 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAISoundChild/init__13JAISoundChildFv.s b/asm/JSystem/JAudio2/JAISoundChild/init__13JAISoundChildFv.s deleted file mode 100644 index 249906e3fe..0000000000 --- a/asm/JSystem/JAudio2/JAISoundChild/init__13JAISoundChildFv.s +++ /dev/null @@ -1,31 +0,0 @@ -lbl_802A2AB0: -/* 802A2AB0 C0 42 BD D8 */ lfs f2, lit_689(r2) -/* 802A2AB4 D0 43 00 00 */ stfs f2, 0(r3) -/* 802A2AB8 D0 43 00 08 */ stfs f2, 8(r3) -/* 802A2ABC C0 22 BD DC */ lfs f1, lit_690(r2) -/* 802A2AC0 D0 23 00 04 */ stfs f1, 4(r3) -/* 802A2AC4 C0 02 BD E0 */ lfs f0, lit_691(r2) -/* 802A2AC8 D0 03 00 0C */ stfs f0, 0xc(r3) -/* 802A2ACC D0 23 00 10 */ stfs f1, 0x10(r3) -/* 802A2AD0 D0 23 00 14 */ stfs f1, 0x14(r3) -/* 802A2AD4 38 00 00 00 */ li r0, 0 -/* 802A2AD8 90 03 00 1C */ stw r0, 0x1c(r3) -/* 802A2ADC D0 23 00 18 */ stfs f1, 0x18(r3) -/* 802A2AE0 D0 23 00 20 */ stfs f1, 0x20(r3) -/* 802A2AE4 90 03 00 28 */ stw r0, 0x28(r3) -/* 802A2AE8 D0 23 00 24 */ stfs f1, 0x24(r3) -/* 802A2AEC D0 23 00 2C */ stfs f1, 0x2c(r3) -/* 802A2AF0 90 03 00 34 */ stw r0, 0x34(r3) -/* 802A2AF4 D0 23 00 30 */ stfs f1, 0x30(r3) -/* 802A2AF8 D0 23 00 38 */ stfs f1, 0x38(r3) -/* 802A2AFC 90 03 00 40 */ stw r0, 0x40(r3) -/* 802A2B00 D0 23 00 3C */ stfs f1, 0x3c(r3) -/* 802A2B04 D0 23 00 44 */ stfs f1, 0x44(r3) -/* 802A2B08 90 03 00 4C */ stw r0, 0x4c(r3) -/* 802A2B0C D0 23 00 48 */ stfs f1, 0x48(r3) -/* 802A2B10 D0 43 00 50 */ stfs f2, 0x50(r3) -/* 802A2B14 D0 43 00 58 */ stfs f2, 0x58(r3) -/* 802A2B18 D0 23 00 54 */ stfs f1, 0x54(r3) -/* 802A2B1C D0 03 00 5C */ stfs f0, 0x5c(r3) -/* 802A2B20 D0 23 00 60 */ stfs f1, 0x60(r3) -/* 802A2B24 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAISoundChild/mixOut__13JAISoundChildFP8JASTrack.s b/asm/JSystem/JAudio2/JAISoundChild/mixOut__13JAISoundChildFP8JASTrack.s deleted file mode 100644 index bfe3df4a5c..0000000000 --- a/asm/JSystem/JAudio2/JAISoundChild/mixOut__13JAISoundChildFP8JASTrack.s +++ /dev/null @@ -1,22 +0,0 @@ -lbl_802A2B28: -/* 802A2B28 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A2B2C 7C 08 02 A6 */ mflr r0 -/* 802A2B30 90 01 00 14 */ stw r0, 0x14(r1) -/* 802A2B34 7C 65 1B 78 */ mr r5, r3 -/* 802A2B38 C0 03 00 00 */ lfs f0, 0(r3) -/* 802A2B3C D4 05 00 50 */ stfsu f0, 0x50(r5) -/* 802A2B40 C0 03 00 04 */ lfs f0, 4(r3) -/* 802A2B44 D0 03 00 54 */ stfs f0, 0x54(r3) -/* 802A2B48 C0 03 00 08 */ lfs f0, 8(r3) -/* 802A2B4C D0 03 00 58 */ stfs f0, 0x58(r3) -/* 802A2B50 C0 03 00 0C */ lfs f0, 0xc(r3) -/* 802A2B54 D0 03 00 5C */ stfs f0, 0x5c(r3) -/* 802A2B58 C0 03 00 10 */ lfs f0, 0x10(r3) -/* 802A2B5C D0 03 00 60 */ stfs f0, 0x60(r3) -/* 802A2B60 7C 83 23 78 */ mr r3, r4 -/* 802A2B64 38 80 00 00 */ li r4, 0 -/* 802A2B68 4B FE EE 8D */ bl assignExtBuffer__8JASTrackFUlP14JASSoundParams -/* 802A2B6C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802A2B70 7C 08 03 A6 */ mtlr r0 -/* 802A2B74 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A2B78 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAISoundParams/moveDolby__18JAISoundParamsMoveFfUl.s b/asm/JSystem/JAudio2/JAISoundParams/moveDolby__18JAISoundParamsMoveFfUl.s deleted file mode 100644 index 755653bda1..0000000000 --- a/asm/JSystem/JAudio2/JAISoundParams/moveDolby__18JAISoundParamsMoveFfUl.s +++ /dev/null @@ -1,25 +0,0 @@ -lbl_802A2F14: -/* 802A2F14 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A2F18 28 04 00 00 */ cmplwi r4, 0 -/* 802A2F1C 40 82 00 14 */ bne lbl_802A2F30 -/* 802A2F20 D0 23 00 10 */ stfs f1, 0x10(r3) -/* 802A2F24 38 00 00 00 */ li r0, 0 -/* 802A2F28 90 03 00 4C */ stw r0, 0x4c(r3) -/* 802A2F2C 48 00 00 38 */ b lbl_802A2F64 -lbl_802A2F30: -/* 802A2F30 C0 03 00 10 */ lfs f0, 0x10(r3) -/* 802A2F34 90 83 00 4C */ stw r4, 0x4c(r3) -/* 802A2F38 EC 61 00 28 */ fsubs f3, f1, f0 -/* 802A2F3C 80 03 00 4C */ lwz r0, 0x4c(r3) -/* 802A2F40 C8 42 BD E8 */ lfd f2, lit_292(r2) -/* 802A2F44 90 01 00 0C */ stw r0, 0xc(r1) -/* 802A2F48 3C 00 43 30 */ lis r0, 0x4330 -/* 802A2F4C 90 01 00 08 */ stw r0, 8(r1) -/* 802A2F50 C8 01 00 08 */ lfd f0, 8(r1) -/* 802A2F54 EC 00 10 28 */ fsubs f0, f0, f2 -/* 802A2F58 EC 03 00 24 */ fdivs f0, f3, f0 -/* 802A2F5C D0 03 00 44 */ stfs f0, 0x44(r3) -/* 802A2F60 D0 23 00 48 */ stfs f1, 0x48(r3) -lbl_802A2F64: -/* 802A2F64 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A2F68 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAISoundParams/moveFxMix__18JAISoundParamsMoveFfUl.s b/asm/JSystem/JAudio2/JAISoundParams/moveFxMix__18JAISoundParamsMoveFfUl.s deleted file mode 100644 index 8c7335dee0..0000000000 --- a/asm/JSystem/JAudio2/JAISoundParams/moveFxMix__18JAISoundParamsMoveFfUl.s +++ /dev/null @@ -1,25 +0,0 @@ -lbl_802A2E64: -/* 802A2E64 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A2E68 28 04 00 00 */ cmplwi r4, 0 -/* 802A2E6C 40 82 00 14 */ bne lbl_802A2E80 -/* 802A2E70 D0 23 00 04 */ stfs f1, 4(r3) -/* 802A2E74 38 00 00 00 */ li r0, 0 -/* 802A2E78 90 03 00 34 */ stw r0, 0x34(r3) -/* 802A2E7C 48 00 00 38 */ b lbl_802A2EB4 -lbl_802A2E80: -/* 802A2E80 C0 03 00 04 */ lfs f0, 4(r3) -/* 802A2E84 90 83 00 34 */ stw r4, 0x34(r3) -/* 802A2E88 EC 61 00 28 */ fsubs f3, f1, f0 -/* 802A2E8C 80 03 00 34 */ lwz r0, 0x34(r3) -/* 802A2E90 C8 42 BD E8 */ lfd f2, lit_292(r2) -/* 802A2E94 90 01 00 0C */ stw r0, 0xc(r1) -/* 802A2E98 3C 00 43 30 */ lis r0, 0x4330 -/* 802A2E9C 90 01 00 08 */ stw r0, 8(r1) -/* 802A2EA0 C8 01 00 08 */ lfd f0, 8(r1) -/* 802A2EA4 EC 00 10 28 */ fsubs f0, f0, f2 -/* 802A2EA8 EC 03 00 24 */ fdivs f0, f3, f0 -/* 802A2EAC D0 03 00 2C */ stfs f0, 0x2c(r3) -/* 802A2EB0 D0 23 00 30 */ stfs f1, 0x30(r3) -lbl_802A2EB4: -/* 802A2EB4 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A2EB8 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAISoundParams/movePan__18JAISoundParamsMoveFfUl.s b/asm/JSystem/JAudio2/JAISoundParams/movePan__18JAISoundParamsMoveFfUl.s deleted file mode 100644 index 998783946a..0000000000 --- a/asm/JSystem/JAudio2/JAISoundParams/movePan__18JAISoundParamsMoveFfUl.s +++ /dev/null @@ -1,25 +0,0 @@ -lbl_802A2EBC: -/* 802A2EBC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A2EC0 28 04 00 00 */ cmplwi r4, 0 -/* 802A2EC4 40 82 00 14 */ bne lbl_802A2ED8 -/* 802A2EC8 D0 23 00 0C */ stfs f1, 0xc(r3) -/* 802A2ECC 38 00 00 00 */ li r0, 0 -/* 802A2ED0 90 03 00 40 */ stw r0, 0x40(r3) -/* 802A2ED4 48 00 00 38 */ b lbl_802A2F0C -lbl_802A2ED8: -/* 802A2ED8 C0 03 00 0C */ lfs f0, 0xc(r3) -/* 802A2EDC 90 83 00 40 */ stw r4, 0x40(r3) -/* 802A2EE0 EC 61 00 28 */ fsubs f3, f1, f0 -/* 802A2EE4 80 03 00 40 */ lwz r0, 0x40(r3) -/* 802A2EE8 C8 42 BD E8 */ lfd f2, lit_292(r2) -/* 802A2EEC 90 01 00 0C */ stw r0, 0xc(r1) -/* 802A2EF0 3C 00 43 30 */ lis r0, 0x4330 -/* 802A2EF4 90 01 00 08 */ stw r0, 8(r1) -/* 802A2EF8 C8 01 00 08 */ lfd f0, 8(r1) -/* 802A2EFC EC 00 10 28 */ fsubs f0, f0, f2 -/* 802A2F00 EC 03 00 24 */ fdivs f0, f3, f0 -/* 802A2F04 D0 03 00 38 */ stfs f0, 0x38(r3) -/* 802A2F08 D0 23 00 3C */ stfs f1, 0x3c(r3) -lbl_802A2F0C: -/* 802A2F0C 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A2F10 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAISoundParams/movePitch__18JAISoundParamsMoveFfUl.s b/asm/JSystem/JAudio2/JAISoundParams/movePitch__18JAISoundParamsMoveFfUl.s deleted file mode 100644 index bb2c4fe3b9..0000000000 --- a/asm/JSystem/JAudio2/JAISoundParams/movePitch__18JAISoundParamsMoveFfUl.s +++ /dev/null @@ -1,25 +0,0 @@ -lbl_802A2E0C: -/* 802A2E0C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A2E10 28 04 00 00 */ cmplwi r4, 0 -/* 802A2E14 40 82 00 14 */ bne lbl_802A2E28 -/* 802A2E18 D0 23 00 08 */ stfs f1, 8(r3) -/* 802A2E1C 38 00 00 00 */ li r0, 0 -/* 802A2E20 90 03 00 28 */ stw r0, 0x28(r3) -/* 802A2E24 48 00 00 38 */ b lbl_802A2E5C -lbl_802A2E28: -/* 802A2E28 C0 03 00 08 */ lfs f0, 8(r3) -/* 802A2E2C 90 83 00 28 */ stw r4, 0x28(r3) -/* 802A2E30 EC 61 00 28 */ fsubs f3, f1, f0 -/* 802A2E34 80 03 00 28 */ lwz r0, 0x28(r3) -/* 802A2E38 C8 42 BD E8 */ lfd f2, lit_292(r2) -/* 802A2E3C 90 01 00 0C */ stw r0, 0xc(r1) -/* 802A2E40 3C 00 43 30 */ lis r0, 0x4330 -/* 802A2E44 90 01 00 08 */ stw r0, 8(r1) -/* 802A2E48 C8 01 00 08 */ lfd f0, 8(r1) -/* 802A2E4C EC 00 10 28 */ fsubs f0, f0, f2 -/* 802A2E50 EC 03 00 24 */ fdivs f0, f3, f0 -/* 802A2E54 D0 03 00 20 */ stfs f0, 0x20(r3) -/* 802A2E58 D0 23 00 24 */ stfs f1, 0x24(r3) -lbl_802A2E5C: -/* 802A2E5C 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A2E60 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAISoundParams/moveVolume__18JAISoundParamsMoveFfUl.s b/asm/JSystem/JAudio2/JAISoundParams/moveVolume__18JAISoundParamsMoveFfUl.s deleted file mode 100644 index 8106343b55..0000000000 --- a/asm/JSystem/JAudio2/JAISoundParams/moveVolume__18JAISoundParamsMoveFfUl.s +++ /dev/null @@ -1,25 +0,0 @@ -lbl_802A2DB4: -/* 802A2DB4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A2DB8 28 04 00 00 */ cmplwi r4, 0 -/* 802A2DBC 40 82 00 14 */ bne lbl_802A2DD0 -/* 802A2DC0 D0 23 00 00 */ stfs f1, 0(r3) -/* 802A2DC4 38 00 00 00 */ li r0, 0 -/* 802A2DC8 90 03 00 1C */ stw r0, 0x1c(r3) -/* 802A2DCC 48 00 00 38 */ b lbl_802A2E04 -lbl_802A2DD0: -/* 802A2DD0 C0 03 00 00 */ lfs f0, 0(r3) -/* 802A2DD4 90 83 00 1C */ stw r4, 0x1c(r3) -/* 802A2DD8 EC 61 00 28 */ fsubs f3, f1, f0 -/* 802A2DDC 80 03 00 1C */ lwz r0, 0x1c(r3) -/* 802A2DE0 C8 42 BD E8 */ lfd f2, lit_292(r2) -/* 802A2DE4 90 01 00 0C */ stw r0, 0xc(r1) -/* 802A2DE8 3C 00 43 30 */ lis r0, 0x4330 -/* 802A2DEC 90 01 00 08 */ stw r0, 8(r1) -/* 802A2DF0 C8 01 00 08 */ lfd f0, 8(r1) -/* 802A2DF4 EC 00 10 28 */ fsubs f0, f0, f2 -/* 802A2DF8 EC 03 00 24 */ fdivs f0, f3, f0 -/* 802A2DFC D0 03 00 14 */ stfs f0, 0x14(r3) -/* 802A2E00 D0 23 00 18 */ stfs f1, 0x18(r3) -lbl_802A2E04: -/* 802A2E04 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A2E08 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAIStreamDataMgr/__dt__16JAIStreamAramMgrFv.s b/asm/JSystem/JAudio2/JAIStreamDataMgr/__dt__16JAIStreamAramMgrFv.s deleted file mode 100644 index 8d94dda5bf..0000000000 --- a/asm/JSystem/JAudio2/JAIStreamDataMgr/__dt__16JAIStreamAramMgrFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_802A3B20: -/* 802A3B20 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A3B24 7C 08 02 A6 */ mflr r0 -/* 802A3B28 90 01 00 14 */ stw r0, 0x14(r1) -/* 802A3B2C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802A3B30 7C 7F 1B 79 */ or. r31, r3, r3 -/* 802A3B34 41 82 00 1C */ beq lbl_802A3B50 -/* 802A3B38 3C A0 80 3D */ lis r5, __vt__16JAIStreamAramMgr@ha /* 0x803C9A08@ha */ -/* 802A3B3C 38 05 9A 08 */ addi r0, r5, __vt__16JAIStreamAramMgr@l /* 0x803C9A08@l */ -/* 802A3B40 90 1F 00 00 */ stw r0, 0(r31) -/* 802A3B44 7C 80 07 35 */ extsh. r0, r4 -/* 802A3B48 40 81 00 08 */ ble lbl_802A3B50 -/* 802A3B4C 48 02 B1 F1 */ bl __dl__FPv -lbl_802A3B50: -/* 802A3B50 7F E3 FB 78 */ mr r3, r31 -/* 802A3B54 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802A3B58 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802A3B5C 7C 08 03 A6 */ mtlr r0 -/* 802A3B60 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A3B64 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAIStreamDataMgr/__dt__16JAIStreamDataMgrFv.s b/asm/JSystem/JAudio2/JAIStreamDataMgr/__dt__16JAIStreamDataMgrFv.s deleted file mode 100644 index e566016e9a..0000000000 --- a/asm/JSystem/JAudio2/JAIStreamDataMgr/__dt__16JAIStreamDataMgrFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_802A3AD8: -/* 802A3AD8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A3ADC 7C 08 02 A6 */ mflr r0 -/* 802A3AE0 90 01 00 14 */ stw r0, 0x14(r1) -/* 802A3AE4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802A3AE8 7C 7F 1B 79 */ or. r31, r3, r3 -/* 802A3AEC 41 82 00 1C */ beq lbl_802A3B08 -/* 802A3AF0 3C A0 80 3D */ lis r5, __vt__16JAIStreamDataMgr@ha /* 0x803C9A1C@ha */ -/* 802A3AF4 38 05 9A 1C */ addi r0, r5, __vt__16JAIStreamDataMgr@l /* 0x803C9A1C@l */ -/* 802A3AF8 90 1F 00 00 */ stw r0, 0(r31) -/* 802A3AFC 7C 80 07 35 */ extsh. r0, r4 -/* 802A3B00 40 81 00 08 */ ble lbl_802A3B08 -/* 802A3B04 48 02 B2 39 */ bl __dl__FPv -lbl_802A3B08: -/* 802A3B08 7F E3 FB 78 */ mr r3, r31 -/* 802A3B0C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802A3B10 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802A3B14 7C 08 03 A6 */ mtlr r0 -/* 802A3B18 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A3B1C 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASAudioReseter/__ct__15JASAudioReseterFv.s b/asm/JSystem/JAudio2/JASAudioReseter/__ct__15JASAudioReseterFv.s deleted file mode 100644 index 9ff60a6ca8..0000000000 --- a/asm/JSystem/JAudio2/JASAudioReseter/__ct__15JASAudioReseterFv.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_8029D0B4: -/* 8029D0B4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8029D0B8 7C 08 02 A6 */ mflr r0 -/* 8029D0BC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8029D0C0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8029D0C4 7C 7F 1B 78 */ mr r31, r3 -/* 8029D0C8 38 60 00 00 */ li r3, 0 -/* 8029D0CC 90 7F 00 00 */ stw r3, 0(r31) -/* 8029D0D0 38 00 00 01 */ li r0, 1 -/* 8029D0D4 90 1F 00 08 */ stw r0, 8(r31) -/* 8029D0D8 98 7F 00 0C */ stb r3, 0xc(r31) -/* 8029D0DC 48 00 10 7D */ bl getDSPLevel__9JASDriverFv -/* 8029D0E0 D0 3F 00 04 */ stfs f1, 4(r31) -/* 8029D0E4 7F E3 FB 78 */ mr r3, r31 -/* 8029D0E8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8029D0EC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8029D0F0 7C 08 03 A6 */ mtlr r0 -/* 8029D0F4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8029D0F8 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASAudioReseter/__dt__15JASAudioReseterFv.s b/asm/JSystem/JAudio2/JASAudioReseter/__dt__15JASAudioReseterFv.s deleted file mode 100644 index c6ab96ab29..0000000000 --- a/asm/JSystem/JAudio2/JASAudioReseter/__dt__15JASAudioReseterFv.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_8029D0FC: -/* 8029D0FC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8029D100 7C 08 02 A6 */ mflr r0 -/* 8029D104 90 01 00 14 */ stw r0, 0x14(r1) -/* 8029D108 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8029D10C 7C 7F 1B 79 */ or. r31, r3, r3 -/* 8029D110 41 82 00 10 */ beq lbl_8029D120 -/* 8029D114 7C 80 07 35 */ extsh. r0, r4 -/* 8029D118 40 81 00 08 */ ble lbl_8029D120 -/* 8029D11C 48 03 1C 21 */ bl __dl__FPv -lbl_8029D120: -/* 8029D120 7F E3 FB 78 */ mr r3, r31 -/* 8029D124 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8029D128 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8029D12C 7C 08 03 A6 */ mtlr r0 -/* 8029D130 38 21 00 10 */ addi r1, r1, 0x10 -/* 8029D134 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASAudioReseter/callback__15JASAudioReseterFPv.s b/asm/JSystem/JAudio2/JASAudioReseter/callback__15JASAudioReseterFPv.s deleted file mode 100644 index e5c5b1a2f1..0000000000 --- a/asm/JSystem/JAudio2/JASAudioReseter/callback__15JASAudioReseterFPv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_8029D2D4: -/* 8029D2D4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8029D2D8 7C 08 02 A6 */ mflr r0 -/* 8029D2DC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8029D2E0 4B FF FF 21 */ bl calc__15JASAudioReseterFv -/* 8029D2E4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8029D2E8 7C 08 03 A6 */ mtlr r0 -/* 8029D2EC 38 21 00 10 */ addi r1, r1, 0x10 -/* 8029D2F0 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASAudioReseter/checkDone__15JASAudioReseterCFv.s b/asm/JSystem/JAudio2/JASAudioReseter/checkDone__15JASAudioReseterCFv.s deleted file mode 100644 index e10671439b..0000000000 --- a/asm/JSystem/JAudio2/JASAudioReseter/checkDone__15JASAudioReseterCFv.s +++ /dev/null @@ -1,3 +0,0 @@ -lbl_8029D1F8: -/* 8029D1F8 80 63 00 08 */ lwz r3, 8(r3) -/* 8029D1FC 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASAudioReseter/resume__15JASAudioReseterFv.s b/asm/JSystem/JAudio2/JASAudioReseter/resume__15JASAudioReseterFv.s deleted file mode 100644 index 1c6be02571..0000000000 --- a/asm/JSystem/JAudio2/JASAudioReseter/resume__15JASAudioReseterFv.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_8029D1D4: -/* 8029D1D4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8029D1D8 7C 08 02 A6 */ mflr r0 -/* 8029D1DC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8029D1E0 C0 23 00 04 */ lfs f1, 4(r3) -/* 8029D1E4 48 00 0F 4D */ bl setDSPLevel__9JASDriverFf -/* 8029D1E8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8029D1EC 7C 08 03 A6 */ mtlr r0 -/* 8029D1F0 38 21 00 10 */ addi r1, r1, 0x10 -/* 8029D1F4 4E 80 00 20 */ blr diff --git a/asm/Z2AudioLib/Z2AudioMgr/gframeProcess__10Z2AudioMgrFv.s b/asm/Z2AudioLib/Z2AudioMgr/gframeProcess__10Z2AudioMgrFv.s deleted file mode 100644 index feae7c35a8..0000000000 --- a/asm/Z2AudioLib/Z2AudioMgr/gframeProcess__10Z2AudioMgrFv.s +++ /dev/null @@ -1,31 +0,0 @@ -lbl_802CD904: -/* 802CD904 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802CD908 7C 08 02 A6 */ mflr r0 -/* 802CD90C 90 01 00 14 */ stw r0, 0x14(r1) -/* 802CD910 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802CD914 7C 7F 1B 78 */ mr r31, r3 -/* 802CD918 4B FF FF 9D */ bl zeldaGFrameWork__10Z2AudioMgrFv -/* 802CD91C 88 1F 05 18 */ lbz r0, 0x518(r31) -/* 802CD920 28 00 00 00 */ cmplwi r0, 0 -/* 802CD924 41 82 00 2C */ beq lbl_802CD950 -/* 802CD928 38 7F 05 1C */ addi r3, r31, 0x51c -/* 802CD92C 4B FC F8 CD */ bl checkDone__15JASAudioReseterCFv -/* 802CD930 2C 03 00 00 */ cmpwi r3, 0 -/* 802CD934 41 82 00 1C */ beq lbl_802CD950 -/* 802CD938 88 1F 05 19 */ lbz r0, 0x519(r31) -/* 802CD93C 28 00 00 00 */ cmplwi r0, 0 -/* 802CD940 40 82 00 20 */ bne lbl_802CD960 -/* 802CD944 38 7F 05 30 */ addi r3, r31, 0x530 -/* 802CD948 4B FD CF 05 */ bl stopSync__10Z2SoundMgrFv -/* 802CD94C 48 00 00 14 */ b lbl_802CD960 -lbl_802CD950: -/* 802CD950 38 7F 05 30 */ addi r3, r31, 0x530 -/* 802CD954 4B FD CD 29 */ bl framework__10Z2SoundMgrFv -/* 802CD958 38 7F 04 A4 */ addi r3, r31, 0x4a4 -/* 802CD95C 4B FE C2 F5 */ bl framework__10Z2SceneMgrFv -lbl_802CD960: -/* 802CD960 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802CD964 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802CD968 7C 08 03 A6 */ mtlr r0 -/* 802CD96C 38 21 00 10 */ addi r1, r1, 0x10 -/* 802CD970 4E 80 00 20 */ blr diff --git a/asm/Z2AudioLib/Z2AudioMgr/resetProcess__10Z2AudioMgrFUlb.s b/asm/Z2AudioLib/Z2AudioMgr/resetProcess__10Z2AudioMgrFUlb.s deleted file mode 100644 index e607fedcb9..0000000000 --- a/asm/Z2AudioLib/Z2AudioMgr/resetProcess__10Z2AudioMgrFUlb.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_802CD974: -/* 802CD974 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802CD978 7C 08 02 A6 */ mflr r0 -/* 802CD97C 90 01 00 24 */ stw r0, 0x24(r1) -/* 802CD980 39 61 00 20 */ addi r11, r1, 0x20 -/* 802CD984 48 09 48 59 */ bl _savegpr_29 -/* 802CD988 7C 7D 1B 78 */ mr r29, r3 -/* 802CD98C 7C 9E 23 78 */ mr r30, r4 -/* 802CD990 7C BF 2B 78 */ mr r31, r5 -/* 802CD994 4B FC F0 5D */ bl getSubFrames__9JASDriverFv -/* 802CD998 7C 9E 19 D6 */ mullw r4, r30, r3 -/* 802CD99C 38 7D 05 1C */ addi r3, r29, 0x51c -/* 802CD9A0 7F E5 FB 78 */ mr r5, r31 -/* 802CD9A4 4B FC F7 95 */ bl start__15JASAudioReseterFUlb -/* 802CD9A8 9B FD 05 19 */ stb r31, 0x519(r29) -/* 802CD9AC 38 00 00 01 */ li r0, 1 -/* 802CD9B0 98 1D 05 18 */ stb r0, 0x518(r29) -/* 802CD9B4 39 61 00 20 */ addi r11, r1, 0x20 -/* 802CD9B8 48 09 48 71 */ bl _restgpr_29 -/* 802CD9BC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802CD9C0 7C 08 03 A6 */ mtlr r0 -/* 802CD9C4 38 21 00 20 */ addi r1, r1, 0x20 -/* 802CD9C8 4E 80 00 20 */ blr diff --git a/asm/Z2AudioLib/Z2AudioMgr/setOutputMode__10Z2AudioMgrFUl.s b/asm/Z2AudioLib/Z2AudioMgr/setOutputMode__10Z2AudioMgrFUl.s deleted file mode 100644 index c14cd49acc..0000000000 --- a/asm/Z2AudioLib/Z2AudioMgr/setOutputMode__10Z2AudioMgrFUl.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_802CD888: -/* 802CD888 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802CD88C 7C 08 02 A6 */ mflr r0 -/* 802CD890 90 01 00 14 */ stw r0, 0x14(r1) -/* 802CD894 28 04 00 02 */ cmplwi r4, 2 -/* 802CD898 41 81 00 0C */ bgt lbl_802CD8A4 -/* 802CD89C 7C 83 23 78 */ mr r3, r4 -/* 802CD8A0 4B FD 08 D9 */ bl setOutputMode__9JASDriverFUl -lbl_802CD8A4: -/* 802CD8A4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802CD8A8 7C 08 03 A6 */ mtlr r0 -/* 802CD8AC 38 21 00 10 */ addi r1, r1, 0x10 -/* 802CD8B0 4E 80 00 20 */ blr diff --git a/asm/Z2AudioLib/Z2AudioMgr/zeldaGFrameWork__10Z2AudioMgrFv.s b/asm/Z2AudioLib/Z2AudioMgr/zeldaGFrameWork__10Z2AudioMgrFv.s deleted file mode 100644 index 1e96bf3ec6..0000000000 --- a/asm/Z2AudioLib/Z2AudioMgr/zeldaGFrameWork__10Z2AudioMgrFv.s +++ /dev/null @@ -1,21 +0,0 @@ -lbl_802CD8B4: -/* 802CD8B4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802CD8B8 7C 08 02 A6 */ mflr r0 -/* 802CD8BC 90 01 00 14 */ stw r0, 0x14(r1) -/* 802CD8C0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802CD8C4 7C 7F 1B 78 */ mr r31, r3 -/* 802CD8C8 38 7F 04 C4 */ addi r3, r31, 0x4c4 -/* 802CD8CC 4B FE 8E 51 */ bl processTime__11Z2StatusMgrFv -/* 802CD8D0 38 7F 0F 2C */ addi r3, r31, 0xf2c -/* 802CD8D4 4B FF F0 FD */ bl framework__12Z2SpeechMgr2Fv -/* 802CD8D8 7F E3 FB 78 */ mr r3, r31 -/* 802CD8DC 4B FE 08 A9 */ bl processSeFramework__7Z2SeMgrFv -/* 802CD8E0 38 7F 03 D0 */ addi r3, r31, 0x3d0 -/* 802CD8E4 4B FE 5A C5 */ bl processBgmFramework__8Z2SeqMgrFv -/* 802CD8E8 38 7F 04 C4 */ addi r3, r31, 0x4c4 -/* 802CD8EC 4B FE 86 91 */ bl processHeartGaugeSound__11Z2StatusMgrFv -/* 802CD8F0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802CD8F4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802CD8F8 7C 08 03 A6 */ mtlr r0 -/* 802CD8FC 38 21 00 10 */ addi r1, r1, 0x10 -/* 802CD900 4E 80 00 20 */ blr diff --git a/asm/Z2AudioLib/Z2LinkMgr/__ct__18Z2LinkSoundStarterFv.s b/asm/Z2AudioLib/Z2LinkMgr/__ct__18Z2LinkSoundStarterFv.s deleted file mode 100644 index 8171a22e8b..0000000000 --- a/asm/Z2AudioLib/Z2LinkMgr/__ct__18Z2LinkSoundStarterFv.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_802C48E8: -/* 802C48E8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802C48EC 7C 08 02 A6 */ mflr r0 -/* 802C48F0 90 01 00 14 */ stw r0, 0x14(r1) -/* 802C48F4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802C48F8 7C 7F 1B 78 */ mr r31, r3 -/* 802C48FC 38 80 00 00 */ li r4, 0 -/* 802C4900 4B FE 62 95 */ bl __ct__14Z2SoundStarterFb -/* 802C4904 3C 60 80 3D */ lis r3, __vt__18Z2LinkSoundStarter@ha /* 0x803CB96C@ha */ -/* 802C4908 38 03 B9 6C */ addi r0, r3, __vt__18Z2LinkSoundStarter@l /* 0x803CB96C@l */ -/* 802C490C 90 1F 00 00 */ stw r0, 0(r31) -/* 802C4910 7F E3 FB 78 */ mr r3, r31 -/* 802C4914 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802C4918 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802C491C 7C 08 03 A6 */ mtlr r0 -/* 802C4920 38 21 00 10 */ addi r1, r1, 0x10 -/* 802C4924 4E 80 00 20 */ blr diff --git a/asm/Z2AudioLib/Z2LinkMgr/__ct__18Z2RideSoundStarterFP14Z2CreatureRide.s b/asm/Z2AudioLib/Z2LinkMgr/__ct__18Z2RideSoundStarterFP14Z2CreatureRide.s deleted file mode 100644 index 45827ae2e4..0000000000 --- a/asm/Z2AudioLib/Z2LinkMgr/__ct__18Z2RideSoundStarterFP14Z2CreatureRide.s +++ /dev/null @@ -1,21 +0,0 @@ -lbl_802C5234: -/* 802C5234 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802C5238 7C 08 02 A6 */ mflr r0 -/* 802C523C 90 01 00 14 */ stw r0, 0x14(r1) -/* 802C5240 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802C5244 93 C1 00 08 */ stw r30, 8(r1) -/* 802C5248 7C 7E 1B 78 */ mr r30, r3 -/* 802C524C 7C 9F 23 78 */ mr r31, r4 -/* 802C5250 38 80 00 00 */ li r4, 0 -/* 802C5254 4B FE 59 41 */ bl __ct__14Z2SoundStarterFb -/* 802C5258 3C 60 80 3D */ lis r3, __vt__18Z2RideSoundStarter@ha /* 0x803CB910@ha */ -/* 802C525C 38 03 B9 10 */ addi r0, r3, __vt__18Z2RideSoundStarter@l /* 0x803CB910@l */ -/* 802C5260 90 1E 00 00 */ stw r0, 0(r30) -/* 802C5264 93 FE 00 04 */ stw r31, 4(r30) -/* 802C5268 7F C3 F3 78 */ mr r3, r30 -/* 802C526C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802C5270 83 C1 00 08 */ lwz r30, 8(r1) -/* 802C5274 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802C5278 7C 08 03 A6 */ mtlr r0 -/* 802C527C 38 21 00 10 */ addi r1, r1, 0x10 -/* 802C5280 4E 80 00 20 */ blr diff --git a/asm/Z2AudioLib/Z2LinkMgr/deleteKantera__14Z2CreatureLinkFv.s b/asm/Z2AudioLib/Z2LinkMgr/deleteKantera__14Z2CreatureLinkFv.s deleted file mode 100644 index 61a5c7245d..0000000000 --- a/asm/Z2AudioLib/Z2LinkMgr/deleteKantera__14Z2CreatureLinkFv.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_802C374C: -/* 802C374C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802C3750 7C 08 02 A6 */ mflr r0 -/* 802C3754 90 01 00 14 */ stw r0, 0x14(r1) -/* 802C3758 38 00 00 00 */ li r0, 0 -/* 802C375C 98 03 00 C5 */ stb r0, 0xc5(r3) -/* 802C3760 38 63 00 94 */ addi r3, r3, 0x94 -/* 802C3764 4B FF A8 95 */ bl deleteObject__14Z2SoundObjBaseFv -/* 802C3768 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802C376C 7C 08 03 A6 */ mtlr r0 -/* 802C3770 38 21 00 10 */ addi r1, r1, 0x10 -/* 802C3774 4E 80 00 20 */ blr diff --git a/asm/Z2AudioLib/Z2LinkMgr/init__14Z2CreatureRideFP3VecP3VecUcUc.s b/asm/Z2AudioLib/Z2LinkMgr/init__14Z2CreatureRideFP3VecP3VecUcUc.s deleted file mode 100644 index 56e2912230..0000000000 --- a/asm/Z2AudioLib/Z2LinkMgr/init__14Z2CreatureRideFP3VecP3VecUcUc.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_802C520C: -/* 802C520C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802C5210 7C 08 02 A6 */ mflr r0 -/* 802C5214 90 01 00 14 */ stw r0, 0x14(r1) -/* 802C5218 4B FF B3 19 */ bl init__10Z2CreatureFP3VecP3VecUcUc -/* 802C521C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802C5220 7C 08 03 A6 */ mtlr r0 -/* 802C5224 38 21 00 10 */ addi r1, r1, 0x10 -/* 802C5228 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_audio/mDoAud_load1stDynamicWave__Fv.s b/asm/m_Do/m_Do_audio/mDoAud_load1stDynamicWave__Fv.s deleted file mode 100644 index b0f376d4d8..0000000000 --- a/asm/m_Do/m_Do_audio/mDoAud_load1stDynamicWave__Fv.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_800071F8: -/* 800071F8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800071FC 7C 08 02 A6 */ mflr r0 -/* 80007200 90 01 00 14 */ stw r0, 0x14(r1) -/* 80007204 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 80007208 38 63 04 A4 */ addi r3, r3, 0x4a4 -/* 8000720C 48 2B 2B 35 */ bl load1stDynamicWave__10Z2SceneMgrFv -/* 80007210 38 60 00 01 */ li r3, 1 -/* 80007214 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80007218 7C 08 03 A6 */ mtlr r0 -/* 8000721C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80007220 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_audio/mDoAud_resetProcess__Fv.s b/asm/m_Do/m_Do_audio/mDoAud_resetProcess__Fv.s deleted file mode 100644 index 0a83c9d8fe..0000000000 --- a/asm/m_Do/m_Do_audio/mDoAud_resetProcess__Fv.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_80007284: -/* 80007284 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80007288 7C 08 02 A6 */ mflr r0 -/* 8000728C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80007290 88 0D 86 39 */ lbz r0, struct_80450BB8+0x1(r13) -/* 80007294 28 00 00 00 */ cmplwi r0, 0 -/* 80007298 40 82 00 1C */ bne lbl_800072B4 -/* 8000729C 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 800072A0 38 80 00 1E */ li r4, 0x1e -/* 800072A4 38 A0 00 00 */ li r5, 0 -/* 800072A8 48 2C 66 CD */ bl resetProcess__10Z2AudioMgrFUlb -/* 800072AC 38 00 00 01 */ li r0, 1 -/* 800072B0 98 0D 86 39 */ stb r0, struct_80450BB8+0x1(r13) -lbl_800072B4: -/* 800072B4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800072B8 7C 08 03 A6 */ mtlr r0 -/* 800072BC 38 21 00 10 */ addi r1, r1, 0x10 -/* 800072C0 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_audio/mDoAud_resetRecover__Fv.s b/asm/m_Do/m_Do_audio/mDoAud_resetRecover__Fv.s deleted file mode 100644 index 028675f824..0000000000 --- a/asm/m_Do/m_Do_audio/mDoAud_resetRecover__Fv.s +++ /dev/null @@ -1,25 +0,0 @@ -lbl_800072C4: -/* 800072C4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800072C8 7C 08 02 A6 */ mflr r0 -/* 800072CC 90 01 00 14 */ stw r0, 0x14(r1) -/* 800072D0 88 0D 86 39 */ lbz r0, struct_80450BB8+0x1(r13) -/* 800072D4 28 00 00 00 */ cmplwi r0, 0 -/* 800072D8 41 82 00 2C */ beq lbl_80007304 -/* 800072DC 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 800072E0 48 2C 67 8D */ bl hasReset__10Z2AudioMgrCFv -/* 800072E4 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800072E8 40 82 00 0C */ bne lbl_800072F4 -/* 800072EC 38 60 00 00 */ li r3, 0 -/* 800072F0 48 00 00 18 */ b lbl_80007308 -lbl_800072F4: -/* 800072F4 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 800072F8 48 2C 66 D5 */ bl resetRecover__10Z2AudioMgrFv -/* 800072FC 38 00 00 00 */ li r0, 0 -/* 80007300 98 0D 86 39 */ stb r0, struct_80450BB8+0x1(r13) -lbl_80007304: -/* 80007304 38 60 00 01 */ li r3, 1 -lbl_80007308: -/* 80007308 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8000730C 7C 08 03 A6 */ mtlr r0 -/* 80007310 38 21 00 10 */ addi r1, r1, 0x10 -/* 80007314 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_audio/mDoAud_setFadeInStart__FUc.s b/asm/m_Do/m_Do_audio/mDoAud_setFadeInStart__FUc.s deleted file mode 100644 index 4c3246faed..0000000000 --- a/asm/m_Do/m_Do_audio/mDoAud_setFadeInStart__FUc.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_80007254: -/* 80007254 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80007258 7C 08 02 A6 */ mflr r0 -/* 8000725C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80007260 7C 60 1B 78 */ mr r0, r3 -/* 80007264 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 80007268 38 63 04 A4 */ addi r3, r3, 0x4a4 -/* 8000726C 54 04 06 3E */ clrlwi r4, r0, 0x18 -/* 80007270 48 2A F7 A9 */ bl setFadeInStart__10Z2SceneMgrFUc -/* 80007274 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80007278 7C 08 03 A6 */ mtlr r0 -/* 8000727C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80007280 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_audio/mDoAud_setFadeOutStart__FUc.s b/asm/m_Do/m_Do_audio/mDoAud_setFadeOutStart__FUc.s deleted file mode 100644 index d9f7444d9c..0000000000 --- a/asm/m_Do/m_Do_audio/mDoAud_setFadeOutStart__FUc.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_80007224: -/* 80007224 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80007228 7C 08 02 A6 */ mflr r0 -/* 8000722C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80007230 7C 60 1B 78 */ mr r0, r3 -/* 80007234 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 80007238 38 63 04 A4 */ addi r3, r3, 0x4a4 -/* 8000723C 54 04 06 3E */ clrlwi r4, r0, 0x18 -/* 80007240 48 2A F7 3D */ bl setFadeOutStart__10Z2SceneMgrFUc -/* 80007244 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80007248 7C 08 03 A6 */ mtlr r0 -/* 8000724C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80007250 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_audio/mDoAud_setSceneName__FPCcll.s b/asm/m_Do/m_Do_audio/mDoAud_setSceneName__FPCcll.s deleted file mode 100644 index c68b88a478..0000000000 --- a/asm/m_Do/m_Do_audio/mDoAud_setSceneName__FPCcll.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_800071BC: -/* 800071BC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800071C0 7C 08 02 A6 */ mflr r0 -/* 800071C4 90 01 00 14 */ stw r0, 0x14(r1) -/* 800071C8 7C 67 1B 78 */ mr r7, r3 -/* 800071CC 7C 80 23 78 */ mr r0, r4 -/* 800071D0 7C A6 2B 78 */ mr r6, r5 -/* 800071D4 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 800071D8 38 63 04 A4 */ addi r3, r3, 0x4a4 -/* 800071DC 7C E4 3B 78 */ mr r4, r7 -/* 800071E0 7C 05 03 78 */ mr r5, r0 -/* 800071E4 48 2A F9 15 */ bl setSceneName__10Z2SceneMgrFPcll -/* 800071E8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800071EC 7C 08 03 A6 */ mtlr r0 -/* 800071F0 38 21 00 10 */ addi r1, r1, 0x10 -/* 800071F4 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_audio/reset__17mDoAud_zelAudio_cFv.s b/asm/m_Do/m_Do_audio/reset__17mDoAud_zelAudio_cFv.s deleted file mode 100644 index 44cc56b1b9..0000000000 --- a/asm/m_Do/m_Do_audio/reset__17mDoAud_zelAudio_cFv.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_80006FB4: -/* 80006FB4 38 00 00 00 */ li r0, 0 -/* 80006FB8 98 0D 86 3A */ stb r0, struct_80450BB8+0x2(r13) -/* 80006FBC 4E 80 00 20 */ blr diff --git a/include/JSystem/JAudio2/JAIAudible.h b/include/JSystem/JAudio2/JAIAudible.h index 7136e95258..d42029bec9 100644 --- a/include/JSystem/JAudio2/JAIAudible.h +++ b/include/JSystem/JAudio2/JAIAudible.h @@ -3,4 +3,10 @@ #include "dolphin/types.h" +struct JAIAudible { + virtual ~JAIAudible(); + virtual void getOuterParams(int) = 0; + virtual void calc() = 0; +}; + #endif /* JAIAUDIBLE_H */ diff --git a/include/JSystem/JAudio2/JAIAudience.h b/include/JSystem/JAudio2/JAIAudience.h index 1f79446431..2f2586bf2d 100644 --- a/include/JSystem/JAudio2/JAIAudience.h +++ b/include/JSystem/JAudio2/JAIAudience.h @@ -1,6 +1,22 @@ #ifndef JAIAUDIENCE_H #define JAIAUDIENCE_H +#include "JSystem/JAudio2/JAIAudible.h" +#include "JSystem/JAudio2/JAISound.h" +#include "JSystem/JGeometry.h" #include "dolphin/types.h" +class JAISoundID; +struct JASSoundParams; + +struct JAIAudience { + virtual ~JAIAudience(); + virtual JAIAudible* newAudible(JGeometry::TVec3 const&, JAISoundID, + JGeometry::TVec3 const*, u32) = 0; + virtual void getMaxChannels() = 0; + virtual void deleteAudible(JAIAudible*) = 0; + virtual void calcPriority(JAIAudible*) = 0; + virtual void mixChannelOut(JASSoundParams const&, JAIAudible*, int) = 0; +}; + #endif /* JAIAUDIENCE_H */ diff --git a/include/JSystem/JAudio2/JAISeMgr.h b/include/JSystem/JAudio2/JAISeMgr.h index 3ca01b472e..c52af94cf7 100644 --- a/include/JSystem/JAudio2/JAISeMgr.h +++ b/include/JSystem/JAudio2/JAISeMgr.h @@ -1,6 +1,79 @@ #ifndef JAISEMGR_H #define JAISEMGR_H +#include "JSystem/JAudio2/JAIAudience.h" +#include "JSystem/JAudio2/JAISeqDataMgr.h" +#include "JSystem/JAudio2/JAISound.h" +#include "JSystem/JSupport/JSUList.h" #include "dolphin/types.h" +struct JASNonCopyable { + /* 0x0 */ int field_0x0; +}; // Size: 0x4 + +struct JAISeCategoryArrangement {}; + +class JAISeMgr; + +struct JAISe { + /* 8029F03C */ JAISe(JAISeMgr*, JAISoundStrategyMgr*, u32); + /* 8029F304 */ void JAISeCategoryMgr_mixOut_(bool, JASSoundParams const&, JAISoundActivity); + /* 8029F4CC */ void JAISeCategoryMgr_calc_(); + /* 8029F650 */ void JAISeMgr_startID_(JAISoundID, JGeometry::TVec3 const*, JAIAudience*); +}; + +class JAISeCategoryMgr : public JAISeqDataUser { +public: + /* 8029F9C4 */ void JAISeMgr_calc_(); + /* 8029FB30 */ void JAISeMgr_freeDeadSe_(); + /* 8029FC88 */ void JAISeMgr_acceptsNewSe_(u32) const; + /* 8029FD40 */ void sortByPriority_(); + /* 8029FDE0 */ void stop(u32); + /* 8029FE34 */ void stop(); + /* 8029FE78 */ void stopSoundID(JAISoundID); + /* 8029FEEC */ void pause(bool); + /* 8029FF18 */ void JAISeMgr_mixOut_(JAISoundParamsMove const&, JAISoundActivity); + /* 802A0994 */ JAISeCategoryMgr(); + + /* 800078DC */ virtual ~JAISeCategoryMgr() {} + /* 8029F8B0 */ virtual bool isUsingSeqData(JAISeqDataRegion const&); + /* 8029F91C */ virtual void releaseSeqData(JAISeqDataRegion const&); + + /* 0x04 */ JASNonCopyable field_0x4; + /* 0x08 */ JAISoundParamsMove mParams; + /* 0x58 */ JSUList mSeList; + /* 0x64 */ int mMaxInactiveSe; + /* 0x68 */ int mMaxActiveSe; +}; // Size: 0x6C + +class JAISeMgr : public JAISeqDataUser, public JAISoundActivity { +public: + /* 802A0074 */ JAISeMgr(bool); + /* 802A0268 */ void setCategoryArrangement(JAISeCategoryArrangement const&); + /* 802A02A0 */ void stop(); + /* 802A02F4 */ void stopSoundID(JAISoundID); + /* 802A0358 */ void initParams(); + /* 802A03D8 */ void setAudience(JAIAudience*); + /* 802A03E0 */ void setSeqDataMgr(JAISeqDataMgr*); + /* 802A0434 */ void resetSeqDataMgr(); + /* 802A0484 */ void newSe_(int, u32); + /* 802A0574 */ void calc(); + /* 802A0704 */ void mixOut(); + /* 802A0768 */ void startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3 const*); + /* 802A08D0 */ void getNumActiveSe() const; + + /* 802A08FC */ virtual ~JAISeMgr(); // inline? + /* 802A0168 */ virtual bool isUsingSeqData(JAISeqDataRegion const&); + /* 802A01D8 */ virtual void releaseSeqData(JAISeqDataRegion const&); + +private: + /* 0x008 */ JAIAudience* mAudience; + /* 0x00C */ JAISeqDataMgr* mSeqDataMgr; + /* 0x010 */ int field_0x10; + /* 0x014 */ JAISeCategoryMgr mCategoryMgrs[16]; + /* 0x6D4 */ JAISoundParamsMove mParams; +}; // Size: 0x724 + +STATIC_ASSERT(sizeof(JAISeMgr) == 0x724); + #endif /* JAISEMGR_H */ diff --git a/include/JSystem/JAudio2/JAISeqDataMgr.h b/include/JSystem/JAudio2/JAISeqDataMgr.h index 6347cdbbce..069e2875e2 100644 --- a/include/JSystem/JAudio2/JAISeqDataMgr.h +++ b/include/JSystem/JAudio2/JAISeqDataMgr.h @@ -1,6 +1,24 @@ #ifndef JAISEQDATAMGR_H #define JAISEQDATAMGR_H +#include "JSystem/JAudio2/JAISound.h" #include "dolphin/types.h" +struct JAISeqDataRegion {}; + +struct JAISeqData; + +struct JAISeqDataUser { + virtual ~JAISeqDataUser(); + virtual bool isUsingSeqData(JAISeqDataRegion const&) = 0; + virtual void releaseSeqData(JAISeqDataRegion const&) = 0; +}; + +struct JAISeqDataMgr { + virtual ~JAISeqDataMgr(); + virtual void getSeqData(JAISoundID, JAISeqData*) = 0; + virtual void releaseSeqData() = 0; + virtual void setSeqDataUser(JAISeqDataUser*) = 0; +}; + #endif /* JAISEQDATAMGR_H */ diff --git a/include/JSystem/JAudio2/JAISeqMgr.h b/include/JSystem/JAudio2/JAISeqMgr.h index 13803f3bf7..413fbf9634 100644 --- a/include/JSystem/JAudio2/JAISeqMgr.h +++ b/include/JSystem/JAudio2/JAISeqMgr.h @@ -1,6 +1,39 @@ #ifndef JAISEQMGR_H #define JAISEQMGR_H +#include "JSystem/JAudio2/JAIAudience.h" +#include "JSystem/JAudio2/JAISeqDataMgr.h" +#include "JSystem/JAudio2/JAISound.h" +#include "JSystem/JSupport/JSUList.h" #include "dolphin/types.h" +struct JAISeq; + +class JAISeqMgr : public JAISeqDataUser { +public: + /* 802A1914 */ JAISeqMgr(bool); + /* 802A1A08 */ void freeDeadSeq_(); + /* 802A1B48 */ void startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3 const*); + /* 802A1C90 */ void calc(); + /* 802A1DFC */ void stop(); + /* 802A1E3C */ void stop(u32); + /* 802A1E8C */ void stopSoundID(JAISoundID); + /* 802A1EFC */ void mixOut(); + /* 802A1F58 */ void beginStartSeq_(); + /* 802A1FE8 */ void endStartSeq_(JAISeq*, JAISoundHandle*); + + /* 802A20F0 */ virtual ~JAISeqMgr(); // inline? + /* 802A1804 */ virtual bool isUsingSeqData(JAISeqDataRegion const&); + /* 802A1870 */ virtual void releaseSeqData(JAISeqDataRegion const&); + +private: + /* 0x04 */ JAISoundActivity mActivity; + /* 0x08 */ void* field_0x8; + /* 0x0C */ JAIAudience* mAudience; + /* 0x10 */ JAISeqDataMgr* seqDataMgr_; + /* 0x14 */ JAISoundParamsMove mMove; + /* 0x64 */ JSUList mSeqList; + /* 0x70 */ int field_0x70; +}; // Size: 0x74 + #endif /* JAISEQMGR_H */ diff --git a/include/JSystem/JAudio2/JAISound.h b/include/JSystem/JAudio2/JAISound.h index 4a18bb1caa..e94ea2cf13 100644 --- a/include/JSystem/JAudio2/JAISound.h +++ b/include/JSystem/JAudio2/JAISound.h @@ -1,8 +1,10 @@ #ifndef JAISOUND_H #define JAISOUND_H +#include "JSystem/JAudio2/JAIAudience.h" +#include "JSystem/JAudio2/JAISoundHandles.h" +#include "JSystem/JAudio2/JAISoundParams.h" #include "JSystem/JGeometry.h" -#include "JSystem/JUtility/JUTAssert.h" #include "dolphin/types.h" #include "global.h" @@ -15,25 +17,12 @@ public: JAISoundID(JAISoundID const& other); + JAISoundID() {} + private: u32 mId; }; -struct JASSoundParams {}; - -struct JAISoundParams { - /* 802A2280 */ void mixOutAll(JASSoundParams const&, JASSoundParams*, f32); - - float field_0x0; - float field_0x4; - float field_0x8; - float field_0xc; - float field_0x10; - float field_0x14; - float field_0x18; - float field_0x1c; -}; - struct JASTrack { /* 80291444 */ void setChannelMgrCount(u32); /* 802919F4 */ void assignExtBuffer(u32, JASSoundParams*); @@ -42,6 +31,49 @@ struct JASTrack { /* 8029297C */ void readPort(u32); }; +struct JAISoundStatus_ { + /* 802A2220 */ s32 lockWhenPrepared(); + /* 802A2244 */ s32 unlockIfLocked(); + + void init() { + field_0x0 = 0; + field_0x1 = 0; + *((u16*)(this) + 2) = 0; + user_data = 0; + } + + /* 0x0 */ u8 field_0x0; + /* 0x1 */ u8 field_0x1; + /* 0x2 */ u8 state[2]; // debug accesses like "state.flags.calcedOnce" + /* 0x4 */ u32 user_data; +}; // Size: 0x6 + +struct JAISoundFader { + void forceIn() { + mIntensity = 1.0f; + field_0x4.zero(); + } + + /* 0x00 */ f32 mIntensity; + /* 0x04 */ JAISoundParamsTransition::TTransition field_0x4; +}; // Size: 0x10 + +template +struct JAISoundStrategyMgr {}; +/* JAISoundStrategyMgr */ +struct JAISoundStrategyMgr__template0 {}; +/* JAISoundStrategyMgr */ +struct JAISoundStrategyMgr__template1 {}; +/* JAISoundStrategyMgr */ +struct JAISoundStrategyMgr__template2 {}; + +class JAISoundActivity { +public: + void init() { field_0x0 = 0; } + + /* 0x0 */ u8 field_0x0; +}; + class JAISoundHandle; class JAIAudible; class JAIAudience; @@ -51,7 +83,7 @@ public: /* 802A21BC */ void attachHandle(JAISoundHandle*); /* 802A22F8 */ JAISound(); /* 802A2328 */ void start_JAISound_(JAISoundID, JGeometry::TVec3 const*, JAIAudience*); - /* 802A244C */ void acceptsNewAudible() const; + /* 802A244C */ bool acceptsNewAudible() const; /* 802A2474 */ void newAudible(JGeometry::TVec3 const&, JGeometry::TVec3 const*, u32, JAIAudience*); /* 802A2598 */ void stop(); @@ -64,124 +96,25 @@ public: /* 802A26B8 */ void calc_JAISound_(); /* 802A29DC */ void initTrack_JAISound_(JASTrack*); + virtual void getNumChild() = 0; + JAISoundID getID() const; - u32 getUserData() const { return user_data; } + u32 getUserData() const { return status_.user_data; } + bool isHandleAttached() const { return handle_ != NULL; } - // TODO: do proper struct later - void* __vt; - struct JAISoundHandle* handle; - struct JAIAudible* audible; - struct JAIAudience* audience; - s32 field_0xc; - s32 num_prepare_steps; - struct JAISoundID sound_id; - u8 field_0x18; - u8 field_0x19; - u8 field_0x1a; - u8 field_0x1b; - u32 user_data; - float field_0x20; - float field_0x24; - float field_0x28; - s32 field_0x2c; - s32 audience_priority; - s32 field_0x34; - struct JAISoundParams params; - u8 field_0x58; - u8 field_0x59; - u8 field_0x5a; - u8 field_0x5b; - u8 field_0x5c; - u8 field_0x5d; - u8 field_0x5e; - u8 field_0x5f; - u8 field_0x60; - u8 field_0x61; - u8 field_0x62; - u8 field_0x63; - u8 field_0x64; - u8 field_0x65; - u8 field_0x66; - u8 field_0x67; - u8 field_0x68; - u8 field_0x69; - u8 field_0x6a; - u8 field_0x6b; - u8 field_0x6c; - u8 field_0x6d; - u8 field_0x6e; - u8 field_0x6f; - u8 field_0x70; - u8 field_0x71; - u8 field_0x72; - u8 field_0x73; - u8 field_0x74; - u8 field_0x75; - u8 field_0x76; - u8 field_0x77; - u8 field_0x78; - u8 field_0x79; - u8 field_0x7a; - u8 field_0x7b; - u8 field_0x7c; - u8 field_0x7d; - u8 field_0x7e; - u8 field_0x7f; - u8 field_0x80; - u8 field_0x81; - u8 field_0x82; - u8 field_0x83; - u8 field_0x84; - u8 field_0x85; - u8 field_0x86; - u8 field_0x87; - u8 field_0x88; - u8 field_0x89; - u8 field_0x8a; - u8 field_0x8b; - u8 field_0x8c; - u8 field_0x8d; - u8 field_0x8e; - u8 field_0x8f; - u8 field_0x90; - u8 field_0x91; - u8 field_0x92; - u8 field_0x93; -}; + /* 0x04 */ JAISoundHandle* handle_; + /* 0x08 */ JAIAudible* audible_; + /* 0x0C */ JAIAudience* audience_; + /* 0x10 */ s32 lifeTime; + /* 0x14 */ s32 prepareCount; + /* 0x18 */ JAISoundID soundID; + /* 0x1C */ JAISoundStatus_ status_; + /* 0x24 */ JAISoundFader fader; + /* 0x34 */ s32 field_0x34; + /* 0x38 */ s32 mCount; + /* 0x3C */ JAISoundParams params; +}; // Size: 0x98 -class JAISoundHandle { -public: - JAISoundHandle(); // noninline in JAUClusterSound.cpp - ~JAISoundHandle(); - - bool isSoundAttached() const { return sound_ != NULL; } - - JAISound* operator->() const { - JUT_ASSERT("JAISound.h", 0x3a, sound_ != 0); - return sound_; - } - - operator bool() const { return isSoundAttached(); } - - void releaseSound(); - -private: - JAISound* sound_; // member from assert in operator->() -}; - -class JAISoundHandles { -public: - JAISoundHandles(JAISoundHandle* pHandle, int param_1) { - mSoundHandle = pHandle; - field_0x04 = param_1; - }; - - void getHandleSoundID(JAISoundID); - void getFreeHandle(); - -private: - JAISoundHandle* mSoundHandle; - int field_0x04; -}; +STATIC_ASSERT(sizeof(JAISound) == 0x98); #endif /* JAISOUND_H */ diff --git a/include/JSystem/JAudio2/JAISoundChild.h b/include/JSystem/JAudio2/JAISoundChild.h index aebc3e424c..257e89eb40 100644 --- a/include/JSystem/JAudio2/JAISoundChild.h +++ b/include/JSystem/JAudio2/JAISoundChild.h @@ -1,6 +1,17 @@ #ifndef JAISOUNDCHILD_H #define JAISOUNDCHILD_H +#include "JSystem/JAudio2/JAISoundParams.h" +#include "JSystem/JAudio2/JASTrack.h" #include "dolphin/types.h" +struct JAISoundChild { + /* 802A2AB0 */ void init(); + /* 802A2B28 */ void mixOut(JASTrack*); + /* 802A2B7C */ void calc(); + + /* 0x00 */ JAISoundParamsMove mMove; + /* 0x50 */ JASSoundParams mParams; +}; // Size: 0x64 + #endif /* JAISOUNDCHILD_H */ diff --git a/include/JSystem/JAudio2/JAISoundHandles.h b/include/JSystem/JAudio2/JAISoundHandles.h index eeca61ac99..850358facd 100644 --- a/include/JSystem/JAudio2/JAISoundHandles.h +++ b/include/JSystem/JAudio2/JAISoundHandles.h @@ -1,6 +1,47 @@ #ifndef JAISOUNDHANDLES_H #define JAISOUNDHANDLES_H +#include "JSystem/JAudio2/JAISound.h" +#include "JSystem/JUtility/JUTAssert.h" #include "dolphin/types.h" +class JAISound; +class JAISoundID; + +class JAISoundHandle { +public: + JAISoundHandle(); + ~JAISoundHandle() {} + + bool isSoundAttached() const { return sound_ != NULL; } + + JAISound* operator->() const { + JUT_ASSERT("JAISound.h", 58, sound_ != 0); + return sound_; + } + + operator bool() const { return isSoundAttached(); } + + void releaseSound(); + + JAISound* getSound() { return sound_; } + + JAISound* sound_; // member from assert in operator->() +}; + +class JAISoundHandles { +public: + JAISoundHandles(JAISoundHandle* pHandle, int param_1) { + *mSoundHandle = pHandle; + numHandles_ = param_1; + }; + + void getHandleSoundID(JAISoundID); + JAISoundHandle* getFreeHandle(); + +private: + JAISoundHandle** mSoundHandle; + int numHandles_; +}; + #endif /* JAISOUNDHANDLES_H */ diff --git a/include/JSystem/JAudio2/JAISoundParams.h b/include/JSystem/JAudio2/JAISoundParams.h index e049b61ccf..6984c0a912 100644 --- a/include/JSystem/JAudio2/JAISoundParams.h +++ b/include/JSystem/JAudio2/JAISoundParams.h @@ -1,6 +1,108 @@ #ifndef JAISOUNDPARAMS_H #define JAISOUNDPARAMS_H +#include "JSystem/JAudio2/JASSoundParams.h" #include "dolphin/types.h" +struct JAISoundParamsProperty { + void init() { + field_0x0 = 1.0f; + field_0x4 = 0.0f; + field_0x8 = 1.0f; + } + + /* 0x00 */ f32 field_0x0; + /* 0x04 */ f32 field_0x4; + /* 0x08 */ f32 field_0x8; +}; // Size: 0xC + +struct JAISoundParamsTransition { + struct TTransition { + void zero() { + field_0x0 = 0.0f; + mCount = 0; + field_0x4 = 0.0f; + } + + void set(f32 newValue, f32 param_1, u32 param_2) { + mCount = param_2; + field_0x0 = (newValue - param_1) / mCount; + field_0x4 = newValue; + } + + f32 apply(f32 param_0) { + if (mCount > 1) { + mCount--; + param_0 += field_0x0; + } else { + if (mCount == 1) { + mCount = 0; + param_0 = field_0x4; + } + } + return param_0; + } + + /* 0x0 */ f32 field_0x0; + /* 0x4 */ f32 field_0x4; + /* 0x8 */ u32 mCount; + }; // Size: 0xC + + void init() { + mVolume.zero(); + mPitch.zero(); + mFxMix.zero(); + mPan.zero(); + mDolby.zero(); + } + + void apply(JASSoundParams* pParams) { + pParams->mVolume = mVolume.apply(pParams->mVolume); + pParams->mPitch = mPitch.apply(pParams->mPitch); + pParams->mFxMix = mFxMix.apply(pParams->mFxMix); + pParams->mDolby = mDolby.apply(pParams->mDolby); + pParams->mPan = mPan.apply(pParams->mPan); + } + + /* 0x00 */ TTransition mVolume; + /* 0x0C */ TTransition mPitch; + /* 0x18 */ TTransition mFxMix; + /* 0x24 */ TTransition mPan; + /* 0x30 */ TTransition mDolby; +}; // Size: 0x3C + +struct JAISoundParamsMove { + JAISoundParamsMove() : mParams() {} + + void init() { + mParams.init(); + mTransition.init(); + } + + void calc() { mTransition.apply(&mParams); } + + /* 802A2DB4 */ void moveVolume(f32, u32); + /* 802A2E0C */ void movePitch(f32, u32); + /* 802A2E64 */ void moveFxMix(f32, u32); + /* 802A2EBC */ void movePan(f32, u32); + /* 802A2F14 */ void moveDolby(f32, u32); + + /* 0x00 */ JASSoundParams mParams; + /* 0x14 */ JAISoundParamsTransition mTransition; +}; // Size: 0x50 + +struct JAISoundParams { + JAISoundParams() : mMove() {} + void mixOutAll(JASSoundParams const&, JASSoundParams*, f32); + + void init() { + mMove.init(); + mProperty.init(); + } + + /* 0x0 */ JAISoundParamsProperty mProperty; + /* 0xC */ JAISoundParamsMove mMove; +}; // Size: 0x5C +// OG Size: 0x20 + #endif /* JAISOUNDPARAMS_H */ diff --git a/include/JSystem/JAudio2/JAIStreamDataMgr.h b/include/JSystem/JAudio2/JAIStreamDataMgr.h index 2f8dee08f9..c3945508c7 100644 --- a/include/JSystem/JAudio2/JAIStreamDataMgr.h +++ b/include/JSystem/JAudio2/JAIStreamDataMgr.h @@ -1,6 +1,18 @@ #ifndef JAISTREAMDATAMGR_H #define JAISTREAMDATAMGR_H +#include "JSystem/JAudio2/JAISound.h" #include "dolphin/types.h" +struct JAIStreamDataMgr { + virtual void getStreamFileEntry(JAISoundID) = 0; + virtual ~JAIStreamDataMgr(); +}; + +struct JAIStreamAramMgr { + virtual void newStreamAram(u32*) = 0; + virtual void deleteStreamAram(u32) = 0; + virtual ~JAIStreamAramMgr(); +}; + #endif /* JAISTREAMDATAMGR_H */ diff --git a/include/JSystem/JAudio2/JAIStreamMgr.h b/include/JSystem/JAudio2/JAIStreamMgr.h index 23f0446128..b775ccc3ed 100644 --- a/include/JSystem/JAudio2/JAIStreamMgr.h +++ b/include/JSystem/JAudio2/JAIStreamMgr.h @@ -1,6 +1,41 @@ #ifndef JAISTREAMMGR_H #define JAISTREAMMGR_H +#include "JSystem/JAudio2/JAISound.h" +#include "JSystem/JSupport/JSUList.h" #include "dolphin/types.h" +class JAIStreamMgr; + +struct JAIStream { + /* 802A3104 */ JAIStream(JAIStreamMgr*, JAISoundStrategyMgr*); + /* 802A319C */ void JAIStreamMgr_startID_(JAISoundID, s32, JGeometry::TVec3 const*, + JAIAudience*, int); + /* 802A34E4 */ void JAIStreamMgr_mixOut_(JASSoundParams const&, JAISoundActivity); + /* 802A388C */ void JAIStreamMgr_calc_(); +}; + +class JAIStreamMgr { +public: + /* 802A3B68 */ JAIStreamMgr(bool); + /* 802A3C3C */ void startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3 const*); + /* 802A3D70 */ void freeDeadStream_(); + /* 802A3EBC */ void calc(); + /* 802A4028 */ void stop(); + /* 802A4068 */ void stop(u32); + /* 802A40B8 */ void stopSoundID(JAISoundID); + /* 802A4118 */ void mixOut(); + /* 802A4174 */ void newStream_(); + /* 802B9978 */ void isActive() const; + +private: + /* 0x00 */ JAISoundActivity mActivity; + /* 0x04 */ JAISoundParamsMove mParams; + /* 0x54 */ int field_0x54; + /* 0x58 */ JSUList mStreamList; + /* 0x64 */ int field_0x64; + /* 0x68 */ int field_0x68; + /* 0x6C */ int field_0x6c; +}; // Size: 0x70 + #endif /* JAISTREAMMGR_H */ diff --git a/include/JSystem/JAudio2/JASAudioReseter.h b/include/JSystem/JAudio2/JASAudioReseter.h index c842115b09..25e6af4a33 100644 --- a/include/JSystem/JAudio2/JASAudioReseter.h +++ b/include/JSystem/JAudio2/JASAudioReseter.h @@ -1,16 +1,17 @@ #ifndef JASAUDIORESETER_H #define JASAUDIORESETER_H +#include "JSystem/JAudio2/JASDriverIF.h" #include "dolphin/types.h" struct JASAudioReseter { /* 8029D0B4 */ JASAudioReseter(); /* 8029D0FC */ ~JASAudioReseter(); - /* 8029D138 */ void start(u32, bool); + /* 8029D138 */ bool start(u32, bool); /* 8029D1D4 */ void resume(); - /* 8029D1F8 */ void checkDone() const; - /* 8029D200 */ void calc(); - /* 8029D2D4 */ void callback(void*); + /* 8029D1F8 */ s32 checkDone() const; + /* 8029D200 */ static s32 calc(); + /* 8029D2D4 */ static s32 callback(void*); /* 0x0 */ u32 field_0x0; /* 0x4 */ f32 mDSPLevel; diff --git a/include/JSystem/JAudio2/JASDriverIF.h b/include/JSystem/JAudio2/JASDriverIF.h index d628a7c0cb..af133f6967 100644 --- a/include/JSystem/JAudio2/JASDriverIF.h +++ b/include/JSystem/JAudio2/JASDriverIF.h @@ -3,4 +3,28 @@ #include "dolphin/types.h" +typedef s32 (*DriverCallback)(void*); + +struct JASDriver { + /* 8029E130 */ static void setDSPLevel(f32); + /* 8029E150 */ u16 getChannelLevel_dsp(); + /* 8029E158 */ static f32 getDSPLevel(); + /* 8029E178 */ static void setOutputMode(u32); + /* 8029E180 */ u32 getOutputMode(); + /* 8029E188 */ void waitSubFrame(); + /* 8029E1C4 */ void rejectCallback(DriverCallback, void*); + /* 8029E240 */ static bool registerDspSyncCallback(DriverCallback, void*); + /* 8029E274 */ static bool registerSubFrameCallback(DriverCallback, void*); + /* 8029E2A8 */ void subframeCallback(); + /* 8029E2D0 */ void DSPSyncCallback(); + /* 8029E2F8 */ void updateDacCallback(); + /* 8029C9F0 */ static u32 getSubFrames(); + + static u8 sDspSyncCallback[256]; + static u8 sSubFrameCallback[256]; + static u8 sUpdateDacCallback[256 + 8 /* padding */]; + static u16 MAX_MIXERLEVEL[1 + 1 /* padding */]; + static u32 JAS_SYSTEM_OUTPUT_MODE; +}; + #endif /* JASDRIVERIF_H */ diff --git a/include/JSystem/JAudio2/JASSoundParams.h b/include/JSystem/JAudio2/JASSoundParams.h index 42d306244a..353148452b 100644 --- a/include/JSystem/JAudio2/JASSoundParams.h +++ b/include/JSystem/JAudio2/JASSoundParams.h @@ -3,4 +3,30 @@ #include "dolphin/types.h" +struct JASSoundParams { + /* 8029E3B0 */ void clamp(); + /* 8029E47C */ void combine(JASSoundParams const&, JASSoundParams const&); + + void initVolume() { mVolume = 1.0f; } + void initFxMix() { mFxMix = 0.0f; } + void initPitch() { mPitch = 1.0f; } + void initPan() { mPan = 0.5f; } + void initDolby() { mDolby = 0.0f; } + void init() { + initVolume(); + initPitch(); + initFxMix(); + initPan(); + initDolby(); + } + + JASSoundParams() { init(); } + + /* 0x00 */ f32 mVolume; + /* 0x04 */ f32 mFxMix; + /* 0x08 */ f32 mPitch; + /* 0x0C */ f32 mPan; + /* 0x10 */ f32 mDolby; +}; // Size: 0x14 + #endif /* JASSOUNDPARAMS_H */ diff --git a/include/JSystem/JAudio2/JASTrack.h b/include/JSystem/JAudio2/JASTrack.h index c5989360e7..fa9422ac6f 100644 --- a/include/JSystem/JAudio2/JASTrack.h +++ b/include/JSystem/JAudio2/JASTrack.h @@ -1,6 +1,111 @@ #ifndef JASTRACK_H #define JASTRACK_H +#include "JSystem/JAudio2/JASSoundParams.h" #include "dolphin/types.h" +struct JASDsp { + struct TChannel { + /* 8029E00C */ void setFilterMode(u16); + /* 8029E044 */ void setIIRFilterParam(s16*); + /* 8029E06C */ void setFIR8FilterParam(s16*); + }; + + static u32 FILTER_MODE_IIR; +}; + +struct JASOscillator { + struct Point {}; + + struct Data {}; +}; + +struct JASChannel { + /* 8029AAD0 */ void release(u16); + /* 8029AB64 */ void setOscInit(u32, JASOscillator::Data const*); + /* 8029AB98 */ void setMixConfig(u32, u16); + /* 8029ACD4 */ void setKeySweepTarget(s32, u32); + /* 8029BBFC */ void free(); +}; + +struct JASTrack { + struct TChannelMgr { + /* 802930DC */ TChannelMgr(JASTrack*); + /* 80293148 */ void init(); + /* 802931B0 */ void releaseAll(); + /* 80293220 */ void noteOff(u32, u16); + /* 802932A0 */ void setPauseFlag(bool); + }; + + struct TList { + /* 80292F6C */ void cbSeqMain(void*); + /* 80292F90 */ void append(JASTrack*); + /* 8029301C */ void seqMain(); + /* 8029345C */ ~TList(); + }; + + struct MoveParam_ { + /* 802932C8 */ MoveParam_(); + }; + + /* 80291228 */ JASTrack(); + /* 8029131C */ ~JASTrack(); + /* 80291444 */ void setChannelMgrCount(u32); + /* 802915D4 */ void init(); + /* 802918FC */ void initTimed(); + /* 8029194C */ void inherit(JASTrack const&); + /* 802919F4 */ void assignExtBuffer(u32, JASSoundParams*); + /* 80291A08 */ void setSeqData(void*, u32); + /* 80291A28 */ void startSeq(); + /* 80291A78 */ void stopSeq(); + /* 80291ABC */ void start(); + /* 80291AC8 */ void close(); + /* 80291B8C */ void connectChild(u32, JASTrack*); + /* 80291BB8 */ void closeChild(u32); + /* 80291C30 */ void openChild(u32); + /* 80291DAC */ void connectBus(int, int); + /* 80291DBC */ void setLatestKey(u8); + /* 80291DF8 */ void channelStart(JASTrack::TChannelMgr*, u32, u32, u32); + /* 80291F38 */ void noteOn(u32, u32, u32); + /* 80292008 */ void gateOn(u32, u32, f32, u32); + /* 80292198 */ void noteOff(u32, u16); + /* 80292220 */ void checkNoteStop(u32) const; + /* 8029226C */ void overwriteOsc(JASChannel*); + /* 802922D8 */ void updateTimedParam(); + /* 80292348 */ void updateTrack(f32); + /* 802924E4 */ void updateTempo(); + /* 80292580 */ void updateSeq(bool, f32); + /* 80292644 */ void seqTimeToDspTime(f32); + /* 802926E0 */ void setParam(u32, f32, u32); + /* 80292708 */ void noteOffAll(u16); + /* 802927A0 */ void mute(bool); + /* 802927D8 */ void setOscScale(u32, f32); + /* 802927E8 */ void setOscTable(u32, JASOscillator::Point const*); + /* 80292808 */ void setOscAdsr(s16, s16, s16, s16, u16); + /* 8029285C */ void setFIR(s16 const*); + /* 8029289C */ void setIIR(s16 const*); + /* 802928D0 */ void readPortSelf(u32); + /* 802928F4 */ void writePortSelf(u32, u16); + /* 80292918 */ void writePort(u32, u16); + /* 8029297C */ void readPort(u32); + /* 802929A0 */ void setChannelPauseFlag(bool); + /* 80292A3C */ void pause(bool); + /* 80292AA4 */ void getTransposeTotal() const; + /* 80292AF4 */ void isMute() const; + /* 80292B58 */ void setTempo(u16); + /* 80292B8C */ void setTempoRate(f32); + /* 80292BC0 */ void setTimebase(u16); + /* 80292BF4 */ void updateChannel(JASChannel*, JASDsp::TChannel*); + /* 80292CA4 */ void channelUpdateCallback(u32, JASChannel*, JASDsp::TChannel*, void*); + /* 80292D88 */ void getRootTrack(); + /* 80292DA0 */ void tickProc(); + /* 80292E9C */ void seqMain(); + + static u8 const sAdsTable[24]; + static u8 const sEnvOsc[24]; + static u8 const sPitchEnvOsc[24]; + static u8 sDefaultBankTable[1036]; + static u8 sTrackList[16]; +}; + #endif /* JASTRACK_H */ diff --git a/include/Z2AudioLib/Z2Audience.h b/include/Z2AudioLib/Z2Audience.h index 18a516e997..d3ea344af8 100644 --- a/include/Z2AudioLib/Z2Audience.h +++ b/include/Z2AudioLib/Z2Audience.h @@ -1,6 +1,140 @@ #ifndef Z2AUDIENCE_H #define Z2AUDIENCE_H +#include "JSystem/JAudio2/JAIAudience.h" +#include "JSystem/JGeometry.h" +#include "dolphin/mtx/mtxvec.h" #include "dolphin/types.h" +struct Z2Audible; + +struct Z2AudioCamera { + /* 802BC758 */ Z2AudioCamera(); + /* 802BC788 */ void init(); + /* 802BC8AC */ void setCameraState(f32 (*)[4], Vec&, Vec&, f32, f32, bool, bool); + /* 802BC7DC */ void setCameraState(f32 const (*)[4], Vec&, bool); + /* 802BCBEC */ void convertAbsToRel(Z2Audible*, int); + /* 802BCC7C */ void convertAbsToRel(Vec&, Vec*) const; + /* 802BCCC0 */ void isInSight(Vec&) const; + + /* 0x00 */ u8 field_0x0[0x30]; // set up JGeometry::TPosition3 + /* 0x30 */ JGeometry::TVec3 mVel; + /* 0x3C */ JGeometry::TVec3 mPos; + /* 0x48 */ JGeometry::TVec3 field_0x48; + /* 0x54 */ f32 mFovySin; + /* 0x58 */ f32 mVolCenterZ; + /* 0x5C */ f32 mTargetVolume; + /* 0x60 */ f32 mDolbyCenterZ; + /* 0x64 */ f32 mCamDist; + /* 0x68 */ f32 field_0x68; + /* 0x6C */ f32 field_0x6c; + /* 0x70 */ bool mSetMainCamera; +}; // Size: 0x74 + +struct Z2SpotMic { + /* 802BCD28 */ Z2SpotMic(); + /* 802BCDA8 */ void clearMicState(int); + /* 802BCDE8 */ void calcVolumeFactor(int); + /* 802BCE14 */ void setMicState(Z2AudioCamera*, int); + /* 802BCF5C */ void calcMicDist(Z2Audible*); + /* 802BCFE4 */ void calcMicPriority(f32); + /* 802BD03C */ void calcMicVolume(f32, int, f32); + + /* 0x00 */ f32 field_0x0; + /* 0x04 */ f32 field_0x4; + /* 0x08 */ f32 field_0x8; + /* 0x0C */ f32 field_0xc; + /* 0x10 */ int field_0x10[1]; + /* 0x14 */ Vec* mPosPtr; + /* 0x18 */ f32 field_0x18[1]; + /* 0x1C */ f32 field_0x1c; + /* 0x20 */ f32 field_0x20[1]; + /* 0x24 */ bool mIgnoreIfOut; + /* 0x25 */ bool mMicOn; + /* 0x26 */ u8 field_0x26[1]; +}; // Size: 0x28 + +struct Z2Audience3DSetting { + /* 802BC248 */ Z2Audience3DSetting(); + /* 802BC284 */ void init(); + /* 802BC308 */ void initVolumeDist(); + /* 802BC4D0 */ void updateVolumeDist(f32); + /* 802BC6A4 */ void initDolbyDist(); + /* 802BC6F8 */ void updateDolbyDist(f32, f32); + + /* 0x000 */ f32 field_0x0; + /* 0x004 */ f32 field_0x4; + /* 0x008 */ f32 field_0x8; + /* 0x00C */ f32 field_0xc; + /* 0x010 */ f32 field_0x10; + /* 0x014 */ f32 field_0x14; + /* 0x018 */ f32 field_0x18; + /* 0x01C */ f32 field_0x1c; + /* 0x020 */ f32 field_0x20; + /* 0x024 */ f32 field_0x24; + /* 0x028 */ f32 field_0x28; + /* 0x02C */ f32 field_0x2c; + /* 0x030 */ f32 field_0x30; + /* 0x034 */ f32 field_0x34; + /* 0x038 */ f32 field_0x38; + /* 0x03C */ f32 field_0x3c; + /* 0x040 */ f32 field_0x40; + /* 0x044 */ f32 field_0x44; + /* 0x048 */ f32 field_0x48; + /* 0x04C */ f32 field_0x4c; + /* 0x050 */ f32 field_0x50; + /* 0x054 */ f32 field_0x54; + /* 0x058 */ f32 field_0x58; + /* 0x05C */ f32 field_0x5c; + /* 0x060 */ f32 field_0x60; + /* 0x064 */ int field_0x64; + /* 0x068 */ f32 field_0x68; + /* 0x06C */ f32 field_0x6c; + /* 0x070 */ f32 field_0x70[15]; + /* 0x0AC */ f32 field_0xac[15]; + /* 0x0E8 */ f32 field_0xe8[15]; + /* 0x124 */ bool mVolumeDistInit; + /* 0x125 */ bool mDolbyDistInit; +}; // Size: 0x128 + +struct Z2AudibleChannel { + /* 802BBE74 */ Z2AudibleChannel(); +}; + +struct Z2Audience : public JAIAudience { + /* 802BD130 */ Z2Audience(); + /* 802BD2DC */ void setAudioCamera(f32 (*)[4], Vec&, Vec&, f32, f32, bool, int, bool); + /* 802BD704 */ void calcOffMicSound(f32); + /* 802BD90C */ void setTargetVolume(f32, int); + /* 802BD92C */ void convertAbsToRel(Vec&, Vec*, int); + /* 802BD95C */ void calcRelPosVolume(Vec const&, f32, int); + /* 802BDA44 */ void calcRelPosPan(Vec const&, int); + /* 802BDB44 */ void calcRelPosDolby(Vec const&, int); + /* 802BDBDC */ void calcVolume_(f32, int) const; + /* 802BDC44 */ void calcDeltaPriority_(f32, int, bool) const; + /* 802BDCB0 */ void calcPitchDoppler_(JGeometry::TVec3 const&, + JGeometry::TVec3 const&, + JGeometry::TVec3 const&, f32) const; + /* 802BDD00 */ void calcFxMix_(f32, int) const; + /* 802BDD48 */ void calcPitch_(Z2AudibleChannel*, Z2Audible const*, Z2AudioCamera const*) const; + + /* 802BD1FC */ virtual ~Z2Audience(); + /* 802BD338 */ virtual JAIAudible* newAudible(JGeometry::TVec3 const&, JAISoundID, + JGeometry::TVec3 const*, u32); + /* 802BDED4 */ virtual void getMaxChannels(); + /* 802BD4D4 */ virtual void deleteAudible(JAIAudible*); + /* 802BD5B8 */ virtual void calcPriority(JAIAudible*); + /* 802BD71C */ virtual void mixChannelOut(JASSoundParams const&, JAIAudible*, int); + + /* 0x004 */ f32 field_0x4; + /* 0x008 */ u8 field_0x8; + /* 0x00C */ Z2Audience3DSetting mSetting; + /* 0x134 */ Z2AudioCamera mAudioCamera[1]; + /* 0x1A8 */ Z2SpotMic mSpotMic[1]; + /* 0x1D0 */ Z2SpotMic* mLinkMic; + /* 0x1D4 */ s32 mNumPlayers; + /* 0x1D8 */ u8 field_0x1d8[4]; + /* 0x1DC */ bool mUsingOffMicVol; +}; // Size: 0x1E0 + #endif /* Z2AUDIENCE_H */ diff --git a/include/Z2AudioLib/Z2AudioMgr.h b/include/Z2AudioLib/Z2AudioMgr.h index f804cd58d1..99796c8e01 100644 --- a/include/Z2AudioLib/Z2AudioMgr.h +++ b/include/Z2AudioLib/Z2AudioMgr.h @@ -5,41 +5,56 @@ #include "JSystem/JAudio2/JASAudioReseter.h" #include "JSystem/JKernel/JKRArchive.h" #include "JSystem/JKernel/JKRSolidHeap.h" +#include "Z2AudioLib/Z2Audience.h" +#include "Z2AudioLib/Z2FxLineMgr.h" #include "Z2AudioLib/Z2SceneMgr.h" #include "Z2AudioLib/Z2SeMgr.h" #include "Z2AudioLib/Z2SeqMgr.h" +#include "Z2AudioLib/Z2SoundMgr.h" #include "Z2AudioLib/Z2SoundObjMgr.h" #include "Z2AudioLib/Z2SoundStarter.h" +#include "Z2AudioLib/Z2SpeechMgr2.h" #include "Z2AudioLib/Z2StatusMgr.h" #include "dolphin/types.h" class Z2AudioMgr { public: Z2AudioMgr(); + ~Z2AudioMgr() {} void init(JKRSolidHeap*, u32, void*, JKRArchive*); void setOutputMode(u32); void zeldaGFrameWork(); void gframeProcess(); void resetProcess(u32, bool); void resetRecover(); - void hasReset() const; - void startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3 const*); + bool hasReset() const; + + static Z2AudioMgr* getInterface() { return mAudioMgrPtr; } static Z2AudioMgr* mAudioMgrPtr; -private: /* 0x0000 */ Z2SeMgr mSeMgr; /* 0x03D0 */ Z2SeqMgr mSeqMgr; /* 0x04A4 */ Z2SceneMgr mSceneMgr; /* 0x04C4 */ Z2StatusMgr mStatusMgr; /* 0x04F4 */ Z2SoundObjMgr mSoundObjMgr; + + /* 0x0514 */ /* virtual */ void startSound(JAISoundID, JAISoundHandle*, + JGeometry::TVec3 const*); + /* 0x0514 */ void* vtable; // remove later + + /* 0x0518 */ bool mResettingFlag; + /* 0x0519 */ bool field_0x519; /* 0x051C */ JASAudioReseter mAudioReseter; /* 0x052C */ Z2SoundStarter mSoundStarter; - /* 0x0530 */ // Z2SoundMgr mSoundMgr; - /* 0x0D40 */ // JAISoundInfo mSoundInfo; - /* 0x0D4C */ // Z2Audience mAudience; - /* 0x0F2C */ // Z2SpeechMgr2 mSpeechMgr; - /* 0x1370 */ // Z2FxLineMgr mFxLineMgr; -}; + /* 0x0530 */ Z2SoundMgr mSoundMgr; + /* 0x0D40 */ // Z2SoundInfo mSoundInfo; + /* 0x0D40 */ void* mSoundInfo[3]; // remove later + /* 0x0D4C */ Z2Audience mAudience; + /* 0x0F2C */ Z2SpeechMgr2 mSpeechMgr; + /* 0x1370 */ Z2FxLineMgr mFxLineMgr; +}; // Size: 0x138C + +STATIC_ASSERT(sizeof(Z2AudioMgr) == 0x138C); #endif /* Z2AUDIOMGR_H */ diff --git a/include/Z2AudioLib/Z2Creature.h b/include/Z2AudioLib/Z2Creature.h index 3cea0e6b23..7c9ab52d08 100644 --- a/include/Z2AudioLib/Z2Creature.h +++ b/include/Z2AudioLib/Z2Creature.h @@ -35,16 +35,16 @@ private: }; struct Z2LinkSoundStarter : public Z2SoundStarter { - Z2LinkSoundStarter(void); - ~Z2LinkSoundStarter(); - /* 802C4928 */ void startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3 const*, u32, - f32, f32, f32, f32, f32, u32); + Z2LinkSoundStarter(); + + virtual ~Z2LinkSoundStarter(); + virtual void startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3 const*, u32, f32, + f32, f32, f32, f32, u32); }; -#pragma pack(push, 1) class Z2CreatureLink : public Z2Creature { public: - Z2CreatureLink(void); + Z2CreatureLink(); ~Z2CreatureLink(); void setLinkState(u8); @@ -76,43 +76,51 @@ public: private: /* 0x90 */ Z2LinkSoundStarter mLinkSoundStarter; - /* 0x94 */ Z2SoundObjSimple mSoundObjSimple; + /* 0x94 */ Z2SoundObjSimple mKantera; /* 0xB4 */ cXyz field_0xb4; /* 0xC0 */ u8 mLinkState; - /* 0xC1 */ u8 unk193; - /* 0xC2 */ u8 unk194; + /* 0xC1 */ u8 field_0xc1; + /* 0xC2 */ u8 mMarkState; /* 0xC3 */ u8 mLinkHp; - /* 0xC4 */ u8 mBootsType; - /* 0xC5 */ u8 mLanternState; - /* 0xC6 */ u8 unk198; - /* 0xC7 */ u8 unk199; - /* 0xC8 */ u8 unk200; - /* 0xC9 */ u8 unk201; - /* 0xCA */ u8 mSinkDepth; - /* 0xCB */ u8 flags1; - /* 0xCC */ u8 flags2; -}; -#pragma pack(pop) + /* 0xC4 */ u8 mLinkBootsType; + /* 0xC5 */ u8 mKanteraState; + /* 0xC6 */ u8 mLinkSwordType; + /* 0xC7 */ u8 mLinkShieldType; + /* 0xC8 */ u8 mMoveSpeed; + /* 0xC9 */ u8 mMovingTime; + /* 0xCA */ s8 mSinkDepth; + /* 0xCB */ u8 mFlags; + /* 0xCC */ u8 mFlags2; +}; // Size: 0xD0 -class Z2CreatureRide { +class Z2CreatureRide; +struct Z2RideSoundStarter : public Z2SoundStarter { + /* 802C5234 */ Z2RideSoundStarter(Z2CreatureRide*); + + /* 802C5078 */ virtual ~Z2RideSoundStarter(); + /* 802C5284 */ virtual void startSound(JAISoundID, JAISoundHandle*, + JGeometry::TVec3 const*, u32, f32, f32, f32, f32, + f32, u32); + + /* 0x4 */ Z2CreatureRide* mRide; +}; + +class Z2CreatureRide : public Z2Creature { public: Z2CreatureRide(); ~Z2CreatureRide(); - void deleteObject(); void init(Vec*, Vec*, u8, u8); void setLinkRiding(bool); + virtual void deleteObject(); + private: - /* 0x00 */ void* vtable; - /* 0x04 */ u8 Z2Creature_members[140]; - /* 0x90 */ u8 Z2RideSoundStarter[8]; + /* 0x90 */ Z2RideSoundStarter mSoundStarter; /* 0x98 */ bool mLinkRiding; - /* 0x99 */ u8 padding[3]; -}; +}; // Size: 0x9C class Z2CreatureEnemy : public Z2Creature { public: - virtual void test(); // temp to build OK, remove later /* 802C0F64 */ Z2CreatureEnemy(); /* 802C0FC4 */ virtual void deleteObject(); /* 802C1094 */ void init(Vec*, Vec*, u8, u8); diff --git a/include/Z2AudioLib/Z2FxLineMgr.h b/include/Z2AudioLib/Z2FxLineMgr.h index 715541e851..7a25054dce 100644 --- a/include/Z2AudioLib/Z2FxLineMgr.h +++ b/include/Z2AudioLib/Z2FxLineMgr.h @@ -1,6 +1,29 @@ #ifndef Z2FXLINEMGR_H #define Z2FXLINEMGR_H +#include "JSystem/JKernel/JKRArchive.h" +#include "JSystem/JKernel/JKRHeap.h" #include "dolphin/types.h" +struct Z2FxLineEditNode {}; + +struct Z2FxLineConfig {}; + +struct Z2FxLineMgr { + /* 802BA7DC */ Z2FxLineMgr(); + /* 802BA7FC */ void initDataArc(JKRArchive*, JKRHeap*); + /* 802BAC28 */ void setLineID(s8, bool, bool); + /* 802BAC74 */ void setLine(Z2FxLineConfig*, bool, bool); + /* 802BAE1C */ void setFxForceOff(bool); + /* 802BAE48 */ void setUnderWaterFx(bool); + /* 802BAEB8 */ void setSceneFx(s32); + + /* 0x00 */ int field_0x0; + /* 0x04 */ void* mFxLineBuffer[4]; + /* 0x14 */ s8 mLineID; + /* 0x15 */ s8 mFxDataNum; + /* 0x16 */ bool mSetUnderWaterFx; + /* 0x18 */ Z2FxLineEditNode* mHIOEdit; +}; // Size: 0x1C + #endif /* Z2FXLINEMGR_H */ diff --git a/include/Z2AudioLib/Z2Param.h b/include/Z2AudioLib/Z2Param.h index 6254b09880..819c825092 100644 --- a/include/Z2AudioLib/Z2Param.h +++ b/include/Z2AudioLib/Z2Param.h @@ -3,4 +3,43 @@ #include "dolphin/types.h" +struct Z2Param { + static f32 DISTANCE_MAX; + static f32 MAX_VOLUME_DISTANCE; + static f32 DOLBY_CENTER_VALUE; + static f32 DOLBY_FLONT_DISTANCE_MAX; + static f32 DOLBY_BEHIND_DISTANCE_MAX; + static f32 DISTANCE_FX_PARAM; + static f32 SONIC_SPEED; + static f32 VOL_BGM_DEFAULT; + static f32 VOL_SE_SYSTEM_DEFAULT; + static f32 VOL_SE_LINK_VOICE_DEFAULT; + static f32 VOL_SE_LINK_MOTION_DEFAULT; + static f32 VOL_SE_LINK_FOOTNOTE_DEFAULT; + static f32 VOL_SE_CHAR_VOICE_DEFAULT; + static f32 VOL_SE_CHAR_MOVE_DEFAULT; + static f32 VOL_SE_OBJECT_DEFAULT; + static f32 VOL_SE_ATMOSPHERE_DEFAULT; + static f32 VOL_BGM_TALKING; + static f32 VOL_SE_SYSTEM_TALKING; + static f32 VOL_SE_LINK_VOICE_TALKING; + static f32 VOL_SE_LINK_MOTION_TALKING; + static f32 VOL_SE_LINK_FOOTNOTE_TALKING; + static f32 VOL_SE_CHAR_VOICE_TALKING; + static f32 VOL_SE_CHAR_MOVE_TALKING; + static f32 VOL_SE_OBJECT_TALKING; + static f32 VOL_SE_ATMOSPHERE_TALKING; + static f32 VOL_BGM_PAUSING; + static f32 VOL_SE_SYSTEM_PAUSING; + static f32 VOL_SE_LINK_VOICE_PAUSING; + static f32 VOL_SE_LINK_MOTION_PAUSING; + static f32 VOL_SE_LINK_FOOTNOTE_PAUSING; + static f32 VOL_SE_CHAR_VOICE_PAUSING; + static f32 VOL_SE_CHAR_MOVE_PAUSING; + static f32 VOL_SE_OBJECT_PAUSING; + static f32 VOL_SE_ATMOSPHERE_PAUSING; + static f32 MIN_DISTANCE_VOLUME; + static f32 ENEMY_LASTHIT_MUTE_VOLUME; +}; + #endif /* Z2PARAM_H */ diff --git a/include/Z2AudioLib/Z2SeMgr.h b/include/Z2AudioLib/Z2SeMgr.h index d6deefe87e..82508e1f97 100644 --- a/include/Z2AudioLib/Z2SeMgr.h +++ b/include/Z2AudioLib/Z2SeMgr.h @@ -24,7 +24,7 @@ struct Z2MultiSeMgr { struct Z2MultiSeObj : Z2MultiSeMgr { Z2MultiSeObj(); - ~Z2MultiSeObj(); + ~Z2MultiSeObj() {} /* 0x1C */ u32 field_0x1c; /* 0x20 */ u8 field_0x20; @@ -52,6 +52,7 @@ public: /* 802AE184 */ void processSeFramework(); /* 802AE524 */ void isLevelSe(JAISoundID); /* 802AE5B0 */ void isSoundCulling(JAISoundID); + /* 802B9AC4 */ void resetCrowdSize(); private: /* 0x000 */ JAISoundHandle mSoundHandle[24]; diff --git a/include/Z2AudioLib/Z2SeqMgr.h b/include/Z2AudioLib/Z2SeqMgr.h index d65c048ec0..135b9d6968 100644 --- a/include/Z2AudioLib/Z2SeqMgr.h +++ b/include/Z2AudioLib/Z2SeqMgr.h @@ -12,8 +12,13 @@ struct TTransition { }; // Size = 0xC struct Z2SoundFader { + void move(f32 vol, u32 count) { + mIntensity = vol; + mTransition.zero(); + } + /* 0x0 */ float mIntensity; - /* 0x4 */ TTransition mTransition; + /* 0x4 */ JAISoundParamsTransition::TTransition mTransition; }; // Size = 0x10 class Z2SeqMgr { @@ -67,6 +72,21 @@ public: void taktModeMute(); void taktModeMuteOff(); void setFieldBgmPlay(bool); + /* 802B99AC */ void unMuteSceneBgm(u32); + /* 802B9A24 */ void muteSceneBgm(u32, f32); + /* 802B9AD0 */ void setTwilightGateVol(f32); + /* 802B9AFC */ void setWindStoneVol(f32, u32); + + void i_setTwilightGateVol(f32 vol) { mTwilightGateVol = vol; } + + void i_setWindStoneVol(f32 vol, u32 count) { field_0x94.move(vol, count); } + + void i_bgmAllUnMute(u32 count) { field_0x74.move(1.0f, count); } + + void i_unMuteSceneBgm(u32 count) { + field_0x34.move(1.0f, 0); + field_0x44.move(1.0f, count); + } private: /* 0x00 */ JAISoundHandle mMainBgmHandle; @@ -84,7 +104,7 @@ private: /* 0x84 */ Z2SoundFader field_0x84; /* 0x94 */ Z2SoundFader field_0x94; /* 0xA4 */ Z2SoundFader field_0xa4; - /* 0xB4 */ float mTwilightGateVolume; + /* 0xB4 */ f32 mTwilightGateVol; /* 0xB8 */ u16 field_0xb8; /* 0xBA */ u8 field_0xba; /* 0xBB */ u8 field_0xbb; @@ -97,8 +117,8 @@ private: /* 0xC2 */ u8 field_0xc2; /* 0xC3 */ u8 field_0xc3; /* 0xC4 */ u8 field_0xc4; - /* 0xC8 */ float field_0xc8; - /* 0xCC */ float field_0xcc; + /* 0xC8 */ f32 field_0xc8; + /* 0xCC */ f32 field_0xcc; /* 0xD0 */ u8 mFlags; }; // Size = 0xD4 diff --git a/include/Z2AudioLib/Z2SoundInfo.h b/include/Z2AudioLib/Z2SoundInfo.h index 224c6297da..e474a32727 100644 --- a/include/Z2AudioLib/Z2SoundInfo.h +++ b/include/Z2AudioLib/Z2SoundInfo.h @@ -3,4 +3,52 @@ #include "dolphin/types.h" +struct JAISeq {}; + +struct JAISound {}; + +struct JAIStream {}; + +struct JAISe {}; + +struct JAISoundID {}; + +struct JAISoundInfo { + virtual void getSoundType(JAISoundID) const = 0; + virtual void getCategory(JAISoundID) const = 0; + virtual void getPriority(JAISoundID) const = 0; + virtual void getSeInfo(JAISoundID, JAISe*) const = 0; + virtual void getSeqInfo(JAISoundID, JAISeq*) const = 0; + virtual void getStreamInfo(JAISoundID, JAIStream*) const = 0; + virtual ~JAISoundInfo(); +}; + +struct JAUSoundInfo { + virtual void getAudibleSw(JAISoundID) const = 0; + virtual void getBgmSeqResourceID(JAISoundID) const = 0; +}; + +struct JAIStreamDataMgr { + virtual void getStreamFileEntry(JAISoundID) = 0; + virtual ~JAIStreamDataMgr(); +}; + +struct Z2SoundInfo /* : public JAISoundInfo, public JAUSoundInfo, public JAIStreamDataMgr */ { + /* 802BB00C */ void getBgmSeqResourceID(JAISoundID) const; + /* 802BB158 */ void getAudibleSwFull(JAISoundID); + /* 802BB448 */ void getAudibleSw(JAISoundID) const; + /* 802BBA10 */ void getStreamFilePath(JAISoundID); + /* 802BBA88 */ void getStreamFileEntry(JAISoundID); + /* 802BBAC8 */ void getSwBit(JAISoundID) const; + /* 802BBB48 */ void getSoundInfo_(JAISoundID, JAISound*) const; + + /* 802BB090 */ void getSoundType(JAISoundID) const; + /* 802BB0D8 */ void getCategory(JAISoundID) const; + /* 802BB0E0 */ void getPriority(JAISoundID) const; + /* 802BB6DC */ void getSeInfo(JAISoundID, JAISe*) const; + /* 802BB8B4 */ void getSeqInfo(JAISoundID, JAISeq*) const; + /* 802BB8E0 */ void getStreamInfo(JAISoundID, JAIStream*) const; + /* 802BBBE0 */ virtual ~Z2SoundInfo(); +}; + #endif /* Z2SOUNDINFO_H */ diff --git a/include/Z2AudioLib/Z2SoundMgr.h b/include/Z2AudioLib/Z2SoundMgr.h index 4bc8d67d65..a738b09d6a 100644 --- a/include/Z2AudioLib/Z2SoundMgr.h +++ b/include/Z2AudioLib/Z2SoundMgr.h @@ -1,6 +1,39 @@ #ifndef Z2SOUNDMGR_H #define Z2SOUNDMGR_H +#include "JSystem/JAudio2/JAISeMgr.h" +#include "JSystem/JAudio2/JAISeqMgr.h" +#include "JSystem/JAudio2/JAISound.h" +#include "JSystem/JAudio2/JAIStreamMgr.h" #include "dolphin/types.h" +class Z2SoundMgr { +public: + /* 802A9E80 */ Z2SoundMgr(); + /* 802AA1B0 */ void calc(); + /* 802AA270 */ void setIIR(JAISound*, s16 const*); + /* 802AA33C */ void setFilterOff(JAISound*); + /* 802AA430 */ void resetFilterAll(); + /* 802AA528 */ void mixOut(); + /* 802AA67C */ void framework(); + /* 802AA6B0 */ void pauseAllGameSound(bool); + /* 802AA7DC */ void stopSoundID(JAISoundID); + /* 802AA84C */ void stopSync(); + /* 802AA8C8 */ void stop(); + /* 802AA908 */ void initParams(); + /* 802AA9E8 */ void multiVolumeSoundID(JAISoundID, f32); + /* 802AAAC4 */ void isPlayingSoundID(JAISoundID); + + /* 802A9EE8 */ /* virtual */ void startSound(JAISoundID, JAISoundHandle*, + JGeometry::TVec3 const*); + /* 0x000 */ void* vtable; // remove later +private: + /* 0x004 */ JAISeMgr mSeMgr; + /* 0x728 */ JAISeqMgr mSeqMgr; + /* 0x79C */ JAIStreamMgr mStreamMgr; + /* 0x80C */ JAISoundID field_0x80c; +}; // Size: 0x810 + +STATIC_ASSERT(sizeof(Z2SoundMgr) == 0x810); + #endif /* Z2SOUNDMGR_H */ diff --git a/include/Z2AudioLib/Z2SoundObject.h b/include/Z2AudioLib/Z2SoundObject.h index 9c156c5246..22fdd22cef 100644 --- a/include/Z2AudioLib/Z2SoundObject.h +++ b/include/Z2AudioLib/Z2SoundObject.h @@ -18,7 +18,6 @@ public: bool isAlive() const { return mIsInitialized; } - virtual void temp(); // temp to build OK, remove later virtual void framework(u32, s8); virtual void dispose(); virtual bool stopOK(Z2SoundHandlePool& pool); @@ -26,7 +25,6 @@ public: virtual void startSound(JAISoundID, u32, s8); virtual void startLevelSound(JAISoundID, u32, s8); - // Z2SoundObjBase_vtable* vtable; /* 0x14 */ Z2SoundStarter* mSoundStarter; /* 0x18 */ Vec* mSoundPos; /* 0x1C */ u16 field_0x1c; @@ -34,9 +32,10 @@ public: /* 0x1F */ bool mIsInitialized; }; -class Z2SoundObjSimple : protected Z2SoundObjBase { +class Z2SoundObjSimple : public Z2SoundObjBase { public: Z2SoundObjSimple(); + ~Z2SoundObjSimple(); virtual void temp(); // temp to build OK, remove later virtual void init(Vec* pSoundPos, u8 pNumHandles); @@ -44,7 +43,7 @@ public: virtual void startLevelSound(JAISoundID, u32, s8); }; -class Z2SoundObjAnime : protected Z2SoundObjBase { +class Z2SoundObjAnime : public Z2SoundObjBase { public: /* 802BEB94 */ Z2SoundObjAnime(); /* 802BEBFC */ void initAnime(void*, bool, f32, f32); @@ -58,7 +57,6 @@ public: /* 802BF898 */ void playsSound(JAUSoundAnimationSound const*, JGeometry::TVec3 const&, f32); - virtual void temp(); // temp to build OK, remove later /* 802BEBDC */ virtual void init(Vec*, u8); /* 0x20 */ void* field_0x20; // JAUSoundAnimation* @@ -73,7 +71,7 @@ public: /* 0x44 */ bool field_0x44; }; -class Z2DopplerSoundObjBase : protected Z2SoundHandles { +class Z2DopplerSoundObjBase : public Z2SoundHandles { Z2DopplerSoundObjBase(); ~Z2DopplerSoundObjBase(); diff --git a/include/Z2AudioLib/Z2SoundStarter.h b/include/Z2AudioLib/Z2SoundStarter.h index 3024f2dff0..18b8120fbc 100644 --- a/include/Z2AudioLib/Z2SoundStarter.h +++ b/include/Z2AudioLib/Z2SoundStarter.h @@ -4,26 +4,19 @@ #include "JSystem/JAudio2/JAISound.h" #include "dolphin/types.h" -struct Z2SoundStarter_vtable { - void* field_0x0; - void* field_0x4; - void* dtor; - void* startSound1; - void* startSound2; +struct JAISoundStarter { + virtual ~JAISoundStarter(); }; -struct Z2SoundStarter { - // Z2SoundStarter_vtable* vtable; - +struct Z2SoundStarter : public JAISoundStarter { Z2SoundStarter(bool); - virtual ~Z2SoundStarter(); + void setPortData(JAISoundHandle*, u32, u16, s8); + void getPortData(JAISoundHandle*, u32, s8); + virtual ~Z2SoundStarter(); virtual void startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3 const*); virtual void startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3 const*, u32, float, float, float, float, float, u32); - - void setPortData(JAISoundHandle*, u32, u16, s8); - void getPortData(JAISoundHandle*, u32, s8); }; #endif /* Z2SOUNDSTARTER_H */ diff --git a/include/Z2AudioLib/Z2SpeechMgr2.h b/include/Z2AudioLib/Z2SpeechMgr2.h index e1ebda8084..47aeef90a6 100644 --- a/include/Z2AudioLib/Z2SpeechMgr2.h +++ b/include/Z2AudioLib/Z2SpeechMgr2.h @@ -1,6 +1,48 @@ #ifndef Z2SPEECHMGR2_H #define Z2SPEECHMGR2_H +#include "JSystem/JAudio2/JAISoundHandles.h" +#include "JSystem/JMath/random.h" +#include "Z2AudioLib/Z2SoundStarter.h" +#include "dolphin/mtx/vec.h" #include "dolphin/types.h" +struct Z2SpeechStarter : public Z2SoundStarter { + /* 802CCFB8 */ Z2SpeechStarter(); + + /* 802CBCEC */ virtual ~Z2SpeechStarter(); + /* 802CCFF8 */ virtual void startSound(JAISoundID, JAISoundHandle*, + JGeometry::TVec3 const*, u32, f32, f32, f32, f32, + f32, u32); +}; + +struct Z2SpeechMgr2 { + /* 802CBC60 */ Z2SpeechMgr2(); + /* 802CBD88 */ void setString(u16 const*, s16, u8, u16); + /* 802CBF60 */ void setTextCount(s16); + /* 802CC190 */ void speakOneWord(bool); + /* 802CC2FC */ void isNonVerbal(); + /* 802CC4C0 */ void selectUnit(bool); + /* 802CC738 */ void selectTail(); + /* 802CC9D0 */ void framework(); + /* 802CCA18 */ void playOneShotVoice(u8, u16, Vec*, s8); + /* 802CCF88 */ void isMidnaSpeak(); + + /* 0x000 */ JAISoundHandle field_0x0; + /* 0x004 */ JAISoundHandle field_0x4; + /* 0x008 */ JMath::TRandom_fast_ random; + /* 0x00C */ Z2SpeechStarter mSpeech; + /* 0x010 */ u16 field_0x10[500]; + /* 0x3F8 */ u16 field_0x3f8; + /* 0x3FA */ u16 field_0x3fa; + /* 0x3FC */ u16 field_0x3fc; + /* 0x3FE */ u8 field_0x3fe; + /* 0x3FF */ u8 field_0x3ff; + /* 0x400 */ u8 field_0x400; + /* 0x401 */ u8 field_0x401; + /* 0x402 */ u8 field_0x402[64]; +}; // Size: 0x444 + +STATIC_ASSERT(sizeof(Z2SpeechMgr2) == 0x444); + #endif /* Z2SPEECHMGR2_H */ diff --git a/include/d/a/d_a_alink.h b/include/d/a/d_a_alink.h index e7841cec43..84fd08b103 100644 --- a/include/d/a/d_a_alink.h +++ b/include/d/a/d_a_alink.h @@ -2349,7 +2349,6 @@ private: /* 0x02C48 */ Mtx field_0x2c48; /* 0x02C78 */ Mtx field_0x2c78; /* 0x02CA8 */ Z2CreatureLink mZ2Link; - /* 0x02D75 */ u8 field_0x2d75[3]; // padding? /* 0x02D78 */ void* field_0x2d78; /* 0x02D7C */ daPy_frameCtrl_c* field_0x2d7c; /* 0x02D80 */ int field_0x2d80; diff --git a/include/m_Do/m_Do_audio.h b/include/m_Do/m_Do_audio.h index d796955dde..c9f4cfaab0 100644 --- a/include/m_Do/m_Do_audio.h +++ b/include/m_Do/m_Do_audio.h @@ -1,26 +1,34 @@ #ifndef M_DO_M_DO_AUDIO_H #define M_DO_M_DO_AUDIO_H +#include "Z2AudioLib/Z2AudioMgr.h" #include "dolphin/types.h" // move/fix later template class JASGlobalInstance { public: - JASGlobalInstance(bool param_0) { - if (param_0) { - sInstance = this; - } - }; - ~JASGlobalInstance() { - if (sInstance == this) { - sInstance = NULL; - } - }; - T* getInstance() { return sInstance; }; static T* sInstance; }; +extern bool struct_80450BB8; // sInitFlag +extern bool sResetFlag; + +class mDoAud_zelAudio_c { +public: + void reset(); + ~mDoAud_zelAudio_c() {} + + static void onInitFlag() { struct_80450BB8 = true; } + static bool isResetFlag() { return sResetFlag; } + static void onResetFlag() { sResetFlag = true; } + static void offResetFlag() { sResetFlag = false; } + + Z2AudioMgr mAudioMgr; +}; + +extern JKRSolidHeap* g_mDoAud_audioHeap; + #endif /* M_DO_M_DO_AUDIO_H */ diff --git a/libs/JSystem/JAudio2/JAIAudible.cpp b/libs/JSystem/JAudio2/JAIAudible.cpp index 64f490901b..f266a7e053 100644 --- a/libs/JSystem/JAudio2/JAIAudible.cpp +++ b/libs/JSystem/JAudio2/JAIAudible.cpp @@ -1,54 +1,5 @@ -// -// Generated By: dol2asm -// Translation Unit: JAIAudible -// - #include "JSystem/JAudio2/JAIAudible.h" #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct JAIAudible { - /* 8029EFAC */ ~JAIAudible(); -}; - -// -// Forward References: -// - -extern "C" void __dt__10JAIAudibleFv(); - -// -// External References: -// - -extern "C" void __dl__FPv(); - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 803C9820-803C9838 026940 0014+04 1/1 1/1 0/0 .data __vt__10JAIAudible */ -SECTION_DATA extern void* __vt__10JAIAudible[5 + 1 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__10JAIAudibleFv, - (void*)NULL, - (void*)NULL, - /* padding */ - NULL, -}; - -/* 8029EFAC-8029EFF4 2998EC 0048+00 1/0 1/1 0/0 .text __dt__10JAIAudibleFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm JAIAudible::~JAIAudible() { - nofralloc -#include "asm/JSystem/JAudio2/JAIAudible/__dt__10JAIAudibleFv.s" -} -#pragma pop +JAIAudible::~JAIAudible() {} diff --git a/libs/JSystem/JAudio2/JAIAudience.cpp b/libs/JSystem/JAudio2/JAIAudience.cpp index 80108ef7c6..37586d4fe2 100644 --- a/libs/JSystem/JAudio2/JAIAudience.cpp +++ b/libs/JSystem/JAudio2/JAIAudience.cpp @@ -1,55 +1,5 @@ -// -// Generated By: dol2asm -// Translation Unit: JAIAudience -// - #include "JSystem/JAudio2/JAIAudience.h" #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct JAIAudience { - /* 8029EFF4 */ ~JAIAudience(); -}; - -// -// Forward References: -// - -extern "C" void __dt__11JAIAudienceFv(); - -// -// External References: -// - -extern "C" void __dl__FPv(); - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 803C9838-803C9858 026958 0020+00 1/1 1/1 0/0 .data __vt__11JAIAudience */ -SECTION_DATA extern void* __vt__11JAIAudience[8] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__11JAIAudienceFv, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, -}; - -/* 8029EFF4-8029F03C 299934 0048+00 1/0 1/1 0/0 .text __dt__11JAIAudienceFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm JAIAudience::~JAIAudience() { - nofralloc -#include "asm/JSystem/JAudio2/JAIAudience/__dt__11JAIAudienceFv.s" -} -#pragma pop +JAIAudience::~JAIAudience() {} diff --git a/libs/JSystem/JAudio2/JAISeMgr.cpp b/libs/JSystem/JAudio2/JAISeMgr.cpp index 9cfda1d7dc..41f11d15e4 100644 --- a/libs/JSystem/JAudio2/JAISeMgr.cpp +++ b/libs/JSystem/JAudio2/JAISeMgr.cpp @@ -11,31 +11,6 @@ // Types: // -struct JSUPtrLink { - /* 802DBE14 */ ~JSUPtrLink(); -}; - -struct JSUPtrList { - /* 802DBF14 */ void initiate(); - /* 802DBF4C */ void append(JSUPtrLink*); - /* 802DC15C */ void remove(JSUPtrLink*); -}; - -struct JGeometry { - template - struct TVec3 {}; - /* TVec3 */ - struct TVec3__template0 {}; -}; - -struct JASTrack { - /* 8029131C */ ~JASTrack(); -}; - -struct JASSoundParams { - /* 8029E47C */ void combine(JASSoundParams const&, JASSoundParams const&); -}; - template struct JASMemPool {}; /* JASMemPool */ @@ -50,79 +25,6 @@ struct JASGenericMemPool { /* 80290994 */ void free(void*, u32); }; -template -struct JAISoundStrategyMgr {}; -/* JAISoundStrategyMgr */ -struct JAISoundStrategyMgr__template0 {}; - -struct JAISoundParamsMove {}; - -struct JAISoundID {}; - -struct JAISoundHandle {}; - -struct JAISoundActivity {}; - -struct JAISound { - /* 802A21BC */ void attachHandle(JAISoundHandle*); - /* 802A2598 */ void stop(); - /* 802A24DC */ void stop(u32); -}; - -struct JAISeqDataUser { - /* 802A1774 */ ~JAISeqDataUser(); -}; - -struct JAISeqDataRegion {}; - -struct JAISeqDataMgr {}; - -struct JAISeCategoryArrangement {}; - -struct JAIAudience {}; - -struct JAISeMgr { - /* 802A0074 */ JAISeMgr(bool); - /* 802A0168 */ void isUsingSeqData(JAISeqDataRegion const&); - /* 802A01D8 */ void releaseSeqData(JAISeqDataRegion const&); - /* 802A0268 */ void setCategoryArrangement(JAISeCategoryArrangement const&); - /* 802A02A0 */ void stop(); - /* 802A02F4 */ void stopSoundID(JAISoundID); - /* 802A0358 */ void initParams(); - /* 802A03D8 */ void setAudience(JAIAudience*); - /* 802A03E0 */ void setSeqDataMgr(JAISeqDataMgr*); - /* 802A0434 */ void resetSeqDataMgr(); - /* 802A0484 */ void newSe_(int, u32); - /* 802A0574 */ void calc(); - /* 802A0704 */ void mixOut(); - /* 802A0768 */ void startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3 const*); - /* 802A08D0 */ void getNumActiveSe() const; - /* 802A08FC */ ~JAISeMgr(); -}; - -struct JAISeCategoryMgr { - /* 800078DC */ ~JAISeCategoryMgr(); - /* 8029F8B0 */ void isUsingSeqData(JAISeqDataRegion const&); - /* 8029F91C */ void releaseSeqData(JAISeqDataRegion const&); - /* 8029F9C4 */ void JAISeMgr_calc_(); - /* 8029FB30 */ void JAISeMgr_freeDeadSe_(); - /* 8029FC88 */ void JAISeMgr_acceptsNewSe_(u32) const; - /* 8029FD40 */ void sortByPriority_(); - /* 8029FDE0 */ void stop(u32); - /* 8029FE34 */ void stop(); - /* 8029FE78 */ void stopSoundID(JAISoundID); - /* 8029FEEC */ void pause(bool); - /* 8029FF18 */ void JAISeMgr_mixOut_(JAISoundParamsMove const&, JAISoundActivity); - /* 802A0994 */ JAISeCategoryMgr(); -}; - -struct JAISe { - /* 8029F03C */ JAISe(JAISeMgr*, JAISoundStrategyMgr*, u32); - /* 8029F304 */ void JAISeCategoryMgr_mixOut_(bool, JASSoundParams const&, JAISoundActivity); - /* 8029F4CC */ void JAISeCategoryMgr_calc_(); - /* 8029F650 */ void JAISeMgr_startID_(JAISoundID, JGeometry::TVec3 const*, JAIAudience*); -}; - // // Forward References: // @@ -209,7 +111,7 @@ extern "C" extern u8 data_80451310[8]; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JAISeCategoryMgr::isUsingSeqData(JAISeqDataRegion const& param_0) { +asm bool JAISeCategoryMgr::isUsingSeqData(JAISeqDataRegion const& param_0) { nofralloc #include "asm/JSystem/JAudio2/JAISeMgr/isUsingSeqData__16JAISeCategoryMgrFRC16JAISeqDataRegion.s" } @@ -384,7 +286,7 @@ asm JAISeMgr::JAISeMgr(bool param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JAISeMgr::isUsingSeqData(JAISeqDataRegion const& param_0) { +asm bool JAISeMgr::isUsingSeqData(JAISeqDataRegion const& param_0) { nofralloc #include "asm/JSystem/JAudio2/JAISeMgr/isUsingSeqData__8JAISeMgrFRC16JAISeqDataRegion.s" } @@ -533,7 +435,8 @@ asm void JAISeMgr::getNumActiveSe() const { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm JAISeMgr::~JAISeMgr() { +extern "C" asm void __dt__8JAISeMgrFv() { + // asm JAISeMgr::~JAISeMgr() { nofralloc #include "asm/JSystem/JAudio2/JAISeMgr/__dt__8JAISeMgrFv.s" } diff --git a/libs/JSystem/JAudio2/JAISeqDataMgr.cpp b/libs/JSystem/JAudio2/JAISeqDataMgr.cpp index 9aac460eed..5aee86a0c1 100644 --- a/libs/JSystem/JAudio2/JAISeqDataMgr.cpp +++ b/libs/JSystem/JAudio2/JAISeqDataMgr.cpp @@ -1,79 +1,7 @@ -// -// Generated By: dol2asm -// Translation Unit: JAISeqDataMgr -// - #include "JSystem/JAudio2/JAISeqDataMgr.h" #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// +JAISeqDataUser::~JAISeqDataUser() {} -struct JAISeqDataUser { - /* 802A1774 */ ~JAISeqDataUser(); -}; - -struct JAISeqDataMgr { - /* 802A17BC */ ~JAISeqDataMgr(); -}; - -// -// Forward References: -// - -extern "C" void __dt__14JAISeqDataUserFv(); -extern "C" void __dt__13JAISeqDataMgrFv(); - -// -// External References: -// - -extern "C" void __dl__FPv(); - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 803C9928-803C9940 026A48 0018+00 1/1 2/2 0/0 .data __vt__13JAISeqDataMgr */ -SECTION_DATA extern void* __vt__13JAISeqDataMgr[6] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__13JAISeqDataMgrFv, - (void*)NULL, - (void*)NULL, - (void*)NULL, -}; - -/* 803C9940-803C9958 026A60 0014+04 1/1 3/3 0/0 .data __vt__14JAISeqDataUser */ -SECTION_DATA extern void* __vt__14JAISeqDataUser[5 + 1 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__14JAISeqDataUserFv, - (void*)NULL, - (void*)NULL, - /* padding */ - NULL, -}; - -/* 802A1774-802A17BC 29C0B4 0048+00 1/0 4/4 0/0 .text __dt__14JAISeqDataUserFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm JAISeqDataUser::~JAISeqDataUser() { - nofralloc -#include "asm/JSystem/JAudio2/JAISeqDataMgr/__dt__14JAISeqDataUserFv.s" -} -#pragma pop - -/* 802A17BC-802A1804 29C0FC 0048+00 1/0 2/2 0/0 .text __dt__13JAISeqDataMgrFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm JAISeqDataMgr::~JAISeqDataMgr() { - nofralloc -#include "asm/JSystem/JAudio2/JAISeqDataMgr/__dt__13JAISeqDataMgrFv.s" -} -#pragma pop +JAISeqDataMgr::~JAISeqDataMgr() {} diff --git a/libs/JSystem/JAudio2/JAISeqMgr.cpp b/libs/JSystem/JAudio2/JAISeqMgr.cpp index 4e63cf6df1..36251cbcc3 100644 --- a/libs/JSystem/JAudio2/JAISeqMgr.cpp +++ b/libs/JSystem/JAudio2/JAISeqMgr.cpp @@ -11,30 +11,6 @@ // Types: // -struct JSUPtrLink { - /* 802DBE14 */ ~JSUPtrLink(); -}; - -struct JSUPtrList { - /* 802DBEAC */ ~JSUPtrList(); - /* 802DBF14 */ void initiate(); - /* 802DBF4C */ void append(JSUPtrLink*); - /* 802DC15C */ void remove(JSUPtrLink*); -}; - -struct JGeometry { - template - struct TVec3 {}; - /* TVec3 */ - struct TVec3__template0 {}; -}; - -struct JASTrack { - /* 8029131C */ ~JASTrack(); -}; - -struct JASSoundParams {}; - template struct JASMemPool {}; /* JASMemPool */ @@ -49,26 +25,6 @@ struct JASGenericMemPool { /* 80290994 */ void free(void*, u32); }; -template -struct JAISoundStrategyMgr {}; -/* JAISoundStrategyMgr */ -struct JAISoundStrategyMgr__template1 {}; - -struct JAISoundID {}; - -struct JAISoundHandle {}; - -struct JAISoundActivity {}; - -struct JAISound { - /* 802A21BC */ void attachHandle(JAISoundHandle*); - /* 802A2598 */ void stop(); - /* 802A24DC */ void stop(u32); -}; - -struct JAISeqMgr; -struct JAIAudience {}; - struct JAISeq { /* 802A0A8C */ JAISeq(JAISeqMgr*, JAISoundStrategyMgr*); /* 802A0B64 */ void JAISeqMgr_startID_(JAISoundID, JGeometry::TVec3 const*, JAIAudience*, @@ -77,28 +33,6 @@ struct JAISeq { /* 802A14FC */ void JAISeqMgr_mixOut_(JASSoundParams const&, JAISoundActivity); }; -struct JAISeqDataRegion {}; - -struct JAISeqMgr { - /* 802A1804 */ void isUsingSeqData(JAISeqDataRegion const&); - /* 802A1870 */ void releaseSeqData(JAISeqDataRegion const&); - /* 802A1914 */ JAISeqMgr(bool); - /* 802A1A08 */ void freeDeadSeq_(); - /* 802A1B48 */ void startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3 const*); - /* 802A1C90 */ void calc(); - /* 802A1DFC */ void stop(); - /* 802A1E3C */ void stop(u32); - /* 802A1E8C */ void stopSoundID(JAISoundID); - /* 802A1EFC */ void mixOut(); - /* 802A1F58 */ void beginStartSeq_(); - /* 802A1FE8 */ void endStartSeq_(JAISeq*, JAISoundHandle*); - /* 802A20F0 */ ~JAISeqMgr(); -}; - -struct JAISeqDataUser { - /* 802A1774 */ ~JAISeqDataUser(); -}; - // // Forward References: // @@ -161,7 +95,7 @@ extern "C" extern u8 data_80451320[8]; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JAISeqMgr::isUsingSeqData(JAISeqDataRegion const& param_0) { +asm bool JAISeqMgr::isUsingSeqData(JAISeqDataRegion const& param_0) { nofralloc #include "asm/JSystem/JAudio2/JAISeqMgr/isUsingSeqData__9JAISeqMgrFRC16JAISeqDataRegion.s" } @@ -334,7 +268,8 @@ asm void JAISeqMgr::endStartSeq_(JAISeq* param_0, JAISoundHandle* param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm JAISeqMgr::~JAISeqMgr() { +extern "C" asm void __dt__9JAISeqMgrFv() { + // asm JAISeqMgr::~JAISeqMgr() { nofralloc #include "asm/JSystem/JAudio2/JAISeqMgr/__dt__9JAISeqMgrFv.s" } diff --git a/libs/JSystem/JAudio2/JAISound.cpp b/libs/JSystem/JAudio2/JAISound.cpp index 70366cb3fa..22a65961dd 100644 --- a/libs/JSystem/JAudio2/JAISound.cpp +++ b/libs/JSystem/JAudio2/JAISound.cpp @@ -7,17 +7,6 @@ #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct JAISoundStatus_ { - /* 802A2220 */ void lockWhenPrepared(); - /* 802A2244 */ void unlockIfLocked(); -}; - -struct JAIAudience {}; - // // Forward References: // @@ -59,55 +48,57 @@ extern "C" void _restgpr_26(); /* 802A2184-802A21A0 29CAC4 001C+00 0/0 14/14 0/0 .text releaseSound__14JAISoundHandleFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JAISoundHandle::releaseSound() { - nofralloc -#include "asm/JSystem/JAudio2/JAISound/releaseSound__14JAISoundHandleFv.s" +void JAISoundHandle::releaseSound() { + if (sound_ == NULL) { + return; + } + sound_->handle_ = NULL; + sound_ = NULL; } -#pragma pop /* 802A21A0-802A21BC 29CAE0 001C+00 3/3 3/3 0/0 .text releaseHandle__8JAISoundFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JAISound::releaseHandle() { - nofralloc -#include "asm/JSystem/JAudio2/JAISound/releaseHandle__8JAISoundFv.s" +void JAISound::releaseHandle() { + if (handle_ == NULL) { + return; + } + handle_->sound_ = NULL; + handle_ = NULL; } -#pragma pop /* 802A21BC-802A2220 29CAFC 0064+00 0/0 3/3 0/0 .text attachHandle__8JAISoundFP14JAISoundHandle */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JAISound::attachHandle(JAISoundHandle* param_0) { - nofralloc -#include "asm/JSystem/JAudio2/JAISound/attachHandle__8JAISoundFP14JAISoundHandle.s" +void JAISound::attachHandle(JAISoundHandle* handle) { + if (handle->isSoundAttached()) { + handle->getSound()->stop(); + } + if (isHandleAttached()) { + releaseHandle(); + } + handle_ = handle; + handle_->sound_ = this; } -#pragma pop /* 802A2220-802A2244 29CB60 0024+00 0/0 2/2 0/0 .text lockWhenPrepared__15JAISoundStatus_Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JAISoundStatus_::lockWhenPrepared() { - nofralloc -#include "asm/JSystem/JAudio2/JAISound/lockWhenPrepared__15JAISoundStatus_Fv.s" +s32 JAISoundStatus_::lockWhenPrepared() { + if (state[0] == 0) { + state[0] = 1; + return 1; + } + return 0; } -#pragma pop /* 802A2244-802A2280 29CB84 003C+00 0/0 2/2 0/0 .text unlockIfLocked__15JAISoundStatus_Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JAISoundStatus_::unlockIfLocked() { - nofralloc -#include "asm/JSystem/JAudio2/JAISound/unlockIfLocked__15JAISoundStatus_Fv.s" +s32 JAISoundStatus_::unlockIfLocked() { + if (state[0] == 3) { + state[0] = 4; + return 1; + } + if (state[0] == 1) { + state[0] = 0; + return 1; + } + return 0; } -#pragma pop /* ############################################################################################## */ /* 804557B8-804557BC 003DB8 0004+00 3/3 0/0 0/0 .sdata2 @659 */ @@ -115,15 +106,14 @@ SECTION_SDATA2 static f32 lit_659 = 0.5f; /* 802A2280-802A22F8 29CBC0 0078+00 0/0 4/4 0/0 .text * mixOutAll__14JAISoundParamsFRC14JASSoundParamsP14JASSoundParamsf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JAISoundParams::mixOutAll(JASSoundParams const& param_0, JASSoundParams* param_1, - f32 param_2) { - nofralloc -#include "asm/JSystem/JAudio2/JAISound/mixOutAll__14JAISoundParamsFRC14JASSoundParamsP14JASSoundParamsf.s" +void JAISoundParams::mixOutAll(JASSoundParams const& param_0, JASSoundParams* param_1, + f32 param_2) { + param_1->mVolume = mMove.mParams.mVolume * (param_0.mVolume * mProperty.field_0x0) * param_2; + param_1->mFxMix = mMove.mParams.mFxMix + (param_0.mFxMix + mProperty.field_0x4); + param_1->mPitch = mMove.mParams.mPitch * (param_0.mPitch * mProperty.field_0x8); + param_1->mPan = (param_0.mPan + mMove.mParams.mPan) - lit_659; + param_1->mDolby = param_0.mDolby + mMove.mParams.mDolby; } -#pragma pop /* ############################################################################################## */ /* 803C9970-803C99A0 026A90 0030+00 1/1 0/0 0/0 .data __vt__8JAISound */ @@ -153,6 +143,10 @@ SECTION_SDATA2 static f32 lit_698[1 + 1 /* padding */] = { }; /* 802A22F8-802A2328 29CC38 0030+00 0/0 3/3 0/0 .text __ct__8JAISoundFv */ +// matches with literals +#ifdef NONMATCHING +JAISound::JAISound() : params() {} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -161,9 +155,31 @@ asm JAISound::JAISound() { #include "asm/JSystem/JAudio2/JAISound/__ct__8JAISoundFv.s" } #pragma pop +#endif /* 802A2328-802A244C 29CC68 0124+00 0/0 3/3 0/0 .text * start_JAISound___8JAISoundF10JAISoundIDPCQ29JGeometry8TVec3P11JAIAudience */ +#ifdef NONMATCHING +void JAISound::start_JAISound_(JAISoundID param_0, JGeometry::TVec3 const* param_1, + JAIAudience* param_2) { + handle_ = NULL; + soundID = param_0; + status_.init(); + params.init(); + fader.forceIn(); + audience_ = param_2; + num_prepare_steps = 0; + mCount = 0; + + if (param_1 == NULL || audience_ == NULL) { + audible_ = NULL; + } else { + JAISoundID sound = soundID; + audible_ = audience_->newAudible(*param_1, sound, NULL, 0); + } + field_0x34 = 0; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -173,19 +189,29 @@ asm void JAISound::start_JAISound_(JAISoundID param_0, JGeometry::TVec3 con #include "asm/JSystem/JAudio2/JAISound/func_802A2328.s" } #pragma pop +#endif /* 802A244C-802A2474 29CD8C 0028+00 0/0 2/2 0/0 .text acceptsNewAudible__8JAISoundCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JAISound::acceptsNewAudible() const { - nofralloc -#include "asm/JSystem/JAudio2/JAISound/acceptsNewAudible__8JAISoundCFv.s" +bool JAISound::acceptsNewAudible() const { + bool accepts = false; + if (audible_ == NULL && !(status_.state[1] >> 6 & 1)) { + accepts = true; + } + return accepts; } -#pragma pop /* 802A2474-802A24DC 29CDB4 0068+00 0/0 2/2 0/0 .text - * newAudible__8JAISoundFRCQ29JGeometry8TVec3PCQ29JGeometry8TVec3UlP11JAIAudience */ +/* * newAudible__8JAISoundFRCQ29JGeometry8TVec3PCQ29JGeometry8TVec3UlP11JAIAudience */ +#ifdef NONMATCHING +void JAISound::newAudible(JGeometry::TVec3 const& param_0, + JGeometry::TVec3 const* param_1, u32 param_2, JAIAudience* param_3) { + if (param_3 != NULL) { + audience_ = param_3; + } + JAISoundID sound = soundID; + audible_ = audience_->newAudible(param_0, sound, param_1, param_2); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -196,6 +222,7 @@ asm void JAISound::newAudible(JGeometry::TVec3 const& param_0, #include "asm/JSystem/JAudio2/JAISound/func_802A2474.s" } #pragma pop +#endif /* ############################################################################################## */ /* 804557C8-804557D0 003DC8 0008+00 1/1 0/0 0/0 .sdata2 @766 */ diff --git a/libs/JSystem/JAudio2/JAISoundChild.cpp b/libs/JSystem/JAudio2/JAISoundChild.cpp index 269b9b43eb..2766156808 100644 --- a/libs/JSystem/JAudio2/JAISoundChild.cpp +++ b/libs/JSystem/JAudio2/JAISoundChild.cpp @@ -1,92 +1,17 @@ -// -// Generated By: dol2asm -// Translation Unit: JAISoundChild -// - #include "JSystem/JAudio2/JAISoundChild.h" #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct JASSoundParams {}; - -struct JASTrack { - /* 802919F4 */ void assignExtBuffer(u32, JASSoundParams*); -}; - -struct JAISoundChild { - /* 802A2AB0 */ void init(); - /* 802A2B28 */ void mixOut(JASTrack*); - /* 802A2B7C */ void calc(); -}; - -// -// Forward References: -// - -extern "C" void init__13JAISoundChildFv(); -extern "C" void mixOut__13JAISoundChildFP8JASTrack(); -extern "C" void calc__13JAISoundChildFv(); - -// -// External References: -// - -extern "C" void assignExtBuffer__8JASTrackFUlP14JASSoundParams(); - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 804557D8-804557DC 003DD8 0004+00 1/1 0/0 0/0 .sdata2 @689 */ -SECTION_SDATA2 static f32 lit_689 = 1.0f; - -/* 804557DC-804557E0 003DDC 0004+00 1/1 0/0 0/0 .sdata2 @690 */ -SECTION_SDATA2 static u8 lit_690[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; - -/* 804557E0-804557E8 003DE0 0004+04 1/1 0/0 0/0 .sdata2 @691 */ -SECTION_SDATA2 static f32 lit_691[1 + 1 /* padding */] = { - 0.5f, - /* padding */ - 0.0f, -}; - -/* 802A2AB0-802A2B28 29D3F0 0078+00 0/0 2/2 0/0 .text init__13JAISoundChildFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JAISoundChild::init() { - nofralloc -#include "asm/JSystem/JAudio2/JAISoundChild/init__13JAISoundChildFv.s" +void JAISoundChild::init() { + mMove.init(); + mParams.init(); } -#pragma pop -/* 802A2B28-802A2B7C 29D468 0054+00 0/0 1/1 0/0 .text mixOut__13JAISoundChildFP8JASTrack - */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JAISoundChild::mixOut(JASTrack* param_0) { - nofralloc -#include "asm/JSystem/JAudio2/JAISoundChild/mixOut__13JAISoundChildFP8JASTrack.s" +void JAISoundChild::mixOut(JASTrack* pTrack) { + mParams = mMove.mParams; + pTrack->assignExtBuffer(0, &mParams); } -#pragma pop -/* 802A2B7C-802A2C98 29D4BC 011C+00 0/0 2/2 0/0 .text calc__13JAISoundChildFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JAISoundChild::calc() { - nofralloc -#include "asm/JSystem/JAudio2/JAISoundChild/calc__13JAISoundChildFv.s" +void JAISoundChild::calc() { + mMove.calc(); } -#pragma pop diff --git a/libs/JSystem/JAudio2/JAISoundHandles.cpp b/libs/JSystem/JAudio2/JAISoundHandles.cpp index dcdc9ec736..80a65baecd 100644 --- a/libs/JSystem/JAudio2/JAISoundHandles.cpp +++ b/libs/JSystem/JAudio2/JAISoundHandles.cpp @@ -7,17 +7,6 @@ #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct JAISoundID {}; - -struct JAISoundHandles { - /* 802A2C98 */ void getHandleSoundID(JAISoundID); - /* 802A2CF4 */ void getFreeHandle(); -}; - // // Forward References: // @@ -25,10 +14,6 @@ struct JAISoundHandles { extern "C" void getHandleSoundID__15JAISoundHandlesF10JAISoundID(); extern "C" void getFreeHandle__15JAISoundHandlesFv(); -// -// External References: -// - // // Declarations: // @@ -49,7 +34,7 @@ asm void JAISoundHandles::getHandleSoundID(JAISoundID param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JAISoundHandles::getFreeHandle() { +asm JAISoundHandle* JAISoundHandles::getFreeHandle() { nofralloc #include "asm/JSystem/JAudio2/JAISoundHandles/getFreeHandle__15JAISoundHandlesFv.s" } diff --git a/libs/JSystem/JAudio2/JAISoundParams.cpp b/libs/JSystem/JAudio2/JAISoundParams.cpp index 821a80684d..77d7f27702 100644 --- a/libs/JSystem/JAudio2/JAISoundParams.cpp +++ b/libs/JSystem/JAudio2/JAISoundParams.cpp @@ -1,95 +1,48 @@ -// -// Generated By: dol2asm -// Translation Unit: JAISoundParams -// - #include "JSystem/JAudio2/JAISoundParams.h" #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct JAISoundParamsMove { - /* 802A2DB4 */ void moveVolume(f32, u32); - /* 802A2E0C */ void movePitch(f32, u32); - /* 802A2E64 */ void moveFxMix(f32, u32); - /* 802A2EBC */ void movePan(f32, u32); - /* 802A2F14 */ void moveDolby(f32, u32); -}; - -// -// Forward References: -// - -extern "C" void moveVolume__18JAISoundParamsMoveFfUl(); -extern "C" void movePitch__18JAISoundParamsMoveFfUl(); -extern "C" void moveFxMix__18JAISoundParamsMoveFfUl(); -extern "C" void movePan__18JAISoundParamsMoveFfUl(); -extern "C" void moveDolby__18JAISoundParamsMoveFfUl(); - -// -// External References: -// - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 804557E8-804557F0 003DE8 0008+00 5/5 0/0 0/0 .sdata2 @292 */ -SECTION_SDATA2 static f64 lit_292 = 4503599627370496.0 /* cast u32 to float */; - -/* 802A2DB4-802A2E0C 29D6F4 0058+00 0/0 40/40 0/0 .text moveVolume__18JAISoundParamsMoveFfUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JAISoundParamsMove::moveVolume(f32 param_0, u32 param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JAISoundParams/moveVolume__18JAISoundParamsMoveFfUl.s" +void JAISoundParamsMove::moveVolume(f32 newValue, u32 count) { + if (count == 0) { + mParams.mVolume = newValue; + mTransition.mVolume.mCount = 0; + } else { + mTransition.mVolume.set(newValue, mParams.mVolume, count); + } } -#pragma pop -/* 802A2E0C-802A2E64 29D74C 0058+00 0/0 25/25 0/0 .text movePitch__18JAISoundParamsMoveFfUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JAISoundParamsMove::movePitch(f32 param_0, u32 param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JAISoundParams/movePitch__18JAISoundParamsMoveFfUl.s" +void JAISoundParamsMove::movePitch(f32 newValue, u32 count) { + if (count == 0) { + mParams.mPitch = newValue; + mTransition.mPitch.mCount = 0; + } else { + mTransition.mPitch.set(newValue, mParams.mPitch, count); + } } -#pragma pop -/* 802A2E64-802A2EBC 29D7A4 0058+00 0/0 6/6 0/0 .text moveFxMix__18JAISoundParamsMoveFfUl - */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JAISoundParamsMove::moveFxMix(f32 param_0, u32 param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JAISoundParams/moveFxMix__18JAISoundParamsMoveFfUl.s" +void JAISoundParamsMove::moveFxMix(f32 newValue, u32 count) { + if (count == 0) { + mParams.mFxMix = newValue; + mTransition.mFxMix.mCount = 0; + } else { + mTransition.mFxMix.set(newValue, mParams.mFxMix, count); + } } -#pragma pop -/* 802A2EBC-802A2F14 29D7FC 0058+00 0/0 8/8 0/0 .text movePan__18JAISoundParamsMoveFfUl - */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JAISoundParamsMove::movePan(f32 param_0, u32 param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JAISoundParams/movePan__18JAISoundParamsMoveFfUl.s" +void JAISoundParamsMove::movePan(f32 newValue, u32 count) { + if (count == 0) { + mParams.mPan = newValue; + mTransition.mPan.mCount = 0; + } else { + mTransition.mPan.set(newValue, mParams.mPan, count); + } } -#pragma pop -/* 802A2F14-802A2F6C 29D854 0058+00 0/0 7/7 0/0 .text moveDolby__18JAISoundParamsMoveFfUl - */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JAISoundParamsMove::moveDolby(f32 param_0, u32 param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JAISoundParams/moveDolby__18JAISoundParamsMoveFfUl.s" +void JAISoundParamsMove::moveDolby(f32 newValue, u32 count) { + if (count == 0) { + mParams.mDolby = newValue; + mTransition.mDolby.mCount = 0; + } else { + mTransition.mDolby.set(newValue, mParams.mDolby, count); + } } -#pragma pop diff --git a/libs/JSystem/JAudio2/JAIStreamDataMgr.cpp b/libs/JSystem/JAudio2/JAIStreamDataMgr.cpp index c79771131c..8943afda16 100644 --- a/libs/JSystem/JAudio2/JAIStreamDataMgr.cpp +++ b/libs/JSystem/JAudio2/JAIStreamDataMgr.cpp @@ -1,77 +1,7 @@ -// -// Generated By: dol2asm -// Translation Unit: JAIStreamDataMgr -// - #include "JSystem/JAudio2/JAIStreamDataMgr.h" #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// +JAIStreamDataMgr::~JAIStreamDataMgr() {} -struct JAIStreamDataMgr { - /* 802A3AD8 */ ~JAIStreamDataMgr(); -}; - -struct JAIStreamAramMgr { - /* 802A3B20 */ ~JAIStreamAramMgr(); -}; - -// -// Forward References: -// - -extern "C" void __dt__16JAIStreamDataMgrFv(); -extern "C" void __dt__16JAIStreamAramMgrFv(); - -// -// External References: -// - -extern "C" void __dl__FPv(); - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 803C9A08-803C9A1C 026B28 0014+00 1/1 1/1 0/0 .data __vt__16JAIStreamAramMgr */ -SECTION_DATA extern void* __vt__16JAIStreamAramMgr[5] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)__dt__16JAIStreamAramMgrFv, -}; - -/* 803C9A1C-803C9A30 026B3C 0010+04 1/1 2/2 0/0 .data __vt__16JAIStreamDataMgr */ -SECTION_DATA extern void* __vt__16JAIStreamDataMgr[4 + 1 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)NULL, - (void*)__dt__16JAIStreamDataMgrFv, - /* padding */ - NULL, -}; - -/* 802A3AD8-802A3B20 29E418 0048+00 1/0 4/4 0/0 .text __dt__16JAIStreamDataMgrFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm JAIStreamDataMgr::~JAIStreamDataMgr() { - nofralloc -#include "asm/JSystem/JAudio2/JAIStreamDataMgr/__dt__16JAIStreamDataMgrFv.s" -} -#pragma pop - -/* 802A3B20-802A3B68 29E460 0048+00 1/0 2/2 0/0 .text __dt__16JAIStreamAramMgrFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm JAIStreamAramMgr::~JAIStreamAramMgr() { - nofralloc -#include "asm/JSystem/JAudio2/JAIStreamDataMgr/__dt__16JAIStreamAramMgrFv.s" -} -#pragma pop +JAIStreamAramMgr::~JAIStreamAramMgr() {} diff --git a/libs/JSystem/JAudio2/JAIStreamMgr.cpp b/libs/JSystem/JAudio2/JAIStreamMgr.cpp index fd2aead70b..ad7e95cb90 100644 --- a/libs/JSystem/JAudio2/JAIStreamMgr.cpp +++ b/libs/JSystem/JAudio2/JAIStreamMgr.cpp @@ -11,25 +11,6 @@ // Types: // -struct JSUPtrLink { - /* 802DBE14 */ ~JSUPtrLink(); -}; - -struct JSUPtrList { - /* 802DBF14 */ void initiate(); - /* 802DBF4C */ void append(JSUPtrLink*); - /* 802DC15C */ void remove(JSUPtrLink*); -}; - -struct JGeometry { - template - struct TVec3 {}; - /* TVec3 */ - struct TVec3__template0 {}; -}; - -struct JASSoundParams {}; - template struct JASMemPool {}; /* JASMemPool */ @@ -44,45 +25,6 @@ struct JASGenericMemPool { /* 80290994 */ void free(void*, u32); }; -struct JAISoundID {}; - -struct JAISoundHandle {}; - -struct JAIStreamMgr { - /* 802A3B68 */ JAIStreamMgr(bool); - /* 802A3C3C */ void startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3 const*); - /* 802A3D70 */ void freeDeadStream_(); - /* 802A3EBC */ void calc(); - /* 802A4028 */ void stop(); - /* 802A4068 */ void stop(u32); - /* 802A40B8 */ void stopSoundID(JAISoundID); - /* 802A4118 */ void mixOut(); - /* 802A4174 */ void newStream_(); -}; - -struct JAISoundActivity {}; - -template -struct JAISoundStrategyMgr {}; -/* JAISoundStrategyMgr */ -struct JAISoundStrategyMgr__template2 {}; - -struct JAIAudience {}; - -struct JAIStream { - /* 802A3104 */ JAIStream(JAIStreamMgr*, JAISoundStrategyMgr*); - /* 802A319C */ void JAIStreamMgr_startID_(JAISoundID, s32, JGeometry::TVec3 const*, - JAIAudience*, int); - /* 802A34E4 */ void JAIStreamMgr_mixOut_(JASSoundParams const&, JAISoundActivity); - /* 802A388C */ void JAIStreamMgr_calc_(); -}; - -struct JAISound { - /* 802A21BC */ void attachHandle(JAISoundHandle*); - /* 802A2598 */ void stop(); - /* 802A24DC */ void stop(u32); -}; - // // Forward References: // diff --git a/libs/JSystem/JAudio2/JASAudioReseter.cpp b/libs/JSystem/JAudio2/JASAudioReseter.cpp index ab89daf5d8..3ed33e6dd3 100644 --- a/libs/JSystem/JAudio2/JASAudioReseter.cpp +++ b/libs/JSystem/JAudio2/JASAudioReseter.cpp @@ -5,18 +5,13 @@ #include "JSystem/JAudio2/JASAudioReseter.h" #include "dol2asm.h" +#include "dolphin/os/OS.h" #include "dolphin/types.h" // // Types: // -struct JASDriver { - /* 8029E130 */ void setDSPLevel(f32); - /* 8029E158 */ void getDSPLevel(); - /* 8029E240 */ void registerDspSyncCallback(s32 (*)(void*), void*); -}; - struct JASDSPChannel { /* 8029D340 */ void drop(); /* 8029D948 */ void getHandle(u32); @@ -49,8 +44,6 @@ extern "C" void setDSPLevel__9JASDriverFf(); extern "C" void getDSPLevel__9JASDriverFv(); extern "C" void registerDspSyncCallback__9JASDriverFPFPv_lPv(); extern "C" void __dl__FPv(); -extern "C" void OSDisableInterrupts(); -extern "C" void OSRestoreInterrupts(); extern "C" extern u8 data_80450B8C[4]; // @@ -58,54 +51,59 @@ extern "C" extern u8 data_80450B8C[4]; // /* 8029D0B4-8029D0FC 2979F4 0048+00 0/0 1/1 0/0 .text __ct__15JASAudioReseterFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm JASAudioReseter::JASAudioReseter() { - nofralloc -#include "asm/JSystem/JAudio2/JASAudioReseter/__ct__15JASAudioReseterFv.s" +JASAudioReseter::JASAudioReseter() { + field_0x0 = 0; + mIsDone = true; + field_0xc = false; + mDSPLevel = JASDriver::getDSPLevel(); } -#pragma pop /* 8029D0FC-8029D138 297A3C 003C+00 0/0 1/1 0/0 .text __dt__15JASAudioReseterFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm JASAudioReseter::~JASAudioReseter() { - nofralloc -#include "asm/JSystem/JAudio2/JASAudioReseter/__dt__15JASAudioReseterFv.s" -} -#pragma pop +JASAudioReseter::~JASAudioReseter() {} /* 8029D138-8029D1D4 297A78 009C+00 0/0 1/1 0/0 .text start__15JASAudioReseterFUlb */ +#ifdef NONMATCHING +bool JASAudioReseter::start(u32 param_0, bool param_1) { + u32 interrupt_status; + + if (mIsDone == false) { + return false; + } else { + field_0xc = param_1; + interrupt_status = OSDisableInterrupts(); + + if (!JASDriver::registerDspSyncCallback(callback, (void*)param_0)) { + OSRestoreInterrupts(interrupt_status); + return false; + } else { + mDSPLevel = JASDriver::getDSPLevel(); + field_0x0 = param_0; + mIsDone = false; + OSRestoreInterrupts(interrupt_status); + return true; + } + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JASAudioReseter::start(u32 param_0, bool param_1) { +asm bool JASAudioReseter::start(u32 param_0, bool param_1) { nofralloc #include "asm/JSystem/JAudio2/JASAudioReseter/start__15JASAudioReseterFUlb.s" } #pragma pop +#endif /* 8029D1D4-8029D1F8 297B14 0024+00 0/0 1/1 0/0 .text resume__15JASAudioReseterFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASAudioReseter::resume() { - nofralloc -#include "asm/JSystem/JAudio2/JASAudioReseter/resume__15JASAudioReseterFv.s" +void JASAudioReseter::resume() { + JASDriver::setDSPLevel(mDSPLevel); } -#pragma pop /* 8029D1F8-8029D200 297B38 0008+00 0/0 2/2 0/0 .text checkDone__15JASAudioReseterCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASAudioReseter::checkDone() const { - nofralloc -#include "asm/JSystem/JAudio2/JASAudioReseter/checkDone__15JASAudioReseterCFv.s" +s32 JASAudioReseter::checkDone() const { + return mIsDone; } -#pragma pop /* ############################################################################################## */ /* 80455740-80455748 003D40 0008+00 1/1 0/0 0/0 .sdata2 @156 */ @@ -115,18 +113,13 @@ SECTION_SDATA2 static f64 lit_156 = 4503599627370496.0 /* cast u32 to float */; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JASAudioReseter::calc() { +asm s32 JASAudioReseter::calc() { nofralloc #include "asm/JSystem/JAudio2/JASAudioReseter/calc__15JASAudioReseterFv.s" } #pragma pop /* 8029D2D4-8029D2F4 297C14 0020+00 1/1 0/0 0/0 .text callback__15JASAudioReseterFPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASAudioReseter::callback(void* param_0) { - nofralloc -#include "asm/JSystem/JAudio2/JASAudioReseter/callback__15JASAudioReseterFPv.s" +s32 JASAudioReseter::callback(void* param_0) { + return calc(); } -#pragma pop diff --git a/libs/JSystem/JAudio2/JASDriverIF.cpp b/libs/JSystem/JAudio2/JASDriverIF.cpp index 1697821fb1..a28a00037d 100644 --- a/libs/JSystem/JAudio2/JASDriverIF.cpp +++ b/libs/JSystem/JAudio2/JASDriverIF.cpp @@ -16,27 +16,6 @@ struct JASDsp { /* 8029DA30 */ void getDSPMixerLevel(); }; -struct JASDriver { - /* 8029E130 */ void setDSPLevel(f32); - /* 8029E150 */ u16 getChannelLevel_dsp(); - /* 8029E158 */ void getDSPLevel(); - /* 8029E178 */ void setOutputMode(u32); - /* 8029E180 */ u32 getOutputMode(); - /* 8029E188 */ void waitSubFrame(); - /* 8029E1C4 */ void rejectCallback(s32 (*)(void*), void*); - /* 8029E240 */ void registerDspSyncCallback(s32 (*)(void*), void*); - /* 8029E274 */ void registerSubFrameCallback(s32 (*)(void*), void*); - /* 8029E2A8 */ void subframeCallback(); - /* 8029E2D0 */ void DSPSyncCallback(); - /* 8029E2F8 */ void updateDacCallback(); - - static u8 sDspSyncCallback[256]; - static u8 sSubFrameCallback[256]; - static u8 sUpdateDacCallback[256 + 8 /* padding */]; - static u16 MAX_MIXERLEVEL[1 + 1 /* padding */]; - static u32 JAS_SYSTEM_OUTPUT_MODE; -}; - struct JASCallbackMgr { struct TCallback { /* 8029E3A0 */ TCallback(); @@ -118,7 +97,7 @@ u16 JASDriver::getChannelLevel_dsp() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JASDriver::getDSPLevel() { +asm f32 JASDriver::getDSPLevel() { nofralloc #include "asm/JSystem/JAudio2/JASDriverIF/getDSPLevel__9JASDriverFv.s" } @@ -169,7 +148,7 @@ u8 JASDriver::sUpdateDacCallback[256 + 8 /* padding */]; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JASDriver::rejectCallback(s32 (*param_0)(void*), void* param_1) { +asm void JASDriver::rejectCallback(DriverCallback callback, void* param_1) { nofralloc #include "asm/JSystem/JAudio2/JASDriverIF/rejectCallback__9JASDriverFPFPv_lPv.s" } @@ -180,7 +159,7 @@ asm void JASDriver::rejectCallback(s32 (*param_0)(void*), void* param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JASDriver::registerDspSyncCallback(s32 (*param_0)(void*), void* param_1) { +asm bool JASDriver::registerDspSyncCallback(DriverCallback callback, void* param_1) { nofralloc #include "asm/JSystem/JAudio2/JASDriverIF/registerDspSyncCallback__9JASDriverFPFPv_lPv.s" } @@ -191,7 +170,7 @@ asm void JASDriver::registerDspSyncCallback(s32 (*param_0)(void*), void* param_1 #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JASDriver::registerSubFrameCallback(s32 (*param_0)(void*), void* param_1) { +asm bool JASDriver::registerSubFrameCallback(DriverCallback callback, void* param_1) { nofralloc #include "asm/JSystem/JAudio2/JASDriverIF/registerSubFrameCallback__9JASDriverFPFPv_lPv.s" } diff --git a/libs/JSystem/JAudio2/JASSoundParams.cpp b/libs/JSystem/JAudio2/JASSoundParams.cpp index e87afb54de..9228bc7b69 100644 --- a/libs/JSystem/JAudio2/JASSoundParams.cpp +++ b/libs/JSystem/JAudio2/JASSoundParams.cpp @@ -7,15 +7,6 @@ #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct JASSoundParams { - /* 8029E3B0 */ void clamp(); - /* 8029E47C */ void combine(JASSoundParams const&, JASSoundParams const&); -}; - // // Forward References: // diff --git a/libs/JSystem/JAudio2/JASTrack.cpp b/libs/JSystem/JAudio2/JASTrack.cpp index 6211c79000..bab33a8ea3 100644 --- a/libs/JSystem/JAudio2/JASTrack.cpp +++ b/libs/JSystem/JAudio2/JASTrack.cpp @@ -32,112 +32,6 @@ struct JASTrackPort { /* 802935E8 */ void writeExport(u32, u16); }; -struct JASDsp { - struct TChannel { - /* 8029E00C */ void setFilterMode(u16); - /* 8029E044 */ void setIIRFilterParam(s16*); - /* 8029E06C */ void setFIR8FilterParam(s16*); - }; - - static u32 FILTER_MODE_IIR; -}; - -struct JASOscillator { - struct Point {}; - - struct Data {}; -}; - -struct JASChannel { - /* 8029AAD0 */ void release(u16); - /* 8029AB64 */ void setOscInit(u32, JASOscillator::Data const*); - /* 8029AB98 */ void setMixConfig(u32, u16); - /* 8029ACD4 */ void setKeySweepTarget(s32, u32); - /* 8029BBFC */ void free(); -}; - -struct JASSoundParams {}; - -struct JASTrack { - struct TChannelMgr { - /* 802930DC */ TChannelMgr(JASTrack*); - /* 80293148 */ void init(); - /* 802931B0 */ void releaseAll(); - /* 80293220 */ void noteOff(u32, u16); - /* 802932A0 */ void setPauseFlag(bool); - }; - - struct TList { - /* 80292F6C */ void cbSeqMain(void*); - /* 80292F90 */ void append(JASTrack*); - /* 8029301C */ void seqMain(); - /* 8029345C */ ~TList(); - }; - - struct MoveParam_ { - /* 802932C8 */ MoveParam_(); - }; - - /* 80291228 */ JASTrack(); - /* 8029131C */ ~JASTrack(); - /* 80291444 */ void setChannelMgrCount(u32); - /* 802915D4 */ void init(); - /* 802918FC */ void initTimed(); - /* 8029194C */ void inherit(JASTrack const&); - /* 802919F4 */ void assignExtBuffer(u32, JASSoundParams*); - /* 80291A08 */ void setSeqData(void*, u32); - /* 80291A28 */ void startSeq(); - /* 80291A78 */ void stopSeq(); - /* 80291ABC */ void start(); - /* 80291AC8 */ void close(); - /* 80291B8C */ void connectChild(u32, JASTrack*); - /* 80291BB8 */ void closeChild(u32); - /* 80291C30 */ void openChild(u32); - /* 80291DAC */ void connectBus(int, int); - /* 80291DBC */ void setLatestKey(u8); - /* 80291DF8 */ void channelStart(JASTrack::TChannelMgr*, u32, u32, u32); - /* 80291F38 */ void noteOn(u32, u32, u32); - /* 80292008 */ void gateOn(u32, u32, f32, u32); - /* 80292198 */ void noteOff(u32, u16); - /* 80292220 */ void checkNoteStop(u32) const; - /* 8029226C */ void overwriteOsc(JASChannel*); - /* 802922D8 */ void updateTimedParam(); - /* 80292348 */ void updateTrack(f32); - /* 802924E4 */ void updateTempo(); - /* 80292580 */ void updateSeq(bool, f32); - /* 80292644 */ void seqTimeToDspTime(f32); - /* 802926E0 */ void setParam(u32, f32, u32); - /* 80292708 */ void noteOffAll(u16); - /* 802927A0 */ void mute(bool); - /* 802927D8 */ void setOscScale(u32, f32); - /* 802927E8 */ void setOscTable(u32, JASOscillator::Point const*); - /* 80292808 */ void setOscAdsr(s16, s16, s16, s16, u16); - /* 8029285C */ void setFIR(s16 const*); - /* 8029289C */ void setIIR(s16 const*); - /* 802928D0 */ void readPortSelf(u32); - /* 802928F4 */ void writePortSelf(u32, u16); - /* 80292918 */ void writePort(u32, u16); - /* 8029297C */ void readPort(u32); - /* 802929A0 */ void setChannelPauseFlag(bool); - /* 80292A3C */ void pause(bool); - /* 80292AA4 */ void getTransposeTotal() const; - /* 80292AF4 */ void isMute() const; - /* 80292B58 */ void setTempo(u16); - /* 80292B8C */ void setTempoRate(f32); - /* 80292BC0 */ void setTimebase(u16); - /* 80292BF4 */ void updateChannel(JASChannel*, JASDsp::TChannel*); - /* 80292CA4 */ void channelUpdateCallback(u32, JASChannel*, JASDsp::TChannel*, void*); - /* 80292D88 */ void getRootTrack(); - /* 80292DA0 */ void tickProc(); - /* 80292E9C */ void seqMain(); - - static u8 const sAdsTable[24]; - static u8 const sEnvOsc[24]; - static u8 const sPitchEnvOsc[24]; - static u8 sDefaultBankTable[1036]; - static u8 sTrackList[16]; -}; - struct JASSeqCtrl { struct IntrType {}; diff --git a/libs/Z2AudioLib/Z2Audience.cpp b/libs/Z2AudioLib/Z2Audience.cpp index 54b66fe6e0..4bf359b0d5 100644 --- a/libs/Z2AudioLib/Z2Audience.cpp +++ b/libs/Z2AudioLib/Z2Audience.cpp @@ -11,18 +11,6 @@ // Types: // -struct JASSoundParams { - /* 8029E3B0 */ void clamp(); - /* 8029E47C */ void combine(JASSoundParams const&, JASSoundParams const&); -}; - -struct JGeometry { - template - struct TVec3 {}; - /* TVec3 */ - struct TVec3__template0 {}; -}; - struct Z2Audible { /* 802BBD94 */ Z2Audible(JGeometry::TVec3 const&, JGeometry::TVec3 const*, u32, bool); /* 802BBE98 */ void calc(); @@ -33,30 +21,6 @@ struct Z2Audible { /* 802BD510 */ ~Z2Audible(); }; -struct Vec {}; - -struct Z2AudioCamera { - /* 802BC758 */ Z2AudioCamera(); - /* 802BC788 */ void init(); - /* 802BC8AC */ void setCameraState(f32 (*)[4], Vec&, Vec&, f32, f32, bool, bool); - /* 802BC7DC */ void setCameraState(f32 const (*)[4], Vec&, bool); - /* 802BCBEC */ void convertAbsToRel(Z2Audible*, int); - /* 802BCC7C */ void convertAbsToRel(Vec&, Vec*) const; - /* 802BCCC0 */ void isInSight(Vec&) const; -}; - -struct Z2SpotMic { - /* 802BCD28 */ Z2SpotMic(); - /* 802BCDA8 */ void clearMicState(int); - /* 802BCDE8 */ void calcVolumeFactor(int); - /* 802BCE14 */ void setMicState(Z2AudioCamera*, int); - /* 802BCF5C */ void calcMicDist(Z2Audible*); - /* 802BCFE4 */ void calcMicPriority(f32); - /* 802BD03C */ void calcMicVolume(f32, int, f32); -}; - -struct JAISoundID {}; - struct Z2SoundInfo { /* 802BB158 */ void getAudibleSwFull(JAISoundID); }; @@ -79,48 +43,6 @@ struct Z2Calc { /* 802A96F4 */ void getParamByExp(f32, f32, f32, f32, f32, f32, Z2Calc::CurveSign); }; -struct Z2Audience3DSetting { - /* 802BC248 */ Z2Audience3DSetting(); - /* 802BC284 */ void init(); - /* 802BC308 */ void initVolumeDist(); - /* 802BC4D0 */ void updateVolumeDist(f32); - /* 802BC6A4 */ void initDolbyDist(); - /* 802BC6F8 */ void updateDolbyDist(f32, f32); -}; - -struct JAIAudible { - /* 8029EFAC */ ~JAIAudible(); -}; - -struct Z2AudibleChannel { - /* 802BBE74 */ Z2AudibleChannel(); -}; - -struct Z2Audience { - /* 802BD130 */ Z2Audience(); - /* 802BD1FC */ ~Z2Audience(); - /* 802BD2DC */ void setAudioCamera(f32 (*)[4], Vec&, Vec&, f32, f32, bool, int, bool); - /* 802BD338 */ void newAudible(JGeometry::TVec3 const&, JAISoundID, - JGeometry::TVec3 const*, u32); - /* 802BD4D4 */ void deleteAudible(JAIAudible*); - /* 802BD5B8 */ void calcPriority(JAIAudible*); - /* 802BD704 */ void calcOffMicSound(f32); - /* 802BD71C */ void mixChannelOut(JASSoundParams const&, JAIAudible*, int); - /* 802BD90C */ void setTargetVolume(f32, int); - /* 802BD92C */ void convertAbsToRel(Vec&, Vec*, int); - /* 802BD95C */ void calcRelPosVolume(Vec const&, f32, int); - /* 802BDA44 */ void calcRelPosPan(Vec const&, int); - /* 802BDB44 */ void calcRelPosDolby(Vec const&, int); - /* 802BDBDC */ void calcVolume_(f32, int) const; - /* 802BDC44 */ void calcDeltaPriority_(f32, int, bool) const; - /* 802BDCB0 */ void calcPitchDoppler_(JGeometry::TVec3 const&, - JGeometry::TVec3 const&, - JGeometry::TVec3 const&, f32) const; - /* 802BDD00 */ void calcFxMix_(f32, int) const; - /* 802BDD48 */ void calcPitch_(Z2AudibleChannel*, Z2Audible const*, Z2AudioCamera const*) const; - /* 802BDED4 */ void getMaxChannels(); -}; - struct Z2AudibleAbsPos { /* 802BBCDC */ void calc(JGeometry::TVec3 const&); /* 802BBD18 */ void init(JGeometry::TVec3*, JGeometry::TVec3 const&, @@ -145,10 +67,6 @@ struct JASGenericMemPool { /* 80290994 */ void free(void*, u32); }; -struct JAIAudience { - /* 8029EFF4 */ ~JAIAudience(); -}; - // // Forward References: // @@ -222,11 +140,6 @@ extern "C" void linearTransform__6Z2CalcFfffffb(); extern "C" void getParamByExp__6Z2CalcFffffffQ26Z2Calc9CurveSign(); extern "C" void getAudibleSwFull__11Z2SoundInfoF10JAISoundID(); extern "C" void __dl__FPv(); -extern "C" void PSMTXIdentity(); -extern "C" void PSMTXRotAxisRad(); -extern "C" void PSMTXMultVec(); -extern "C" void PSVECSubtract(); -extern "C" void PSVECMag(); extern "C" void __register_global_object(); extern "C" void __construct_array(); extern "C" void __cvt_fp2unsigned(); @@ -748,7 +661,8 @@ asm Z2Audience::Z2Audience() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm Z2Audience::~Z2Audience() { +extern "C" asm void __dt__10Z2AudienceFv() { + // asm Z2Audience::~Z2Audience() { nofralloc #include "asm/Z2AudioLib/Z2Audience/__dt__10Z2AudienceFv.s" } @@ -794,8 +708,8 @@ u8 data_80451354[4]; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void Z2Audience::newAudible(JGeometry::TVec3 const& param_0, JAISoundID param_1, - JGeometry::TVec3 const* param_2, u32 param_3) { +asm JAIAudible* Z2Audience::newAudible(JGeometry::TVec3 const& param_0, JAISoundID param_1, + JGeometry::TVec3 const* param_2, u32 param_3) { nofralloc #include "asm/Z2AudioLib/Z2Audience/func_802BD338.s" } diff --git a/libs/Z2AudioLib/Z2AudioMgr.cpp b/libs/Z2AudioLib/Z2AudioMgr.cpp index 568ca39d77..a43073d9e1 100644 --- a/libs/Z2AudioLib/Z2AudioMgr.cpp +++ b/libs/Z2AudioLib/Z2AudioMgr.cpp @@ -4,6 +4,7 @@ // #include "Z2AudioLib/Z2AudioMgr.h" +#include "JSystem/JAudio2/JASDriverIF.h" #include "dol2asm.h" #include "dolphin/types.h" @@ -11,18 +12,6 @@ // Types: // -struct Z2SpeechMgr2 { - /* 802CBC60 */ Z2SpeechMgr2(); - /* 802CC9D0 */ void framework(); -}; - -struct Z2SoundMgr { - /* 802A9E80 */ Z2SoundMgr(); - /* 802AA67C */ void framework(); - /* 802AA84C */ void stopSync(); - /* 802AA908 */ void initParams(); -}; - struct Z2Param { static f32 VOL_BGM_DEFAULT; static f32 VOL_SE_SYSTEM_DEFAULT; @@ -35,10 +24,6 @@ struct Z2Param { static f32 VOL_SE_ATMOSPHERE_DEFAULT; }; -struct Z2FxLineMgr { - /* 802BA7DC */ Z2FxLineMgr(); -}; - struct JAUSection { /* 802A50F8 */ void finishBuild(); }; @@ -47,10 +32,6 @@ struct Z2AudioArcLoader { /* 802A9A34 */ Z2AudioArcLoader(JAUSection*); }; -struct Z2Audience { - /* 802BD130 */ Z2Audience(); -}; - struct JAU_JASInitializer { /* 802A4AD0 */ JAU_JASInitializer(); /* 802A4B28 */ void initJASystem(JKRSolidHeap*); @@ -126,10 +107,6 @@ struct JASGenericMemPool { /* 802908C8 */ void newMemPool(u32, int); }; -struct JASDriver { - /* 8029E178 */ void setOutputMode(u32); -}; - struct JASAramStream { static u8 sBlockSize[4]; }; @@ -138,24 +115,10 @@ struct JAIStreamAramMgr { /* 802A3B20 */ ~JAIStreamAramMgr(); }; -struct JAISoundParamsMove { - /* 802A2DB4 */ void moveVolume(f32, u32); -}; - struct JAISoundInfo { /* 802A2D34 */ JAISoundInfo(bool); }; -struct JAISeqDataMgr {}; - -struct JAISeCategoryArrangement {}; - -struct JAISeMgr { - /* 802A0268 */ void setCategoryArrangement(JAISeCategoryArrangement const&); - /* 802A03E0 */ void setSeqDataMgr(JAISeqDataMgr*); - /* 802A08D0 */ void getNumActiveSe() const; -}; - // // Forward References: // @@ -363,44 +326,40 @@ extern "C" asm void func_802CD7F8(void* _this) { #pragma pop /* 802CD888-802CD8B4 2C81C8 002C+00 0/0 5/5 0/0 .text setOutputMode__10Z2AudioMgrFUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void Z2AudioMgr::setOutputMode(u32 param_0) { - nofralloc -#include "asm/Z2AudioLib/Z2AudioMgr/setOutputMode__10Z2AudioMgrFUl.s" +void Z2AudioMgr::setOutputMode(u32 mode) { + if (mode <= 2) { + JASDriver::setOutputMode(mode); + } } -#pragma pop /* 802CD8B4-802CD904 2C81F4 0050+00 1/1 0/0 0/0 .text zeldaGFrameWork__10Z2AudioMgrFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void Z2AudioMgr::zeldaGFrameWork() { - nofralloc -#include "asm/Z2AudioLib/Z2AudioMgr/zeldaGFrameWork__10Z2AudioMgrFv.s" +void Z2AudioMgr::zeldaGFrameWork() { + mStatusMgr.processTime(); + mSpeechMgr.framework(); + mSeMgr.processSeFramework(); + mSeqMgr.processBgmFramework(); + mStatusMgr.processHeartGaugeSound(); } -#pragma pop /* 802CD904-802CD974 2C8244 0070+00 0/0 1/1 0/0 .text gframeProcess__10Z2AudioMgrFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void Z2AudioMgr::gframeProcess() { - nofralloc -#include "asm/Z2AudioLib/Z2AudioMgr/gframeProcess__10Z2AudioMgrFv.s" +void Z2AudioMgr::gframeProcess() { + zeldaGFrameWork(); + if (mResettingFlag && mAudioReseter.checkDone()) { + if (!field_0x519) { + mSoundMgr.stopSync(); + } + } else { + mSoundMgr.framework(); + mSceneMgr.framework(); + } } -#pragma pop /* 802CD974-802CD9CC 2C82B4 0058+00 0/0 3/3 0/0 .text resetProcess__10Z2AudioMgrFUlb */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void Z2AudioMgr::resetProcess(u32 param_0, bool param_1) { - nofralloc -#include "asm/Z2AudioLib/Z2AudioMgr/resetProcess__10Z2AudioMgrFUlb.s" +void Z2AudioMgr::resetProcess(u32 param_0, bool param_1) { + mAudioReseter.start(param_0 * JASDriver::getSubFrames(), param_1); + field_0x519 = param_1; + mResettingFlag = true; } -#pragma pop /* ############################################################################################## */ /* 80455F60-80455F68 004560 0004+04 1/1 0/0 0/0 .sdata2 @4035 */ @@ -411,6 +370,20 @@ SECTION_SDATA2 static f32 lit_4035[1 + 1 /* padding */] = { }; /* 802CD9CC-802CDA6C 2C830C 00A0+00 0/0 1/1 0/0 .text resetRecover__10Z2AudioMgrFv */ +// matches with literals +#ifdef NONMATCHING +void Z2AudioMgr::resetRecover() { + mAudioReseter.resume(); + mSoundMgr.initParams(); + mResettingFlag = false; + + mSeqMgr.setTwilightGateVol(1.0f); + mSeqMgr.setWindStoneVol(1.0f, 0); + mStatusMgr.menuOut(); + mSeqMgr.bgmAllUnMute(0); + mSeqMgr.unMuteSceneBgm(0); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -419,12 +392,13 @@ asm void Z2AudioMgr::resetRecover() { #include "asm/Z2AudioLib/Z2AudioMgr/resetRecover__10Z2AudioMgrFv.s" } #pragma pop +#endif /* 802CDA6C-802CDB1C 2C83AC 00B0+00 0/0 2/2 0/0 .text hasReset__10Z2AudioMgrCFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void Z2AudioMgr::hasReset() const { +asm bool Z2AudioMgr::hasReset() const { nofralloc #include "asm/Z2AudioLib/Z2AudioMgr/hasReset__10Z2AudioMgrCFv.s" } diff --git a/libs/Z2AudioLib/Z2Creature.cpp b/libs/Z2AudioLib/Z2Creature.cpp index 5e7523ee06..b548e64be1 100644 --- a/libs/Z2AudioLib/Z2Creature.cpp +++ b/libs/Z2AudioLib/Z2Creature.cpp @@ -100,11 +100,6 @@ struct Z2Audience { /* 802BDB44 */ void calcRelPosDolby(Vec const&, int); }; -struct JAISoundParamsMove { - /* 802A2DB4 */ void moveVolume(f32, u32); - /* 802A2E0C */ void movePitch(f32, u32); -}; - // // Forward References: // @@ -890,7 +885,8 @@ asm Z2CreatureEnemy::Z2CreatureEnemy() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void Z2CreatureEnemy::deleteObject() { +extern "C" asm void deleteObject__15Z2CreatureEnemyFv() { + // asm void Z2CreatureEnemy::deleteObject() { nofralloc #include "asm/Z2AudioLib/Z2Creature/deleteObject__15Z2CreatureEnemyFv.s" } diff --git a/libs/Z2AudioLib/Z2FxLineMgr.cpp b/libs/Z2AudioLib/Z2FxLineMgr.cpp index 117dedad14..c74427a3e6 100644 --- a/libs/Z2AudioLib/Z2FxLineMgr.cpp +++ b/libs/Z2AudioLib/Z2FxLineMgr.cpp @@ -11,27 +11,6 @@ // Types: // -struct JKRHeap { - /* 802CE500 */ void free(void*, JKRHeap*); -}; - -struct JKRArchive { - /* 802D5D38 */ void getResource(u16); - /* 802D610C */ void countResource() const; -}; - -struct Z2FxLineConfig {}; - -struct Z2FxLineMgr { - /* 802BA7DC */ Z2FxLineMgr(); - /* 802BA7FC */ void initDataArc(JKRArchive*, JKRHeap*); - /* 802BAC28 */ void setLineID(s8, bool, bool); - /* 802BAC74 */ void setLine(Z2FxLineConfig*, bool, bool); - /* 802BAE1C */ void setFxForceOff(bool); - /* 802BAE48 */ void setUnderWaterFx(bool); - /* 802BAEB8 */ void setSceneFx(s32); -}; - struct JSUMemoryInputStream { /* 802DC520 */ void setBuffer(void const*, s32); }; diff --git a/libs/Z2AudioLib/Z2LinkMgr.cpp b/libs/Z2AudioLib/Z2LinkMgr.cpp index b50ed208c2..b65cfd2804 100644 --- a/libs/Z2AudioLib/Z2LinkMgr.cpp +++ b/libs/Z2AudioLib/Z2LinkMgr.cpp @@ -4,6 +4,7 @@ // #include "Z2AudioLib/Z2LinkMgr.h" +#include "Z2AudioLib/Z2Creature.h" #include "dol2asm.h" #include "dolphin/types.h" @@ -19,35 +20,10 @@ struct dSv_event_c { /* 800349BC */ void isEventBit(u16) const; }; -struct JGeometry { - template - struct TVec3 {}; - /* TVec3 */ - struct TVec3__template0 {}; -}; - -struct JAISoundID {}; - -struct JAISoundHandle {}; - -struct Z2SoundStarter { - /* 802AAB94 */ Z2SoundStarter(bool); - /* 802AAC3C */ void startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3 const*, u32, - f32, f32, f32, f32, f32, u32); - /* 802AABF4 */ void startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3 const*); - /* 802AAEDC */ void setPortData(JAISoundHandle*, u32, u16, s8); -}; - -struct Z2SoundObjSimple { - /* 802BE844 */ Z2SoundObjSimple(); -}; - struct Z2SoundObjMgr { /* 802BFFEC */ void setGhostEnemyState(u8); }; -struct Vec {}; - struct Z2SoundObjCoach { /* 802C54B8 */ Z2SoundObjCoach(); /* 802C54FC */ void init(Vec*, u8); @@ -56,27 +32,6 @@ struct Z2SoundObjCoach { /* 802C57C0 */ void startSound(JAISoundID, u32, s8); }; -struct Z2SoundHandlePool {}; - -struct Z2SoundObjBase { - /* 802BDEF0 */ Z2SoundObjBase(); - /* 802BDF48 */ ~Z2SoundObjBase(); - /* 802BDFB0 */ void init(Vec*, u8); - /* 802BDFF8 */ void deleteObject(); - /* 802BE038 */ void framework(u32, s8); - /* 802BE070 */ void dispose(); - /* 802BE104 */ void stopOK(Z2SoundHandlePool&); - /* 802BE144 */ void startSound(JAISoundID, u32, s8); - /* 802BE2D4 */ void startLevelSound(JAISoundID, u32, s8); - /* 802BE4A4 */ void startCollisionSE(u32, u32, Z2SoundObjBase*); -}; - -struct Z2SoundHandles { - /* 802AB254 */ void getHandleSoundID(JAISoundID); - /* 802AB4A0 */ void stopAllSounds(u32); - /* 802AB504 */ void isActive() const; -}; - struct Z2SeqMgr { /* 802B4844 */ void setBattleSeqState(u8); /* 802B4AFC */ void setBattleLastHit(u8); @@ -87,79 +42,10 @@ struct Z2SeMgr { /* 802AC50C */ void seStartLevel(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); }; -struct Z2CreatureRide { - /* 802C4FFC */ Z2CreatureRide(); - /* 802C5114 */ ~Z2CreatureRide(); - /* 802C51EC */ void deleteObject(); - /* 802C520C */ void init(Vec*, Vec*, u8, u8); - /* 802C522C */ void setLinkRiding(bool); -}; - -struct Z2RideSoundStarter { - /* 802C5078 */ ~Z2RideSoundStarter(); - /* 802C5234 */ Z2RideSoundStarter(Z2CreatureRide*); - /* 802C5284 */ void startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3 const*, u32, - f32, f32, f32, f32, f32, u32); -}; - -struct Z2LinkSoundStarter { - /* 802C3464 */ ~Z2LinkSoundStarter(); - /* 802C48E8 */ Z2LinkSoundStarter(); - /* 802C4928 */ void startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3 const*, u32, - f32, f32, f32, f32, f32, u32); -}; - struct Z2FxLineMgr { /* 802BAE1C */ void setFxForceOff(bool); }; -struct Z2CreatureLink { - /* 802C321C */ void setLinkGroupInfo(u8); - /* 802C3220 */ void setLinkHp(s32, s32); - /* 802C3228 */ void setLinkSwordType(s32, s32); - /* 802C328C */ void setLinkShieldType(s32, s32); - /* 802C32F0 */ void setLinkBootsType(s32); - /* 802C333C */ Z2CreatureLink(); - /* 802C3500 */ ~Z2CreatureLink(); - /* 802C35F8 */ void deleteObject(); - /* 802C3638 */ void init(Vec*, Vec*, Vec*); - /* 802C3710 */ void initKantera(Vec*); - /* 802C374C */ void deleteKantera(); - /* 802C3778 */ void setKanteraState(u8); - /* 802C3780 */ void framework(u32, s8); - /* 802C3A64 */ void setSinkDepth(s8); - /* 802C3A6C */ void setRiding(bool); - /* 802C3AEC */ void setMagnetized(bool); - /* 802C3AFC */ void setWolfEyeOpen(bool); - /* 802C3BD4 */ void startLinkSound(JAISoundID, u32, s8); - /* 802C3E68 */ void startLinkSoundLevel(JAISoundID, u32, s8); - /* 802C4320 */ void startLinkVoice(JAISoundID, s8); - /* 802C45B0 */ void startLinkVoiceLevel(JAISoundID, s8); - /* 802C46F0 */ void startLinkSwordSound(JAISoundID, u32, s8); - /* 802C4784 */ void startCollisionSE(u32, u32); - /* 802C4814 */ void startHitItemSE(u32, u32, Z2SoundObjBase*, f32); - /* 802C48D8 */ void setResumeAttack(bool); - - static u8 mLinkPtr[4 + 4 /* padding */]; -}; - -struct Z2Creature { - /* 802C03C8 */ Z2Creature(); - /* 802C0420 */ ~Z2Creature(); - /* 802C04E8 */ void deleteObject(); - /* 802C0530 */ void init(Vec*, Vec*, u8, u8); - /* 802C05B0 */ void init(Vec*, Vec*, Vec*, u8, u8, u8); - /* 802C0618 */ void setSoundStarter(Z2SoundStarter*); - /* 802C064C */ void framework(u32, s8); - /* 802C0720 */ void startCreatureSound(JAISoundID, u32, s8); - /* 802C087C */ void startCreatureSoundLevel(JAISoundID, u32, s8); - /* 802C0A4C */ void startCreatureVoice(JAISoundID, s8); - /* 802C0AF8 */ void startCreatureVoiceLevel(JAISoundID, s8); - /* 802C0B70 */ void startCreatureExtraSound(JAISoundID, u32, s8); - /* 802C0BAC */ void startCreatureExtraSoundLevel(JAISoundID, u32, s8); - /* 802C0BE8 */ void startCollisionSE(u32, u32); -}; - struct Z2Calc { struct CurveSign {}; @@ -171,19 +57,6 @@ struct Z2Audience { /* 802BD90C */ void setTargetVolume(f32, int); }; -struct JAISoundStarter { - /* 802A2F88 */ ~JAISoundStarter(); -}; - -struct JAISoundParamsMove { - /* 802A2DB4 */ void moveVolume(f32, u32); - /* 802A2E0C */ void movePitch(f32, u32); -}; - -struct JAISound { - /* 802A24DC */ void stop(u32); -}; - // // Forward References: // @@ -284,7 +157,6 @@ extern "C" void startCreatureExtraSound__10Z2CreatureF10JAISoundIDUlSc(); extern "C" void startCreatureExtraSoundLevel__10Z2CreatureF10JAISoundIDUlSc(); extern "C" void startCollisionSE__10Z2CreatureFUlUl(); extern "C" void __dl__FPv(); -extern "C" void PSVECSquareDistance(); extern "C" void _savegpr_24(); extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); @@ -315,8 +187,8 @@ void Z2CreatureLink::setLinkGroupInfo(u8 param_0) { } /* 802C3220-802C3228 -00001 0008+00 0/0 0/0 0/0 .text setLinkHp__14Z2CreatureLinkFll */ -void Z2CreatureLink::setLinkHp(s32 param_0, s32 param_1) { - *(u8*)(((u8*)this) + 195) /* this->field_0xc3 */ = (u8)(param_0); +void Z2CreatureLink::setLinkHp(s32 hp, s32 param_1) { + mLinkHp = hp; } /* 802C3228-802C328C 2BDB68 0064+00 0/0 1/1 0/0 .text setLinkSwordType__14Z2CreatureLinkFll */ @@ -419,7 +291,7 @@ SECTION_DATA extern void* __vt__14Z2CreatureLink[18] = { }; /* 80451360-80451368 000860 0004+04 3/3 15/15 0/0 .sbss mLinkPtr__14Z2CreatureLink */ -u8 Z2CreatureLink::mLinkPtr[4 + 4 /* padding */]; +Z2CreatureLink* Z2CreatureLink::mLinkPtr; /* 802C333C-802C3464 2BDC7C 0128+00 0/0 1/1 0/0 .text __ct__14Z2CreatureLinkFv */ #pragma push @@ -435,7 +307,8 @@ asm Z2CreatureLink::Z2CreatureLink() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm Z2LinkSoundStarter::~Z2LinkSoundStarter() { +extern "C" asm void __dt__18Z2LinkSoundStarterFv() { + // asm Z2LinkSoundStarter::~Z2LinkSoundStarter() { nofralloc #include "asm/Z2AudioLib/Z2LinkMgr/__dt__18Z2LinkSoundStarterFv.s" } @@ -455,7 +328,8 @@ asm Z2CreatureLink::~Z2CreatureLink() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void Z2CreatureLink::deleteObject() { +extern "C" asm void deleteObject__14Z2CreatureLinkFv() { + // asm void Z2CreatureLink::deleteObject() { nofralloc #include "asm/Z2AudioLib/Z2LinkMgr/deleteObject__14Z2CreatureLinkFv.s" } @@ -484,18 +358,14 @@ asm void Z2CreatureLink::initKantera(Vec* param_0) { /* 802C374C-802C3778 2BE08C 002C+00 1/1 1/1 0/0 .text deleteKantera__14Z2CreatureLinkFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void Z2CreatureLink::deleteKantera() { - nofralloc -#include "asm/Z2AudioLib/Z2LinkMgr/deleteKantera__14Z2CreatureLinkFv.s" +void Z2CreatureLink::deleteKantera() { + mKanteraState = 0; + mKantera.deleteObject(); } -#pragma pop /* 802C3778-802C3780 -00001 0008+00 0/0 0/0 0/0 .text setKanteraState__14Z2CreatureLinkFUc */ -void Z2CreatureLink::setKanteraState(u8 param_0) { - *(u8*)(((u8*)this) + 197) /* this->field_0xc5 */ = (u8)(param_0); +void Z2CreatureLink::setKanteraState(u8 state) { + mKanteraState = state; } /* ############################################################################################## */ @@ -535,8 +405,8 @@ asm void Z2CreatureLink::framework(u32 param_0, s8 param_1) { /* 802C3A64-802C3A6C -00001 0008+00 0/0 0/0 0/0 .text setSinkDepth__14Z2CreatureLinkFSc */ -void Z2CreatureLink::setSinkDepth(s8 param_0) { - *(u8*)(((u8*)this) + 202) /* this->field_0xca */ = (u8)(param_0); +void Z2CreatureLink::setSinkDepth(s8 sinkDepth) { + mSinkDepth = sinkDepth; } /* ############################################################################################## */ @@ -555,6 +425,11 @@ asm void Z2CreatureLink::setRiding(bool param_0) { /* 802C3AEC-802C3AFC 2BE42C 0010+00 0/0 5/5 0/0 .text setMagnetized__14Z2CreatureLinkFb */ +#ifdef NONMATCHING +void Z2CreatureLink::setMagnetized(bool param_0) { + mFlags = param_0 & 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -563,6 +438,7 @@ asm void Z2CreatureLink::setMagnetized(bool param_0) { #include "asm/Z2AudioLib/Z2LinkMgr/setMagnetized__14Z2CreatureLinkFb.s" } #pragma pop +#endif /* 802C3AFC-802C3BD4 2BE43C 00D8+00 0/0 2/2 0/0 .text setWolfEyeOpen__14Z2CreatureLinkFb */ @@ -709,8 +585,8 @@ SECTION_SDATA2 static f32 lit_4178 = 100.0f; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void Z2CreatureLink::startHitItemSE(u32 param_0, u32 param_1, Z2SoundObjBase* param_2, - f32 param_3) { +asm int Z2CreatureLink::startHitItemSE(u32 param_0, u32 param_1, Z2SoundObjBase* param_2, + f32 param_3) { nofralloc #include "asm/Z2AudioLib/Z2LinkMgr/startHitItemSE__14Z2CreatureLinkFUlUlP14Z2SoundObjBasef.s" } @@ -728,14 +604,7 @@ asm void Z2CreatureLink::setResumeAttack(bool param_0) { #pragma pop /* 802C48E8-802C4928 2BF228 0040+00 1/1 0/0 0/0 .text __ct__18Z2LinkSoundStarterFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm Z2LinkSoundStarter::Z2LinkSoundStarter() { - nofralloc -#include "asm/Z2AudioLib/Z2LinkMgr/__ct__18Z2LinkSoundStarterFv.s" -} -#pragma pop +Z2LinkSoundStarter::Z2LinkSoundStarter() : Z2SoundStarter(false) {} /* ############################################################################################## */ /* 80455D1C-80455D20 00431C 0004+00 2/2 0/0 0/0 .sdata2 @4399 */ @@ -769,7 +638,8 @@ asm Z2CreatureRide::Z2CreatureRide() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm Z2RideSoundStarter::~Z2RideSoundStarter() { +extern "C" asm void __dt__18Z2RideSoundStarterFv() { + // asm Z2RideSoundStarter::~Z2RideSoundStarter() { nofralloc #include "asm/Z2AudioLib/Z2LinkMgr/__dt__18Z2RideSoundStarterFv.s" } @@ -789,38 +659,29 @@ asm Z2CreatureRide::~Z2CreatureRide() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void Z2CreatureRide::deleteObject() { +extern "C" asm void deleteObject__14Z2CreatureRideFv() { + // asm void Z2CreatureRide::deleteObject() { nofralloc #include "asm/Z2AudioLib/Z2LinkMgr/deleteObject__14Z2CreatureRideFv.s" } #pragma pop /* 802C520C-802C522C 2BFB4C 0020+00 0/0 0/0 3/3 .text init__14Z2CreatureRideFP3VecP3VecUcUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void Z2CreatureRide::init(Vec* param_0, Vec* param_1, u8 param_2, u8 param_3) { - nofralloc -#include "asm/Z2AudioLib/Z2LinkMgr/init__14Z2CreatureRideFP3VecP3VecUcUc.s" +void Z2CreatureRide::init(Vec* param_0, Vec* param_1, u8 param_2, u8 param_3) { + Z2Creature::init(param_0, param_1, param_2, param_3); } -#pragma pop /* 802C522C-802C5234 -00001 0008+00 0/0 0/0 0/0 .text setLinkRiding__14Z2CreatureRideFb */ -void Z2CreatureRide::setLinkRiding(bool param_0) { - *(u8*)(((u8*)this) + 152) /* this->field_0x98 */ = (u8)(param_0); +void Z2CreatureRide::setLinkRiding(bool isRiding) { + mLinkRiding = isRiding; } /* 802C5234-802C5284 2BFB74 0050+00 1/1 0/0 0/0 .text __ct__18Z2RideSoundStarterFP14Z2CreatureRide */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm Z2RideSoundStarter::Z2RideSoundStarter(Z2CreatureRide* param_0) { - nofralloc -#include "asm/Z2AudioLib/Z2LinkMgr/__ct__18Z2RideSoundStarterFP14Z2CreatureRide.s" +Z2RideSoundStarter::Z2RideSoundStarter(Z2CreatureRide* ride) : Z2SoundStarter(false) { + mRide = ride; } -#pragma pop /* 802C5284-802C54B8 2BFBC4 0234+00 2/0 0/0 0/0 .text * startSound__18Z2RideSoundStarterF10JAISoundIDP14JAISoundHandlePCQ29JGeometry8TVec3UlfffffUl */ diff --git a/libs/Z2AudioLib/Z2Param.cpp b/libs/Z2AudioLib/Z2Param.cpp index 7a905e64fd..6f62db087a 100644 --- a/libs/Z2AudioLib/Z2Param.cpp +++ b/libs/Z2AudioLib/Z2Param.cpp @@ -7,49 +7,6 @@ #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct Z2Param { - static f32 DISTANCE_MAX; - static f32 MAX_VOLUME_DISTANCE; - static f32 DOLBY_CENTER_VALUE; - static f32 DOLBY_FLONT_DISTANCE_MAX; - static f32 DOLBY_BEHIND_DISTANCE_MAX; - static f32 DISTANCE_FX_PARAM; - static f32 SONIC_SPEED; - static f32 VOL_BGM_DEFAULT; - static f32 VOL_SE_SYSTEM_DEFAULT; - static f32 VOL_SE_LINK_VOICE_DEFAULT; - static f32 VOL_SE_LINK_MOTION_DEFAULT; - static f32 VOL_SE_LINK_FOOTNOTE_DEFAULT; - static f32 VOL_SE_CHAR_VOICE_DEFAULT; - static f32 VOL_SE_CHAR_MOVE_DEFAULT; - static f32 VOL_SE_OBJECT_DEFAULT; - static f32 VOL_SE_ATMOSPHERE_DEFAULT; - static f32 VOL_BGM_TALKING; - static f32 VOL_SE_SYSTEM_TALKING; - static f32 VOL_SE_LINK_VOICE_TALKING; - static f32 VOL_SE_LINK_MOTION_TALKING; - static f32 VOL_SE_LINK_FOOTNOTE_TALKING; - static f32 VOL_SE_CHAR_VOICE_TALKING; - static f32 VOL_SE_CHAR_MOVE_TALKING; - static f32 VOL_SE_OBJECT_TALKING; - static f32 VOL_SE_ATMOSPHERE_TALKING; - static f32 VOL_BGM_PAUSING; - static f32 VOL_SE_SYSTEM_PAUSING; - static f32 VOL_SE_LINK_VOICE_PAUSING; - static f32 VOL_SE_LINK_MOTION_PAUSING; - static f32 VOL_SE_LINK_FOOTNOTE_PAUSING; - static f32 VOL_SE_CHAR_VOICE_PAUSING; - static f32 VOL_SE_CHAR_MOVE_PAUSING; - static f32 VOL_SE_OBJECT_PAUSING; - static f32 VOL_SE_ATMOSPHERE_PAUSING; - static f32 MIN_DISTANCE_VOLUME; - static f32 ENEMY_LASTHIT_MUTE_VOLUME; -}; - // // Forward References: // diff --git a/libs/Z2AudioLib/Z2SceneMgr.cpp b/libs/Z2AudioLib/Z2SceneMgr.cpp index 319fe22691..7bcc9989c3 100644 --- a/libs/Z2AudioLib/Z2SceneMgr.cpp +++ b/libs/Z2AudioLib/Z2SceneMgr.cpp @@ -101,10 +101,6 @@ struct JAIStreamMgr { /* 802B9978 */ void isActive() const; }; -struct JAISoundParamsMove { - /* 802A2DB4 */ void moveVolume(f32, u32); -}; - // // Forward References: // diff --git a/libs/Z2AudioLib/Z2SeMgr.cpp b/libs/Z2AudioLib/Z2SeMgr.cpp index 1e3631b637..4606d2030e 100644 --- a/libs/Z2AudioLib/Z2SeMgr.cpp +++ b/libs/Z2AudioLib/Z2SeMgr.cpp @@ -76,14 +76,6 @@ struct Z2Audience { /* 802BDB44 */ void calcRelPosDolby(Vec const&, int); }; -struct JAISoundParamsMove { - /* 802A2DB4 */ void moveVolume(f32, u32); - /* 802A2E0C */ void movePitch(f32, u32); - /* 802A2E64 */ void moveFxMix(f32, u32); - /* 802A2EBC */ void movePan(f32, u32); - /* 802A2F14 */ void moveDolby(f32, u32); -}; - struct JAISeCategoryMgr { /* 8029FDE0 */ void stop(u32); }; diff --git a/libs/Z2AudioLib/Z2SeqMgr.cpp b/libs/Z2AudioLib/Z2SeqMgr.cpp index ae3b371748..158b8cda1f 100644 --- a/libs/Z2AudioLib/Z2SeqMgr.cpp +++ b/libs/Z2AudioLib/Z2SeqMgr.cpp @@ -55,17 +55,6 @@ struct JAIStreamMgr { /* 802A4068 */ void stop(u32); }; -struct JAISoundStatus_ { - /* 802A2220 */ void lockWhenPrepared(); - /* 802A2244 */ void unlockIfLocked(); -}; - -struct JAISoundParamsMove { - /* 802A2DB4 */ void moveVolume(f32, u32); - /* 802A2EBC */ void movePan(f32, u32); - /* 802A2F14 */ void moveDolby(f32, u32); -}; - struct JAISeqMgr { /* 802A1C90 */ void calc(); /* 802A1E3C */ void stop(u32); diff --git a/libs/Z2AudioLib/Z2SoundHandles.cpp b/libs/Z2AudioLib/Z2SoundHandles.cpp index 8097a9d714..3449f798be 100644 --- a/libs/Z2AudioLib/Z2SoundHandles.cpp +++ b/libs/Z2AudioLib/Z2SoundHandles.cpp @@ -74,7 +74,7 @@ extern "C" extern u8 data_80451348[8]; inline JAISoundID::JAISoundID(u32 pId) : mId(pId) {} inline JAISoundID JAISound::getID() const { - return JAISoundID((u32)sound_id); + return JAISoundID((u32)soundID); } Z2SoundHandles::Z2SoundHandles() { diff --git a/libs/Z2AudioLib/Z2SoundInfo.cpp b/libs/Z2AudioLib/Z2SoundInfo.cpp index fb16d7b0f7..9436c7d4af 100644 --- a/libs/Z2AudioLib/Z2SoundInfo.cpp +++ b/libs/Z2AudioLib/Z2SoundInfo.cpp @@ -11,33 +11,6 @@ // Types: // -struct JAISeq {}; - -struct JAISound {}; - -struct JAIStream {}; - -struct JAISe {}; - -struct JAISoundID {}; - -struct Z2SoundInfo { - /* 802BB00C */ void getBgmSeqResourceID(JAISoundID) const; - /* 802BB090 */ void getSoundType(JAISoundID) const; - /* 802BB0D8 */ void getCategory(JAISoundID) const; - /* 802BB0E0 */ void getPriority(JAISoundID) const; - /* 802BB158 */ void getAudibleSwFull(JAISoundID); - /* 802BB448 */ void getAudibleSw(JAISoundID) const; - /* 802BB6DC */ void getSeInfo(JAISoundID, JAISe*) const; - /* 802BB8B4 */ void getSeqInfo(JAISoundID, JAISeq*) const; - /* 802BB8E0 */ void getStreamInfo(JAISoundID, JAIStream*) const; - /* 802BBA10 */ void getStreamFilePath(JAISoundID); - /* 802BBA88 */ void getStreamFileEntry(JAISoundID); - /* 802BBAC8 */ void getSwBit(JAISoundID) const; - /* 802BBB48 */ void getSoundInfo_(JAISoundID, JAISound*) const; - /* 802BBBE0 */ ~Z2SoundInfo(); -}; - struct Z2Calc { /* 802A968C */ void linearTransform(f32, f32, f32, f32, f32, bool); /* 802A98D4 */ void getRandom_0_1(); @@ -52,14 +25,6 @@ struct JAUSoundTable { /* 802A728C */ void getData(JAISoundID) const; }; -struct JAIStreamDataMgr { - /* 802A3AD8 */ ~JAIStreamDataMgr(); -}; - -struct JAISoundInfo { - /* 802A2D50 */ ~JAISoundInfo(); -}; - // // Forward References: // @@ -329,7 +294,8 @@ SECTION_DATA extern void* __vt__11Z2SoundInfo[20] = { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm Z2SoundInfo::~Z2SoundInfo() { +extern "C" asm void __dt__11Z2SoundInfoFv() { + // asm Z2SoundInfo::~Z2SoundInfo() { nofralloc #include "asm/Z2AudioLib/Z2SoundInfo/__dt__11Z2SoundInfoFv.s" } diff --git a/libs/Z2AudioLib/Z2SoundMgr.cpp b/libs/Z2AudioLib/Z2SoundMgr.cpp index 14ece6938c..b45b2d2031 100644 --- a/libs/Z2AudioLib/Z2SoundMgr.cpp +++ b/libs/Z2AudioLib/Z2SoundMgr.cpp @@ -15,65 +15,15 @@ struct Z2SpeechMgr2 { /* 802CC190 */ void speakOneWord(bool); }; -struct JGeometry { - template - struct TVec3 {}; - /* TVec3 */ - struct TVec3__template0 {}; -}; - -struct JAISound {}; - -struct JAISoundID {}; - -struct JAISoundHandle {}; - -struct Z2SoundMgr { - /* 802A9E80 */ Z2SoundMgr(); - /* 802A9EE8 */ void startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3 const*); - /* 802AA1B0 */ void calc(); - /* 802AA270 */ void setIIR(JAISound*, s16 const*); - /* 802AA33C */ void setFilterOff(JAISound*); - /* 802AA430 */ void resetFilterAll(); - /* 802AA528 */ void mixOut(); - /* 802AA67C */ void framework(); - /* 802AA6B0 */ void pauseAllGameSound(bool); - /* 802AA7DC */ void stopSoundID(JAISoundID); - /* 802AA84C */ void stopSync(); - /* 802AA8C8 */ void stop(); - /* 802AA908 */ void initParams(); - /* 802AA9E8 */ void multiVolumeSoundID(JAISoundID, f32); - /* 802AAAC4 */ void isPlayingSoundID(JAISoundID); -}; - struct Z2SoundInfo { /* 802BBAC8 */ void getSwBit(JAISoundID) const; }; -struct Z2SeqMgr { - /* 802AF010 */ void bgmStart(u32, u32, s32); - /* 802AFF8C */ void changeBgmStatus(s32); - /* 802B299C */ void onVariantBgmJumpEnd(bool); - /* 802B3FEC */ void setChildTrackVolume(JAISoundHandle*, int, f32, u32, f32, f32); - /* 802B5750 */ void onFieldBgmJumpStart(); - /* 802B579C */ void onFieldBgmJumpEnd(); -}; - -struct Z2SeMgr { - /* 802AD9F4 */ void seMoveVolumeAll(f32, u32); -}; - struct JAUSectionHeap { /* 802A5EC0 */ void loadDynamicSeq(JAISoundID, bool); /* 802A5EF8 */ void releaseIdleDynamicSeqDataBlock(); }; -struct JASTrack { - /* 8029285C */ void setFIR(s16 const*); - /* 8029289C */ void setIIR(s16 const*); - /* 80292918 */ void writePort(u32, u16); -}; - struct JASDriver { /* 8029E188 */ void waitSubFrame(); }; @@ -82,44 +32,6 @@ struct JASCalc { static u8 const CUTOFF_TO_IIR_TABLE[1024]; }; -struct JAIStreamMgr { - /* 802A3B68 */ JAIStreamMgr(bool); - /* 802A3C3C */ void startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3 const*); - /* 802A3EBC */ void calc(); - /* 802A4028 */ void stop(); - /* 802A4068 */ void stop(u32); - /* 802A40B8 */ void stopSoundID(JAISoundID); - /* 802A4118 */ void mixOut(); -}; - -struct JAISoundParamsMove { - /* 802A2DB4 */ void moveVolume(f32, u32); -}; - -struct JAISeqMgr { - /* 802A1914 */ JAISeqMgr(bool); - /* 802A1B48 */ void startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3 const*); - /* 802A1C90 */ void calc(); - /* 802A1DFC */ void stop(); - /* 802A1E8C */ void stopSoundID(JAISoundID); - /* 802A1EFC */ void mixOut(); -}; - -struct JAISeMgr { - /* 802A0074 */ JAISeMgr(bool); - /* 802A02A0 */ void stop(); - /* 802A02F4 */ void stopSoundID(JAISoundID); - /* 802A0358 */ void initParams(); - /* 802A0574 */ void calc(); - /* 802A0704 */ void mixOut(); - /* 802A0768 */ void startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3 const*); - /* 802A08D0 */ void getNumActiveSe() const; -}; - -struct JAISeCategoryMgr { - /* 8029FEEC */ void pause(bool); -}; - // // Forward References: // diff --git a/libs/Z2AudioLib/Z2SoundObject.cpp b/libs/Z2AudioLib/Z2SoundObject.cpp index c7046fb050..9cd329f33e 100644 --- a/libs/Z2AudioLib/Z2SoundObject.cpp +++ b/libs/Z2AudioLib/Z2SoundObject.cpp @@ -35,14 +35,6 @@ struct JAUSoundAnimation { /* 802A7044 */ void getEndSoundIndex(f32) const; }; -struct JAISoundParamsMove { - /* 802A2DB4 */ void moveVolume(f32, u32); - /* 802A2E0C */ void movePitch(f32, u32); - /* 802A2E64 */ void moveFxMix(f32, u32); -}; - -struct JAIAudience {}; - // // Forward References: // @@ -527,7 +519,8 @@ asm Z2SoundObjAnime::Z2SoundObjAnime() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void Z2SoundObjAnime::init(Vec* param_0, u8 param_1) { +extern "C" asm void init__15Z2SoundObjAnimeFP3VecUc() { + // asm void Z2SoundObjAnime::init(Vec* param_0, u8 param_1) { nofralloc #include "asm/Z2AudioLib/Z2SoundObject/init__15Z2SoundObjAnimeFP3VecUc.s" } diff --git a/libs/Z2AudioLib/Z2SoundStarter.cpp b/libs/Z2AudioLib/Z2SoundStarter.cpp index 14e8ad6168..884a3cbff1 100644 --- a/libs/Z2AudioLib/Z2SoundStarter.cpp +++ b/libs/Z2AudioLib/Z2SoundStarter.cpp @@ -19,14 +19,6 @@ struct Z2AudioMgr { static u8 mAudioMgrPtr[4 + 4 /* padding */]; }; -struct JAISoundParamsMove { - /* 802A2DB4 */ void moveVolume(f32, u32); - /* 802A2E0C */ void movePitch(f32, u32); - /* 802A2E64 */ void moveFxMix(f32, u32); - /* 802A2EBC */ void movePan(f32, u32); - /* 802A2F14 */ void moveDolby(f32, u32); -}; - // // Forward References: // diff --git a/libs/Z2AudioLib/Z2SpeechMgr2.cpp b/libs/Z2AudioLib/Z2SpeechMgr2.cpp index 575d33a169..edb7f74f1e 100644 --- a/libs/Z2AudioLib/Z2SpeechMgr2.cpp +++ b/libs/Z2AudioLib/Z2SpeechMgr2.cpp @@ -11,47 +11,6 @@ // Types: // -struct JGeometry { - template - struct TVec3 {}; - /* TVec3 */ - struct TVec3__template0 {}; -}; - -struct JAISoundID {}; - -struct JAISoundHandle { - /* 802A2184 */ void releaseSound(); -}; - -struct Z2SpeechStarter { - /* 802CBCEC */ ~Z2SpeechStarter(); - /* 802CCFB8 */ Z2SpeechStarter(); - /* 802CCFF8 */ void startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3 const*, u32, - f32, f32, f32, f32, f32, u32); -}; - -struct Vec {}; - -struct Z2SpeechMgr2 { - /* 802CBC60 */ Z2SpeechMgr2(); - /* 802CBD88 */ void setString(u16 const*, s16, u8, u16); - /* 802CBF60 */ void setTextCount(s16); - /* 802CC190 */ void speakOneWord(bool); - /* 802CC2FC */ void isNonVerbal(); - /* 802CC4C0 */ void selectUnit(bool); - /* 802CC738 */ void selectTail(); - /* 802CC9D0 */ void framework(); - /* 802CCA18 */ void playOneShotVoice(u8, u16, Vec*, s8); - /* 802CCF88 */ void isMidnaSpeak(); -}; - -struct Z2SoundStarter { - /* 802AAB94 */ Z2SoundStarter(bool); - /* 802AABF4 */ void startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3 const*); - /* 802AAEDC */ void setPortData(JAISoundHandle*, u32, u16, s8); -}; - struct Z2SeqMgr { /* 802AF49C */ void subBgmStart(u32); }; @@ -102,22 +61,6 @@ struct Z2AudioMgr { static u8 mAudioMgrPtr[4 + 4 /* padding */]; }; -struct JAISoundStarter { - /* 802A2F88 */ ~JAISoundStarter(); -}; - -struct JAISoundParamsMove { - /* 802A2DB4 */ void moveVolume(f32, u32); - /* 802A2E0C */ void movePitch(f32, u32); - /* 802A2E64 */ void moveFxMix(f32, u32); - /* 802A2EBC */ void movePan(f32, u32); - /* 802A2F14 */ void moveDolby(f32, u32); -}; - -struct JAISound { - /* 802A2598 */ void stop(); -}; - // // Forward References: // diff --git a/libs/Z2AudioLib/Z2WolfHowlMgr.cpp b/libs/Z2AudioLib/Z2WolfHowlMgr.cpp index 2e764faa56..0c47321529 100644 --- a/libs/Z2AudioLib/Z2WolfHowlMgr.cpp +++ b/libs/Z2AudioLib/Z2WolfHowlMgr.cpp @@ -31,11 +31,6 @@ struct Z2Calc { /* 802A96F4 */ void getParamByExp(f32, f32, f32, f32, f32, f32, Z2Calc::CurveSign); }; -struct JAISoundParamsMove { - /* 802A2DB4 */ void moveVolume(f32, u32); - /* 802A2E0C */ void movePitch(f32, u32); -}; - // // Forward References: // diff --git a/src/d/a/d_a_alink.cpp b/src/d/a/d_a_alink.cpp index 9009f63968..81f45e0186 100644 --- a/src/d/a/d_a_alink.cpp +++ b/src/d/a/d_a_alink.cpp @@ -671,11 +671,6 @@ struct JASKernel { /* 80290B08 */ void getAramHeap(); }; -template -struct JAISoundStrategyMgr {}; -/* JAISoundStrategyMgr */ -struct JAISoundStrategyMgr__template1 {}; - struct JAISeqMgr {}; struct JAISeq { diff --git a/src/m_Do/m_Do_audio.cpp b/src/m_Do/m_Do_audio.cpp index 2958afff8f..b5365c30af 100644 --- a/src/m_Do/m_Do_audio.cpp +++ b/src/m_Do/m_Do_audio.cpp @@ -15,109 +15,22 @@ struct mDoRst { static u8 mResetData[4 + 4 /* padding */]; }; -struct JKRHeap { - /* 802CE500 */ void free(void*, JKRHeap*); - /* 802CE7B0 */ void changeGroupID(u8); - - static u8 sCurrentHeap[4]; -}; - struct mDoDvdThd_toMainRam_c { /* 80016394 */ void create(char const*, u8, JKRHeap*); }; -struct JKRArchive { - struct EMountMode {}; -}; - struct mDoDvdThd_mountXArchive_c { /* 800161E0 */ void create(char const*, u8, JKRArchive::EMountMode, JKRHeap*); }; -struct mDoAud_zelAudio_c { - /* 80006FB4 */ void reset(); - /* 80007368 */ ~mDoAud_zelAudio_c(); -}; - -struct Z2SceneMgr { - /* 802B697C */ void setFadeOutStart(u8); - /* 802B6A18 */ void setFadeInStart(u8); - /* 802B6AF8 */ void setSceneName(char*, s32, s32); - /* 802B9D40 */ void load1stDynamicWave(); -}; - -struct Z2MultiSeObj { - /* 80007888 */ ~Z2MultiSeObj(); -}; - -struct Z2MultiSeMgr { - /* 802AEB34 */ ~Z2MultiSeMgr(); -}; - -struct JGeometry { - template - struct TVec3 {}; - /* TVec3 */ - struct TVec3__template0 {}; -}; - -struct JKRSolidHeap { - /* 802D0BF4 */ void adjustSize(); -}; - -struct JAISoundID {}; - -struct JAISoundHandle { - /* 80007838 */ ~JAISoundHandle(); - /* 802A2184 */ void releaseSound(); -}; - -struct Z2AudioMgr { - /* 800073C8 */ ~Z2AudioMgr(); - /* 802CD248 */ Z2AudioMgr(); - /* 802CD34C */ void init(JKRSolidHeap*, u32, void*, JKRArchive*); - /* 802CD888 */ void setOutputMode(u32); - /* 802CD904 */ void gframeProcess(); - /* 802CD974 */ void resetProcess(u32, bool); - /* 802CD9CC */ void resetRecover(); - /* 802CDA6C */ void hasReset() const; - /* 802CDB1C */ void startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3 const*); - - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - -struct Z2Audience { - /* 802BD1FC */ ~Z2Audience(); -}; - -struct JSUPtrList { - /* 802DBEAC */ ~JSUPtrList(); -}; - -struct JASAudioReseter { - /* 8029D0FC */ ~JASAudioReseter(); -}; - struct JAIStreamDataMgr { /* 802A3AD8 */ ~JAIStreamDataMgr(); }; -struct JAISoundStarter { - /* 802A2F88 */ ~JAISoundStarter(); -}; - struct JAISoundInfo { /* 802A2D50 */ ~JAISoundInfo(); }; -struct JAISeqDataUser { - /* 802A1774 */ ~JAISeqDataUser(); -}; - -struct JAISeCategoryMgr { - /* 800078DC */ ~JAISeCategoryMgr(); -}; - // // Forward References: // @@ -143,7 +56,6 @@ extern "C" extern char const* const m_Do_m_Do_audio__stringBase0; // External References: // -extern "C" void OSReport_Error(); extern "C" void create__25mDoDvdThd_mountXArchive_cFPCcUcQ210JKRArchive10EMountModeP7JKRHeap(); extern "C" void create__21mDoDvdThd_toMainRam_cFPCcUcP7JKRHeap(); extern "C" void __dt__15JASAudioReseterFv(); @@ -172,7 +84,6 @@ extern "C" void changeGroupID__7JKRHeapFUc(); extern "C" void __dl__FPv(); extern "C" void adjustSize__12JKRSolidHeapFv(); extern "C" void __dt__10JSUPtrListFv(); -extern "C" void OSGetSoundMode(); extern "C" void __register_global_object(); extern "C" void __destroy_arr(); extern "C" void _savegpr_29(); @@ -214,18 +125,20 @@ extern "C" u8 sCurrentHeap__7JKRHeap[4]; /* 80450BB8 0001+00 data_80450BB8 None */ /* 80450BB9 0001+00 data_80450BB9 None */ /* 80450BBA 0002+00 data_80450BBA None */ -extern u8 struct_80450BB8[4]; -u8 struct_80450BB8[4]; +bool struct_80450BB8; + +#pragma push +#pragma force_active on +bool sResetFlag; + +extern bool data_80450bba; +bool data_80450bba; +#pragma pop /* 80006FB4-80006FC0 0018F4 000C+00 1/1 0/0 0/0 .text reset__17mDoAud_zelAudio_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoAud_zelAudio_c::reset() { - nofralloc -#include "asm/m_Do/m_Do_audio/reset__17mDoAud_zelAudio_cFv.s" +void mDoAud_zelAudio_c::reset() { + data_80450bba = false; } -#pragma pop /* ############################################################################################## */ /* 80373D68-80373D68 0003C8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ @@ -246,14 +159,13 @@ static u8 lit_3620[12]; static u8 g_mDoAud_zelAudio[5004]; /* 80450BBC-80450BC0 0000BC 0004+00 1/1 1/1 0/0 .sbss g_mDoAud_audioHeap */ -extern u8 g_mDoAud_audioHeap[4]; -u8 g_mDoAud_audioHeap[4]; +JKRSolidHeap* g_mDoAud_audioHeap; /* 80450BC0-80450BC4 0000C0 0004+00 1/1 0/0 0/0 .sbss l_affCommand */ -static u8 l_affCommand[4]; +static mDoDvdThd_toMainRam_c* l_affCommand; /* 80450BC4-80450BC8 0000C4 0004+00 1/1 0/0 0/0 .sbss l_arcCommand */ -static u8 l_arcCommand[4]; +static mDoDvdThd_mountXArchive_c* l_arcCommand; /* 80006FC0-80007164 001900 01A4+00 1/1 0/0 0/0 .text mDoAud_Create__Fv */ #pragma push @@ -276,64 +188,45 @@ asm void mDoAud_Execute() { #pragma pop /* 800071BC-800071F8 001AFC 003C+00 0/0 3/3 0/0 .text mDoAud_setSceneName__FPCcll */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoAud_setSceneName(char const* param_0, s32 param_1, s32 param_2) { - nofralloc -#include "asm/m_Do/m_Do_audio/mDoAud_setSceneName__FPCcll.s" +void mDoAud_setSceneName(char const* spot, s32 room, s32 layer) { + Z2AudioMgr::getInterface()->mSceneMgr.setSceneName((char*)spot, room, layer); } -#pragma pop /* 800071F8-80007224 001B38 002C+00 0/0 1/1 0/0 .text mDoAud_load1stDynamicWave__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoAud_load1stDynamicWave() { - nofralloc -#include "asm/m_Do/m_Do_audio/mDoAud_load1stDynamicWave__Fv.s" +s32 mDoAud_load1stDynamicWave() { + Z2AudioMgr::getInterface()->mSceneMgr.load1stDynamicWave(); + return 1; } -#pragma pop /* 80007224-80007254 001B64 0030+00 0/0 2/2 0/0 .text mDoAud_setFadeOutStart__FUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoAud_setFadeOutStart(u8 param_0) { - nofralloc -#include "asm/m_Do/m_Do_audio/mDoAud_setFadeOutStart__FUc.s" +void mDoAud_setFadeOutStart(u8 param_0) { + Z2AudioMgr::getInterface()->mSceneMgr.setFadeOutStart((u8)param_0); } -#pragma pop /* 80007254-80007284 001B94 0030+00 0/0 2/2 1/1 .text mDoAud_setFadeInStart__FUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoAud_setFadeInStart(u8 param_0) { - nofralloc -#include "asm/m_Do/m_Do_audio/mDoAud_setFadeInStart__FUc.s" +void mDoAud_setFadeInStart(u8 param_0) { + Z2AudioMgr::getInterface()->mSceneMgr.setFadeInStart((u8)param_0); } -#pragma pop /* 80007284-800072C4 001BC4 0040+00 0/0 1/1 0/0 .text mDoAud_resetProcess__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoAud_resetProcess() { - nofralloc -#include "asm/m_Do/m_Do_audio/mDoAud_resetProcess__Fv.s" +void mDoAud_resetProcess() { + if (!mDoAud_zelAudio_c::isResetFlag()) { + Z2AudioMgr::getInterface()->resetProcess(0x1E, false); + mDoAud_zelAudio_c::onResetFlag(); + } } -#pragma pop /* 800072C4-80007318 001C04 0054+00 0/0 2/2 0/0 .text mDoAud_resetRecover__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoAud_resetRecover() { - nofralloc -#include "asm/m_Do/m_Do_audio/mDoAud_resetRecover__Fv.s" +bool mDoAud_resetRecover() { + if (mDoAud_zelAudio_c::isResetFlag()) { + if (!Z2AudioMgr::getInterface()->hasReset()) { + return 0; + } + Z2AudioMgr::getInterface()->resetRecover(); + mDoAud_zelAudio_c::offResetFlag(); + } + return 1; } -#pragma pop /* ############################################################################################## */ /* 803A2F40-803A2F4C 000060 000C+00 2/2 0/0 0/0 .data __vt__17mDoAud_zelAudio_c */ @@ -362,7 +255,8 @@ REGISTER_CTORS(0x80007318, __sinit_m_Do_audio_cpp); #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm mDoAud_zelAudio_c::~mDoAud_zelAudio_c() { +extern "C" asm void __dt__17mDoAud_zelAudio_cFv() { + // asm mDoAud_zelAudio_c::~mDoAud_zelAudio_c() { nofralloc #include "asm/m_Do/m_Do_audio/__dt__17mDoAud_zelAudio_cFv.s" } @@ -383,7 +277,8 @@ SECTION_DATA extern void* __vt__12JAUSoundInfo[4 + 1 /* padding */] = { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm Z2AudioMgr::~Z2AudioMgr() { +extern "C" asm void __dt__10Z2AudioMgrFv() { + // asm Z2AudioMgr::~Z2AudioMgr() { nofralloc #include "asm/m_Do/m_Do_audio/__dt__10Z2AudioMgrFv.s" } @@ -393,7 +288,8 @@ asm Z2AudioMgr::~Z2AudioMgr() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm JAISoundHandle::~JAISoundHandle() { +extern "C" asm void __dt__14JAISoundHandleFv() { + // asm JAISoundHandle::~JAISoundHandle() { nofralloc #include "asm/m_Do/m_Do_audio/__dt__14JAISoundHandleFv.s" } @@ -403,7 +299,8 @@ asm JAISoundHandle::~JAISoundHandle() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm Z2MultiSeObj::~Z2MultiSeObj() { +extern "C" asm void __dt__12Z2MultiSeObjFv() { + // asm Z2MultiSeObj::~Z2MultiSeObj() { nofralloc #include "asm/m_Do/m_Do_audio/__dt__12Z2MultiSeObjFv.s" } @@ -413,7 +310,8 @@ asm Z2MultiSeObj::~Z2MultiSeObj() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm JAISeCategoryMgr::~JAISeCategoryMgr() { +extern "C" asm void __dt__16JAISeCategoryMgrFv() { + // asm JAISeCategoryMgr::~JAISeCategoryMgr() { nofralloc #include "asm/m_Do/m_Do_audio/__dt__16JAISeCategoryMgrFv.s" }