mirror of https://github.com/zeldaret/tp.git
work on Z2SoundMgr and Z2SeMgr (#2055)
This commit is contained in:
parent
1c891adeb8
commit
255cc868e4
|
|
@ -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 | 45.154571% | 1624004 | 3596544
|
||||
.text | 45.220412% | 1626372 | 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 | 50.935267% | 2047940 | 4020672
|
||||
Total | 50.994162% | 2050308 | 4020672
|
||||
|
||||
## Total
|
||||
|
||||
Section | Percentage | Decompiled (bytes) | Total (bytes)
|
||||
---|---|---|---
|
||||
main.dol | 50.935267% | 2047940 | 4020672
|
||||
main.dol | 50.994162% | 2050308 | 4020672
|
||||
RELs | 35.541016% | 4087332 | 11500324
|
||||
Total | 39.528855% | 6135272 | 15520996
|
||||
Total | 39.544112% | 6137640 | 15520996
|
||||
|
||||
## RELs
|
||||
|
||||
|
|
|
|||
|
|
@ -1,52 +0,0 @@
|
|||
lbl_802AB750:
|
||||
/* 802AB750 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 802AB754 7C 08 02 A6 */ mflr r0
|
||||
/* 802AB758 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 802AB75C 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 802AB760 48 0B 6A 75 */ bl _savegpr_27
|
||||
/* 802AB764 7C 7B 1B 78 */ mr r27, r3
|
||||
/* 802AB768 3B 80 00 00 */ li r28, 0
|
||||
/* 802AB76C 3B E0 FF FF */ li r31, -1
|
||||
/* 802AB770 3B C0 00 00 */ li r30, 0
|
||||
/* 802AB774 48 00 00 24 */ b lbl_802AB798
|
||||
lbl_802AB778:
|
||||
/* 802AB778 57 80 06 3E */ clrlwi r0, r28, 0x18
|
||||
/* 802AB77C 1C 00 00 24 */ mulli r0, r0, 0x24
|
||||
/* 802AB780 7F BB 02 14 */ add r29, r27, r0
|
||||
/* 802AB784 38 7D 00 68 */ addi r3, r29, 0x68
|
||||
/* 802AB788 48 00 35 35 */ bl resetMultiSePos__12Z2MultiSeMgrFv
|
||||
/* 802AB78C 93 FD 00 84 */ stw r31, 0x84(r29)
|
||||
/* 802AB790 9B DD 00 88 */ stb r30, 0x88(r29)
|
||||
/* 802AB794 3B 9C 00 01 */ addi r28, r28, 1
|
||||
lbl_802AB798:
|
||||
/* 802AB798 57 80 06 3E */ clrlwi r0, r28, 0x18
|
||||
/* 802AB79C 28 00 00 0A */ cmplwi r0, 0xa
|
||||
/* 802AB7A0 41 80 FF D8 */ blt lbl_802AB778
|
||||
/* 802AB7A4 3B C0 00 00 */ li r30, 0
|
||||
/* 802AB7A8 9B DB 01 D0 */ stb r30, 0x1d0(r27)
|
||||
/* 802AB7AC 3B 80 00 00 */ li r28, 0
|
||||
/* 802AB7B0 3B E0 FF FF */ li r31, -1
|
||||
/* 802AB7B4 48 00 00 24 */ b lbl_802AB7D8
|
||||
lbl_802AB7B8:
|
||||
/* 802AB7B8 57 80 06 3E */ clrlwi r0, r28, 0x18
|
||||
/* 802AB7BC 1C 00 00 24 */ mulli r0, r0, 0x24
|
||||
/* 802AB7C0 7F BB 02 14 */ add r29, r27, r0
|
||||
/* 802AB7C4 38 7D 01 D4 */ addi r3, r29, 0x1d4
|
||||
/* 802AB7C8 48 00 34 F5 */ bl resetMultiSePos__12Z2MultiSeMgrFv
|
||||
/* 802AB7CC 93 FD 01 F0 */ stw r31, 0x1f0(r29)
|
||||
/* 802AB7D0 9B DD 01 F4 */ stb r30, 0x1f4(r29)
|
||||
/* 802AB7D4 3B 9C 00 01 */ addi r28, r28, 1
|
||||
lbl_802AB7D8:
|
||||
/* 802AB7D8 57 80 06 3E */ clrlwi r0, r28, 0x18
|
||||
/* 802AB7DC 28 00 00 0A */ cmplwi r0, 0xa
|
||||
/* 802AB7E0 41 80 FF D8 */ blt lbl_802AB7B8
|
||||
/* 802AB7E4 38 00 00 00 */ li r0, 0
|
||||
/* 802AB7E8 98 1B 03 3C */ stb r0, 0x33c(r27)
|
||||
/* 802AB7EC 7F 63 DB 78 */ mr r3, r27
|
||||
/* 802AB7F0 48 00 00 1D */ bl resetModY__7Z2SeMgrFv
|
||||
/* 802AB7F4 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 802AB7F8 48 0B 6A 29 */ bl _restgpr_27
|
||||
/* 802AB7FC 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 802AB800 7C 08 03 A6 */ mtlr r0
|
||||
/* 802AB804 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 802AB808 4E 80 00 20 */ blr
|
||||
|
|
@ -1,40 +0,0 @@
|
|||
lbl_802AE524:
|
||||
/* 802AE524 80 84 00 00 */ lwz r4, 0(r4)
|
||||
/* 802AE528 3C 60 00 08 */ lis r3, 0x0008 /* 0x00080018@ha */
|
||||
/* 802AE52C 38 03 00 18 */ addi r0, r3, 0x0018 /* 0x00080018@l */
|
||||
/* 802AE530 7C 04 00 00 */ cmpw r4, r0
|
||||
/* 802AE534 41 82 00 6C */ beq lbl_802AE5A0
|
||||
/* 802AE538 40 80 00 38 */ bge lbl_802AE570
|
||||
/* 802AE53C 3C 60 00 02 */ lis r3, 0x0002 /* 0x00020039@ha */
|
||||
/* 802AE540 38 03 00 39 */ addi r0, r3, 0x0039 /* 0x00020039@l */
|
||||
/* 802AE544 7C 04 00 00 */ cmpw r4, r0
|
||||
/* 802AE548 41 82 00 60 */ beq lbl_802AE5A8
|
||||
/* 802AE54C 40 80 00 14 */ bge lbl_802AE560
|
||||
/* 802AE550 38 03 00 38 */ addi r0, r3, 0x38
|
||||
/* 802AE554 7C 04 00 00 */ cmpw r4, r0
|
||||
/* 802AE558 40 80 00 48 */ bge lbl_802AE5A0
|
||||
/* 802AE55C 48 00 00 4C */ b lbl_802AE5A8
|
||||
lbl_802AE560:
|
||||
/* 802AE560 38 03 00 3B */ addi r0, r3, 0x3b
|
||||
/* 802AE564 7C 04 00 00 */ cmpw r4, r0
|
||||
/* 802AE568 40 80 00 40 */ bge lbl_802AE5A8
|
||||
/* 802AE56C 48 00 00 34 */ b lbl_802AE5A0
|
||||
lbl_802AE570:
|
||||
/* 802AE570 3C 60 00 09 */ lis r3, 0x0009 /* 0x00090010@ha */
|
||||
/* 802AE574 38 03 00 10 */ addi r0, r3, 0x0010 /* 0x00090010@l */
|
||||
/* 802AE578 7C 04 00 00 */ cmpw r4, r0
|
||||
/* 802AE57C 41 82 00 24 */ beq lbl_802AE5A0
|
||||
/* 802AE580 40 80 00 28 */ bge lbl_802AE5A8
|
||||
/* 802AE584 38 03 00 07 */ addi r0, r3, 7
|
||||
/* 802AE588 7C 04 00 00 */ cmpw r4, r0
|
||||
/* 802AE58C 40 80 00 1C */ bge lbl_802AE5A8
|
||||
/* 802AE590 38 03 00 03 */ addi r0, r3, 3
|
||||
/* 802AE594 7C 04 00 00 */ cmpw r4, r0
|
||||
/* 802AE598 40 80 00 08 */ bge lbl_802AE5A0
|
||||
/* 802AE59C 48 00 00 0C */ b lbl_802AE5A8
|
||||
lbl_802AE5A0:
|
||||
/* 802AE5A0 38 60 00 01 */ li r3, 1
|
||||
/* 802AE5A4 4E 80 00 20 */ blr
|
||||
lbl_802AE5A8:
|
||||
/* 802AE5A8 38 60 00 00 */ li r3, 0
|
||||
/* 802AE5AC 4E 80 00 20 */ blr
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
lbl_802ADB14:
|
||||
/* 802ADB14 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802ADB18 7C 08 02 A6 */ mflr r0
|
||||
/* 802ADB1C 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802ADB20 7C 88 23 78 */ mr r8, r4
|
||||
/* 802ADB24 7C A0 2B 78 */ mr r0, r5
|
||||
/* 802ADB28 7C C7 33 78 */ mr r7, r6
|
||||
/* 802ADB2C 80 6D 85 F0 */ lwz r3, __OSReport_disable-0x28(r13)
|
||||
/* 802ADB30 38 80 00 00 */ li r4, 0
|
||||
/* 802ADB34 7D 05 43 78 */ mr r5, r8
|
||||
/* 802ADB38 7C 06 03 78 */ mr r6, r0
|
||||
/* 802ADB3C 48 01 EE DD */ bl playOneShotVoice__12Z2SpeechMgr2FUcUsP3VecSc
|
||||
/* 802ADB40 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802ADB44 7C 08 03 A6 */ mtlr r0
|
||||
/* 802ADB48 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802ADB4C 4E 80 00 20 */ blr
|
||||
|
|
@ -1,77 +0,0 @@
|
|||
lbl_802AB830:
|
||||
/* 802AB830 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 802AB834 80 C4 00 00 */ lwz r6, 0(r4)
|
||||
/* 802AB838 28 06 00 00 */ cmplwi r6, 0
|
||||
/* 802AB83C 41 82 00 F8 */ beq lbl_802AB934
|
||||
/* 802AB840 38 E0 27 0F */ li r7, 0x270f
|
||||
/* 802AB844 39 00 00 00 */ li r8, 0
|
||||
/* 802AB848 38 A0 00 00 */ li r5, 0
|
||||
/* 802AB84C 38 00 00 08 */ li r0, 8
|
||||
/* 802AB850 7C 09 03 A6 */ mtctr r0
|
||||
lbl_802AB854:
|
||||
/* 802AB854 38 05 03 A0 */ addi r0, r5, 0x3a0
|
||||
/* 802AB858 7C 03 00 2E */ lwzx r0, r3, r0
|
||||
/* 802AB85C 7C 00 30 40 */ cmplw r0, r6
|
||||
/* 802AB860 40 82 00 0C */ bne lbl_802AB86C
|
||||
/* 802AB864 7D 07 43 78 */ mr r7, r8
|
||||
/* 802AB868 48 00 00 10 */ b lbl_802AB878
|
||||
lbl_802AB86C:
|
||||
/* 802AB86C 39 08 00 01 */ addi r8, r8, 1
|
||||
/* 802AB870 38 A5 00 04 */ addi r5, r5, 4
|
||||
/* 802AB874 42 00 FF E0 */ bdnz lbl_802AB854
|
||||
lbl_802AB878:
|
||||
/* 802AB878 2C 07 27 0F */ cmpwi r7, 0x270f
|
||||
/* 802AB87C 40 82 00 48 */ bne lbl_802AB8C4
|
||||
/* 802AB880 39 00 00 00 */ li r8, 0
|
||||
/* 802AB884 38 A0 00 00 */ li r5, 0
|
||||
/* 802AB888 38 00 00 08 */ li r0, 8
|
||||
/* 802AB88C 7C 09 03 A6 */ mtctr r0
|
||||
lbl_802AB890:
|
||||
/* 802AB890 38 05 03 A0 */ addi r0, r5, 0x3a0
|
||||
/* 802AB894 7C 03 00 2E */ lwzx r0, r3, r0
|
||||
/* 802AB898 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 802AB89C 40 82 00 14 */ bne lbl_802AB8B0
|
||||
/* 802AB8A0 7D 07 43 78 */ mr r7, r8
|
||||
/* 802AB8A4 7C A3 2A 14 */ add r5, r3, r5
|
||||
/* 802AB8A8 90 C5 03 A0 */ stw r6, 0x3a0(r5)
|
||||
/* 802AB8AC 48 00 00 10 */ b lbl_802AB8BC
|
||||
lbl_802AB8B0:
|
||||
/* 802AB8B0 39 08 00 01 */ addi r8, r8, 1
|
||||
/* 802AB8B4 38 A5 00 04 */ addi r5, r5, 4
|
||||
/* 802AB8B8 42 00 FF D8 */ bdnz lbl_802AB890
|
||||
lbl_802AB8BC:
|
||||
/* 802AB8BC 2C 08 00 08 */ cmpwi r8, 8
|
||||
/* 802AB8C0 41 82 00 74 */ beq lbl_802AB934
|
||||
lbl_802AB8C4:
|
||||
/* 802AB8C4 80 A4 00 00 */ lwz r5, 0(r4)
|
||||
/* 802AB8C8 C0 05 00 00 */ lfs f0, 0(r5)
|
||||
/* 802AB8CC 1C E7 00 0C */ mulli r7, r7, 0xc
|
||||
/* 802AB8D0 7C C3 3A 14 */ add r6, r3, r7
|
||||
/* 802AB8D4 D0 06 03 40 */ stfs f0, 0x340(r6)
|
||||
/* 802AB8D8 C0 05 00 04 */ lfs f0, 4(r5)
|
||||
/* 802AB8DC D0 06 03 44 */ stfs f0, 0x344(r6)
|
||||
/* 802AB8E0 C0 05 00 08 */ lfs f0, 8(r5)
|
||||
/* 802AB8E4 D0 06 03 48 */ stfs f0, 0x348(r6)
|
||||
/* 802AB8E8 80 AD 85 C4 */ lwz r5, __OSReport_disable-0x54(r13)
|
||||
/* 802AB8EC E0 25 01 70 */ psq_l f1, 368(r5), 0, 0 /* qr0 */
|
||||
/* 802AB8F0 C0 05 01 78 */ lfs f0, 0x178(r5)
|
||||
/* 802AB8F4 F0 21 00 08 */ psq_st f1, 8(r1), 0, 0 /* qr0 */
|
||||
/* 802AB8F8 D0 01 00 10 */ stfs f0, 0x10(r1)
|
||||
/* 802AB8FC 80 A1 00 08 */ lwz r5, 8(r1)
|
||||
/* 802AB900 80 01 00 0C */ lwz r0, 0xc(r1)
|
||||
/* 802AB904 90 A1 00 14 */ stw r5, 0x14(r1)
|
||||
/* 802AB908 90 01 00 18 */ stw r0, 0x18(r1)
|
||||
/* 802AB90C 80 01 00 10 */ lwz r0, 0x10(r1)
|
||||
/* 802AB910 90 01 00 1C */ stw r0, 0x1c(r1)
|
||||
/* 802AB914 C0 06 03 44 */ lfs f0, 0x344(r6)
|
||||
/* 802AB918 C0 21 00 18 */ lfs f1, 0x18(r1)
|
||||
/* 802AB91C FC 00 08 40 */ fcmpo cr0, f0, f1
|
||||
/* 802AB920 40 81 00 08 */ ble lbl_802AB928
|
||||
/* 802AB924 D0 26 03 44 */ stfs f1, 0x344(r6)
|
||||
lbl_802AB928:
|
||||
/* 802AB928 38 07 03 40 */ addi r0, r7, 0x340
|
||||
/* 802AB92C 7C 03 02 14 */ add r0, r3, r0
|
||||
/* 802AB930 90 04 00 00 */ stw r0, 0(r4)
|
||||
lbl_802AB934:
|
||||
/* 802AB934 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 802AB938 4E 80 00 20 */ blr
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
lbl_802AD94C:
|
||||
/* 802AD94C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802AD950 7C 08 02 A6 */ mflr r0
|
||||
/* 802AD954 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802AD958 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802AD95C 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 802AD960 7C 9E 23 78 */ mr r30, r4
|
||||
/* 802AD964 83 ED 85 E0 */ lwz r31, __OSReport_disable-0x38(r13)
|
||||
/* 802AD968 38 7F 00 18 */ addi r3, r31, 0x18
|
||||
/* 802AD96C 4B FF 24 75 */ bl stop__16JAISeCategoryMgrFUl
|
||||
/* 802AD970 38 7F 00 84 */ addi r3, r31, 0x84
|
||||
/* 802AD974 7F C4 F3 78 */ mr r4, r30
|
||||
/* 802AD978 4B FF 24 69 */ bl stop__16JAISeCategoryMgrFUl
|
||||
/* 802AD97C 38 7F 00 F0 */ addi r3, r31, 0xf0
|
||||
/* 802AD980 7F C4 F3 78 */ mr r4, r30
|
||||
/* 802AD984 4B FF 24 5D */ bl stop__16JAISeCategoryMgrFUl
|
||||
/* 802AD988 38 7F 01 5C */ addi r3, r31, 0x15c
|
||||
/* 802AD98C 7F C4 F3 78 */ mr r4, r30
|
||||
/* 802AD990 4B FF 24 51 */ bl stop__16JAISeCategoryMgrFUl
|
||||
/* 802AD994 38 7F 01 C8 */ addi r3, r31, 0x1c8
|
||||
/* 802AD998 7F C4 F3 78 */ mr r4, r30
|
||||
/* 802AD99C 4B FF 24 45 */ bl stop__16JAISeCategoryMgrFUl
|
||||
/* 802AD9A0 38 7F 02 34 */ addi r3, r31, 0x234
|
||||
/* 802AD9A4 7F C4 F3 78 */ mr r4, r30
|
||||
/* 802AD9A8 4B FF 24 39 */ bl stop__16JAISeCategoryMgrFUl
|
||||
/* 802AD9AC 38 7F 02 A0 */ addi r3, r31, 0x2a0
|
||||
/* 802AD9B0 7F C4 F3 78 */ mr r4, r30
|
||||
/* 802AD9B4 4B FF 24 2D */ bl stop__16JAISeCategoryMgrFUl
|
||||
/* 802AD9B8 38 7F 03 0C */ addi r3, r31, 0x30c
|
||||
/* 802AD9BC 7F C4 F3 78 */ mr r4, r30
|
||||
/* 802AD9C0 4B FF 24 21 */ bl stop__16JAISeCategoryMgrFUl
|
||||
/* 802AD9C4 38 7F 03 78 */ addi r3, r31, 0x378
|
||||
/* 802AD9C8 7F C4 F3 78 */ mr r4, r30
|
||||
/* 802AD9CC 4B FF 24 15 */ bl stop__16JAISeCategoryMgrFUl
|
||||
/* 802AD9D0 38 7F 03 E4 */ addi r3, r31, 0x3e4
|
||||
/* 802AD9D4 7F C4 F3 78 */ mr r4, r30
|
||||
/* 802AD9D8 4B FF 24 09 */ bl stop__16JAISeCategoryMgrFUl
|
||||
/* 802AD9DC 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802AD9E0 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 802AD9E4 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802AD9E8 7C 08 03 A6 */ mtlr r0
|
||||
/* 802AD9EC 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802AD9F0 4E 80 00 20 */ blr
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
lbl_802AD8B0:
|
||||
/* 802AD8B0 94 21 FF D0 */ stwu r1, -0x30(r1)
|
||||
/* 802AD8B4 7C 08 02 A6 */ mflr r0
|
||||
/* 802AD8B8 90 01 00 34 */ stw r0, 0x34(r1)
|
||||
/* 802AD8BC 39 61 00 30 */ addi r11, r1, 0x30
|
||||
/* 802AD8C0 48 0B 49 15 */ bl _savegpr_27
|
||||
/* 802AD8C4 7C 7B 1B 78 */ mr r27, r3
|
||||
/* 802AD8C8 7C 9C 23 78 */ mr r28, r4
|
||||
/* 802AD8CC 7C BD 2B 78 */ mr r29, r5
|
||||
/* 802AD8D0 80 64 00 00 */ lwz r3, 0(r4)
|
||||
/* 802AD8D4 3C 03 00 01 */ addis r0, r3, 1
|
||||
/* 802AD8D8 28 00 FF FF */ cmplwi r0, 0xffff
|
||||
/* 802AD8DC 41 82 00 58 */ beq lbl_802AD934
|
||||
/* 802AD8E0 3B C0 00 00 */ li r30, 0
|
||||
/* 802AD8E4 48 00 00 44 */ b lbl_802AD928
|
||||
lbl_802AD8E8:
|
||||
/* 802AD8E8 80 7B 00 60 */ lwz r3, 0x60(r27)
|
||||
/* 802AD8EC 57 DF 15 BA */ rlwinm r31, r30, 2, 0x16, 0x1d
|
||||
/* 802AD8F0 7C 63 F8 2E */ lwzx r3, r3, r31
|
||||
/* 802AD8F4 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 802AD8F8 41 82 00 2C */ beq lbl_802AD924
|
||||
/* 802AD8FC 80 83 00 18 */ lwz r4, 0x18(r3)
|
||||
/* 802AD900 90 81 00 08 */ stw r4, 8(r1)
|
||||
/* 802AD904 80 1C 00 00 */ lwz r0, 0(r28)
|
||||
/* 802AD908 7C 04 00 40 */ cmplw r4, r0
|
||||
/* 802AD90C 40 82 00 18 */ bne lbl_802AD924
|
||||
/* 802AD910 7F A4 EB 78 */ mr r4, r29
|
||||
/* 802AD914 4B FF 4B C9 */ bl stop__8JAISoundFUl
|
||||
/* 802AD918 80 1B 00 60 */ lwz r0, 0x60(r27)
|
||||
/* 802AD91C 7C 60 FA 14 */ add r3, r0, r31
|
||||
/* 802AD920 4B FF 48 65 */ bl releaseSound__14JAISoundHandleFv
|
||||
lbl_802AD924:
|
||||
/* 802AD924 3B DE 00 01 */ addi r30, r30, 1
|
||||
lbl_802AD928:
|
||||
/* 802AD928 57 C0 06 3E */ clrlwi r0, r30, 0x18
|
||||
/* 802AD92C 28 00 00 18 */ cmplwi r0, 0x18
|
||||
/* 802AD930 41 80 FF B8 */ blt lbl_802AD8E8
|
||||
lbl_802AD934:
|
||||
/* 802AD934 39 61 00 30 */ addi r11, r1, 0x30
|
||||
/* 802AD938 48 0B 48 E9 */ bl _restgpr_27
|
||||
/* 802AD93C 80 01 00 34 */ lwz r0, 0x34(r1)
|
||||
/* 802AD940 7C 08 03 A6 */ mtlr r0
|
||||
/* 802AD944 38 21 00 30 */ addi r1, r1, 0x30
|
||||
/* 802AD948 4E 80 00 20 */ blr
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
lbl_802AA67C:
|
||||
/* 802AA67C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802AA680 7C 08 02 A6 */ mflr r0
|
||||
/* 802AA684 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802AA688 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802AA68C 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 802AA690 4B FF FB 21 */ bl calc__10Z2SoundMgrFv
|
||||
/* 802AA694 7F E3 FB 78 */ mr r3, r31
|
||||
/* 802AA698 4B FF FE 91 */ bl mixOut__10Z2SoundMgrFv
|
||||
/* 802AA69C 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802AA6A0 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802AA6A4 7C 08 03 A6 */ mtlr r0
|
||||
/* 802AA6A8 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802AA6AC 4E 80 00 20 */ blr
|
||||
|
|
@ -1,98 +0,0 @@
|
|||
lbl_802AA528:
|
||||
/* 802AA528 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 802AA52C 7C 08 02 A6 */ mflr r0
|
||||
/* 802AA530 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 802AA534 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 802AA538 48 0B 7C 99 */ bl _savegpr_26
|
||||
/* 802AA53C 7C 7E 1B 78 */ mr r30, r3
|
||||
/* 802AA540 88 0D 8D C0 */ lbz r0, struct_80451340+0x0(r13)
|
||||
/* 802AA544 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 802AA548 41 82 01 04 */ beq lbl_802AA64C
|
||||
/* 802AA54C 80 6D 86 00 */ lwz r3, __OSReport_disable-0x18(r13)
|
||||
/* 802AA550 88 03 00 1E */ lbz r0, 0x1e(r3)
|
||||
/* 802AA554 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 802AA558 41 82 00 F4 */ beq lbl_802AA64C
|
||||
/* 802AA55C 3B E0 00 01 */ li r31, 1
|
||||
/* 802AA560 88 0D 8D C2 */ lbz r0, struct_80451340+0x2(r13)
|
||||
/* 802AA564 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 802AA568 41 82 00 08 */ beq lbl_802AA570
|
||||
/* 802AA56C 3B E0 00 00 */ li r31, 0
|
||||
lbl_802AA570:
|
||||
/* 802AA570 1F BF 00 6C */ mulli r29, r31, 0x6c
|
||||
/* 802AA574 48 00 00 D0 */ b lbl_802AA644
|
||||
lbl_802AA578:
|
||||
/* 802AA578 7C 7E EA 14 */ add r3, r30, r29
|
||||
/* 802AA57C 80 03 00 80 */ lwz r0, 0x80(r3)
|
||||
/* 802AA580 7C 1B 03 78 */ mr r27, r0
|
||||
/* 802AA584 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 802AA588 40 81 00 64 */ ble lbl_802AA5EC
|
||||
/* 802AA58C 83 43 00 70 */ lwz r26, 0x70(r3)
|
||||
/* 802AA590 3C 60 80 3A */ lis r3, CUTOFF_TO_IIR_TABLE__7JASCalc@ha /* 0x8039ABB8@ha */
|
||||
/* 802AA594 3B 83 AB B8 */ addi r28, r3, CUTOFF_TO_IIR_TABLE__7JASCalc@l /* 0x8039ABB8@l */
|
||||
/* 802AA598 48 00 00 2C */ b lbl_802AA5C4
|
||||
lbl_802AA59C:
|
||||
/* 802AA59C 28 04 00 00 */ cmplwi r4, 0
|
||||
/* 802AA5A0 41 82 00 08 */ beq lbl_802AA5A8
|
||||
/* 802AA5A4 38 84 00 10 */ addi r4, r4, 0x10
|
||||
lbl_802AA5A8:
|
||||
/* 802AA5A8 7F C3 F3 78 */ mr r3, r30
|
||||
/* 802AA5AC 88 0D 8D C1 */ lbz r0, struct_80451340+0x1(r13)
|
||||
/* 802AA5B0 54 00 18 38 */ slwi r0, r0, 3
|
||||
/* 802AA5B4 7C BC 02 14 */ add r5, r28, r0
|
||||
/* 802AA5B8 4B FF FC B9 */ bl setIIR__10Z2SoundMgrFP8JAISoundPCs
|
||||
/* 802AA5BC 83 5A 00 0C */ lwz r26, 0xc(r26)
|
||||
/* 802AA5C0 3B 7B FF FF */ addi r27, r27, -1
|
||||
lbl_802AA5C4:
|
||||
/* 802AA5C4 28 1A 00 00 */ cmplwi r26, 0
|
||||
/* 802AA5C8 41 82 00 74 */ beq lbl_802AA63C
|
||||
/* 802AA5CC 2C 1B 00 00 */ cmpwi r27, 0
|
||||
/* 802AA5D0 40 81 00 6C */ ble lbl_802AA63C
|
||||
/* 802AA5D4 80 9A 00 00 */ lwz r4, 0(r26)
|
||||
/* 802AA5D8 80 64 00 B0 */ lwz r3, 0xb0(r4)
|
||||
/* 802AA5DC 3C 03 00 01 */ addis r0, r3, 1
|
||||
/* 802AA5E0 28 00 FF FF */ cmplwi r0, 0xffff
|
||||
/* 802AA5E4 40 82 FF B8 */ bne lbl_802AA59C
|
||||
/* 802AA5E8 48 00 00 54 */ b lbl_802AA63C
|
||||
lbl_802AA5EC:
|
||||
/* 802AA5EC 83 43 00 70 */ lwz r26, 0x70(r3)
|
||||
/* 802AA5F0 3C 60 80 3A */ lis r3, CUTOFF_TO_IIR_TABLE__7JASCalc@ha /* 0x8039ABB8@ha */
|
||||
/* 802AA5F4 3B 83 AB B8 */ addi r28, r3, CUTOFF_TO_IIR_TABLE__7JASCalc@l /* 0x8039ABB8@l */
|
||||
/* 802AA5F8 48 00 00 28 */ b lbl_802AA620
|
||||
lbl_802AA5FC:
|
||||
/* 802AA5FC 28 04 00 00 */ cmplwi r4, 0
|
||||
/* 802AA600 41 82 00 08 */ beq lbl_802AA608
|
||||
/* 802AA604 38 84 00 10 */ addi r4, r4, 0x10
|
||||
lbl_802AA608:
|
||||
/* 802AA608 7F C3 F3 78 */ mr r3, r30
|
||||
/* 802AA60C 88 0D 8D C1 */ lbz r0, struct_80451340+0x1(r13)
|
||||
/* 802AA610 54 00 18 38 */ slwi r0, r0, 3
|
||||
/* 802AA614 7C BC 02 14 */ add r5, r28, r0
|
||||
/* 802AA618 4B FF FC 59 */ bl setIIR__10Z2SoundMgrFP8JAISoundPCs
|
||||
/* 802AA61C 83 5A 00 0C */ lwz r26, 0xc(r26)
|
||||
lbl_802AA620:
|
||||
/* 802AA620 28 1A 00 00 */ cmplwi r26, 0
|
||||
/* 802AA624 41 82 00 18 */ beq lbl_802AA63C
|
||||
/* 802AA628 80 9A 00 00 */ lwz r4, 0(r26)
|
||||
/* 802AA62C 80 64 00 B0 */ lwz r3, 0xb0(r4)
|
||||
/* 802AA630 3C 03 00 01 */ addis r0, r3, 1
|
||||
/* 802AA634 28 00 FF FF */ cmplwi r0, 0xffff
|
||||
/* 802AA638 40 82 FF C4 */ bne lbl_802AA5FC
|
||||
lbl_802AA63C:
|
||||
/* 802AA63C 3B FF 00 01 */ addi r31, r31, 1
|
||||
/* 802AA640 3B BD 00 6C */ addi r29, r29, 0x6c
|
||||
lbl_802AA644:
|
||||
/* 802AA644 2C 1F 00 09 */ cmpwi r31, 9
|
||||
/* 802AA648 41 80 FF 30 */ blt lbl_802AA578
|
||||
lbl_802AA64C:
|
||||
/* 802AA64C 38 7E 00 04 */ addi r3, r30, 4
|
||||
/* 802AA650 4B FF 60 B5 */ bl mixOut__8JAISeMgrFv
|
||||
/* 802AA654 38 7E 07 28 */ addi r3, r30, 0x728
|
||||
/* 802AA658 4B FF 78 A5 */ bl mixOut__9JAISeqMgrFv
|
||||
/* 802AA65C 38 7E 07 9C */ addi r3, r30, 0x79c
|
||||
/* 802AA660 4B FF 9A B9 */ bl mixOut__12JAIStreamMgrFv
|
||||
/* 802AA664 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 802AA668 48 0B 7B B5 */ bl _restgpr_26
|
||||
/* 802AA66C 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 802AA670 7C 08 03 A6 */ mtlr r0
|
||||
/* 802AA674 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 802AA678 4E 80 00 20 */ blr
|
||||
|
|
@ -1,74 +0,0 @@
|
|||
lbl_802AA430:
|
||||
/* 802AA430 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 802AA434 7C 08 02 A6 */ mflr r0
|
||||
/* 802AA438 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 802AA43C 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 802AA440 48 0B 7D 95 */ bl _savegpr_27
|
||||
/* 802AA444 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 802AA448 3B A0 00 01 */ li r29, 1
|
||||
/* 802AA44C 88 0D 8D C2 */ lbz r0, struct_80451340+0x2(r13)
|
||||
/* 802AA450 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 802AA454 41 82 00 08 */ beq lbl_802AA45C
|
||||
/* 802AA458 3B A0 00 00 */ li r29, 0
|
||||
lbl_802AA45C:
|
||||
/* 802AA45C 1F DD 00 6C */ mulli r30, r29, 0x6c
|
||||
/* 802AA460 48 00 00 A8 */ b lbl_802AA508
|
||||
lbl_802AA464:
|
||||
/* 802AA464 7C 7F F2 14 */ add r3, r31, r30
|
||||
/* 802AA468 80 03 00 80 */ lwz r0, 0x80(r3)
|
||||
/* 802AA46C 7C 1C 03 78 */ mr r28, r0
|
||||
/* 802AA470 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 802AA474 40 81 00 50 */ ble lbl_802AA4C4
|
||||
/* 802AA478 83 63 00 70 */ lwz r27, 0x70(r3)
|
||||
/* 802AA47C 48 00 00 20 */ b lbl_802AA49C
|
||||
lbl_802AA480:
|
||||
/* 802AA480 28 04 00 00 */ cmplwi r4, 0
|
||||
/* 802AA484 41 82 00 08 */ beq lbl_802AA48C
|
||||
/* 802AA488 38 84 00 10 */ addi r4, r4, 0x10
|
||||
lbl_802AA48C:
|
||||
/* 802AA48C 7F E3 FB 78 */ mr r3, r31
|
||||
/* 802AA490 4B FF FE AD */ bl setFilterOff__10Z2SoundMgrFP8JAISound
|
||||
/* 802AA494 83 7B 00 0C */ lwz r27, 0xc(r27)
|
||||
/* 802AA498 3B 9C FF FF */ addi r28, r28, -1
|
||||
lbl_802AA49C:
|
||||
/* 802AA49C 28 1B 00 00 */ cmplwi r27, 0
|
||||
/* 802AA4A0 41 82 00 60 */ beq lbl_802AA500
|
||||
/* 802AA4A4 2C 1C 00 00 */ cmpwi r28, 0
|
||||
/* 802AA4A8 40 81 00 58 */ ble lbl_802AA500
|
||||
/* 802AA4AC 80 9B 00 00 */ lwz r4, 0(r27)
|
||||
/* 802AA4B0 80 64 00 B0 */ lwz r3, 0xb0(r4)
|
||||
/* 802AA4B4 3C 03 00 01 */ addis r0, r3, 1
|
||||
/* 802AA4B8 28 00 FF FF */ cmplwi r0, 0xffff
|
||||
/* 802AA4BC 40 82 FF C4 */ bne lbl_802AA480
|
||||
/* 802AA4C0 48 00 00 40 */ b lbl_802AA500
|
||||
lbl_802AA4C4:
|
||||
/* 802AA4C4 83 63 00 70 */ lwz r27, 0x70(r3)
|
||||
/* 802AA4C8 48 00 00 1C */ b lbl_802AA4E4
|
||||
lbl_802AA4CC:
|
||||
/* 802AA4CC 28 04 00 00 */ cmplwi r4, 0
|
||||
/* 802AA4D0 41 82 00 08 */ beq lbl_802AA4D8
|
||||
/* 802AA4D4 38 84 00 10 */ addi r4, r4, 0x10
|
||||
lbl_802AA4D8:
|
||||
/* 802AA4D8 7F E3 FB 78 */ mr r3, r31
|
||||
/* 802AA4DC 4B FF FE 61 */ bl setFilterOff__10Z2SoundMgrFP8JAISound
|
||||
/* 802AA4E0 83 7B 00 0C */ lwz r27, 0xc(r27)
|
||||
lbl_802AA4E4:
|
||||
/* 802AA4E4 28 1B 00 00 */ cmplwi r27, 0
|
||||
/* 802AA4E8 41 82 00 18 */ beq lbl_802AA500
|
||||
/* 802AA4EC 80 9B 00 00 */ lwz r4, 0(r27)
|
||||
/* 802AA4F0 80 64 00 B0 */ lwz r3, 0xb0(r4)
|
||||
/* 802AA4F4 3C 03 00 01 */ addis r0, r3, 1
|
||||
/* 802AA4F8 28 00 FF FF */ cmplwi r0, 0xffff
|
||||
/* 802AA4FC 40 82 FF D0 */ bne lbl_802AA4CC
|
||||
lbl_802AA500:
|
||||
/* 802AA500 3B BD 00 01 */ addi r29, r29, 1
|
||||
/* 802AA504 3B DE 00 6C */ addi r30, r30, 0x6c
|
||||
lbl_802AA508:
|
||||
/* 802AA508 2C 1D 00 09 */ cmpwi r29, 9
|
||||
/* 802AA50C 41 80 FF 58 */ blt lbl_802AA464
|
||||
/* 802AA510 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 802AA514 48 0B 7D 0D */ bl _restgpr_27
|
||||
/* 802AA518 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 802AA51C 7C 08 03 A6 */ mtlr r0
|
||||
/* 802AA520 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 802AA524 4E 80 00 20 */ blr
|
||||
|
|
@ -1,67 +0,0 @@
|
|||
lbl_802AA33C:
|
||||
/* 802AA33C 94 21 FF D0 */ stwu r1, -0x30(r1)
|
||||
/* 802AA340 7C 08 02 A6 */ mflr r0
|
||||
/* 802AA344 90 01 00 34 */ stw r0, 0x34(r1)
|
||||
/* 802AA348 39 61 00 30 */ addi r11, r1, 0x30
|
||||
/* 802AA34C 48 0B 7E 7D */ bl _savegpr_24
|
||||
/* 802AA350 28 04 00 00 */ cmplwi r4, 0
|
||||
/* 802AA354 41 82 00 C4 */ beq lbl_802AA418
|
||||
/* 802AA358 7C 83 23 78 */ mr r3, r4
|
||||
/* 802AA35C 81 84 00 00 */ lwz r12, 0(r4)
|
||||
/* 802AA360 81 8C 00 20 */ lwz r12, 0x20(r12)
|
||||
/* 802AA364 7D 89 03 A6 */ mtctr r12
|
||||
/* 802AA368 4E 80 04 21 */ bctrl
|
||||
/* 802AA36C 7C 7C 1B 78 */ mr r28, r3
|
||||
/* 802AA370 3B 20 00 00 */ li r25, 0
|
||||
/* 802AA374 3B E0 00 00 */ li r31, 0
|
||||
lbl_802AA378:
|
||||
/* 802AA378 38 1F 01 30 */ addi r0, r31, 0x130
|
||||
/* 802AA37C 7F 7C 00 2E */ lwzx r27, r28, r0
|
||||
/* 802AA380 28 1B 00 00 */ cmplwi r27, 0
|
||||
/* 802AA384 41 82 00 84 */ beq lbl_802AA408
|
||||
/* 802AA388 88 1B 02 15 */ lbz r0, 0x215(r27)
|
||||
/* 802AA38C 28 00 00 01 */ cmplwi r0, 1
|
||||
/* 802AA390 40 82 00 78 */ bne lbl_802AA408
|
||||
/* 802AA394 7F 63 DB 78 */ mr r3, r27
|
||||
/* 802AA398 3C 80 80 3A */ lis r4, cResetFilterTable@ha /* 0x8039B9C0@ha */
|
||||
/* 802AA39C 38 84 B9 C0 */ addi r4, r4, cResetFilterTable@l /* 0x8039B9C0@l */
|
||||
/* 802AA3A0 4B FE 84 FD */ bl setIIR__8JASTrackFPCs
|
||||
/* 802AA3A4 7F 63 DB 78 */ mr r3, r27
|
||||
/* 802AA3A8 3C 80 80 3A */ lis r4, cResetFilterTable@ha /* 0x8039B9C0@ha */
|
||||
/* 802AA3AC 38 84 B9 C0 */ addi r4, r4, cResetFilterTable@l /* 0x8039B9C0@l */
|
||||
/* 802AA3B0 4B FE 84 AD */ bl setFIR__8JASTrackFPCs
|
||||
/* 802AA3B4 3B 00 00 00 */ li r24, 0
|
||||
/* 802AA3B8 3B C0 00 00 */ li r30, 0
|
||||
/* 802AA3BC 3C 60 80 3A */ lis r3, cResetFilterTable@ha /* 0x8039B9C0@ha */
|
||||
/* 802AA3C0 3B A3 B9 C0 */ addi r29, r3, cResetFilterTable@l /* 0x8039B9C0@l */
|
||||
lbl_802AA3C4:
|
||||
/* 802AA3C4 38 1E 01 30 */ addi r0, r30, 0x130
|
||||
/* 802AA3C8 7F 5B 00 2E */ lwzx r26, r27, r0
|
||||
/* 802AA3CC 28 1A 00 00 */ cmplwi r26, 0
|
||||
/* 802AA3D0 41 82 00 28 */ beq lbl_802AA3F8
|
||||
/* 802AA3D4 88 1A 02 15 */ lbz r0, 0x215(r26)
|
||||
/* 802AA3D8 28 00 00 01 */ cmplwi r0, 1
|
||||
/* 802AA3DC 40 82 00 1C */ bne lbl_802AA3F8
|
||||
/* 802AA3E0 7F 43 D3 78 */ mr r3, r26
|
||||
/* 802AA3E4 7F A4 EB 78 */ mr r4, r29
|
||||
/* 802AA3E8 4B FE 84 B5 */ bl setIIR__8JASTrackFPCs
|
||||
/* 802AA3EC 7F 43 D3 78 */ mr r3, r26
|
||||
/* 802AA3F0 7F A4 EB 78 */ mr r4, r29
|
||||
/* 802AA3F4 4B FE 84 69 */ bl setFIR__8JASTrackFPCs
|
||||
lbl_802AA3F8:
|
||||
/* 802AA3F8 3B 18 00 01 */ addi r24, r24, 1
|
||||
/* 802AA3FC 28 18 00 04 */ cmplwi r24, 4
|
||||
/* 802AA400 3B DE 00 04 */ addi r30, r30, 4
|
||||
/* 802AA404 41 80 FF C0 */ blt lbl_802AA3C4
|
||||
lbl_802AA408:
|
||||
/* 802AA408 3B 39 00 01 */ addi r25, r25, 1
|
||||
/* 802AA40C 28 19 00 04 */ cmplwi r25, 4
|
||||
/* 802AA410 3B FF 00 04 */ addi r31, r31, 4
|
||||
/* 802AA414 41 80 FF 64 */ blt lbl_802AA378
|
||||
lbl_802AA418:
|
||||
/* 802AA418 39 61 00 30 */ addi r11, r1, 0x30
|
||||
/* 802AA41C 48 0B 7D F9 */ bl _restgpr_24
|
||||
/* 802AA420 80 01 00 34 */ lwz r0, 0x34(r1)
|
||||
/* 802AA424 7C 08 03 A6 */ mtlr r0
|
||||
/* 802AA428 38 21 00 30 */ addi r1, r1, 0x30
|
||||
/* 802AA42C 4E 80 00 20 */ blr
|
||||
|
|
@ -1,57 +0,0 @@
|
|||
lbl_802AA270:
|
||||
/* 802AA270 94 21 FF D0 */ stwu r1, -0x30(r1)
|
||||
/* 802AA274 7C 08 02 A6 */ mflr r0
|
||||
/* 802AA278 90 01 00 34 */ stw r0, 0x34(r1)
|
||||
/* 802AA27C 39 61 00 30 */ addi r11, r1, 0x30
|
||||
/* 802AA280 48 0B 7F 4D */ bl _savegpr_25
|
||||
/* 802AA284 7C B9 2B 78 */ mr r25, r5
|
||||
/* 802AA288 28 04 00 00 */ cmplwi r4, 0
|
||||
/* 802AA28C 41 82 00 98 */ beq lbl_802AA324
|
||||
/* 802AA290 7C 83 23 78 */ mr r3, r4
|
||||
/* 802AA294 81 84 00 00 */ lwz r12, 0(r4)
|
||||
/* 802AA298 81 8C 00 20 */ lwz r12, 0x20(r12)
|
||||
/* 802AA29C 7D 89 03 A6 */ mtctr r12
|
||||
/* 802AA2A0 4E 80 04 21 */ bctrl
|
||||
/* 802AA2A4 7C 7D 1B 78 */ mr r29, r3
|
||||
/* 802AA2A8 3B 60 00 00 */ li r27, 0
|
||||
/* 802AA2AC 3B E0 00 00 */ li r31, 0
|
||||
lbl_802AA2B0:
|
||||
/* 802AA2B0 38 1F 01 30 */ addi r0, r31, 0x130
|
||||
/* 802AA2B4 7F 9D 00 2E */ lwzx r28, r29, r0
|
||||
/* 802AA2B8 28 1C 00 00 */ cmplwi r28, 0
|
||||
/* 802AA2BC 41 82 00 58 */ beq lbl_802AA314
|
||||
/* 802AA2C0 88 1C 02 15 */ lbz r0, 0x215(r28)
|
||||
/* 802AA2C4 28 00 00 01 */ cmplwi r0, 1
|
||||
/* 802AA2C8 40 82 00 4C */ bne lbl_802AA314
|
||||
/* 802AA2CC 7F 83 E3 78 */ mr r3, r28
|
||||
/* 802AA2D0 7F 24 CB 78 */ mr r4, r25
|
||||
/* 802AA2D4 4B FE 85 C9 */ bl setIIR__8JASTrackFPCs
|
||||
/* 802AA2D8 3B 40 00 00 */ li r26, 0
|
||||
/* 802AA2DC 3B C0 00 00 */ li r30, 0
|
||||
lbl_802AA2E0:
|
||||
/* 802AA2E0 38 1E 01 30 */ addi r0, r30, 0x130
|
||||
/* 802AA2E4 7C 7C 00 2E */ lwzx r3, r28, r0
|
||||
/* 802AA2E8 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 802AA2EC 41 82 00 18 */ beq lbl_802AA304
|
||||
/* 802AA2F0 88 03 02 15 */ lbz r0, 0x215(r3)
|
||||
/* 802AA2F4 28 00 00 01 */ cmplwi r0, 1
|
||||
/* 802AA2F8 40 82 00 0C */ bne lbl_802AA304
|
||||
/* 802AA2FC 7F 24 CB 78 */ mr r4, r25
|
||||
/* 802AA300 4B FE 85 9D */ bl setIIR__8JASTrackFPCs
|
||||
lbl_802AA304:
|
||||
/* 802AA304 3B 5A 00 01 */ addi r26, r26, 1
|
||||
/* 802AA308 28 1A 00 04 */ cmplwi r26, 4
|
||||
/* 802AA30C 3B DE 00 04 */ addi r30, r30, 4
|
||||
/* 802AA310 41 80 FF D0 */ blt lbl_802AA2E0
|
||||
lbl_802AA314:
|
||||
/* 802AA314 3B 7B 00 01 */ addi r27, r27, 1
|
||||
/* 802AA318 28 1B 00 04 */ cmplwi r27, 4
|
||||
/* 802AA31C 3B FF 00 04 */ addi r31, r31, 4
|
||||
/* 802AA320 41 80 FF 90 */ blt lbl_802AA2B0
|
||||
lbl_802AA324:
|
||||
/* 802AA324 39 61 00 30 */ addi r11, r1, 0x30
|
||||
/* 802AA328 48 0B 7E F1 */ bl _restgpr_25
|
||||
/* 802AA32C 80 01 00 34 */ lwz r0, 0x34(r1)
|
||||
/* 802AA330 7C 08 03 A6 */ mtlr r0
|
||||
/* 802AA334 38 21 00 30 */ addi r1, r1, 0x30
|
||||
/* 802AA338 4E 80 00 20 */ blr
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
lbl_802AA7DC:
|
||||
/* 802AA7DC 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 802AA7E0 7C 08 02 A6 */ mflr r0
|
||||
/* 802AA7E4 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 802AA7E8 93 E1 00 1C */ stw r31, 0x1c(r1)
|
||||
/* 802AA7EC 93 C1 00 18 */ stw r30, 0x18(r1)
|
||||
/* 802AA7F0 7C 7E 1B 78 */ mr r30, r3
|
||||
/* 802AA7F4 7C 9F 23 78 */ mr r31, r4
|
||||
/* 802AA7F8 80 04 00 00 */ lwz r0, 0(r4)
|
||||
/* 802AA7FC 90 01 00 10 */ stw r0, 0x10(r1)
|
||||
/* 802AA800 38 7E 00 04 */ addi r3, r30, 4
|
||||
/* 802AA804 38 81 00 10 */ addi r4, r1, 0x10
|
||||
/* 802AA808 4B FF 5A ED */ bl stopSoundID__8JAISeMgrF10JAISoundID
|
||||
/* 802AA80C 80 1F 00 00 */ lwz r0, 0(r31)
|
||||
/* 802AA810 90 01 00 0C */ stw r0, 0xc(r1)
|
||||
/* 802AA814 38 7E 07 28 */ addi r3, r30, 0x728
|
||||
/* 802AA818 38 81 00 0C */ addi r4, r1, 0xc
|
||||
/* 802AA81C 4B FF 76 71 */ bl stopSoundID__9JAISeqMgrF10JAISoundID
|
||||
/* 802AA820 80 1F 00 00 */ lwz r0, 0(r31)
|
||||
/* 802AA824 90 01 00 08 */ stw r0, 8(r1)
|
||||
/* 802AA828 38 7E 07 9C */ addi r3, r30, 0x79c
|
||||
/* 802AA82C 38 81 00 08 */ addi r4, r1, 8
|
||||
/* 802AA830 4B FF 98 89 */ bl stopSoundID__12JAIStreamMgrF10JAISoundID
|
||||
/* 802AA834 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
||||
/* 802AA838 83 C1 00 18 */ lwz r30, 0x18(r1)
|
||||
/* 802AA83C 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 802AA840 7C 08 03 A6 */ mtlr r0
|
||||
/* 802AA844 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 802AA848 4E 80 00 20 */ blr
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
lbl_802AA84C:
|
||||
/* 802AA84C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802AA850 7C 08 02 A6 */ mflr r0
|
||||
/* 802AA854 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802AA858 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802AA85C 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 802AA860 48 00 00 69 */ bl stop__10Z2SoundMgrFv
|
||||
/* 802AA864 48 00 00 34 */ b lbl_802AA898
|
||||
lbl_802AA868:
|
||||
/* 802AA868 7F E3 FB 78 */ mr r3, r31
|
||||
/* 802AA86C 4B FF F9 45 */ bl calc__10Z2SoundMgrFv
|
||||
/* 802AA870 38 7F 00 04 */ addi r3, r31, 4
|
||||
/* 802AA874 4B FF 60 5D */ bl getNumActiveSe__8JAISeMgrCFv
|
||||
/* 802AA878 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 802AA87C 40 82 00 10 */ bne lbl_802AA88C
|
||||
/* 802AA880 80 1F 07 94 */ lwz r0, 0x794(r31)
|
||||
/* 802AA884 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 802AA888 41 82 00 2C */ beq lbl_802AA8B4
|
||||
lbl_802AA88C:
|
||||
/* 802AA88C 7F E3 FB 78 */ mr r3, r31
|
||||
/* 802AA890 4B FF FC 99 */ bl mixOut__10Z2SoundMgrFv
|
||||
/* 802AA894 4B FF 38 F5 */ bl waitSubFrame__9JASDriverFv
|
||||
lbl_802AA898:
|
||||
/* 802AA898 38 7F 00 04 */ addi r3, r31, 4
|
||||
/* 802AA89C 4B FF 60 35 */ bl getNumActiveSe__8JAISeMgrCFv
|
||||
/* 802AA8A0 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 802AA8A4 41 81 FF C4 */ bgt lbl_802AA868
|
||||
/* 802AA8A8 80 1F 07 94 */ lwz r0, 0x794(r31)
|
||||
/* 802AA8AC 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 802AA8B0 41 81 FF B8 */ bgt lbl_802AA868
|
||||
lbl_802AA8B4:
|
||||
/* 802AA8B4 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802AA8B8 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802AA8BC 7C 08 03 A6 */ mtlr r0
|
||||
/* 802AA8C0 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802AA8C4 4E 80 00 20 */ blr
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
lbl_802AA8C8:
|
||||
/* 802AA8C8 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802AA8CC 7C 08 02 A6 */ mflr r0
|
||||
/* 802AA8D0 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802AA8D4 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802AA8D8 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 802AA8DC 38 7F 00 04 */ addi r3, r31, 4
|
||||
/* 802AA8E0 4B FF 59 C1 */ bl stop__8JAISeMgrFv
|
||||
/* 802AA8E4 38 7F 07 28 */ addi r3, r31, 0x728
|
||||
/* 802AA8E8 4B FF 75 15 */ bl stop__9JAISeqMgrFv
|
||||
/* 802AA8EC 38 7F 07 9C */ addi r3, r31, 0x79c
|
||||
/* 802AA8F0 4B FF 97 39 */ bl stop__12JAIStreamMgrFv
|
||||
/* 802AA8F4 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802AA8F8 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802AA8FC 7C 08 03 A6 */ mtlr r0
|
||||
/* 802AA900 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802AA904 4E 80 00 20 */ blr
|
||||
|
|
@ -47,7 +47,7 @@ public:
|
|||
JAISeqData* getSeqData() { return &inner_.mSeqData; }
|
||||
u32 JAISeCategoryMgr_getProperPriority_() const { return inner_.mProperPriority; }
|
||||
u32 JAISeCategoryMgr_getPriority_() const { return inner_.mPriority; }
|
||||
bool isFarAway() const { return mPriority == -1; }
|
||||
bool isFarAway() const { return inner_.mPriority == -1; }
|
||||
|
||||
/* 0x0ac */ TInner inner_;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -74,7 +74,7 @@ public:
|
|||
/* 802A0484 */ JAISe* newSe_(int, u32);
|
||||
/* 802A0574 */ void calc();
|
||||
/* 802A0704 */ void mixOut();
|
||||
/* 802A0768 */ int startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3<f32> const*);
|
||||
/* 802A0768 */ bool startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3<f32> const*);
|
||||
/* 802A08D0 */ int getNumActiveSe() const;
|
||||
|
||||
/* 802A08FC */ virtual ~JAISeMgr(); // inline?
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ class JAISeqMgr : public JAISeqDataUser, public JASGlobalInstance<JAISeqMgr> {
|
|||
public:
|
||||
/* 802A1914 */ JAISeqMgr(bool);
|
||||
/* 802A1A08 */ void freeDeadSeq_();
|
||||
/* 802A1B48 */ int startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3<f32> const*);
|
||||
/* 802A1B48 */ bool startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3<f32> const*);
|
||||
/* 802A1C90 */ void calc();
|
||||
/* 802A1DFC */ void stop();
|
||||
/* 802A1E3C */ void stop(u32);
|
||||
|
|
@ -43,6 +43,8 @@ public:
|
|||
}
|
||||
JAISoundParamsMove* getParams() { return &mMove; }
|
||||
bool isActive() { return mSeqList.getNumLinks() != 0; }
|
||||
int getNumActiveSeqs() { return mSeqList.getNumLinks(); }
|
||||
void pause(bool i_pause) { mActivity.field_0x0.flags.flag2 = i_pause; }
|
||||
|
||||
private:
|
||||
/* 0x04 */ JAISoundActivity mActivity;
|
||||
|
|
|
|||
|
|
@ -35,6 +35,8 @@ public:
|
|||
numHandles_ = param_1;
|
||||
};
|
||||
|
||||
JAISoundHandle& operator[](int n) { return mSoundHandle[n]; }
|
||||
|
||||
JAISoundHandle* getHandleSoundID(JAISoundID);
|
||||
JAISoundHandle* getFreeHandle();
|
||||
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
struct JAISoundInfo : public JASGlobalInstance<JAISoundInfo> {
|
||||
/* 802A2D34 */ JAISoundInfo(bool);
|
||||
virtual u32 getSoundType(JAISoundID) const = 0;
|
||||
virtual int getSoundType(JAISoundID) const = 0;
|
||||
virtual int getCategory(JAISoundID) const = 0;
|
||||
virtual u32 getPriority(JAISoundID) const = 0;
|
||||
virtual void getSeInfo(JAISoundID, JAISe*) const = 0;
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ class JAIStreamDataMgr;
|
|||
class JAIStreamMgr : public JASGlobalInstance<JAIStreamMgr> {
|
||||
public:
|
||||
/* 802A3B68 */ JAIStreamMgr(bool);
|
||||
/* 802A3C3C */ int startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3<f32> const*);
|
||||
/* 802A3C3C */ bool startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3<f32> const*);
|
||||
/* 802A3D70 */ void freeDeadStream_();
|
||||
/* 802A3EBC */ void calc();
|
||||
/* 802A4028 */ void stop();
|
||||
|
|
@ -32,6 +32,7 @@ public:
|
|||
JUT_ASSERT(157, !isActive());
|
||||
mStreamAramMgr = param_0;
|
||||
}
|
||||
void pause(bool i_pause) { mActivity.field_0x0.flags.flag2 = i_pause; }
|
||||
|
||||
private:
|
||||
/* 0x00 */ JAISoundActivity mActivity;
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@ public:
|
|||
|
||||
/* 0x000 */ JAUWaveBankTable waveBankTable;
|
||||
/* 0x404 */ JAISeqDataUser* seqDataUser;
|
||||
/* 0x408 */ JAUDynamicSeqDataBlocks field_0x408;
|
||||
/* 0x408 */ JAUDynamicSeqDataBlocks seqDataBlocks;
|
||||
/* 0x430 */ JAISeqDataMgr* seSeqDataMgr_;
|
||||
/* 0x434 */ JAIStreamDataMgr* streamDataMgr_;
|
||||
/* 0x438 */ JAUSoundTable* soundTable;
|
||||
|
|
@ -100,6 +100,7 @@ public:
|
|||
/* 802A6270 */ int releaseSeqData();
|
||||
/* 802A6278 */ ~JAUSectionHeap();
|
||||
|
||||
TSectionHeapData const& getSectionHeapData() const { return sectionHeapData_; }
|
||||
JAUWaveBankTable& getWaveBankTable() { return sectionHeapData_.waveBankTable; }
|
||||
JKRHeap* getHeap() {
|
||||
if (getOpenSection()->isBuilding() != 0) {
|
||||
|
|
|
|||
|
|
@ -18,15 +18,13 @@ struct JAUSeqDataBlock {
|
|||
/* 0x1C */ int field_0x1c;
|
||||
};
|
||||
|
||||
class JAUSeqDataBlocks {
|
||||
class JAUSeqDataBlocks : public JSUList<JAUSeqDataBlock> {
|
||||
public:
|
||||
/* 802A6928 */ u8* getSeqData(JAISoundID);
|
||||
/* 802A6974 */ JSULink<JAUSeqDataBlock>* seekFreeBlock(u32);
|
||||
/* 802A69D8 */ bool append(JSULink<JAUSeqDataBlock>*);
|
||||
/* 802A69F8 */ bool remove(JSULink<JAUSeqDataBlock>*);
|
||||
/* 802A6A18 */ bool hasFailedBlock(JAISoundID);
|
||||
|
||||
/* 0x00 */ JSUList<JAUSeqDataBlock> field_0x0;
|
||||
};
|
||||
|
||||
class JAUDynamicSeqDataBlocks {
|
||||
|
|
@ -40,11 +38,13 @@ public:
|
|||
/* 802A6E00 */ JAUSeqDataBlock* releaseIdleDynamicSeqDataBlock_(JAISeqDataUser*, u32);
|
||||
/* 802A6EDC */ void rearrangeLoadingSeqs_();
|
||||
|
||||
JAUSeqDataBlocks const& getFreeBlocks() const { return mFreeBlocks; }
|
||||
JAUSeqDataBlocks const& getLoadedBlocks() const { return mLoadedBlocks; }
|
||||
JKRArchive* getSeqDataArchive() { return seqDataArchive_; }
|
||||
|
||||
/* 0x00 */ JAUSeqDataBlocks field_0x0;
|
||||
/* 0x00 */ JAUSeqDataBlocks mFreeBlocks;
|
||||
/* 0x0C */ JAUSeqDataBlocks field_0xc;
|
||||
/* 0x18 */ JAUSeqDataBlocks field_0x18;
|
||||
/* 0x18 */ JAUSeqDataBlocks mLoadedBlocks;
|
||||
/* 0x24 */ JKRArchive* seqDataArchive_;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ public:
|
|||
|
||||
static Z2AudioMgr* mAudioMgrPtr;
|
||||
|
||||
/* 0x0514 */ virtual int startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3<f32> const*);
|
||||
/* 0x0514 */ virtual bool startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3<f32> const*);
|
||||
/* 0x0518 */ bool mResettingFlag;
|
||||
/* 0x0519 */ bool field_0x519;
|
||||
/* 0x051C */ JASAudioReseter mAudioReseter;
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ namespace Z2Calc {
|
|||
enum CurveSign {
|
||||
CURVE_SIGN_0 = 0,
|
||||
CURVE_SIGN_1 = 1,
|
||||
CURVE_SIGN_2 = 2,
|
||||
};
|
||||
|
||||
struct FNoise1f {
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ struct Z2LinkSoundStarter : public Z2SoundStarter {
|
|||
Z2LinkSoundStarter();
|
||||
|
||||
inline virtual ~Z2LinkSoundStarter();
|
||||
virtual int startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3<f32> const*, u32, f32,
|
||||
virtual bool startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3<f32> const*, u32, f32,
|
||||
f32, f32, f32, f32, u32);
|
||||
};
|
||||
|
||||
|
|
@ -127,7 +127,7 @@ struct Z2RideSoundStarter : public Z2SoundStarter {
|
|||
/* 802C5234 */ Z2RideSoundStarter(Z2CreatureRide*);
|
||||
|
||||
/* 802C5078 */ inline virtual ~Z2RideSoundStarter();
|
||||
/* 802C5284 */ virtual int startSound(JAISoundID, JAISoundHandle*,
|
||||
/* 802C5284 */ virtual bool startSound(JAISoundID, JAISoundHandle*,
|
||||
JGeometry::TVec3<f32> const*, u32, f32, f32, f32, f32,
|
||||
f32, u32);
|
||||
|
||||
|
|
|
|||
|
|
@ -56,4 +56,8 @@ extern u8 struct_8045086A;
|
|||
extern u8 struct_8045086B;
|
||||
extern u8 data_8045086C;
|
||||
|
||||
extern u8 struct_80451340;
|
||||
extern u8 struct_80451341;
|
||||
extern u8 struct_80451342;
|
||||
|
||||
#endif /* Z2PARAM_H */
|
||||
|
|
|
|||
|
|
@ -37,6 +37,7 @@ public:
|
|||
void setInGame(bool i_inGame) { inGame = i_inGame; }
|
||||
bool isInDarkness() const { return inDarkness; }
|
||||
s8 getRoomReverb() const { return dComIfGp_getReverb(roomNum); }
|
||||
bool isMovieDemo() { return sceneNum == 2 || sceneNum == 8 || sceneNum == 9; }
|
||||
|
||||
private:
|
||||
/* 0x00 */ long BGM_ID;
|
||||
|
|
|
|||
|
|
@ -8,19 +8,69 @@
|
|||
struct Z2MultiSeMgr {
|
||||
Z2MultiSeMgr();
|
||||
~Z2MultiSeMgr();
|
||||
void registMultiSePos(Vec*);
|
||||
s8 registMultiSePos(Vec*);
|
||||
void resetMultiSePos();
|
||||
void getPanPower();
|
||||
void getDolbyPower();
|
||||
f32 getPanPower();
|
||||
f32 getDolbyPower();
|
||||
|
||||
void setVolumeScale(f32 param_0) { mVolumeScale = param_0; }
|
||||
|
||||
f32 getMaxVolume() {
|
||||
if (mMaxVolume > 1.0f) {
|
||||
return 1.0f;
|
||||
} else if (mMaxVolume < 0.0f) {
|
||||
return 0.0f;
|
||||
} else {
|
||||
return mMaxVolume;
|
||||
}
|
||||
}
|
||||
|
||||
f32 getMaxPowR() {
|
||||
if (mMaxPowR > 1.0f) {
|
||||
return 1.0f;
|
||||
} else if (mMaxPowR < 0.0f) {
|
||||
return 0.0f;
|
||||
} else {
|
||||
return mMaxPowR;
|
||||
}
|
||||
}
|
||||
|
||||
f32 getMaxPowL() {
|
||||
if (mMaxPowL > 1.0f) {
|
||||
return 1.0f;
|
||||
} else if (mMaxPowL < 0.0f) {
|
||||
return 0.0f;
|
||||
} else {
|
||||
return mMaxPowL;
|
||||
}
|
||||
}
|
||||
|
||||
f32 getMaxPowB() {
|
||||
if (mMaxPowB > 1.0f) {
|
||||
return 1.0f;
|
||||
} else if (mMaxPowB < 0.0f) {
|
||||
return 0.0f;
|
||||
} else {
|
||||
return mMaxPowB;
|
||||
}
|
||||
}
|
||||
|
||||
f32 getMaxPowF() {
|
||||
if (mMaxPowF > 1.0f) {
|
||||
return 1.0f;
|
||||
} else if (mMaxPowF < 0.0f) {
|
||||
return 0.0f;
|
||||
} else {
|
||||
return mMaxPowF;
|
||||
}
|
||||
}
|
||||
|
||||
/* 0x00 */ float mVolumeScale;
|
||||
/* 0x04 */ float mMaxVolume;
|
||||
/* 0x08 */ float mMaxPowL;
|
||||
/* 0x0C */ float mMaxPowR;
|
||||
/* 0x10 */ float mMaxPowB;
|
||||
/* 0x14 */ float mMaxPowF;
|
||||
/* 0x10 */ float mMaxPowF;
|
||||
/* 0x14 */ float mMaxPowB;
|
||||
/* 0x18 */ s8 mPosCount;
|
||||
}; // Size = 0x1C
|
||||
|
||||
|
|
@ -28,8 +78,8 @@ struct Z2MultiSeObj : Z2MultiSeMgr {
|
|||
Z2MultiSeObj();
|
||||
~Z2MultiSeObj() {}
|
||||
|
||||
/* 0x1C */ u32 field_0x1c;
|
||||
/* 0x20 */ u8 field_0x20;
|
||||
/* 0x1C */ u32 mSoundID;
|
||||
/* 0x20 */ s8 field_0x20;
|
||||
}; // Size = 0x24
|
||||
|
||||
class Z2SeMgr : public JASGlobalInstance<Z2SeMgr> {
|
||||
|
|
@ -40,8 +90,8 @@ public:
|
|||
/* 802AB830 */ void modHeightAtCamera(Vec const**);
|
||||
/* 802AB93C */ void incrCrowdSize();
|
||||
/* 802AB960 */ void decrCrowdSize();
|
||||
/* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
|
||||
/* 802AC50C */ void seStartLevel(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
|
||||
/* 802AB984 */ bool seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
|
||||
/* 802AC50C */ bool seStartLevel(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
|
||||
/* 802AD8B0 */ void seStop(JAISoundID, u32);
|
||||
/* 802AD94C */ void seStopAll(u32);
|
||||
/* 802AD9F4 */ void seMoveVolumeAll(f32, u32);
|
||||
|
|
@ -52,19 +102,19 @@ public:
|
|||
/* 802ADE5C */ void setLevObjSE(u32, Vec*, s8);
|
||||
/* 802ADFF4 */ void setMultiTriggerSE(u32, Vec*, s8);
|
||||
/* 802AE184 */ void processSeFramework();
|
||||
/* 802AE524 */ void isLevelSe(JAISoundID);
|
||||
/* 802AE524 */ bool isLevelSe(JAISoundID);
|
||||
/* 802AE5B0 */ bool isSoundCulling(JAISoundID);
|
||||
/* 802B9AC4 */ void resetCrowdSize();
|
||||
|
||||
private:
|
||||
/* 0x000 */ JAISoundHandle mSoundHandle[24];
|
||||
/* 0x060 */ JAISoundHandles field_0x60;
|
||||
/* 0x060 */ JAISoundHandles mSoundHandles;
|
||||
/* 0x068 */ Z2MultiSeObj mLevelObjSe[10];
|
||||
/* 0x1D0 */ u8 mLevelObjectSeCount;
|
||||
/* 0x1D4 */ Z2MultiSeObj mMultiTriggerSe[10];
|
||||
/* 0x33C */ u8 mMultiTriggerSeCount;
|
||||
/* 0x33D */ u8 field_0x33d[0x60];
|
||||
/* 0x3A0 */ u32 mModY[8];
|
||||
/* 0x340 */ Vec field_0x340[8];
|
||||
/* 0x3A0 */ Vec const* mModY[8];
|
||||
/* 0x3C0 */ u8 field_0x3c0;
|
||||
/* 0x3C1 */ u8 field_0x3c1;
|
||||
/* 0x3C2 */ u8 field_0x3c2;
|
||||
|
|
|
|||
|
|
@ -183,6 +183,7 @@ public:
|
|||
}
|
||||
|
||||
JAISoundHandle* getMainBgmHandle() { return &mMainBgmHandle; }
|
||||
JAISoundHandle* getSubBgmHandle() { return &mSubBgmHandle; }
|
||||
|
||||
/* 0x00 */ JAISoundHandle mMainBgmHandle;
|
||||
/* 0x04 */ JAISoundHandle mSubBgmHandle;
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ public:
|
|||
/* 802BB448 */ virtual u16 getAudibleSw(JAISoundID) const;
|
||||
/* 802BB00C */ virtual u16 getBgmSeqResourceID(JAISoundID) const;
|
||||
/* 802BBA88 */ virtual s32 getStreamFileEntry(JAISoundID);
|
||||
/* 802BB090 */ virtual u32 getSoundType(JAISoundID) const;
|
||||
/* 802BB090 */ virtual int getSoundType(JAISoundID) const;
|
||||
/* 802BB0D8 */ virtual int getCategory(JAISoundID) const;
|
||||
/* 802BB0E0 */ virtual u32 getPriority(JAISoundID) const;
|
||||
/* 802BB6DC */ virtual void getSeInfo(JAISoundID, JAISe*) const;
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ public:
|
|||
/* 802AA8C8 */ void stop();
|
||||
/* 802AA908 */ void initParams();
|
||||
/* 802AA9E8 */ void multiVolumeSoundID(JAISoundID, f32);
|
||||
/* 802AAAC4 */ void isPlayingSoundID(JAISoundID);
|
||||
/* 802AAAC4 */ bool isPlayingSoundID(JAISoundID);
|
||||
|
||||
/* 802A9EE8 */ virtual bool startSound(JAISoundID, JAISoundHandle*,
|
||||
JGeometry::TVec3<f32> const*);
|
||||
|
|
@ -36,7 +36,7 @@ private:
|
|||
/* 0x004 */ JAISeMgr mSeMgr;
|
||||
/* 0x728 */ JAISeqMgr mSeqMgr;
|
||||
/* 0x79C */ JAIStreamMgr mStreamMgr;
|
||||
/* 0x80C */ JAISoundID field_0x80c;
|
||||
/* 0x80C */ JAISoundID mSoundID;
|
||||
}; // Size: 0x810
|
||||
|
||||
STATIC_ASSERT(sizeof(Z2SoundMgr) == 0x810);
|
||||
|
|
|
|||
|
|
@ -10,8 +10,8 @@ struct Z2SoundStarter : public JAISoundStarter, public JASGlobalInstance<Z2Sound
|
|||
u16 getPortData(JAISoundHandle*, u32, s8);
|
||||
|
||||
virtual ~Z2SoundStarter() {}
|
||||
virtual int startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3<f32> const*);
|
||||
virtual int startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3<f32> const*, u32, float,
|
||||
virtual bool startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3<f32> const*);
|
||||
virtual bool startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3<f32> const*, u32, float,
|
||||
float, float, float, float, u32);
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ struct Z2SpeechStarter : public Z2SoundStarter {
|
|||
/* 802CCFB8 */ Z2SpeechStarter();
|
||||
|
||||
/* 802CBCEC */ virtual ~Z2SpeechStarter();
|
||||
/* 802CCFF8 */ virtual int startSound(JAISoundID, JAISoundHandle*,
|
||||
/* 802CCFF8 */ virtual bool startSound(JAISoundID, JAISoundHandle*,
|
||||
JGeometry::TVec3<f32> const*, u32, f32, f32, f32, f32,
|
||||
f32, u32);
|
||||
};
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@ struct Z2StatusMgr : public JASGlobalInstance<Z2StatusMgr> {
|
|||
f32 getCameraInWaterDepthRatio() const { return mCameraInWaterDepthRatio; }
|
||||
u8 getHour() { return mHour; }
|
||||
bool isPaused() { return mIsMenuIn; }
|
||||
bool isHeartGuageOn() { return mHeartGaugeOn; }
|
||||
|
||||
/* 0x00 */ u8 mHour;
|
||||
/* 0x01 */ u8 mMinute;
|
||||
|
|
|
|||
|
|
@ -464,7 +464,7 @@ void JAISeMgr::mixOut() {
|
|||
|
||||
/* 802A0768-802A08D0 29B0A8 0168+00 0/0 1/1 0/0 .text
|
||||
* startSound__8JAISeMgrF10JAISoundIDP14JAISoundHandlePCQ29JGeometry8TVec3<f> */
|
||||
int JAISeMgr::startSound(JAISoundID param_0, JAISoundHandle* param_1,
|
||||
bool JAISeMgr::startSound(JAISoundID param_0, JAISoundHandle* param_1,
|
||||
JGeometry::TVec3<f32> const* param_2) {
|
||||
if (param_1 && param_1->isSoundAttached()) {
|
||||
param_1->getSound()->stop();
|
||||
|
|
@ -483,7 +483,7 @@ int JAISeMgr::startSound(JAISoundID param_0, JAISoundHandle* param_1,
|
|||
JAISe* pJAISe = newSe_(categoryIndex, uVar4);
|
||||
if (pJAISe == NULL) {
|
||||
JASReport("cannot new Se %08x.", param_0.mId.mFullId);
|
||||
return 0;
|
||||
return false;
|
||||
}
|
||||
JAIAudience* pAudience = getAudience(categoryIndex);
|
||||
pJAISe->JAISeMgr_startID_(param_0, param_2, pAudience);
|
||||
|
|
@ -493,7 +493,7 @@ int JAISeMgr::startSound(JAISoundID param_0, JAISoundHandle* param_1,
|
|||
if (param_1 != NULL) {
|
||||
pJAISe->attachHandle(param_1);
|
||||
}
|
||||
return 1;
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 802A08D0-802A08FC 29B210 002C+00 0/0 2/2 0/0 .text getNumActiveSe__8JAISeMgrCFv */
|
||||
|
|
|
|||
|
|
@ -185,7 +185,7 @@ extern "C" asm void func_802A1AF4(void* _this) {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm int JAISeqMgr::startSound(JAISoundID param_0, JAISoundHandle* param_1,
|
||||
asm bool JAISeqMgr::startSound(JAISoundID param_0, JAISoundHandle* param_1,
|
||||
JGeometry::TVec3<f32> const* param_2) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JAudio2/JAISeqMgr/func_802A1B48.s"
|
||||
|
|
|
|||
|
|
@ -107,7 +107,7 @@ asm JAIStreamMgr::JAIStreamMgr(bool param_0) {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm int JAIStreamMgr::startSound(JAISoundID param_0, JAISoundHandle* param_1,
|
||||
asm bool JAIStreamMgr::startSound(JAISoundID param_0, JAISoundHandle* param_1,
|
||||
JGeometry::TVec3<f32> const* param_2) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JAudio2/JAIStreamMgr/func_802A3C3C.s"
|
||||
|
|
|
|||
|
|
@ -318,7 +318,7 @@ JAUSection::JAUSection(JAUSectionHeap* param_0, u32 param_1, s32 param_2) : JSUL
|
|||
field_0x2c = 1;
|
||||
data_.field_0x98 = param_2;
|
||||
if (this != sectionHeap_) {
|
||||
data_.field_0x00.setSeqDataArchive(sectionHeap_->sectionHeapData_.field_0x408.getSeqDataArchive());
|
||||
data_.field_0x00.setSeqDataArchive(sectionHeap_->sectionHeapData_.seqDataBlocks.getSeqDataArchive());
|
||||
}
|
||||
}
|
||||
#else
|
||||
|
|
@ -773,7 +773,7 @@ JAUSectionHeap::TSectionHeapData::TSectionHeapData() {
|
|||
/* 802A5E60-802A5EC0 2A07A0 0060+00 0/0 1/1 0/0 .text
|
||||
* setSeqDataArchive__14JAUSectionHeapFP10JKRArchive */
|
||||
void JAUSectionHeap::setSeqDataArchive(JKRArchive* param_0) {
|
||||
sectionHeapData_.field_0x408.setSeqDataArchive(param_0);
|
||||
sectionHeapData_.seqDataBlocks.setSeqDataArchive(param_0);
|
||||
for (JSULink<JAUSection>* link = mSectionList.getFirst(); link; link = link->getNext()) {
|
||||
link->getObject()->data_.field_0x00.setSeqDataArchive(param_0);
|
||||
}
|
||||
|
|
@ -782,13 +782,13 @@ void JAUSectionHeap::setSeqDataArchive(JKRArchive* param_0) {
|
|||
/* 802A5EC0-802A5EF8 2A0800 0038+00 0/0 1/1 0/0 .text
|
||||
* loadDynamicSeq__14JAUSectionHeapF10JAISoundIDb */
|
||||
bool JAUSectionHeap::loadDynamicSeq(JAISoundID param_0, bool param_1) {
|
||||
return sectionHeapData_.field_0x408.loadDynamicSeq(param_0, param_1, sectionHeapData_.seqDataUser);
|
||||
return sectionHeapData_.seqDataBlocks.loadDynamicSeq(param_0, param_1, sectionHeapData_.seqDataUser);
|
||||
}
|
||||
|
||||
/* 802A5EF8-802A5F24 2A0838 002C+00 0/0 1/1 0/0 .text
|
||||
* releaseIdleDynamicSeqDataBlock__14JAUSectionHeapFv */
|
||||
void JAUSectionHeap::releaseIdleDynamicSeqDataBlock() {
|
||||
sectionHeapData_.field_0x408.releaseIdleDynamicSeqDataBlock(sectionHeapData_.seqDataUser);
|
||||
sectionHeapData_.seqDataBlocks.releaseIdleDynamicSeqDataBlock(sectionHeapData_.seqDataUser);
|
||||
}
|
||||
|
||||
namespace {
|
||||
|
|
@ -865,7 +865,7 @@ bool JAUSectionHeap::newDynamicSeqBlock(u32 size) {
|
|||
seqDataBlock->field_0x14.size = size;
|
||||
seqDataBlock->field_0x10.setAnonymous();
|
||||
JASCriticalSection cs;
|
||||
if (base1.sectionHeap_->sectionHeapData_.field_0x408.appendDynamicSeqDataBlock(seqDataBlock)) {
|
||||
if (base1.sectionHeap_->sectionHeapData_.seqDataBlocks.appendDynamicSeqDataBlock(seqDataBlock)) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
|
@ -881,7 +881,7 @@ s32 JAUSectionHeap::getSeqData(JAISoundID param_0, JAISeqData* param_1) {
|
|||
return 2;
|
||||
}
|
||||
}
|
||||
return sectionHeapData_.field_0x408.getSeqData(param_0, sectionHeapData_.seqDataUser, param_1, true);
|
||||
return sectionHeapData_.seqDataBlocks.getSeqData(param_0, sectionHeapData_.seqDataUser, param_1, true);
|
||||
}
|
||||
|
||||
/* 802A6270-802A6278 2A0BB0 0008+00 2/1 0/0 0/0 .text releaseSeqData__14JAUSectionHeapFv
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ u8* JAUSeqDataBlocks::getSeqData(JAISoundID param_0) {
|
|||
if ((u32)param_0 == 0xffffffff) {
|
||||
return NULL;
|
||||
}
|
||||
for (JSULink<JAUSeqDataBlock>* link = field_0x0.getFirst(); link != NULL;
|
||||
for (JSULink<JAUSeqDataBlock>* link = getFirst(); link != NULL;
|
||||
link = link->getNext())
|
||||
{
|
||||
if ((u32)link->getObject()->field_0x10 == (u32)param_0) {
|
||||
|
|
@ -34,7 +34,7 @@ u8* JAUSeqDataBlocks::getSeqData(JAISoundID param_0) {
|
|||
JSULink<JAUSeqDataBlock>* JAUSeqDataBlocks::seekFreeBlock(u32 size) {
|
||||
u32 currentBlockSize = 0xffffffff;
|
||||
JSULink<JAUSeqDataBlock>* rv = NULL;
|
||||
for (JSULink<JAUSeqDataBlock>* link = field_0x0.getFirst(); link != NULL; link = link->getNext())
|
||||
for (JSULink<JAUSeqDataBlock>* link = getFirst(); link != NULL; link = link->getNext())
|
||||
{
|
||||
if (link->getObject()->field_0x10.isAnonymous()) {
|
||||
u32 blockSize = link->getObject()->field_0x14.size;
|
||||
|
|
@ -53,20 +53,20 @@ JSULink<JAUSeqDataBlock>* JAUSeqDataBlocks::seekFreeBlock(u32 size) {
|
|||
/* 802A69D8-802A69F8 2A1318 0020+00 5/5 0/0 0/0 .text
|
||||
* append__16JAUSeqDataBlocksFP26JSULink<15JAUSeqDataBlock> */
|
||||
bool JAUSeqDataBlocks::append(JSULink<JAUSeqDataBlock>* param_0) {
|
||||
return field_0x0.append(param_0);
|
||||
return JSUList::append(param_0);
|
||||
}
|
||||
|
||||
/* 802A69F8-802A6A18 2A1338 0020+00 4/4 0/0 0/0 .text
|
||||
* remove__16JAUSeqDataBlocksFP26JSULink<15JAUSeqDataBlock> */
|
||||
bool JAUSeqDataBlocks::remove(JSULink<JAUSeqDataBlock>* param_0) {
|
||||
return field_0x0.remove(param_0);
|
||||
return JSUList::remove(param_0);
|
||||
}
|
||||
|
||||
/* 802A6A18-802A6A58 2A1358 0040+00 1/1 0/0 0/0 .text
|
||||
* hasFailedBlock__16JAUSeqDataBlocksF10JAISoundID */
|
||||
bool JAUSeqDataBlocks::hasFailedBlock(JAISoundID param_0) {
|
||||
JSULink<JAUSeqDataBlock>* rv = NULL;
|
||||
for (JSULink<JAUSeqDataBlock>* link = field_0x0.getFirst(); link != NULL; link = link->getNext())
|
||||
for (JSULink<JAUSeqDataBlock>* link = getFirst(); link != NULL; link = link->getNext())
|
||||
{
|
||||
if (link->getObject()->field_0x10 == param_0) {
|
||||
link->getObject()->field_0x10.setAnonymous();
|
||||
|
|
@ -93,7 +93,7 @@ void JAUDynamicSeqDataBlocks::setSeqDataArchive(JKRArchive* param_0) {
|
|||
s32 JAUDynamicSeqDataBlocks::getSeqData(JAISoundID param_0, JAISeqDataUser* param_1,
|
||||
JAISeqData* param_2, bool param_3) {
|
||||
rearrangeLoadingSeqs_();
|
||||
if (field_0x0.hasFailedBlock(param_0)) {
|
||||
if (mFreeBlocks.hasFailedBlock(param_0)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -101,7 +101,7 @@ s32 JAUDynamicSeqDataBlocks::getSeqData(JAISoundID param_0, JAISeqDataUser* para
|
|||
return 1;
|
||||
}
|
||||
|
||||
u8* seqData = field_0x18.getSeqData(param_0);
|
||||
u8* seqData = mLoadedBlocks.getSeqData(param_0);
|
||||
if (seqData != NULL) {
|
||||
param_2->field_0x0 = seqData;
|
||||
param_2->field_0x4 = 0;
|
||||
|
|
@ -119,9 +119,9 @@ s32 JAUDynamicSeqDataBlocks::getSeqData(JAISoundID param_0, JAISeqDataUser* para
|
|||
bool JAUDynamicSeqDataBlocks::appendDynamicSeqDataBlock(JAUSeqDataBlock* seqDataBlock) {
|
||||
rearrangeLoadingSeqs_();
|
||||
if (seqDataBlock->field_0x10.isAnonymous()) {
|
||||
field_0x0.append(&seqDataBlock->field_0x0);
|
||||
mFreeBlocks.append(&seqDataBlock->field_0x0);
|
||||
} else {
|
||||
field_0x18.append(&seqDataBlock->field_0x0);
|
||||
mLoadedBlocks.append(&seqDataBlock->field_0x0);
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
|
@ -150,7 +150,7 @@ bool JAUDynamicSeqDataBlocks::loadDynamicSeq(JAISoundID param_0, bool param_1,
|
|||
}
|
||||
u16 resourceId = soundInfo->getBgmSeqResourceID(param_0);
|
||||
size_t resSize = JASResArcLoader::getResSize(seqDataArchive_, resourceId);
|
||||
JSULink<JAUSeqDataBlock>* link = field_0x0.seekFreeBlock(resSize);
|
||||
JSULink<JAUSeqDataBlock>* link = mFreeBlocks.seekFreeBlock(resSize);
|
||||
if (link == NULL) {
|
||||
if (param_1) {
|
||||
link = &releaseIdleDynamicSeqDataBlock_(param_2, resSize)->field_0x0;
|
||||
|
|
@ -161,7 +161,7 @@ bool JAUDynamicSeqDataBlocks::loadDynamicSeq(JAISoundID param_0, bool param_1,
|
|||
return false;
|
||||
}
|
||||
}
|
||||
field_0x0.remove(link);
|
||||
mFreeBlocks.remove(link);
|
||||
JAUSeqDataBlock* seqDataBlock = link->getObject();
|
||||
seqDataBlock->field_0x10 = param_0;
|
||||
link->getObject()->field_0x1c = 1;
|
||||
|
|
@ -179,17 +179,17 @@ u32 JAUDynamicSeqDataBlocks::releaseIdleDynamicSeqDataBlock(JAISeqDataUser* para
|
|||
rearrangeLoadingSeqs_();
|
||||
u32 size = 0;
|
||||
JSULink<JAUSeqDataBlock>* nextLink;
|
||||
for (JSULink<JAUSeqDataBlock>* link = field_0x18.field_0x0.getFirst(); link != NULL; ) {
|
||||
for (JSULink<JAUSeqDataBlock>* link = mLoadedBlocks.getFirst(); link != NULL; ) {
|
||||
nextLink = link->getNext();
|
||||
JAUSeqDataBlock* seqDataBlock = link->getObject();
|
||||
if (param_0 == NULL || !param_0->isUsingSeqData(seqDataBlock->field_0x14)) {
|
||||
field_0x18.remove(link);
|
||||
mLoadedBlocks.remove(link);
|
||||
JAUSeqDataBlock* seqDataBlock = link->getObject();
|
||||
link->getObject()->field_0x10.setAnonymous();
|
||||
if (size < seqDataBlock->field_0x14.size) {
|
||||
size = seqDataBlock->field_0x14.size;
|
||||
}
|
||||
field_0x0.append(link);
|
||||
mFreeBlocks.append(link);
|
||||
}
|
||||
link = nextLink;
|
||||
}
|
||||
|
|
@ -203,7 +203,7 @@ JAUDynamicSeqDataBlocks::releaseIdleDynamicSeqDataBlock_(JAISeqDataUser* param_0
|
|||
rearrangeLoadingSeqs_();
|
||||
u32 minSize = 0xffffffff;
|
||||
JSULink<JAUSeqDataBlock>* foundBlock = NULL;
|
||||
JSULink<JAUSeqDataBlock>* link = field_0x18.field_0x0.getFirst();
|
||||
JSULink<JAUSeqDataBlock>* link = mLoadedBlocks.getFirst();
|
||||
JSULink<JAUSeqDataBlock>* nextLink;
|
||||
while (link != NULL) {
|
||||
nextLink = link->getNext();
|
||||
|
|
@ -218,10 +218,10 @@ JAUDynamicSeqDataBlocks::releaseIdleDynamicSeqDataBlock_(JAISeqDataUser* param_0
|
|||
link = nextLink;
|
||||
}
|
||||
if (foundBlock != NULL) {
|
||||
field_0x18.remove(foundBlock);
|
||||
mLoadedBlocks.remove(foundBlock);
|
||||
JAUSeqDataBlock* seqDataBlock = foundBlock->getObject();
|
||||
seqDataBlock->field_0x10.setAnonymous();
|
||||
field_0x0.append(foundBlock);
|
||||
mFreeBlocks.append(foundBlock);
|
||||
return foundBlock->getObject();
|
||||
}
|
||||
return NULL;
|
||||
|
|
@ -230,17 +230,17 @@ JAUDynamicSeqDataBlocks::releaseIdleDynamicSeqDataBlock_(JAISeqDataUser* param_0
|
|||
/* 802A6EDC-802A6F70 2A181C 0094+00 4/4 0/0 0/0 .text
|
||||
* rearrangeLoadingSeqs___23JAUDynamicSeqDataBlocksFv */
|
||||
void JAUDynamicSeqDataBlocks::rearrangeLoadingSeqs_() {
|
||||
JSULink<JAUSeqDataBlock>* link = field_0xc.field_0x0.getFirst();
|
||||
JSULink<JAUSeqDataBlock>* link = field_0xc.getFirst();
|
||||
JSULink<JAUSeqDataBlock>* nextLink;
|
||||
while (link != NULL) {
|
||||
nextLink = link->getNext();
|
||||
JAUSeqDataBlock* seqDataBlock = link->getObject();
|
||||
if (seqDataBlock->field_0x1c == 0) {
|
||||
field_0xc.remove(link);
|
||||
field_0x0.append(link);
|
||||
mFreeBlocks.append(link);
|
||||
} else if (seqDataBlock->field_0x1c == 2) {
|
||||
field_0xc.remove(link);
|
||||
field_0x18.append(link);
|
||||
mLoadedBlocks.append(link);
|
||||
}
|
||||
link = nextLink;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -415,7 +415,7 @@ asm bool Z2AudioMgr::hasReset() const {
|
|||
* startSound__10Z2AudioMgrF10JAISoundIDP14JAISoundHandlePCQ29JGeometry8TVec3<f> */
|
||||
// vtable order
|
||||
#ifdef NONMATCHING
|
||||
int Z2AudioMgr::startSound(JAISoundID param_0, JAISoundHandle* param_1,
|
||||
bool Z2AudioMgr::startSound(JAISoundID param_0, JAISoundHandle* param_1,
|
||||
JGeometry::TVec3<f32> const* param_2) {
|
||||
if (mResettingFlag) {
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -1145,7 +1145,7 @@ Z2SoundHandlePool* Z2CreatureOI::startCreatureSoundLevel(JAISoundID i_soundID, u
|
|||
* startTentacleSound__12Z2CreatureOIF10JAISoundIDUcUlSc */
|
||||
Z2SoundHandlePool* Z2CreatureOI::startTentacleSound(JAISoundID i_soundID, u8 param_1, u32 param_2,
|
||||
s8 param_3) {
|
||||
mTentacleSounds[param_1].startSound(i_soundID, param_2, param_3);
|
||||
return mTentacleSounds[param_1].startSound(i_soundID, param_2, param_3);
|
||||
}
|
||||
|
||||
/* 802C2CD4-802C2DE0 2BD614 010C+00 0/0 0/0 1/1 .text
|
||||
|
|
|
|||
|
|
@ -634,7 +634,7 @@ SECTION_SDATA2 static f32 lit_4399 = 9.0f / 10.0f;
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm int Z2LinkSoundStarter::startSound(JAISoundID param_0, JAISoundHandle* param_1,
|
||||
asm bool Z2LinkSoundStarter::startSound(JAISoundID param_0, JAISoundHandle* param_1,
|
||||
JGeometry::TVec3<f32> const* param_2, u32 param_3,
|
||||
f32 param_4, f32 param_5, f32 param_6, f32 param_7,
|
||||
f32 param_8, u32 param_9) {
|
||||
|
|
@ -697,7 +697,7 @@ Z2RideSoundStarter::Z2RideSoundStarter(Z2CreatureRide* ride) : Z2SoundStarter(fa
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm int Z2RideSoundStarter::startSound(JAISoundID param_0, JAISoundHandle* param_1,
|
||||
asm bool Z2RideSoundStarter::startSound(JAISoundID param_0, JAISoundHandle* param_1,
|
||||
JGeometry::TVec3<f32> const* param_2, u32 param_3,
|
||||
f32 param_4, f32 param_5, f32 param_6, f32 param_7,
|
||||
f32 param_8, u32 param_9) {
|
||||
|
|
|
|||
|
|
@ -160,8 +160,13 @@ f32 Z2Param::ENEMY_LASTHIT_MUTE_VOLUME;
|
|||
/* 80451340 0001+00 data_80451340 None */
|
||||
/* 80451341 0001+00 data_80451341 None */
|
||||
/* 80451342 0006+00 data_80451342 None */
|
||||
extern u8 struct_80451340[8];
|
||||
u8 struct_80451340[8];
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
u8 struct_80451340;
|
||||
u8 struct_80451341;
|
||||
u8 struct_80451342;
|
||||
u8 pad_80451344[4];
|
||||
#pragma pop
|
||||
|
||||
/* 80451348-80451350 000848 0008+00 0/0 4/4 0/0 .sbss None */
|
||||
extern u8 data_80451348[8];
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -92,7 +92,7 @@ u16 Z2SoundInfo::getBgmSeqResourceID(JAISoundID param_0) const {
|
|||
}
|
||||
|
||||
/* 802BB090-802BB0D8 2B59D0 0048+00 1/0 0/0 0/0 .text getSoundType__11Z2SoundInfoCF10JAISoundID */
|
||||
u32 Z2SoundInfo::getSoundType(JAISoundID param_0) const {
|
||||
int Z2SoundInfo::getSoundType(JAISoundID param_0) const {
|
||||
switch (param_0.mId.mBytes.b0) {
|
||||
case 0:
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -4,33 +4,17 @@
|
|||
//
|
||||
|
||||
#include "Z2AudioLib/Z2SoundMgr.h"
|
||||
#include "Z2AudioLib/Z2Param.h"
|
||||
#include "Z2AudioLib/Z2SceneMgr.h"
|
||||
#include "Z2AudioLib/Z2SeMgr.h"
|
||||
#include "Z2AudioLib/Z2SeqMgr.h"
|
||||
#include "Z2AudioLib/Z2SoundInfo.h"
|
||||
#include "Z2AudioLib/Z2SpeechMgr2.h"
|
||||
#include "JSystem/JAudio2/JASCalc.h"
|
||||
#include "JSystem/JAudio2/JASDriverIF.h"
|
||||
#include "JSystem/JAudio2/JAUSectionHeap.h"
|
||||
#include "dol2asm.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct Z2SpeechMgr2 {
|
||||
/* 802CC190 */ void speakOneWord(bool);
|
||||
};
|
||||
|
||||
struct Z2SoundInfo {
|
||||
/* 802BBAC8 */ void getSwBit(JAISoundID) const;
|
||||
};
|
||||
|
||||
struct JAUSectionHeap {
|
||||
/* 802A5EC0 */ void loadDynamicSeq(JAISoundID, bool);
|
||||
/* 802A5EF8 */ void releaseIdleDynamicSeqDataBlock();
|
||||
};
|
||||
|
||||
struct JASDriver {
|
||||
/* 8029E188 */ void waitSubFrame();
|
||||
};
|
||||
|
||||
struct JASCalc {
|
||||
static u8 const CUTOFF_TO_IIR_TABLE[1024];
|
||||
};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
|
@ -53,6 +37,8 @@ extern "C" void multiVolumeSoundID__10Z2SoundMgrF10JAISoundIDf();
|
|||
extern "C" void isPlayingSoundID__10Z2SoundMgrF10JAISoundID();
|
||||
extern "C" extern char const* const Z2SoundMgr__stringBase0;
|
||||
|
||||
void dComIfGs_staffroll_next_go();
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
|
@ -106,7 +92,6 @@ extern "C" void _restgpr_25();
|
|||
extern "C" void _restgpr_26();
|
||||
extern "C" void _restgpr_27();
|
||||
extern "C" void _restgpr_28();
|
||||
extern "C" void sprintf();
|
||||
extern "C" u8 const CUTOFF_TO_IIR_TABLE__7JASCalc[1024];
|
||||
extern "C" extern u8 data_80450B4C[4];
|
||||
extern "C" extern u8 data_80450B70[4];
|
||||
|
|
@ -114,7 +99,6 @@ extern "C" extern u8 data_80450B80[4];
|
|||
extern "C" extern u8 data_80450B84[4];
|
||||
extern "C" extern u8 data_80450B88[4];
|
||||
extern "C" extern u8 data_80450CC0[4 + 4 /* padding */];
|
||||
extern "C" extern u8 struct_80451340[8];
|
||||
extern "C" extern u8 __OSReport_disable;
|
||||
|
||||
//
|
||||
|
|
@ -155,6 +139,90 @@ SECTION_SDATA2 static f32 lit_3688 = 1.0f;
|
|||
SECTION_SDATA2 static f32 lit_3689 = -1.0f;
|
||||
|
||||
/* 802A9BC8-802A9E80 2A4508 02B8+00 1/0 1/1 0/0 .text seqCallback__FP8JASTrackUs */
|
||||
#ifdef NONMATCHING
|
||||
// matches with literals
|
||||
u16 seqCallback(JASTrack* i_track, u16 param_1) {
|
||||
JSUList<JAISe>* list;
|
||||
switch (param_1) {
|
||||
case 0x1000:
|
||||
Z2GetSeqMgr()->setChildTrackVolume(Z2GetSeqMgr()->getSubBgmHandle(),
|
||||
3, 1.0f, 0, -1.0f, -1.0f);
|
||||
Z2GetSoundMgr()->getSeqMgr()->calc();
|
||||
Z2GetSoundMgr()->getSeqMgr()->mixOut();
|
||||
break;
|
||||
case 0x1001:
|
||||
Z2GetSeqMgr()->onFieldBgmJumpStart();
|
||||
break;
|
||||
case 0x1002:
|
||||
Z2GetSeqMgr()->onFieldBgmJumpEnd();
|
||||
break;
|
||||
case 0x1003:
|
||||
Z2GetSpeechMgr2()->speakOneWord(true);
|
||||
break;
|
||||
case 0x1004:
|
||||
Z2GetSeqMgr()->onVariantBgmJumpEnd(true);
|
||||
break;
|
||||
case 0x1005:
|
||||
Z2GetSeqMgr()->onVariantBgmJumpEnd(false);
|
||||
break;
|
||||
case 0x1006:
|
||||
list = Z2GetSoundMgr()->getSeMgr()->getCategory(5)->getSeList();
|
||||
for (JSULink<JAISe>* link = list->getFirst(); link != NULL; link = link->getNext()) {
|
||||
switch (link->getObject()->getID()) {
|
||||
case Z2SE_GRO_MV_SINGING:
|
||||
case Z2SE_GRR_MV_SINGING:
|
||||
case Z2SE_CLERK_MV_SONG_HO:
|
||||
case Z2SE_WAD_A_MV_DANCE:
|
||||
case Z2SE_MCN_A_V_DANCE:
|
||||
case Z2SE_WCN_A_V_DANCE:
|
||||
link->getObject()->getTrack()->writePort(14, 1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 0x1015:
|
||||
list = Z2GetSoundMgr()->getSeMgr()->getCategory(5)->getSeList();
|
||||
for (JSULink<JAISe>* link = list->getFirst(); link != NULL; link = link->getNext()) {
|
||||
switch (link->getObject()->getID()) {
|
||||
case Z2SE_MCN_A_V_DANCE:
|
||||
case Z2SE_WCN_A_V_DANCE:
|
||||
link->getObject()->getTrack()->writePort(14, 1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 0x1007:
|
||||
Z2GetSeqMgr()->changeBgmStatus(7);
|
||||
break;
|
||||
case 0x1008:
|
||||
Z2GetSeqMgr()->changeBgmStatus(8);
|
||||
break;
|
||||
case 0x1014:
|
||||
dComIfGs_staffroll_next_go();
|
||||
break;
|
||||
}
|
||||
if (param_1 >= 0x1009 && param_1 <= 0x1013) {
|
||||
JAISoundID sound_id = Z2SE_CSL_TOWN_BAND_VOCAL;
|
||||
if (param_1 <= 0x100a) {
|
||||
sound_id = Z2SE_CSL_TOWN_BAND_GT_1;
|
||||
} else if (param_1 <= 0x100c) {
|
||||
sound_id = Z2SE_CSL_TOWN_BAND_GT_2;
|
||||
} else if (param_1 <= 0x100f) {
|
||||
sound_id = Z2SE_CSL_TOWN_BAND_GT_3;
|
||||
} else if (param_1 <= 0x1011) {
|
||||
sound_id = Z2SE_CSL_TOWN_BAND_FLUTE;
|
||||
}
|
||||
list = Z2GetSoundMgr()->getSeMgr()->getCategory(6)->getSeList();
|
||||
for (JSULink<JAISe>* link = list->getFirst(); link != NULL; link = link->getNext()) {
|
||||
if (link->getObject()->getID() == sound_id) {
|
||||
link->getObject()->getTrack()->writePort(14, param_1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
|
|
@ -163,6 +231,7 @@ asm u16 seqCallback(JASTrack* param_0, u16 param_1) {
|
|||
#include "asm/Z2AudioLib/Z2SoundMgr/seqCallback__FP8JASTrackUs.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803C9D70-803C9D80 026E90 000C+04 1/1 1/1 0/0 .data __vt__10Z2SoundMgr */
|
||||
|
|
@ -175,6 +244,17 @@ SECTION_DATA extern void* __vt__10Z2SoundMgr[3 + 1 /* padding */] = {
|
|||
};
|
||||
|
||||
/* 802A9E80-802A9EE8 2A47C0 0068+00 0/0 1/1 0/0 .text __ct__10Z2SoundMgrFv */
|
||||
#ifdef NONMATCHING
|
||||
// matches but generates an extra weak function
|
||||
Z2SoundMgr::Z2SoundMgr() :
|
||||
JASGlobalInstance<Z2SoundMgr>(this),
|
||||
mSeMgr(true),
|
||||
mSeqMgr(true),
|
||||
mStreamMgr(true)
|
||||
{
|
||||
mSoundID.setAnonymous();
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
|
|
@ -183,6 +263,7 @@ asm Z2SoundMgr::Z2SoundMgr() {
|
|||
#include "asm/Z2AudioLib/Z2SoundMgr/__ct__10Z2SoundMgrFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 8039B9D0-8039B9D0 028030 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
|
|
@ -209,6 +290,64 @@ SECTION_SDATA2 static f64 lit_3909 = 4503599627370496.0 /* cast u32 to float */;
|
|||
|
||||
/* 802A9EE8-802AA1B0 2A4828 02C8+00 1/0 0/0 0/0 .text
|
||||
* startSound__10Z2SoundMgrF10JAISoundIDP14JAISoundHandlePCQ29JGeometry8TVec3<f> */
|
||||
#ifdef NONMATCHING
|
||||
// matches with literals
|
||||
bool Z2SoundMgr::startSound(JAISoundID i_soundID, JAISoundHandle* i_handle,
|
||||
JGeometry::TVec3<f32> const* i_pos) {
|
||||
switch (Z2GetSoundInfo()->getSoundType(i_soundID)) {
|
||||
case 0:
|
||||
if (Z2GetSoundInfo()->getSwBit(i_soundID) & 8) {
|
||||
Z2GetSeqMgr()->bgmAllMute(3, 0.3f);
|
||||
mSoundID = i_soundID;
|
||||
}
|
||||
return mSeMgr.startSound(i_soundID, i_handle, i_pos);
|
||||
case 1:
|
||||
if (i_soundID == Z2BGM_LUTERA_DEMO) {
|
||||
Z2GetSeqMgr()->bgmStart(Z2BGM_LUTERA2, 0, 0);
|
||||
Z2GetSeqMgr()->i_unMuteSceneBgm(0);
|
||||
Z2GetSeqMgr()->changeBgmStatus(0);
|
||||
return mSeMgr.startSound(Z2SE_NO_SOUND, i_handle, i_pos);
|
||||
} else {
|
||||
bool loaded = false;
|
||||
JAUSectionHeap* heap = JASGlobalInstance<JAUSectionHeap>::getInstance();
|
||||
JAUSeqDataBlocks const& loaded_blocks =
|
||||
heap->getSectionHeapData().seqDataBlocks.getLoadedBlocks();
|
||||
JSULink<JAUSeqDataBlock>* link;
|
||||
for (link = loaded_blocks.getFirst(); link != NULL; link = link->getNext()) {
|
||||
if (link->getObject()->field_0x10 == i_soundID) {
|
||||
loaded = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!loaded) {
|
||||
heap->releaseIdleDynamicSeqDataBlock();
|
||||
if (!heap->loadDynamicSeq(i_soundID, true)) {
|
||||
JAUSeqDataBlocks const& free_blocks =
|
||||
heap->getSectionHeapData().seqDataBlocks.getFreeBlocks();
|
||||
for (link = free_blocks.getFirst(); link != NULL; link = link->getNext()) {
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
return mSeqMgr.startSound(i_soundID, i_handle, i_pos);
|
||||
}
|
||||
case 2:
|
||||
if (i_soundID == 0x2000001 || i_soundID == 0x200004d) {
|
||||
mStreamMgr.stop(180);
|
||||
return mSeMgr.startSound(Z2SE_NO_SOUND, i_handle, i_pos);
|
||||
}
|
||||
if (i_soundID == 0x2000005) {
|
||||
mSeMgr.getCategory(9)->pause(false);
|
||||
mSeMgr.getCategory(9)->getParams()->moveVolume(1.0f, 45);
|
||||
}
|
||||
return mStreamMgr.startSound(i_soundID, i_handle, i_pos);
|
||||
default:
|
||||
char error[32];
|
||||
sprintf(error, "Unknown Sound-Type id :%08x\n", (u32)i_soundID);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
|
|
@ -218,8 +357,22 @@ asm bool Z2SoundMgr::startSound(JAISoundID param_0, JAISoundHandle* param_1,
|
|||
#include "asm/Z2AudioLib/Z2SoundMgr/func_802A9EE8.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 802AA1B0-802AA270 2A4AF0 00C0+00 2/2 0/0 0/0 .text calc__10Z2SoundMgrFv */
|
||||
#ifdef NONMATCHING
|
||||
void Z2SoundMgr::calc() {
|
||||
mSeMgr.calc();
|
||||
if (!mSoundID.isAnonymous() && !isPlayingSoundID(mSoundID)) {
|
||||
if (Z2GetSceneMgr()->isSceneExist()) {
|
||||
Z2GetSeqMgr()->bgmAllUnMute(3);
|
||||
}
|
||||
mSoundID.setAnonymous();
|
||||
}
|
||||
mSeqMgr.calc();
|
||||
mStreamMgr.calc();
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
|
|
@ -228,67 +381,148 @@ asm void Z2SoundMgr::calc() {
|
|||
#include "asm/Z2AudioLib/Z2SoundMgr/calc__10Z2SoundMgrFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 802AA270-802AA33C 2A4BB0 00CC+00 1/1 2/2 0/0 .text setIIR__10Z2SoundMgrFP8JAISoundPCs
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void Z2SoundMgr::setIIR(JAISound* param_0, s16 const* param_1) {
|
||||
nofralloc
|
||||
#include "asm/Z2AudioLib/Z2SoundMgr/setIIR__10Z2SoundMgrFP8JAISoundPCs.s"
|
||||
void Z2SoundMgr::setIIR(JAISound* param_0, s16 const* param_1) {
|
||||
if (param_0 != NULL) {
|
||||
JASTrack* track = param_0->getTrack();
|
||||
for (u32 i = 0; i < 4; i++) {
|
||||
JASTrack* child = track->getChild(i);
|
||||
if (child != NULL && child->getStatus() == 1) {
|
||||
child->setIIR(param_1);
|
||||
for (u32 j = 0; j < 4; j++) {
|
||||
JASTrack* child2 = child->getChild(j);
|
||||
if (child2 != NULL && child2->getStatus() == 1) {
|
||||
child2->setIIR(param_1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 8039B9C0-8039B9D0 028020 0010+00 1/1 0/0 0/0 .rodata cResetFilterTable */
|
||||
SECTION_RODATA static u8 const cResetFilterTable[16] = {
|
||||
0x7F, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
static s16 const cResetFilterTable[8] = {
|
||||
0x7FFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x8039B9C0, &cResetFilterTable);
|
||||
|
||||
/* 802AA33C-802AA430 2A4C7C 00F4+00 1/1 0/0 0/0 .text setFilterOff__10Z2SoundMgrFP8JAISound */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void Z2SoundMgr::setFilterOff(JAISound* param_0) {
|
||||
nofralloc
|
||||
#include "asm/Z2AudioLib/Z2SoundMgr/setFilterOff__10Z2SoundMgrFP8JAISound.s"
|
||||
void Z2SoundMgr::setFilterOff(JAISound* param_0) {
|
||||
if (param_0 != NULL) {
|
||||
JASTrack* track = param_0->getTrack();
|
||||
for (u32 i = 0; i < 4; i++) {
|
||||
JASTrack* child = track->getChild(i);
|
||||
if (child != NULL && child->getStatus() == 1) {
|
||||
child->setIIR(cResetFilterTable);
|
||||
child->setFIR(cResetFilterTable);
|
||||
for (u32 j = 0; j < 4; j++) {
|
||||
JASTrack* child2 = child->getChild(j);
|
||||
if (child2 != NULL && child2->getStatus() == 1) {
|
||||
child2->setIIR(cResetFilterTable);
|
||||
child2->setFIR(cResetFilterTable);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802AA430-802AA528 2A4D70 00F8+00 0/0 1/1 0/0 .text resetFilterAll__10Z2SoundMgrFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void Z2SoundMgr::resetFilterAll() {
|
||||
nofralloc
|
||||
#include "asm/Z2AudioLib/Z2SoundMgr/resetFilterAll__10Z2SoundMgrFv.s"
|
||||
void Z2SoundMgr::resetFilterAll() {
|
||||
int i = 1;
|
||||
if (struct_80451342 != 0) {
|
||||
i = 0;
|
||||
}
|
||||
for (; i < 9; i++) {
|
||||
JAISeCategoryMgr* category = mSeMgr.getCategory(i);
|
||||
int se_count = category->getMaxActiveSe();
|
||||
if (se_count > 0) {
|
||||
for (JSULink<JAISe>* link = category->getSeList()->getFirst();
|
||||
link != NULL && se_count > 0 && !link->getObject()->isFarAway();
|
||||
link = link->getNext(), se_count--)
|
||||
{
|
||||
setFilterOff(link->getObject());
|
||||
}
|
||||
} else {
|
||||
for (JSULink<JAISe>* link = category->getSeList()->getFirst();
|
||||
link != NULL && !link->getObject()->isFarAway();
|
||||
link = link->getNext())
|
||||
{
|
||||
setFilterOff(link->getObject());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802AA528-802AA67C 2A4E68 0154+00 2/2 0/0 0/0 .text mixOut__10Z2SoundMgrFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void Z2SoundMgr::mixOut() {
|
||||
nofralloc
|
||||
#include "asm/Z2AudioLib/Z2SoundMgr/mixOut__10Z2SoundMgrFv.s"
|
||||
void Z2SoundMgr::mixOut() {
|
||||
if (struct_80451340 != 0 && Z2GetSceneMgr()->isInDarkness()) {
|
||||
int i = 1;
|
||||
if (struct_80451342 != 0) {
|
||||
i = 0;
|
||||
}
|
||||
for (; i < 9; i++) {
|
||||
JAISeCategoryMgr* category = mSeMgr.getCategory(i);
|
||||
int se_count = category->getMaxActiveSe();
|
||||
if (se_count > 0) {
|
||||
for (JSULink<JAISe>* link = category->getSeList()->getFirst();
|
||||
link != NULL && se_count > 0 && !link->getObject()->isFarAway();
|
||||
link = link->getNext(), se_count--)
|
||||
{
|
||||
setIIR(link->getObject(), JASCalc::CUTOFF_TO_IIR_TABLE[struct_80451341]);
|
||||
}
|
||||
} else {
|
||||
for (JSULink<JAISe>* link = category->getSeList()->getFirst();
|
||||
link != NULL && !link->getObject()->isFarAway();
|
||||
link = link->getNext())
|
||||
{
|
||||
setIIR(link->getObject(), JASCalc::CUTOFF_TO_IIR_TABLE[struct_80451341]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
mSeMgr.mixOut();
|
||||
mSeqMgr.mixOut();
|
||||
mStreamMgr.mixOut();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802AA67C-802AA6B0 2A4FBC 0034+00 0/0 1/1 0/0 .text framework__10Z2SoundMgrFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void Z2SoundMgr::framework() {
|
||||
nofralloc
|
||||
#include "asm/Z2AudioLib/Z2SoundMgr/framework__10Z2SoundMgrFv.s"
|
||||
void Z2SoundMgr::framework() {
|
||||
calc();
|
||||
mixOut();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802AA6B0-802AA7DC 2A4FF0 012C+00 0/0 1/1 0/0 .text pauseAllGameSound__10Z2SoundMgrFb
|
||||
*/
|
||||
#ifdef NONMATCHING
|
||||
// matches with literals
|
||||
void Z2SoundMgr::pauseAllGameSound(bool i_pause) {
|
||||
mSeMgr.getCategory(0)->pause(i_pause);
|
||||
mSeMgr.getCategory(1)->pause(i_pause);
|
||||
mSeMgr.getCategory(2)->pause(i_pause);
|
||||
mSeMgr.getCategory(3)->pause(i_pause);
|
||||
mSeMgr.getCategory(4)->pause(i_pause);
|
||||
mSeMgr.getCategory(5)->pause(i_pause);
|
||||
mSeMgr.getCategory(6)->pause(i_pause);
|
||||
mSeMgr.getCategory(7)->pause(i_pause);
|
||||
mSeMgr.getCategory(8)->pause(i_pause);
|
||||
mSeMgr.getCategory(9)->pause(i_pause);
|
||||
mSeqMgr.pause(i_pause);
|
||||
mStreamMgr.pause(i_pause);
|
||||
if (i_pause) {
|
||||
Z2GetSeMgr()->seMoveVolumeAll(0.0f, 10);
|
||||
mSeqMgr.getParams()->moveVolume(0.0f, 10);
|
||||
mStreamMgr.getParams()->moveVolume(0.0f, 10);
|
||||
}
|
||||
else {
|
||||
Z2GetSeMgr()->seMoveVolumeAll(1.0f, 10);
|
||||
mSeqMgr.getParams()->moveVolume(1.0f, 10);
|
||||
mStreamMgr.getParams()->moveVolume(1.0f, 10);
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
|
|
@ -297,36 +531,34 @@ asm void Z2SoundMgr::pauseAllGameSound(bool param_0) {
|
|||
#include "asm/Z2AudioLib/Z2SoundMgr/pauseAllGameSound__10Z2SoundMgrFb.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 802AA7DC-802AA84C 2A511C 0070+00 0/0 1/1 0/0 .text stopSoundID__10Z2SoundMgrF10JAISoundID */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void Z2SoundMgr::stopSoundID(JAISoundID param_0) {
|
||||
nofralloc
|
||||
#include "asm/Z2AudioLib/Z2SoundMgr/stopSoundID__10Z2SoundMgrF10JAISoundID.s"
|
||||
void Z2SoundMgr::stopSoundID(JAISoundID i_soundID) {
|
||||
mSeMgr.stopSoundID(i_soundID);
|
||||
mSeqMgr.stopSoundID(i_soundID);
|
||||
mStreamMgr.stopSoundID(i_soundID);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802AA84C-802AA8C8 2A518C 007C+00 0/0 1/1 0/0 .text stopSync__10Z2SoundMgrFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void Z2SoundMgr::stopSync() {
|
||||
nofralloc
|
||||
#include "asm/Z2AudioLib/Z2SoundMgr/stopSync__10Z2SoundMgrFv.s"
|
||||
void Z2SoundMgr::stopSync() {
|
||||
stop();
|
||||
while (mSeMgr.getNumActiveSe() > 0 || mSeqMgr.getNumActiveSeqs() > 0) {
|
||||
calc();
|
||||
if (mSeMgr.getNumActiveSe() == 0 && mSeqMgr.getNumActiveSeqs() == 0) {
|
||||
break;
|
||||
}
|
||||
mixOut();
|
||||
JASDriver::waitSubFrame();
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802AA8C8-802AA908 2A5208 0040+00 1/1 0/0 0/0 .text stop__10Z2SoundMgrFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void Z2SoundMgr::stop() {
|
||||
nofralloc
|
||||
#include "asm/Z2AudioLib/Z2SoundMgr/stop__10Z2SoundMgrFv.s"
|
||||
void Z2SoundMgr::stop() {
|
||||
mSeMgr.stop();
|
||||
mSeqMgr.stop();
|
||||
mStreamMgr.stop();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80455850-80455858 003E50 0004+04 1/1 0/0 0/0 .sdata2 @4313 */
|
||||
|
|
@ -337,6 +569,14 @@ SECTION_SDATA2 static f32 lit_4313[1 + 1 /* padding */] = {
|
|||
};
|
||||
|
||||
/* 802AA908-802AA9E8 2A5248 00E0+00 0/0 1/1 0/0 .text initParams__10Z2SoundMgrFv */
|
||||
#ifdef NONMATCHING
|
||||
// matches with literals
|
||||
void Z2SoundMgr::initParams() {
|
||||
mSeMgr.initParams();
|
||||
mSeqMgr.getParams()->init();
|
||||
mStreamMgr.getParams()->init();
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
|
|
@ -345,9 +585,23 @@ asm void Z2SoundMgr::initParams() {
|
|||
#include "asm/Z2AudioLib/Z2SoundMgr/initParams__10Z2SoundMgrFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 802AA9E8-802AAAC4 2A5328 00DC+00 0/0 1/1 0/0 .text
|
||||
* multiVolumeSoundID__10Z2SoundMgrF10JAISoundIDf */
|
||||
#ifdef NONMATCHING
|
||||
void Z2SoundMgr::multiVolumeSoundID(JAISoundID i_soundID, f32 i_multi) {
|
||||
if (!i_soundID.isAnonymous() && Z2GetSoundInfo()->getSoundType(i_soundID) == 0) {
|
||||
JSUList<JAISe>* list =
|
||||
mSeMgr.getCategory(Z2GetSoundInfo()->getCategory(i_soundID))->getSeList();
|
||||
for (JSULink<JAISe>* link = list->getFirst(); link != NULL; link = link->getNext()) {
|
||||
if (link->getObject()->getID() == i_soundID) {
|
||||
link->getObject()->getAuxiliary().mParams.mVolume *= i_multi;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
|
|
@ -356,16 +610,35 @@ asm void Z2SoundMgr::multiVolumeSoundID(JAISoundID param_0, f32 param_1) {
|
|||
#include "asm/Z2AudioLib/Z2SoundMgr/multiVolumeSoundID__10Z2SoundMgrF10JAISoundIDf.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 802AAAC4-802AAB94 2A5404 00D0+00 1/1 0/0 0/0 .text isPlayingSoundID__10Z2SoundMgrF10JAISoundID
|
||||
*/
|
||||
#ifdef NONMATCHING
|
||||
bool Z2SoundMgr::isPlayingSoundID(JAISoundID i_soundID) {
|
||||
if (i_soundID.isAnonymous()) {
|
||||
return 0;
|
||||
}
|
||||
if (Z2GetSoundInfo()->getSoundType(i_soundID) == 0) {
|
||||
JSUList<JAISe>* list =
|
||||
mSeMgr.getCategory(Z2GetSoundInfo()->getCategory(i_soundID))->getSeList();
|
||||
for (JSULink<JAISe>* link = list->getFirst(); link != NULL; link = link->getNext()) {
|
||||
if (link->getObject()->getID() == i_soundID) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void Z2SoundMgr::isPlayingSoundID(JAISoundID param_0) {
|
||||
asm bool Z2SoundMgr::isPlayingSoundID(JAISoundID param_0) {
|
||||
nofralloc
|
||||
#include "asm/Z2AudioLib/Z2SoundMgr/isPlayingSoundID__10Z2SoundMgrF10JAISoundID.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 8039B9D0-8039B9D0 028030 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
|
|
|
|||
|
|
@ -13,66 +13,66 @@ Z2SoundStarter::Z2SoundStarter(bool param_0) : JAISoundStarter(param_0), JASGlob
|
|||
|
||||
/* 802AABF4-802AAC3C 2A5534 0048+00 1/0 5/0 0/0 .text
|
||||
* startSound__14Z2SoundStarterF10JAISoundIDP14JAISoundHandlePCQ29JGeometry8TVec3<f> */
|
||||
int Z2SoundStarter::startSound(JAISoundID param_0, JAISoundHandle* param_1,
|
||||
JGeometry::TVec3<f32> const* param_2) {
|
||||
return Z2SoundStarter::startSound(param_0, param_1, param_2, 0, 0.0f, 1.0f, 1.0f, -1.0f, -1.0f,
|
||||
0);
|
||||
bool Z2SoundStarter::startSound(JAISoundID i_soundID, JAISoundHandle* i_handlePtr,
|
||||
JGeometry::TVec3<f32> const* i_pos) {
|
||||
return Z2SoundStarter::startSound(i_soundID, i_handlePtr, i_pos,
|
||||
0, 0.0f, 1.0f, 1.0f, -1.0f, -1.0f, 0);
|
||||
}
|
||||
|
||||
/* 802AAC3C-802AAEDC 2A557C 02A0+00 2/1 2/2 0/0 .text
|
||||
* startSound__14Z2SoundStarterF10JAISoundIDP14JAISoundHandlePCQ29JGeometry8TVec3<f>UlfffffUl */
|
||||
int Z2SoundStarter::startSound(JAISoundID param_1, JAISoundHandle* handlePtr,
|
||||
JGeometry::TVec3<f32> const* param_3, u32 param_4, f32 param_5,
|
||||
f32 param_6, f32 param_7, f32 param_8, f32 param_9, u32 param_10) {
|
||||
bool Z2SoundStarter::startSound(JAISoundID i_soundID, JAISoundHandle* handlePtr,
|
||||
JGeometry::TVec3<f32> const* i_pos, u32 param_4, f32 i_fxMix,
|
||||
f32 i_pitch, f32 i_volume, f32 i_pan, f32 i_dolby, u32 i_count) {
|
||||
JUT_ASSERT(45, handlePtr);
|
||||
if (param_4 == 6) {
|
||||
switch (param_1) {
|
||||
switch (i_soundID) {
|
||||
case Z2SE_CM_BODYFALL_S:
|
||||
param_1 = Z2SE_CM_BODYFALL_ASASE_S;
|
||||
i_soundID = Z2SE_CM_BODYFALL_ASASE_S;
|
||||
break;
|
||||
case Z2SE_CM_BODYFALL_M:
|
||||
param_1 = Z2SE_CM_BODYFALL_ASASE_M;
|
||||
i_soundID = Z2SE_CM_BODYFALL_ASASE_M;
|
||||
break;
|
||||
case Z2SE_CM_BODYFALL_L:
|
||||
param_1 = Z2SE_CM_BODYFALL_ASASE_L;
|
||||
i_soundID = Z2SE_CM_BODYFALL_ASASE_L;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (param_1.mId.mBytes.b1 != 0 && param_1.mId.mBytes.b1 != 9) {
|
||||
if (i_soundID.mId.mBytes.b1 != 0 && i_soundID.mId.mBytes.b1 != 9) {
|
||||
if (Z2GetSceneMgr()->isInDarkness()) {
|
||||
param_5 = 1.0f;
|
||||
i_fxMix = 1.0f;
|
||||
} else {
|
||||
f32 ratio = Z2GetStatusMgr()->getCameraInWaterDepthRatio();
|
||||
f32 uStack_8c = ratio > 0.0f;
|
||||
if (uStack_8c) {
|
||||
param_5 = uStack_8c;
|
||||
i_fxMix = uStack_8c;
|
||||
} else {
|
||||
param_5 += 0.5f * Z2GetEnvSeMgr()->getFogDensity();
|
||||
if (param_5 > 1.0f) {
|
||||
param_5 = 1.0f;
|
||||
i_fxMix += 0.5f * Z2GetEnvSeMgr()->getFogDensity();
|
||||
if (i_fxMix > 1.0f) {
|
||||
i_fxMix = 1.0f;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
int startSoundRes = Z2GetAudioMgr()->startSound(param_1, handlePtr, param_3);
|
||||
bool startSoundRes = Z2GetAudioMgr()->startSound(i_soundID, handlePtr, i_pos);
|
||||
if (*handlePtr) {
|
||||
if (param_4 != 0) {
|
||||
setPortData(handlePtr, 6, param_4, -1);
|
||||
}
|
||||
if (param_5 > 0.0f) {
|
||||
(*handlePtr)->getAuxiliary().moveFxMix(param_5, param_10);
|
||||
if (i_fxMix > 0.0f) {
|
||||
(*handlePtr)->getAuxiliary().moveFxMix(i_fxMix, i_count);
|
||||
}
|
||||
if (param_6 != 1.0f) {
|
||||
(*handlePtr)->getAuxiliary().movePitch(param_6, param_10);
|
||||
if (i_pitch != 1.0f) {
|
||||
(*handlePtr)->getAuxiliary().movePitch(i_pitch, i_count);
|
||||
}
|
||||
if (param_7 != 1.0f) {
|
||||
(*handlePtr)->getAuxiliary().moveVolume(param_7, param_10);
|
||||
if (i_volume != 1.0f) {
|
||||
(*handlePtr)->getAuxiliary().moveVolume(i_volume, i_count);
|
||||
}
|
||||
if (param_8 != -1.0f) {
|
||||
(*handlePtr)->getAuxiliary().movePan(param_8, param_10);
|
||||
if (i_pan != -1.0f) {
|
||||
(*handlePtr)->getAuxiliary().movePan(i_pan, i_count);
|
||||
}
|
||||
if (param_9 != -1.0f) {
|
||||
(*handlePtr)->getAuxiliary().moveDolby(param_9, param_10);
|
||||
if (i_dolby != -1.0f) {
|
||||
(*handlePtr)->getAuxiliary().moveDolby(i_dolby, i_count);
|
||||
}
|
||||
}
|
||||
return startSoundRes;
|
||||
|
|
|
|||
|
|
@ -1984,7 +1984,7 @@ SECTION_SDATA2 static f32 lit_4572 = 0.5f;
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm int Z2SpeechStarter::startSound(JAISoundID param_0, JAISoundHandle* param_1,
|
||||
asm bool Z2SpeechStarter::startSound(JAISoundID param_0, JAISoundHandle* param_1,
|
||||
JGeometry::TVec3<f32> const* param_2, u32 param_3, f32 param_4,
|
||||
f32 param_5, f32 param_6, f32 param_7, f32 param_8,
|
||||
u32 param_9) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue