From b13ff9e3d0046fd27d918215557affce4020143d Mon Sep 17 00:00:00 2001 From: randomsalience <69010899+randomsalience@users.noreply.github.com> Date: Thu, 26 Oct 2023 08:41:03 -0400 Subject: [PATCH] Z2SoundObject, JAUSoundAnimator OK, work on Z2SoundHandles (#1968) * d_a_tag_evtarea mostly done, work on d_a_npc * work on d_a_npc_ash * work on Z2SoundHandles * Z2SoundObject, JAUSoundAnimator OK * Update Progress.md --------- Co-authored-by: randomsalience --- Progress.md | 8 +- ...getEndSoundIndex__17JAUSoundAnimationCFf.s | 60 -- ...tStartSoundIndex__17JAUSoundAnimationCFf.s | 61 -- ...PrioSound__14Z2SoundHandlesF10JAISoundID.s | 59 -- .../Z2SoundObject/__ct__15Z2SoundObjAnimeFv.s | 19 - .../Z2SoundObject/__ct__15Z2SoundObjArrowFv.s | 16 - .../__ct__16Z2SoundObjSimpleFv.s | 16 - .../__ct__21Z2DopplerSoundObjBaseFv.s | 24 - .../__dt__21Z2DopplerSoundObjBaseFv.s | 26 - .../ageSounds___15Z2SoundObjAnimeFv.s | 105 --- .../deleteObject__14Z2SoundObjBaseFv.s | 17 - .../dispose__14Z2SoundObjBaseFv.s | 42 - .../framework__21Z2DopplerSoundObjBaseFUlSc.s | 25 - asm/Z2AudioLib/Z2SoundObject/func_802BF660.s | 149 ---- asm/Z2AudioLib/Z2SoundObject/func_802BF890.s | 3 - asm/Z2AudioLib/Z2SoundObject/func_802BF898.s | 39 - .../initAnime__15Z2SoundObjAnimeFPvbff.s | 97 -- .../init__15Z2SoundObjAnimeFP3VecUc.s | 9 - .../init__15Z2SoundObjArrowFP3VecUc.s | 9 - .../init__21Z2DopplerSoundObjBaseFP3VecUc.s | 25 - ...__14Z2SoundObjBaseFUlUlP14Z2SoundObjBase.s | 70 -- ...Sound__14Z2SoundObjBaseF10JAISoundIDUlSc.s | 126 --- ...und__16Z2SoundObjSimpleF10JAISoundIDUlSc.s | 104 --- ...21Z2DopplerSoundObjBaseF10JAISoundIDUlSc.s | 40 - ...Sound__14Z2SoundObjBaseF10JAISoundIDUlSc.s | 111 --- ...und__16Z2SoundObjSimpleF10JAISoundIDUlSc.s | 70 -- ...21Z2DopplerSoundObjBaseF10JAISoundIDUlSc.s | 40 - ...K__14Z2SoundObjBaseFR17Z2SoundHandlePool.s | 17 - .../updateAnime__15Z2SoundObjAnimeFff.s | 307 ------- ...dateSoundLifeTime___15Z2SoundObjAnimeFff.s | 248 ------ include/JSystem/JAudio2/JAISeMgr.h | 1 + include/JSystem/JAudio2/JAISound.h | 12 +- include/JSystem/JAudio2/JAUAudibleParam.h | 4 +- include/JSystem/JAudio2/JAUSoundAnimator.h | 104 +++ include/JSystem/JGeometry.h | 10 + include/JSystem/JSupport/JSUList.h | 2 + include/Z2AudioLib/Z2SeMgr.h | 2 +- include/Z2AudioLib/Z2SoundHandles.h | 14 +- include/Z2AudioLib/Z2SoundObject.h | 69 +- libs/JSystem/JAudio2/JAUSoundAnimator.cpp | 59 +- libs/Z2AudioLib/Z2Audience.cpp | 6 +- libs/Z2AudioLib/Z2Creature.cpp | 2 +- libs/Z2AudioLib/Z2SeMgr.cpp | 2 +- libs/Z2AudioLib/Z2SoundHandles.cpp | 143 +-- libs/Z2AudioLib/Z2SoundObject.cpp | 840 ++++++++---------- src/d/a/d_a_npc.cpp | 1 - 46 files changed, 673 insertions(+), 2540 deletions(-) delete mode 100644 asm/JSystem/JAudio2/JAUSoundAnimator/getEndSoundIndex__17JAUSoundAnimationCFf.s delete mode 100644 asm/JSystem/JAudio2/JAUSoundAnimator/getStartSoundIndex__17JAUSoundAnimationCFf.s delete mode 100644 asm/Z2AudioLib/Z2SoundHandles/getLowPrioSound__14Z2SoundHandlesF10JAISoundID.s delete mode 100644 asm/Z2AudioLib/Z2SoundObject/__ct__15Z2SoundObjAnimeFv.s delete mode 100644 asm/Z2AudioLib/Z2SoundObject/__ct__15Z2SoundObjArrowFv.s delete mode 100644 asm/Z2AudioLib/Z2SoundObject/__ct__16Z2SoundObjSimpleFv.s delete mode 100644 asm/Z2AudioLib/Z2SoundObject/__ct__21Z2DopplerSoundObjBaseFv.s delete mode 100644 asm/Z2AudioLib/Z2SoundObject/__dt__21Z2DopplerSoundObjBaseFv.s delete mode 100644 asm/Z2AudioLib/Z2SoundObject/ageSounds___15Z2SoundObjAnimeFv.s delete mode 100644 asm/Z2AudioLib/Z2SoundObject/deleteObject__14Z2SoundObjBaseFv.s delete mode 100644 asm/Z2AudioLib/Z2SoundObject/dispose__14Z2SoundObjBaseFv.s delete mode 100644 asm/Z2AudioLib/Z2SoundObject/framework__21Z2DopplerSoundObjBaseFUlSc.s delete mode 100644 asm/Z2AudioLib/Z2SoundObject/func_802BF660.s delete mode 100644 asm/Z2AudioLib/Z2SoundObject/func_802BF890.s delete mode 100644 asm/Z2AudioLib/Z2SoundObject/func_802BF898.s delete mode 100644 asm/Z2AudioLib/Z2SoundObject/initAnime__15Z2SoundObjAnimeFPvbff.s delete mode 100644 asm/Z2AudioLib/Z2SoundObject/init__15Z2SoundObjAnimeFP3VecUc.s delete mode 100644 asm/Z2AudioLib/Z2SoundObject/init__15Z2SoundObjArrowFP3VecUc.s delete mode 100644 asm/Z2AudioLib/Z2SoundObject/init__21Z2DopplerSoundObjBaseFP3VecUc.s delete mode 100644 asm/Z2AudioLib/Z2SoundObject/startCollisionSE__14Z2SoundObjBaseFUlUlP14Z2SoundObjBase.s delete mode 100644 asm/Z2AudioLib/Z2SoundObject/startLevelSound__14Z2SoundObjBaseF10JAISoundIDUlSc.s delete mode 100644 asm/Z2AudioLib/Z2SoundObject/startLevelSound__16Z2SoundObjSimpleF10JAISoundIDUlSc.s delete mode 100644 asm/Z2AudioLib/Z2SoundObject/startLevelSound__21Z2DopplerSoundObjBaseF10JAISoundIDUlSc.s delete mode 100644 asm/Z2AudioLib/Z2SoundObject/startSound__14Z2SoundObjBaseF10JAISoundIDUlSc.s delete mode 100644 asm/Z2AudioLib/Z2SoundObject/startSound__16Z2SoundObjSimpleF10JAISoundIDUlSc.s delete mode 100644 asm/Z2AudioLib/Z2SoundObject/startSound__21Z2DopplerSoundObjBaseF10JAISoundIDUlSc.s delete mode 100644 asm/Z2AudioLib/Z2SoundObject/stopOK__14Z2SoundObjBaseFR17Z2SoundHandlePool.s delete mode 100644 asm/Z2AudioLib/Z2SoundObject/updateAnime__15Z2SoundObjAnimeFff.s delete mode 100644 asm/Z2AudioLib/Z2SoundObject/updateSoundLifeTime___15Z2SoundObjAnimeFff.s diff --git a/Progress.md b/Progress.md index 42afb06beb1..90af26b551f 100644 --- a/Progress.md +++ b/Progress.md @@ -7,22 +7,22 @@ Section | Percentage | Decompiled (bytes) | Total (bytes) .init | 97.972973% | 9280 | 9472 .extab | 100.000000% | 96 | 96 .extabindex | 100.000000% | 96 | 96 -.text | 34.328845% | 1234652 | 3596544 +.text | 34.566072% | 1243184 | 3596544 .ctors | 100.000000% | 448 | 448 .dtors | 100.000000% | 32 | 32 .rodata | 100.000000% | 193856 | 193856 .data | 100.000000% | 197632 | 197632 .sdata | 100.000000% | 1408 | 1408 .sdata2 | 100.000000% | 20832 | 20832 -Total | 41.251512% | 1658588 | 4020672 +Total | 41.463716% | 1667120 | 4020672 ## Total Section | Percentage | Decompiled (bytes) | Total (bytes) ---|---|---|--- -main.dol | 41.251512% | 1658588 | 4020672 +main.dol | 41.463716% | 1667120 | 4020672 RELs | 34.646328% | 3984440 | 11500324 -Total | 36.357383% | 5643028 | 15520996 +Total | 36.412354% | 5651560 | 15520996 ## RELs diff --git a/asm/JSystem/JAudio2/JAUSoundAnimator/getEndSoundIndex__17JAUSoundAnimationCFf.s b/asm/JSystem/JAudio2/JAUSoundAnimator/getEndSoundIndex__17JAUSoundAnimationCFf.s deleted file mode 100644 index 38a03bc552b..00000000000 --- a/asm/JSystem/JAudio2/JAUSoundAnimator/getEndSoundIndex__17JAUSoundAnimationCFf.s +++ /dev/null @@ -1,60 +0,0 @@ -lbl_802A7044: -/* 802A7044 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 802A7048 7C 08 02 A6 */ mflr r0 -/* 802A704C 90 01 00 34 */ stw r0, 0x34(r1) -/* 802A7050 DB E1 00 20 */ stfd f31, 0x20(r1) -/* 802A7054 F3 E1 00 28 */ psq_st f31, 40(r1), 0, 0 /* qr0 */ -/* 802A7058 39 61 00 20 */ addi r11, r1, 0x20 -/* 802A705C 48 0B B1 7D */ bl _savegpr_28 -/* 802A7060 7C 7C 1B 78 */ mr r28, r3 -/* 802A7064 FF E0 08 90 */ fmr f31, f1 -/* 802A7068 3B A0 00 00 */ li r29, 0 -/* 802A706C 3B E0 00 00 */ li r31, 0 -/* 802A7070 83 C3 00 04 */ lwz r30, 4(r3) -/* 802A7074 48 00 00 48 */ b lbl_802A70BC -lbl_802A7078: -/* 802A7078 28 1E 00 00 */ cmplwi r30, 0 -/* 802A707C 41 82 00 24 */ beq lbl_802A70A0 -/* 802A7080 7F C3 F3 78 */ mr r3, r30 -/* 802A7084 7F 84 E3 78 */ mr r4, r28 -/* 802A7088 7F A5 EB 78 */ mr r5, r29 -/* 802A708C 81 9E 00 00 */ lwz r12, 0(r30) -/* 802A7090 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 802A7094 7D 89 03 A6 */ mtctr r12 -/* 802A7098 4E 80 04 21 */ bctrl -/* 802A709C 48 00 00 0C */ b lbl_802A70A8 -lbl_802A70A0: -/* 802A70A0 38 7F 00 08 */ addi r3, r31, 8 -/* 802A70A4 7C 7C 1A 14 */ add r3, r28, r3 -lbl_802A70A8: -/* 802A70A8 C0 03 00 04 */ lfs f0, 4(r3) -/* 802A70AC FC 00 F8 40 */ fcmpo cr0, f0, f31 -/* 802A70B0 41 81 00 40 */ bgt lbl_802A70F0 -/* 802A70B4 3B BD 00 01 */ addi r29, r29, 1 -/* 802A70B8 3B FF 00 20 */ addi r31, r31, 0x20 -lbl_802A70BC: -/* 802A70BC 28 1E 00 00 */ cmplwi r30, 0 -/* 802A70C0 41 82 00 20 */ beq lbl_802A70E0 -/* 802A70C4 7F C3 F3 78 */ mr r3, r30 -/* 802A70C8 7F 84 E3 78 */ mr r4, r28 -/* 802A70CC 81 9E 00 00 */ lwz r12, 0(r30) -/* 802A70D0 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 802A70D4 7D 89 03 A6 */ mtctr r12 -/* 802A70D8 4E 80 04 21 */ bctrl -/* 802A70DC 48 00 00 08 */ b lbl_802A70E4 -lbl_802A70E0: -/* 802A70E0 A0 7C 00 00 */ lhz r3, 0(r28) -lbl_802A70E4: -/* 802A70E4 54 60 04 3E */ clrlwi r0, r3, 0x10 -/* 802A70E8 7C 1D 00 00 */ cmpw r29, r0 -/* 802A70EC 41 80 FF 8C */ blt lbl_802A7078 -lbl_802A70F0: -/* 802A70F0 7F A3 EB 78 */ mr r3, r29 -/* 802A70F4 E3 E1 00 28 */ psq_l f31, 40(r1), 0, 0 /* qr0 */ -/* 802A70F8 CB E1 00 20 */ lfd f31, 0x20(r1) -/* 802A70FC 39 61 00 20 */ addi r11, r1, 0x20 -/* 802A7100 48 0B B1 25 */ bl _restgpr_28 -/* 802A7104 80 01 00 34 */ lwz r0, 0x34(r1) -/* 802A7108 7C 08 03 A6 */ mtlr r0 -/* 802A710C 38 21 00 30 */ addi r1, r1, 0x30 -/* 802A7110 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAUSoundAnimator/getStartSoundIndex__17JAUSoundAnimationCFf.s b/asm/JSystem/JAudio2/JAUSoundAnimator/getStartSoundIndex__17JAUSoundAnimationCFf.s deleted file mode 100644 index b9207449408..00000000000 --- a/asm/JSystem/JAudio2/JAUSoundAnimator/getStartSoundIndex__17JAUSoundAnimationCFf.s +++ /dev/null @@ -1,61 +0,0 @@ -lbl_802A6F70: -/* 802A6F70 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 802A6F74 7C 08 02 A6 */ mflr r0 -/* 802A6F78 90 01 00 34 */ stw r0, 0x34(r1) -/* 802A6F7C DB E1 00 20 */ stfd f31, 0x20(r1) -/* 802A6F80 F3 E1 00 28 */ psq_st f31, 40(r1), 0, 0 /* qr0 */ -/* 802A6F84 39 61 00 20 */ addi r11, r1, 0x20 -/* 802A6F88 48 0B B2 51 */ bl _savegpr_28 -/* 802A6F8C 7C 7C 1B 78 */ mr r28, r3 -/* 802A6F90 FF E0 08 90 */ fmr f31, f1 -/* 802A6F94 3B A0 00 00 */ li r29, 0 -/* 802A6F98 3B E0 00 00 */ li r31, 0 -/* 802A6F9C 83 C3 00 04 */ lwz r30, 4(r3) -/* 802A6FA0 48 00 00 4C */ b lbl_802A6FEC -lbl_802A6FA4: -/* 802A6FA4 28 1E 00 00 */ cmplwi r30, 0 -/* 802A6FA8 41 82 00 24 */ beq lbl_802A6FCC -/* 802A6FAC 7F C3 F3 78 */ mr r3, r30 -/* 802A6FB0 7F 84 E3 78 */ mr r4, r28 -/* 802A6FB4 7F A5 EB 78 */ mr r5, r29 -/* 802A6FB8 81 9E 00 00 */ lwz r12, 0(r30) -/* 802A6FBC 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 802A6FC0 7D 89 03 A6 */ mtctr r12 -/* 802A6FC4 4E 80 04 21 */ bctrl -/* 802A6FC8 48 00 00 0C */ b lbl_802A6FD4 -lbl_802A6FCC: -/* 802A6FCC 38 7F 00 08 */ addi r3, r31, 8 -/* 802A6FD0 7C 7C 1A 14 */ add r3, r28, r3 -lbl_802A6FD4: -/* 802A6FD4 C0 03 00 04 */ lfs f0, 4(r3) -/* 802A6FD8 FC 00 F8 40 */ fcmpo cr0, f0, f31 -/* 802A6FDC 4C 41 13 82 */ cror 2, 1, 2 -/* 802A6FE0 41 82 00 40 */ beq lbl_802A7020 -/* 802A6FE4 3B BD 00 01 */ addi r29, r29, 1 -/* 802A6FE8 3B FF 00 20 */ addi r31, r31, 0x20 -lbl_802A6FEC: -/* 802A6FEC 28 1E 00 00 */ cmplwi r30, 0 -/* 802A6FF0 41 82 00 20 */ beq lbl_802A7010 -/* 802A6FF4 7F C3 F3 78 */ mr r3, r30 -/* 802A6FF8 7F 84 E3 78 */ mr r4, r28 -/* 802A6FFC 81 9E 00 00 */ lwz r12, 0(r30) -/* 802A7000 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 802A7004 7D 89 03 A6 */ mtctr r12 -/* 802A7008 4E 80 04 21 */ bctrl -/* 802A700C 48 00 00 08 */ b lbl_802A7014 -lbl_802A7010: -/* 802A7010 A0 7C 00 00 */ lhz r3, 0(r28) -lbl_802A7014: -/* 802A7014 54 60 04 3E */ clrlwi r0, r3, 0x10 -/* 802A7018 7C 1D 00 00 */ cmpw r29, r0 -/* 802A701C 41 80 FF 88 */ blt lbl_802A6FA4 -lbl_802A7020: -/* 802A7020 7F A3 EB 78 */ mr r3, r29 -/* 802A7024 E3 E1 00 28 */ psq_l f31, 40(r1), 0, 0 /* qr0 */ -/* 802A7028 CB E1 00 20 */ lfd f31, 0x20(r1) -/* 802A702C 39 61 00 20 */ addi r11, r1, 0x20 -/* 802A7030 48 0B B1 F5 */ bl _restgpr_28 -/* 802A7034 80 01 00 34 */ lwz r0, 0x34(r1) -/* 802A7038 7C 08 03 A6 */ mtlr r0 -/* 802A703C 38 21 00 30 */ addi r1, r1, 0x30 -/* 802A7040 4E 80 00 20 */ blr diff --git a/asm/Z2AudioLib/Z2SoundHandles/getLowPrioSound__14Z2SoundHandlesF10JAISoundID.s b/asm/Z2AudioLib/Z2SoundHandles/getLowPrioSound__14Z2SoundHandlesF10JAISoundID.s deleted file mode 100644 index 12d9bcdcc11..00000000000 --- a/asm/Z2AudioLib/Z2SoundHandles/getLowPrioSound__14Z2SoundHandlesF10JAISoundID.s +++ /dev/null @@ -1,59 +0,0 @@ -lbl_802AB3D0: -/* 802AB3D0 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 802AB3D4 7C 08 02 A6 */ mflr r0 -/* 802AB3D8 90 01 00 34 */ stw r0, 0x34(r1) -/* 802AB3DC 39 61 00 30 */ addi r11, r1, 0x30 -/* 802AB3E0 48 0B 6D F1 */ bl _savegpr_26 -/* 802AB3E4 7C 9A 23 78 */ mr r26, r4 -/* 802AB3E8 83 ED 85 DC */ lwz r31, __OSReport_disable-0x3C(r13) -/* 802AB3EC 3C 80 00 01 */ lis r4, 0x0001 /* 0x0000FFFF@ha */ -/* 802AB3F0 3B A4 FF FF */ addi r29, r4, 0xFFFF /* 0x0000FFFF@l */ -/* 802AB3F4 3B 80 00 00 */ li r28, 0 -/* 802AB3F8 83 63 00 00 */ lwz r27, 0(r3) -/* 802AB3FC 48 00 00 50 */ b lbl_802AB44C -lbl_802AB400: -/* 802AB400 83 DB 00 00 */ lwz r30, 0(r27) -/* 802AB404 80 7E 00 00 */ lwz r3, 0(r30) -/* 802AB408 28 03 00 00 */ cmplwi r3, 0 -/* 802AB40C 40 82 00 0C */ bne lbl_802AB418 -/* 802AB410 7F C3 F3 78 */ mr r3, r30 -/* 802AB414 48 00 00 74 */ b lbl_802AB488 -lbl_802AB418: -/* 802AB418 80 03 00 18 */ lwz r0, 0x18(r3) -/* 802AB41C 90 01 00 0C */ stw r0, 0xc(r1) -/* 802AB420 7F E3 FB 78 */ mr r3, r31 -/* 802AB424 38 81 00 0C */ addi r4, r1, 0xc -/* 802AB428 81 9F 00 00 */ lwz r12, 0(r31) -/* 802AB42C 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 802AB430 7D 89 03 A6 */ mtctr r12 -/* 802AB434 4E 80 04 21 */ bctrl -/* 802AB438 7C 03 E8 40 */ cmplw r3, r29 -/* 802AB43C 40 80 00 0C */ bge lbl_802AB448 -/* 802AB440 7C 7D 1B 78 */ mr r29, r3 -/* 802AB444 7F DC F3 78 */ mr r28, r30 -lbl_802AB448: -/* 802AB448 83 7B 00 0C */ lwz r27, 0xc(r27) -lbl_802AB44C: -/* 802AB44C 28 1B 00 00 */ cmplwi r27, 0 -/* 802AB450 40 82 FF B0 */ bne lbl_802AB400 -/* 802AB454 80 1A 00 00 */ lwz r0, 0(r26) -/* 802AB458 90 01 00 08 */ stw r0, 8(r1) -/* 802AB45C 7F E3 FB 78 */ mr r3, r31 -/* 802AB460 38 81 00 08 */ addi r4, r1, 8 -/* 802AB464 81 9F 00 00 */ lwz r12, 0(r31) -/* 802AB468 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 802AB46C 7D 89 03 A6 */ mtctr r12 -/* 802AB470 4E 80 04 21 */ bctrl -/* 802AB474 7C 03 E8 40 */ cmplw r3, r29 -/* 802AB478 41 80 00 0C */ blt lbl_802AB484 -/* 802AB47C 7F 83 E3 78 */ mr r3, r28 -/* 802AB480 48 00 00 08 */ b lbl_802AB488 -lbl_802AB484: -/* 802AB484 38 60 00 00 */ li r3, 0 -lbl_802AB488: -/* 802AB488 39 61 00 30 */ addi r11, r1, 0x30 -/* 802AB48C 48 0B 6D 91 */ bl _restgpr_26 -/* 802AB490 80 01 00 34 */ lwz r0, 0x34(r1) -/* 802AB494 7C 08 03 A6 */ mtlr r0 -/* 802AB498 38 21 00 30 */ addi r1, r1, 0x30 -/* 802AB49C 4E 80 00 20 */ blr diff --git a/asm/Z2AudioLib/Z2SoundObject/__ct__15Z2SoundObjAnimeFv.s b/asm/Z2AudioLib/Z2SoundObject/__ct__15Z2SoundObjAnimeFv.s deleted file mode 100644 index 16957807d26..00000000000 --- a/asm/Z2AudioLib/Z2SoundObject/__ct__15Z2SoundObjAnimeFv.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_802BEB94: -/* 802BEB94 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802BEB98 7C 08 02 A6 */ mflr r0 -/* 802BEB9C 90 01 00 14 */ stw r0, 0x14(r1) -/* 802BEBA0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802BEBA4 7C 7F 1B 78 */ mr r31, r3 -/* 802BEBA8 4B FF F3 49 */ bl __ct__14Z2SoundObjBaseFv -/* 802BEBAC 3C 60 80 3D */ lis r3, __vt__15Z2SoundObjAnime@ha /* 0x803CACD0@ha */ -/* 802BEBB0 38 03 AC D0 */ addi r0, r3, __vt__15Z2SoundObjAnime@l /* 0x803CACD0@l */ -/* 802BEBB4 90 1F 00 10 */ stw r0, 0x10(r31) -/* 802BEBB8 38 00 00 00 */ li r0, 0 -/* 802BEBBC 90 1F 00 20 */ stw r0, 0x20(r31) -/* 802BEBC0 98 1F 00 44 */ stb r0, 0x44(r31) -/* 802BEBC4 7F E3 FB 78 */ mr r3, r31 -/* 802BEBC8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802BEBCC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802BEBD0 7C 08 03 A6 */ mtlr r0 -/* 802BEBD4 38 21 00 10 */ addi r1, r1, 0x10 -/* 802BEBD8 4E 80 00 20 */ blr diff --git a/asm/Z2AudioLib/Z2SoundObject/__ct__15Z2SoundObjArrowFv.s b/asm/Z2AudioLib/Z2SoundObject/__ct__15Z2SoundObjArrowFv.s deleted file mode 100644 index 1392362fd4f..00000000000 --- a/asm/Z2AudioLib/Z2SoundObject/__ct__15Z2SoundObjArrowFv.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_802BEB38: -/* 802BEB38 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802BEB3C 7C 08 02 A6 */ mflr r0 -/* 802BEB40 90 01 00 14 */ stw r0, 0x14(r1) -/* 802BEB44 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802BEB48 7C 7F 1B 78 */ mr r31, r3 -/* 802BEB4C 4B FF FA 55 */ bl __ct__21Z2DopplerSoundObjBaseFv -/* 802BEB50 3C 60 80 3D */ lis r3, __vt__15Z2SoundObjArrow@ha /* 0x803CACF0@ha */ -/* 802BEB54 38 03 AC F0 */ addi r0, r3, __vt__15Z2SoundObjArrow@l /* 0x803CACF0@l */ -/* 802BEB58 90 1F 00 10 */ stw r0, 0x10(r31) -/* 802BEB5C 7F E3 FB 78 */ mr r3, r31 -/* 802BEB60 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802BEB64 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802BEB68 7C 08 03 A6 */ mtlr r0 -/* 802BEB6C 38 21 00 10 */ addi r1, r1, 0x10 -/* 802BEB70 4E 80 00 20 */ blr diff --git a/asm/Z2AudioLib/Z2SoundObject/__ct__16Z2SoundObjSimpleFv.s b/asm/Z2AudioLib/Z2SoundObject/__ct__16Z2SoundObjSimpleFv.s deleted file mode 100644 index f8a29c47729..00000000000 --- a/asm/Z2AudioLib/Z2SoundObject/__ct__16Z2SoundObjSimpleFv.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_802BE844: -/* 802BE844 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802BE848 7C 08 02 A6 */ mflr r0 -/* 802BE84C 90 01 00 14 */ stw r0, 0x14(r1) -/* 802BE850 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802BE854 7C 7F 1B 78 */ mr r31, r3 -/* 802BE858 4B FF F6 99 */ bl __ct__14Z2SoundObjBaseFv -/* 802BE85C 3C 60 80 3D */ lis r3, __vt__16Z2SoundObjSimple@ha /* 0x803CAD10@ha */ -/* 802BE860 38 03 AD 10 */ addi r0, r3, __vt__16Z2SoundObjSimple@l /* 0x803CAD10@l */ -/* 802BE864 90 1F 00 10 */ stw r0, 0x10(r31) -/* 802BE868 7F E3 FB 78 */ mr r3, r31 -/* 802BE86C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802BE870 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802BE874 7C 08 03 A6 */ mtlr r0 -/* 802BE878 38 21 00 10 */ addi r1, r1, 0x10 -/* 802BE87C 4E 80 00 20 */ blr diff --git a/asm/Z2AudioLib/Z2SoundObject/__ct__21Z2DopplerSoundObjBaseFv.s b/asm/Z2AudioLib/Z2SoundObject/__ct__21Z2DopplerSoundObjBaseFv.s deleted file mode 100644 index 4f4546b3ac2..00000000000 --- a/asm/Z2AudioLib/Z2SoundObject/__ct__21Z2DopplerSoundObjBaseFv.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_802BE5A0: -/* 802BE5A0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802BE5A4 7C 08 02 A6 */ mflr r0 -/* 802BE5A8 90 01 00 14 */ stw r0, 0x14(r1) -/* 802BE5AC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802BE5B0 7C 7F 1B 78 */ mr r31, r3 -/* 802BE5B4 4B FF F9 3D */ bl __ct__14Z2SoundObjBaseFv -/* 802BE5B8 3C 60 80 3D */ lis r3, __vt__21Z2DopplerSoundObjBase@ha /* 0x803CAD30@ha */ -/* 802BE5BC 38 03 AD 30 */ addi r0, r3, __vt__21Z2DopplerSoundObjBase@l /* 0x803CAD30@l */ -/* 802BE5C0 90 1F 00 10 */ stw r0, 0x10(r31) -/* 802BE5C4 3C 60 80 3A */ lis r3, cNullVec__6Z2Calc@ha /* 0x8039C230@ha */ -/* 802BE5C8 38 63 C2 30 */ addi r3, r3, cNullVec__6Z2Calc@l /* 0x8039C230@l */ -/* 802BE5CC E0 23 00 00 */ psq_l f1, 0(r3), 0, 0 /* qr0 */ -/* 802BE5D0 C0 03 00 08 */ lfs f0, 8(r3) -/* 802BE5D4 F0 3F 00 20 */ psq_st f1, 32(r31), 0, 0 /* qr0 */ -/* 802BE5D8 D0 1F 00 28 */ stfs f0, 0x28(r31) -/* 802BE5DC F0 3F 00 2C */ psq_st f1, 44(r31), 0, 0 /* qr0 */ -/* 802BE5E0 D0 1F 00 34 */ stfs f0, 0x34(r31) -/* 802BE5E4 7F E3 FB 78 */ mr r3, r31 -/* 802BE5E8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802BE5EC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802BE5F0 7C 08 03 A6 */ mtlr r0 -/* 802BE5F4 38 21 00 10 */ addi r1, r1, 0x10 -/* 802BE5F8 4E 80 00 20 */ blr diff --git a/asm/Z2AudioLib/Z2SoundObject/__dt__21Z2DopplerSoundObjBaseFv.s b/asm/Z2AudioLib/Z2SoundObject/__dt__21Z2DopplerSoundObjBaseFv.s deleted file mode 100644 index 50a21a59fac..00000000000 --- a/asm/Z2AudioLib/Z2SoundObject/__dt__21Z2DopplerSoundObjBaseFv.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_802BE5FC: -/* 802BE5FC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802BE600 7C 08 02 A6 */ mflr r0 -/* 802BE604 90 01 00 14 */ stw r0, 0x14(r1) -/* 802BE608 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802BE60C 93 C1 00 08 */ stw r30, 8(r1) -/* 802BE610 7C 7E 1B 79 */ or. r30, r3, r3 -/* 802BE614 7C 9F 23 78 */ mr r31, r4 -/* 802BE618 41 82 00 28 */ beq lbl_802BE640 -/* 802BE61C 3C 80 80 3D */ lis r4, __vt__21Z2DopplerSoundObjBase@ha /* 0x803CAD30@ha */ -/* 802BE620 38 04 AD 30 */ addi r0, r4, __vt__21Z2DopplerSoundObjBase@l /* 0x803CAD30@l */ -/* 802BE624 90 1E 00 10 */ stw r0, 0x10(r30) -/* 802BE628 38 80 00 00 */ li r4, 0 -/* 802BE62C 4B FF F9 1D */ bl __dt__14Z2SoundObjBaseFv -/* 802BE630 7F E0 07 35 */ extsh. r0, r31 -/* 802BE634 40 81 00 0C */ ble lbl_802BE640 -/* 802BE638 7F C3 F3 78 */ mr r3, r30 -/* 802BE63C 48 01 07 01 */ bl __dl__FPv -lbl_802BE640: -/* 802BE640 7F C3 F3 78 */ mr r3, r30 -/* 802BE644 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802BE648 83 C1 00 08 */ lwz r30, 8(r1) -/* 802BE64C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802BE650 7C 08 03 A6 */ mtlr r0 -/* 802BE654 38 21 00 10 */ addi r1, r1, 0x10 -/* 802BE658 4E 80 00 20 */ blr diff --git a/asm/Z2AudioLib/Z2SoundObject/ageSounds___15Z2SoundObjAnimeFv.s b/asm/Z2AudioLib/Z2SoundObject/ageSounds___15Z2SoundObjAnimeFv.s deleted file mode 100644 index 93ae5f3d9c3..00000000000 --- a/asm/Z2AudioLib/Z2SoundObject/ageSounds___15Z2SoundObjAnimeFv.s +++ /dev/null @@ -1,105 +0,0 @@ -lbl_802BED68: -/* 802BED68 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802BED6C 7C 08 02 A6 */ mflr r0 -/* 802BED70 90 01 00 14 */ stw r0, 0x14(r1) -/* 802BED74 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802BED78 93 C1 00 08 */ stw r30, 8(r1) -/* 802BED7C 7C 7F 1B 78 */ mr r31, r3 -/* 802BED80 3B C0 00 00 */ li r30, 0 -/* 802BED84 48 00 01 2C */ b lbl_802BEEB0 -lbl_802BED88: -/* 802BED88 7F E3 FB 78 */ mr r3, r31 -/* 802BED8C 7F C4 F3 78 */ mr r4, r30 -/* 802BED90 48 01 D4 7D */ bl getNthLink__10JSUPtrListCFUl -/* 802BED94 28 03 00 00 */ cmplwi r3, 0 -/* 802BED98 41 82 00 08 */ beq lbl_802BEDA0 -/* 802BED9C 38 63 FF FC */ addi r3, r3, -4 -lbl_802BEDA0: -/* 802BEDA0 80 03 00 00 */ lwz r0, 0(r3) -/* 802BEDA4 28 00 00 00 */ cmplwi r0, 0 -/* 802BEDA8 41 82 01 04 */ beq lbl_802BEEAC -/* 802BEDAC 7F E3 FB 78 */ mr r3, r31 -/* 802BEDB0 7F C4 F3 78 */ mr r4, r30 -/* 802BEDB4 48 01 D4 59 */ bl getNthLink__10JSUPtrListCFUl -/* 802BEDB8 28 03 00 00 */ cmplwi r3, 0 -/* 802BEDBC 41 82 00 08 */ beq lbl_802BEDC4 -/* 802BEDC0 38 63 FF FC */ addi r3, r3, -4 -lbl_802BEDC4: -/* 802BEDC4 80 63 00 00 */ lwz r3, 0(r3) -/* 802BEDC8 88 03 00 1F */ lbz r0, 0x1f(r3) -/* 802BEDCC 54 00 E7 BE */ rlwinm r0, r0, 0x1c, 0x1e, 0x1f -/* 802BEDD0 2C 00 00 01 */ cmpwi r0, 1 -/* 802BEDD4 41 82 00 10 */ beq lbl_802BEDE4 -/* 802BEDD8 40 80 00 D4 */ bge lbl_802BEEAC -/* 802BEDDC 48 00 00 D0 */ b lbl_802BEEAC -/* 802BEDE0 48 00 00 CC */ b lbl_802BEEAC -lbl_802BEDE4: -/* 802BEDE4 7F E3 FB 78 */ mr r3, r31 -/* 802BEDE8 7F C4 F3 78 */ mr r4, r30 -/* 802BEDEC 48 01 D4 21 */ bl getNthLink__10JSUPtrListCFUl -/* 802BEDF0 28 03 00 00 */ cmplwi r3, 0 -/* 802BEDF4 41 82 00 08 */ beq lbl_802BEDFC -/* 802BEDF8 38 63 FF FC */ addi r3, r3, -4 -lbl_802BEDFC: -/* 802BEDFC 80 63 00 00 */ lwz r3, 0(r3) -/* 802BEE00 88 03 00 1D */ lbz r0, 0x1d(r3) -/* 802BEE04 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f -/* 802BEE08 41 82 00 28 */ beq lbl_802BEE30 -/* 802BEE0C 7F E3 FB 78 */ mr r3, r31 -/* 802BEE10 7F C4 F3 78 */ mr r4, r30 -/* 802BEE14 48 01 D3 F9 */ bl getNthLink__10JSUPtrListCFUl -/* 802BEE18 28 03 00 00 */ cmplwi r3, 0 -/* 802BEE1C 41 82 00 08 */ beq lbl_802BEE24 -/* 802BEE20 38 63 FF FC */ addi r3, r3, -4 -lbl_802BEE24: -/* 802BEE24 80 63 00 00 */ lwz r3, 0(r3) -/* 802BEE28 4B FE 37 71 */ bl stop__8JAISoundFv -/* 802BEE2C 48 00 00 80 */ b lbl_802BEEAC -lbl_802BEE30: -/* 802BEE30 7F E3 FB 78 */ mr r3, r31 -/* 802BEE34 7F C4 F3 78 */ mr r4, r30 -/* 802BEE38 48 01 D3 D5 */ bl getNthLink__10JSUPtrListCFUl -/* 802BEE3C 28 03 00 00 */ cmplwi r3, 0 -/* 802BEE40 41 82 00 08 */ beq lbl_802BEE48 -/* 802BEE44 38 63 FF FC */ addi r3, r3, -4 -lbl_802BEE48: -/* 802BEE48 80 63 00 00 */ lwz r3, 0(r3) -/* 802BEE4C 80 63 00 20 */ lwz r3, 0x20(r3) -/* 802BEE50 80 03 00 10 */ lwz r0, 0x10(r3) -/* 802BEE54 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d -/* 802BEE58 41 82 00 28 */ beq lbl_802BEE80 -/* 802BEE5C 7F E3 FB 78 */ mr r3, r31 -/* 802BEE60 7F C4 F3 78 */ mr r4, r30 -/* 802BEE64 48 01 D3 A9 */ bl getNthLink__10JSUPtrListCFUl -/* 802BEE68 28 03 00 00 */ cmplwi r3, 0 -/* 802BEE6C 41 82 00 08 */ beq lbl_802BEE74 -/* 802BEE70 38 63 FF FC */ addi r3, r3, -4 -lbl_802BEE74: -/* 802BEE74 80 63 00 00 */ lwz r3, 0(r3) -/* 802BEE78 4B FE 37 21 */ bl stop__8JAISoundFv -/* 802BEE7C 48 00 00 30 */ b lbl_802BEEAC -lbl_802BEE80: -/* 802BEE80 7F E3 FB 78 */ mr r3, r31 -/* 802BEE84 7F C4 F3 78 */ mr r4, r30 -/* 802BEE88 48 01 D3 85 */ bl getNthLink__10JSUPtrListCFUl -/* 802BEE8C 28 03 00 00 */ cmplwi r3, 0 -/* 802BEE90 41 82 00 08 */ beq lbl_802BEE98 -/* 802BEE94 38 63 FF FC */ addi r3, r3, -4 -lbl_802BEE98: -/* 802BEE98 80 83 00 00 */ lwz r4, 0(r3) -/* 802BEE9C 38 60 00 02 */ li r3, 2 -/* 802BEEA0 88 04 00 1F */ lbz r0, 0x1f(r4) -/* 802BEEA4 50 60 26 B6 */ rlwimi r0, r3, 4, 0x1a, 0x1b -/* 802BEEA8 98 04 00 1F */ stb r0, 0x1f(r4) -lbl_802BEEAC: -/* 802BEEAC 3B DE 00 01 */ addi r30, r30, 1 -lbl_802BEEB0: -/* 802BEEB0 80 1F 00 08 */ lwz r0, 8(r31) -/* 802BEEB4 7C 1E 00 00 */ cmpw r30, r0 -/* 802BEEB8 41 80 FE D0 */ blt lbl_802BED88 -/* 802BEEBC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802BEEC0 83 C1 00 08 */ lwz r30, 8(r1) -/* 802BEEC4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802BEEC8 7C 08 03 A6 */ mtlr r0 -/* 802BEECC 38 21 00 10 */ addi r1, r1, 0x10 -/* 802BEED0 4E 80 00 20 */ blr diff --git a/asm/Z2AudioLib/Z2SoundObject/deleteObject__14Z2SoundObjBaseFv.s b/asm/Z2AudioLib/Z2SoundObject/deleteObject__14Z2SoundObjBaseFv.s deleted file mode 100644 index 322c5a6e2e5..00000000000 --- a/asm/Z2AudioLib/Z2SoundObject/deleteObject__14Z2SoundObjBaseFv.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_802BDFF8: -/* 802BDFF8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802BDFFC 7C 08 02 A6 */ mflr r0 -/* 802BE000 90 01 00 14 */ stw r0, 0x14(r1) -/* 802BE004 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802BE008 7C 7F 1B 78 */ mr r31, r3 -/* 802BE00C 81 83 00 10 */ lwz r12, 0x10(r3) -/* 802BE010 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 802BE014 7D 89 03 A6 */ mtctr r12 -/* 802BE018 4E 80 04 21 */ bctrl -/* 802BE01C 7F E3 FB 78 */ mr r3, r31 -/* 802BE020 4B FE D1 01 */ bl deleteHandlesPool__14Z2SoundHandlesFv -/* 802BE024 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802BE028 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802BE02C 7C 08 03 A6 */ mtlr r0 -/* 802BE030 38 21 00 10 */ addi r1, r1, 0x10 -/* 802BE034 4E 80 00 20 */ blr diff --git a/asm/Z2AudioLib/Z2SoundObject/dispose__14Z2SoundObjBaseFv.s b/asm/Z2AudioLib/Z2SoundObject/dispose__14Z2SoundObjBaseFv.s deleted file mode 100644 index ddbb352027a..00000000000 --- a/asm/Z2AudioLib/Z2SoundObject/dispose__14Z2SoundObjBaseFv.s +++ /dev/null @@ -1,42 +0,0 @@ -lbl_802BE070: -/* 802BE070 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802BE074 7C 08 02 A6 */ mflr r0 -/* 802BE078 90 01 00 24 */ stw r0, 0x24(r1) -/* 802BE07C 39 61 00 20 */ addi r11, r1, 0x20 -/* 802BE080 48 0A 41 5D */ bl _savegpr_29 -/* 802BE084 7C 7D 1B 78 */ mr r29, r3 -/* 802BE088 83 C3 00 00 */ lwz r30, 0(r3) -/* 802BE08C 48 00 00 50 */ b lbl_802BE0DC -lbl_802BE090: -/* 802BE090 83 FE 00 00 */ lwz r31, 0(r30) -/* 802BE094 28 1F 00 00 */ cmplwi r31, 0 -/* 802BE098 41 82 00 40 */ beq lbl_802BE0D8 -/* 802BE09C 80 7F 00 00 */ lwz r3, 0(r31) -/* 802BE0A0 28 03 00 00 */ cmplwi r3, 0 -/* 802BE0A4 41 82 00 34 */ beq lbl_802BE0D8 -/* 802BE0A8 80 03 00 18 */ lwz r0, 0x18(r3) -/* 802BE0AC 90 01 00 08 */ stw r0, 8(r1) -/* 802BE0B0 80 6D 85 CC */ lwz r3, __OSReport_disable-0x4C(r13) -/* 802BE0B4 38 81 00 08 */ addi r4, r1, 8 -/* 802BE0B8 4B FF DA 11 */ bl getSwBit__11Z2SoundInfoCF10JAISoundID -/* 802BE0BC 54 60 04 21 */ rlwinm. r0, r3, 0, 0x10, 0x10 -/* 802BE0C0 41 82 00 10 */ beq lbl_802BE0D0 -/* 802BE0C4 7F E3 FB 78 */ mr r3, r31 -/* 802BE0C8 4B FE 40 BD */ bl releaseSound__14JAISoundHandleFv -/* 802BE0CC 48 00 00 0C */ b lbl_802BE0D8 -lbl_802BE0D0: -/* 802BE0D0 80 7F 00 00 */ lwz r3, 0(r31) -/* 802BE0D4 4B FE 44 C5 */ bl stop__8JAISoundFv -lbl_802BE0D8: -/* 802BE0D8 83 DE 00 0C */ lwz r30, 0xc(r30) -lbl_802BE0DC: -/* 802BE0DC 28 1E 00 00 */ cmplwi r30, 0 -/* 802BE0E0 40 82 FF B0 */ bne lbl_802BE090 -/* 802BE0E4 38 00 00 00 */ li r0, 0 -/* 802BE0E8 98 1D 00 1F */ stb r0, 0x1f(r29) -/* 802BE0EC 39 61 00 20 */ addi r11, r1, 0x20 -/* 802BE0F0 48 0A 41 39 */ bl _restgpr_29 -/* 802BE0F4 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802BE0F8 7C 08 03 A6 */ mtlr r0 -/* 802BE0FC 38 21 00 20 */ addi r1, r1, 0x20 -/* 802BE100 4E 80 00 20 */ blr diff --git a/asm/Z2AudioLib/Z2SoundObject/framework__21Z2DopplerSoundObjBaseFUlSc.s b/asm/Z2AudioLib/Z2SoundObject/framework__21Z2DopplerSoundObjBaseFUlSc.s deleted file mode 100644 index 55b0950870d..00000000000 --- a/asm/Z2AudioLib/Z2SoundObject/framework__21Z2DopplerSoundObjBaseFUlSc.s +++ /dev/null @@ -1,25 +0,0 @@ -lbl_802BE6B8: -/* 802BE6B8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802BE6BC 7C 08 02 A6 */ mflr r0 -/* 802BE6C0 90 01 00 14 */ stw r0, 0x14(r1) -/* 802BE6C4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802BE6C8 7C 7F 1B 78 */ mr r31, r3 -/* 802BE6CC 4B FF F9 6D */ bl framework__14Z2SoundObjBaseFUlSc -/* 802BE6D0 80 1F 00 18 */ lwz r0, 0x18(r31) -/* 802BE6D4 28 00 00 00 */ cmplwi r0, 0 -/* 802BE6D8 41 82 00 28 */ beq lbl_802BE700 -/* 802BE6DC E0 3F 00 2C */ psq_l f1, 44(r31), 0, 0 /* qr0 */ -/* 802BE6E0 C0 1F 00 34 */ lfs f0, 0x34(r31) -/* 802BE6E4 F0 3F 00 20 */ psq_st f1, 32(r31), 0, 0 /* qr0 */ -/* 802BE6E8 D0 1F 00 28 */ stfs f0, 0x28(r31) -/* 802BE6EC 80 7F 00 18 */ lwz r3, 0x18(r31) -/* 802BE6F0 E0 23 00 00 */ psq_l f1, 0(r3), 0, 0 /* qr0 */ -/* 802BE6F4 C0 03 00 08 */ lfs f0, 8(r3) -/* 802BE6F8 F0 3F 00 2C */ psq_st f1, 44(r31), 0, 0 /* qr0 */ -/* 802BE6FC D0 1F 00 34 */ stfs f0, 0x34(r31) -lbl_802BE700: -/* 802BE700 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802BE704 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802BE708 7C 08 03 A6 */ mtlr r0 -/* 802BE70C 38 21 00 10 */ addi r1, r1, 0x10 -/* 802BE710 4E 80 00 20 */ blr diff --git a/asm/Z2AudioLib/Z2SoundObject/func_802BF660.s b/asm/Z2AudioLib/Z2SoundObject/func_802BF660.s deleted file mode 100644 index 678f836cf8e..00000000000 --- a/asm/Z2AudioLib/Z2SoundObject/func_802BF660.s +++ /dev/null @@ -1,149 +0,0 @@ -lbl_802BF660: -/* 802BF660 94 21 FF A0 */ stwu r1, -0x60(r1) -/* 802BF664 7C 08 02 A6 */ mflr r0 -/* 802BF668 90 01 00 64 */ stw r0, 0x64(r1) -/* 802BF66C DB E1 00 50 */ stfd f31, 0x50(r1) -/* 802BF670 F3 E1 00 58 */ psq_st f31, 88(r1), 0, 0 /* qr0 */ -/* 802BF674 39 61 00 50 */ addi r11, r1, 0x50 -/* 802BF678 48 0A 2B 4D */ bl _savegpr_23 -/* 802BF67C 7C 78 1B 78 */ mr r24, r3 -/* 802BF680 7C 99 23 78 */ mr r25, r4 -/* 802BF684 FF E0 08 90 */ fmr f31, f1 -/* 802BF688 7C BA 2B 78 */ mr r26, r5 -/* 802BF68C 7C DB 33 78 */ mr r27, r6 -/* 802BF690 7C FC 3B 78 */ mr r28, r7 -/* 802BF694 80 A3 00 40 */ lwz r5, 0x40(r3) -/* 802BF698 80 83 00 20 */ lwz r4, 0x20(r3) -/* 802BF69C 80 64 00 04 */ lwz r3, 4(r4) -/* 802BF6A0 28 03 00 00 */ cmplwi r3, 0 -/* 802BF6A4 41 82 00 18 */ beq lbl_802BF6BC -/* 802BF6A8 81 83 00 00 */ lwz r12, 0(r3) -/* 802BF6AC 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 802BF6B0 7D 89 03 A6 */ mtctr r12 -/* 802BF6B4 4E 80 04 21 */ bctrl -/* 802BF6B8 48 00 00 10 */ b lbl_802BF6C8 -lbl_802BF6BC: -/* 802BF6BC 54 A3 28 34 */ slwi r3, r5, 5 -/* 802BF6C0 38 63 00 08 */ addi r3, r3, 8 -/* 802BF6C4 7C 64 1A 14 */ add r3, r4, r3 -lbl_802BF6C8: -/* 802BF6C8 7C 7F 1B 78 */ mr r31, r3 -/* 802BF6CC 7C 7E 1B 78 */ mr r30, r3 -/* 802BF6D0 88 18 00 44 */ lbz r0, 0x44(r24) -/* 802BF6D4 28 00 00 00 */ cmplwi r0, 0 -/* 802BF6D8 41 82 00 14 */ beq lbl_802BF6EC -/* 802BF6DC 80 78 00 40 */ lwz r3, 0x40(r24) -/* 802BF6E0 38 03 FF FF */ addi r0, r3, -1 -/* 802BF6E4 90 18 00 40 */ stw r0, 0x40(r24) -/* 802BF6E8 48 00 00 10 */ b lbl_802BF6F8 -lbl_802BF6EC: -/* 802BF6EC 80 78 00 40 */ lwz r3, 0x40(r24) -/* 802BF6F0 38 03 00 01 */ addi r0, r3, 1 -/* 802BF6F4 90 18 00 40 */ stw r0, 0x40(r24) -lbl_802BF6F8: -/* 802BF6F8 88 7F 00 1A */ lbz r3, 0x1a(r31) -/* 802BF6FC 7C 60 07 75 */ extsb. r0, r3 -/* 802BF700 40 81 00 08 */ ble lbl_802BF708 -/* 802BF704 7C 7B 07 74 */ extsb r27, r3 -lbl_802BF708: -/* 802BF708 7F 03 C3 78 */ mr r3, r24 -/* 802BF70C 7F E4 FB 78 */ mr r4, r31 -/* 802BF710 7F 25 CB 78 */ mr r5, r25 -/* 802BF714 FC 20 F8 90 */ fmr f1, f31 -/* 802BF718 48 00 01 81 */ bl func_802BF898 -/* 802BF71C 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 802BF720 41 82 01 50 */ beq lbl_802BF870 -/* 802BF724 7F 03 C3 78 */ mr r3, r24 -/* 802BF728 7F E4 FB 78 */ mr r4, r31 -/* 802BF72C 7F 25 CB 78 */ mr r5, r25 -/* 802BF730 FC 20 F8 90 */ fmr f1, f31 -/* 802BF734 48 00 01 5D */ bl func_802BF890 -/* 802BF738 7C 77 1B 78 */ mr r23, r3 -/* 802BF73C 92 E1 00 0C */ stw r23, 0xc(r1) -/* 802BF740 80 6D 86 08 */ lwz r3, __OSReport_disable-0x10(r13) -/* 802BF744 38 81 00 0C */ addi r4, r1, 0xc -/* 802BF748 4B FE EE 69 */ bl isSoundCulling__7Z2SeMgrF10JAISoundID -/* 802BF74C 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 802BF750 40 82 01 20 */ bne lbl_802BF870 -/* 802BF754 7F 03 C3 78 */ mr r3, r24 -/* 802BF758 7F C4 F3 78 */ mr r4, r30 -/* 802BF75C 4B FE BB 45 */ bl getHandleUserData__14Z2SoundHandlesFUl -/* 802BF760 7C 7D 1B 79 */ or. r29, r3, r3 -/* 802BF764 41 82 00 24 */ beq lbl_802BF788 -/* 802BF768 80 7D 00 00 */ lwz r3, 0(r29) -/* 802BF76C 28 03 00 00 */ cmplwi r3, 0 -/* 802BF770 41 82 00 18 */ beq lbl_802BF788 -/* 802BF774 88 03 00 1F */ lbz r0, 0x1f(r3) -/* 802BF778 54 00 E7 BE */ rlwinm r0, r0, 0x1c, 0x1e, 0x1f -/* 802BF77C 28 00 00 01 */ cmplwi r0, 1 -/* 802BF780 41 82 00 08 */ beq lbl_802BF788 -/* 802BF784 3B A0 00 00 */ li r29, 0 -lbl_802BF788: -/* 802BF788 28 1D 00 00 */ cmplwi r29, 0 -/* 802BF78C 40 82 00 10 */ bne lbl_802BF79C -/* 802BF790 7F 03 C3 78 */ mr r3, r24 -/* 802BF794 4B FE BB 45 */ bl getFreeHandle__14Z2SoundHandlesFv -/* 802BF798 7C 7D 1B 78 */ mr r29, r3 -lbl_802BF79C: -/* 802BF79C 28 1D 00 00 */ cmplwi r29, 0 -/* 802BF7A0 41 82 00 D0 */ beq lbl_802BF870 -/* 802BF7A4 92 E1 00 08 */ stw r23, 8(r1) -/* 802BF7A8 7F 43 D3 78 */ mr r3, r26 -/* 802BF7AC 38 81 00 08 */ addi r4, r1, 8 -/* 802BF7B0 7F A5 EB 78 */ mr r5, r29 -/* 802BF7B4 7F 26 CB 78 */ mr r6, r25 -/* 802BF7B8 7F 67 DB 78 */ mr r7, r27 -/* 802BF7BC 7F 80 07 74 */ extsb r0, r28 -/* 802BF7C0 C8 22 C1 48 */ lfd f1, lit_3564(r2) -/* 802BF7C4 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 802BF7C8 90 01 00 14 */ stw r0, 0x14(r1) -/* 802BF7CC 3D 00 43 30 */ lis r8, 0x4330 -/* 802BF7D0 91 01 00 10 */ stw r8, 0x10(r1) -/* 802BF7D4 C8 01 00 10 */ lfd f0, 0x10(r1) -/* 802BF7D8 EC 00 08 28 */ fsubs f0, f0, f1 -/* 802BF7DC C0 82 C1 38 */ lfs f4, lit_3559(r2) -/* 802BF7E0 EC 20 20 24 */ fdivs f1, f0, f4 -/* 802BF7E4 C0 5F 00 0C */ lfs f2, 0xc(r31) -/* 802BF7E8 88 1F 00 14 */ lbz r0, 0x14(r31) -/* 802BF7EC C8 62 C1 68 */ lfd f3, lit_3828(r2) -/* 802BF7F0 90 01 00 1C */ stw r0, 0x1c(r1) -/* 802BF7F4 91 01 00 18 */ stw r8, 0x18(r1) -/* 802BF7F8 C8 01 00 18 */ lfd f0, 0x18(r1) -/* 802BF7FC EC 00 18 28 */ fsubs f0, f0, f3 -/* 802BF800 EC 60 20 24 */ fdivs f3, f0, f4 -/* 802BF804 C0 82 C1 40 */ lfs f4, lit_3561(r2) -/* 802BF808 FC A0 20 90 */ fmr f5, f4 -/* 802BF80C 39 00 00 00 */ li r8, 0 -/* 802BF810 81 9A 00 00 */ lwz r12, 0(r26) -/* 802BF814 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 802BF818 7D 89 03 A6 */ mtctr r12 -/* 802BF81C 4E 80 04 21 */ bctrl -/* 802BF820 80 9D 00 00 */ lwz r4, 0(r29) -/* 802BF824 28 04 00 00 */ cmplwi r4, 0 -/* 802BF828 41 82 00 48 */ beq lbl_802BF870 -/* 802BF82C 38 60 00 01 */ li r3, 1 -/* 802BF830 88 04 00 1F */ lbz r0, 0x1f(r4) -/* 802BF834 50 60 26 B6 */ rlwimi r0, r3, 4, 0x1a, 0x1b -/* 802BF838 98 04 00 1F */ stb r0, 0x1f(r4) -/* 802BF83C 80 9D 00 00 */ lwz r4, 0(r29) -/* 802BF840 93 C4 00 20 */ stw r30, 0x20(r4) -/* 802BF844 80 1F 00 10 */ lwz r0, 0x10(r31) -/* 802BF848 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19 -/* 802BF84C 41 82 00 24 */ beq lbl_802BF870 -/* 802BF850 80 9D 00 00 */ lwz r4, 0(r29) -/* 802BF854 90 64 00 10 */ stw r3, 0x10(r4) -/* 802BF858 88 04 00 1D */ lbz r0, 0x1d(r4) -/* 802BF85C 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18 -/* 802BF860 98 04 00 1D */ stb r0, 0x1d(r4) -/* 802BF864 88 04 00 1D */ lbz r0, 0x1d(r4) -/* 802BF868 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19 -/* 802BF86C 98 04 00 1D */ stb r0, 0x1d(r4) -lbl_802BF870: -/* 802BF870 E3 E1 00 58 */ psq_l f31, 88(r1), 0, 0 /* qr0 */ -/* 802BF874 CB E1 00 50 */ lfd f31, 0x50(r1) -/* 802BF878 39 61 00 50 */ addi r11, r1, 0x50 -/* 802BF87C 48 0A 29 95 */ bl _restgpr_23 -/* 802BF880 80 01 00 64 */ lwz r0, 0x64(r1) -/* 802BF884 7C 08 03 A6 */ mtlr r0 -/* 802BF888 38 21 00 60 */ addi r1, r1, 0x60 -/* 802BF88C 4E 80 00 20 */ blr diff --git a/asm/Z2AudioLib/Z2SoundObject/func_802BF890.s b/asm/Z2AudioLib/Z2SoundObject/func_802BF890.s deleted file mode 100644 index 60468df522b..00000000000 --- a/asm/Z2AudioLib/Z2SoundObject/func_802BF890.s +++ /dev/null @@ -1,3 +0,0 @@ -lbl_802BF890: -/* 802BF890 80 64 00 00 */ lwz r3, 0(r4) -/* 802BF894 4E 80 00 20 */ blr diff --git a/asm/Z2AudioLib/Z2SoundObject/func_802BF898.s b/asm/Z2AudioLib/Z2SoundObject/func_802BF898.s deleted file mode 100644 index 8376f46f7ee..00000000000 --- a/asm/Z2AudioLib/Z2SoundObject/func_802BF898.s +++ /dev/null @@ -1,39 +0,0 @@ -lbl_802BF898: -/* 802BF898 80 E4 00 10 */ lwz r7, 0x10(r4) -/* 802BF89C 54 E0 07 39 */ rlwinm. r0, r7, 0, 0x1c, 0x1c -/* 802BF8A0 41 82 00 1C */ beq lbl_802BF8BC -/* 802BF8A4 80 A3 00 3C */ lwz r5, 0x3c(r3) -/* 802BF8A8 88 04 00 16 */ lbz r0, 0x16(r4) -/* 802BF8AC 7C 05 00 00 */ cmpw r5, r0 -/* 802BF8B0 41 82 00 3C */ beq lbl_802BF8EC -/* 802BF8B4 38 60 00 00 */ li r3, 0 -/* 802BF8B8 4E 80 00 20 */ blr -lbl_802BF8BC: -/* 802BF8BC 54 E0 06 31 */ rlwinm. r0, r7, 0, 0x18, 0x18 -/* 802BF8C0 41 82 00 2C */ beq lbl_802BF8EC -/* 802BF8C4 88 C4 00 16 */ lbz r6, 0x16(r4) -/* 802BF8C8 80 A3 00 3C */ lwz r5, 0x3c(r3) -/* 802BF8CC 88 84 00 19 */ lbz r4, 0x19(r4) -/* 802BF8D0 7C 05 23 D6 */ divw r0, r5, r4 -/* 802BF8D4 7C 00 21 D6 */ mullw r0, r0, r4 -/* 802BF8D8 7C 00 28 50 */ subf r0, r0, r5 -/* 802BF8DC 7C 06 00 00 */ cmpw r6, r0 -/* 802BF8E0 41 82 00 0C */ beq lbl_802BF8EC -/* 802BF8E4 38 60 00 00 */ li r3, 0 -/* 802BF8E8 4E 80 00 20 */ blr -lbl_802BF8EC: -/* 802BF8EC 88 03 00 44 */ lbz r0, 0x44(r3) -/* 802BF8F0 28 00 00 00 */ cmplwi r0, 0 -/* 802BF8F4 41 82 00 14 */ beq lbl_802BF908 -/* 802BF8F8 54 E0 07 FF */ clrlwi. r0, r7, 0x1f -/* 802BF8FC 41 82 00 1C */ beq lbl_802BF918 -/* 802BF900 38 60 00 00 */ li r3, 0 -/* 802BF904 4E 80 00 20 */ blr -lbl_802BF908: -/* 802BF908 54 E0 07 BD */ rlwinm. r0, r7, 0, 0x1e, 0x1e -/* 802BF90C 41 82 00 0C */ beq lbl_802BF918 -/* 802BF910 38 60 00 00 */ li r3, 0 -/* 802BF914 4E 80 00 20 */ blr -lbl_802BF918: -/* 802BF918 38 60 00 01 */ li r3, 1 -/* 802BF91C 4E 80 00 20 */ blr diff --git a/asm/Z2AudioLib/Z2SoundObject/initAnime__15Z2SoundObjAnimeFPvbff.s b/asm/Z2AudioLib/Z2SoundObject/initAnime__15Z2SoundObjAnimeFPvbff.s deleted file mode 100644 index 536a5e69640..00000000000 --- a/asm/Z2AudioLib/Z2SoundObject/initAnime__15Z2SoundObjAnimeFPvbff.s +++ /dev/null @@ -1,97 +0,0 @@ -lbl_802BEBFC: -/* 802BEBFC 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 802BEC00 7C 08 02 A6 */ mflr r0 -/* 802BEC04 90 01 00 44 */ stw r0, 0x44(r1) -/* 802BEC08 DB E1 00 30 */ stfd f31, 0x30(r1) -/* 802BEC0C F3 E1 00 38 */ psq_st f31, 56(r1), 0, 0 /* qr0 */ -/* 802BEC10 DB C1 00 20 */ stfd f30, 0x20(r1) -/* 802BEC14 F3 C1 00 28 */ psq_st f30, 40(r1), 0, 0 /* qr0 */ -/* 802BEC18 39 61 00 20 */ addi r11, r1, 0x20 -/* 802BEC1C 48 0A 35 C1 */ bl _savegpr_29 -/* 802BEC20 7C 7F 1B 78 */ mr r31, r3 -/* 802BEC24 7C 9D 23 78 */ mr r29, r4 -/* 802BEC28 7C BE 2B 78 */ mr r30, r5 -/* 802BEC2C FF C0 08 90 */ fmr f30, f1 -/* 802BEC30 FF E0 10 90 */ fmr f31, f2 -/* 802BEC34 48 00 01 35 */ bl ageSounds___15Z2SoundObjAnimeFv -/* 802BEC38 93 BF 00 20 */ stw r29, 0x20(r31) -/* 802BEC3C 80 1F 00 20 */ lwz r0, 0x20(r31) -/* 802BEC40 28 00 00 00 */ cmplwi r0, 0 -/* 802BEC44 41 82 00 FC */ beq lbl_802BED40 -/* 802BEC48 57 C0 06 3E */ clrlwi r0, r30, 0x18 -/* 802BEC4C 7C 00 00 34 */ cntlzw r0, r0 -/* 802BEC50 54 00 D9 7E */ srwi r0, r0, 5 -/* 802BEC54 98 1F 00 44 */ stb r0, 0x44(r31) -/* 802BEC58 38 60 00 00 */ li r3, 0 -/* 802BEC5C 90 7F 00 3C */ stw r3, 0x3c(r31) -/* 802BEC60 88 1F 00 44 */ lbz r0, 0x44(r31) -/* 802BEC64 28 00 00 00 */ cmplwi r0, 0 -/* 802BEC68 41 82 00 70 */ beq lbl_802BECD8 -/* 802BEC6C 80 9F 00 20 */ lwz r4, 0x20(r31) -/* 802BEC70 80 64 00 04 */ lwz r3, 4(r4) -/* 802BEC74 28 03 00 00 */ cmplwi r3, 0 -/* 802BEC78 41 82 00 18 */ beq lbl_802BEC90 -/* 802BEC7C 81 83 00 00 */ lwz r12, 0(r3) -/* 802BEC80 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 802BEC84 7D 89 03 A6 */ mtctr r12 -/* 802BEC88 4E 80 04 21 */ bctrl -/* 802BEC8C 48 00 00 08 */ b lbl_802BEC94 -lbl_802BEC90: -/* 802BEC90 A0 64 00 00 */ lhz r3, 0(r4) -lbl_802BEC94: -/* 802BEC94 54 63 04 3E */ clrlwi r3, r3, 0x10 -/* 802BEC98 38 03 FF FF */ addi r0, r3, -1 -/* 802BEC9C 90 1F 00 40 */ stw r0, 0x40(r31) -/* 802BECA0 3C 60 80 45 */ lis r3, __float_max@ha /* 0x80450AE8@ha */ -/* 802BECA4 C0 03 0A E8 */ lfs f0, __float_max@l(r3) /* 0x80450AE8@l */ -/* 802BECA8 D0 1F 00 28 */ stfs f0, 0x28(r31) -/* 802BECAC C0 22 C1 50 */ lfs f1, lit_3821(r2) -/* 802BECB0 D0 3F 00 2C */ stfs f1, 0x2c(r31) -/* 802BECB4 80 7F 00 20 */ lwz r3, 0x20(r31) -/* 802BECB8 4B FE 82 B9 */ bl getStartSoundIndex__17JAUSoundAnimationCFf -/* 802BECBC 90 7F 00 34 */ stw r3, 0x34(r31) -/* 802BECC0 D3 DF 00 30 */ stfs f30, 0x30(r31) -/* 802BECC4 80 7F 00 20 */ lwz r3, 0x20(r31) -/* 802BECC8 FC 20 F0 90 */ fmr f1, f30 -/* 802BECCC 4B FE 83 79 */ bl getEndSoundIndex__17JAUSoundAnimationCFf -/* 802BECD0 90 7F 00 38 */ stw r3, 0x38(r31) -/* 802BECD4 48 00 00 38 */ b lbl_802BED0C -lbl_802BECD8: -/* 802BECD8 90 7F 00 40 */ stw r3, 0x40(r31) -/* 802BECDC C0 02 C1 50 */ lfs f0, lit_3821(r2) -/* 802BECE0 D0 1F 00 28 */ stfs f0, 0x28(r31) -/* 802BECE4 D3 DF 00 2C */ stfs f30, 0x2c(r31) -/* 802BECE8 80 7F 00 20 */ lwz r3, 0x20(r31) -/* 802BECEC FC 20 F0 90 */ fmr f1, f30 -/* 802BECF0 4B FE 82 81 */ bl getStartSoundIndex__17JAUSoundAnimationCFf -/* 802BECF4 90 7F 00 34 */ stw r3, 0x34(r31) -/* 802BECF8 C0 22 C1 50 */ lfs f1, lit_3821(r2) -/* 802BECFC D0 3F 00 30 */ stfs f1, 0x30(r31) -/* 802BED00 80 7F 00 20 */ lwz r3, 0x20(r31) -/* 802BED04 4B FE 83 41 */ bl getEndSoundIndex__17JAUSoundAnimationCFf -/* 802BED08 90 7F 00 38 */ stw r3, 0x38(r31) -lbl_802BED0C: -/* 802BED0C D3 FF 00 28 */ stfs f31, 0x28(r31) -/* 802BED10 80 7F 00 20 */ lwz r3, 0x20(r31) -/* 802BED14 FC 20 F8 90 */ fmr f1, f31 -/* 802BED18 4B FE 82 59 */ bl getStartSoundIndex__17JAUSoundAnimationCFf -/* 802BED1C 90 7F 00 40 */ stw r3, 0x40(r31) -/* 802BED20 88 1F 00 44 */ lbz r0, 0x44(r31) -/* 802BED24 28 00 00 00 */ cmplwi r0, 0 -/* 802BED28 41 82 00 18 */ beq lbl_802BED40 -/* 802BED2C 80 7F 00 40 */ lwz r3, 0x40(r31) -/* 802BED30 2C 03 00 00 */ cmpwi r3, 0 -/* 802BED34 40 81 00 0C */ ble lbl_802BED40 -/* 802BED38 38 03 FF FF */ addi r0, r3, -1 -/* 802BED3C 90 1F 00 40 */ stw r0, 0x40(r31) -lbl_802BED40: -/* 802BED40 E3 E1 00 38 */ psq_l f31, 56(r1), 0, 0 /* qr0 */ -/* 802BED44 CB E1 00 30 */ lfd f31, 0x30(r1) -/* 802BED48 E3 C1 00 28 */ psq_l f30, 40(r1), 0, 0 /* qr0 */ -/* 802BED4C CB C1 00 20 */ lfd f30, 0x20(r1) -/* 802BED50 39 61 00 20 */ addi r11, r1, 0x20 -/* 802BED54 48 0A 34 D5 */ bl _restgpr_29 -/* 802BED58 80 01 00 44 */ lwz r0, 0x44(r1) -/* 802BED5C 7C 08 03 A6 */ mtlr r0 -/* 802BED60 38 21 00 40 */ addi r1, r1, 0x40 -/* 802BED64 4E 80 00 20 */ blr diff --git a/asm/Z2AudioLib/Z2SoundObject/init__15Z2SoundObjAnimeFP3VecUc.s b/asm/Z2AudioLib/Z2SoundObject/init__15Z2SoundObjAnimeFP3VecUc.s deleted file mode 100644 index 94ddff13547..00000000000 --- a/asm/Z2AudioLib/Z2SoundObject/init__15Z2SoundObjAnimeFP3VecUc.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_802BEBDC: -/* 802BEBDC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802BEBE0 7C 08 02 A6 */ mflr r0 -/* 802BEBE4 90 01 00 14 */ stw r0, 0x14(r1) -/* 802BEBE8 4B FF F3 C9 */ bl init__14Z2SoundObjBaseFP3VecUc -/* 802BEBEC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802BEBF0 7C 08 03 A6 */ mtlr r0 -/* 802BEBF4 38 21 00 10 */ addi r1, r1, 0x10 -/* 802BEBF8 4E 80 00 20 */ blr diff --git a/asm/Z2AudioLib/Z2SoundObject/init__15Z2SoundObjArrowFP3VecUc.s b/asm/Z2AudioLib/Z2SoundObject/init__15Z2SoundObjArrowFP3VecUc.s deleted file mode 100644 index 11d3dcfcc12..00000000000 --- a/asm/Z2AudioLib/Z2SoundObject/init__15Z2SoundObjArrowFP3VecUc.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_802BEB74: -/* 802BEB74 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802BEB78 7C 08 02 A6 */ mflr r0 -/* 802BEB7C 90 01 00 14 */ stw r0, 0x14(r1) -/* 802BEB80 4B FF F4 31 */ bl init__14Z2SoundObjBaseFP3VecUc -/* 802BEB84 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802BEB88 7C 08 03 A6 */ mtlr r0 -/* 802BEB8C 38 21 00 10 */ addi r1, r1, 0x10 -/* 802BEB90 4E 80 00 20 */ blr diff --git a/asm/Z2AudioLib/Z2SoundObject/init__21Z2DopplerSoundObjBaseFP3VecUc.s b/asm/Z2AudioLib/Z2SoundObject/init__21Z2DopplerSoundObjBaseFP3VecUc.s deleted file mode 100644 index d2e6a331547..00000000000 --- a/asm/Z2AudioLib/Z2SoundObject/init__21Z2DopplerSoundObjBaseFP3VecUc.s +++ /dev/null @@ -1,25 +0,0 @@ -lbl_802BE65C: -/* 802BE65C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802BE660 7C 08 02 A6 */ mflr r0 -/* 802BE664 90 01 00 14 */ stw r0, 0x14(r1) -/* 802BE668 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802BE66C 7C 7F 1B 78 */ mr r31, r3 -/* 802BE670 4B FF F9 41 */ bl init__14Z2SoundObjBaseFP3VecUc -/* 802BE674 80 7F 00 18 */ lwz r3, 0x18(r31) -/* 802BE678 28 03 00 00 */ cmplwi r3, 0 -/* 802BE67C 41 82 00 28 */ beq lbl_802BE6A4 -/* 802BE680 E0 23 00 00 */ psq_l f1, 0(r3), 0, 0 /* qr0 */ -/* 802BE684 C0 03 00 08 */ lfs f0, 8(r3) -/* 802BE688 F0 3F 00 20 */ psq_st f1, 32(r31), 0, 0 /* qr0 */ -/* 802BE68C D0 1F 00 28 */ stfs f0, 0x28(r31) -/* 802BE690 80 7F 00 18 */ lwz r3, 0x18(r31) -/* 802BE694 E0 23 00 00 */ psq_l f1, 0(r3), 0, 0 /* qr0 */ -/* 802BE698 C0 03 00 08 */ lfs f0, 8(r3) -/* 802BE69C F0 3F 00 2C */ psq_st f1, 44(r31), 0, 0 /* qr0 */ -/* 802BE6A0 D0 1F 00 34 */ stfs f0, 0x34(r31) -lbl_802BE6A4: -/* 802BE6A4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802BE6A8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802BE6AC 7C 08 03 A6 */ mtlr r0 -/* 802BE6B0 38 21 00 10 */ addi r1, r1, 0x10 -/* 802BE6B4 4E 80 00 20 */ blr diff --git a/asm/Z2AudioLib/Z2SoundObject/startCollisionSE__14Z2SoundObjBaseFUlUlP14Z2SoundObjBase.s b/asm/Z2AudioLib/Z2SoundObject/startCollisionSE__14Z2SoundObjBaseFUlUlP14Z2SoundObjBase.s deleted file mode 100644 index 7a4a6ec7015..00000000000 --- a/asm/Z2AudioLib/Z2SoundObject/startCollisionSE__14Z2SoundObjBaseFUlUlP14Z2SoundObjBase.s +++ /dev/null @@ -1,70 +0,0 @@ -lbl_802BE4A4: -/* 802BE4A4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802BE4A8 7C 08 02 A6 */ mflr r0 -/* 802BE4AC 90 01 00 24 */ stw r0, 0x24(r1) -/* 802BE4B0 39 61 00 20 */ addi r11, r1, 0x20 -/* 802BE4B4 48 0A 3D 25 */ bl _savegpr_28 -/* 802BE4B8 7C 7C 1B 78 */ mr r28, r3 -/* 802BE4BC 7C 9D 23 78 */ mr r29, r4 -/* 802BE4C0 7C BE 2B 78 */ mr r30, r5 -/* 802BE4C4 28 06 00 00 */ cmplwi r6, 0 -/* 802BE4C8 41 82 00 14 */ beq lbl_802BE4DC -/* 802BE4CC 7C C3 33 78 */ mr r3, r6 -/* 802BE4D0 38 C0 00 00 */ li r6, 0 -/* 802BE4D4 4B FF FF D1 */ bl startCollisionSE__14Z2SoundObjBaseFUlUlP14Z2SoundObjBase -/* 802BE4D8 48 00 00 B0 */ b lbl_802BE588 -lbl_802BE4DC: -/* 802BE4DC 28 1E 00 35 */ cmplwi r30, 0x35 -/* 802BE4E0 40 81 00 08 */ ble lbl_802BE4E8 -/* 802BE4E4 3B C0 00 00 */ li r30, 0 -lbl_802BE4E8: -/* 802BE4E8 80 6D 85 E0 */ lwz r3, __OSReport_disable-0x38(r13) -/* 802BE4EC 83 E3 02 20 */ lwz r31, 0x220(r3) -/* 802BE4F0 48 00 00 30 */ b lbl_802BE520 -lbl_802BE4F4: -/* 802BE4F4 80 7F 00 00 */ lwz r3, 0(r31) -/* 802BE4F8 80 03 00 28 */ lwz r0, 0x28(r3) -/* 802BE4FC 90 01 00 0C */ stw r0, 0xc(r1) -/* 802BE500 7C 1D 00 40 */ cmplw r29, r0 -/* 802BE504 40 82 00 18 */ bne lbl_802BE51C -/* 802BE508 80 03 00 30 */ lwz r0, 0x30(r3) -/* 802BE50C 7C 1E 00 40 */ cmplw r30, r0 -/* 802BE510 40 82 00 0C */ bne lbl_802BE51C -/* 802BE514 38 63 00 10 */ addi r3, r3, 0x10 -/* 802BE518 4B FE 40 81 */ bl stop__8JAISoundFv -lbl_802BE51C: -/* 802BE51C 83 FF 00 0C */ lwz r31, 0xc(r31) -lbl_802BE520: -/* 802BE520 28 1F 00 00 */ cmplwi r31, 0 -/* 802BE524 40 82 FF D0 */ bne lbl_802BE4F4 -/* 802BE528 93 A1 00 08 */ stw r29, 8(r1) -/* 802BE52C 7F 83 E3 78 */ mr r3, r28 -/* 802BE530 38 81 00 08 */ addi r4, r1, 8 -/* 802BE534 7F C5 F3 78 */ mr r5, r30 -/* 802BE538 38 C0 FF FF */ li r6, -1 -/* 802BE53C 4B FF FC 09 */ bl startSound__14Z2SoundObjBaseF10JAISoundIDUlSc -/* 802BE540 28 03 00 00 */ cmplwi r3, 0 -/* 802BE544 41 82 00 44 */ beq lbl_802BE588 -/* 802BE548 80 83 00 00 */ lwz r4, 0(r3) -/* 802BE54C 28 04 00 00 */ cmplwi r4, 0 -/* 802BE550 41 82 00 38 */ beq lbl_802BE588 -/* 802BE554 93 C4 00 20 */ stw r30, 0x20(r4) -/* 802BE558 28 1E 00 1E */ cmplwi r30, 0x1e -/* 802BE55C 41 80 00 2C */ blt lbl_802BE588 -/* 802BE560 28 1E 00 34 */ cmplwi r30, 0x34 -/* 802BE564 41 81 00 24 */ bgt lbl_802BE588 -/* 802BE568 80 83 00 00 */ lwz r4, 0(r3) -/* 802BE56C 80 A4 00 08 */ lwz r5, 8(r4) -/* 802BE570 28 05 00 00 */ cmplwi r5, 0 -/* 802BE574 41 82 00 14 */ beq lbl_802BE588 -/* 802BE578 38 80 00 08 */ li r4, 8 -/* 802BE57C 88 05 00 11 */ lbz r0, 0x11(r5) -/* 802BE580 50 80 06 BE */ rlwimi r0, r4, 0, 0x1a, 0x1f -/* 802BE584 98 05 00 11 */ stb r0, 0x11(r5) -lbl_802BE588: -/* 802BE588 39 61 00 20 */ addi r11, r1, 0x20 -/* 802BE58C 48 0A 3C 99 */ bl _restgpr_28 -/* 802BE590 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802BE594 7C 08 03 A6 */ mtlr r0 -/* 802BE598 38 21 00 20 */ addi r1, r1, 0x20 -/* 802BE59C 4E 80 00 20 */ blr diff --git a/asm/Z2AudioLib/Z2SoundObject/startLevelSound__14Z2SoundObjBaseF10JAISoundIDUlSc.s b/asm/Z2AudioLib/Z2SoundObject/startLevelSound__14Z2SoundObjBaseF10JAISoundIDUlSc.s deleted file mode 100644 index c22d97ecddd..00000000000 --- a/asm/Z2AudioLib/Z2SoundObject/startLevelSound__14Z2SoundObjBaseF10JAISoundIDUlSc.s +++ /dev/null @@ -1,126 +0,0 @@ -lbl_802BE2D4: -/* 802BE2D4 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 802BE2D8 7C 08 02 A6 */ mflr r0 -/* 802BE2DC 90 01 00 44 */ stw r0, 0x44(r1) -/* 802BE2E0 DB E1 00 30 */ stfd f31, 0x30(r1) -/* 802BE2E4 F3 E1 00 38 */ psq_st f31, 56(r1), 0, 0 /* qr0 */ -/* 802BE2E8 39 61 00 30 */ addi r11, r1, 0x30 -/* 802BE2EC 48 0A 3E ED */ bl _savegpr_28 -/* 802BE2F0 7C 7E 1B 78 */ mr r30, r3 -/* 802BE2F4 7C 9C 23 78 */ mr r28, r4 -/* 802BE2F8 7C BF 2B 78 */ mr r31, r5 -/* 802BE2FC 88 03 00 1F */ lbz r0, 0x1f(r3) -/* 802BE300 28 00 00 00 */ cmplwi r0, 0 -/* 802BE304 40 82 00 0C */ bne lbl_802BE310 -/* 802BE308 38 60 00 00 */ li r3, 0 -/* 802BE30C 48 00 01 78 */ b lbl_802BE484 -lbl_802BE310: -/* 802BE310 28 1F 00 00 */ cmplwi r31, 0 -/* 802BE314 40 82 00 08 */ bne lbl_802BE31C -/* 802BE318 A3 FE 00 1C */ lhz r31, 0x1c(r30) -lbl_802BE31C: -/* 802BE31C 7C C0 07 75 */ extsb. r0, r6 -/* 802BE320 40 80 00 08 */ bge lbl_802BE328 -/* 802BE324 88 DE 00 1E */ lbz r6, 0x1e(r30) -lbl_802BE328: -/* 802BE328 7C C0 07 74 */ extsb r0, r6 -/* 802BE32C C8 22 C1 48 */ lfd f1, lit_3564(r2) -/* 802BE330 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 802BE334 90 01 00 1C */ stw r0, 0x1c(r1) -/* 802BE338 3C 00 43 30 */ lis r0, 0x4330 -/* 802BE33C 90 01 00 18 */ stw r0, 0x18(r1) -/* 802BE340 C8 01 00 18 */ lfd f0, 0x18(r1) -/* 802BE344 EC 20 08 28 */ fsubs f1, f0, f1 -/* 802BE348 C0 02 C1 38 */ lfs f0, lit_3559(r2) -/* 802BE34C EF E1 00 24 */ fdivs f31, f1, f0 -/* 802BE350 80 1C 00 00 */ lwz r0, 0(r28) -/* 802BE354 90 01 00 14 */ stw r0, 0x14(r1) -/* 802BE358 7F C3 F3 78 */ mr r3, r30 -/* 802BE35C 38 81 00 14 */ addi r4, r1, 0x14 -/* 802BE360 4B FE CE F5 */ bl getHandleSoundID__14Z2SoundHandlesF10JAISoundID -/* 802BE364 7C 7D 1B 79 */ or. r29, r3, r3 -/* 802BE368 41 82 00 4C */ beq lbl_802BE3B4 -/* 802BE36C 80 7D 00 00 */ lwz r3, 0(r29) -/* 802BE370 80 03 00 10 */ lwz r0, 0x10(r3) -/* 802BE374 28 00 00 01 */ cmplwi r0, 1 -/* 802BE378 40 80 00 0C */ bge lbl_802BE384 -/* 802BE37C 38 00 00 01 */ li r0, 1 -/* 802BE380 90 03 00 10 */ stw r0, 0x10(r3) -lbl_802BE384: -/* 802BE384 80 7E 00 14 */ lwz r3, 0x14(r30) -/* 802BE388 7F A4 EB 78 */ mr r4, r29 -/* 802BE38C 38 A0 00 06 */ li r5, 6 -/* 802BE390 57 E6 04 3E */ clrlwi r6, r31, 0x10 -/* 802BE394 38 E0 FF FF */ li r7, -1 -/* 802BE398 4B FE CB 45 */ bl setPortData__14Z2SoundStarterFP14JAISoundHandleUlUsSc -/* 802BE39C 80 7D 00 00 */ lwz r3, 0(r29) -/* 802BE3A0 38 63 00 48 */ addi r3, r3, 0x48 -/* 802BE3A4 FC 20 F8 90 */ fmr f1, f31 -/* 802BE3A8 38 80 00 00 */ li r4, 0 -/* 802BE3AC 4B FE 4A B9 */ bl moveFxMix__18JAISoundParamsMoveFfUl -/* 802BE3B0 48 00 00 D0 */ b lbl_802BE480 -lbl_802BE3B4: -/* 802BE3B4 80 1C 00 00 */ lwz r0, 0(r28) -/* 802BE3B8 90 01 00 10 */ stw r0, 0x10(r1) -/* 802BE3BC 80 6D 86 08 */ lwz r3, __OSReport_disable-0x10(r13) -/* 802BE3C0 38 81 00 10 */ addi r4, r1, 0x10 -/* 802BE3C4 4B FF 01 ED */ bl isSoundCulling__7Z2SeMgrF10JAISoundID -/* 802BE3C8 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 802BE3CC 41 82 00 0C */ beq lbl_802BE3D8 -/* 802BE3D0 38 60 00 00 */ li r3, 0 -/* 802BE3D4 48 00 00 B0 */ b lbl_802BE484 -lbl_802BE3D8: -/* 802BE3D8 7F C3 F3 78 */ mr r3, r30 -/* 802BE3DC 4B FE CE FD */ bl getFreeHandle__14Z2SoundHandlesFv -/* 802BE3E0 7C 7D 1B 79 */ or. r29, r3, r3 -/* 802BE3E4 40 82 00 1C */ bne lbl_802BE400 -/* 802BE3E8 80 1C 00 00 */ lwz r0, 0(r28) -/* 802BE3EC 90 01 00 0C */ stw r0, 0xc(r1) -/* 802BE3F0 7F C3 F3 78 */ mr r3, r30 -/* 802BE3F4 38 81 00 0C */ addi r4, r1, 0xc -/* 802BE3F8 4B FE CF D9 */ bl getLowPrioSound__14Z2SoundHandlesF10JAISoundID -/* 802BE3FC 7C 7D 1B 78 */ mr r29, r3 -lbl_802BE400: -/* 802BE400 28 1D 00 00 */ cmplwi r29, 0 -/* 802BE404 41 82 00 7C */ beq lbl_802BE480 -/* 802BE408 80 1C 00 00 */ lwz r0, 0(r28) -/* 802BE40C 90 01 00 08 */ stw r0, 8(r1) -/* 802BE410 80 7E 00 14 */ lwz r3, 0x14(r30) -/* 802BE414 38 81 00 08 */ addi r4, r1, 8 -/* 802BE418 7F A5 EB 78 */ mr r5, r29 -/* 802BE41C 80 DE 00 18 */ lwz r6, 0x18(r30) -/* 802BE420 7F E7 FB 78 */ mr r7, r31 -/* 802BE424 FC 20 F8 90 */ fmr f1, f31 -/* 802BE428 C0 42 C1 3C */ lfs f2, lit_3560(r2) -/* 802BE42C FC 60 10 90 */ fmr f3, f2 -/* 802BE430 C0 82 C1 40 */ lfs f4, lit_3561(r2) -/* 802BE434 FC A0 20 90 */ fmr f5, f4 -/* 802BE438 39 00 00 00 */ li r8, 0 -/* 802BE43C 81 83 00 00 */ lwz r12, 0(r3) -/* 802BE440 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 802BE444 7D 89 03 A6 */ mtctr r12 -/* 802BE448 4E 80 04 21 */ bctrl -/* 802BE44C 28 1D 00 00 */ cmplwi r29, 0 -/* 802BE450 41 82 00 30 */ beq lbl_802BE480 -/* 802BE454 80 9D 00 00 */ lwz r4, 0(r29) -/* 802BE458 28 04 00 00 */ cmplwi r4, 0 -/* 802BE45C 41 82 00 24 */ beq lbl_802BE480 -/* 802BE460 38 60 00 01 */ li r3, 1 -/* 802BE464 90 64 00 10 */ stw r3, 0x10(r4) -/* 802BE468 88 04 00 1D */ lbz r0, 0x1d(r4) -/* 802BE46C 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18 -/* 802BE470 98 04 00 1D */ stb r0, 0x1d(r4) -/* 802BE474 88 04 00 1D */ lbz r0, 0x1d(r4) -/* 802BE478 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19 -/* 802BE47C 98 04 00 1D */ stb r0, 0x1d(r4) -lbl_802BE480: -/* 802BE480 7F A3 EB 78 */ mr r3, r29 -lbl_802BE484: -/* 802BE484 E3 E1 00 38 */ psq_l f31, 56(r1), 0, 0 /* qr0 */ -/* 802BE488 CB E1 00 30 */ lfd f31, 0x30(r1) -/* 802BE48C 39 61 00 30 */ addi r11, r1, 0x30 -/* 802BE490 48 0A 3D 95 */ bl _restgpr_28 -/* 802BE494 80 01 00 44 */ lwz r0, 0x44(r1) -/* 802BE498 7C 08 03 A6 */ mtlr r0 -/* 802BE49C 38 21 00 40 */ addi r1, r1, 0x40 -/* 802BE4A0 4E 80 00 20 */ blr diff --git a/asm/Z2AudioLib/Z2SoundObject/startLevelSound__16Z2SoundObjSimpleF10JAISoundIDUlSc.s b/asm/Z2AudioLib/Z2SoundObject/startLevelSound__16Z2SoundObjSimpleF10JAISoundIDUlSc.s deleted file mode 100644 index 18d8ddd5e1b..00000000000 --- a/asm/Z2AudioLib/Z2SoundObject/startLevelSound__16Z2SoundObjSimpleF10JAISoundIDUlSc.s +++ /dev/null @@ -1,104 +0,0 @@ -lbl_802BE9B0: -/* 802BE9B0 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 802BE9B4 7C 08 02 A6 */ mflr r0 -/* 802BE9B8 90 01 00 44 */ stw r0, 0x44(r1) -/* 802BE9BC DB E1 00 30 */ stfd f31, 0x30(r1) -/* 802BE9C0 F3 E1 00 38 */ psq_st f31, 56(r1), 0, 0 /* qr0 */ -/* 802BE9C4 39 61 00 30 */ addi r11, r1, 0x30 -/* 802BE9C8 48 0A 38 15 */ bl _savegpr_29 -/* 802BE9CC 7C 9D 23 78 */ mr r29, r4 -/* 802BE9D0 7C BE 2B 78 */ mr r30, r5 -/* 802BE9D4 80 04 00 00 */ lwz r0, 0(r4) -/* 802BE9D8 90 01 00 08 */ stw r0, 8(r1) -/* 802BE9DC 38 81 00 08 */ addi r4, r1, 8 -/* 802BE9E0 4B FF F8 F5 */ bl startLevelSound__14Z2SoundObjBaseF10JAISoundIDUlSc -/* 802BE9E4 7C 7F 1B 79 */ or. r31, r3, r3 -/* 802BE9E8 41 82 01 2C */ beq lbl_802BEB14 -/* 802BE9EC 80 1F 00 00 */ lwz r0, 0(r31) -/* 802BE9F0 28 00 00 00 */ cmplwi r0, 0 -/* 802BE9F4 41 82 01 20 */ beq lbl_802BEB14 -/* 802BE9F8 C0 C2 C1 3C */ lfs f6, lit_3560(r2) -/* 802BE9FC FF E0 30 90 */ fmr f31, f6 -/* 802BEA00 80 9D 00 00 */ lwz r4, 0(r29) -/* 802BEA04 3C 60 00 08 */ lis r3, 0x0008 /* 0x0008025C@ha */ -/* 802BEA08 38 03 02 5C */ addi r0, r3, 0x025C /* 0x0008025C@l */ -/* 802BEA0C 7C 04 00 00 */ cmpw r4, r0 -/* 802BEA10 41 82 00 8C */ beq lbl_802BEA9C -/* 802BEA14 40 80 00 D8 */ bge lbl_802BEAEC -/* 802BEA18 3C 60 00 02 */ lis r3, 0x0002 /* 0x000200C6@ha */ -/* 802BEA1C 38 03 00 C6 */ addi r0, r3, 0x00C6 /* 0x000200C6@l */ -/* 802BEA20 7C 04 00 00 */ cmpw r4, r0 -/* 802BEA24 41 82 00 08 */ beq lbl_802BEA2C -/* 802BEA28 48 00 00 C4 */ b lbl_802BEAEC -lbl_802BEA2C: -/* 802BEA2C C8 22 C1 68 */ lfd f1, lit_3828(r2) -/* 802BEA30 93 C1 00 14 */ stw r30, 0x14(r1) -/* 802BEA34 3C 00 43 30 */ lis r0, 0x4330 -/* 802BEA38 90 01 00 10 */ stw r0, 0x10(r1) -/* 802BEA3C C8 01 00 10 */ lfd f0, 0x10(r1) -/* 802BEA40 EC 20 08 28 */ fsubs f1, f0, f1 -/* 802BEA44 C0 42 C1 50 */ lfs f2, lit_3821(r2) -/* 802BEA48 C0 62 C1 38 */ lfs f3, lit_3559(r2) -/* 802BEA4C C0 82 C1 54 */ lfs f4, lit_3822(r2) -/* 802BEA50 C0 A2 C1 58 */ lfs f5, lit_3823(r2) -/* 802BEA54 38 60 00 01 */ li r3, 1 -/* 802BEA58 4B FE AC 9D */ bl getParamByExp__6Z2CalcFffffffQ26Z2Calc9CurveSign -/* 802BEA5C FF E0 08 90 */ fmr f31, f1 -/* 802BEA60 C8 22 C1 68 */ lfd f1, lit_3828(r2) -/* 802BEA64 93 C1 00 1C */ stw r30, 0x1c(r1) -/* 802BEA68 3C 00 43 30 */ lis r0, 0x4330 -/* 802BEA6C 90 01 00 18 */ stw r0, 0x18(r1) -/* 802BEA70 C8 01 00 18 */ lfd f0, 0x18(r1) -/* 802BEA74 EC 20 08 28 */ fsubs f1, f0, f1 -/* 802BEA78 C0 42 C1 50 */ lfs f2, lit_3821(r2) -/* 802BEA7C C0 62 C1 38 */ lfs f3, lit_3559(r2) -/* 802BEA80 C0 82 C1 54 */ lfs f4, lit_3822(r2) -/* 802BEA84 C0 A2 C1 5C */ lfs f5, lit_3824(r2) -/* 802BEA88 C0 C2 C1 60 */ lfs f6, lit_3825(r2) -/* 802BEA8C 38 60 00 01 */ li r3, 1 -/* 802BEA90 4B FE AC 65 */ bl getParamByExp__6Z2CalcFffffffQ26Z2Calc9CurveSign -/* 802BEA94 FC C0 08 90 */ fmr f6, f1 -/* 802BEA98 48 00 00 54 */ b lbl_802BEAEC -lbl_802BEA9C: -/* 802BEA9C 28 1E 00 64 */ cmplwi r30, 0x64 -/* 802BEAA0 40 81 00 0C */ ble lbl_802BEAAC -/* 802BEAA4 C0 C2 C1 70 */ lfs f6, lit_3859(r2) -/* 802BEAA8 48 00 00 44 */ b lbl_802BEAEC -lbl_802BEAAC: -/* 802BEAAC 28 1E 00 15 */ cmplwi r30, 0x15 -/* 802BEAB0 40 81 00 3C */ ble lbl_802BEAEC -/* 802BEAB4 C8 22 C1 68 */ lfd f1, lit_3828(r2) -/* 802BEAB8 93 C1 00 1C */ stw r30, 0x1c(r1) -/* 802BEABC 3C 00 43 30 */ lis r0, 0x4330 -/* 802BEAC0 90 01 00 18 */ stw r0, 0x18(r1) -/* 802BEAC4 C8 01 00 18 */ lfd f0, 0x18(r1) -/* 802BEAC8 EC 20 08 28 */ fsubs f1, f0, f1 -/* 802BEACC C0 42 C1 74 */ lfs f2, lit_3860(r2) -/* 802BEAD0 C0 62 C1 78 */ lfs f3, lit_3861(r2) -/* 802BEAD4 C0 82 C1 58 */ lfs f4, lit_3823(r2) -/* 802BEAD8 FC A0 30 90 */ fmr f5, f6 -/* 802BEADC C0 C2 C1 7C */ lfs f6, lit_3862(r2) -/* 802BEAE0 38 60 00 00 */ li r3, 0 -/* 802BEAE4 4B FE AC 11 */ bl getParamByExp__6Z2CalcFffffffQ26Z2Calc9CurveSign -/* 802BEAE8 FC C0 08 90 */ fmr f6, f1 -lbl_802BEAEC: -/* 802BEAEC 80 7F 00 00 */ lwz r3, 0(r31) -/* 802BEAF0 38 63 00 48 */ addi r3, r3, 0x48 -/* 802BEAF4 FC 20 30 90 */ fmr f1, f6 -/* 802BEAF8 38 80 00 00 */ li r4, 0 -/* 802BEAFC 4B FE 43 11 */ bl movePitch__18JAISoundParamsMoveFfUl -/* 802BEB00 80 7F 00 00 */ lwz r3, 0(r31) -/* 802BEB04 38 63 00 48 */ addi r3, r3, 0x48 -/* 802BEB08 FC 20 F8 90 */ fmr f1, f31 -/* 802BEB0C 38 80 00 00 */ li r4, 0 -/* 802BEB10 4B FE 42 A5 */ bl moveVolume__18JAISoundParamsMoveFfUl -lbl_802BEB14: -/* 802BEB14 7F E3 FB 78 */ mr r3, r31 -/* 802BEB18 E3 E1 00 38 */ psq_l f31, 56(r1), 0, 0 /* qr0 */ -/* 802BEB1C CB E1 00 30 */ lfd f31, 0x30(r1) -/* 802BEB20 39 61 00 30 */ addi r11, r1, 0x30 -/* 802BEB24 48 0A 37 05 */ bl _restgpr_29 -/* 802BEB28 80 01 00 44 */ lwz r0, 0x44(r1) -/* 802BEB2C 7C 08 03 A6 */ mtlr r0 -/* 802BEB30 38 21 00 40 */ addi r1, r1, 0x40 -/* 802BEB34 4E 80 00 20 */ blr diff --git a/asm/Z2AudioLib/Z2SoundObject/startLevelSound__21Z2DopplerSoundObjBaseF10JAISoundIDUlSc.s b/asm/Z2AudioLib/Z2SoundObject/startLevelSound__21Z2DopplerSoundObjBaseF10JAISoundIDUlSc.s deleted file mode 100644 index cb88f9314ec..00000000000 --- a/asm/Z2AudioLib/Z2SoundObject/startLevelSound__21Z2DopplerSoundObjBaseF10JAISoundIDUlSc.s +++ /dev/null @@ -1,40 +0,0 @@ -lbl_802BE7AC: -/* 802BE7AC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802BE7B0 7C 08 02 A6 */ mflr r0 -/* 802BE7B4 90 01 00 24 */ stw r0, 0x24(r1) -/* 802BE7B8 39 61 00 20 */ addi r11, r1, 0x20 -/* 802BE7BC 48 0A 3A 21 */ bl _savegpr_29 -/* 802BE7C0 7C 7D 1B 78 */ mr r29, r3 -/* 802BE7C4 83 E3 00 18 */ lwz r31, 0x18(r3) -/* 802BE7C8 38 00 00 00 */ li r0, 0 -/* 802BE7CC 90 03 00 18 */ stw r0, 0x18(r3) -/* 802BE7D0 80 04 00 00 */ lwz r0, 0(r4) -/* 802BE7D4 90 01 00 08 */ stw r0, 8(r1) -/* 802BE7D8 38 81 00 08 */ addi r4, r1, 8 -/* 802BE7DC 4B FF FA F9 */ bl startLevelSound__14Z2SoundObjBaseF10JAISoundIDUlSc -/* 802BE7E0 7C 7E 1B 78 */ mr r30, r3 -/* 802BE7E4 28 1F 00 00 */ cmplwi r31, 0 -/* 802BE7E8 41 82 00 3C */ beq lbl_802BE824 -/* 802BE7EC 28 1E 00 00 */ cmplwi r30, 0 -/* 802BE7F0 41 82 00 34 */ beq lbl_802BE824 -/* 802BE7F4 80 7E 00 00 */ lwz r3, 0(r30) -/* 802BE7F8 28 03 00 00 */ cmplwi r3, 0 -/* 802BE7FC 41 82 00 28 */ beq lbl_802BE824 -/* 802BE800 4B FE 3C 4D */ bl acceptsNewAudible__8JAISoundCFv -/* 802BE804 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 802BE808 41 82 00 1C */ beq lbl_802BE824 -/* 802BE80C 80 7E 00 00 */ lwz r3, 0(r30) -/* 802BE810 7F E4 FB 78 */ mr r4, r31 -/* 802BE814 38 BD 00 20 */ addi r5, r29, 0x20 -/* 802BE818 38 C0 00 00 */ li r6, 0 -/* 802BE81C 38 E0 00 00 */ li r7, 0 -/* 802BE820 4B FE 3C 55 */ bl func_802A2474 -lbl_802BE824: -/* 802BE824 93 FD 00 18 */ stw r31, 0x18(r29) -/* 802BE828 7F C3 F3 78 */ mr r3, r30 -/* 802BE82C 39 61 00 20 */ addi r11, r1, 0x20 -/* 802BE830 48 0A 39 F9 */ bl _restgpr_29 -/* 802BE834 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802BE838 7C 08 03 A6 */ mtlr r0 -/* 802BE83C 38 21 00 20 */ addi r1, r1, 0x20 -/* 802BE840 4E 80 00 20 */ blr diff --git a/asm/Z2AudioLib/Z2SoundObject/startSound__14Z2SoundObjBaseF10JAISoundIDUlSc.s b/asm/Z2AudioLib/Z2SoundObject/startSound__14Z2SoundObjBaseF10JAISoundIDUlSc.s deleted file mode 100644 index 54fa3a0d351..00000000000 --- a/asm/Z2AudioLib/Z2SoundObject/startSound__14Z2SoundObjBaseF10JAISoundIDUlSc.s +++ /dev/null @@ -1,111 +0,0 @@ -lbl_802BE144: -/* 802BE144 94 21 FF B0 */ stwu r1, -0x50(r1) -/* 802BE148 7C 08 02 A6 */ mflr r0 -/* 802BE14C 90 01 00 54 */ stw r0, 0x54(r1) -/* 802BE150 DB E1 00 40 */ stfd f31, 0x40(r1) -/* 802BE154 F3 E1 00 48 */ psq_st f31, 72(r1), 0, 0 /* qr0 */ -/* 802BE158 39 61 00 40 */ addi r11, r1, 0x40 -/* 802BE15C 48 0A 40 7D */ bl _savegpr_28 -/* 802BE160 7C 7D 1B 78 */ mr r29, r3 -/* 802BE164 7C 9E 23 78 */ mr r30, r4 -/* 802BE168 7C BF 2B 78 */ mr r31, r5 -/* 802BE16C 7C DC 33 78 */ mr r28, r6 -/* 802BE170 88 03 00 1F */ lbz r0, 0x1f(r3) -/* 802BE174 28 00 00 00 */ cmplwi r0, 0 -/* 802BE178 40 82 00 0C */ bne lbl_802BE184 -/* 802BE17C 38 60 00 00 */ li r3, 0 -/* 802BE180 48 00 01 34 */ b lbl_802BE2B4 -lbl_802BE184: -/* 802BE184 80 1E 00 00 */ lwz r0, 0(r30) -/* 802BE188 90 01 00 18 */ stw r0, 0x18(r1) -/* 802BE18C 80 6D 86 08 */ lwz r3, __OSReport_disable-0x10(r13) -/* 802BE190 38 81 00 18 */ addi r4, r1, 0x18 -/* 802BE194 4B FF 04 1D */ bl isSoundCulling__7Z2SeMgrF10JAISoundID -/* 802BE198 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 802BE19C 41 82 00 0C */ beq lbl_802BE1A8 -/* 802BE1A0 38 60 00 00 */ li r3, 0 -/* 802BE1A4 48 00 01 10 */ b lbl_802BE2B4 -lbl_802BE1A8: -/* 802BE1A8 28 1F 00 00 */ cmplwi r31, 0 -/* 802BE1AC 40 82 00 08 */ bne lbl_802BE1B4 -/* 802BE1B0 A3 FD 00 1C */ lhz r31, 0x1c(r29) -lbl_802BE1B4: -/* 802BE1B4 7F 80 07 75 */ extsb. r0, r28 -/* 802BE1B8 40 80 00 08 */ bge lbl_802BE1C0 -/* 802BE1BC 8B 9D 00 1E */ lbz r28, 0x1e(r29) -lbl_802BE1C0: -/* 802BE1C0 7F 80 07 74 */ extsb r0, r28 -/* 802BE1C4 C8 22 C1 48 */ lfd f1, lit_3564(r2) -/* 802BE1C8 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 802BE1CC 90 01 00 24 */ stw r0, 0x24(r1) -/* 802BE1D0 3C 00 43 30 */ lis r0, 0x4330 -/* 802BE1D4 90 01 00 20 */ stw r0, 0x20(r1) -/* 802BE1D8 C8 01 00 20 */ lfd f0, 0x20(r1) -/* 802BE1DC EC 20 08 28 */ fsubs f1, f0, f1 -/* 802BE1E0 C0 02 C1 38 */ lfs f0, lit_3559(r2) -/* 802BE1E4 EF E1 00 24 */ fdivs f31, f1, f0 -/* 802BE1E8 80 1E 00 00 */ lwz r0, 0(r30) -/* 802BE1EC 90 01 00 14 */ stw r0, 0x14(r1) -/* 802BE1F0 7F A3 EB 78 */ mr r3, r29 -/* 802BE1F4 38 81 00 14 */ addi r4, r1, 0x14 -/* 802BE1F8 4B FE D0 5D */ bl getHandleSoundID__14Z2SoundHandlesF10JAISoundID -/* 802BE1FC 7C 7C 1B 79 */ or. r28, r3, r3 -/* 802BE200 41 82 00 30 */ beq lbl_802BE230 -/* 802BE204 80 1E 00 00 */ lwz r0, 0(r30) -/* 802BE208 90 01 00 10 */ stw r0, 0x10(r1) -/* 802BE20C 80 6D 85 CC */ lwz r3, __OSReport_disable-0x4C(r13) -/* 802BE210 38 81 00 10 */ addi r4, r1, 0x10 -/* 802BE214 4B FF D8 B5 */ bl getSwBit__11Z2SoundInfoCF10JAISoundID -/* 802BE218 54 60 04 63 */ rlwinm. r0, r3, 0, 0x11, 0x11 -/* 802BE21C 41 82 00 0C */ beq lbl_802BE228 -/* 802BE220 3B 80 00 00 */ li r28, 0 -/* 802BE224 48 00 00 0C */ b lbl_802BE230 -lbl_802BE228: -/* 802BE228 38 60 00 00 */ li r3, 0 -/* 802BE22C 48 00 00 88 */ b lbl_802BE2B4 -lbl_802BE230: -/* 802BE230 28 1C 00 00 */ cmplwi r28, 0 -/* 802BE234 40 82 00 10 */ bne lbl_802BE244 -/* 802BE238 7F A3 EB 78 */ mr r3, r29 -/* 802BE23C 4B FE D0 9D */ bl getFreeHandle__14Z2SoundHandlesFv -/* 802BE240 7C 7C 1B 78 */ mr r28, r3 -lbl_802BE244: -/* 802BE244 28 1C 00 00 */ cmplwi r28, 0 -/* 802BE248 40 82 00 1C */ bne lbl_802BE264 -/* 802BE24C 80 1E 00 00 */ lwz r0, 0(r30) -/* 802BE250 90 01 00 0C */ stw r0, 0xc(r1) -/* 802BE254 7F A3 EB 78 */ mr r3, r29 -/* 802BE258 38 81 00 0C */ addi r4, r1, 0xc -/* 802BE25C 4B FE D1 75 */ bl getLowPrioSound__14Z2SoundHandlesF10JAISoundID -/* 802BE260 7C 7C 1B 78 */ mr r28, r3 -lbl_802BE264: -/* 802BE264 28 1C 00 00 */ cmplwi r28, 0 -/* 802BE268 41 82 00 48 */ beq lbl_802BE2B0 -/* 802BE26C 80 1E 00 00 */ lwz r0, 0(r30) -/* 802BE270 90 01 00 08 */ stw r0, 8(r1) -/* 802BE274 80 7D 00 14 */ lwz r3, 0x14(r29) -/* 802BE278 38 81 00 08 */ addi r4, r1, 8 -/* 802BE27C 7F 85 E3 78 */ mr r5, r28 -/* 802BE280 80 DD 00 18 */ lwz r6, 0x18(r29) -/* 802BE284 7F E7 FB 78 */ mr r7, r31 -/* 802BE288 FC 20 F8 90 */ fmr f1, f31 -/* 802BE28C C0 42 C1 3C */ lfs f2, lit_3560(r2) -/* 802BE290 FC 60 10 90 */ fmr f3, f2 -/* 802BE294 C0 82 C1 40 */ lfs f4, lit_3561(r2) -/* 802BE298 FC A0 20 90 */ fmr f5, f4 -/* 802BE29C 39 00 00 00 */ li r8, 0 -/* 802BE2A0 81 83 00 00 */ lwz r12, 0(r3) -/* 802BE2A4 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 802BE2A8 7D 89 03 A6 */ mtctr r12 -/* 802BE2AC 4E 80 04 21 */ bctrl -lbl_802BE2B0: -/* 802BE2B0 7F 83 E3 78 */ mr r3, r28 -lbl_802BE2B4: -/* 802BE2B4 E3 E1 00 48 */ psq_l f31, 72(r1), 0, 0 /* qr0 */ -/* 802BE2B8 CB E1 00 40 */ lfd f31, 0x40(r1) -/* 802BE2BC 39 61 00 40 */ addi r11, r1, 0x40 -/* 802BE2C0 48 0A 3F 65 */ bl _restgpr_28 -/* 802BE2C4 80 01 00 54 */ lwz r0, 0x54(r1) -/* 802BE2C8 7C 08 03 A6 */ mtlr r0 -/* 802BE2CC 38 21 00 50 */ addi r1, r1, 0x50 -/* 802BE2D0 4E 80 00 20 */ blr diff --git a/asm/Z2AudioLib/Z2SoundObject/startSound__16Z2SoundObjSimpleF10JAISoundIDUlSc.s b/asm/Z2AudioLib/Z2SoundObject/startSound__16Z2SoundObjSimpleF10JAISoundIDUlSc.s deleted file mode 100644 index 0ecdf6fbba7..00000000000 --- a/asm/Z2AudioLib/Z2SoundObject/startSound__16Z2SoundObjSimpleF10JAISoundIDUlSc.s +++ /dev/null @@ -1,70 +0,0 @@ -lbl_802BE8A0: -/* 802BE8A0 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 802BE8A4 7C 08 02 A6 */ mflr r0 -/* 802BE8A8 90 01 00 44 */ stw r0, 0x44(r1) -/* 802BE8AC DB E1 00 30 */ stfd f31, 0x30(r1) -/* 802BE8B0 F3 E1 00 38 */ psq_st f31, 56(r1), 0, 0 /* qr0 */ -/* 802BE8B4 39 61 00 30 */ addi r11, r1, 0x30 -/* 802BE8B8 48 0A 39 25 */ bl _savegpr_29 -/* 802BE8BC 7C 9D 23 78 */ mr r29, r4 -/* 802BE8C0 7C BE 2B 78 */ mr r30, r5 -/* 802BE8C4 80 04 00 00 */ lwz r0, 0(r4) -/* 802BE8C8 90 01 00 08 */ stw r0, 8(r1) -/* 802BE8CC 38 81 00 08 */ addi r4, r1, 8 -/* 802BE8D0 4B FF F8 75 */ bl startSound__14Z2SoundObjBaseF10JAISoundIDUlSc -/* 802BE8D4 7C 7F 1B 78 */ mr r31, r3 -/* 802BE8D8 80 7D 00 00 */ lwz r3, 0(r29) -/* 802BE8DC 3C 03 FF FE */ addis r0, r3, 0xfffe -/* 802BE8E0 28 00 00 C7 */ cmplwi r0, 0xc7 -/* 802BE8E4 40 82 00 A8 */ bne lbl_802BE98C -/* 802BE8E8 28 1F 00 00 */ cmplwi r31, 0 -/* 802BE8EC 41 82 00 A0 */ beq lbl_802BE98C -/* 802BE8F0 80 1F 00 00 */ lwz r0, 0(r31) -/* 802BE8F4 28 00 00 00 */ cmplwi r0, 0 -/* 802BE8F8 41 82 00 94 */ beq lbl_802BE98C -/* 802BE8FC C8 22 C1 68 */ lfd f1, lit_3828(r2) -/* 802BE900 93 C1 00 14 */ stw r30, 0x14(r1) -/* 802BE904 3C 00 43 30 */ lis r0, 0x4330 -/* 802BE908 90 01 00 10 */ stw r0, 0x10(r1) -/* 802BE90C C8 01 00 10 */ lfd f0, 0x10(r1) -/* 802BE910 EC 20 08 28 */ fsubs f1, f0, f1 -/* 802BE914 C0 42 C1 50 */ lfs f2, lit_3821(r2) -/* 802BE918 C0 62 C1 38 */ lfs f3, lit_3559(r2) -/* 802BE91C C0 82 C1 54 */ lfs f4, lit_3822(r2) -/* 802BE920 C0 A2 C1 58 */ lfs f5, lit_3823(r2) -/* 802BE924 C0 C2 C1 3C */ lfs f6, lit_3560(r2) -/* 802BE928 38 60 00 01 */ li r3, 1 -/* 802BE92C 4B FE AD C9 */ bl getParamByExp__6Z2CalcFffffffQ26Z2Calc9CurveSign -/* 802BE930 FF E0 08 90 */ fmr f31, f1 -/* 802BE934 C8 22 C1 68 */ lfd f1, lit_3828(r2) -/* 802BE938 93 C1 00 1C */ stw r30, 0x1c(r1) -/* 802BE93C 3C 00 43 30 */ lis r0, 0x4330 -/* 802BE940 90 01 00 18 */ stw r0, 0x18(r1) -/* 802BE944 C8 01 00 18 */ lfd f0, 0x18(r1) -/* 802BE948 EC 20 08 28 */ fsubs f1, f0, f1 -/* 802BE94C C0 42 C1 50 */ lfs f2, lit_3821(r2) -/* 802BE950 C0 62 C1 38 */ lfs f3, lit_3559(r2) -/* 802BE954 C0 82 C1 54 */ lfs f4, lit_3822(r2) -/* 802BE958 C0 A2 C1 5C */ lfs f5, lit_3824(r2) -/* 802BE95C C0 C2 C1 60 */ lfs f6, lit_3825(r2) -/* 802BE960 38 60 00 01 */ li r3, 1 -/* 802BE964 4B FE AD 91 */ bl getParamByExp__6Z2CalcFffffffQ26Z2Calc9CurveSign -/* 802BE968 80 7F 00 00 */ lwz r3, 0(r31) -/* 802BE96C 38 63 00 48 */ addi r3, r3, 0x48 -/* 802BE970 38 80 00 00 */ li r4, 0 -/* 802BE974 4B FE 44 99 */ bl movePitch__18JAISoundParamsMoveFfUl -/* 802BE978 80 7F 00 00 */ lwz r3, 0(r31) -/* 802BE97C 38 63 00 48 */ addi r3, r3, 0x48 -/* 802BE980 FC 20 F8 90 */ fmr f1, f31 -/* 802BE984 38 80 00 00 */ li r4, 0 -/* 802BE988 4B FE 44 2D */ bl moveVolume__18JAISoundParamsMoveFfUl -lbl_802BE98C: -/* 802BE98C 7F E3 FB 78 */ mr r3, r31 -/* 802BE990 E3 E1 00 38 */ psq_l f31, 56(r1), 0, 0 /* qr0 */ -/* 802BE994 CB E1 00 30 */ lfd f31, 0x30(r1) -/* 802BE998 39 61 00 30 */ addi r11, r1, 0x30 -/* 802BE99C 48 0A 38 8D */ bl _restgpr_29 -/* 802BE9A0 80 01 00 44 */ lwz r0, 0x44(r1) -/* 802BE9A4 7C 08 03 A6 */ mtlr r0 -/* 802BE9A8 38 21 00 40 */ addi r1, r1, 0x40 -/* 802BE9AC 4E 80 00 20 */ blr diff --git a/asm/Z2AudioLib/Z2SoundObject/startSound__21Z2DopplerSoundObjBaseF10JAISoundIDUlSc.s b/asm/Z2AudioLib/Z2SoundObject/startSound__21Z2DopplerSoundObjBaseF10JAISoundIDUlSc.s deleted file mode 100644 index 8cbeffe5fba..00000000000 --- a/asm/Z2AudioLib/Z2SoundObject/startSound__21Z2DopplerSoundObjBaseF10JAISoundIDUlSc.s +++ /dev/null @@ -1,40 +0,0 @@ -lbl_802BE714: -/* 802BE714 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802BE718 7C 08 02 A6 */ mflr r0 -/* 802BE71C 90 01 00 24 */ stw r0, 0x24(r1) -/* 802BE720 39 61 00 20 */ addi r11, r1, 0x20 -/* 802BE724 48 0A 3A B9 */ bl _savegpr_29 -/* 802BE728 7C 7D 1B 78 */ mr r29, r3 -/* 802BE72C 83 E3 00 18 */ lwz r31, 0x18(r3) -/* 802BE730 38 00 00 00 */ li r0, 0 -/* 802BE734 90 03 00 18 */ stw r0, 0x18(r3) -/* 802BE738 80 04 00 00 */ lwz r0, 0(r4) -/* 802BE73C 90 01 00 08 */ stw r0, 8(r1) -/* 802BE740 38 81 00 08 */ addi r4, r1, 8 -/* 802BE744 4B FF FA 01 */ bl startSound__14Z2SoundObjBaseF10JAISoundIDUlSc -/* 802BE748 7C 7E 1B 78 */ mr r30, r3 -/* 802BE74C 28 1F 00 00 */ cmplwi r31, 0 -/* 802BE750 41 82 00 3C */ beq lbl_802BE78C -/* 802BE754 28 1E 00 00 */ cmplwi r30, 0 -/* 802BE758 41 82 00 34 */ beq lbl_802BE78C -/* 802BE75C 80 7E 00 00 */ lwz r3, 0(r30) -/* 802BE760 28 03 00 00 */ cmplwi r3, 0 -/* 802BE764 41 82 00 28 */ beq lbl_802BE78C -/* 802BE768 4B FE 3C E5 */ bl acceptsNewAudible__8JAISoundCFv -/* 802BE76C 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 802BE770 41 82 00 1C */ beq lbl_802BE78C -/* 802BE774 80 7E 00 00 */ lwz r3, 0(r30) -/* 802BE778 7F E4 FB 78 */ mr r4, r31 -/* 802BE77C 38 BD 00 20 */ addi r5, r29, 0x20 -/* 802BE780 38 C0 00 00 */ li r6, 0 -/* 802BE784 38 E0 00 00 */ li r7, 0 -/* 802BE788 4B FE 3C ED */ bl func_802A2474 -lbl_802BE78C: -/* 802BE78C 93 FD 00 18 */ stw r31, 0x18(r29) -/* 802BE790 7F C3 F3 78 */ mr r3, r30 -/* 802BE794 39 61 00 20 */ addi r11, r1, 0x20 -/* 802BE798 48 0A 3A 91 */ bl _restgpr_29 -/* 802BE79C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802BE7A0 7C 08 03 A6 */ mtlr r0 -/* 802BE7A4 38 21 00 20 */ addi r1, r1, 0x20 -/* 802BE7A8 4E 80 00 20 */ blr diff --git a/asm/Z2AudioLib/Z2SoundObject/stopOK__14Z2SoundObjBaseFR17Z2SoundHandlePool.s b/asm/Z2AudioLib/Z2SoundObject/stopOK__14Z2SoundObjBaseFR17Z2SoundHandlePool.s deleted file mode 100644 index b8631e97a96..00000000000 --- a/asm/Z2AudioLib/Z2SoundObject/stopOK__14Z2SoundObjBaseFR17Z2SoundHandlePool.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_802BE104: -/* 802BE104 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802BE108 7C 08 02 A6 */ mflr r0 -/* 802BE10C 90 01 00 14 */ stw r0, 0x14(r1) -/* 802BE110 80 64 00 00 */ lwz r3, 0(r4) -/* 802BE114 80 03 00 18 */ lwz r0, 0x18(r3) -/* 802BE118 90 01 00 08 */ stw r0, 8(r1) -/* 802BE11C 80 6D 85 CC */ lwz r3, __OSReport_disable-0x4C(r13) -/* 802BE120 38 81 00 08 */ addi r4, r1, 8 -/* 802BE124 4B FF D9 A5 */ bl getSwBit__11Z2SoundInfoCF10JAISoundID -/* 802BE128 54 60 04 20 */ rlwinm r0, r3, 0, 0x10, 0x10 -/* 802BE12C 7C 00 00 34 */ cntlzw r0, r0 -/* 802BE130 54 03 D9 7E */ srwi r3, r0, 5 -/* 802BE134 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802BE138 7C 08 03 A6 */ mtlr r0 -/* 802BE13C 38 21 00 10 */ addi r1, r1, 0x10 -/* 802BE140 4E 80 00 20 */ blr diff --git a/asm/Z2AudioLib/Z2SoundObject/updateAnime__15Z2SoundObjAnimeFff.s b/asm/Z2AudioLib/Z2SoundObject/updateAnime__15Z2SoundObjAnimeFff.s deleted file mode 100644 index 86246bbc793..00000000000 --- a/asm/Z2AudioLib/Z2SoundObject/updateAnime__15Z2SoundObjAnimeFff.s +++ /dev/null @@ -1,307 +0,0 @@ -lbl_802BEED4: -/* 802BEED4 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 802BEED8 7C 08 02 A6 */ mflr r0 -/* 802BEEDC 90 01 00 44 */ stw r0, 0x44(r1) -/* 802BEEE0 DB E1 00 30 */ stfd f31, 0x30(r1) -/* 802BEEE4 F3 E1 00 38 */ psq_st f31, 56(r1), 0, 0 /* qr0 */ -/* 802BEEE8 DB C1 00 20 */ stfd f30, 0x20(r1) -/* 802BEEEC F3 C1 00 28 */ psq_st f30, 40(r1), 0, 0 /* qr0 */ -/* 802BEEF0 39 61 00 20 */ addi r11, r1, 0x20 -/* 802BEEF4 48 0A 32 E9 */ bl _savegpr_29 -/* 802BEEF8 7C 7F 1B 78 */ mr r31, r3 -/* 802BEEFC FF C0 08 90 */ fmr f30, f1 -/* 802BEF00 FF E0 10 90 */ fmr f31, f2 -/* 802BEF04 3B C0 00 00 */ li r30, 0 -/* 802BEF08 48 00 00 98 */ b lbl_802BEFA0 -lbl_802BEF0C: -/* 802BEF0C 7F E3 FB 78 */ mr r3, r31 -/* 802BEF10 7F C4 F3 78 */ mr r4, r30 -/* 802BEF14 48 01 D2 F9 */ bl getNthLink__10JSUPtrListCFUl -/* 802BEF18 28 03 00 00 */ cmplwi r3, 0 -/* 802BEF1C 41 82 00 08 */ beq lbl_802BEF24 -/* 802BEF20 38 63 FF FC */ addi r3, r3, -4 -lbl_802BEF24: -/* 802BEF24 80 03 00 00 */ lwz r0, 0(r3) -/* 802BEF28 28 00 00 00 */ cmplwi r0, 0 -/* 802BEF2C 41 82 00 70 */ beq lbl_802BEF9C -/* 802BEF30 7F E3 FB 78 */ mr r3, r31 -/* 802BEF34 7F C4 F3 78 */ mr r4, r30 -/* 802BEF38 48 01 D2 D5 */ bl getNthLink__10JSUPtrListCFUl -/* 802BEF3C 28 03 00 00 */ cmplwi r3, 0 -/* 802BEF40 41 82 00 08 */ beq lbl_802BEF48 -/* 802BEF44 38 63 FF FC */ addi r3, r3, -4 -lbl_802BEF48: -/* 802BEF48 80 63 00 00 */ lwz r3, 0(r3) -/* 802BEF4C 88 03 00 1F */ lbz r0, 0x1f(r3) -/* 802BEF50 54 00 E7 BF */ rlwinm. r0, r0, 0x1c, 0x1e, 0x1f -/* 802BEF54 41 82 00 48 */ beq lbl_802BEF9C -/* 802BEF58 83 BF 00 18 */ lwz r29, 0x18(r31) -/* 802BEF5C 7F E3 FB 78 */ mr r3, r31 -/* 802BEF60 7F C4 F3 78 */ mr r4, r30 -/* 802BEF64 48 01 D2 A9 */ bl getNthLink__10JSUPtrListCFUl -/* 802BEF68 28 03 00 00 */ cmplwi r3, 0 -/* 802BEF6C 41 82 00 08 */ beq lbl_802BEF74 -/* 802BEF70 38 63 FF FC */ addi r3, r3, -4 -lbl_802BEF74: -/* 802BEF74 80 63 00 00 */ lwz r3, 0(r3) -/* 802BEF78 80 63 00 08 */ lwz r3, 8(r3) -/* 802BEF7C 28 03 00 00 */ cmplwi r3, 0 -/* 802BEF80 41 82 00 1C */ beq lbl_802BEF9C -/* 802BEF84 C0 1D 00 00 */ lfs f0, 0(r29) -/* 802BEF88 D0 03 00 04 */ stfs f0, 4(r3) -/* 802BEF8C C0 1D 00 04 */ lfs f0, 4(r29) -/* 802BEF90 D0 03 00 08 */ stfs f0, 8(r3) -/* 802BEF94 C0 1D 00 08 */ lfs f0, 8(r29) -/* 802BEF98 D0 03 00 0C */ stfs f0, 0xc(r3) -lbl_802BEF9C: -/* 802BEF9C 3B DE 00 01 */ addi r30, r30, 1 -lbl_802BEFA0: -/* 802BEFA0 80 1F 00 08 */ lwz r0, 8(r31) -/* 802BEFA4 7C 1E 00 00 */ cmpw r30, r0 -/* 802BEFA8 41 80 FF 64 */ blt lbl_802BEF0C -/* 802BEFAC 80 9F 00 20 */ lwz r4, 0x20(r31) -/* 802BEFB0 28 04 00 00 */ cmplwi r4, 0 -/* 802BEFB4 41 82 03 28 */ beq lbl_802BF2DC -/* 802BEFB8 80 64 00 04 */ lwz r3, 4(r4) -/* 802BEFBC 28 03 00 00 */ cmplwi r3, 0 -/* 802BEFC0 41 82 00 18 */ beq lbl_802BEFD8 -/* 802BEFC4 81 83 00 00 */ lwz r12, 0(r3) -/* 802BEFC8 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 802BEFCC 7D 89 03 A6 */ mtctr r12 -/* 802BEFD0 4E 80 04 21 */ bctrl -/* 802BEFD4 48 00 00 08 */ b lbl_802BEFDC -lbl_802BEFD8: -/* 802BEFD8 A0 64 00 00 */ lhz r3, 0(r4) -lbl_802BEFDC: -/* 802BEFDC 54 60 04 3F */ clrlwi. r0, r3, 0x10 -/* 802BEFE0 40 82 00 08 */ bne lbl_802BEFE8 -/* 802BEFE4 48 00 02 F8 */ b lbl_802BF2DC -lbl_802BEFE8: -/* 802BEFE8 88 1F 00 44 */ lbz r0, 0x44(r31) -/* 802BEFEC 28 00 00 00 */ cmplwi r0, 0 -/* 802BEFF0 40 82 01 8C */ bne lbl_802BF17C -/* 802BEFF4 C0 1F 00 28 */ lfs f0, 0x28(r31) -/* 802BEFF8 FC 1E 00 40 */ fcmpo cr0, f30, f0 -/* 802BEFFC 40 80 00 5C */ bge lbl_802BF058 -/* 802BF000 48 00 00 20 */ b lbl_802BF020 -lbl_802BF004: -/* 802BF004 7F E3 FB 78 */ mr r3, r31 -/* 802BF008 80 9F 00 18 */ lwz r4, 0x18(r31) -/* 802BF00C FC 20 F8 90 */ fmr f1, f31 -/* 802BF010 80 BF 00 14 */ lwz r5, 0x14(r31) -/* 802BF014 A0 DF 00 1C */ lhz r6, 0x1c(r31) -/* 802BF018 88 FF 00 1E */ lbz r7, 0x1e(r31) -/* 802BF01C 48 00 06 45 */ bl func_802BF660 -lbl_802BF020: -/* 802BF020 80 7F 00 40 */ lwz r3, 0x40(r31) -/* 802BF024 80 1F 00 38 */ lwz r0, 0x38(r31) -/* 802BF028 7C 03 00 00 */ cmpw r3, r0 -/* 802BF02C 41 80 FF D8 */ blt lbl_802BF004 -/* 802BF030 80 1F 00 34 */ lwz r0, 0x34(r31) -/* 802BF034 90 1F 00 40 */ stw r0, 0x40(r31) -/* 802BF038 D3 DF 00 28 */ stfs f30, 0x28(r31) -/* 802BF03C 80 9F 00 3C */ lwz r4, 0x3c(r31) -/* 802BF040 3C 60 00 01 */ lis r3, 0x0001 /* 0x0000FFFF@ha */ -/* 802BF044 38 03 FF FF */ addi r0, r3, 0xFFFF /* 0x0000FFFF@l */ -/* 802BF048 7C 04 00 00 */ cmpw r4, r0 -/* 802BF04C 40 80 00 0C */ bge lbl_802BF058 -/* 802BF050 38 04 00 01 */ addi r0, r4, 1 -/* 802BF054 90 1F 00 3C */ stw r0, 0x3c(r31) -lbl_802BF058: -/* 802BF058 7F E3 FB 78 */ mr r3, r31 -/* 802BF05C FC 20 F0 90 */ fmr f1, f30 -/* 802BF060 FC 40 F8 90 */ fmr f2, f31 -/* 802BF064 48 00 02 A1 */ bl updateSoundLifeTime___15Z2SoundObjAnimeFff -/* 802BF068 48 00 00 20 */ b lbl_802BF088 -lbl_802BF06C: -/* 802BF06C 7F E3 FB 78 */ mr r3, r31 -/* 802BF070 80 9F 00 18 */ lwz r4, 0x18(r31) -/* 802BF074 FC 20 F8 90 */ fmr f1, f31 -/* 802BF078 80 BF 00 14 */ lwz r5, 0x14(r31) -/* 802BF07C A0 DF 00 1C */ lhz r6, 0x1c(r31) -/* 802BF080 88 FF 00 1E */ lbz r7, 0x1e(r31) -/* 802BF084 48 00 05 DD */ bl func_802BF660 -lbl_802BF088: -/* 802BF088 80 9F 00 20 */ lwz r4, 0x20(r31) -/* 802BF08C 80 64 00 04 */ lwz r3, 4(r4) -/* 802BF090 28 03 00 00 */ cmplwi r3, 0 -/* 802BF094 41 82 00 18 */ beq lbl_802BF0AC -/* 802BF098 81 83 00 00 */ lwz r12, 0(r3) -/* 802BF09C 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 802BF0A0 7D 89 03 A6 */ mtctr r12 -/* 802BF0A4 4E 80 04 21 */ bctrl -/* 802BF0A8 48 00 00 08 */ b lbl_802BF0B0 -lbl_802BF0AC: -/* 802BF0AC A0 64 00 00 */ lhz r3, 0(r4) -lbl_802BF0B0: -/* 802BF0B0 80 BF 00 40 */ lwz r5, 0x40(r31) -/* 802BF0B4 54 60 04 3E */ clrlwi r0, r3, 0x10 -/* 802BF0B8 7C 05 00 00 */ cmpw r5, r0 -/* 802BF0BC 40 80 02 1C */ bge lbl_802BF2D8 -/* 802BF0C0 80 9F 00 20 */ lwz r4, 0x20(r31) -/* 802BF0C4 80 64 00 04 */ lwz r3, 4(r4) -/* 802BF0C8 28 03 00 00 */ cmplwi r3, 0 -/* 802BF0CC 41 82 00 18 */ beq lbl_802BF0E4 -/* 802BF0D0 81 83 00 00 */ lwz r12, 0(r3) -/* 802BF0D4 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 802BF0D8 7D 89 03 A6 */ mtctr r12 -/* 802BF0DC 4E 80 04 21 */ bctrl -/* 802BF0E0 48 00 00 10 */ b lbl_802BF0F0 -lbl_802BF0E4: -/* 802BF0E4 54 A3 28 34 */ slwi r3, r5, 5 -/* 802BF0E8 38 63 00 08 */ addi r3, r3, 8 -/* 802BF0EC 7C 64 1A 14 */ add r3, r4, r3 -lbl_802BF0F0: -/* 802BF0F0 80 03 00 10 */ lwz r0, 0x10(r3) -/* 802BF0F4 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19 -/* 802BF0F8 41 82 00 64 */ beq lbl_802BF15C -/* 802BF0FC C0 23 00 04 */ lfs f1, 4(r3) -/* 802BF100 C0 03 00 08 */ lfs f0, 8(r3) -/* 802BF104 FC 01 00 00 */ fcmpu cr0, f1, f0 -/* 802BF108 40 82 00 0C */ bne lbl_802BF114 -/* 802BF10C 38 00 00 01 */ li r0, 1 -/* 802BF110 48 00 00 60 */ b lbl_802BF170 -lbl_802BF114: -/* 802BF114 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 802BF118 40 81 00 20 */ ble lbl_802BF138 -/* 802BF11C FC 00 F0 40 */ fcmpo cr0, f0, f30 -/* 802BF120 4C 40 13 82 */ cror 2, 0, 2 -/* 802BF124 40 82 00 30 */ bne lbl_802BF154 -/* 802BF128 FC 1E 08 40 */ fcmpo cr0, f30, f1 -/* 802BF12C 40 80 00 28 */ bge lbl_802BF154 -/* 802BF130 38 00 00 01 */ li r0, 1 -/* 802BF134 48 00 00 3C */ b lbl_802BF170 -lbl_802BF138: -/* 802BF138 FC 01 F0 40 */ fcmpo cr0, f1, f30 -/* 802BF13C 4C 40 13 82 */ cror 2, 0, 2 -/* 802BF140 40 82 00 14 */ bne lbl_802BF154 -/* 802BF144 FC 1E 00 40 */ fcmpo cr0, f30, f0 -/* 802BF148 40 80 00 0C */ bge lbl_802BF154 -/* 802BF14C 38 00 00 01 */ li r0, 1 -/* 802BF150 48 00 00 20 */ b lbl_802BF170 -lbl_802BF154: -/* 802BF154 38 00 00 00 */ li r0, 0 -/* 802BF158 48 00 00 18 */ b lbl_802BF170 -lbl_802BF15C: -/* 802BF15C C0 03 00 04 */ lfs f0, 4(r3) -/* 802BF160 FC 1E 00 40 */ fcmpo cr0, f30, f0 -/* 802BF164 4C 41 13 82 */ cror 2, 1, 2 -/* 802BF168 7C 00 00 26 */ mfcr r0 -/* 802BF16C 54 00 1F FE */ rlwinm r0, r0, 3, 0x1f, 0x1f -lbl_802BF170: -/* 802BF170 54 00 06 3F */ clrlwi. r0, r0, 0x18 -/* 802BF174 40 82 FE F8 */ bne lbl_802BF06C -/* 802BF178 48 00 01 60 */ b lbl_802BF2D8 -lbl_802BF17C: -/* 802BF17C C0 1F 00 28 */ lfs f0, 0x28(r31) -/* 802BF180 FC 1E 00 40 */ fcmpo cr0, f30, f0 -/* 802BF184 40 81 00 60 */ ble lbl_802BF1E4 -/* 802BF188 48 00 00 20 */ b lbl_802BF1A8 -lbl_802BF18C: -/* 802BF18C 7F E3 FB 78 */ mr r3, r31 -/* 802BF190 80 9F 00 18 */ lwz r4, 0x18(r31) -/* 802BF194 FC 20 F8 90 */ fmr f1, f31 -/* 802BF198 80 BF 00 14 */ lwz r5, 0x14(r31) -/* 802BF19C A0 DF 00 1C */ lhz r6, 0x1c(r31) -/* 802BF1A0 88 FF 00 1E */ lbz r7, 0x1e(r31) -/* 802BF1A4 48 00 04 BD */ bl func_802BF660 -lbl_802BF1A8: -/* 802BF1A8 80 7F 00 40 */ lwz r3, 0x40(r31) -/* 802BF1AC 80 1F 00 34 */ lwz r0, 0x34(r31) -/* 802BF1B0 7C 03 00 00 */ cmpw r3, r0 -/* 802BF1B4 40 80 FF D8 */ bge lbl_802BF18C -/* 802BF1B8 80 7F 00 38 */ lwz r3, 0x38(r31) -/* 802BF1BC 38 03 FF FF */ addi r0, r3, -1 -/* 802BF1C0 90 1F 00 40 */ stw r0, 0x40(r31) -/* 802BF1C4 D3 DF 00 28 */ stfs f30, 0x28(r31) -/* 802BF1C8 80 9F 00 3C */ lwz r4, 0x3c(r31) -/* 802BF1CC 3C 60 00 01 */ lis r3, 0x0001 /* 0x0000FFFF@ha */ -/* 802BF1D0 38 03 FF FF */ addi r0, r3, 0xFFFF /* 0x0000FFFF@l */ -/* 802BF1D4 7C 04 00 00 */ cmpw r4, r0 -/* 802BF1D8 40 80 00 0C */ bge lbl_802BF1E4 -/* 802BF1DC 38 04 00 01 */ addi r0, r4, 1 -/* 802BF1E0 90 1F 00 3C */ stw r0, 0x3c(r31) -lbl_802BF1E4: -/* 802BF1E4 7F E3 FB 78 */ mr r3, r31 -/* 802BF1E8 FC 20 F0 90 */ fmr f1, f30 -/* 802BF1EC FC 40 F8 90 */ fmr f2, f31 -/* 802BF1F0 48 00 01 15 */ bl updateSoundLifeTime___15Z2SoundObjAnimeFff -/* 802BF1F4 48 00 00 20 */ b lbl_802BF214 -lbl_802BF1F8: -/* 802BF1F8 7F E3 FB 78 */ mr r3, r31 -/* 802BF1FC 80 9F 00 18 */ lwz r4, 0x18(r31) -/* 802BF200 FC 20 F8 90 */ fmr f1, f31 -/* 802BF204 80 BF 00 14 */ lwz r5, 0x14(r31) -/* 802BF208 A0 DF 00 1C */ lhz r6, 0x1c(r31) -/* 802BF20C 88 FF 00 1E */ lbz r7, 0x1e(r31) -/* 802BF210 48 00 04 51 */ bl func_802BF660 -lbl_802BF214: -/* 802BF214 80 BF 00 40 */ lwz r5, 0x40(r31) -/* 802BF218 2C 05 00 00 */ cmpwi r5, 0 -/* 802BF21C 41 80 00 BC */ blt lbl_802BF2D8 -/* 802BF220 80 9F 00 20 */ lwz r4, 0x20(r31) -/* 802BF224 80 64 00 04 */ lwz r3, 4(r4) -/* 802BF228 28 03 00 00 */ cmplwi r3, 0 -/* 802BF22C 41 82 00 18 */ beq lbl_802BF244 -/* 802BF230 81 83 00 00 */ lwz r12, 0(r3) -/* 802BF234 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 802BF238 7D 89 03 A6 */ mtctr r12 -/* 802BF23C 4E 80 04 21 */ bctrl -/* 802BF240 48 00 00 10 */ b lbl_802BF250 -lbl_802BF244: -/* 802BF244 54 A3 28 34 */ slwi r3, r5, 5 -/* 802BF248 38 63 00 08 */ addi r3, r3, 8 -/* 802BF24C 7C 64 1A 14 */ add r3, r4, r3 -lbl_802BF250: -/* 802BF250 80 03 00 10 */ lwz r0, 0x10(r3) -/* 802BF254 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19 -/* 802BF258 41 82 00 64 */ beq lbl_802BF2BC -/* 802BF25C C0 23 00 04 */ lfs f1, 4(r3) -/* 802BF260 C0 03 00 08 */ lfs f0, 8(r3) -/* 802BF264 FC 01 00 00 */ fcmpu cr0, f1, f0 -/* 802BF268 40 82 00 0C */ bne lbl_802BF274 -/* 802BF26C 38 00 00 01 */ li r0, 1 -/* 802BF270 48 00 00 60 */ b lbl_802BF2D0 -lbl_802BF274: -/* 802BF274 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 802BF278 40 81 00 20 */ ble lbl_802BF298 -/* 802BF27C FC 00 F0 40 */ fcmpo cr0, f0, f30 -/* 802BF280 4C 40 13 82 */ cror 2, 0, 2 -/* 802BF284 40 82 00 30 */ bne lbl_802BF2B4 -/* 802BF288 FC 1E 08 40 */ fcmpo cr0, f30, f1 -/* 802BF28C 40 80 00 28 */ bge lbl_802BF2B4 -/* 802BF290 38 00 00 01 */ li r0, 1 -/* 802BF294 48 00 00 3C */ b lbl_802BF2D0 -lbl_802BF298: -/* 802BF298 FC 01 F0 40 */ fcmpo cr0, f1, f30 -/* 802BF29C 4C 40 13 82 */ cror 2, 0, 2 -/* 802BF2A0 40 82 00 14 */ bne lbl_802BF2B4 -/* 802BF2A4 FC 1E 00 40 */ fcmpo cr0, f30, f0 -/* 802BF2A8 40 80 00 0C */ bge lbl_802BF2B4 -/* 802BF2AC 38 00 00 01 */ li r0, 1 -/* 802BF2B0 48 00 00 20 */ b lbl_802BF2D0 -lbl_802BF2B4: -/* 802BF2B4 38 00 00 00 */ li r0, 0 -/* 802BF2B8 48 00 00 18 */ b lbl_802BF2D0 -lbl_802BF2BC: -/* 802BF2BC C0 03 00 04 */ lfs f0, 4(r3) -/* 802BF2C0 FC 1E 00 40 */ fcmpo cr0, f30, f0 -/* 802BF2C4 4C 40 13 82 */ cror 2, 0, 2 -/* 802BF2C8 7C 00 00 26 */ mfcr r0 -/* 802BF2CC 54 00 1F FE */ rlwinm r0, r0, 3, 0x1f, 0x1f -lbl_802BF2D0: -/* 802BF2D0 54 00 06 3F */ clrlwi. r0, r0, 0x18 -/* 802BF2D4 40 82 FF 24 */ bne lbl_802BF1F8 -lbl_802BF2D8: -/* 802BF2D8 D3 DF 00 28 */ stfs f30, 0x28(r31) -lbl_802BF2DC: -/* 802BF2DC E3 E1 00 38 */ psq_l f31, 56(r1), 0, 0 /* qr0 */ -/* 802BF2E0 CB E1 00 30 */ lfd f31, 0x30(r1) -/* 802BF2E4 E3 C1 00 28 */ psq_l f30, 40(r1), 0, 0 /* qr0 */ -/* 802BF2E8 CB C1 00 20 */ lfd f30, 0x20(r1) -/* 802BF2EC 39 61 00 20 */ addi r11, r1, 0x20 -/* 802BF2F0 48 0A 2F 39 */ bl _restgpr_29 -/* 802BF2F4 80 01 00 44 */ lwz r0, 0x44(r1) -/* 802BF2F8 7C 08 03 A6 */ mtlr r0 -/* 802BF2FC 38 21 00 40 */ addi r1, r1, 0x40 -/* 802BF300 4E 80 00 20 */ blr diff --git a/asm/Z2AudioLib/Z2SoundObject/updateSoundLifeTime___15Z2SoundObjAnimeFff.s b/asm/Z2AudioLib/Z2SoundObject/updateSoundLifeTime___15Z2SoundObjAnimeFff.s deleted file mode 100644 index df0c7a9f471..00000000000 --- a/asm/Z2AudioLib/Z2SoundObject/updateSoundLifeTime___15Z2SoundObjAnimeFff.s +++ /dev/null @@ -1,248 +0,0 @@ -lbl_802BF304: -/* 802BF304 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 802BF308 7C 08 02 A6 */ mflr r0 -/* 802BF30C 90 01 00 34 */ stw r0, 0x34(r1) -/* 802BF310 DB E1 00 20 */ stfd f31, 0x20(r1) -/* 802BF314 F3 E1 00 28 */ psq_st f31, 40(r1), 0, 0 /* qr0 */ -/* 802BF318 DB C1 00 10 */ stfd f30, 0x10(r1) -/* 802BF31C F3 C1 00 18 */ psq_st f30, 24(r1), 0, 0 /* qr0 */ -/* 802BF320 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802BF324 93 C1 00 08 */ stw r30, 8(r1) -/* 802BF328 7C 7F 1B 78 */ mr r31, r3 -/* 802BF32C FF C0 08 90 */ fmr f30, f1 -/* 802BF330 FF E0 10 90 */ fmr f31, f2 -/* 802BF334 80 03 00 20 */ lwz r0, 0x20(r3) -/* 802BF338 28 00 00 00 */ cmplwi r0, 0 -/* 802BF33C 41 82 02 FC */ beq lbl_802BF638 -/* 802BF340 3B C0 00 00 */ li r30, 0 -/* 802BF344 48 00 02 E8 */ b lbl_802BF62C -lbl_802BF348: -/* 802BF348 7F E3 FB 78 */ mr r3, r31 -/* 802BF34C 7F C4 F3 78 */ mr r4, r30 -/* 802BF350 48 01 CE BD */ bl getNthLink__10JSUPtrListCFUl -/* 802BF354 28 03 00 00 */ cmplwi r3, 0 -/* 802BF358 41 82 00 08 */ beq lbl_802BF360 -/* 802BF35C 38 63 FF FC */ addi r3, r3, -4 -lbl_802BF360: -/* 802BF360 80 03 00 00 */ lwz r0, 0(r3) -/* 802BF364 28 00 00 00 */ cmplwi r0, 0 -/* 802BF368 41 82 02 C0 */ beq lbl_802BF628 -/* 802BF36C 7F E3 FB 78 */ mr r3, r31 -/* 802BF370 7F C4 F3 78 */ mr r4, r30 -/* 802BF374 48 01 CE 99 */ bl getNthLink__10JSUPtrListCFUl -/* 802BF378 28 03 00 00 */ cmplwi r3, 0 -/* 802BF37C 41 82 00 08 */ beq lbl_802BF384 -/* 802BF380 38 63 FF FC */ addi r3, r3, -4 -lbl_802BF384: -/* 802BF384 80 63 00 00 */ lwz r3, 0(r3) -/* 802BF388 88 03 00 1F */ lbz r0, 0x1f(r3) -/* 802BF38C 54 00 E7 BE */ rlwinm r0, r0, 0x1c, 0x1e, 0x1f -/* 802BF390 2C 00 00 01 */ cmpwi r0, 1 -/* 802BF394 41 82 00 10 */ beq lbl_802BF3A4 -/* 802BF398 40 80 02 90 */ bge lbl_802BF628 -/* 802BF39C 48 00 02 8C */ b lbl_802BF628 -/* 802BF3A0 48 00 02 88 */ b lbl_802BF628 -lbl_802BF3A4: -/* 802BF3A4 7F E3 FB 78 */ mr r3, r31 -/* 802BF3A8 7F C4 F3 78 */ mr r4, r30 -/* 802BF3AC 48 01 CE 61 */ bl getNthLink__10JSUPtrListCFUl -/* 802BF3B0 28 03 00 00 */ cmplwi r3, 0 -/* 802BF3B4 41 82 00 08 */ beq lbl_802BF3BC -/* 802BF3B8 38 63 FF FC */ addi r3, r3, -4 -lbl_802BF3BC: -/* 802BF3BC 80 63 00 00 */ lwz r3, 0(r3) -/* 802BF3C0 80 63 00 20 */ lwz r3, 0x20(r3) -/* 802BF3C4 38 80 00 00 */ li r4, 0 -/* 802BF3C8 C0 02 C1 50 */ lfs f0, lit_3821(r2) -/* 802BF3CC FC 00 F8 00 */ fcmpu cr0, f0, f31 -/* 802BF3D0 40 82 00 14 */ bne lbl_802BF3E4 -/* 802BF3D4 80 03 00 10 */ lwz r0, 0x10(r3) -/* 802BF3D8 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a -/* 802BF3DC 41 82 00 08 */ beq lbl_802BF3E4 -/* 802BF3E0 38 80 00 01 */ li r4, 1 -lbl_802BF3E4: -/* 802BF3E4 80 A3 00 10 */ lwz r5, 0x10(r3) -/* 802BF3E8 54 A6 06 73 */ rlwinm. r6, r5, 0, 0x19, 0x19 -/* 802BF3EC 41 82 01 24 */ beq lbl_802BF510 -/* 802BF3F0 54 80 06 3F */ clrlwi. r0, r4, 0x18 -/* 802BF3F4 41 82 00 34 */ beq lbl_802BF428 -/* 802BF3F8 7F E3 FB 78 */ mr r3, r31 -/* 802BF3FC 7F C4 F3 78 */ mr r4, r30 -/* 802BF400 48 01 CE 0D */ bl getNthLink__10JSUPtrListCFUl -/* 802BF404 28 03 00 00 */ cmplwi r3, 0 -/* 802BF408 41 82 00 08 */ beq lbl_802BF410 -/* 802BF40C 38 63 FF FC */ addi r3, r3, -4 -lbl_802BF410: -/* 802BF410 80 83 00 00 */ lwz r4, 0(r3) -/* 802BF414 38 60 00 01 */ li r3, 1 -/* 802BF418 88 04 00 1C */ lbz r0, 0x1c(r4) -/* 802BF41C 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19 -/* 802BF420 98 04 00 1C */ stb r0, 0x1c(r4) -/* 802BF424 48 00 02 04 */ b lbl_802BF628 -lbl_802BF428: -/* 802BF428 C0 23 00 04 */ lfs f1, 4(r3) -/* 802BF42C C0 03 00 08 */ lfs f0, 8(r3) -/* 802BF430 FC 01 00 00 */ fcmpu cr0, f1, f0 -/* 802BF434 40 82 00 0C */ bne lbl_802BF440 -/* 802BF438 38 00 00 01 */ li r0, 1 -/* 802BF43C 48 00 00 48 */ b lbl_802BF484 -lbl_802BF440: -/* 802BF440 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 802BF444 40 81 00 20 */ ble lbl_802BF464 -/* 802BF448 FC 00 F0 40 */ fcmpo cr0, f0, f30 -/* 802BF44C 4C 40 13 82 */ cror 2, 0, 2 -/* 802BF450 40 82 00 30 */ bne lbl_802BF480 -/* 802BF454 FC 1E 08 40 */ fcmpo cr0, f30, f1 -/* 802BF458 40 80 00 28 */ bge lbl_802BF480 -/* 802BF45C 38 00 00 01 */ li r0, 1 -/* 802BF460 48 00 00 24 */ b lbl_802BF484 -lbl_802BF464: -/* 802BF464 FC 01 F0 40 */ fcmpo cr0, f1, f30 -/* 802BF468 4C 40 13 82 */ cror 2, 0, 2 -/* 802BF46C 40 82 00 14 */ bne lbl_802BF480 -/* 802BF470 FC 1E 00 40 */ fcmpo cr0, f30, f0 -/* 802BF474 40 80 00 0C */ bge lbl_802BF480 -/* 802BF478 38 00 00 01 */ li r0, 1 -/* 802BF47C 48 00 00 08 */ b lbl_802BF484 -lbl_802BF480: -/* 802BF480 38 00 00 00 */ li r0, 0 -lbl_802BF484: -/* 802BF484 54 00 06 3F */ clrlwi. r0, r0, 0x18 -/* 802BF488 41 82 00 64 */ beq lbl_802BF4EC -/* 802BF48C 7F E3 FB 78 */ mr r3, r31 -/* 802BF490 7F C4 F3 78 */ mr r4, r30 -/* 802BF494 48 01 CD 79 */ bl getNthLink__10JSUPtrListCFUl -/* 802BF498 28 03 00 00 */ cmplwi r3, 0 -/* 802BF49C 41 82 00 08 */ beq lbl_802BF4A4 -/* 802BF4A0 38 63 FF FC */ addi r3, r3, -4 -lbl_802BF4A4: -/* 802BF4A4 80 63 00 00 */ lwz r3, 0(r3) -/* 802BF4A8 80 03 00 10 */ lwz r0, 0x10(r3) -/* 802BF4AC 28 00 00 01 */ cmplwi r0, 1 -/* 802BF4B0 40 80 00 0C */ bge lbl_802BF4BC -/* 802BF4B4 38 00 00 01 */ li r0, 1 -/* 802BF4B8 90 03 00 10 */ stw r0, 0x10(r3) -lbl_802BF4BC: -/* 802BF4BC 7F E3 FB 78 */ mr r3, r31 -/* 802BF4C0 7F C4 F3 78 */ mr r4, r30 -/* 802BF4C4 48 01 CD 49 */ bl getNthLink__10JSUPtrListCFUl -/* 802BF4C8 28 03 00 00 */ cmplwi r3, 0 -/* 802BF4CC 41 82 00 08 */ beq lbl_802BF4D4 -/* 802BF4D0 38 63 FF FC */ addi r3, r3, -4 -lbl_802BF4D4: -/* 802BF4D4 80 83 00 00 */ lwz r4, 0(r3) -/* 802BF4D8 38 60 00 00 */ li r3, 0 -/* 802BF4DC 88 04 00 1C */ lbz r0, 0x1c(r4) -/* 802BF4E0 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19 -/* 802BF4E4 98 04 00 1C */ stb r0, 0x1c(r4) -/* 802BF4E8 48 00 01 40 */ b lbl_802BF628 -lbl_802BF4EC: -/* 802BF4EC 7F E3 FB 78 */ mr r3, r31 -/* 802BF4F0 7F C4 F3 78 */ mr r4, r30 -/* 802BF4F4 48 01 CD 19 */ bl getNthLink__10JSUPtrListCFUl -/* 802BF4F8 28 03 00 00 */ cmplwi r3, 0 -/* 802BF4FC 41 82 00 08 */ beq lbl_802BF504 -/* 802BF500 38 63 FF FC */ addi r3, r3, -4 -lbl_802BF504: -/* 802BF504 80 63 00 00 */ lwz r3, 0(r3) -/* 802BF508 4B FE 30 91 */ bl stop__8JAISoundFv -/* 802BF50C 48 00 01 1C */ b lbl_802BF628 -lbl_802BF510: -/* 802BF510 54 80 06 3F */ clrlwi. r0, r4, 0x18 -/* 802BF514 41 82 00 28 */ beq lbl_802BF53C -/* 802BF518 7F E3 FB 78 */ mr r3, r31 -/* 802BF51C 7F C4 F3 78 */ mr r4, r30 -/* 802BF520 48 01 CC ED */ bl getNthLink__10JSUPtrListCFUl -/* 802BF524 28 03 00 00 */ cmplwi r3, 0 -/* 802BF528 41 82 00 08 */ beq lbl_802BF530 -/* 802BF52C 38 63 FF FC */ addi r3, r3, -4 -lbl_802BF530: -/* 802BF530 80 63 00 00 */ lwz r3, 0(r3) -/* 802BF534 4B FE 30 65 */ bl stop__8JAISoundFv -/* 802BF538 48 00 00 F0 */ b lbl_802BF628 -lbl_802BF53C: -/* 802BF53C 54 A0 06 F7 */ rlwinm. r0, r5, 0, 0x1b, 0x1b -/* 802BF540 41 82 00 E8 */ beq lbl_802BF628 -/* 802BF544 88 1F 00 44 */ lbz r0, 0x44(r31) -/* 802BF548 28 06 00 00 */ cmplwi r6, 0 -/* 802BF54C 41 82 00 70 */ beq lbl_802BF5BC -/* 802BF550 C0 23 00 04 */ lfs f1, 4(r3) -/* 802BF554 C0 03 00 08 */ lfs f0, 8(r3) -/* 802BF558 FC 01 00 00 */ fcmpu cr0, f1, f0 -/* 802BF55C 40 82 00 0C */ bne lbl_802BF568 -/* 802BF560 38 00 00 01 */ li r0, 1 -/* 802BF564 48 00 00 48 */ b lbl_802BF5AC -lbl_802BF568: -/* 802BF568 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 802BF56C 40 81 00 20 */ ble lbl_802BF58C -/* 802BF570 FC 00 F0 40 */ fcmpo cr0, f0, f30 -/* 802BF574 4C 40 13 82 */ cror 2, 0, 2 -/* 802BF578 40 82 00 30 */ bne lbl_802BF5A8 -/* 802BF57C FC 1E 08 40 */ fcmpo cr0, f30, f1 -/* 802BF580 40 80 00 28 */ bge lbl_802BF5A8 -/* 802BF584 38 00 00 01 */ li r0, 1 -/* 802BF588 48 00 00 24 */ b lbl_802BF5AC -lbl_802BF58C: -/* 802BF58C FC 01 F0 40 */ fcmpo cr0, f1, f30 -/* 802BF590 4C 40 13 82 */ cror 2, 0, 2 -/* 802BF594 40 82 00 14 */ bne lbl_802BF5A8 -/* 802BF598 FC 1E 00 40 */ fcmpo cr0, f30, f0 -/* 802BF59C 40 80 00 0C */ bge lbl_802BF5A8 -/* 802BF5A0 38 00 00 01 */ li r0, 1 -/* 802BF5A4 48 00 00 08 */ b lbl_802BF5AC -lbl_802BF5A8: -/* 802BF5A8 38 00 00 00 */ li r0, 0 -lbl_802BF5AC: -/* 802BF5AC 54 00 06 3E */ clrlwi r0, r0, 0x18 -/* 802BF5B0 7C 00 00 34 */ cntlzw r0, r0 -/* 802BF5B4 54 00 D9 7E */ srwi r0, r0, 5 -/* 802BF5B8 48 00 00 48 */ b lbl_802BF600 -lbl_802BF5BC: -/* 802BF5BC C0 03 00 04 */ lfs f0, 4(r3) -/* 802BF5C0 C0 23 00 08 */ lfs f1, 8(r3) -/* 802BF5C4 FC 00 08 00 */ fcmpu cr0, f0, f1 -/* 802BF5C8 40 82 00 0C */ bne lbl_802BF5D4 -/* 802BF5CC 38 00 00 00 */ li r0, 0 -/* 802BF5D0 48 00 00 30 */ b lbl_802BF600 -lbl_802BF5D4: -/* 802BF5D4 28 00 00 00 */ cmplwi r0, 0 -/* 802BF5D8 41 82 00 18 */ beq lbl_802BF5F0 -/* 802BF5DC FC 1E 08 40 */ fcmpo cr0, f30, f1 -/* 802BF5E0 4C 40 13 82 */ cror 2, 0, 2 -/* 802BF5E4 7C 00 00 26 */ mfcr r0 -/* 802BF5E8 54 00 1F FE */ rlwinm r0, r0, 3, 0x1f, 0x1f -/* 802BF5EC 48 00 00 14 */ b lbl_802BF600 -lbl_802BF5F0: -/* 802BF5F0 FC 1E 08 40 */ fcmpo cr0, f30, f1 -/* 802BF5F4 4C 41 13 82 */ cror 2, 1, 2 -/* 802BF5F8 7C 00 00 26 */ mfcr r0 -/* 802BF5FC 54 00 1F FE */ rlwinm r0, r0, 3, 0x1f, 0x1f -lbl_802BF600: -/* 802BF600 54 00 06 3F */ clrlwi. r0, r0, 0x18 -/* 802BF604 41 82 00 24 */ beq lbl_802BF628 -/* 802BF608 7F E3 FB 78 */ mr r3, r31 -/* 802BF60C 7F C4 F3 78 */ mr r4, r30 -/* 802BF610 48 01 CB FD */ bl getNthLink__10JSUPtrListCFUl -/* 802BF614 28 03 00 00 */ cmplwi r3, 0 -/* 802BF618 41 82 00 08 */ beq lbl_802BF620 -/* 802BF61C 38 63 FF FC */ addi r3, r3, -4 -lbl_802BF620: -/* 802BF620 80 63 00 00 */ lwz r3, 0(r3) -/* 802BF624 4B FE 2F 75 */ bl stop__8JAISoundFv -lbl_802BF628: -/* 802BF628 3B DE 00 01 */ addi r30, r30, 1 -lbl_802BF62C: -/* 802BF62C 80 1F 00 08 */ lwz r0, 8(r31) -/* 802BF630 7C 1E 00 00 */ cmpw r30, r0 -/* 802BF634 41 80 FD 14 */ blt lbl_802BF348 -lbl_802BF638: -/* 802BF638 E3 E1 00 28 */ psq_l f31, 40(r1), 0, 0 /* qr0 */ -/* 802BF63C CB E1 00 20 */ lfd f31, 0x20(r1) -/* 802BF640 E3 C1 00 18 */ psq_l f30, 24(r1), 0, 0 /* qr0 */ -/* 802BF644 CB C1 00 10 */ lfd f30, 0x10(r1) -/* 802BF648 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802BF64C 83 C1 00 08 */ lwz r30, 8(r1) -/* 802BF650 80 01 00 34 */ lwz r0, 0x34(r1) -/* 802BF654 7C 08 03 A6 */ mtlr r0 -/* 802BF658 38 21 00 30 */ addi r1, r1, 0x30 -/* 802BF65C 4E 80 00 20 */ blr diff --git a/include/JSystem/JAudio2/JAISeMgr.h b/include/JSystem/JAudio2/JAISeMgr.h index bc607e809e7..3fe166473e0 100644 --- a/include/JSystem/JAudio2/JAISeMgr.h +++ b/include/JSystem/JAudio2/JAISeMgr.h @@ -48,6 +48,7 @@ class JAISeCategoryMgr : public JAISeqDataUser { int getMaxActiveSe() const { return mMaxActiveSe; } void setMaxActiveSe(int se) { mMaxActiveSe = se; } void setMaxInactiveSe(int se) { mMaxInactiveSe = se; } + JSUList* getSeList() { return &mSeList; } int getNumSe() const { return mSeList.getNumLinks(); } JAIAudience* getAudience() { return (JAIAudience*)field_0x4.field_0x0; } diff --git a/include/JSystem/JAudio2/JAISound.h b/include/JSystem/JAudio2/JAISound.h index ff737fd885b..5a60a6eae26 100644 --- a/include/JSystem/JAudio2/JAISound.h +++ b/include/JSystem/JAudio2/JAISound.h @@ -90,8 +90,7 @@ struct JAISoundStatus_ { struct { u8 flag1 : 1; u8 flag2 : 1; - u8 flag3 : 1; - u8 flag4 : 1; + u8 animationState : 2; u8 flag5 : 1; u8 flag6 : 1; u8 flag7 : 1; @@ -227,9 +226,16 @@ class JAISound { virtual bool JAISound_tryDie_() = 0; JAISoundID getID() const; + u8 getAnimationState() const { return status_.state.flags.animationState; } + bool isAnimated() const { return getAnimationState() != 0; } + void setAnimationState(u8 pState) { + status_.state.flags.animationState = pState; + } u32 getUserData() const { return status_.user_data; } + void setUserData(u32 pUserData) { status_.user_data = pUserData; } + JAIAudible* getAudible() const { return audible_; } bool isHandleAttached() const { return handle_ != NULL; } - + bool hasLifeTime() const { return status_.field_0x1.flags.flag2; } void removeLifeTime_() { status_.field_0x1.flags.flag1 = false; } void stop_JAISound_() { status_.state.flags.flag5 = 0; diff --git a/include/JSystem/JAudio2/JAUAudibleParam.h b/include/JSystem/JAudio2/JAUAudibleParam.h index b51b419c6b0..079864c06e6 100644 --- a/include/JSystem/JAudio2/JAUAudibleParam.h +++ b/include/JSystem/JAudio2/JAUAudibleParam.h @@ -21,7 +21,9 @@ struct JAUAudibleParam { u8 b0_5 : 1; u8 b0_6 : 1; u8 b0_7 : 1; - u8 b1; + u8 b1_0 : 1; + u8 b1_1 : 1; + u8 b1_2_7 : 6; u8 b2; u8 b3; } bytes; diff --git a/include/JSystem/JAudio2/JAUSoundAnimator.h b/include/JSystem/JAudio2/JAUSoundAnimator.h index e1b6ce08f09..b6dc7204a65 100644 --- a/include/JSystem/JAudio2/JAUSoundAnimator.h +++ b/include/JSystem/JAudio2/JAUSoundAnimator.h @@ -1,5 +1,109 @@ #ifndef JAUSOUNDANIMATOR_H #define JAUSOUNDANIMATOR_H +#include "JSystem/JAudio2/JAISound.h" +#include "dolphin/types.h" + +class JAUSoundAnimation; + +class JAUSoundAnimationSound { +public: + bool playsOnlyForward() const { return (mFlags & 1) != 0; } + bool playsOnlyReverse() const { return (mFlags & 2) != 0; } + bool stopsWhenAnimationChanges() const { return (mFlags & 4) != 0; } + bool playsOnlyOnce() const { return (mFlags & 8) != 0; } + bool stopsWhenNoteOff() const { return (mFlags & 0x10) != 0; } + bool stopsWhenSpeedIsZero() const { return (mFlags & 0x20) != 0; } + bool setsLifeTime() const { return (mFlags & 0x40) != 0; } + bool playsAtIntervals() const { return (mFlags & 0x80) != 0; } + + bool isNoting(f32 param_0) const { + if (field_0x04 == field_0x08) { + return true; + } + if (field_0x04 > field_0x08) { + if (field_0x08 <= param_0 && param_0 < field_0x04) { + return true; + } + } else { + if (field_0x04 <= param_0 && param_0 < field_0x08) { + return true; + } + } + return false; + } + + bool isNotingOn(f32 param_0, bool param_1) const { + if (setsLifeTime()) { + return isNoting(param_0); + } + if (param_1) { + return param_0 <= field_0x04; + } else { + return param_0 >= field_0x04; + } + } + + bool isNotingOff(f32 param_0, bool param_1) const { + if (setsLifeTime()) { + return !isNoting(param_0); + } + if (field_0x04 == field_0x08) { + return false; + } + if (param_1) { + return param_0 <= field_0x08; + } else { + return param_0 >= field_0x08; + } + } + + /* 0x00 */ JAISoundID mSoundId; + /* 0x04 */ f32 field_0x04; + /* 0x08 */ f32 field_0x08; + /* 0x0C */ f32 field_0x0c; + /* 0x10 */ u32 mFlags; + /* 0x14 */ u8 field_0x14; + /* 0x15 */ u8 field_0x15; + /* 0x16 */ u8 field_0x16; + /* 0x17 */ u8 field_0x17; + /* 0x18 */ u8 field_0x18; + /* 0x19 */ u8 field_0x19; + /* 0x1A */ s8 field_0x1a; + /* 0x1B */ u8 unk_0x1b[5]; +}; /* size 0x20 */ + +class JAUSoundAnimationControl { +public: + virtual ~JAUSoundAnimationControl() = 0; + virtual JAUSoundAnimationSound* getSound(const JAUSoundAnimation*, int) = 0; + virtual u16 getNumSounds(const JAUSoundAnimation*) = 0; +}; + +class JAUSoundAnimation { +public: + /* 802A6F70 */ int getStartSoundIndex(f32) const; + /* 802A7044 */ int getEndSoundIndex(f32) const; + + u16 getNumSounds() const { + if (mControl != NULL) { + return mControl->getNumSounds(this); + } else { + return mNumSounds; + } + } + + const JAUSoundAnimationSound* getSound(int i_index) const { + if (mControl != NULL) { + return mControl->getSound(this, i_index); + } else { + return &mSounds + i_index; + } + } + + /* 0x0 */ u16 mNumSounds; + /* 0x4 */ JAUSoundAnimationControl* mControl; + /* 0x8 */ JAUSoundAnimationSound mSounds; // actually an array +}; #endif /* JAUSOUNDANIMATOR_H */ diff --git a/include/JSystem/JGeometry.h b/include/JSystem/JGeometry.h index ac4857ec30f..9d24942e3f9 100644 --- a/include/JSystem/JGeometry.h +++ b/include/JSystem/JGeometry.h @@ -122,6 +122,16 @@ struct TVec3 { }; } + inline TVec3& operator=(const Vec& b) { + setTVec3f(&b.x, &this->x); + return *this; + } + + // inline TVec3& operator=(const TVec3& b) { + // setTVec3f(&b.x, &this->x); + // return *this; + // } + inline TVec3& operator+=(const TVec3& b) { add(b); return *this; diff --git a/include/JSystem/JSupport/JSUList.h b/include/JSystem/JSupport/JSUList.h index e117824b060..2c045ef0893 100644 --- a/include/JSystem/JSupport/JSUList.h +++ b/include/JSystem/JSupport/JSUList.h @@ -97,6 +97,8 @@ class JSUList : public JSUPtrList { JSULink* getLast() const { return (JSULink*)getLastLink(); } + JSULink* getNth(int index) { return (JSULink*)getNthLink(index); } + JSULink* getEnd() const { return NULL; } u32 getNumLinks() const { return this->JSUPtrList::getNumLinks(); } diff --git a/include/Z2AudioLib/Z2SeMgr.h b/include/Z2AudioLib/Z2SeMgr.h index d0fce310dce..d7c0ba33304 100644 --- a/include/Z2AudioLib/Z2SeMgr.h +++ b/include/Z2AudioLib/Z2SeMgr.h @@ -53,7 +53,7 @@ class Z2SeMgr : public JASGlobalInstance { /* 802ADFF4 */ void setMultiTriggerSE(u32, Vec*, s8); /* 802AE184 */ void processSeFramework(); /* 802AE524 */ void isLevelSe(JAISoundID); - /* 802AE5B0 */ void isSoundCulling(JAISoundID); + /* 802AE5B0 */ bool isSoundCulling(JAISoundID); /* 802B9AC4 */ void resetCrowdSize(); private: diff --git a/include/Z2AudioLib/Z2SoundHandles.h b/include/Z2AudioLib/Z2SoundHandles.h index 7e1b4b91efa..4ff460bc8ab 100644 --- a/include/Z2AudioLib/Z2SoundHandles.h +++ b/include/Z2AudioLib/Z2SoundHandles.h @@ -3,9 +3,14 @@ #include "JSystem/JAudio2/JAISoundHandles.h" #include "JSystem/JSupport/JSUList.h" +#include "JSystem/JAudio2/JASHeapCtrl.h" #include "dolphin/types.h" -class Z2SoundHandlePool : public JAISoundHandle, JSULink {}; +class Z2SoundHandlePool : public JAISoundHandle, public JSULink { // , public JASPoolAllocObject { +public: + Z2SoundHandlePool() : JAISoundHandle(), JSULink(this) {} + ~Z2SoundHandlePool() {} +}; class Z2SoundHandles : protected JSUList { public: @@ -14,8 +19,8 @@ class Z2SoundHandles : protected JSUList { void initHandlesPool(u8 pNumHandles); void deleteHandlesPool(); - void getFreeHandle(); - void getLowPrioSound(JAISoundID); + JAISoundHandle* getFreeHandle(); + JAISoundHandle* getLowPrioSound(JAISoundID pSoundId); bool isActive() const; @@ -26,7 +31,8 @@ class Z2SoundHandles : protected JSUList { void setPos(const JGeometry::TVec3& pos); - u32 getNumHandles() const { return this->getNumLinks(); } + int getNumHandles() const { return getNumLinks(); } + JAISoundHandle* getHandle(int index) { return (Z2SoundHandlePool*)getNth(index); } private: /* 0xC */ u8 mNumHandles; diff --git a/include/Z2AudioLib/Z2SoundObject.h b/include/Z2AudioLib/Z2SoundObject.h index 26f2829bcc5..a022ba4abc5 100644 --- a/include/Z2AudioLib/Z2SoundObject.h +++ b/include/Z2AudioLib/Z2SoundObject.h @@ -2,11 +2,10 @@ #define Z2SOUNDOBJECT_H #include "Z2AudioLib/Z2SoundHandles.h" +#include "JSystem/JAudio2/JAUSoundAnimator.h" #include "dolphin/types.h" -struct Z2SoundStarter; - -struct JAUSoundAnimationSound {}; +class Z2SoundStarter; class Z2SoundObjBase : protected Z2SoundHandles { public: @@ -14,7 +13,7 @@ class Z2SoundObjBase : protected Z2SoundHandles { ~Z2SoundObjBase(); void deleteObject(); - void startCollisionSE(u32, u32, Z2SoundObjBase*); + JAISoundHandle* startCollisionSE(u32, u32, Z2SoundObjBase*); bool isAlive() const { return mIsInitialized; } void setSoundStarter(Z2SoundStarter* i_soundStarter) { mSoundStarter = i_soundStarter; } @@ -23,13 +22,13 @@ class Z2SoundObjBase : protected Z2SoundHandles { virtual void dispose(); virtual bool stopOK(Z2SoundHandlePool& pool); virtual void init(Vec* pSoundPos, u8 pNumHandles); - virtual void startSound(JAISoundID, u32, s8); - virtual void startLevelSound(JAISoundID, u32, s8); + virtual JAISoundHandle* startSound(JAISoundID, u32, s8); + virtual JAISoundHandle* startLevelSound(JAISoundID, u32, s8); /* 0x14 */ Z2SoundStarter* mSoundStarter; - /* 0x18 */ Vec* mSoundPos; + /* 0x18 */ JGeometry::TVec3* mSoundPos; /* 0x1C */ u16 field_0x1c; - /* 0x1E */ u8 field_0x1e; + /* 0x1E */ s8 field_0x1e; /* 0x1F */ bool mIsInitialized; }; @@ -38,10 +37,9 @@ class Z2SoundObjSimple : public Z2SoundObjBase { Z2SoundObjSimple(); ~Z2SoundObjSimple(); - virtual void temp(); // temp to build OK, remove later virtual void init(Vec* pSoundPos, u8 pNumHandles); - virtual void startSound(JAISoundID, u32, s8); - virtual void startLevelSound(JAISoundID, u32, s8); + virtual JAISoundHandle* startSound(JAISoundID, u32, s8); + virtual JAISoundHandle* startLevelSound(JAISoundID, u32, s8); }; class Z2SoundObjAnime : public Z2SoundObjBase { @@ -53,42 +51,49 @@ class Z2SoundObjAnime : public Z2SoundObjBase { /* 802BF304 */ void updateSoundLifeTime_(f32, f32); /* 802BF660 */ void startSoundInner(JGeometry::TVec3 const&, f32, Z2SoundStarter*, u32, s8); - /* 802BF890 */ void getSoundID(JAUSoundAnimationSound const*, JGeometry::TVec3 const&, - f32); - /* 802BF898 */ void playsSound(JAUSoundAnimationSound const*, JGeometry::TVec3 const&, + /* 802BF890 */ u32 getSoundID(JAUSoundAnimationSound const*, + JGeometry::TVec3 const&, f32); + /* 802BF898 */ bool playsSound(JAUSoundAnimationSound const*, JGeometry::TVec3 const&, f32); /* 802BEBDC */ virtual void init(Vec*, u8); - void stopAnime() { animation_ = NULL; } - - /* 0x20 */ void* animation_; // JAUSoundAnimation* + void stopAnime() { mpAnimation = NULL; } + void setLoopStartFrame(f32 i_frame) { + mStartSoundFrame = i_frame; + mStartSoundIndex = mpAnimation->getStartSoundIndex(i_frame); + } + void setLoopEndFrame(f32 i_frame) { + mEndSoundFrame = i_frame; + mEndSoundIndex = mpAnimation->getEndSoundIndex(i_frame); + } + void setLoopFrame(f32 i_startFrame, f32 i_endFrame) { + setLoopStartFrame(i_startFrame); + setLoopEndFrame(i_endFrame); + } + + /* 0x20 */ JAUSoundAnimation* mpAnimation; /* 0x24 */ int field_0x24; - /* 0x28 */ float field_0x28; - /* 0x2C */ float field_0x2c; - /* 0x30 */ float field_0x30; - /* 0x34 */ int field_0x34; - /* 0x38 */ int field_0x38; + /* 0x28 */ f32 mCurSoundFrame; + /* 0x2C */ f32 mStartSoundFrame; + /* 0x30 */ f32 mEndSoundFrame; + /* 0x34 */ int mStartSoundIndex; + /* 0x38 */ int mEndSoundIndex; /* 0x3C */ int field_0x3c; - /* 0x40 */ int curSoundIndex_; - /* 0x44 */ bool field_0x44; + /* 0x40 */ int mCurSoundIndex; + /* 0x44 */ bool mReverse; }; -class Z2DopplerSoundObjBase : public Z2SoundHandles { +class Z2DopplerSoundObjBase : public Z2SoundObjBase { public: Z2DopplerSoundObjBase(); ~Z2DopplerSoundObjBase(); virtual void framework(u32, s8); virtual void init(Vec*, u8); - virtual void startSound(JAISoundID, u32, s8); - virtual void startLevelSound(JAISoundID, u32, s8); + virtual JAISoundHandle* startSound(JAISoundID, u32, s8); + virtual JAISoundHandle* startLevelSound(JAISoundID, u32, s8); - /* 0x14 */ Z2SoundStarter* field_0x14; - /* 0x18 */ JGeometry::TVec3* field_0x18; - /* 0x1C */ u16 field_0x1c; - /* 0x1E */ u8 field_0x1e; - /* 0x1F */ bool field_0x1f; /* 0x20 */ JGeometry::TVec3 field_0x20; /* 0x2C */ JGeometry::TVec3 field_0x2c; }; diff --git a/libs/JSystem/JAudio2/JAUSoundAnimator.cpp b/libs/JSystem/JAudio2/JAUSoundAnimator.cpp index 5d013ba0c60..472c4606679 100644 --- a/libs/JSystem/JAudio2/JAUSoundAnimator.cpp +++ b/libs/JSystem/JAudio2/JAUSoundAnimator.cpp @@ -1,55 +1,28 @@ // -// Generated By: dol2asm // Translation Unit: JAUSoundAnimator // #include "JSystem/JAudio2/JAUSoundAnimator.h" -#include "dolphin/types.h" - -// -// Types: -// - -struct JAUSoundAnimation { - /* 802A6F70 */ void getStartSoundIndex(f32) const; - /* 802A7044 */ void getEndSoundIndex(f32) const; -}; - -// -// Forward References: -// - -extern "C" void getStartSoundIndex__17JAUSoundAnimationCFf(); -extern "C" void getEndSoundIndex__17JAUSoundAnimationCFf(); - -// -// External References: -// - -extern "C" void _savegpr_28(); -extern "C" void _restgpr_28(); - -// -// Declarations: -// /* 802A6F70-802A7044 2A18B0 00D4+00 0/0 1/1 0/0 .text getStartSoundIndex__17JAUSoundAnimationCFf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JAUSoundAnimation::getStartSoundIndex(f32 param_0) const { - nofralloc -#include "asm/JSystem/JAudio2/JAUSoundAnimator/getStartSoundIndex__17JAUSoundAnimationCFf.s" +int JAUSoundAnimation::getStartSoundIndex(f32 param_0) const { + int i; + for (i = 0; i < getNumSounds(); i++) { + if (getSound(i)->field_0x04 >= param_0) { + break; + } + } + return i; } -#pragma pop /* 802A7044-802A7114 2A1984 00D0+00 0/0 1/1 0/0 .text getEndSoundIndex__17JAUSoundAnimationCFf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JAUSoundAnimation::getEndSoundIndex(f32 param_0) const { - nofralloc -#include "asm/JSystem/JAudio2/JAUSoundAnimator/getEndSoundIndex__17JAUSoundAnimationCFf.s" +int JAUSoundAnimation::getEndSoundIndex(f32 param_0) const { + int i; + for (i = 0; i < getNumSounds(); i++) { + if (getSound(i)->field_0x04 > param_0) { + break; + } + } + return i; } -#pragma pop diff --git a/libs/Z2AudioLib/Z2Audience.cpp b/libs/Z2AudioLib/Z2Audience.cpp index 67a342bc2b2..b5d4f9909a9 100644 --- a/libs/Z2AudioLib/Z2Audience.cpp +++ b/libs/Z2AudioLib/Z2Audience.cpp @@ -1194,20 +1194,20 @@ void Z2Audience::mixChannelOut(JASSoundParams const& param_0, JAIAudible* param_ } local_60.mVolume = dVar9; JAUAudibleParam* puVar7 = z2Audible->getAudibleParam(); - if ((puVar7->field_0x0.bytes.b1 & 8) && (local_60.mVolume <= 0.2f)) { + if ((puVar7->field_0x0.bytes.b1_2_7 & 8) && (local_60.mVolume <= 0.2f)) { local_60.mVolume = 0.2f; } } else { local_60.mVolume = 1.0f; } - if (((z2Audible->getAudibleParam()->field_0x0.bytes.b1 >> 6) & 1) && mNumPlayers == 1) { + if (z2Audible->getAudibleParam()->field_0x0.bytes.b1_1 && mNumPlayers == 1) { local_60.mDolby = calcRelPosDolby(*(Vec*)&pZVar5->field_0x14.field_0x00, param_2); } else { local_60.mDolby = 0.5f; } - if ((z2Audible->getAudibleParam()->field_0x0.bytes.b1 >> 7) & 1) { + if (z2Audible->getAudibleParam()->field_0x0.bytes.b1_0) { if (mNumPlayers > 2) { f32 fVar1; if (param_2 & 1) { diff --git a/libs/Z2AudioLib/Z2Creature.cpp b/libs/Z2AudioLib/Z2Creature.cpp index dac809178b8..dfe0137b6c6 100644 --- a/libs/Z2AudioLib/Z2Creature.cpp +++ b/libs/Z2AudioLib/Z2Creature.cpp @@ -537,7 +537,7 @@ asm Z2Creature::~Z2Creature() { /* 802C04E8-802C0530 2BAE28 0048+00 4/2 2/2 0/0 .text deleteObject__10Z2CreatureFv */ void Z2Creature::deleteObject() { - mSoundObjAnime.animation_ = NULL; + mSoundObjAnime.mpAnimation = NULL; mSoundObjAnime.deleteObject(); mSoundObjSimple1.deleteObject(); mSoundObjSimple2.deleteObject(); diff --git a/libs/Z2AudioLib/Z2SeMgr.cpp b/libs/Z2AudioLib/Z2SeMgr.cpp index bc5e959cc79..9792e01a73b 100644 --- a/libs/Z2AudioLib/Z2SeMgr.cpp +++ b/libs/Z2AudioLib/Z2SeMgr.cpp @@ -651,7 +651,7 @@ asm void Z2SeMgr::isLevelSe(JAISoundID param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void Z2SeMgr::isSoundCulling(JAISoundID param_0) { +asm bool Z2SeMgr::isSoundCulling(JAISoundID param_0) { nofralloc #include "asm/Z2AudioLib/Z2SeMgr/isSoundCulling__7Z2SeMgrF10JAISoundID.s" } diff --git a/libs/Z2AudioLib/Z2SoundHandles.cpp b/libs/Z2AudioLib/Z2SoundHandles.cpp index 900fb8f3f58..81003b1cd8d 100644 --- a/libs/Z2AudioLib/Z2SoundHandles.cpp +++ b/libs/Z2AudioLib/Z2SoundHandles.cpp @@ -4,47 +4,12 @@ // #include "Z2AudioLib/Z2SoundHandles.h" +#include "JSystem/JAudio2/JASGadget.h" +#include "JSystem/JAudio2/JAISoundInfo.h" #include "dolphin/types.h" +#include "dol2asm.h" -// -// Types: -// - -template -struct JASMemPool {}; -/* JASMemPool */ -struct JASMemPool__template4 { - /* 802AB200 */ void func_802AB200(void* _this); -}; - -struct JASGenericMemPool { - /* 80290848 */ JASGenericMemPool(); - /* 80290860 */ ~JASGenericMemPool(); - /* 80290948 */ void alloc(u32); - /* 80290994 */ void free(void*, u32); -}; - -// -// Forward References: -// - -extern "C" void __ct__14Z2SoundHandlesFv(); -extern "C" void __dt__14Z2SoundHandlesFv(); -extern "C" void initHandlesPool__14Z2SoundHandlesFUc(); -extern "C" void deleteHandlesPool__14Z2SoundHandlesFv(); extern "C" void func_802AB200(void* _this); -extern "C" void getHandleSoundID__14Z2SoundHandlesF10JAISoundID(); -extern "C" void getHandleUserData__14Z2SoundHandlesFUl(); -extern "C" void getFreeHandle__14Z2SoundHandlesFv(); -extern "C" void getLowPrioSound__14Z2SoundHandlesF10JAISoundID(); -extern "C" void stopAllSounds__14Z2SoundHandlesFUl(); -extern "C" void isActive__14Z2SoundHandlesCFv(); -extern "C" void func_802AB538(); - -// -// External References: -// - extern "C" void __ct__17JASGenericMemPoolFv(); extern "C" void __dt__17JASGenericMemPoolFv(); extern "C" void alloc__17JASGenericMemPoolFUl(); @@ -63,13 +28,15 @@ extern "C" void _savegpr_26(); extern "C" void _savegpr_28(); extern "C" void _restgpr_26(); extern "C" void _restgpr_28(); -extern "C" extern u8 data_80450B5C[4]; extern "C" extern u8 data_80451348[8]; -extern "C" extern u8 __OSReport_disable; -// -// Declarations: -// +/* 804341B8-804341C4 060ED8 000C+00 3/3 0/0 0/0 .bss @632 */ +static u8 lit_632[12]; + +/* 804341C4-804341D8 060EE4 0010+04 3/3 1/1 0/0 .bss + * memPool_$localstatic3$getMemPool___39JASPoolAllocObject<17Z2SoundHandlePool>Fv */ +extern u8 data_804341C4[16 + 4 /* padding */]; +u8 data_804341C4[16 + 4 /* padding */]; // inline JAISoundID::JAISoundID(u32 pId) : mId(pId) {} @@ -89,16 +56,18 @@ void Z2SoundHandles::initHandlesPool(u8 pNumHandles) { mNumHandles = pNumHandles; } -/* ############################################################################################## */ -/* 804341B8-804341C4 060ED8 000C+00 3/3 0/0 0/0 .bss @632 */ -static u8 lit_632[12]; - -/* 804341C4-804341D8 060EE4 0010+04 3/3 1/1 0/0 .bss - * memPool_$localstatic3$getMemPool___39JASPoolAllocObject<17Z2SoundHandlePool>Fv */ -extern u8 data_804341C4[16 + 4 /* padding */]; -u8 data_804341C4[16 + 4 /* padding */]; - /* 802AB120-802AB200 2A5A60 00E0+00 1/1 1/1 0/0 .text deleteHandlesPool__14Z2SoundHandlesFv */ +#ifdef NONMATCHING +void Z2SoundHandles::deleteHandlesPool() { + JSULink* link; + while (link = getFirst(), link != NULL) { + Z2SoundHandlePool* handle = link->getObject(); + remove(handle); + delete handle; + } + mNumHandles = 0; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -107,6 +76,7 @@ asm void Z2SoundHandles::deleteHandlesPool() { #include "asm/Z2AudioLib/Z2SoundHandles/deleteHandlesPool__14Z2SoundHandlesFv.s" } #pragma pop +#endif /* 802AB200-802AB254 2A5B40 0054+00 3/3 1/1 0/0 .text __dt__31JASMemPool<17Z2SoundHandlePool>Fv */ #pragma push @@ -148,25 +118,62 @@ JAISoundHandle* Z2SoundHandles::getHandleUserData(u32 pUserData) { /* 802AB2D8-802AB3D0 2A5C18 00F8+00 0/0 3/3 0/0 .text getFreeHandle__14Z2SoundHandlesFv */ +#ifdef NONMATCHING +JAISoundHandle* Z2SoundHandles::getFreeHandle() { + JSULink* link; + for (link = getFirst(); link != NULL; link = link->getNext()) { + JAISoundHandle* handle = link->getObject(); + if (!handle->isSoundAttached()) { + return handle; + } + } + + if (getNumHandles() < mNumHandles) + { + Z2SoundHandlePool* handle = new Z2SoundHandlePool(); + if (handle != NULL) { + append(handle); + return handle; + } + } + + return NULL; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void Z2SoundHandles::getFreeHandle() { +asm JAISoundHandle* Z2SoundHandles::getFreeHandle() { nofralloc #include "asm/Z2AudioLib/Z2SoundHandles/getFreeHandle__14Z2SoundHandlesFv.s" } #pragma pop +#endif /* 802AB3D0-802AB4A0 2A5D10 00D0+00 0/0 2/2 0/0 .text * getLowPrioSound__14Z2SoundHandlesF10JAISoundID */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void Z2SoundHandles::getLowPrioSound(JAISoundID param_0) { - nofralloc -#include "asm/Z2AudioLib/Z2SoundHandles/getLowPrioSound__14Z2SoundHandlesF10JAISoundID.s" +JAISoundHandle* Z2SoundHandles::getLowPrioSound(JAISoundID pSoundId) { + JAISoundInfo* sound_info = JASGlobalInstance::getInstance(); + JAISoundHandle* handle; + u32 low_prio = 0xffff; + JAISoundHandle* low_prio_handle = NULL; + JSULink* link; + for (link = getFirst(); link != NULL; link = link->getNext()) { + handle = link->getObject(); + if (!handle->isSoundAttached()) { + return handle; + } + u32 prio = sound_info->getPriority(handle->getSound()->getID()); + if (prio < low_prio) { + low_prio = prio; + low_prio_handle = handle; + } + } + if (sound_info->getPriority(pSoundId) >= low_prio) { + return low_prio_handle; + } + return NULL; } -#pragma pop void Z2SoundHandles::stopAllSounds(u32 fadeout) { JSULink* link; @@ -194,6 +201,21 @@ bool Z2SoundHandles::isActive() const { /* 802AB538-802AB64C 2A5E78 0114+00 0/0 1/1 0/0 .text * setPos__14Z2SoundHandlesFRCQ29JGeometry8TVec3 */ +#ifdef NONMATCHING +void Z2SoundHandles::setPos(JGeometry::TVec3 const& param_0) { + JSULink* link; + for (link = getFirst(); link != NULL; link = link->getNext()) { + Z2SoundHandlePool* handle = link->getObject(); + if (handle->isSoundAttached()) { + handle->getSound()->setPos(param_0); + } + else { + remove(handle); + delete handle; + } + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -202,3 +224,4 @@ asm void Z2SoundHandles::setPos(JGeometry::TVec3 const& param_0) { #include "asm/Z2AudioLib/Z2SoundHandles/func_802AB538.s" } #pragma pop +#endif diff --git a/libs/Z2AudioLib/Z2SoundObject.cpp b/libs/Z2AudioLib/Z2SoundObject.cpp index a14b3a78240..967f7586f5d 100644 --- a/libs/Z2AudioLib/Z2SoundObject.cpp +++ b/libs/Z2AudioLib/Z2SoundObject.cpp @@ -4,172 +4,18 @@ // #include "Z2AudioLib/Z2SoundObject.h" +#include "Z2AudioLib/Z2Calc.h" +#include "Z2AudioLib/Z2SeMgr.h" +#include "Z2AudioLib/Z2SoundInfo.h" +#include "Z2AudioLib/Z2SoundMgr.h" +#include "Z2AudioLib/Z2SoundStarter.h" +#include "Z2AudioLib/Z2Audience.h" #include "JSystem/JAudio2/JASGadget.h" -#include "dol2asm.h" +#include "JSystem/JAudio2/JAUSoundAnimator.h" -// -// Types: -// - -struct Z2SoundInfo { - /* 802BBAC8 */ int getSwBit(JAISoundID) const; -}; - -struct Z2SeMgr { - /* 802AE5B0 */ void isSoundCulling(JAISoundID); -}; - -struct Z2Calc { - struct CurveSign {}; - - /* 802A96F4 */ void getParamByExp(f32, f32, f32, f32, f32, f32, Z2Calc::CurveSign); -}; - -struct JAUSoundAnimation { - /* 802A6F70 */ void getStartSoundIndex(f32) const; - /* 802A7044 */ void getEndSoundIndex(f32) const; -}; - -// -// Forward References: -// - -extern "C" void __ct__14Z2SoundObjBaseFv(); -extern "C" void __dt__14Z2SoundObjBaseFv(); -extern "C" void init__14Z2SoundObjBaseFP3VecUc(); -extern "C" void deleteObject__14Z2SoundObjBaseFv(); -extern "C" void framework__14Z2SoundObjBaseFUlSc(); -extern "C" void dispose__14Z2SoundObjBaseFv(); -extern "C" void stopOK__14Z2SoundObjBaseFR17Z2SoundHandlePool(); -extern "C" void startSound__14Z2SoundObjBaseF10JAISoundIDUlSc(); -extern "C" void startLevelSound__14Z2SoundObjBaseF10JAISoundIDUlSc(); -extern "C" void startCollisionSE__14Z2SoundObjBaseFUlUlP14Z2SoundObjBase(); -extern "C" void __ct__21Z2DopplerSoundObjBaseFv(); -extern "C" void __dt__21Z2DopplerSoundObjBaseFv(); -extern "C" void init__21Z2DopplerSoundObjBaseFP3VecUc(); -extern "C" void framework__21Z2DopplerSoundObjBaseFUlSc(); -extern "C" void startSound__21Z2DopplerSoundObjBaseF10JAISoundIDUlSc(); -extern "C" void startLevelSound__21Z2DopplerSoundObjBaseF10JAISoundIDUlSc(); -extern "C" void __ct__16Z2SoundObjSimpleFv(); -extern "C" void init__16Z2SoundObjSimpleFP3VecUc(); -extern "C" void startSound__16Z2SoundObjSimpleF10JAISoundIDUlSc(); -extern "C" void startLevelSound__16Z2SoundObjSimpleF10JAISoundIDUlSc(); -extern "C" void __ct__15Z2SoundObjArrowFv(); -extern "C" void init__15Z2SoundObjArrowFP3VecUc(); -extern "C" void __ct__15Z2SoundObjAnimeFv(); -extern "C" void init__15Z2SoundObjAnimeFP3VecUc(); -extern "C" void initAnime__15Z2SoundObjAnimeFPvbff(); -extern "C" void ageSounds___15Z2SoundObjAnimeFv(); -extern "C" void updateAnime__15Z2SoundObjAnimeFff(); -extern "C" void updateSoundLifeTime___15Z2SoundObjAnimeFff(); -extern "C" void func_802BF660(); -extern "C" void func_802BF890(); -extern "C" void func_802BF898(); - -// -// External References: -// - -extern "C" void releaseSound__14JAISoundHandleFv(); -extern "C" void acceptsNewAudible__8JAISoundCFv(); -extern "C" void func_802A2474(); -extern "C" void stop__8JAISoundFv(); -extern "C" void moveVolume__18JAISoundParamsMoveFfUl(); -extern "C" void movePitch__18JAISoundParamsMoveFfUl(); -extern "C" void moveFxMix__18JAISoundParamsMoveFfUl(); -extern "C" void getStartSoundIndex__17JAUSoundAnimationCFf(); -extern "C" void getEndSoundIndex__17JAUSoundAnimationCFf(); -extern "C" void getParamByExp__6Z2CalcFffffffQ26Z2Calc9CurveSign(); -extern "C" void setPortData__14Z2SoundStarterFP14JAISoundHandleUlUsSc(); -extern "C" void __ct__14Z2SoundHandlesFv(); -extern "C" void __dt__14Z2SoundHandlesFv(); -extern "C" void initHandlesPool__14Z2SoundHandlesFUc(); -extern "C" void deleteHandlesPool__14Z2SoundHandlesFv(); -extern "C" void getHandleSoundID__14Z2SoundHandlesF10JAISoundID(); -extern "C" void getHandleUserData__14Z2SoundHandlesFUl(); -extern "C" void getFreeHandle__14Z2SoundHandlesFv(); -extern "C" void getLowPrioSound__14Z2SoundHandlesF10JAISoundID(); -extern "C" void func_802AB538(); -extern "C" void isSoundCulling__7Z2SeMgrF10JAISoundID(); -extern "C" void getSwBit__11Z2SoundInfoCF10JAISoundID(); -extern "C" void __dl__FPv(); -extern "C" void getNthLink__10JSUPtrListCFUl(); -extern "C" void _savegpr_23(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_23(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); -extern "C" extern Z2SoundInfo* data_80450B4C; -extern "C" extern u8 data_80450B60[4]; -extern "C" extern Z2SoundStarter* data_80450B74; -extern "C" extern u8 data_80450B88[4]; -extern "C" extern u8 __OSReport_disable; - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 803CACD0-803CACF0 027DF0 0020+00 1/1 1/1 0/0 .data __vt__15Z2SoundObjAnime */ -SECTION_DATA extern void* __vt__15Z2SoundObjAnime[8] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)framework__14Z2SoundObjBaseFUlSc, - (void*)dispose__14Z2SoundObjBaseFv, - (void*)stopOK__14Z2SoundObjBaseFR17Z2SoundHandlePool, - (void*)init__15Z2SoundObjAnimeFP3VecUc, - (void*)startSound__14Z2SoundObjBaseF10JAISoundIDUlSc, - (void*)startLevelSound__14Z2SoundObjBaseF10JAISoundIDUlSc, -}; - -/* 803CACF0-803CAD10 027E10 0020+00 1/1 0/0 1/1 .data __vt__15Z2SoundObjArrow */ -SECTION_DATA extern void* __vt__15Z2SoundObjArrow[8] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)framework__21Z2DopplerSoundObjBaseFUlSc, - (void*)dispose__14Z2SoundObjBaseFv, - (void*)stopOK__14Z2SoundObjBaseFR17Z2SoundHandlePool, - (void*)init__15Z2SoundObjArrowFP3VecUc, - (void*)startSound__21Z2DopplerSoundObjBaseF10JAISoundIDUlSc, - (void*)startLevelSound__21Z2DopplerSoundObjBaseF10JAISoundIDUlSc, -}; - -/* 803CAD10-803CAD30 027E30 0020+00 1/1 3/3 14/14 .data __vt__16Z2SoundObjSimple */ -SECTION_DATA extern void* __vt__16Z2SoundObjSimple[8] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)framework__14Z2SoundObjBaseFUlSc, - (void*)dispose__14Z2SoundObjBaseFv, - (void*)stopOK__14Z2SoundObjBaseFR17Z2SoundHandlePool, - (void*)init__16Z2SoundObjSimpleFP3VecUc, - (void*)startSound__16Z2SoundObjSimpleF10JAISoundIDUlSc, - (void*)startLevelSound__16Z2SoundObjSimpleF10JAISoundIDUlSc, -}; - -/* 803CAD30-803CAD50 027E50 0020+00 2/2 0/0 0/0 .data __vt__21Z2DopplerSoundObjBase */ -SECTION_DATA extern void* __vt__21Z2DopplerSoundObjBase[8] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)framework__21Z2DopplerSoundObjBaseFUlSc, - (void*)dispose__14Z2SoundObjBaseFv, - (void*)stopOK__14Z2SoundObjBaseFR17Z2SoundHandlePool, - (void*)init__21Z2DopplerSoundObjBaseFP3VecUc, - (void*)startSound__21Z2DopplerSoundObjBaseF10JAISoundIDUlSc, - (void*)startLevelSound__21Z2DopplerSoundObjBaseF10JAISoundIDUlSc, -}; - -/* 803CAD50-803CAD70 027E70 0020+00 2/2 0/0 0/0 .data __vt__14Z2SoundObjBase */ -SECTION_DATA extern void* __vt__14Z2SoundObjBase[8] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)framework__14Z2SoundObjBaseFUlSc, - (void*)dispose__14Z2SoundObjBaseFv, - (void*)stopOK__14Z2SoundObjBaseFR17Z2SoundHandlePool, - (void*)init__14Z2SoundObjBaseFP3VecUc, - (void*)startSound__14Z2SoundObjBaseF10JAISoundIDUlSc, - (void*)startLevelSound__14Z2SoundObjBaseF10JAISoundIDUlSc, -}; +inline JAISoundID JAISound::getID() const { + return JAISoundID((u32)soundID); +} Z2SoundObjBase::Z2SoundObjBase() { //! @note initializer list doesn't work since fields were initialized out of @@ -187,47 +33,33 @@ Z2SoundObjBase::~Z2SoundObjBase() { void Z2SoundObjBase::init(Vec* pSoundPos, u8 pNumHandles) { initHandlesPool(pNumHandles); - mSoundPos = pSoundPos; + mSoundPos = (JGeometry::TVec3*)pSoundPos; mIsInitialized = true; } /* 802BDFF8-802BE038 2B8938 0040+00 1/1 8/8 61/61 .text deleteObject__14Z2SoundObjBaseFv */ -// issue from using temp virtuals i think -#ifdef NONMATCHING void Z2SoundObjBase::deleteObject() { dispose(); deleteHandlesPool(); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void Z2SoundObjBase::deleteObject() { - nofralloc -#include "asm/Z2AudioLib/Z2SoundObject/deleteObject__14Z2SoundObjBaseFv.s" -} -#pragma pop -#endif void Z2SoundObjBase::framework(u32 p1, s8 p2) { if (mIsInitialized) { field_0x1c = p1; field_0x1e = p2; - setPos(*(JGeometry::TVec3*)mSoundPos); + setPos(*mSoundPos); } } /* 802BE070-802BE104 2B89B0 0094+00 5/0 3/0 0/0 .text dispose__14Z2SoundObjBaseFv */ -// sInstance stuff -#ifdef NONMATCHING void Z2SoundObjBase::dispose() { JAISoundHandle* handle; JSULink* link; for (link = getFirst(); link != NULL; link = link->getNext()) { handle = link->getObject(); if (handle != NULL && (bool)*handle) { - u32 swBit = data_80450B4C->getSwBit((*handle)->getID()); + u32 swBit = JASGlobalInstance::sInstance->getSwBit((*handle)->getID()); if ((swBit & 0x8000) != 0) { handle->releaseSound(); } else { @@ -238,366 +70,470 @@ void Z2SoundObjBase::dispose() { mIsInitialized = false; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void Z2SoundObjBase::dispose() { - nofralloc -#include "asm/Z2AudioLib/Z2SoundObject/dispose__14Z2SoundObjBaseFv.s" -} -#pragma pop -#endif /* 802BE104-802BE144 2B8A44 0040+00 5/0 3/0 0/0 .text * stopOK__14Z2SoundObjBaseFR17Z2SoundHandlePool */ - -// sInstance stuff -#ifdef NONMATCHING bool Z2SoundObjBase::stopOK(Z2SoundHandlePool& pSoundHandlePool) { - return !(data_80450B4C->getSwBit(pSoundHandlePool->getID()) & 0x8000); + return !(JASGlobalInstance::sInstance-> + getSwBit(pSoundHandlePool->getID()) & 0x8000); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool Z2SoundObjBase::stopOK(Z2SoundHandlePool& param_0) { - nofralloc -#include "asm/Z2AudioLib/Z2SoundObject/stopOK__14Z2SoundObjBaseFR17Z2SoundHandlePool.s" -} -#pragma pop -#endif - -/* ############################################################################################## */ -/* 80455B38-80455B3C 004138 0004+00 5/5 0/0 0/0 .sdata2 @3559 */ -SECTION_SDATA2 static f32 lit_3559 = 127.0f; - -/* 80455B3C-80455B40 00413C 0004+00 4/4 0/0 0/0 .sdata2 @3560 */ -SECTION_SDATA2 static f32 lit_3560 = 1.0f; - -/* 80455B40-80455B48 004140 0004+04 3/3 0/0 0/0 .sdata2 @3561 */ -SECTION_SDATA2 static f32 lit_3561[1 + 1 /* padding */] = { - -1.0f, - /* padding */ - 0.0f, -}; - -/* 80455B48-80455B50 004148 0008+00 3/3 0/0 0/0 .sdata2 @3564 */ -SECTION_SDATA2 static f64 lit_3564 = 4503601774854144.0 /* cast s32 to float */; /* 802BE144-802BE2D4 2B8A84 0190+00 5/3 3/1 0/0 .text * startSound__14Z2SoundObjBaseF10JAISoundIDUlSc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void Z2SoundObjBase::startSound(JAISoundID param_0, u32 param_1, s8 param_2) { - nofralloc -#include "asm/Z2AudioLib/Z2SoundObject/startSound__14Z2SoundObjBaseF10JAISoundIDUlSc.s" +JAISoundHandle* Z2SoundObjBase::startSound(JAISoundID pSoundId, u32 param_1, s8 param_2) { + if (!mIsInitialized) { + return NULL; + } + if (JASGlobalInstance::getInstance()->isSoundCulling(pSoundId)) { + return NULL; + } + if (param_1 == 0) { + param_1 = (u32)field_0x1c; + } + if (param_2 < 0) { + param_2 = field_0x1e; + } + f32 local_0 = (f32)param_2 / 127.0f; + JAISoundHandle* handle = getHandleSoundID(pSoundId); + if (handle != NULL) { + if ((JASGlobalInstance::getInstance()->getSwBit(pSoundId) & 0x4000) != 0) { + handle = NULL; + } else { + return NULL; + } + } + if (handle == NULL) { + handle = getFreeHandle(); + } + if (handle == NULL) { + handle = getLowPrioSound(pSoundId); + } + if (handle != NULL) { + mSoundStarter->startSound(pSoundId, handle, mSoundPos, param_1, local_0, + 1.0f, 1.0f, -1.0f, -1.0f, 0); + } + return handle; } -#pragma pop /* 802BE2D4-802BE4A4 2B8C14 01D0+00 4/2 3/0 0/0 .text * startLevelSound__14Z2SoundObjBaseF10JAISoundIDUlSc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void Z2SoundObjBase::startLevelSound(JAISoundID param_0, u32 param_1, s8 param_2) { - nofralloc -#include "asm/Z2AudioLib/Z2SoundObject/startLevelSound__14Z2SoundObjBaseF10JAISoundIDUlSc.s" +JAISoundHandle* Z2SoundObjBase::startLevelSound(JAISoundID pSoundId, u32 param_1, s8 param_2) { + if (!mIsInitialized) { + return NULL; + } + if (param_1 == 0) { + param_1 = (u32)field_0x1c; + } + if (param_2 < 0) { + param_2 = field_0x1e; + } + f32 local_0 = (f32)param_2 / 127.0f; + JAISoundHandle* handle = getHandleSoundID(pSoundId); + if (handle != NULL) { + handle->getSound()->updateLifeTime(1); + mSoundStarter->setPortData(handle, 6, (u16)param_1, -1); + handle->getSound()->getAuxiliary().moveFxMix(local_0, 0); + } else { + if (JASGlobalInstance::getInstance()->isSoundCulling(pSoundId)) { + return NULL; + } + handle = getFreeHandle(); + if (handle == NULL) { + handle = getLowPrioSound(pSoundId); + } + if (handle != NULL) { + mSoundStarter->startSound(pSoundId, handle, mSoundPos, param_1, local_0, + 1.0f, 1.0f, -1.0f, -1.0f, 0); + if (handle != NULL && handle->getSound() != NULL) { + handle->getSound()->setLifeTime(1, false); + } + } + } + return handle; } -#pragma pop /* 802BE4A4-802BE5A0 2B8DE4 00FC+00 0/0 5/5 21/21 .text * startCollisionSE__14Z2SoundObjBaseFUlUlP14Z2SoundObjBase */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void Z2SoundObjBase::startCollisionSE(u32 param_0, u32 param_1, Z2SoundObjBase* param_2) { - nofralloc -#include "asm/Z2AudioLib/Z2SoundObject/startCollisionSE__14Z2SoundObjBaseFUlUlP14Z2SoundObjBase.s" +JAISoundHandle* Z2SoundObjBase::startCollisionSE(u32 pId, u32 pUserData, Z2SoundObjBase* pOther) { + if (pOther != NULL) { + return pOther->startCollisionSE(pId, pUserData, NULL); + } + if (53 < pUserData) { + pUserData = 0; + } + for (JSULink* link = + Z2GetSoundMgr()->getSeMgr()->getCategory(4)->getSeList()->getFirst(); + link != NULL; link = link->getNext()) { + if (pId == link->getObject()->getID() && pUserData == link->getObject()->getUserData()) { + link->getObject()->stop(); + } + } + JAISoundHandle* handle = Z2SoundObjBase::startSound(JAISoundID(pId), pUserData, -1); + if (handle != NULL && handle->getSound() != NULL) { + handle->getSound()->setUserData(pUserData); + if (30 <= pUserData && pUserData <= 52) { + Z2Audible* audible = (Z2Audible*)handle->getSound()->getAudible(); + if (audible != NULL) { + JAUAudibleParam* param = audible->getAudibleParam(); + param->field_0x0.bytes.b1_2_7 = 8; + } + } + } + return handle; } -#pragma pop /* ############################################################################################## */ /* 8039C230-8039C240 028890 000C+04 1/1 0/0 0/0 .rodata cNullVec__6Z2Calc */ -SECTION_RODATA static u8 const cNullVec__6Z2Calc[12 + 4 /* padding */] = { - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x8039C230, &cNullVec__6Z2Calc); +static Vec const cNullVec__6Z2Calc = {0.0f, 0.0f, 0.0f}; /* 802BE5A0-802BE5FC 2B8EE0 005C+00 1/1 0/0 0/0 .text __ct__21Z2DopplerSoundObjBaseFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm Z2DopplerSoundObjBase::Z2DopplerSoundObjBase() { - nofralloc -#include "asm/Z2AudioLib/Z2SoundObject/__ct__21Z2DopplerSoundObjBaseFv.s" +Z2DopplerSoundObjBase::Z2DopplerSoundObjBase() : Z2SoundObjBase() { + field_0x20 = cNullVec__6Z2Calc; + field_0x2c = cNullVec__6Z2Calc; } -#pragma pop /* 802BE5FC-802BE65C 2B8F3C 0060+00 0/0 0/0 1/1 .text __dt__21Z2DopplerSoundObjBaseFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm Z2DopplerSoundObjBase::~Z2DopplerSoundObjBase() { - nofralloc -#include "asm/Z2AudioLib/Z2SoundObject/__dt__21Z2DopplerSoundObjBaseFv.s" -} -#pragma pop +Z2DopplerSoundObjBase::~Z2DopplerSoundObjBase() {} /* 802BE65C-802BE6B8 2B8F9C 005C+00 1/0 0/0 0/0 .text init__21Z2DopplerSoundObjBaseFP3VecUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void Z2DopplerSoundObjBase::init(Vec* param_0, u8 param_1) { - nofralloc -#include "asm/Z2AudioLib/Z2SoundObject/init__21Z2DopplerSoundObjBaseFP3VecUc.s" +void Z2DopplerSoundObjBase::init(Vec* param_0, u8 param_1) { + Z2SoundObjBase::init(param_0, param_1); + if (mSoundPos != NULL) { + // field_0x20 = *mSoundPos; + JGeometry::setTVec3f(&mSoundPos->x, &field_0x20.x); + // field_0x2c = *mSoundPos; + JGeometry::setTVec3f(&mSoundPos->x, &field_0x2c.x); + } } -#pragma pop /* 802BE6B8-802BE714 2B8FF8 005C+00 2/0 0/0 0/0 .text framework__21Z2DopplerSoundObjBaseFUlSc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -// asm void Z2DopplerSoundObjBase::framework(u32 param_0, s8 param_1) { -extern "C" asm void framework__21Z2DopplerSoundObjBaseFUlSc() { - nofralloc -#include "asm/Z2AudioLib/Z2SoundObject/framework__21Z2DopplerSoundObjBaseFUlSc.s" +void Z2DopplerSoundObjBase::framework(u32 param_0, s8 param_1) { + Z2SoundObjBase::framework(param_0, param_1); + if (mSoundPos != NULL) { + // field_0x20 = field_0x2c; + JGeometry::setTVec3f(&field_0x2c.x, &field_0x20.x); + // field_0x2c = *mSoundPos; + JGeometry::setTVec3f(&mSoundPos->x, &field_0x2c.x); + } } -#pragma pop /* 802BE714-802BE7AC 2B9054 0098+00 2/0 0/0 0/0 .text * startSound__21Z2DopplerSoundObjBaseF10JAISoundIDUlSc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void Z2DopplerSoundObjBase::startSound(JAISoundID param_0, u32 param_1, s8 param_2) { - nofralloc -#include "asm/Z2AudioLib/Z2SoundObject/startSound__21Z2DopplerSoundObjBaseF10JAISoundIDUlSc.s" +JAISoundHandle* Z2DopplerSoundObjBase::startSound(JAISoundID pSoundId, u32 param_1, s8 param_2) { + JGeometry::TVec3* pos = mSoundPos; + mSoundPos = NULL; + JAISoundHandle* handle = Z2SoundObjBase::startSound(pSoundId, param_1, param_2); + if (pos != NULL && handle != NULL && handle->getSound() != NULL) { + if (handle->getSound()->acceptsNewAudible()) { + handle->getSound()->newAudible(*pos, &field_0x20, 0, NULL); + } + } + mSoundPos = pos; + return handle; } -#pragma pop /* 802BE7AC-802BE844 2B90EC 0098+00 2/0 0/0 0/0 .text * startLevelSound__21Z2DopplerSoundObjBaseF10JAISoundIDUlSc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void Z2DopplerSoundObjBase::startLevelSound(JAISoundID param_0, u32 param_1, s8 param_2) { - nofralloc -#include "asm/Z2AudioLib/Z2SoundObject/startLevelSound__21Z2DopplerSoundObjBaseF10JAISoundIDUlSc.s" +JAISoundHandle* Z2DopplerSoundObjBase::startLevelSound(JAISoundID pSoundId, + u32 param_1, s8 param_2) { + JGeometry::TVec3* pos = mSoundPos; + mSoundPos = NULL; + JAISoundHandle* handle = Z2SoundObjBase::startLevelSound(pSoundId, param_1, param_2); + if (pos != NULL && handle != NULL && handle->getSound() != NULL) { + if (handle->getSound()->acceptsNewAudible()) { + handle->getSound()->newAudible(*pos, &field_0x20, 0, NULL); + } + } + mSoundPos = pos; + return handle; } -#pragma pop /* 802BE844-802BE880 2B9184 003C+00 0/0 8/8 65/65 .text __ct__16Z2SoundObjSimpleFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm Z2SoundObjSimple::Z2SoundObjSimple() { - nofralloc -#include "asm/Z2AudioLib/Z2SoundObject/__ct__16Z2SoundObjSimpleFv.s" -} -#pragma pop +Z2SoundObjSimple::Z2SoundObjSimple() : Z2SoundObjBase() {} void Z2SoundObjSimple::init(Vec* pSoundPos, u8 pNumHandles) { Z2SoundObjBase::init(pSoundPos, pNumHandles); } -/* ############################################################################################## */ -/* 80455B50-80455B54 004150 0004+00 4/4 0/0 0/0 .sdata2 @3821 */ -SECTION_SDATA2 static u8 lit_3821[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; - -/* 80455B54-80455B58 004154 0004+00 2/2 0/0 0/0 .sdata2 @3822 */ -SECTION_SDATA2 static f32 lit_3822 = 1.0f / 5.0f; - -/* 80455B58-80455B5C 004158 0004+00 2/2 0/0 0/0 .sdata2 @3823 */ -SECTION_SDATA2 static f32 lit_3823 = 2.0f / 5.0f; - -/* 80455B5C-80455B60 00415C 0004+00 2/2 0/0 0/0 .sdata2 @3824 */ -SECTION_SDATA2 static f32 lit_3824 = 3.0f / 5.0f; - -/* 80455B60-80455B68 004160 0004+04 2/2 0/0 0/0 .sdata2 @3825 */ -SECTION_SDATA2 static f32 lit_3825[1 + 1 /* padding */] = { - 6.0f / 5.0f, - /* padding */ - 0.0f, -}; - -/* 80455B68-80455B70 004168 0008+00 3/3 0/0 0/0 .sdata2 @3828 */ -SECTION_SDATA2 static f64 lit_3828 = 4503599627370496.0 /* cast u32 to float */; - /* 802BE8A0-802BE9B0 2B91E0 0110+00 1/0 0/0 0/0 .text * startSound__16Z2SoundObjSimpleF10JAISoundIDUlSc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void Z2SoundObjSimple::startSound(JAISoundID param_0, u32 param_1, s8 param_2) { - nofralloc -#include "asm/Z2AudioLib/Z2SoundObject/startSound__16Z2SoundObjSimpleF10JAISoundIDUlSc.s" +JAISoundHandle* Z2SoundObjSimple::startSound(JAISoundID pSoundId, u32 param_1, s8 param_2) { + JAISoundHandle* handle = Z2SoundObjBase::startSound(pSoundId, param_1, param_2); + if (pSoundId == 0x200c7 && handle != NULL && handle->getSound() != NULL) { + f32 local_0 = Z2Calc::getParamByExp((f32)param_1, 0.0f, 127.0f, 0.2f, 0.4f, 1.0f, + Z2Calc::CURVE_SIGN_1); + f32 local_1 = Z2Calc::getParamByExp((f32)param_1, 0.0f, 127.0f, 0.2f, 0.6f, 1.2f, + Z2Calc::CURVE_SIGN_1); + handle->getSound()->getAuxiliary().movePitch(local_1, 0); + handle->getSound()->getAuxiliary().moveVolume(local_0, 0); + } + return handle; } -#pragma pop - -/* ############################################################################################## */ -/* 80455B70-80455B74 004170 0004+00 1/1 0/0 0/0 .sdata2 @3859 */ -SECTION_SDATA2 static f32 lit_3859 = 2.0f; - -/* 80455B74-80455B78 004174 0004+00 1/1 0/0 0/0 .sdata2 @3860 */ -SECTION_SDATA2 static f32 lit_3860 = 22.0f; - -/* 80455B78-80455B7C 004178 0004+00 1/1 0/0 0/0 .sdata2 @3861 */ -SECTION_SDATA2 static f32 lit_3861 = 50.0f; - -/* 80455B7C-80455B80 00417C 0004+00 1/1 0/0 0/0 .sdata2 @3862 */ -SECTION_SDATA2 static f32 lit_3862 = 1.5f; /* 802BE9B0-802BEB38 2B92F0 0188+00 1/0 0/0 0/0 .text * startLevelSound__16Z2SoundObjSimpleF10JAISoundIDUlSc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void Z2SoundObjSimple::startLevelSound(JAISoundID param_0, u32 param_1, s8 param_2) { - nofralloc -#include "asm/Z2AudioLib/Z2SoundObject/startLevelSound__16Z2SoundObjSimpleF10JAISoundIDUlSc.s" +JAISoundHandle* Z2SoundObjSimple::startLevelSound(JAISoundID pSoundId, u32 param_1, s8 param_2) { + JAISoundHandle* handle = Z2SoundObjBase::startLevelSound(pSoundId, param_1, param_2); + if (handle != NULL && handle->getSound() != NULL) { + f32 local_0 = 1.0f; + f32 local_1 = 1.0f; + switch (pSoundId) { + case 0x200c6: + local_1 = Z2Calc::getParamByExp((f32)param_1, 0.0f, 127.0f, 0.2f, 0.4f, 1.0f, + Z2Calc::CURVE_SIGN_1); + local_0 = Z2Calc::getParamByExp((f32)param_1, 0.0f, 127.0f, 0.2f, 0.6f, 1.2f, + Z2Calc::CURVE_SIGN_1); + break; + case 0x8025c: + if (param_1 > 100) { + local_0 = 2.0f; + } else if (param_1 > 21) { + local_0 = Z2Calc::getParamByExp((f32)param_1, 22.0f, 50.0f, 0.4f, 1.0f, 1.5f, + Z2Calc::CURVE_SIGN_0); + } + break; + } + handle->getSound()->getAuxiliary().movePitch(local_0, 0); + handle->getSound()->getAuxiliary().moveVolume(local_1, 0); + } + return handle; } -#pragma pop /* 802BEB38-802BEB74 2B9478 003C+00 0/0 0/0 2/2 .text __ct__15Z2SoundObjArrowFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm Z2SoundObjArrow::Z2SoundObjArrow() { - nofralloc -#include "asm/Z2AudioLib/Z2SoundObject/__ct__15Z2SoundObjArrowFv.s" -} -#pragma pop +Z2SoundObjArrow::Z2SoundObjArrow() : Z2DopplerSoundObjBase() {} /* 802BEB74-802BEB94 2B94B4 0020+00 1/0 0/0 0/0 .text init__15Z2SoundObjArrowFP3VecUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -// asm void Z2SoundObjArrow::init(Vec* param_0, u8 param_1) { -extern "C" asm void init__15Z2SoundObjArrowFP3VecUc() { - nofralloc -#include "asm/Z2AudioLib/Z2SoundObject/init__15Z2SoundObjArrowFP3VecUc.s" +void Z2SoundObjArrow::init(Vec* param_0, u8 param_1) { + Z2SoundObjBase::init(param_0, param_1); } -#pragma pop /* 802BEB94-802BEBDC 2B94D4 0048+00 0/0 2/2 0/0 .text __ct__15Z2SoundObjAnimeFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm Z2SoundObjAnime::Z2SoundObjAnime() { - nofralloc -#include "asm/Z2AudioLib/Z2SoundObject/__ct__15Z2SoundObjAnimeFv.s" +Z2SoundObjAnime::Z2SoundObjAnime() : Z2SoundObjBase() { + mpAnimation = NULL; + mReverse = false; } -#pragma pop /* 802BEBDC-802BEBFC 2B951C 0020+00 1/0 1/0 0/0 .text init__15Z2SoundObjAnimeFP3VecUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -extern "C" asm void init__15Z2SoundObjAnimeFP3VecUc() { - // asm void Z2SoundObjAnime::init(Vec* param_0, u8 param_1) { - nofralloc -#include "asm/Z2AudioLib/Z2SoundObject/init__15Z2SoundObjAnimeFP3VecUc.s" +void Z2SoundObjAnime::init(Vec* param_0, u8 param_1) { + Z2SoundObjBase::init(param_0, param_1); } -#pragma pop /* 802BEBFC-802BED68 2B953C 016C+00 0/0 2/2 0/0 .text initAnime__15Z2SoundObjAnimeFPvbff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void Z2SoundObjAnime::initAnime(void* param_0, bool param_1, f32 param_2, f32 param_3) { - nofralloc -#include "asm/Z2AudioLib/Z2SoundObject/initAnime__15Z2SoundObjAnimeFPvbff.s" +void Z2SoundObjAnime::initAnime(void* param_0, bool param_1, f32 param_2, f32 param_3) { + ageSounds_(); + mpAnimation = (JAUSoundAnimation*)param_0; + if (mpAnimation != NULL) { + mReverse = !param_1; + field_0x3c = 0; + if (mReverse) { + mCurSoundIndex = mpAnimation->getNumSounds() - 1; + mCurSoundFrame = FLT_MAX; + setLoopFrame(0.0f, param_2); + } else { + mCurSoundIndex = 0; + mCurSoundFrame = 0.0f; + setLoopFrame(param_2, 0.0f); + } + mCurSoundFrame = param_3; + mCurSoundIndex = mpAnimation->getStartSoundIndex(param_3); + if (mReverse && mCurSoundIndex > 0) { + mCurSoundIndex--; + } + } } -#pragma pop /* 802BED68-802BEED4 2B96A8 016C+00 1/1 0/0 0/0 .text ageSounds___15Z2SoundObjAnimeFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void Z2SoundObjAnime::ageSounds_() { - nofralloc -#include "asm/Z2AudioLib/Z2SoundObject/ageSounds___15Z2SoundObjAnimeFv.s" +void Z2SoundObjAnime::ageSounds_() { + for (int i = 0; i < getNumHandles(); i++) { + if (getHandle(i)->getSound() != NULL) { + switch (getHandle(i)->getSound()->getAnimationState()) { + case 0: + break; + case 1: + if (getHandle(i)->getSound()->hasLifeTime()) { + getHandle(i)->getSound()->stop(); + } else { + JAUSoundAnimationSound* sound = + (JAUSoundAnimationSound*)getHandle(i)->getSound()->getUserData(); + if (sound->stopsWhenAnimationChanges()) { + getHandle(i)->getSound()->stop(); + } else { + getHandle(i)->getSound()->setAnimationState(2); + } + } + break; + case 2: + break; + } + } + } } -#pragma pop /* 802BEED4-802BF304 2B9814 0430+00 0/0 2/2 0/0 .text updateAnime__15Z2SoundObjAnimeFff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void Z2SoundObjAnime::updateAnime(f32 param_0, f32 param_1) { - nofralloc -#include "asm/Z2AudioLib/Z2SoundObject/updateAnime__15Z2SoundObjAnimeFff.s" +void Z2SoundObjAnime::updateAnime(f32 param_0, f32 param_1) { + for (int i = 0; i < getNumHandles(); i++) { + if (getHandle(i)->getSound() != NULL && getHandle(i)->getSound()->isAnimated()) { + getHandle(i)->getSound()->setPos(*mSoundPos); + } + } + + if (mpAnimation == NULL || mpAnimation->getNumSounds() == 0) { + return; + } + + if (!mReverse) { + if (param_0 < mCurSoundFrame) { + while (mCurSoundIndex < mEndSoundIndex) { + startSoundInner(*mSoundPos, param_1, mSoundStarter, field_0x1c, field_0x1e); + } + mCurSoundIndex = mStartSoundIndex; + mCurSoundFrame = param_0; + if (field_0x3c < 0xffff) { + field_0x3c++; + } + } + updateSoundLifeTime_(param_0, param_1); + while (mCurSoundIndex < mpAnimation->getNumSounds() && + mpAnimation->getSound(mCurSoundIndex)->isNotingOn(param_0, false)) { + startSoundInner(*mSoundPos, param_1, mSoundStarter, field_0x1c, field_0x1e); + } + } else { + if (param_0 > mCurSoundFrame) { + while (mCurSoundIndex >= mStartSoundIndex) { + startSoundInner(*mSoundPos, param_1, mSoundStarter, field_0x1c, field_0x1e); + } + mCurSoundIndex = mEndSoundIndex - 1; + mCurSoundFrame = param_0; + if (field_0x3c < 0xffff) { + field_0x3c++; + } + } + updateSoundLifeTime_(param_0, param_1); + while (mCurSoundIndex >= 0 && + mpAnimation->getSound(mCurSoundIndex)->isNotingOn(param_0, true)) { + startSoundInner(*mSoundPos, param_1, mSoundStarter, field_0x1c, field_0x1e); + } + } + + mCurSoundFrame = param_0; } -#pragma pop /* 802BF304-802BF660 2B9C44 035C+00 1/1 0/0 0/0 .text updateSoundLifeTime___15Z2SoundObjAnimeFff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void Z2SoundObjAnime::updateSoundLifeTime_(f32 param_0, f32 param_1) { - nofralloc -#include "asm/Z2AudioLib/Z2SoundObject/updateSoundLifeTime___15Z2SoundObjAnimeFff.s" +void Z2SoundObjAnime::updateSoundLifeTime_(f32 param_0, f32 param_1) { + if (mpAnimation == NULL) { + return; + } + for (int i = 0; i < getNumHandles(); i++) { + if (getHandle(i)->getSound() != NULL) { + switch (getHandle(i)->getSound()->getAnimationState()) { + case 0: + break; + case 1: + JAUSoundAnimationSound* sound = + (JAUSoundAnimationSound*)getHandle(i)->getSound()->getUserData(); + bool bvar1 = param_1 == 0.0f && sound->stopsWhenSpeedIsZero(); + if (sound->setsLifeTime()) { + if (bvar1) { + getHandle(i)->getSound()->pause(true); + } else { + if (sound->isNoting(param_0)) { + getHandle(i)->getSound()->updateLifeTime(1); + getHandle(i)->getSound()->pause(false); + } else { + getHandle(i)->getSound()->stop(); + } + } + } else { + if (bvar1) { + getHandle(i)->getSound()->stop(); + } else if (sound->stopsWhenNoteOff() && + sound->isNotingOff(param_0, mReverse)) { + getHandle(i)->getSound()->stop(); + } + } + break; + case 2: + break; + } + } + } } -#pragma pop /* 802BF660-802BF890 2B9FA0 0230+00 1/1 0/0 0/0 .text * startSoundInner__15Z2SoundObjAnimeFRCQ29JGeometry8TVec3fP14Z2SoundStarterUlSc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void Z2SoundObjAnime::startSoundInner(JGeometry::TVec3 const& param_0, f32 param_1, - Z2SoundStarter* param_2, u32 param_3, s8 param_4) { - nofralloc -#include "asm/Z2AudioLib/Z2SoundObject/func_802BF660.s" +void Z2SoundObjAnime::startSoundInner(JGeometry::TVec3 const& param_0, f32 param_1, + Z2SoundStarter* param_2, u32 param_3, s8 param_4) { + const JAUSoundAnimationSound* sound = mpAnimation->getSound(mCurSoundIndex); + u32 user_data = (u32)sound; + if (mReverse) { + mCurSoundIndex--; + } else { + mCurSoundIndex++; + } + if (sound->field_0x1a > 0) { + param_3 = sound->field_0x1a; + } + if (playsSound(sound, param_0, param_1)) { + u32 id = getSoundID(sound, param_0, param_1); + if (!Z2GetSeMgr()->isSoundCulling(id)) { + JAISoundHandle* handle = getHandleUserData(user_data); + if (handle != NULL && handle->getSound() != NULL && + handle->getSound()->getAnimationState() != 1) { + handle = NULL; + } + if (handle == NULL) { + handle = getFreeHandle(); + } + if (handle != NULL) { + param_2->startSound(id, handle, ¶m_0, param_3, (f32)param_4 / 127.0f, + sound->field_0x0c, (f32)sound->field_0x14 / 127.0f, + -1.0f, -1.0f, 0); + if (handle->getSound() != NULL) { + handle->getSound()->setAnimationState(1); + handle->getSound()->setUserData(user_data); + if (sound->setsLifeTime()) { + handle->getSound()->setLifeTime(1, false); + } + } + } + } + } } -#pragma pop /* 802BF890-802BF898 2BA1D0 0008+00 1/1 0/0 0/0 .text * getSoundID__15Z2SoundObjAnimeFPC22JAUSoundAnimationSoundRCQ29JGeometry8TVec3f */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void Z2SoundObjAnime::getSoundID(JAUSoundAnimationSound const* param_0, +u32 Z2SoundObjAnime::getSoundID(JAUSoundAnimationSound const* i_sound, JGeometry::TVec3 const& param_1, f32 param_2) { - nofralloc -#include "asm/Z2AudioLib/Z2SoundObject/func_802BF890.s" + return i_sound->mSoundId; } -#pragma pop /* 802BF898-802BF920 2BA1D8 0088+00 1/1 0/0 0/0 .text * playsSound__15Z2SoundObjAnimeFPC22JAUSoundAnimationSoundRCQ29JGeometry8TVec3f */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void Z2SoundObjAnime::playsSound(JAUSoundAnimationSound const* param_0, - JGeometry::TVec3 const& param_1, f32 param_2) { - nofralloc -#include "asm/Z2AudioLib/Z2SoundObject/func_802BF898.s" +bool Z2SoundObjAnime::playsSound(JAUSoundAnimationSound const* i_sound, + JGeometry::TVec3 const& param_1, f32 param_2) { + if (i_sound->playsOnlyOnce()) { + if (field_0x3c != i_sound->field_0x16) { + return false; + } + } else { + if (i_sound->playsAtIntervals() && + i_sound->field_0x16 != field_0x3c % i_sound->field_0x19) { + return false; + } + } + + if (mReverse) { + if (i_sound->playsOnlyForward()) { + return false; + } + } else { + if (i_sound->playsOnlyReverse()) { + return false; + } + } + + return true; } -#pragma pop diff --git a/src/d/a/d_a_npc.cpp b/src/d/a/d_a_npc.cpp index db10509537a..e6ec316e30f 100644 --- a/src/d/a/d_a_npc.cpp +++ b/src/d/a/d_a_npc.cpp @@ -5328,7 +5328,6 @@ BOOL daNpcF_c::chkActorInArea(fopAc_ac_c* actor, cXyz center, cXyz box, s16 angY mDoMtx_stack_c::YrotS(-angY); mDoMtx_stack_c::transM(-center.x, -center.y, -center.z); mDoMtx_stack_c::multVec(&actor->current.pos, &relPos); - f32 boxX = fabsf(box.x); f32 boxZ = fabsf(box.z); f32 posX = fabsf(relPos.x);