mirror of https://github.com/zeldaret/tp.git
Work On JAudio (#2067)
* Match two JASTrack functions * dsptask, JAISoundStarter OK. Other small matches * Work on JAIStream * Work on JAIStreamMgr * Work on JAISeqMgr * Formatting
This commit is contained in:
parent
95176edb82
commit
9f38190f00
|
|
@ -1,63 +0,0 @@
|
|||
lbl_802A1914:
|
||||
/* 802A1914 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802A1918 7C 08 02 A6 */ mflr r0
|
||||
/* 802A191C 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802A1920 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802A1924 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 802A1928 54 80 06 3F */ clrlwi. r0, r4, 0x18
|
||||
/* 802A192C 41 82 00 08 */ beq lbl_802A1934
|
||||
/* 802A1930 93 ED 85 E8 */ stw r31, __OSReport_disable-0x30(r13)
|
||||
lbl_802A1934:
|
||||
/* 802A1934 3C 60 80 3D */ lis r3, __vt__14JAISeqDataUser@ha /* 0x803C9940@ha */
|
||||
/* 802A1938 38 03 99 40 */ addi r0, r3, __vt__14JAISeqDataUser@l /* 0x803C9940@l */
|
||||
/* 802A193C 90 1F 00 00 */ stw r0, 0(r31)
|
||||
/* 802A1940 3C 60 80 3D */ lis r3, __vt__9JAISeqMgr@ha /* 0x803C9958@ha */
|
||||
/* 802A1944 38 03 99 58 */ addi r0, r3, __vt__9JAISeqMgr@l /* 0x803C9958@l */
|
||||
/* 802A1948 90 1F 00 00 */ stw r0, 0(r31)
|
||||
/* 802A194C 38 00 00 00 */ li r0, 0
|
||||
/* 802A1950 90 1F 00 08 */ stw r0, 8(r31)
|
||||
/* 802A1954 C0 02 BD A8 */ lfs f0, lit_691(r2)
|
||||
/* 802A1958 D0 1F 00 14 */ stfs f0, 0x14(r31)
|
||||
/* 802A195C D0 1F 00 1C */ stfs f0, 0x1c(r31)
|
||||
/* 802A1960 C0 22 BD AC */ lfs f1, lit_692(r2)
|
||||
/* 802A1964 D0 3F 00 18 */ stfs f1, 0x18(r31)
|
||||
/* 802A1968 C0 02 BD B0 */ lfs f0, lit_693(r2)
|
||||
/* 802A196C D0 1F 00 20 */ stfs f0, 0x20(r31)
|
||||
/* 802A1970 D0 3F 00 24 */ stfs f1, 0x24(r31)
|
||||
/* 802A1974 38 7F 00 64 */ addi r3, r31, 0x64
|
||||
/* 802A1978 48 03 A5 9D */ bl initiate__10JSUPtrListFv
|
||||
/* 802A197C 38 60 00 00 */ li r3, 0
|
||||
/* 802A1980 90 7F 00 0C */ stw r3, 0xc(r31)
|
||||
/* 802A1984 90 7F 00 10 */ stw r3, 0x10(r31)
|
||||
/* 802A1988 38 00 00 10 */ li r0, 0x10
|
||||
/* 802A198C 90 1F 00 70 */ stw r0, 0x70(r31)
|
||||
/* 802A1990 C0 02 BD A8 */ lfs f0, lit_691(r2)
|
||||
/* 802A1994 D0 1F 00 14 */ stfs f0, 0x14(r31)
|
||||
/* 802A1998 D0 1F 00 1C */ stfs f0, 0x1c(r31)
|
||||
/* 802A199C C0 22 BD AC */ lfs f1, lit_692(r2)
|
||||
/* 802A19A0 D0 3F 00 18 */ stfs f1, 0x18(r31)
|
||||
/* 802A19A4 C0 02 BD B0 */ lfs f0, lit_693(r2)
|
||||
/* 802A19A8 D0 1F 00 20 */ stfs f0, 0x20(r31)
|
||||
/* 802A19AC D0 3F 00 24 */ stfs f1, 0x24(r31)
|
||||
/* 802A19B0 D0 3F 00 28 */ stfs f1, 0x28(r31)
|
||||
/* 802A19B4 90 7F 00 30 */ stw r3, 0x30(r31)
|
||||
/* 802A19B8 D0 3F 00 2C */ stfs f1, 0x2c(r31)
|
||||
/* 802A19BC D0 3F 00 34 */ stfs f1, 0x34(r31)
|
||||
/* 802A19C0 90 7F 00 3C */ stw r3, 0x3c(r31)
|
||||
/* 802A19C4 D0 3F 00 38 */ stfs f1, 0x38(r31)
|
||||
/* 802A19C8 D0 3F 00 40 */ stfs f1, 0x40(r31)
|
||||
/* 802A19CC 90 7F 00 48 */ stw r3, 0x48(r31)
|
||||
/* 802A19D0 D0 3F 00 44 */ stfs f1, 0x44(r31)
|
||||
/* 802A19D4 D0 3F 00 4C */ stfs f1, 0x4c(r31)
|
||||
/* 802A19D8 90 7F 00 54 */ stw r3, 0x54(r31)
|
||||
/* 802A19DC D0 3F 00 50 */ stfs f1, 0x50(r31)
|
||||
/* 802A19E0 D0 3F 00 58 */ stfs f1, 0x58(r31)
|
||||
/* 802A19E4 90 7F 00 60 */ stw r3, 0x60(r31)
|
||||
/* 802A19E8 D0 3F 00 5C */ stfs f1, 0x5c(r31)
|
||||
/* 802A19EC 98 7F 00 04 */ stb r3, 4(r31)
|
||||
/* 802A19F0 7F E3 FB 78 */ mr r3, r31
|
||||
/* 802A19F4 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802A19F8 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802A19FC 7C 08 03 A6 */ mtlr r0
|
||||
/* 802A1A00 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802A1A04 4E 80 00 20 */ blr
|
||||
|
|
@ -1,104 +0,0 @@
|
|||
lbl_802A1C90:
|
||||
/* 802A1C90 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802A1C94 7C 08 02 A6 */ mflr r0
|
||||
/* 802A1C98 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802A1C9C 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802A1CA0 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 802A1CA4 7C 7E 1B 78 */ mr r30, r3
|
||||
/* 802A1CA8 C0 23 00 14 */ lfs f1, 0x14(r3)
|
||||
/* 802A1CAC 80 63 00 30 */ lwz r3, 0x30(r3)
|
||||
/* 802A1CB0 28 03 00 01 */ cmplwi r3, 1
|
||||
/* 802A1CB4 40 81 00 18 */ ble lbl_802A1CCC
|
||||
/* 802A1CB8 38 03 FF FF */ addi r0, r3, -1
|
||||
/* 802A1CBC 90 1E 00 30 */ stw r0, 0x30(r30)
|
||||
/* 802A1CC0 C0 1E 00 28 */ lfs f0, 0x28(r30)
|
||||
/* 802A1CC4 EC 21 00 2A */ fadds f1, f1, f0
|
||||
/* 802A1CC8 48 00 00 14 */ b lbl_802A1CDC
|
||||
lbl_802A1CCC:
|
||||
/* 802A1CCC 40 82 00 10 */ bne lbl_802A1CDC
|
||||
/* 802A1CD0 38 00 00 00 */ li r0, 0
|
||||
/* 802A1CD4 90 1E 00 30 */ stw r0, 0x30(r30)
|
||||
/* 802A1CD8 C0 3E 00 2C */ lfs f1, 0x2c(r30)
|
||||
lbl_802A1CDC:
|
||||
/* 802A1CDC D0 3E 00 14 */ stfs f1, 0x14(r30)
|
||||
/* 802A1CE0 C0 3E 00 1C */ lfs f1, 0x1c(r30)
|
||||
/* 802A1CE4 80 7E 00 3C */ lwz r3, 0x3c(r30)
|
||||
/* 802A1CE8 28 03 00 01 */ cmplwi r3, 1
|
||||
/* 802A1CEC 40 81 00 18 */ ble lbl_802A1D04
|
||||
/* 802A1CF0 38 03 FF FF */ addi r0, r3, -1
|
||||
/* 802A1CF4 90 1E 00 3C */ stw r0, 0x3c(r30)
|
||||
/* 802A1CF8 C0 1E 00 34 */ lfs f0, 0x34(r30)
|
||||
/* 802A1CFC EC 21 00 2A */ fadds f1, f1, f0
|
||||
/* 802A1D00 48 00 00 14 */ b lbl_802A1D14
|
||||
lbl_802A1D04:
|
||||
/* 802A1D04 40 82 00 10 */ bne lbl_802A1D14
|
||||
/* 802A1D08 38 00 00 00 */ li r0, 0
|
||||
/* 802A1D0C 90 1E 00 3C */ stw r0, 0x3c(r30)
|
||||
/* 802A1D10 C0 3E 00 38 */ lfs f1, 0x38(r30)
|
||||
lbl_802A1D14:
|
||||
/* 802A1D14 D0 3E 00 1C */ stfs f1, 0x1c(r30)
|
||||
/* 802A1D18 C0 3E 00 18 */ lfs f1, 0x18(r30)
|
||||
/* 802A1D1C 80 7E 00 48 */ lwz r3, 0x48(r30)
|
||||
/* 802A1D20 28 03 00 01 */ cmplwi r3, 1
|
||||
/* 802A1D24 40 81 00 18 */ ble lbl_802A1D3C
|
||||
/* 802A1D28 38 03 FF FF */ addi r0, r3, -1
|
||||
/* 802A1D2C 90 1E 00 48 */ stw r0, 0x48(r30)
|
||||
/* 802A1D30 C0 1E 00 40 */ lfs f0, 0x40(r30)
|
||||
/* 802A1D34 EC 21 00 2A */ fadds f1, f1, f0
|
||||
/* 802A1D38 48 00 00 14 */ b lbl_802A1D4C
|
||||
lbl_802A1D3C:
|
||||
/* 802A1D3C 40 82 00 10 */ bne lbl_802A1D4C
|
||||
/* 802A1D40 38 00 00 00 */ li r0, 0
|
||||
/* 802A1D44 90 1E 00 48 */ stw r0, 0x48(r30)
|
||||
/* 802A1D48 C0 3E 00 44 */ lfs f1, 0x44(r30)
|
||||
lbl_802A1D4C:
|
||||
/* 802A1D4C D0 3E 00 18 */ stfs f1, 0x18(r30)
|
||||
/* 802A1D50 C0 3E 00 24 */ lfs f1, 0x24(r30)
|
||||
/* 802A1D54 80 7E 00 60 */ lwz r3, 0x60(r30)
|
||||
/* 802A1D58 28 03 00 01 */ cmplwi r3, 1
|
||||
/* 802A1D5C 40 81 00 18 */ ble lbl_802A1D74
|
||||
/* 802A1D60 38 03 FF FF */ addi r0, r3, -1
|
||||
/* 802A1D64 90 1E 00 60 */ stw r0, 0x60(r30)
|
||||
/* 802A1D68 C0 1E 00 58 */ lfs f0, 0x58(r30)
|
||||
/* 802A1D6C EC 21 00 2A */ fadds f1, f1, f0
|
||||
/* 802A1D70 48 00 00 14 */ b lbl_802A1D84
|
||||
lbl_802A1D74:
|
||||
/* 802A1D74 40 82 00 10 */ bne lbl_802A1D84
|
||||
/* 802A1D78 38 00 00 00 */ li r0, 0
|
||||
/* 802A1D7C 90 1E 00 60 */ stw r0, 0x60(r30)
|
||||
/* 802A1D80 C0 3E 00 5C */ lfs f1, 0x5c(r30)
|
||||
lbl_802A1D84:
|
||||
/* 802A1D84 D0 3E 00 24 */ stfs f1, 0x24(r30)
|
||||
/* 802A1D88 C0 3E 00 20 */ lfs f1, 0x20(r30)
|
||||
/* 802A1D8C 80 7E 00 54 */ lwz r3, 0x54(r30)
|
||||
/* 802A1D90 28 03 00 01 */ cmplwi r3, 1
|
||||
/* 802A1D94 40 81 00 18 */ ble lbl_802A1DAC
|
||||
/* 802A1D98 38 03 FF FF */ addi r0, r3, -1
|
||||
/* 802A1D9C 90 1E 00 54 */ stw r0, 0x54(r30)
|
||||
/* 802A1DA0 C0 1E 00 4C */ lfs f0, 0x4c(r30)
|
||||
/* 802A1DA4 EC 21 00 2A */ fadds f1, f1, f0
|
||||
/* 802A1DA8 48 00 00 14 */ b lbl_802A1DBC
|
||||
lbl_802A1DAC:
|
||||
/* 802A1DAC 40 82 00 10 */ bne lbl_802A1DBC
|
||||
/* 802A1DB0 38 00 00 00 */ li r0, 0
|
||||
/* 802A1DB4 90 1E 00 54 */ stw r0, 0x54(r30)
|
||||
/* 802A1DB8 C0 3E 00 50 */ lfs f1, 0x50(r30)
|
||||
lbl_802A1DBC:
|
||||
/* 802A1DBC D0 3E 00 20 */ stfs f1, 0x20(r30)
|
||||
/* 802A1DC0 83 FE 00 64 */ lwz r31, 0x64(r30)
|
||||
/* 802A1DC4 48 00 00 10 */ b lbl_802A1DD4
|
||||
lbl_802A1DC8:
|
||||
/* 802A1DC8 80 7F 00 00 */ lwz r3, 0(r31)
|
||||
/* 802A1DCC 4B FF F2 C1 */ bl JAISeqMgr_calc___6JAISeqFv
|
||||
/* 802A1DD0 83 FF 00 0C */ lwz r31, 0xc(r31)
|
||||
lbl_802A1DD4:
|
||||
/* 802A1DD4 28 1F 00 00 */ cmplwi r31, 0
|
||||
/* 802A1DD8 40 82 FF F0 */ bne lbl_802A1DC8
|
||||
/* 802A1DDC 7F C3 F3 78 */ mr r3, r30
|
||||
/* 802A1DE0 4B FF FC 29 */ bl freeDeadSeq___9JAISeqMgrFv
|
||||
/* 802A1DE4 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802A1DE8 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 802A1DEC 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802A1DF0 7C 08 03 A6 */ mtlr r0
|
||||
/* 802A1DF4 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802A1DF8 4E 80 00 20 */ blr
|
||||
|
|
@ -1,90 +0,0 @@
|
|||
lbl_802A1B48:
|
||||
/* 802A1B48 94 21 FF C0 */ stwu r1, -0x40(r1)
|
||||
/* 802A1B4C 7C 08 02 A6 */ mflr r0
|
||||
/* 802A1B50 90 01 00 44 */ stw r0, 0x44(r1)
|
||||
/* 802A1B54 39 61 00 40 */ addi r11, r1, 0x40
|
||||
/* 802A1B58 48 0C 06 75 */ bl _savegpr_25
|
||||
/* 802A1B5C 7C 79 1B 78 */ mr r25, r3
|
||||
/* 802A1B60 7C 9A 23 78 */ mr r26, r4
|
||||
/* 802A1B64 7C BB 2B 79 */ or. r27, r5, r5
|
||||
/* 802A1B68 7C DC 33 78 */ mr r28, r6
|
||||
/* 802A1B6C 41 82 00 14 */ beq lbl_802A1B80
|
||||
/* 802A1B70 80 7B 00 00 */ lwz r3, 0(r27)
|
||||
/* 802A1B74 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 802A1B78 41 82 00 08 */ beq lbl_802A1B80
|
||||
/* 802A1B7C 48 00 0A 1D */ bl stop__8JAISoundFv
|
||||
lbl_802A1B80:
|
||||
/* 802A1B80 83 CD 85 DC */ lwz r30, __OSReport_disable-0x3C(r13)
|
||||
/* 802A1B84 28 1E 00 00 */ cmplwi r30, 0
|
||||
/* 802A1B88 41 82 00 2C */ beq lbl_802A1BB4
|
||||
/* 802A1B8C 80 1A 00 00 */ lwz r0, 0(r26)
|
||||
/* 802A1B90 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802A1B94 7F C3 F3 78 */ mr r3, r30
|
||||
/* 802A1B98 38 81 00 14 */ addi r4, r1, 0x14
|
||||
/* 802A1B9C 81 9E 00 00 */ lwz r12, 0(r30)
|
||||
/* 802A1BA0 81 8C 00 0C */ lwz r12, 0xc(r12)
|
||||
/* 802A1BA4 7D 89 03 A6 */ mtctr r12
|
||||
/* 802A1BA8 4E 80 04 21 */ bctrl
|
||||
/* 802A1BAC 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 802A1BB0 48 00 00 08 */ b lbl_802A1BB8
|
||||
lbl_802A1BB4:
|
||||
/* 802A1BB4 3B E0 FF FF */ li r31, -1
|
||||
lbl_802A1BB8:
|
||||
/* 802A1BB8 38 00 00 00 */ li r0, 0
|
||||
/* 802A1BBC 90 01 00 18 */ stw r0, 0x18(r1)
|
||||
/* 802A1BC0 90 01 00 1C */ stw r0, 0x1c(r1)
|
||||
/* 802A1BC4 80 1A 00 00 */ lwz r0, 0(r26)
|
||||
/* 802A1BC8 90 01 00 10 */ stw r0, 0x10(r1)
|
||||
/* 802A1BCC 80 79 00 0C */ lwz r3, 0xc(r25)
|
||||
/* 802A1BD0 38 81 00 10 */ addi r4, r1, 0x10
|
||||
/* 802A1BD4 38 A1 00 18 */ addi r5, r1, 0x18
|
||||
/* 802A1BD8 81 83 00 00 */ lwz r12, 0(r3)
|
||||
/* 802A1BDC 81 8C 00 0C */ lwz r12, 0xc(r12)
|
||||
/* 802A1BE0 7D 89 03 A6 */ mtctr r12
|
||||
/* 802A1BE4 4E 80 04 21 */ bctrl
|
||||
/* 802A1BE8 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 802A1BEC 40 82 00 0C */ bne lbl_802A1BF8
|
||||
/* 802A1BF0 38 60 00 00 */ li r3, 0
|
||||
/* 802A1BF4 48 00 00 84 */ b lbl_802A1C78
|
||||
lbl_802A1BF8:
|
||||
/* 802A1BF8 7F 23 CB 78 */ mr r3, r25
|
||||
/* 802A1BFC 48 00 03 5D */ bl beginStartSeq___9JAISeqMgrFv
|
||||
/* 802A1C00 7C 7D 1B 79 */ or. r29, r3, r3
|
||||
/* 802A1C04 41 82 00 70 */ beq lbl_802A1C74
|
||||
/* 802A1C08 80 1A 00 00 */ lwz r0, 0(r26)
|
||||
/* 802A1C0C 90 01 00 0C */ stw r0, 0xc(r1)
|
||||
/* 802A1C10 38 81 00 0C */ addi r4, r1, 0xc
|
||||
/* 802A1C14 7F 85 E3 78 */ mr r5, r28
|
||||
/* 802A1C18 80 D9 00 08 */ lwz r6, 8(r25)
|
||||
/* 802A1C1C 7F E7 FB 78 */ mr r7, r31
|
||||
/* 802A1C20 81 19 00 70 */ lwz r8, 0x70(r25)
|
||||
/* 802A1C24 4B FF EF 41 */ bl func_802A0B64
|
||||
/* 802A1C28 7F 23 CB 78 */ mr r3, r25
|
||||
/* 802A1C2C 7F A4 EB 78 */ mr r4, r29
|
||||
/* 802A1C30 7F 65 DB 78 */ mr r5, r27
|
||||
/* 802A1C34 48 00 03 B5 */ bl endStartSeq___9JAISeqMgrFP6JAISeqP14JAISoundHandle
|
||||
/* 802A1C38 54 60 06 3F */ clrlwi. r0, r3, 0x18
|
||||
/* 802A1C3C 41 82 00 38 */ beq lbl_802A1C74
|
||||
/* 802A1C40 28 1E 00 00 */ cmplwi r30, 0
|
||||
/* 802A1C44 41 82 00 28 */ beq lbl_802A1C6C
|
||||
/* 802A1C48 80 1A 00 00 */ lwz r0, 0(r26)
|
||||
/* 802A1C4C 90 01 00 08 */ stw r0, 8(r1)
|
||||
/* 802A1C50 7F C3 F3 78 */ mr r3, r30
|
||||
/* 802A1C54 38 81 00 08 */ addi r4, r1, 8
|
||||
/* 802A1C58 7F A5 EB 78 */ mr r5, r29
|
||||
/* 802A1C5C 81 9E 00 00 */ lwz r12, 0(r30)
|
||||
/* 802A1C60 81 8C 00 18 */ lwz r12, 0x18(r12)
|
||||
/* 802A1C64 7D 89 03 A6 */ mtctr r12
|
||||
/* 802A1C68 4E 80 04 21 */ bctrl
|
||||
lbl_802A1C6C:
|
||||
/* 802A1C6C 38 60 00 01 */ li r3, 1
|
||||
/* 802A1C70 48 00 00 08 */ b lbl_802A1C78
|
||||
lbl_802A1C74:
|
||||
/* 802A1C74 38 60 00 00 */ li r3, 0
|
||||
lbl_802A1C78:
|
||||
/* 802A1C78 39 61 00 40 */ addi r11, r1, 0x40
|
||||
/* 802A1C7C 48 0C 05 9D */ bl _restgpr_25
|
||||
/* 802A1C80 80 01 00 44 */ lwz r0, 0x44(r1)
|
||||
/* 802A1C84 7C 08 03 A6 */ mtlr r0
|
||||
/* 802A1C88 38 21 00 40 */ addi r1, r1, 0x40
|
||||
/* 802A1C8C 4E 80 00 20 */ blr
|
||||
|
|
@ -1,34 +0,0 @@
|
|||
lbl_802A1804:
|
||||
/* 802A1804 80 E3 00 64 */ lwz r7, 0x64(r3)
|
||||
/* 802A1808 80 C4 00 00 */ lwz r6, 0(r4)
|
||||
/* 802A180C 80 04 00 04 */ lwz r0, 4(r4)
|
||||
/* 802A1810 7C 66 02 14 */ add r3, r6, r0
|
||||
/* 802A1814 48 00 00 4C */ b lbl_802A1860
|
||||
lbl_802A1818:
|
||||
/* 802A1818 80 87 00 00 */ lwz r4, 0(r7)
|
||||
/* 802A181C 80 A4 03 94 */ lwz r5, 0x394(r4)
|
||||
/* 802A1820 7C 03 28 40 */ cmplw r3, r5
|
||||
/* 802A1824 40 80 00 0C */ bge lbl_802A1830
|
||||
/* 802A1828 38 00 00 00 */ li r0, 0
|
||||
/* 802A182C 48 00 00 20 */ b lbl_802A184C
|
||||
lbl_802A1830:
|
||||
/* 802A1830 80 04 03 98 */ lwz r0, 0x398(r4)
|
||||
/* 802A1834 7C 05 02 14 */ add r0, r5, r0
|
||||
/* 802A1838 7C 00 30 40 */ cmplw r0, r6
|
||||
/* 802A183C 40 80 00 0C */ bge lbl_802A1848
|
||||
/* 802A1840 38 00 00 00 */ li r0, 0
|
||||
/* 802A1844 48 00 00 08 */ b lbl_802A184C
|
||||
lbl_802A1848:
|
||||
/* 802A1848 38 00 00 01 */ li r0, 1
|
||||
lbl_802A184C:
|
||||
/* 802A184C 54 00 06 3F */ clrlwi. r0, r0, 0x18
|
||||
/* 802A1850 41 82 00 0C */ beq lbl_802A185C
|
||||
/* 802A1854 38 60 00 01 */ li r3, 1
|
||||
/* 802A1858 4E 80 00 20 */ blr
|
||||
lbl_802A185C:
|
||||
/* 802A185C 80 E7 00 0C */ lwz r7, 0xc(r7)
|
||||
lbl_802A1860:
|
||||
/* 802A1860 28 07 00 00 */ cmplwi r7, 0
|
||||
/* 802A1864 40 82 FF B4 */ bne lbl_802A1818
|
||||
/* 802A1868 38 60 00 00 */ li r3, 0
|
||||
/* 802A186C 4E 80 00 20 */ blr
|
||||
|
|
@ -1,26 +0,0 @@
|
|||
lbl_802A1EFC:
|
||||
/* 802A1EFC 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 802A1F00 7C 08 02 A6 */ mflr r0
|
||||
/* 802A1F04 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 802A1F08 93 E1 00 1C */ stw r31, 0x1c(r1)
|
||||
/* 802A1F0C 93 C1 00 18 */ stw r30, 0x18(r1)
|
||||
/* 802A1F10 7C 7E 1B 78 */ mr r30, r3
|
||||
/* 802A1F14 83 E3 00 64 */ lwz r31, 0x64(r3)
|
||||
/* 802A1F18 48 00 00 20 */ b lbl_802A1F38
|
||||
lbl_802A1F1C:
|
||||
/* 802A1F1C 88 1E 00 04 */ lbz r0, 4(r30)
|
||||
/* 802A1F20 98 01 00 08 */ stb r0, 8(r1)
|
||||
/* 802A1F24 80 7F 00 00 */ lwz r3, 0(r31)
|
||||
/* 802A1F28 38 9E 00 14 */ addi r4, r30, 0x14
|
||||
/* 802A1F2C 38 A1 00 08 */ addi r5, r1, 8
|
||||
/* 802A1F30 4B FF F5 CD */ bl JAISeqMgr_mixOut___6JAISeqFRC14JASSoundParams16JAISoundActivity
|
||||
/* 802A1F34 83 FF 00 0C */ lwz r31, 0xc(r31)
|
||||
lbl_802A1F38:
|
||||
/* 802A1F38 28 1F 00 00 */ cmplwi r31, 0
|
||||
/* 802A1F3C 40 82 FF E0 */ bne lbl_802A1F1C
|
||||
/* 802A1F40 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
||||
/* 802A1F44 83 C1 00 18 */ lwz r30, 0x18(r1)
|
||||
/* 802A1F48 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 802A1F4C 7C 08 03 A6 */ mtlr r0
|
||||
/* 802A1F50 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 802A1F54 4E 80 00 20 */ blr
|
||||
|
|
@ -1,49 +0,0 @@
|
|||
lbl_802A1870:
|
||||
/* 802A1870 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 802A1874 7C 08 02 A6 */ mflr r0
|
||||
/* 802A1878 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 802A187C 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 802A1880 48 0C 09 5D */ bl _savegpr_29
|
||||
/* 802A1884 38 A0 00 00 */ li r5, 0
|
||||
/* 802A1888 83 A3 00 64 */ lwz r29, 0x64(r3)
|
||||
/* 802A188C 83 C4 00 00 */ lwz r30, 0(r4)
|
||||
/* 802A1890 80 04 00 04 */ lwz r0, 4(r4)
|
||||
/* 802A1894 7F FE 02 14 */ add r31, r30, r0
|
||||
/* 802A1898 48 00 00 4C */ b lbl_802A18E4
|
||||
lbl_802A189C:
|
||||
/* 802A189C 80 7D 00 00 */ lwz r3, 0(r29)
|
||||
/* 802A18A0 80 83 03 94 */ lwz r4, 0x394(r3)
|
||||
/* 802A18A4 7C 1F 20 40 */ cmplw r31, r4
|
||||
/* 802A18A8 40 80 00 0C */ bge lbl_802A18B4
|
||||
/* 802A18AC 38 00 00 00 */ li r0, 0
|
||||
/* 802A18B0 48 00 00 20 */ b lbl_802A18D0
|
||||
lbl_802A18B4:
|
||||
/* 802A18B4 80 03 03 98 */ lwz r0, 0x398(r3)
|
||||
/* 802A18B8 7C 04 02 14 */ add r0, r4, r0
|
||||
/* 802A18BC 7C 00 F0 40 */ cmplw r0, r30
|
||||
/* 802A18C0 40 80 00 0C */ bge lbl_802A18CC
|
||||
/* 802A18C4 38 00 00 00 */ li r0, 0
|
||||
/* 802A18C8 48 00 00 08 */ b lbl_802A18D0
|
||||
lbl_802A18CC:
|
||||
/* 802A18CC 38 00 00 01 */ li r0, 1
|
||||
lbl_802A18D0:
|
||||
/* 802A18D0 54 00 06 3F */ clrlwi. r0, r0, 0x18
|
||||
/* 802A18D4 41 82 00 0C */ beq lbl_802A18E0
|
||||
/* 802A18D8 48 00 0C C1 */ bl stop__8JAISoundFv
|
||||
/* 802A18DC 38 A0 00 01 */ li r5, 1
|
||||
lbl_802A18E0:
|
||||
/* 802A18E0 83 BD 00 0C */ lwz r29, 0xc(r29)
|
||||
lbl_802A18E4:
|
||||
/* 802A18E4 28 1D 00 00 */ cmplwi r29, 0
|
||||
/* 802A18E8 40 82 FF B4 */ bne lbl_802A189C
|
||||
/* 802A18EC 54 A0 06 3F */ clrlwi. r0, r5, 0x18
|
||||
/* 802A18F0 38 60 00 02 */ li r3, 2
|
||||
/* 802A18F4 41 82 00 08 */ beq lbl_802A18FC
|
||||
/* 802A18F8 38 60 00 01 */ li r3, 1
|
||||
lbl_802A18FC:
|
||||
/* 802A18FC 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 802A1900 48 0C 09 29 */ bl _restgpr_29
|
||||
/* 802A1904 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 802A1908 7C 08 03 A6 */ mtlr r0
|
||||
/* 802A190C 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 802A1910 4E 80 00 20 */ blr
|
||||
|
|
@ -1,33 +0,0 @@
|
|||
lbl_802A1E8C:
|
||||
/* 802A1E8C 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 802A1E90 7C 08 02 A6 */ mflr r0
|
||||
/* 802A1E94 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 802A1E98 93 E1 00 1C */ stw r31, 0x1c(r1)
|
||||
/* 802A1E9C 93 C1 00 18 */ stw r30, 0x18(r1)
|
||||
/* 802A1EA0 7C 9E 23 78 */ mr r30, r4
|
||||
/* 802A1EA4 80 84 00 00 */ lwz r4, 0(r4)
|
||||
/* 802A1EA8 3C 04 00 01 */ addis r0, r4, 1
|
||||
/* 802A1EAC 28 00 FF FF */ cmplwi r0, 0xffff
|
||||
/* 802A1EB0 41 82 00 34 */ beq lbl_802A1EE4
|
||||
/* 802A1EB4 83 E3 00 64 */ lwz r31, 0x64(r3)
|
||||
/* 802A1EB8 48 00 00 24 */ b lbl_802A1EDC
|
||||
lbl_802A1EBC:
|
||||
/* 802A1EBC 80 7F 00 00 */ lwz r3, 0(r31)
|
||||
/* 802A1EC0 80 83 00 18 */ lwz r4, 0x18(r3)
|
||||
/* 802A1EC4 90 81 00 08 */ stw r4, 8(r1)
|
||||
/* 802A1EC8 80 1E 00 00 */ lwz r0, 0(r30)
|
||||
/* 802A1ECC 7C 04 00 40 */ cmplw r4, r0
|
||||
/* 802A1ED0 40 82 00 08 */ bne lbl_802A1ED8
|
||||
/* 802A1ED4 48 00 06 C5 */ bl stop__8JAISoundFv
|
||||
lbl_802A1ED8:
|
||||
/* 802A1ED8 83 FF 00 0C */ lwz r31, 0xc(r31)
|
||||
lbl_802A1EDC:
|
||||
/* 802A1EDC 28 1F 00 00 */ cmplwi r31, 0
|
||||
/* 802A1EE0 40 82 FF DC */ bne lbl_802A1EBC
|
||||
lbl_802A1EE4:
|
||||
/* 802A1EE4 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
||||
/* 802A1EE8 83 C1 00 18 */ lwz r30, 0x18(r1)
|
||||
/* 802A1EEC 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 802A1EF0 7C 08 03 A6 */ mtlr r0
|
||||
/* 802A1EF4 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 802A1EF8 4E 80 00 20 */ blr
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
lbl_802A1E3C:
|
||||
/* 802A1E3C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802A1E40 7C 08 02 A6 */ mflr r0
|
||||
/* 802A1E44 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802A1E48 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802A1E4C 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 802A1E50 7C 9E 23 78 */ mr r30, r4
|
||||
/* 802A1E54 83 E3 00 64 */ lwz r31, 0x64(r3)
|
||||
/* 802A1E58 48 00 00 14 */ b lbl_802A1E6C
|
||||
lbl_802A1E5C:
|
||||
/* 802A1E5C 80 7F 00 00 */ lwz r3, 0(r31)
|
||||
/* 802A1E60 7F C4 F3 78 */ mr r4, r30
|
||||
/* 802A1E64 48 00 06 79 */ bl stop__8JAISoundFUl
|
||||
/* 802A1E68 83 FF 00 0C */ lwz r31, 0xc(r31)
|
||||
lbl_802A1E6C:
|
||||
/* 802A1E6C 28 1F 00 00 */ cmplwi r31, 0
|
||||
/* 802A1E70 40 82 FF EC */ bne lbl_802A1E5C
|
||||
/* 802A1E74 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802A1E78 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 802A1E7C 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802A1E80 7C 08 03 A6 */ mtlr r0
|
||||
/* 802A1E84 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802A1E88 4E 80 00 20 */ blr
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
lbl_802A1DFC:
|
||||
/* 802A1DFC 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802A1E00 7C 08 02 A6 */ mflr r0
|
||||
/* 802A1E04 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802A1E08 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802A1E0C 83 E3 00 64 */ lwz r31, 0x64(r3)
|
||||
/* 802A1E10 48 00 00 10 */ b lbl_802A1E20
|
||||
lbl_802A1E14:
|
||||
/* 802A1E14 80 7F 00 00 */ lwz r3, 0(r31)
|
||||
/* 802A1E18 48 00 07 81 */ bl stop__8JAISoundFv
|
||||
/* 802A1E1C 83 FF 00 0C */ lwz r31, 0xc(r31)
|
||||
lbl_802A1E20:
|
||||
/* 802A1E20 28 1F 00 00 */ cmplwi r31, 0
|
||||
/* 802A1E24 40 82 FF F0 */ bne lbl_802A1E14
|
||||
/* 802A1E28 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802A1E2C 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802A1E30 7C 08 03 A6 */ mtlr r0
|
||||
/* 802A1E34 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802A1E38 4E 80 00 20 */ blr
|
||||
|
|
@ -1,63 +0,0 @@
|
|||
lbl_802A2FEC:
|
||||
/* 802A2FEC 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 802A2FF0 7C 08 02 A6 */ mflr r0
|
||||
/* 802A2FF4 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 802A2FF8 93 E1 00 1C */ stw r31, 0x1c(r1)
|
||||
/* 802A2FFC 7C BF 2B 78 */ mr r31, r5
|
||||
/* 802A3000 80 E5 00 00 */ lwz r7, 0(r5)
|
||||
/* 802A3004 28 07 00 00 */ cmplwi r7, 0
|
||||
/* 802A3008 41 82 00 64 */ beq lbl_802A306C
|
||||
/* 802A300C 80 A7 00 18 */ lwz r5, 0x18(r7)
|
||||
/* 802A3010 90 A1 00 0C */ stw r5, 0xc(r1)
|
||||
/* 802A3014 80 04 00 00 */ lwz r0, 0(r4)
|
||||
/* 802A3018 7C 05 00 40 */ cmplw r5, r0
|
||||
/* 802A301C 40 82 00 50 */ bne lbl_802A306C
|
||||
/* 802A3020 80 07 00 10 */ lwz r0, 0x10(r7)
|
||||
/* 802A3024 28 00 00 01 */ cmplwi r0, 1
|
||||
/* 802A3028 40 80 00 0C */ bge lbl_802A3034
|
||||
/* 802A302C 38 00 00 01 */ li r0, 1
|
||||
/* 802A3030 90 07 00 10 */ stw r0, 0x10(r7)
|
||||
lbl_802A3034:
|
||||
/* 802A3034 28 06 00 00 */ cmplwi r6, 0
|
||||
/* 802A3038 41 82 00 2C */ beq lbl_802A3064
|
||||
/* 802A303C 80 7F 00 00 */ lwz r3, 0(r31)
|
||||
/* 802A3040 80 63 00 08 */ lwz r3, 8(r3)
|
||||
/* 802A3044 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 802A3048 41 82 00 1C */ beq lbl_802A3064
|
||||
/* 802A304C C0 06 00 00 */ lfs f0, 0(r6)
|
||||
/* 802A3050 D0 03 00 04 */ stfs f0, 4(r3)
|
||||
/* 802A3054 C0 06 00 04 */ lfs f0, 4(r6)
|
||||
/* 802A3058 D0 03 00 08 */ stfs f0, 8(r3)
|
||||
/* 802A305C C0 06 00 08 */ lfs f0, 8(r6)
|
||||
/* 802A3060 D0 03 00 0C */ stfs f0, 0xc(r3)
|
||||
lbl_802A3064:
|
||||
/* 802A3064 38 60 00 01 */ li r3, 1
|
||||
/* 802A3068 48 00 00 58 */ b lbl_802A30C0
|
||||
lbl_802A306C:
|
||||
/* 802A306C 80 04 00 00 */ lwz r0, 0(r4)
|
||||
/* 802A3070 90 01 00 08 */ stw r0, 8(r1)
|
||||
/* 802A3074 38 81 00 08 */ addi r4, r1, 8
|
||||
/* 802A3078 7F E5 FB 78 */ mr r5, r31
|
||||
/* 802A307C 81 83 00 00 */ lwz r12, 0(r3)
|
||||
/* 802A3080 81 8C 00 0C */ lwz r12, 0xc(r12)
|
||||
/* 802A3084 7D 89 03 A6 */ mtctr r12
|
||||
/* 802A3088 4E 80 04 21 */ bctrl
|
||||
/* 802A308C 54 60 06 3F */ clrlwi. r0, r3, 0x18
|
||||
/* 802A3090 41 82 00 30 */ beq lbl_802A30C0
|
||||
/* 802A3094 80 BF 00 00 */ lwz r5, 0(r31)
|
||||
/* 802A3098 28 05 00 00 */ cmplwi r5, 0
|
||||
/* 802A309C 41 82 00 24 */ beq lbl_802A30C0
|
||||
/* 802A30A0 38 80 00 01 */ li r4, 1
|
||||
/* 802A30A4 90 85 00 10 */ stw r4, 0x10(r5)
|
||||
/* 802A30A8 88 05 00 1D */ lbz r0, 0x1d(r5)
|
||||
/* 802A30AC 50 80 3E 30 */ rlwimi r0, r4, 7, 0x18, 0x18
|
||||
/* 802A30B0 98 05 00 1D */ stb r0, 0x1d(r5)
|
||||
/* 802A30B4 88 05 00 1D */ lbz r0, 0x1d(r5)
|
||||
/* 802A30B8 50 80 36 72 */ rlwimi r0, r4, 6, 0x19, 0x19
|
||||
/* 802A30BC 98 05 00 1D */ stb r0, 0x1d(r5)
|
||||
lbl_802A30C0:
|
||||
/* 802A30C0 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
||||
/* 802A30C4 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 802A30C8 7C 08 03 A6 */ mtlr r0
|
||||
/* 802A30CC 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 802A30D0 4E 80 00 20 */ blr
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
lbl_802A37FC:
|
||||
/* 802A37FC 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802A3800 7C 08 02 A6 */ mflr r0
|
||||
/* 802A3804 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802A3808 88 03 02 C6 */ lbz r0, 0x2c6(r3)
|
||||
/* 802A380C 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 802A3810 41 82 00 10 */ beq lbl_802A3820
|
||||
/* 802A3814 4B FF FF 0D */ bl die_JAIStream___9JAIStreamFv
|
||||
/* 802A3818 38 60 00 01 */ li r3, 1
|
||||
/* 802A381C 48 00 00 60 */ b lbl_802A387C
|
||||
lbl_802A3820:
|
||||
/* 802A3820 80 03 02 90 */ lwz r0, 0x290(r3)
|
||||
/* 802A3824 2C 00 00 04 */ cmpwi r0, 4
|
||||
/* 802A3828 41 82 00 3C */ beq lbl_802A3864
|
||||
/* 802A382C 40 80 00 4C */ bge lbl_802A3878
|
||||
/* 802A3830 2C 00 00 02 */ cmpwi r0, 2
|
||||
/* 802A3834 40 80 00 1C */ bge lbl_802A3850
|
||||
/* 802A3838 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 802A383C 40 80 00 08 */ bge lbl_802A3844
|
||||
/* 802A3840 48 00 00 38 */ b lbl_802A3878
|
||||
lbl_802A3844:
|
||||
/* 802A3844 4B FF FE DD */ bl die_JAIStream___9JAIStreamFv
|
||||
/* 802A3848 38 60 00 01 */ li r3, 1
|
||||
/* 802A384C 48 00 00 30 */ b lbl_802A387C
|
||||
lbl_802A3850:
|
||||
/* 802A3850 38 00 00 05 */ li r0, 5
|
||||
/* 802A3854 90 03 02 90 */ stw r0, 0x290(r3)
|
||||
/* 802A3858 38 63 00 A8 */ addi r3, r3, 0xa8
|
||||
/* 802A385C 4B FF 2E 71 */ bl cancel__13JASAramStreamFv
|
||||
/* 802A3860 48 00 00 18 */ b lbl_802A3878
|
||||
lbl_802A3864:
|
||||
/* 802A3864 38 00 00 06 */ li r0, 6
|
||||
/* 802A3868 90 03 02 90 */ stw r0, 0x290(r3)
|
||||
/* 802A386C 38 63 00 A8 */ addi r3, r3, 0xa8
|
||||
/* 802A3870 38 80 00 0A */ li r4, 0xa
|
||||
/* 802A3874 4B FF 2D D9 */ bl stop__13JASAramStreamFUs
|
||||
lbl_802A3878:
|
||||
/* 802A3878 38 60 00 00 */ li r3, 0
|
||||
lbl_802A387C:
|
||||
/* 802A387C 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802A3880 7C 08 03 A6 */ mtlr r0
|
||||
/* 802A3884 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802A3888 4E 80 00 20 */ blr
|
||||
|
|
@ -1,52 +0,0 @@
|
|||
lbl_802A388C:
|
||||
/* 802A388C 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 802A3890 7C 08 02 A6 */ mflr r0
|
||||
/* 802A3894 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 802A3898 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 802A389C 48 0B E9 41 */ bl _savegpr_29
|
||||
/* 802A38A0 7C 7D 1B 78 */ mr r29, r3
|
||||
/* 802A38A4 88 03 02 C6 */ lbz r0, 0x2c6(r3)
|
||||
/* 802A38A8 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 802A38AC 41 82 00 28 */ beq lbl_802A38D4
|
||||
/* 802A38B0 38 60 00 00 */ li r3, 0
|
||||
/* 802A38B4 90 7D 02 90 */ stw r3, 0x290(r29)
|
||||
/* 802A38B8 88 1D 00 1F */ lbz r0, 0x1f(r29)
|
||||
/* 802A38BC 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c
|
||||
/* 802A38C0 98 1D 00 1F */ stb r0, 0x1f(r29)
|
||||
/* 802A38C4 38 60 00 01 */ li r3, 1
|
||||
/* 802A38C8 88 1D 00 1F */ lbz r0, 0x1f(r29)
|
||||
/* 802A38CC 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
|
||||
/* 802A38D0 98 1D 00 1F */ stb r0, 0x1f(r29)
|
||||
lbl_802A38D4:
|
||||
/* 802A38D4 7F A3 EB 78 */ mr r3, r29
|
||||
/* 802A38D8 4B FF ED E1 */ bl calc_JAISound___8JAISoundFv
|
||||
/* 802A38DC 54 60 06 3F */ clrlwi. r0, r3, 0x18
|
||||
/* 802A38E0 41 82 00 50 */ beq lbl_802A3930
|
||||
/* 802A38E4 3B C0 00 00 */ li r30, 0
|
||||
/* 802A38E8 3B E0 00 00 */ li r31, 0
|
||||
lbl_802A38EC:
|
||||
/* 802A38EC 38 1F 02 A0 */ addi r0, r31, 0x2a0
|
||||
/* 802A38F0 7C 7D 00 2E */ lwzx r3, r29, r0
|
||||
/* 802A38F4 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 802A38F8 41 82 00 08 */ beq lbl_802A3900
|
||||
/* 802A38FC 4B FF F2 81 */ bl calc__13JAISoundChildFv
|
||||
lbl_802A3900:
|
||||
/* 802A3900 3B DE 00 01 */ addi r30, r30, 1
|
||||
/* 802A3904 2C 1E 00 06 */ cmpwi r30, 6
|
||||
/* 802A3908 3B FF 00 04 */ addi r31, r31, 4
|
||||
/* 802A390C 41 80 FF E0 */ blt lbl_802A38EC
|
||||
/* 802A3910 80 7D 02 BC */ lwz r3, 0x2bc(r29)
|
||||
/* 802A3914 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 802A3918 41 82 00 18 */ beq lbl_802A3930
|
||||
/* 802A391C 7F A4 EB 78 */ mr r4, r29
|
||||
/* 802A3920 81 83 00 00 */ lwz r12, 0(r3)
|
||||
/* 802A3924 81 8C 00 0C */ lwz r12, 0xc(r12)
|
||||
/* 802A3928 7D 89 03 A6 */ mtctr r12
|
||||
/* 802A392C 4E 80 04 21 */ bctrl
|
||||
lbl_802A3930:
|
||||
/* 802A3930 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 802A3934 48 0B E8 F5 */ bl _restgpr_29
|
||||
/* 802A3938 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 802A393C 7C 08 03 A6 */ mtlr r0
|
||||
/* 802A3940 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 802A3944 4E 80 00 20 */ blr
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
lbl_802A30D4:
|
||||
/* 802A30D4 2C 03 00 01 */ cmpwi r3, 1
|
||||
/* 802A30D8 41 82 00 14 */ beq lbl_802A30EC
|
||||
/* 802A30DC 4C 80 00 20 */ bgelr
|
||||
/* 802A30E0 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 802A30E4 40 80 00 14 */ bge lbl_802A30F8
|
||||
/* 802A30E8 4E 80 00 20 */ blr
|
||||
lbl_802A30EC:
|
||||
/* 802A30EC 38 00 00 01 */ li r0, 1
|
||||
/* 802A30F0 98 05 02 C5 */ stb r0, 0x2c5(r5)
|
||||
/* 802A30F4 4E 80 00 20 */ blr
|
||||
lbl_802A30F8:
|
||||
/* 802A30F8 38 00 00 01 */ li r0, 1
|
||||
/* 802A30FC 98 05 02 C6 */ stb r0, 0x2c6(r5)
|
||||
/* 802A3100 4E 80 00 20 */ blr
|
||||
|
|
@ -1,40 +0,0 @@
|
|||
lbl_802A3104:
|
||||
/* 802A3104 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 802A3108 7C 08 02 A6 */ mflr r0
|
||||
/* 802A310C 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 802A3110 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 802A3114 48 0B F0 C9 */ bl _savegpr_29
|
||||
/* 802A3118 7C 7D 1B 78 */ mr r29, r3
|
||||
/* 802A311C 7C 9E 23 78 */ mr r30, r4
|
||||
/* 802A3120 7C BF 2B 78 */ mr r31, r5
|
||||
/* 802A3124 4B FF F1 D5 */ bl __ct__8JAISoundFv
|
||||
/* 802A3128 38 7D 00 98 */ addi r3, r29, 0x98
|
||||
/* 802A312C 7F A4 EB 78 */ mr r4, r29
|
||||
/* 802A3130 48 03 8C CD */ bl __ct__10JSUPtrLinkFPv
|
||||
/* 802A3134 3C 60 80 3D */ lis r3, __vt__9JAIStream@ha /* 0x803C99D8@ha */
|
||||
/* 802A3138 38 03 99 D8 */ addi r0, r3, __vt__9JAIStream@l /* 0x803C99D8@l */
|
||||
/* 802A313C 90 1D 00 00 */ stw r0, 0(r29)
|
||||
/* 802A3140 38 7D 00 A8 */ addi r3, r29, 0xa8
|
||||
/* 802A3144 4B FF 32 65 */ bl __ct__13JASAramStreamFv
|
||||
/* 802A3148 38 80 00 00 */ li r4, 0
|
||||
/* 802A314C 90 9D 02 90 */ stw r4, 0x290(r29)
|
||||
/* 802A3150 93 FD 02 C0 */ stw r31, 0x2c0(r29)
|
||||
/* 802A3154 93 DD 02 B8 */ stw r30, 0x2b8(r29)
|
||||
/* 802A3158 90 9D 02 9C */ stw r4, 0x29c(r29)
|
||||
/* 802A315C 98 9D 02 C5 */ stb r4, 0x2c5(r29)
|
||||
/* 802A3160 98 9D 02 C6 */ stb r4, 0x2c6(r29)
|
||||
/* 802A3164 7C 83 23 78 */ mr r3, r4
|
||||
/* 802A3168 38 00 00 06 */ li r0, 6
|
||||
/* 802A316C 7C 09 03 A6 */ mtctr r0
|
||||
lbl_802A3170:
|
||||
/* 802A3170 38 03 02 A0 */ addi r0, r3, 0x2a0
|
||||
/* 802A3174 7C 9D 01 2E */ stwx r4, r29, r0
|
||||
/* 802A3178 38 63 00 04 */ addi r3, r3, 4
|
||||
/* 802A317C 42 00 FF F4 */ bdnz lbl_802A3170
|
||||
/* 802A3180 7F A3 EB 78 */ mr r3, r29
|
||||
/* 802A3184 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 802A3188 48 0B F0 A1 */ bl _restgpr_29
|
||||
/* 802A318C 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 802A3190 7C 08 03 A6 */ mtlr r0
|
||||
/* 802A3194 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 802A3198 4E 80 00 20 */ blr
|
||||
|
|
@ -1,40 +0,0 @@
|
|||
lbl_802A319C:
|
||||
/* 802A319C 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 802A31A0 7C 08 02 A6 */ mflr r0
|
||||
/* 802A31A4 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 802A31A8 93 E1 00 1C */ stw r31, 0x1c(r1)
|
||||
/* 802A31AC 93 C1 00 18 */ stw r30, 0x18(r1)
|
||||
/* 802A31B0 7C 7E 1B 78 */ mr r30, r3
|
||||
/* 802A31B4 7C 9F 23 78 */ mr r31, r4
|
||||
/* 802A31B8 91 03 02 98 */ stw r8, 0x298(r3)
|
||||
/* 802A31BC 90 A3 02 94 */ stw r5, 0x294(r3)
|
||||
/* 802A31C0 80 04 00 00 */ lwz r0, 0(r4)
|
||||
/* 802A31C4 90 01 00 0C */ stw r0, 0xc(r1)
|
||||
/* 802A31C8 38 81 00 0C */ addi r4, r1, 0xc
|
||||
/* 802A31CC 7C C5 33 78 */ mr r5, r6
|
||||
/* 802A31D0 7C E6 3B 78 */ mr r6, r7
|
||||
/* 802A31D4 4B FF F1 55 */ bl func_802A2328
|
||||
/* 802A31D8 38 60 00 00 */ li r3, 0
|
||||
/* 802A31DC 90 7E 02 90 */ stw r3, 0x290(r30)
|
||||
/* 802A31E0 80 1E 02 C0 */ lwz r0, 0x2c0(r30)
|
||||
/* 802A31E4 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 802A31E8 41 82 00 2C */ beq lbl_802A3214
|
||||
/* 802A31EC 80 1F 00 00 */ lwz r0, 0(r31)
|
||||
/* 802A31F0 90 01 00 08 */ stw r0, 8(r1)
|
||||
/* 802A31F4 80 7E 02 C0 */ lwz r3, 0x2c0(r30)
|
||||
/* 802A31F8 38 81 00 08 */ addi r4, r1, 8
|
||||
/* 802A31FC 81 83 00 00 */ lwz r12, 0(r3)
|
||||
/* 802A3200 81 8C 00 0C */ lwz r12, 0xc(r12)
|
||||
/* 802A3204 7D 89 03 A6 */ mtctr r12
|
||||
/* 802A3208 4E 80 04 21 */ bctrl
|
||||
/* 802A320C 90 7E 02 BC */ stw r3, 0x2bc(r30)
|
||||
/* 802A3210 48 00 00 08 */ b lbl_802A3218
|
||||
lbl_802A3214:
|
||||
/* 802A3214 90 7E 02 BC */ stw r3, 0x2bc(r30)
|
||||
lbl_802A3218:
|
||||
/* 802A3218 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
||||
/* 802A321C 83 C1 00 18 */ lwz r30, 0x18(r1)
|
||||
/* 802A3220 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 802A3224 7C 08 03 A6 */ mtlr r0
|
||||
/* 802A3228 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 802A322C 4E 80 00 20 */ blr
|
||||
|
|
@ -1,46 +0,0 @@
|
|||
lbl_802A33F4:
|
||||
/* 802A33F4 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802A33F8 7C 08 02 A6 */ mflr r0
|
||||
/* 802A33FC 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802A3400 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802A3404 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 802A3408 88 03 02 C6 */ lbz r0, 0x2c6(r3)
|
||||
/* 802A340C 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 802A3410 40 82 00 74 */ bne lbl_802A3484
|
||||
/* 802A3414 88 1F 00 1E */ lbz r0, 0x1e(r31)
|
||||
/* 802A3418 2C 00 00 04 */ cmpwi r0, 4
|
||||
/* 802A341C 41 82 00 5C */ beq lbl_802A3478
|
||||
/* 802A3420 40 80 00 64 */ bge lbl_802A3484
|
||||
/* 802A3424 2C 00 00 01 */ cmpwi r0, 1
|
||||
/* 802A3428 41 82 00 38 */ beq lbl_802A3460
|
||||
/* 802A342C 40 80 00 58 */ bge lbl_802A3484
|
||||
/* 802A3430 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 802A3434 40 80 00 0C */ bge lbl_802A3440
|
||||
/* 802A3438 48 00 00 4C */ b lbl_802A3484
|
||||
/* 802A343C 48 00 00 48 */ b lbl_802A3484
|
||||
lbl_802A3440:
|
||||
/* 802A3440 4B FF FD F1 */ bl prepare_prepareStream___9JAIStreamFv
|
||||
/* 802A3444 54 60 06 3F */ clrlwi. r0, r3, 0x18
|
||||
/* 802A3448 41 82 00 3C */ beq lbl_802A3484
|
||||
/* 802A344C 38 00 00 05 */ li r0, 5
|
||||
/* 802A3450 98 1F 00 1E */ stb r0, 0x1e(r31)
|
||||
/* 802A3454 7F E3 FB 78 */ mr r3, r31
|
||||
/* 802A3458 48 00 00 41 */ bl prepare_startStream___9JAIStreamFv
|
||||
/* 802A345C 48 00 00 28 */ b lbl_802A3484
|
||||
lbl_802A3460:
|
||||
/* 802A3460 4B FF FD D1 */ bl prepare_prepareStream___9JAIStreamFv
|
||||
/* 802A3464 54 60 06 3F */ clrlwi. r0, r3, 0x18
|
||||
/* 802A3468 41 82 00 1C */ beq lbl_802A3484
|
||||
/* 802A346C 38 00 00 03 */ li r0, 3
|
||||
/* 802A3470 98 1F 00 1E */ stb r0, 0x1e(r31)
|
||||
/* 802A3474 48 00 00 10 */ b lbl_802A3484
|
||||
lbl_802A3478:
|
||||
/* 802A3478 38 00 00 05 */ li r0, 5
|
||||
/* 802A347C 98 1F 00 1E */ stb r0, 0x1e(r31)
|
||||
/* 802A3480 48 00 00 19 */ bl prepare_startStream___9JAIStreamFv
|
||||
lbl_802A3484:
|
||||
/* 802A3484 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802A3488 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802A348C 7C 08 03 A6 */ mtlr r0
|
||||
/* 802A3490 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802A3494 4E 80 00 20 */ blr
|
||||
|
|
@ -1,128 +0,0 @@
|
|||
lbl_802A3230:
|
||||
/* 802A3230 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 802A3234 7C 08 02 A6 */ mflr r0
|
||||
/* 802A3238 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 802A323C 93 E1 00 1C */ stw r31, 0x1c(r1)
|
||||
/* 802A3240 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 802A3244 80 03 02 90 */ lwz r0, 0x290(r3)
|
||||
/* 802A3248 2C 00 00 02 */ cmpwi r0, 2
|
||||
/* 802A324C 41 82 01 60 */ beq lbl_802A33AC
|
||||
/* 802A3250 40 80 00 14 */ bge lbl_802A3264
|
||||
/* 802A3254 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 802A3258 41 82 00 1C */ beq lbl_802A3274
|
||||
/* 802A325C 40 80 00 7C */ bge lbl_802A32D8
|
||||
/* 802A3260 48 00 01 7C */ b lbl_802A33DC
|
||||
lbl_802A3264:
|
||||
/* 802A3264 2C 00 00 04 */ cmpwi r0, 4
|
||||
/* 802A3268 41 82 01 74 */ beq lbl_802A33DC
|
||||
/* 802A326C 40 80 01 70 */ bge lbl_802A33DC
|
||||
/* 802A3270 48 00 01 64 */ b lbl_802A33D4
|
||||
lbl_802A3274:
|
||||
/* 802A3274 80 7F 02 B8 */ lwz r3, 0x2b8(r31)
|
||||
/* 802A3278 80 63 00 68 */ lwz r3, 0x68(r3)
|
||||
/* 802A327C 38 81 00 08 */ addi r4, r1, 8
|
||||
/* 802A3280 81 83 00 00 */ lwz r12, 0(r3)
|
||||
/* 802A3284 81 8C 00 08 */ lwz r12, 8(r12)
|
||||
/* 802A3288 7D 89 03 A6 */ mtctr r12
|
||||
/* 802A328C 4E 80 04 21 */ bctrl
|
||||
/* 802A3290 90 7F 02 9C */ stw r3, 0x29c(r31)
|
||||
/* 802A3294 80 9F 02 9C */ lwz r4, 0x29c(r31)
|
||||
/* 802A3298 28 04 00 00 */ cmplwi r4, 0
|
||||
/* 802A329C 41 82 00 30 */ beq lbl_802A32CC
|
||||
/* 802A32A0 38 7F 00 A8 */ addi r3, r31, 0xa8
|
||||
/* 802A32A4 80 A1 00 08 */ lwz r5, 8(r1)
|
||||
/* 802A32A8 3C C0 80 2A */ lis r6, JAIStream_JASAramStreamCallback___FUlP13JASAramStreamPv@ha /* 0x802A30D4@ha */
|
||||
/* 802A32AC 38 C6 30 D4 */ addi r6, r6, JAIStream_JASAramStreamCallback___FUlP13JASAramStreamPv@l /* 0x802A30D4@l */
|
||||
/* 802A32B0 7F E7 FB 78 */ mr r7, r31
|
||||
/* 802A32B4 4B FF 31 E9 */ bl init__13JASAramStreamFUlUlPFUlP13JASAramStreamPv_vPv
|
||||
/* 802A32B8 38 00 00 01 */ li r0, 1
|
||||
/* 802A32BC 90 1F 02 90 */ stw r0, 0x290(r31)
|
||||
/* 802A32C0 38 00 00 00 */ li r0, 0
|
||||
/* 802A32C4 90 1F 00 14 */ stw r0, 0x14(r31)
|
||||
/* 802A32C8 48 00 01 14 */ b lbl_802A33DC
|
||||
lbl_802A32CC:
|
||||
/* 802A32CC 7F E3 FB 78 */ mr r3, r31
|
||||
/* 802A32D0 4B FF F3 9D */ bl increasePrepareCount_JAISound___8JAISoundFv
|
||||
/* 802A32D4 48 00 01 08 */ b lbl_802A33DC
|
||||
lbl_802A32D8:
|
||||
/* 802A32D8 80 7F 00 08 */ lwz r3, 8(r31)
|
||||
/* 802A32DC 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 802A32E0 41 82 00 A0 */ beq lbl_802A3380
|
||||
/* 802A32E4 38 80 00 00 */ li r4, 0
|
||||
/* 802A32E8 81 83 00 00 */ lwz r12, 0(r3)
|
||||
/* 802A32EC 81 8C 00 0C */ lwz r12, 0xc(r12)
|
||||
/* 802A32F0 7D 89 03 A6 */ mtctr r12
|
||||
/* 802A32F4 4E 80 04 21 */ bctrl
|
||||
/* 802A32F8 C0 03 00 08 */ lfs f0, 8(r3)
|
||||
/* 802A32FC D0 1F 02 20 */ stfs f0, 0x220(r31)
|
||||
/* 802A3300 C0 03 00 00 */ lfs f0, 0(r3)
|
||||
/* 802A3304 38 80 00 00 */ li r4, 0
|
||||
/* 802A3308 38 00 00 06 */ li r0, 6
|
||||
/* 802A330C 7C 09 03 A6 */ mtctr r0
|
||||
lbl_802A3310:
|
||||
/* 802A3310 38 04 02 24 */ addi r0, r4, 0x224
|
||||
/* 802A3314 7C 1F 05 2E */ stfsx f0, r31, r0
|
||||
/* 802A3318 38 84 00 04 */ addi r4, r4, 4
|
||||
/* 802A331C 42 00 FF F4 */ bdnz lbl_802A3310
|
||||
/* 802A3320 C0 03 00 0C */ lfs f0, 0xc(r3)
|
||||
/* 802A3324 38 80 00 00 */ li r4, 0
|
||||
/* 802A3328 38 00 00 06 */ li r0, 6
|
||||
/* 802A332C 7C 09 03 A6 */ mtctr r0
|
||||
lbl_802A3330:
|
||||
/* 802A3330 38 04 02 3C */ addi r0, r4, 0x23c
|
||||
/* 802A3334 7C 1F 05 2E */ stfsx f0, r31, r0
|
||||
/* 802A3338 38 84 00 04 */ addi r4, r4, 4
|
||||
/* 802A333C 42 00 FF F4 */ bdnz lbl_802A3330
|
||||
/* 802A3340 C0 03 00 04 */ lfs f0, 4(r3)
|
||||
/* 802A3344 38 80 00 00 */ li r4, 0
|
||||
/* 802A3348 38 00 00 06 */ li r0, 6
|
||||
/* 802A334C 7C 09 03 A6 */ mtctr r0
|
||||
lbl_802A3350:
|
||||
/* 802A3350 38 04 02 54 */ addi r0, r4, 0x254
|
||||
/* 802A3354 7C 1F 05 2E */ stfsx f0, r31, r0
|
||||
/* 802A3358 38 84 00 04 */ addi r4, r4, 4
|
||||
/* 802A335C 42 00 FF F4 */ bdnz lbl_802A3350
|
||||
/* 802A3360 C0 03 00 10 */ lfs f0, 0x10(r3)
|
||||
/* 802A3364 38 60 00 00 */ li r3, 0
|
||||
/* 802A3368 38 00 00 06 */ li r0, 6
|
||||
/* 802A336C 7C 09 03 A6 */ mtctr r0
|
||||
lbl_802A3370:
|
||||
/* 802A3370 38 03 02 6C */ addi r0, r3, 0x26c
|
||||
/* 802A3374 7C 1F 05 2E */ stfsx f0, r31, r0
|
||||
/* 802A3378 38 63 00 04 */ addi r3, r3, 4
|
||||
/* 802A337C 42 00 FF F4 */ bdnz lbl_802A3370
|
||||
lbl_802A3380:
|
||||
/* 802A3380 38 00 00 00 */ li r0, 0
|
||||
/* 802A3384 98 1F 02 C5 */ stb r0, 0x2c5(r31)
|
||||
/* 802A3388 38 7F 00 A8 */ addi r3, r31, 0xa8
|
||||
/* 802A338C 80 9F 02 94 */ lwz r4, 0x294(r31)
|
||||
/* 802A3390 38 A0 FF FF */ li r5, -1
|
||||
/* 802A3394 4B FF 31 C9 */ bl prepare__13JASAramStreamFli
|
||||
/* 802A3398 54 60 06 3F */ clrlwi. r0, r3, 0x18
|
||||
/* 802A339C 41 82 00 40 */ beq lbl_802A33DC
|
||||
/* 802A33A0 38 00 00 02 */ li r0, 2
|
||||
/* 802A33A4 90 1F 02 90 */ stw r0, 0x290(r31)
|
||||
/* 802A33A8 48 00 00 34 */ b lbl_802A33DC
|
||||
lbl_802A33AC:
|
||||
/* 802A33AC 88 1F 02 C5 */ lbz r0, 0x2c5(r31)
|
||||
/* 802A33B0 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 802A33B4 41 82 00 18 */ beq lbl_802A33CC
|
||||
/* 802A33B8 38 00 00 00 */ li r0, 0
|
||||
/* 802A33BC 98 1F 02 C5 */ stb r0, 0x2c5(r31)
|
||||
/* 802A33C0 38 00 00 03 */ li r0, 3
|
||||
/* 802A33C4 90 1F 02 90 */ stw r0, 0x290(r31)
|
||||
/* 802A33C8 48 00 00 14 */ b lbl_802A33DC
|
||||
lbl_802A33CC:
|
||||
/* 802A33CC 4B FF F2 A1 */ bl increasePrepareCount_JAISound___8JAISoundFv
|
||||
/* 802A33D0 48 00 00 0C */ b lbl_802A33DC
|
||||
lbl_802A33D4:
|
||||
/* 802A33D4 38 60 00 01 */ li r3, 1
|
||||
/* 802A33D8 48 00 00 08 */ b lbl_802A33E0
|
||||
lbl_802A33DC:
|
||||
/* 802A33DC 38 60 00 00 */ li r3, 0
|
||||
lbl_802A33E0:
|
||||
/* 802A33E0 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
||||
/* 802A33E4 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 802A33E8 7C 08 03 A6 */ mtlr r0
|
||||
/* 802A33EC 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 802A33F0 4E 80 00 20 */ blr
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
lbl_802A3498:
|
||||
/* 802A3498 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802A349C 7C 08 02 A6 */ mflr r0
|
||||
/* 802A34A0 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802A34A4 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802A34A8 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 802A34AC 38 7F 00 A8 */ addi r3, r31, 0xa8
|
||||
/* 802A34B0 4B FF 31 69 */ bl start__13JASAramStreamFv
|
||||
/* 802A34B4 54 60 06 3F */ clrlwi. r0, r3, 0x18
|
||||
/* 802A34B8 41 82 00 18 */ beq lbl_802A34D0
|
||||
/* 802A34BC 38 00 00 00 */ li r0, 0
|
||||
/* 802A34C0 98 1F 02 C6 */ stb r0, 0x2c6(r31)
|
||||
/* 802A34C4 98 1F 02 C4 */ stb r0, 0x2c4(r31)
|
||||
/* 802A34C8 38 00 00 04 */ li r0, 4
|
||||
/* 802A34CC 90 1F 02 90 */ stw r0, 0x290(r31)
|
||||
lbl_802A34D0:
|
||||
/* 802A34D0 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802A34D4 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802A34D8 7C 08 03 A6 */ mtlr r0
|
||||
/* 802A34DC 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802A34E0 4E 80 00 20 */ blr
|
||||
|
|
@ -1,104 +0,0 @@
|
|||
lbl_802A3EBC:
|
||||
/* 802A3EBC 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802A3EC0 7C 08 02 A6 */ mflr r0
|
||||
/* 802A3EC4 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802A3EC8 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802A3ECC 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 802A3ED0 7C 7E 1B 78 */ mr r30, r3
|
||||
/* 802A3ED4 C0 23 00 04 */ lfs f1, 4(r3)
|
||||
/* 802A3ED8 80 63 00 20 */ lwz r3, 0x20(r3)
|
||||
/* 802A3EDC 28 03 00 01 */ cmplwi r3, 1
|
||||
/* 802A3EE0 40 81 00 18 */ ble lbl_802A3EF8
|
||||
/* 802A3EE4 38 03 FF FF */ addi r0, r3, -1
|
||||
/* 802A3EE8 90 1E 00 20 */ stw r0, 0x20(r30)
|
||||
/* 802A3EEC C0 1E 00 18 */ lfs f0, 0x18(r30)
|
||||
/* 802A3EF0 EC 21 00 2A */ fadds f1, f1, f0
|
||||
/* 802A3EF4 48 00 00 14 */ b lbl_802A3F08
|
||||
lbl_802A3EF8:
|
||||
/* 802A3EF8 40 82 00 10 */ bne lbl_802A3F08
|
||||
/* 802A3EFC 38 00 00 00 */ li r0, 0
|
||||
/* 802A3F00 90 1E 00 20 */ stw r0, 0x20(r30)
|
||||
/* 802A3F04 C0 3E 00 1C */ lfs f1, 0x1c(r30)
|
||||
lbl_802A3F08:
|
||||
/* 802A3F08 D0 3E 00 04 */ stfs f1, 4(r30)
|
||||
/* 802A3F0C C0 3E 00 0C */ lfs f1, 0xc(r30)
|
||||
/* 802A3F10 80 7E 00 2C */ lwz r3, 0x2c(r30)
|
||||
/* 802A3F14 28 03 00 01 */ cmplwi r3, 1
|
||||
/* 802A3F18 40 81 00 18 */ ble lbl_802A3F30
|
||||
/* 802A3F1C 38 03 FF FF */ addi r0, r3, -1
|
||||
/* 802A3F20 90 1E 00 2C */ stw r0, 0x2c(r30)
|
||||
/* 802A3F24 C0 1E 00 24 */ lfs f0, 0x24(r30)
|
||||
/* 802A3F28 EC 21 00 2A */ fadds f1, f1, f0
|
||||
/* 802A3F2C 48 00 00 14 */ b lbl_802A3F40
|
||||
lbl_802A3F30:
|
||||
/* 802A3F30 40 82 00 10 */ bne lbl_802A3F40
|
||||
/* 802A3F34 38 00 00 00 */ li r0, 0
|
||||
/* 802A3F38 90 1E 00 2C */ stw r0, 0x2c(r30)
|
||||
/* 802A3F3C C0 3E 00 28 */ lfs f1, 0x28(r30)
|
||||
lbl_802A3F40:
|
||||
/* 802A3F40 D0 3E 00 0C */ stfs f1, 0xc(r30)
|
||||
/* 802A3F44 C0 3E 00 08 */ lfs f1, 8(r30)
|
||||
/* 802A3F48 80 7E 00 38 */ lwz r3, 0x38(r30)
|
||||
/* 802A3F4C 28 03 00 01 */ cmplwi r3, 1
|
||||
/* 802A3F50 40 81 00 18 */ ble lbl_802A3F68
|
||||
/* 802A3F54 38 03 FF FF */ addi r0, r3, -1
|
||||
/* 802A3F58 90 1E 00 38 */ stw r0, 0x38(r30)
|
||||
/* 802A3F5C C0 1E 00 30 */ lfs f0, 0x30(r30)
|
||||
/* 802A3F60 EC 21 00 2A */ fadds f1, f1, f0
|
||||
/* 802A3F64 48 00 00 14 */ b lbl_802A3F78
|
||||
lbl_802A3F68:
|
||||
/* 802A3F68 40 82 00 10 */ bne lbl_802A3F78
|
||||
/* 802A3F6C 38 00 00 00 */ li r0, 0
|
||||
/* 802A3F70 90 1E 00 38 */ stw r0, 0x38(r30)
|
||||
/* 802A3F74 C0 3E 00 34 */ lfs f1, 0x34(r30)
|
||||
lbl_802A3F78:
|
||||
/* 802A3F78 D0 3E 00 08 */ stfs f1, 8(r30)
|
||||
/* 802A3F7C C0 3E 00 14 */ lfs f1, 0x14(r30)
|
||||
/* 802A3F80 80 7E 00 50 */ lwz r3, 0x50(r30)
|
||||
/* 802A3F84 28 03 00 01 */ cmplwi r3, 1
|
||||
/* 802A3F88 40 81 00 18 */ ble lbl_802A3FA0
|
||||
/* 802A3F8C 38 03 FF FF */ addi r0, r3, -1
|
||||
/* 802A3F90 90 1E 00 50 */ stw r0, 0x50(r30)
|
||||
/* 802A3F94 C0 1E 00 48 */ lfs f0, 0x48(r30)
|
||||
/* 802A3F98 EC 21 00 2A */ fadds f1, f1, f0
|
||||
/* 802A3F9C 48 00 00 14 */ b lbl_802A3FB0
|
||||
lbl_802A3FA0:
|
||||
/* 802A3FA0 40 82 00 10 */ bne lbl_802A3FB0
|
||||
/* 802A3FA4 38 00 00 00 */ li r0, 0
|
||||
/* 802A3FA8 90 1E 00 50 */ stw r0, 0x50(r30)
|
||||
/* 802A3FAC C0 3E 00 4C */ lfs f1, 0x4c(r30)
|
||||
lbl_802A3FB0:
|
||||
/* 802A3FB0 D0 3E 00 14 */ stfs f1, 0x14(r30)
|
||||
/* 802A3FB4 C0 3E 00 10 */ lfs f1, 0x10(r30)
|
||||
/* 802A3FB8 80 7E 00 44 */ lwz r3, 0x44(r30)
|
||||
/* 802A3FBC 28 03 00 01 */ cmplwi r3, 1
|
||||
/* 802A3FC0 40 81 00 18 */ ble lbl_802A3FD8
|
||||
/* 802A3FC4 38 03 FF FF */ addi r0, r3, -1
|
||||
/* 802A3FC8 90 1E 00 44 */ stw r0, 0x44(r30)
|
||||
/* 802A3FCC C0 1E 00 3C */ lfs f0, 0x3c(r30)
|
||||
/* 802A3FD0 EC 21 00 2A */ fadds f1, f1, f0
|
||||
/* 802A3FD4 48 00 00 14 */ b lbl_802A3FE8
|
||||
lbl_802A3FD8:
|
||||
/* 802A3FD8 40 82 00 10 */ bne lbl_802A3FE8
|
||||
/* 802A3FDC 38 00 00 00 */ li r0, 0
|
||||
/* 802A3FE0 90 1E 00 44 */ stw r0, 0x44(r30)
|
||||
/* 802A3FE4 C0 3E 00 40 */ lfs f1, 0x40(r30)
|
||||
lbl_802A3FE8:
|
||||
/* 802A3FE8 D0 3E 00 10 */ stfs f1, 0x10(r30)
|
||||
/* 802A3FEC 83 FE 00 58 */ lwz r31, 0x58(r30)
|
||||
/* 802A3FF0 48 00 00 10 */ b lbl_802A4000
|
||||
lbl_802A3FF4:
|
||||
/* 802A3FF4 80 7F 00 00 */ lwz r3, 0(r31)
|
||||
/* 802A3FF8 4B FF F8 95 */ bl JAIStreamMgr_calc___9JAIStreamFv
|
||||
/* 802A3FFC 83 FF 00 0C */ lwz r31, 0xc(r31)
|
||||
lbl_802A4000:
|
||||
/* 802A4000 28 1F 00 00 */ cmplwi r31, 0
|
||||
/* 802A4004 40 82 FF F0 */ bne lbl_802A3FF4
|
||||
/* 802A4008 7F C3 F3 78 */ mr r3, r30
|
||||
/* 802A400C 4B FF FD 65 */ bl freeDeadStream___12JAIStreamMgrFv
|
||||
/* 802A4010 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802A4014 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 802A4018 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802A401C 7C 08 03 A6 */ mtlr r0
|
||||
/* 802A4020 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802A4024 4E 80 00 20 */ blr
|
||||
|
|
@ -1,85 +0,0 @@
|
|||
lbl_802A3C3C:
|
||||
/* 802A3C3C 94 21 FF C0 */ stwu r1, -0x40(r1)
|
||||
/* 802A3C40 7C 08 02 A6 */ mflr r0
|
||||
/* 802A3C44 90 01 00 44 */ stw r0, 0x44(r1)
|
||||
/* 802A3C48 39 61 00 40 */ addi r11, r1, 0x40
|
||||
/* 802A3C4C 48 0B E5 81 */ bl _savegpr_25
|
||||
/* 802A3C50 7C 79 1B 78 */ mr r25, r3
|
||||
/* 802A3C54 7C 9A 23 78 */ mr r26, r4
|
||||
/* 802A3C58 7C BB 2B 79 */ or. r27, r5, r5
|
||||
/* 802A3C5C 7C DC 33 78 */ mr r28, r6
|
||||
/* 802A3C60 41 82 00 14 */ beq lbl_802A3C74
|
||||
/* 802A3C64 80 7B 00 00 */ lwz r3, 0(r27)
|
||||
/* 802A3C68 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 802A3C6C 41 82 00 08 */ beq lbl_802A3C74
|
||||
/* 802A3C70 4B FF E9 29 */ bl stop__8JAISoundFv
|
||||
lbl_802A3C74:
|
||||
/* 802A3C74 80 1A 00 00 */ lwz r0, 0(r26)
|
||||
/* 802A3C78 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802A3C7C 80 79 00 64 */ lwz r3, 0x64(r25)
|
||||
/* 802A3C80 38 81 00 14 */ addi r4, r1, 0x14
|
||||
/* 802A3C84 81 83 00 00 */ lwz r12, 0(r3)
|
||||
/* 802A3C88 81 8C 00 08 */ lwz r12, 8(r12)
|
||||
/* 802A3C8C 7D 89 03 A6 */ mtctr r12
|
||||
/* 802A3C90 4E 80 04 21 */ bctrl
|
||||
/* 802A3C94 7C 7E 1B 79 */ or. r30, r3, r3
|
||||
/* 802A3C98 40 80 00 0C */ bge lbl_802A3CA4
|
||||
/* 802A3C9C 38 60 00 00 */ li r3, 0
|
||||
/* 802A3CA0 48 00 00 B8 */ b lbl_802A3D58
|
||||
lbl_802A3CA4:
|
||||
/* 802A3CA4 7F 23 CB 78 */ mr r3, r25
|
||||
/* 802A3CA8 48 00 04 CD */ bl newStream___12JAIStreamMgrFv
|
||||
/* 802A3CAC 7C 7D 1B 78 */ mr r29, r3
|
||||
/* 802A3CB0 83 ED 85 DC */ lwz r31, __OSReport_disable-0x3C(r13)
|
||||
/* 802A3CB4 39 00 FF FF */ li r8, -1
|
||||
/* 802A3CB8 28 1F 00 00 */ cmplwi r31, 0
|
||||
/* 802A3CBC 41 82 00 28 */ beq lbl_802A3CE4
|
||||
/* 802A3CC0 80 1A 00 00 */ lwz r0, 0(r26)
|
||||
/* 802A3CC4 90 01 00 10 */ stw r0, 0x10(r1)
|
||||
/* 802A3CC8 7F E3 FB 78 */ mr r3, r31
|
||||
/* 802A3CCC 38 81 00 10 */ addi r4, r1, 0x10
|
||||
/* 802A3CD0 81 9F 00 00 */ lwz r12, 0(r31)
|
||||
/* 802A3CD4 81 8C 00 0C */ lwz r12, 0xc(r12)
|
||||
/* 802A3CD8 7D 89 03 A6 */ mtctr r12
|
||||
/* 802A3CDC 4E 80 04 21 */ bctrl
|
||||
/* 802A3CE0 7C 68 1B 78 */ mr r8, r3
|
||||
lbl_802A3CE4:
|
||||
/* 802A3CE4 28 1D 00 00 */ cmplwi r29, 0
|
||||
/* 802A3CE8 40 82 00 0C */ bne lbl_802A3CF4
|
||||
/* 802A3CEC 38 60 00 00 */ li r3, 0
|
||||
/* 802A3CF0 48 00 00 68 */ b lbl_802A3D58
|
||||
lbl_802A3CF4:
|
||||
/* 802A3CF4 80 1A 00 00 */ lwz r0, 0(r26)
|
||||
/* 802A3CF8 90 01 00 0C */ stw r0, 0xc(r1)
|
||||
/* 802A3CFC 7F A3 EB 78 */ mr r3, r29
|
||||
/* 802A3D00 38 81 00 0C */ addi r4, r1, 0xc
|
||||
/* 802A3D04 7F C5 F3 78 */ mr r5, r30
|
||||
/* 802A3D08 7F 86 E3 78 */ mr r6, r28
|
||||
/* 802A3D0C 80 F9 00 54 */ lwz r7, 0x54(r25)
|
||||
/* 802A3D10 4B FF F4 8D */ bl func_802A319C
|
||||
/* 802A3D14 28 1F 00 00 */ cmplwi r31, 0
|
||||
/* 802A3D18 41 82 00 28 */ beq lbl_802A3D40
|
||||
/* 802A3D1C 80 1A 00 00 */ lwz r0, 0(r26)
|
||||
/* 802A3D20 90 01 00 08 */ stw r0, 8(r1)
|
||||
/* 802A3D24 7F E3 FB 78 */ mr r3, r31
|
||||
/* 802A3D28 38 81 00 08 */ addi r4, r1, 8
|
||||
/* 802A3D2C 7F A5 EB 78 */ mr r5, r29
|
||||
/* 802A3D30 81 9F 00 00 */ lwz r12, 0(r31)
|
||||
/* 802A3D34 81 8C 00 1C */ lwz r12, 0x1c(r12)
|
||||
/* 802A3D38 7D 89 03 A6 */ mtctr r12
|
||||
/* 802A3D3C 4E 80 04 21 */ bctrl
|
||||
lbl_802A3D40:
|
||||
/* 802A3D40 28 1B 00 00 */ cmplwi r27, 0
|
||||
/* 802A3D44 41 82 00 10 */ beq lbl_802A3D54
|
||||
/* 802A3D48 7F A3 EB 78 */ mr r3, r29
|
||||
/* 802A3D4C 7F 64 DB 78 */ mr r4, r27
|
||||
/* 802A3D50 4B FF E4 6D */ bl attachHandle__8JAISoundFP14JAISoundHandle
|
||||
lbl_802A3D54:
|
||||
/* 802A3D54 38 60 00 00 */ li r3, 0
|
||||
lbl_802A3D58:
|
||||
/* 802A3D58 39 61 00 40 */ addi r11, r1, 0x40
|
||||
/* 802A3D5C 48 0B E4 BD */ bl _restgpr_25
|
||||
/* 802A3D60 80 01 00 44 */ lwz r0, 0x44(r1)
|
||||
/* 802A3D64 7C 08 03 A6 */ mtlr r0
|
||||
/* 802A3D68 38 21 00 40 */ addi r1, r1, 0x40
|
||||
/* 802A3D6C 4E 80 00 20 */ blr
|
||||
|
|
@ -1,26 +0,0 @@
|
|||
lbl_802A4118:
|
||||
/* 802A4118 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 802A411C 7C 08 02 A6 */ mflr r0
|
||||
/* 802A4120 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 802A4124 93 E1 00 1C */ stw r31, 0x1c(r1)
|
||||
/* 802A4128 93 C1 00 18 */ stw r30, 0x18(r1)
|
||||
/* 802A412C 7C 7E 1B 78 */ mr r30, r3
|
||||
/* 802A4130 83 E3 00 58 */ lwz r31, 0x58(r3)
|
||||
/* 802A4134 48 00 00 20 */ b lbl_802A4154
|
||||
lbl_802A4138:
|
||||
/* 802A4138 88 1E 00 00 */ lbz r0, 0(r30)
|
||||
/* 802A413C 98 01 00 08 */ stb r0, 8(r1)
|
||||
/* 802A4140 80 7F 00 00 */ lwz r3, 0(r31)
|
||||
/* 802A4144 38 9E 00 04 */ addi r4, r30, 4
|
||||
/* 802A4148 38 A1 00 08 */ addi r5, r1, 8
|
||||
/* 802A414C 4B FF F3 99 */ bl JAIStreamMgr_mixOut___9JAIStreamFRC14JASSoundParams16JAISoundActivity
|
||||
/* 802A4150 83 FF 00 0C */ lwz r31, 0xc(r31)
|
||||
lbl_802A4154:
|
||||
/* 802A4154 28 1F 00 00 */ cmplwi r31, 0
|
||||
/* 802A4158 40 82 FF E0 */ bne lbl_802A4138
|
||||
/* 802A415C 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
||||
/* 802A4160 83 C1 00 18 */ lwz r30, 0x18(r1)
|
||||
/* 802A4164 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 802A4168 7C 08 03 A6 */ mtlr r0
|
||||
/* 802A416C 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 802A4170 4E 80 00 20 */ blr
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
lbl_802A40B8:
|
||||
/* 802A40B8 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 802A40BC 7C 08 02 A6 */ mflr r0
|
||||
/* 802A40C0 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 802A40C4 93 E1 00 1C */ stw r31, 0x1c(r1)
|
||||
/* 802A40C8 93 C1 00 18 */ stw r30, 0x18(r1)
|
||||
/* 802A40CC 7C 9E 23 78 */ mr r30, r4
|
||||
/* 802A40D0 83 E3 00 58 */ lwz r31, 0x58(r3)
|
||||
/* 802A40D4 48 00 00 24 */ b lbl_802A40F8
|
||||
lbl_802A40D8:
|
||||
/* 802A40D8 80 7F 00 00 */ lwz r3, 0(r31)
|
||||
/* 802A40DC 80 83 00 18 */ lwz r4, 0x18(r3)
|
||||
/* 802A40E0 90 81 00 08 */ stw r4, 8(r1)
|
||||
/* 802A40E4 80 1E 00 00 */ lwz r0, 0(r30)
|
||||
/* 802A40E8 7C 04 00 40 */ cmplw r4, r0
|
||||
/* 802A40EC 40 82 00 08 */ bne lbl_802A40F4
|
||||
/* 802A40F0 4B FF E4 A9 */ bl stop__8JAISoundFv
|
||||
lbl_802A40F4:
|
||||
/* 802A40F4 83 FF 00 0C */ lwz r31, 0xc(r31)
|
||||
lbl_802A40F8:
|
||||
/* 802A40F8 28 1F 00 00 */ cmplwi r31, 0
|
||||
/* 802A40FC 40 82 FF DC */ bne lbl_802A40D8
|
||||
/* 802A4100 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
||||
/* 802A4104 83 C1 00 18 */ lwz r30, 0x18(r1)
|
||||
/* 802A4108 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 802A410C 7C 08 03 A6 */ mtlr r0
|
||||
/* 802A4110 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 802A4114 4E 80 00 20 */ blr
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
lbl_802A4068:
|
||||
/* 802A4068 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802A406C 7C 08 02 A6 */ mflr r0
|
||||
/* 802A4070 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802A4074 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802A4078 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 802A407C 7C 9E 23 78 */ mr r30, r4
|
||||
/* 802A4080 83 E3 00 58 */ lwz r31, 0x58(r3)
|
||||
/* 802A4084 48 00 00 14 */ b lbl_802A4098
|
||||
lbl_802A4088:
|
||||
/* 802A4088 80 7F 00 00 */ lwz r3, 0(r31)
|
||||
/* 802A408C 7F C4 F3 78 */ mr r4, r30
|
||||
/* 802A4090 4B FF E4 4D */ bl stop__8JAISoundFUl
|
||||
/* 802A4094 83 FF 00 0C */ lwz r31, 0xc(r31)
|
||||
lbl_802A4098:
|
||||
/* 802A4098 28 1F 00 00 */ cmplwi r31, 0
|
||||
/* 802A409C 40 82 FF EC */ bne lbl_802A4088
|
||||
/* 802A40A0 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802A40A4 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 802A40A8 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802A40AC 7C 08 03 A6 */ mtlr r0
|
||||
/* 802A40B0 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802A40B4 4E 80 00 20 */ blr
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
lbl_802A4028:
|
||||
/* 802A4028 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802A402C 7C 08 02 A6 */ mflr r0
|
||||
/* 802A4030 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802A4034 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802A4038 83 E3 00 58 */ lwz r31, 0x58(r3)
|
||||
/* 802A403C 48 00 00 10 */ b lbl_802A404C
|
||||
lbl_802A4040:
|
||||
/* 802A4040 80 7F 00 00 */ lwz r3, 0(r31)
|
||||
/* 802A4044 4B FF E5 55 */ bl stop__8JAISoundFv
|
||||
/* 802A4048 83 FF 00 0C */ lwz r31, 0xc(r31)
|
||||
lbl_802A404C:
|
||||
/* 802A404C 28 1F 00 00 */ cmplwi r31, 0
|
||||
/* 802A4050 40 82 FF F0 */ bne lbl_802A4040
|
||||
/* 802A4054 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802A4058 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802A405C 7C 08 03 A6 */ mtlr r0
|
||||
/* 802A4060 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802A4064 4E 80 00 20 */ blr
|
||||
|
|
@ -1,59 +0,0 @@
|
|||
lbl_80291F38:
|
||||
/* 80291F38 94 21 FF D0 */ stwu r1, -0x30(r1)
|
||||
/* 80291F3C 7C 08 02 A6 */ mflr r0
|
||||
/* 80291F40 90 01 00 34 */ stw r0, 0x34(r1)
|
||||
/* 80291F44 39 61 00 30 */ addi r11, r1, 0x30
|
||||
/* 80291F48 48 0D 02 7D */ bl _savegpr_23
|
||||
/* 80291F4C 7C 77 1B 78 */ mr r23, r3
|
||||
/* 80291F50 7C 98 23 78 */ mr r24, r4
|
||||
/* 80291F54 7C B9 2B 78 */ mr r25, r5
|
||||
/* 80291F58 7C DA 33 78 */ mr r26, r6
|
||||
/* 80291F5C 48 00 0B 99 */ bl isMute__8JASTrackCFv
|
||||
/* 80291F60 54 60 06 3F */ clrlwi. r0, r3, 0x18
|
||||
/* 80291F64 41 82 00 0C */ beq lbl_80291F70
|
||||
/* 80291F68 38 60 00 00 */ li r3, 0
|
||||
/* 80291F6C 48 00 00 84 */ b lbl_80291FF0
|
||||
lbl_80291F70:
|
||||
/* 80291F70 3B 80 00 01 */ li r28, 1
|
||||
/* 80291F74 7E E3 BB 78 */ mr r3, r23
|
||||
/* 80291F78 48 00 0B 2D */ bl getTransposeTotal__8JASTrackCFv
|
||||
/* 80291F7C 7F 39 1A 14 */ add r25, r25, r3
|
||||
/* 80291F80 3B 60 00 00 */ li r27, 0
|
||||
/* 80291F84 3B E0 00 00 */ li r31, 0
|
||||
/* 80291F88 57 1E 10 3A */ slwi r30, r24, 2
|
||||
/* 80291F8C 48 00 00 54 */ b lbl_80291FE0
|
||||
lbl_80291F90:
|
||||
/* 80291F90 3B BF 01 70 */ addi r29, r31, 0x170
|
||||
/* 80291F94 7C 77 E8 2E */ lwzx r3, r23, r29
|
||||
/* 80291F98 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 80291F9C 41 82 00 3C */ beq lbl_80291FD8
|
||||
/* 80291FA0 7F 04 C3 78 */ mr r4, r24
|
||||
/* 80291FA4 38 A0 00 00 */ li r5, 0
|
||||
/* 80291FA8 48 00 12 79 */ bl noteOff__Q28JASTrack11TChannelMgrFUlUs
|
||||
/* 80291FAC 7E E3 BB 78 */ mr r3, r23
|
||||
/* 80291FB0 7C 97 E8 2E */ lwzx r4, r23, r29
|
||||
/* 80291FB4 7F 25 CB 78 */ mr r5, r25
|
||||
/* 80291FB8 7F 46 D3 78 */ mr r6, r26
|
||||
/* 80291FBC 38 E0 00 00 */ li r7, 0
|
||||
/* 80291FC0 4B FF FE 39 */ bl channelStart__8JASTrackFPQ28JASTrack11TChannelMgrUlUlUl
|
||||
/* 80291FC4 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 80291FC8 40 82 00 08 */ bne lbl_80291FD0
|
||||
/* 80291FCC 3B 80 00 00 */ li r28, 0
|
||||
lbl_80291FD0:
|
||||
/* 80291FD0 7C 17 E8 2E */ lwzx r0, r23, r29
|
||||
/* 80291FD4 7C 7E 01 2E */ stwx r3, r30, r0
|
||||
lbl_80291FD8:
|
||||
/* 80291FD8 3B 7B 00 01 */ addi r27, r27, 1
|
||||
/* 80291FDC 3B FF 00 04 */ addi r31, r31, 4
|
||||
lbl_80291FE0:
|
||||
/* 80291FE0 80 17 01 D0 */ lwz r0, 0x1d0(r23)
|
||||
/* 80291FE4 7C 1B 00 40 */ cmplw r27, r0
|
||||
/* 80291FE8 41 80 FF A8 */ blt lbl_80291F90
|
||||
/* 80291FEC 7F 83 E3 78 */ mr r3, r28
|
||||
lbl_80291FF0:
|
||||
/* 80291FF0 39 61 00 30 */ addi r11, r1, 0x30
|
||||
/* 80291FF4 48 0D 02 1D */ bl _restgpr_23
|
||||
/* 80291FF8 80 01 00 34 */ lwz r0, 0x34(r1)
|
||||
/* 80291FFC 7C 08 03 A6 */ mtlr r0
|
||||
/* 80292000 38 21 00 30 */ addi r1, r1, 0x30
|
||||
/* 80292004 4E 80 00 20 */ blr
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
lbl_802A4A5C:
|
||||
/* 802A4A5C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802A4A60 7C 08 02 A6 */ mflr r0
|
||||
/* 802A4A64 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802A4A68 38 80 00 00 */ li r4, 0
|
||||
/* 802A4A6C 4B FE B6 D5 */ bl __ct__7JASHeapFP11JASDisposer
|
||||
/* 802A4A70 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802A4A74 7C 08 03 A6 */ mtlr r0
|
||||
/* 802A4A78 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802A4A7C 4E 80 00 20 */ blr
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
lbl_802A4AC4:
|
||||
/* 802A4AC4 38 00 00 00 */ li r0, 0
|
||||
/* 802A4AC8 90 03 00 00 */ stw r0, 0(r3)
|
||||
/* 802A4ACC 4E 80 00 20 */ blr
|
||||
|
|
@ -1,52 +0,0 @@
|
|||
lbl_802A5730:
|
||||
/* 802A5730 94 21 FF D0 */ stwu r1, -0x30(r1)
|
||||
/* 802A5734 7C 08 02 A6 */ mflr r0
|
||||
/* 802A5738 90 01 00 34 */ stw r0, 0x34(r1)
|
||||
/* 802A573C 39 61 00 30 */ addi r11, r1, 0x30
|
||||
/* 802A5740 48 0B CA 9D */ bl _savegpr_29
|
||||
/* 802A5744 7C 7D 1B 78 */ mr r29, r3
|
||||
/* 802A5748 7C 9E 23 78 */ mr r30, r4
|
||||
/* 802A574C 83 E3 00 5C */ lwz r31, 0x5c(r3)
|
||||
/* 802A5750 80 6D 85 D0 */ lwz r3, __OSReport_disable-0x48(r13)
|
||||
/* 802A5754 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 802A5758 40 82 00 0C */ bne lbl_802A5764
|
||||
/* 802A575C 38 60 00 00 */ li r3, 0
|
||||
/* 802A5760 48 00 00 78 */ b lbl_802A57D8
|
||||
lbl_802A5764:
|
||||
/* 802A5764 80 1E 00 00 */ lwz r0, 0(r30)
|
||||
/* 802A5768 90 01 00 10 */ stw r0, 0x10(r1)
|
||||
/* 802A576C 38 81 00 10 */ addi r4, r1, 0x10
|
||||
/* 802A5770 81 83 00 00 */ lwz r12, 0(r3)
|
||||
/* 802A5774 81 8C 00 0C */ lwz r12, 0xc(r12)
|
||||
/* 802A5778 7D 89 03 A6 */ mtctr r12
|
||||
/* 802A577C 4E 80 04 21 */ bctrl
|
||||
/* 802A5780 7C 64 1B 78 */ mr r4, r3
|
||||
/* 802A5784 7F E3 FB 78 */ mr r3, r31
|
||||
/* 802A5788 4B FE B4 49 */ bl getResSize__15JASResArcLoaderFPC10JKRArchiveUs
|
||||
/* 802A578C 7C 65 1B 78 */ mr r5, r3
|
||||
/* 802A5790 38 00 FF FF */ li r0, -1
|
||||
/* 802A5794 90 01 00 0C */ stw r0, 0xc(r1)
|
||||
/* 802A5798 7F A3 EB 78 */ mr r3, r29
|
||||
/* 802A579C 38 81 00 0C */ addi r4, r1, 0xc
|
||||
/* 802A57A0 4B FF FD F9 */ bl newStaticSeqDataBlock___10JAUSectionF10JAISoundIDUl
|
||||
/* 802A57A4 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 802A57A8 41 82 00 2C */ beq lbl_802A57D4
|
||||
/* 802A57AC 80 1E 00 00 */ lwz r0, 0(r30)
|
||||
/* 802A57B0 90 01 00 08 */ stw r0, 8(r1)
|
||||
/* 802A57B4 38 7D 00 38 */ addi r3, r29, 0x38
|
||||
/* 802A57B8 38 81 00 08 */ addi r4, r1, 8
|
||||
/* 802A57BC 38 A0 00 01 */ li r5, 1
|
||||
/* 802A57C0 80 DD 00 30 */ lwz r6, 0x30(r29)
|
||||
/* 802A57C4 80 C6 04 F8 */ lwz r6, 0x4f8(r6)
|
||||
/* 802A57C8 48 00 14 51 */ bl loadDynamicSeq__23JAUDynamicSeqDataBlocksF10JAISoundIDbP14JAISeqDataUser
|
||||
/* 802A57CC 38 60 00 01 */ li r3, 1
|
||||
/* 802A57D0 48 00 00 08 */ b lbl_802A57D8
|
||||
lbl_802A57D4:
|
||||
/* 802A57D4 38 60 00 00 */ li r3, 0
|
||||
lbl_802A57D8:
|
||||
/* 802A57D8 39 61 00 30 */ addi r11, r1, 0x30
|
||||
/* 802A57DC 48 0B CA 4D */ bl _restgpr_29
|
||||
/* 802A57E0 80 01 00 34 */ lwz r0, 0x34(r1)
|
||||
/* 802A57E4 7C 08 03 A6 */ mtlr r0
|
||||
/* 802A57E8 38 21 00 30 */ addi r1, r1, 0x30
|
||||
/* 802A57EC 4E 80 00 20 */ blr
|
||||
|
|
@ -1,68 +0,0 @@
|
|||
lbl_8029E7E0:
|
||||
/* 8029E7E0 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 8029E7E4 7C 08 02 A6 */ mflr r0
|
||||
/* 8029E7E8 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 8029E7EC 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 8029E7F0 48 0C 39 E1 */ bl _savegpr_26
|
||||
/* 8029E7F4 7C 7A 1B 78 */ mr r26, r3
|
||||
/* 8029E7F8 7C 9B 23 78 */ mr r27, r4
|
||||
/* 8029E7FC 7C BE 2B 78 */ mr r30, r5
|
||||
lbl_8029E800:
|
||||
/* 8029E800 48 00 07 81 */ bl Dsp_Running_Check__Fv
|
||||
/* 8029E804 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 8029E808 41 82 FF F8 */ beq lbl_8029E800
|
||||
/* 8029E80C 48 09 EE E9 */ bl OSDisableInterrupts
|
||||
/* 8029E810 7C 7D 1B 78 */ mr r29, r3
|
||||
/* 8029E814 48 0B 3C 1D */ bl DSPCheckMailToDSP
|
||||
/* 8029E818 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 8029E81C 41 82 00 14 */ beq lbl_8029E830
|
||||
/* 8029E820 7F A3 EB 78 */ mr r3, r29
|
||||
/* 8029E824 48 09 EE F9 */ bl OSRestoreInterrupts
|
||||
/* 8029E828 38 60 FF FF */ li r3, -1
|
||||
/* 8029E82C 48 00 00 84 */ b lbl_8029E8B0
|
||||
lbl_8029E830:
|
||||
/* 8029E830 7F 63 DB 78 */ mr r3, r27
|
||||
/* 8029E834 48 0B 3C 35 */ bl DSPSendMailToDSP
|
||||
/* 8029E838 48 0B 3C 45 */ bl DSPAssertInt
|
||||
/* 8029E83C 60 00 00 00 */ nop
|
||||
lbl_8029E840:
|
||||
/* 8029E840 48 0B 3B F1 */ bl DSPCheckMailToDSP
|
||||
/* 8029E844 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 8029E848 40 82 FF F8 */ bne lbl_8029E840
|
||||
/* 8029E84C 28 1B 00 00 */ cmplwi r27, 0
|
||||
/* 8029E850 40 82 00 08 */ bne lbl_8029E858
|
||||
/* 8029E854 3B 60 00 01 */ li r27, 1
|
||||
lbl_8029E858:
|
||||
/* 8029E858 28 1E 00 00 */ cmplwi r30, 0
|
||||
/* 8029E85C 41 82 00 14 */ beq lbl_8029E870
|
||||
/* 8029E860 80 7A 00 00 */ lwz r3, 0(r26)
|
||||
/* 8029E864 7F C4 F3 78 */ mr r4, r30
|
||||
/* 8029E868 48 00 00 B9 */ bl DspStartWork__FUlPFUs_v
|
||||
/* 8029E86C 7C 7C 1B 78 */ mr r28, r3
|
||||
lbl_8029E870:
|
||||
/* 8029E870 3B C0 00 00 */ li r30, 0
|
||||
/* 8029E874 3B E0 00 00 */ li r31, 0
|
||||
/* 8029E878 48 00 00 24 */ b lbl_8029E89C
|
||||
lbl_8029E87C:
|
||||
/* 8029E87C 7C 7A F8 2E */ lwzx r3, r26, r31
|
||||
/* 8029E880 48 0B 3B E9 */ bl DSPSendMailToDSP
|
||||
/* 8029E884 60 00 00 00 */ nop
|
||||
lbl_8029E888:
|
||||
/* 8029E888 48 0B 3B A9 */ bl DSPCheckMailToDSP
|
||||
/* 8029E88C 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 8029E890 40 82 FF F8 */ bne lbl_8029E888
|
||||
/* 8029E894 3B DE 00 01 */ addi r30, r30, 1
|
||||
/* 8029E898 3B FF 00 04 */ addi r31, r31, 4
|
||||
lbl_8029E89C:
|
||||
/* 8029E89C 7C 1E D8 40 */ cmplw r30, r27
|
||||
/* 8029E8A0 41 80 FF DC */ blt lbl_8029E87C
|
||||
/* 8029E8A4 7F A3 EB 78 */ mr r3, r29
|
||||
/* 8029E8A8 48 09 EE 75 */ bl OSRestoreInterrupts
|
||||
/* 8029E8AC 7F 83 E3 78 */ mr r3, r28
|
||||
lbl_8029E8B0:
|
||||
/* 8029E8B0 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 8029E8B4 48 0C 39 69 */ bl _restgpr_26
|
||||
/* 8029E8B8 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 8029E8BC 7C 08 03 A6 */ mtlr r0
|
||||
/* 8029E8C0 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 8029E8C4 4E 80 00 20 */ blr
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
lbl_8029E6E0:
|
||||
/* 8029E6E0 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 8029E6E4 7C 08 02 A6 */ mflr r0
|
||||
/* 8029E6E8 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 8029E6EC 60 00 00 00 */ nop
|
||||
lbl_8029E6F0:
|
||||
/* 8029E6F0 48 0B 3D 51 */ bl DSPCheckMailFromDSP
|
||||
/* 8029E6F4 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 8029E6F8 41 82 FF F8 */ beq lbl_8029E6F0
|
||||
/* 8029E6FC 48 0B 3D 55 */ bl DSPReadMailFromDSP
|
||||
/* 8029E700 48 0B 3D 41 */ bl DSPCheckMailFromDSP
|
||||
/* 8029E704 48 00 08 9D */ bl Dsp_Running_Start__Fv
|
||||
/* 8029E708 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 8029E70C 7C 08 03 A6 */ mtlr r0
|
||||
/* 8029E710 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 8029E714 4E 80 00 20 */ blr
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
lbl_8029E8E0:
|
||||
/* 8029E8E0 38 60 00 00 */ li r3, 0
|
||||
/* 8029E8E4 3C 80 80 43 */ lis r4, taskwork@ha /* 0x80433FE0@ha */
|
||||
/* 8029E8E8 38 00 00 10 */ li r0, 0x10
|
||||
/* 8029E8EC 7C 66 1B 78 */ mr r6, r3
|
||||
/* 8029E8F0 38 A4 3F E0 */ addi r5, r4, taskwork@l /* 0x80433FE0@l */
|
||||
/* 8029E8F4 7C 09 03 A6 */ mtctr r0
|
||||
lbl_8029E8F8:
|
||||
/* 8029E8F8 7C 85 1A 14 */ add r4, r5, r3
|
||||
/* 8029E8FC 38 63 00 08 */ addi r3, r3, 8
|
||||
/* 8029E900 90 C4 00 04 */ stw r6, 4(r4)
|
||||
/* 8029E904 42 00 FF F4 */ bdnz lbl_8029E8F8
|
||||
/* 8029E908 4E 80 00 20 */ blr
|
||||
|
|
@ -9,7 +9,7 @@
|
|||
class JAISeqMgr;
|
||||
class JAISoundChild;
|
||||
|
||||
class JAISeq : public JAISound, JSULink<JAISeq> {
|
||||
class JAISeq : public JASPoolAllocObject<JAISeq>, public JAISound, public JSULink<JAISeq> {
|
||||
public:
|
||||
class TInner {
|
||||
public:
|
||||
|
|
@ -47,6 +47,8 @@ public:
|
|||
/* 802A1348 */ void mixOut_(JASSoundParams const&, JAISoundActivity);
|
||||
/* 802A14FC */ void JAISeqMgr_mixOut_(JASSoundParams const&, JAISoundActivity);
|
||||
|
||||
JAISeqData& getSeqData() { return inner_.mSeqData; }
|
||||
|
||||
/* 0x0a8 */ TInner inner_;
|
||||
/* 0x3A8 */ JAISoundStrategyMgr__unknown<JAISeq>* field_0x3a8;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -9,8 +9,12 @@
|
|||
struct JAIAudience;
|
||||
class JAISeq;
|
||||
|
||||
class JAISeqMgr : public JAISeqDataUser, public JASGlobalInstance<JAISeqMgr> {
|
||||
class JAISeqMgr : public JASGlobalInstance<JAISeqMgr>, public JAISeqDataUser {
|
||||
public:
|
||||
enum ReleaseSeqResult {
|
||||
RELEASE_SEQ_1 = 1,
|
||||
RELEASE_SEQ_2 = 2,
|
||||
};
|
||||
/* 802A1914 */ JAISeqMgr(bool);
|
||||
/* 802A1A08 */ void freeDeadSeq_();
|
||||
/* 802A1B48 */ bool startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3<f32> const*);
|
||||
|
|
@ -19,8 +23,8 @@ public:
|
|||
/* 802A1E3C */ void stop(u32);
|
||||
/* 802A1E8C */ void stopSoundID(JAISoundID);
|
||||
/* 802A1EFC */ void mixOut();
|
||||
/* 802A1F58 */ void beginStartSeq_();
|
||||
/* 802A1FE8 */ void endStartSeq_(JAISeq*, JAISoundHandle*);
|
||||
/* 802A1F58 */ JAISeq* beginStartSeq_();
|
||||
/* 802A1FE8 */ bool endStartSeq_(JAISeq*, JAISoundHandle*);
|
||||
|
||||
/* 802A20F0 */ virtual ~JAISeqMgr(); // inline?
|
||||
/* 802A1804 */ virtual bool isUsingSeqData(JAISeqDataRegion const&);
|
||||
|
|
@ -50,7 +54,7 @@ private:
|
|||
/* 0x04 */ JAISoundActivity mActivity;
|
||||
/* 0x08 */ JAIAudience* mAudience;
|
||||
/* 0x0C */ JAISeqDataMgr* seqDataMgr_;
|
||||
/* 0x10 */ void* field_0x10;
|
||||
/* 0x10 */ JAISoundStrategyMgr<JAISeq>* field_0x10;
|
||||
/* 0x14 */ JAISoundParamsMove mMove;
|
||||
/* 0x64 */ JSUList<JAISeq> mSeqList;
|
||||
/* 0x70 */ int field_0x70;
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ struct JAISoundStatus_ {
|
|||
user_data = 0;
|
||||
}
|
||||
|
||||
bool isAlive(); // used in assert
|
||||
bool isAlive() { return state.unk != 6; }
|
||||
bool isDead() { return state.unk == 6;}
|
||||
|
||||
inline bool isPlaying() { return state.unk == 5; }
|
||||
|
|
@ -138,14 +138,14 @@ struct JAISoundFader {
|
|||
template <typename A0>
|
||||
struct JAISoundStrategyMgr__unknown {
|
||||
virtual void virtual2();
|
||||
virtual void virtual3(A0*);
|
||||
virtual void calc(A0*);
|
||||
virtual void virtual4(A0*, const JASSoundParams&);
|
||||
};
|
||||
|
||||
template <typename A0>
|
||||
struct JAISoundStrategyMgr {
|
||||
virtual void virtual2();
|
||||
virtual JAISoundStrategyMgr__unknown<A0>* virtual3(JAISoundID);
|
||||
virtual JAISoundStrategyMgr__unknown<A0>* calc(JAISoundID);
|
||||
virtual void virtual4(JAISoundStrategyMgr__unknown<A0>*);
|
||||
};
|
||||
/* JAISoundStrategyMgr<JAISe> */
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ struct JAISoundStarter : public JASGlobalInstance<JAISoundStarter> {
|
|||
/* 802A2F6C */ JAISoundStarter(bool);
|
||||
|
||||
virtual ~JAISoundStarter();
|
||||
virtual bool startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3<f32> const*) = 0;
|
||||
/* 802A2FEC */ bool startLevelSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3<f32> const*);
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -3,11 +3,12 @@
|
|||
|
||||
#include "JSystem/JAudio2/JAISound.h"
|
||||
#include "JSystem/JAudio2/JASAramStream.h"
|
||||
#include "JSystem/JAudio2/JASHeapCtrl.h"
|
||||
#include "JSystem/JSupport/JSUList.h"
|
||||
|
||||
class JAIStreamMgr;
|
||||
|
||||
class JAIStream : public JAISound, JSULink<JAIStream> {
|
||||
class JAIStream : public JASPoolAllocObject<JAIStream>, public JAISound, public JSULink<JAIStream> {
|
||||
public:
|
||||
struct TInner {
|
||||
JASAramStream field_0x0;
|
||||
|
|
@ -16,7 +17,7 @@ public:
|
|||
/* 802A3104 */ JAIStream(JAIStreamMgr*, JAISoundStrategyMgr<JAIStream>*);
|
||||
/* 802A319C */ void JAIStreamMgr_startID_(JAISoundID, s32, JGeometry::TVec3<f32> const*,
|
||||
JAIAudience*, int);
|
||||
/* 802A3230 */ void prepare_prepareStream_();
|
||||
/* 802A3230 */ bool prepare_prepareStream_();
|
||||
/* 802A33F4 */ void prepare_();
|
||||
/* 802A3498 */ void prepare_startStream_();
|
||||
/* 802A34E4 */ void JAIStreamMgr_mixOut_(JASSoundParams const&, JAISoundActivity);
|
||||
|
|
@ -31,16 +32,18 @@ public:
|
|||
/* 802A3ACC */ JAIStream* asStream();
|
||||
/* 802A3AD0 */ JAITempoMgr* getTempoMgr();
|
||||
|
||||
void* JAIStreamMgr_getAramAddr_() { return field_0x29c; }
|
||||
|
||||
/* 0x0A8 */ TInner field_0x0a8;
|
||||
/* 0x290 */ int field_0x290;
|
||||
/* 0x294 */ s32 field_0x294;
|
||||
/* 0x298 */ int field_0x298;
|
||||
/* 0x29C */ int field_0x29c;
|
||||
/* 0x29C */ void* field_0x29c;
|
||||
/* 0x2A0 */ JAISoundChild* field_0x2a0[6];
|
||||
/* 0x2B8 */ JAIStreamMgr* field_0x2b8;
|
||||
/* 0x2BC */ int field_0x2bc;
|
||||
/* 0x2BC */ JAISoundStrategyMgr__unknown<JAIStream>* field_0x2bc;
|
||||
/* 0x2C0 */ JAISoundStrategyMgr<JAIStream>* field_0x2c0;
|
||||
/* 0x2C4 */ u8 field_0x2C4;
|
||||
/* 0x2C4 */ u8 field_0x2c4;
|
||||
/* 0x2C5 */ u8 field_0x2c5;
|
||||
/* 0x2C6 */ u8 field_0x2c6;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -20,13 +20,14 @@ public:
|
|||
/* 802A4068 */ void stop(u32);
|
||||
/* 802A40B8 */ void stopSoundID(JAISoundID);
|
||||
/* 802A4118 */ void mixOut();
|
||||
/* 802A4174 */ void newStream_();
|
||||
/* 802A4174 */ JAIStream* newStream_();
|
||||
/* 802B9978 */ bool isActive() const;
|
||||
|
||||
JAISoundParamsMove* getParams() { return &mParams; }
|
||||
JAIStreamAramMgr* getStreamAramMgr() { return mStreamAramMgr; }
|
||||
void setStreamDataMgr(JAIStreamDataMgr* param_0) {
|
||||
JUT_ASSERT(139, !isActive());
|
||||
mStreamDataMgr = param_0;
|
||||
streamDataMgr_ = param_0;
|
||||
}
|
||||
void setStreamAramMgr(JAIStreamAramMgr* param_0) {
|
||||
JUT_ASSERT(157, !isActive());
|
||||
|
|
@ -37,11 +38,11 @@ public:
|
|||
private:
|
||||
/* 0x00 */ JAISoundActivity mActivity;
|
||||
/* 0x04 */ JAISoundParamsMove mParams;
|
||||
/* 0x54 */ int field_0x54;
|
||||
/* 0x54 */ JAIAudience* field_0x54;
|
||||
/* 0x58 */ JSUList<JAIStream> mStreamList;
|
||||
/* 0x64 */ JAIStreamDataMgr * mStreamDataMgr;
|
||||
/* 0x64 */ JAIStreamDataMgr* streamDataMgr_;
|
||||
/* 0x68 */ JAIStreamAramMgr* mStreamAramMgr;
|
||||
/* 0x6C */ int field_0x6c;
|
||||
/* 0x6C */ JAISoundStrategyMgr<JAIStream>* field_0x6c;
|
||||
}; // Size: 0x70
|
||||
|
||||
#endif /* JAISTREAMMGR_H */
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
#define JASARAMSTREAM_H
|
||||
|
||||
#include "dolphin/os/OSMessage.h"
|
||||
#include "JSystem/JUtility/JUTAssert.h"
|
||||
|
||||
class JASChannel;
|
||||
|
||||
|
|
@ -9,13 +10,15 @@ namespace JASDsp {
|
|||
class TChannel;
|
||||
}
|
||||
|
||||
#define CHANNEL_MAX 6
|
||||
|
||||
class JASAramStream {
|
||||
public:
|
||||
/* 8029631C */ static void initSystem(u32, u32);
|
||||
/* 802963A8 */ JASAramStream();
|
||||
/* 8029649C */ void init(u32, u32, void (*)(u32, JASAramStream*, void*), void*);
|
||||
/* 8029655C */ void prepare(s32, int);
|
||||
/* 80296618 */ void start();
|
||||
/* 8029655C */ bool prepare(s32, int);
|
||||
/* 80296618 */ bool start();
|
||||
/* 8029664C */ void stop(u16);
|
||||
/* 80296684 */ void pause(bool);
|
||||
/* 802966CC */ void cancel();
|
||||
|
|
@ -35,6 +38,51 @@ public:
|
|||
/* 80297658 */ void channelStart();
|
||||
/* 80297870 */ void channelStop(u16);
|
||||
|
||||
void setPitch(f32 pitch) { field_0x178 = pitch; }
|
||||
void setVolume(f32 volume) {
|
||||
for (int i = 0; i < 6; i++) {
|
||||
mChannelVolume[i] = volume;
|
||||
}
|
||||
}
|
||||
|
||||
void setPan(f32 pan) {
|
||||
for (int i = 0; i < 6; i++) {
|
||||
mChannelPan[i] = pan;
|
||||
}
|
||||
}
|
||||
|
||||
void setFxmix(f32 fxMix) {
|
||||
for (int i = 0; i < 6; i++) {
|
||||
mchannelFxMix[i] = fxMix;
|
||||
}
|
||||
}
|
||||
|
||||
void setDolby(f32 dolby) {
|
||||
for (int i = 0; i < 6; i++) {
|
||||
mChannelDolby[i] = dolby;
|
||||
}
|
||||
}
|
||||
|
||||
void setChannelVolume(int channel, f32 volume) {
|
||||
JUT_ASSERT(290, channel < CHANNEL_MAX);
|
||||
mChannelVolume[channel] = volume;
|
||||
}
|
||||
|
||||
void setChannelPan(int channel, f32 pan) {
|
||||
JUT_ASSERT(296, channel < CHANNEL_MAX);
|
||||
mChannelPan[channel] = pan;
|
||||
}
|
||||
|
||||
void setChannelFxmix(int channel, f32 fxMix) {
|
||||
JUT_ASSERT(302, channel < CHANNEL_MAX);
|
||||
mchannelFxMix[channel] = fxMix;
|
||||
}
|
||||
|
||||
void setChannelDolby(int channel, f32 dolby) {
|
||||
JUT_ASSERT(308, channel < CHANNEL_MAX);
|
||||
mChannelDolby[channel] = dolby;
|
||||
}
|
||||
|
||||
/* 0x000 */ OSMessageQueue field_0x000;
|
||||
/* 0x020 */ OSMessageQueue field_0x020;
|
||||
/* 0x040 */ void* field_0x040[16];
|
||||
|
|
@ -66,8 +114,8 @@ public:
|
|||
/* 0x128 */ short field_0x128;
|
||||
/* 0x12A */ u8 field_0x12A[0x12C - 0x12A];
|
||||
/* 0x12C */ int field_0x12c;
|
||||
/* 0x130 */ short field_0x130[6];
|
||||
/* 0x13C */ short field_0x13c[6];
|
||||
/* 0x130 */ short field_0x130[CHANNEL_MAX];
|
||||
/* 0x13C */ short field_0x13c[CHANNEL_MAX];
|
||||
/* 0x148 */ int field_0x148;
|
||||
/* 0x14C */ int field_0x14c;
|
||||
/* 0x150 */ void* field_0x150;
|
||||
|
|
@ -83,11 +131,11 @@ public:
|
|||
/* 0x170 */ int field_0x170;
|
||||
/* 0x174 */ f32 field_0x174;
|
||||
/* 0x178 */ f32 field_0x178;
|
||||
/* 0x17C */ float field_0x17c[6];
|
||||
/* 0x194 */ float field_0x194[6];
|
||||
/* 0x1AC */ float field_0x1ac[6];
|
||||
/* 0x1C4 */ float field_0x1c4[6];
|
||||
/* 0x1DC */ short field_0x1dc[6];
|
||||
/* 0x17C */ float mChannelVolume[CHANNEL_MAX];
|
||||
/* 0x194 */ float mChannelPan[CHANNEL_MAX];
|
||||
/* 0x1AC */ float mchannelFxMix[CHANNEL_MAX];
|
||||
/* 0x1C4 */ float mChannelDolby[CHANNEL_MAX];
|
||||
/* 0x1DC */ short field_0x1dc[CHANNEL_MAX];
|
||||
|
||||
u32 getBlockSize() { return sBlockSize; }
|
||||
|
||||
|
|
|
|||
|
|
@ -20,4 +20,4 @@ public:
|
|||
JASDefaultBankTable() : JASGlobalInstance(true) {}
|
||||
};
|
||||
|
||||
#endif /* JASBANKLIST_H */
|
||||
#endif /* JASBANKTABLE_H */
|
||||
|
|
@ -214,6 +214,9 @@ public:
|
|||
JASMemPool<T>* memPool = getMemPool();
|
||||
return memPool->alloc(sizeof(T));
|
||||
}
|
||||
static void* operator new(size_t n, void* ptr) {
|
||||
return ptr;
|
||||
}
|
||||
static void operator delete(void* ptr, size_t n) {
|
||||
JASMemPool<T>* memPool_ = getMemPool();
|
||||
memPool_->free(ptr, sizeof(T));
|
||||
|
|
@ -256,6 +259,9 @@ public:
|
|||
JASMemPool_MultiThreaded<T>* memPool_ = getMemPool();
|
||||
return memPool_->alloc(sizeof(T));
|
||||
}
|
||||
static void* operator new(size_t n, void* ptr) {
|
||||
return ptr;
|
||||
}
|
||||
static void operator delete(void* ptr, size_t n) {
|
||||
JASMemPool_MultiThreaded<T>* memPool_ = getMemPool();
|
||||
memPool_->free(ptr, sizeof(T));
|
||||
|
|
|
|||
|
|
@ -1,9 +1,11 @@
|
|||
#ifndef OSDSP_H
|
||||
#define OSDSP_H
|
||||
|
||||
#include "dolphin/dsp.h"
|
||||
|
||||
struct DSPTaskInfo;
|
||||
struct STRUCT_DSP_TASK;
|
||||
struct STRUCT_DSP_TASK {
|
||||
/* 0x00 */ DSPTaskInfo info;
|
||||
};
|
||||
|
||||
extern "C" DSPTaskInfo* DSPAddTask(DSPTaskInfo*);
|
||||
void DSPAddPriorTask(STRUCT_DSP_TASK*);
|
||||
|
|
|
|||
|
|
@ -126,7 +126,7 @@ void JAISe::JAISeCategoryMgr_calc_() {
|
|||
if (calc_JAISound_()) {
|
||||
inner_.mTempoMgr.calc();
|
||||
if (inner_.field_0x278) {
|
||||
inner_.field_0x278->virtual3(this);
|
||||
inner_.field_0x278->calc(this);
|
||||
}
|
||||
}
|
||||
if (isStopping() || mPriority == -1) {
|
||||
|
|
@ -159,7 +159,7 @@ void JAISe::JAISeMgr_startID_(JAISoundID param_0, JGeometry::TVec3<f32> const* p
|
|||
start_JAISound_(param_0, param_1, param_2);
|
||||
inner_.field_0x26c = 0;
|
||||
if (inner_.mSoundStrategyMgr) {
|
||||
inner_.field_0x278 = inner_.mSoundStrategyMgr->virtual3(param_0);
|
||||
inner_.field_0x278 = inner_.mSoundStrategyMgr->calc(param_0);
|
||||
} else {
|
||||
inner_.field_0x278 = NULL;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -161,7 +161,7 @@ void JAISeq::JAISeqMgr_startID_(JAISoundID param_0, JGeometry::TVec3<f32> const*
|
|||
reserveChildTracks_(param_4);
|
||||
start_JAISound_(param_0, param_1, param_2);
|
||||
if (inner_.strategyMgr) {
|
||||
field_0x3a8 = inner_.strategyMgr->virtual3(param_0);
|
||||
field_0x3a8 = inner_.strategyMgr->calc(param_0);
|
||||
} else {
|
||||
field_0x3a8 = NULL;
|
||||
}
|
||||
|
|
@ -301,7 +301,7 @@ void JAISeq::JAISeqMgr_calc_() {
|
|||
}
|
||||
}
|
||||
if (field_0x3a8) {
|
||||
field_0x3a8->virtual3(this);
|
||||
field_0x3a8->calc(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,34 +4,12 @@
|
|||
//
|
||||
|
||||
#include "JSystem/JAudio2/JAISeqMgr.h"
|
||||
#include "JSystem/JAudio2/JAISeq.h"
|
||||
#include "JSystem/JAudio2/JASHeapCtrl.h"
|
||||
#include "JSystem/JAudio2/JAISoundHandles.h"
|
||||
#include "JSystem/JAudio2/JAISoundInfo.h"
|
||||
#include "dol2asm.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
template <typename A0>
|
||||
struct JASMemPool {};
|
||||
/* JASMemPool<JAISeq> */
|
||||
struct JASMemPool__template2 {
|
||||
/* 802A1AF4 */ void func_802A1AF4(void* _this);
|
||||
};
|
||||
|
||||
struct JASGenericMemPool {
|
||||
/* 80290848 */ JASGenericMemPool();
|
||||
/* 80290860 */ ~JASGenericMemPool();
|
||||
/* 80290948 */ void alloc(u32);
|
||||
/* 80290994 */ void free(void*, u32);
|
||||
};
|
||||
|
||||
struct JAISeq {
|
||||
/* 802A0A8C */ JAISeq(JAISeqMgr*, JAISoundStrategyMgr<JAISeq>*);
|
||||
/* 802A0B64 */ void JAISeqMgr_startID_(JAISoundID, JGeometry::TVec3<f32> const*, JAIAudience*,
|
||||
int, int);
|
||||
/* 802A108C */ void JAISeqMgr_calc_();
|
||||
/* 802A14FC */ void JAISeqMgr_mixOut_(JASSoundParams const&, JAISoundActivity);
|
||||
};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
|
@ -91,25 +69,35 @@ extern "C" extern u8 __OSReport_disable;
|
|||
|
||||
/* 802A1804-802A1870 29C144 006C+00 1/0 0/0 0/0 .text
|
||||
* isUsingSeqData__9JAISeqMgrFRC16JAISeqDataRegion */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm bool JAISeqMgr::isUsingSeqData(JAISeqDataRegion const& param_0) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JAudio2/JAISeqMgr/isUsingSeqData__9JAISeqMgrFRC16JAISeqDataRegion.s"
|
||||
bool JAISeqMgr::isUsingSeqData(JAISeqDataRegion const& param_1) {
|
||||
for (JSULink<JAISeq>* link = mSeqList.getFirst(); link != NULL; link = link->getNext()) {
|
||||
if (param_1.intersects(link->getObject()->getSeqData())) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
|
||||
|
||||
/* 802A1870-802A1914 29C1B0 00A4+00 1/0 0/0 0/0 .text
|
||||
* releaseSeqData__9JAISeqMgrFRC16JAISeqDataRegion */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm int JAISeqMgr::releaseSeqData(JAISeqDataRegion const& param_0) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JAudio2/JAISeqMgr/releaseSeqData__9JAISeqMgrFRC16JAISeqDataRegion.s"
|
||||
int JAISeqMgr::releaseSeqData(JAISeqDataRegion const& param_1) {
|
||||
bool bVar1 = false;
|
||||
for (JSULink<JAISeq>* link = mSeqList.getFirst(); link != NULL; link = link->getNext()) {
|
||||
if (param_1.intersects(link->getObject()->getSeqData())) {
|
||||
link->getObject()->stop();
|
||||
bVar1 = true;
|
||||
}
|
||||
}
|
||||
ReleaseSeqResult uVar4;
|
||||
if (!bVar1) {
|
||||
uVar4 = RELEASE_SEQ_2;
|
||||
} else {
|
||||
uVar4 = RELEASE_SEQ_1;
|
||||
}
|
||||
return uVar4;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803C9958-803C9970 026A78 0014+04 2/2 1/1 0/0 .data __vt__9JAISeqMgr */
|
||||
|
|
@ -142,14 +130,13 @@ SECTION_SDATA2 static f32 lit_693[1 + 1 /* padding */] = {
|
|||
};
|
||||
|
||||
/* 802A1914-802A1A08 29C254 00F4+00 0/0 1/1 0/0 .text __ct__9JAISeqMgrFb */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm JAISeqMgr::JAISeqMgr(bool param_0) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JAudio2/JAISeqMgr/__ct__9JAISeqMgrFb.s"
|
||||
JAISeqMgr::JAISeqMgr(bool param_1) : JASGlobalInstance<JAISeqMgr>(param_1), mAudience(NULL) {
|
||||
seqDataMgr_ = NULL;
|
||||
field_0x10 = NULL;
|
||||
field_0x70 = 16;
|
||||
mMove.init();
|
||||
mActivity.init();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 804340C0-804340CC 060DE0 000C+00 3/3 0/0 0/0 .bss @715 */
|
||||
|
|
@ -161,6 +148,21 @@ extern u8 data_804340CC[16 + 4 /* padding */];
|
|||
u8 data_804340CC[16 + 4 /* padding */];
|
||||
|
||||
/* 802A1A08-802A1AF4 29C348 00EC+00 1/1 0/0 0/0 .text freeDeadSeq___9JAISeqMgrFv */
|
||||
// Matches with all JASPoolAllocObject definitions and data_80451320
|
||||
#ifdef NONMATCHING
|
||||
void JAISeqMgr::freeDeadSeq_() {
|
||||
JSULink<JAISeq>* link = mSeqList.getFirst();
|
||||
while (link != NULL) {
|
||||
JAISeq* seq = link->getObject();
|
||||
JSULink<JAISeq>* next = seq->getNext();
|
||||
if (seq->status_.isDead()) {
|
||||
mSeqList.remove(link);
|
||||
delete seq;
|
||||
}
|
||||
link = next;
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
|
|
@ -169,6 +171,7 @@ asm void JAISeqMgr::freeDeadSeq_() {
|
|||
#include "asm/JSystem/JAudio2/JAISeqMgr/freeDeadSeq___9JAISeqMgrFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 802A1AF4-802A1B48 29C434 0054+00 3/3 1/1 0/0 .text __dt__19JASMemPool<6JAISeq>Fv */
|
||||
#pragma push
|
||||
|
|
@ -182,86 +185,122 @@ extern "C" asm void func_802A1AF4(void* _this) {
|
|||
|
||||
/* 802A1B48-802A1C90 29C488 0148+00 0/0 1/1 0/0 .text
|
||||
* startSound__9JAISeqMgrF10JAISoundIDP14JAISoundHandlePCQ29JGeometry8TVec3<f> */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
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"
|
||||
bool JAISeqMgr::startSound(JAISoundID param_1, JAISoundHandle* param_2,
|
||||
JGeometry::TVec3<f32> const* param_3) {
|
||||
if (param_2 != NULL && *param_2) {
|
||||
(*param_2)->stop();
|
||||
}
|
||||
JAISoundInfo* soundInfo = JASGlobalInstance<JAISoundInfo>::getInstance();
|
||||
int category = (soundInfo != NULL) ? soundInfo->getCategory(param_1) : -1;
|
||||
JAISeqData aJStack_38(NULL, 0);
|
||||
JUT_ASSERT(81, seqDataMgr_);
|
||||
if (seqDataMgr_->getSeqData(param_1, &aJStack_38) == JAISeqDataMgr::SeqDataReturnValue_0) {
|
||||
return false;
|
||||
}
|
||||
JAISeq* jaiSeq = beginStartSeq_();
|
||||
if (jaiSeq != NULL) {
|
||||
jaiSeq->JAISeqMgr_startID_(param_1, param_3, mAudience, category, field_0x70);
|
||||
if (endStartSeq_(jaiSeq, param_2) != 0) {
|
||||
if (soundInfo != NULL) {
|
||||
soundInfo->getSeqInfo(param_1, jaiSeq);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802A1C90-802A1DFC 29C5D0 016C+00 0/0 4/4 0/0 .text calc__9JAISeqMgrFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JAISeqMgr::calc() {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JAudio2/JAISeqMgr/calc__9JAISeqMgrFv.s"
|
||||
void JAISeqMgr::calc() {
|
||||
mMove.calc();
|
||||
for (JSULink<JAISeq>* link = mSeqList.getFirst(); link != NULL; link = link->getNext()) {
|
||||
link->getObject()->JAISeqMgr_calc_();
|
||||
}
|
||||
freeDeadSeq_();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802A1DFC-802A1E3C 29C73C 0040+00 0/0 1/1 0/0 .text stop__9JAISeqMgrFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JAISeqMgr::stop() {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JAudio2/JAISeqMgr/stop__9JAISeqMgrFv.s"
|
||||
void JAISeqMgr::stop() {
|
||||
for (JSULink<JAISeq>* link = mSeqList.getFirst(); link != NULL; link = link->getNext()) {
|
||||
link->getObject()->stop();
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802A1E3C-802A1E8C 29C77C 0050+00 0/0 1/1 0/0 .text stop__9JAISeqMgrFUl */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JAISeqMgr::stop(u32 param_0) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JAudio2/JAISeqMgr/stop__9JAISeqMgrFUl.s"
|
||||
void JAISeqMgr::stop(u32 param_0) {
|
||||
for (JSULink<JAISeq>* link = mSeqList.getFirst(); link != NULL; link = link->getNext()) {
|
||||
link->getObject()->stop(param_0);
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802A1E8C-802A1EFC 29C7CC 0070+00 0/0 1/1 0/0 .text stopSoundID__9JAISeqMgrF10JAISoundID */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JAISeqMgr::stopSoundID(JAISoundID param_0) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JAudio2/JAISeqMgr/stopSoundID__9JAISeqMgrF10JAISoundID.s"
|
||||
void JAISeqMgr::stopSoundID(JAISoundID param_1) {
|
||||
if (!param_1.isAnonymous()) {
|
||||
for (JSULink<JAISeq>* link = mSeqList.getFirst(); link != NULL; link = link->getNext()) {
|
||||
if ((u32)link->getObject()->getID() == (u32)param_1) {
|
||||
link->getObject()->stop();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802A1EFC-802A1F58 29C83C 005C+00 0/0 4/4 0/0 .text mixOut__9JAISeqMgrFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JAISeqMgr::mixOut() {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JAudio2/JAISeqMgr/mixOut__9JAISeqMgrFv.s"
|
||||
void JAISeqMgr::mixOut() {
|
||||
for (JSULink<JAISeq>* link = mSeqList.getFirst(); link != NULL; link = link->getNext()) {
|
||||
link->getObject()->JAISeqMgr_mixOut_(mMove.mParams, mActivity);
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802A1F58-802A1FE8 29C898 0090+00 1/1 0/0 0/0 .text beginStartSeq___9JAISeqMgrFv */
|
||||
// Matches with JASPoolAllocObject stuff
|
||||
#ifdef NONMATCHING
|
||||
JAISeq* JAISeqMgr::beginStartSeq_() {
|
||||
JAISeq* seq = new JAISeq(this, field_0x10);
|
||||
if (seq == NULL) {
|
||||
JUT_WARN(273, "JASPoolAllocObject::<JAISeq>::operator new failed .\n");
|
||||
}
|
||||
return seq;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JAISeqMgr::beginStartSeq_() {
|
||||
asm JAISeq* JAISeqMgr::beginStartSeq_() {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JAudio2/JAISeqMgr/beginStartSeq___9JAISeqMgrFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 802A1FE8-802A20F0 29C928 0108+00 1/1 0/0 0/0 .text
|
||||
* endStartSeq___9JAISeqMgrFP6JAISeqP14JAISoundHandle */
|
||||
// Matches with JASPoolAllocObject stuff
|
||||
#ifdef NONMATCHING
|
||||
bool JAISeqMgr::endStartSeq_(JAISeq* param_1, JAISoundHandle* param_2) {
|
||||
JAISeq* sound = param_1->getObject();
|
||||
if (sound != NULL) {
|
||||
if (sound->status_.isAlive()) {
|
||||
mSeqList.append(param_1);
|
||||
if (param_2 != NULL) {
|
||||
sound->attachHandle(param_2);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
delete sound;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JAISeqMgr::endStartSeq_(JAISeq* param_0, JAISoundHandle* param_1) {
|
||||
asm bool JAISeqMgr::endStartSeq_(JAISeq* param_0, JAISoundHandle* param_1) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JAudio2/JAISeqMgr/endStartSeq___9JAISeqMgrFP6JAISeqP14JAISoundHandle.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 802A20F0-802A2184 29CA30 0094+00 1/0 0/0 0/0 .text __dt__9JAISeqMgrFv */
|
||||
#pragma push
|
||||
|
|
|
|||
|
|
@ -1,39 +1,11 @@
|
|||
//
|
||||
// Generated By: dol2asm
|
||||
// Translation Unit: JAISoundStarter
|
||||
// JAISoundStarter
|
||||
//
|
||||
|
||||
#include "JSystem/JAudio2/JAISoundStarter.h"
|
||||
#include "dol2asm.h"
|
||||
#include "JSystem/JAudio2/JAISoundHandles.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void __ct__15JAISoundStarterFb();
|
||||
extern "C" void __dt__15JAISoundStarterFv();
|
||||
extern "C" void func_802A2FEC();
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void __dl__FPv();
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803C99C8-803C99D8 026AE8 0010+00 2/2 0/0 0/0 .data __vt__15JAISoundStarter */
|
||||
SECTION_DATA extern void* __vt__15JAISoundStarter[4] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__15JAISoundStarterFv,
|
||||
(void*)NULL,
|
||||
};
|
||||
|
||||
/* 802A2F6C-802A2F88 29D8AC 001C+00 0/0 1/1 0/0 .text __ct__15JAISoundStarterFb */
|
||||
JAISoundStarter::JAISoundStarter(bool param_0) : JASGlobalInstance<JAISoundStarter>(param_0) {
|
||||
}
|
||||
|
|
@ -44,8 +16,6 @@ JAISoundStarter::~JAISoundStarter() {
|
|||
|
||||
/* 802A2FEC-802A30D4 29D92C 00E8+00 0/0 4/4 0/0 .text
|
||||
* startLevelSound__15JAISoundStarterF10JAISoundIDP14JAISoundHandlePCQ29JGeometry8TVec3<f> */
|
||||
// This function is probably virtual but it causes vtable issues.
|
||||
#ifdef NONMATCHING
|
||||
bool JAISoundStarter::startLevelSound(JAISoundID param_0, JAISoundHandle* param_1,
|
||||
JGeometry::TVec3<f32> const* param_2) {
|
||||
if (*param_1) {
|
||||
|
|
@ -58,20 +28,9 @@ bool JAISoundStarter::startLevelSound(JAISoundID param_0, JAISoundHandle* param_
|
|||
}
|
||||
}
|
||||
|
||||
bool iVar2 = startLevelSound(param_0, param_1, param_2);
|
||||
bool iVar2 = startSound(param_0, param_1, param_2);
|
||||
if ((iVar2) && *param_1) {
|
||||
(*param_1)->setLifeTime(1, false);
|
||||
}
|
||||
return iVar2;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm bool JAISoundStarter::startLevelSound(JAISoundID param_0, JAISoundHandle* param_1,
|
||||
JGeometry::TVec3<f32> const* param_2) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JAudio2/JAISoundStarter/func_802A2FEC.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
|
@ -4,27 +4,14 @@
|
|||
//
|
||||
|
||||
#include "JSystem/JAudio2/JAIStream.h"
|
||||
#include "JSystem/JAudio2/JAIStreamMgr.h"
|
||||
#include "JSystem/JAudio2/JASHeapCtrl.h"
|
||||
#include "JSystem/JAudio2/JAIAudience.h"
|
||||
#include "JSystem/JAudio2/JAISoundChild.h"
|
||||
#include "JSystem/JAudio2/JAIStreamDataMgr.h"
|
||||
#include "JSystem/JKernel/JKRHeap.h"
|
||||
#include "dol2asm.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct JASGenericMemPool {
|
||||
/* 80290848 */ JASGenericMemPool();
|
||||
/* 80290948 */ void alloc(u32);
|
||||
/* 80290994 */ void free(void*, u32);
|
||||
};
|
||||
|
||||
struct JAIStreamMgr {};
|
||||
|
||||
struct JAIAudience {};
|
||||
|
||||
struct JAISoundChild {
|
||||
/* 802A2AB0 */ void init();
|
||||
/* 802A2B7C */ void calc();
|
||||
};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
|
@ -81,93 +68,132 @@ extern "C" void _restgpr_29();
|
|||
extern "C" extern u8 data_804340B0[16];
|
||||
extern "C" extern u8 data_80451318[8];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* 802A30D4-802A3104 29DA14 0030+00 1/1 0/0 0/0 .text
|
||||
* JAIStream_JASAramStreamCallback___FUlP13JASAramStreamPv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void JAIStream_JASAramStreamCallback_(u32 param_0, JASAramStream* param_1,
|
||||
void* param_2) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JAudio2/JAIStream/JAIStream_JASAramStreamCallback___FUlP13JASAramStreamPv.s"
|
||||
static void JAIStream_JASAramStreamCallback_(u32 param_1, JASAramStream* param_2, void* param_3) {
|
||||
switch (param_1) {
|
||||
case 1:
|
||||
((JAIStream*)(param_3))->field_0x2c5 = 1;
|
||||
break;
|
||||
case 0:
|
||||
((JAIStream*)(param_3))->field_0x2c6 = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803C99D8-803C9A08 026AF8 0030+00 1/1 1/1 0/0 .data __vt__9JAIStream */
|
||||
SECTION_DATA extern void* __vt__9JAIStream[12] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)getNumChild__9JAIStreamCFv,
|
||||
(void*)getChild__9JAIStreamFi,
|
||||
(void*)releaseChild__9JAIStreamFi,
|
||||
(void*)asSe__8JAISoundFv,
|
||||
(void*)asSeq__8JAISoundFv,
|
||||
(void*)asStream__9JAIStreamFv,
|
||||
(void*)getTrack__9JAIStreamFv,
|
||||
(void*)getChildTrack__9JAIStreamFi,
|
||||
(void*)getTempoMgr__9JAIStreamFv,
|
||||
(void*)JAISound_tryDie___9JAIStreamFv,
|
||||
};
|
||||
|
||||
/* 802A3104-802A319C 29DA44 0098+00 0/0 1/1 0/0 .text
|
||||
* __ct__9JAIStreamFP12JAIStreamMgrP31JAISoundStrategyMgr<9JAIStream> */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm JAIStream::JAIStream(JAIStreamMgr* param_0, JAISoundStrategyMgr<JAIStream>* param_1) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JAudio2/JAIStream/func_802A3104.s"
|
||||
JAIStream::JAIStream(JAIStreamMgr* param_1, JAISoundStrategyMgr<JAIStream>* param_2) : JSULink<JAIStream>(this) {
|
||||
field_0x290 = 0;
|
||||
field_0x2c0 = param_2;
|
||||
field_0x2b8 = param_1;
|
||||
field_0x29c = 0;
|
||||
field_0x2c5 = 0;
|
||||
field_0x2c6 = 0;
|
||||
for (int i = 0; i < CHANNEL_MAX; i++) {
|
||||
field_0x2a0[i] = NULL;
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802A319C-802A3230 29DADC 0094+00 0/0 1/1 0/0 .text
|
||||
* JAIStreamMgr_startID___9JAIStreamF10JAISoundIDlPCQ29JGeometry8TVec3<f>P11JAIAudiencei */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JAIStream::JAIStreamMgr_startID_(JAISoundID param_0, s32 param_1,
|
||||
JGeometry::TVec3<f32> const* param_2,
|
||||
JAIAudience* param_3, int param_4) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JAudio2/JAIStream/func_802A319C.s"
|
||||
void JAIStream::JAIStreamMgr_startID_(JAISoundID param_1, s32 param_2,
|
||||
JGeometry::TVec3<f32> const* param_3, JAIAudience* param_4,
|
||||
int param_5) {
|
||||
field_0x298 = param_5;
|
||||
field_0x294 = param_2;
|
||||
start_JAISound_(param_1, param_3, param_4);
|
||||
field_0x290 = 0;
|
||||
if (field_0x2c0 != NULL) {
|
||||
field_0x2bc = field_0x2c0->calc(param_1);
|
||||
} else {
|
||||
field_0x2bc = NULL;
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802A3230-802A33F4 29DB70 01C4+00 1/1 0/0 0/0 .text prepare_prepareStream___9JAIStreamFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JAIStream::prepare_prepareStream_() {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JAudio2/JAIStream/prepare_prepareStream___9JAIStreamFv.s"
|
||||
bool JAIStream::prepare_prepareStream_() {
|
||||
u32 local_28;
|
||||
switch (field_0x290) {
|
||||
case 0:
|
||||
JAIStreamAramMgr* streamAramMgr = field_0x2b8->getStreamAramMgr();
|
||||
JUT_ASSERT(100, streamAramMgr);
|
||||
field_0x29c = streamAramMgr->newStreamAram(&local_28);
|
||||
if (field_0x29c != NULL) {
|
||||
field_0x0a8.field_0x0.init((u32)field_0x29c, local_28, &JAIStream_JASAramStreamCallback_, this);
|
||||
field_0x290 = 1;
|
||||
prepareCount = 0;
|
||||
} else {
|
||||
increasePrepareCount_JAISound_();
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if (audible_ != NULL) {
|
||||
JASSoundParams* soundParams = audible_->getOuterParams(0);
|
||||
field_0x0a8.field_0x0.setPitch(soundParams->mPitch);
|
||||
field_0x0a8.field_0x0.setVolume(soundParams->mVolume);
|
||||
field_0x0a8.field_0x0.setPan(soundParams->mPan);
|
||||
field_0x0a8.field_0x0.setFxmix(soundParams->mFxMix);
|
||||
field_0x0a8.field_0x0.setDolby(soundParams->mDolby);
|
||||
}
|
||||
field_0x2c5 = 0;
|
||||
if (field_0x0a8.field_0x0.prepare(field_0x294, -1)) {
|
||||
field_0x290 = 2;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if (field_0x2c5 != 0) {
|
||||
field_0x2c5 = 0;
|
||||
field_0x290 = 3;
|
||||
} else {
|
||||
increasePrepareCount_JAISound_();
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
return true;
|
||||
case 4:
|
||||
JUT_WARN(155, "PC must not pass here.");
|
||||
break;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802A33F4-802A3498 29DD34 00A4+00 1/1 0/0 0/0 .text prepare___9JAIStreamFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JAIStream::prepare_() {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JAudio2/JAIStream/prepare___9JAIStreamFv.s"
|
||||
void JAIStream::prepare_() {
|
||||
if (field_0x2c6 != 0) {
|
||||
return;
|
||||
}
|
||||
switch(status_.state.unk) {
|
||||
case 0:
|
||||
if (prepare_prepareStream_()) {
|
||||
status_.state.unk = 5;
|
||||
prepare_startStream_();
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if (prepare_prepareStream_()) {
|
||||
status_.state.unk = 3;
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
status_.state.unk = 5;
|
||||
prepare_startStream_();
|
||||
break;
|
||||
case 5:
|
||||
break;
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802A3498-802A34E4 29DDD8 004C+00 1/1 0/0 0/0 .text prepare_startStream___9JAIStreamFv
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JAIStream::prepare_startStream_() {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JAudio2/JAIStream/prepare_startStream___9JAIStreamFv.s"
|
||||
void JAIStream::prepare_startStream_() {
|
||||
if (field_0x0a8.field_0x0.start()) {
|
||||
field_0x2c6 = 0;
|
||||
field_0x2c4 = 0;
|
||||
field_0x290 = 4;
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 804557F0-804557F4 003DF0 0004+00 2/2 0/0 0/0 .sdata2 @864 */
|
||||
|
|
@ -190,6 +216,57 @@ SECTION_SDATA2 static f32 lit_866[1 + 1 /* padding */] = {
|
|||
|
||||
/* 802A34E4-802A3720 29DE24 023C+00 0/0 1/1 0/0 .text
|
||||
* JAIStreamMgr_mixOut___9JAIStreamFRC14JASSoundParams16JAISoundActivity */
|
||||
// Matches with literals
|
||||
#ifdef NONMATCHING
|
||||
void JAIStream::JAIStreamMgr_mixOut_(JASSoundParams const& param_1, JAISoundActivity param_2) {
|
||||
bool local_54;
|
||||
JASSoundParams local_4c;
|
||||
params.mixOutAll(param_1, &local_4c, (status_.isMute() || param_2.field_0x0.flags.flag1) ? 0.0f : fader.getIntensity());
|
||||
if (field_0x2bc != NULL) {
|
||||
field_0x2bc->virtual4(this, local_4c);
|
||||
}
|
||||
JASSoundParams* mixParams = &local_4c;
|
||||
if (audible_ != NULL && audience_ != NULL) {
|
||||
for (int i = 0; i < audience_->getMaxChannels(); i++) {
|
||||
JASSoundParams* outerParams = audible_->getOuterParams(i);
|
||||
if (outerParams != NULL) {
|
||||
audience_->mixChannelOut(local_4c, audible_, i);
|
||||
mixParams = outerParams;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
for (int i = 0; i < CHANNEL_MAX; i++) {
|
||||
field_0x0a8.field_0x0.setPitch(mixParams->mPitch);
|
||||
if (field_0x2a0[i] != NULL) {
|
||||
field_0x0a8.field_0x0.setChannelVolume(i, field_0x2a0[i]->mMove.mParams.mVolume *
|
||||
mixParams->mVolume);
|
||||
field_0x0a8.field_0x0.setChannelPan(
|
||||
i, (field_0x2a0[i]->mMove.mParams.mPan + mixParams->mPan) - 0.5f);
|
||||
field_0x0a8.field_0x0.setChannelFxmix(i, field_0x2a0[i]->mMove.mParams.mFxMix +
|
||||
mixParams->mFxMix);
|
||||
field_0x0a8.field_0x0.setChannelDolby(i, field_0x2a0[i]->mMove.mParams.mDolby +
|
||||
mixParams->mDolby);
|
||||
} else {
|
||||
field_0x0a8.field_0x0.setChannelVolume(i, mixParams->mVolume);
|
||||
field_0x0a8.field_0x0.setChannelPan(i, mixParams->mPan);
|
||||
field_0x0a8.field_0x0.setChannelFxmix(i, mixParams->mFxMix);
|
||||
field_0x0a8.field_0x0.setChannelDolby(i, mixParams->mDolby);
|
||||
}
|
||||
}
|
||||
prepare_();
|
||||
if (field_0x290 == 4) {
|
||||
local_54 = false;
|
||||
if (status_.isPaused() || param_2.field_0x0.flags.flag2) {
|
||||
local_54 = true;
|
||||
}
|
||||
if (local_54 != field_0x2c4) {
|
||||
field_0x0a8.field_0x0.pause(local_54);
|
||||
field_0x2c4 = local_54;
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
|
|
@ -198,12 +275,29 @@ asm void JAIStream::JAIStreamMgr_mixOut_(JASSoundParams const& param_0, JAISound
|
|||
#include "asm/JSystem/JAudio2/JAIStream/JAIStreamMgr_mixOut___9JAIStreamFRC14JASSoundParams16JAISoundActivity.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 804340E0-804340F0 060E00 000C+04 3/3 0/0 0/0 .bss @881 */
|
||||
static u8 lit_881[12 + 4 /* padding */];
|
||||
|
||||
/* 802A3720-802A37FC 29E060 00DC+00 1/1 0/0 0/0 .text die_JAIStream___9JAIStreamFv */
|
||||
// Matches with literals
|
||||
#ifdef NONMATCHING
|
||||
void JAIStream::die_JAIStream_() {
|
||||
die_JAISound_();
|
||||
for (int i = 0; i < CHANNEL_MAX; i++) {
|
||||
if (field_0x2a0[i] != NULL) {
|
||||
delete (JASPoolAllocObject<JAISoundChild>*)field_0x2a0[i];
|
||||
field_0x2a0[i] = NULL;
|
||||
}
|
||||
}
|
||||
if (field_0x2bc != NULL) {
|
||||
field_0x2c0->virtual4(field_0x2bc);
|
||||
field_0x2bc = NULL;
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
|
|
@ -212,26 +306,50 @@ asm void JAIStream::die_JAIStream_() {
|
|||
#include "asm/JSystem/JAudio2/JAIStream/die_JAIStream___9JAIStreamFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 802A37FC-802A388C 29E13C 0090+00 1/0 0/0 0/0 .text JAISound_tryDie___9JAIStreamFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm bool JAIStream::JAISound_tryDie_() {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JAudio2/JAIStream/JAISound_tryDie___9JAIStreamFv.s"
|
||||
bool JAIStream::JAISound_tryDie_() {
|
||||
if (field_0x2c6) {
|
||||
die_JAIStream_();
|
||||
return true;
|
||||
}
|
||||
switch (field_0x290) {
|
||||
case 0:
|
||||
case 1:
|
||||
die_JAIStream_();
|
||||
return true;
|
||||
case 2:
|
||||
case 3:
|
||||
field_0x290 = 5;
|
||||
field_0x0a8.field_0x0.cancel();
|
||||
break;
|
||||
case 4:
|
||||
field_0x290 = 6;
|
||||
field_0x0a8.field_0x0.stop(10);
|
||||
break;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802A388C-802A3948 29E1CC 00BC+00 0/0 1/1 0/0 .text JAIStreamMgr_calc___9JAIStreamFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JAIStream::JAIStreamMgr_calc_() {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JAudio2/JAIStream/JAIStreamMgr_calc___9JAIStreamFv.s"
|
||||
void JAIStream::JAIStreamMgr_calc_() {
|
||||
if (field_0x2c6 != 0) {
|
||||
field_0x290 = 0;
|
||||
stop_JAISound_();
|
||||
}
|
||||
if (calc_JAISound_()) {
|
||||
for (int i = 0; i < CHANNEL_MAX; i++) {
|
||||
if (field_0x2a0[i] != NULL) {
|
||||
field_0x2a0[i]->calc();
|
||||
}
|
||||
}
|
||||
if (field_0x2bc != NULL) {
|
||||
field_0x2bc->calc(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802A3948-802A3950 29E288 0008+00 1/0 0/0 0/0 .text getNumChild__9JAIStreamCFv */
|
||||
s32 JAIStream::getNumChild() const {
|
||||
|
|
@ -239,6 +357,18 @@ s32 JAIStream::getNumChild() const {
|
|||
}
|
||||
|
||||
/* 802A3950-802A3A24 29E290 00D4+00 1/0 0/0 0/0 .text getChild__9JAIStreamFi */
|
||||
#ifdef NONMATCHING
|
||||
JAISoundChild* JAIStream::getChild(int i_idx) {
|
||||
if (field_0x2a0[i_idx] == NULL) {
|
||||
JASPoolAllocObject<JAISoundChild>* ptr = new JASPoolAllocObject<JAISoundChild>();
|
||||
field_0x2a0[i_idx] = new (ptr) JAISoundChild();
|
||||
if (field_0x2a0[i_idx] == NULL) {
|
||||
JUT_WARN(370, "JASPoolAllocObject::<JAISoundChild>::operator new failed .")
|
||||
}
|
||||
}
|
||||
return field_0x2a0[i_idx];
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
|
|
@ -247,8 +377,17 @@ asm JAISoundChild* JAIStream::getChild(int param_0) {
|
|||
#include "asm/JSystem/JAudio2/JAIStream/getChild__9JAIStreamFi.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 802A3A24-802A3ABC 29E364 0098+00 1/0 0/0 0/0 .text releaseChild__9JAIStreamFi */
|
||||
#ifdef NONMATCHING
|
||||
void JAIStream::releaseChild(int i_idx) {
|
||||
if (field_0x2a0[i_idx] != NULL) {
|
||||
delete (JASPoolAllocObject<JAISoundChild>*)field_0x2a0[i_idx];
|
||||
field_0x2a0[i_idx] = NULL;
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
|
|
@ -257,6 +396,7 @@ asm void JAIStream::releaseChild(int param_0) {
|
|||
#include "asm/JSystem/JAudio2/JAIStream/releaseChild__9JAIStreamFi.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 802A3ABC-802A3AC4 29E3FC 0008+00 1/0 0/0 0/0 .text getTrack__9JAIStreamFv */
|
||||
JASTrack* JAIStream::getTrack() {
|
||||
|
|
|
|||
|
|
@ -4,26 +4,11 @@
|
|||
//
|
||||
|
||||
#include "JSystem/JAudio2/JAIStreamMgr.h"
|
||||
#include "JSystem/JAudio2/JAISoundHandles.h"
|
||||
#include "JSystem/JAudio2/JAIStreamDataMgr.h"
|
||||
#include "JSystem/JAudio2/JAISoundInfo.h"
|
||||
#include "dol2asm.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
template <typename A0>
|
||||
struct JASMemPool {};
|
||||
/* JASMemPool<JAIStream> */
|
||||
struct JASMemPool__template3 {
|
||||
/* 802A3E68 */ void func_802A3E68(void* _this);
|
||||
};
|
||||
|
||||
struct JASGenericMemPool {
|
||||
/* 80290848 */ JASGenericMemPool();
|
||||
/* 80290860 */ ~JASGenericMemPool();
|
||||
/* 80290948 */ void alloc(u32);
|
||||
/* 80290994 */ void free(void*, u32);
|
||||
};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
|
@ -93,6 +78,17 @@ SECTION_SDATA2 static f32 lit_655[1 + 1 /* padding */] = {
|
|||
};
|
||||
|
||||
/* 802A3B68-802A3C3C 29E4A8 00D4+00 0/0 1/1 0/0 .text __ct__12JAIStreamMgrFb */
|
||||
// Matches with literals
|
||||
#ifdef NONMATCHING
|
||||
JAIStreamMgr::JAIStreamMgr(bool param_0) : JASGlobalInstance<JAIStreamMgr>(param_0) {
|
||||
streamDataMgr_ = NULL;
|
||||
mStreamAramMgr = NULL;
|
||||
field_0x6c = NULL;
|
||||
field_0x54 = NULL;
|
||||
mParams.init();
|
||||
mActivity.init();
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
|
|
@ -101,18 +97,39 @@ asm JAIStreamMgr::JAIStreamMgr(bool param_0) {
|
|||
#include "asm/JSystem/JAudio2/JAIStreamMgr/__ct__12JAIStreamMgrFb.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 802A3C3C-802A3D70 29E57C 0134+00 0/0 1/1 0/0 .text
|
||||
* startSound__12JAIStreamMgrF10JAISoundIDP14JAISoundHandlePCQ29JGeometry8TVec3<f> */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
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"
|
||||
bool JAIStreamMgr::startSound(JAISoundID param_1, JAISoundHandle* param_2,
|
||||
JGeometry::TVec3<f32> const* param_3) {
|
||||
JUT_ASSERT(37, streamDataMgr_);
|
||||
if (param_2 != NULL && *param_2) {
|
||||
(*param_2)->stop();
|
||||
}
|
||||
s32 streamFileEntry = streamDataMgr_->getStreamFileEntry(param_1);
|
||||
if (streamFileEntry < 0) {
|
||||
JUT_WARN("Cannot find the stream file entry for ID:%08x\n", param_1)
|
||||
return false;
|
||||
}
|
||||
JAIStream* stream = newStream_();
|
||||
JAISoundInfo* piVar5 = JASGlobalInstance<JAISoundInfo>::getInstance();
|
||||
int iVar2 = -1;
|
||||
if (piVar5 != NULL) {
|
||||
iVar2 = piVar5->getCategory(param_1);
|
||||
}
|
||||
if (stream == NULL) {
|
||||
return false;
|
||||
}
|
||||
stream->JAIStreamMgr_startID_(param_1, streamFileEntry, param_3, field_0x54, iVar2);
|
||||
if (piVar5 != NULL) {
|
||||
piVar5->getStreamInfo(param_1, stream);
|
||||
}
|
||||
if (param_2 != NULL) {
|
||||
stream->attachHandle(param_2);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 804340F0-804340FC 060E10 000C+00 2/2 0/0 0/0 .bss @745 */
|
||||
|
|
@ -125,6 +142,26 @@ u8 data_804340FC[16 + 4 /* padding */];
|
|||
|
||||
/* 802A3D70-802A3E68 29E6B0 00F8+00 1/1 0/0 0/0 .text freeDeadStream___12JAIStreamMgrFv
|
||||
*/
|
||||
// I think this will match when all references to data_80451328 (init$localstatic4$getMemPool__30JASPoolAllocObject<9JAIStream>Fv) are not in asm
|
||||
#ifdef NONMATCHING
|
||||
void JAIStreamMgr::freeDeadStream_() {
|
||||
JSULink<JAIStream>* link = mStreamList.getFirst();
|
||||
while (link != NULL) {
|
||||
JAIStream* stream = link->getObject();
|
||||
JSULink<JAIStream>* next = link->getNext();
|
||||
if (stream->status_.isDead()) {
|
||||
mStreamList.remove(link);
|
||||
void* aramAddr = stream->JAIStreamMgr_getAramAddr_();
|
||||
if (aramAddr != NULL) {
|
||||
mStreamAramMgr->deleteStreamAram((u32)aramAddr);
|
||||
}
|
||||
|
||||
delete stream;
|
||||
}
|
||||
link = next;
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
|
|
@ -133,6 +170,7 @@ asm void JAIStreamMgr::freeDeadStream_() {
|
|||
#include "asm/JSystem/JAudio2/JAIStreamMgr/freeDeadStream___12JAIStreamMgrFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 802A3E68-802A3EBC 29E7A8 0054+00 2/2 1/1 0/0 .text __dt__22JASMemPool<9JAIStream>Fv */
|
||||
#pragma push
|
||||
|
|
@ -145,61 +183,68 @@ extern "C" asm void func_802A3E68(void* _this) {
|
|||
#pragma pop
|
||||
|
||||
/* 802A3EBC-802A4028 29E7FC 016C+00 0/0 1/1 0/0 .text calc__12JAIStreamMgrFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JAIStreamMgr::calc() {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JAudio2/JAIStreamMgr/calc__12JAIStreamMgrFv.s"
|
||||
void JAIStreamMgr::calc() {
|
||||
mParams.calc();
|
||||
for (JSULink<JAIStream>* link = mStreamList.getFirst(); link != NULL; link = link->getNext()) {
|
||||
link->getObject()->JAIStreamMgr_calc_();
|
||||
}
|
||||
freeDeadStream_();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802A4028-802A4068 29E968 0040+00 0/0 1/1 0/0 .text stop__12JAIStreamMgrFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JAIStreamMgr::stop() {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JAudio2/JAIStreamMgr/stop__12JAIStreamMgrFv.s"
|
||||
void JAIStreamMgr::stop() {
|
||||
for (JSULink<JAIStream>* link = mStreamList.getFirst(); link != NULL; link = link->getNext()) {
|
||||
link->getObject()->stop();
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802A4068-802A40B8 29E9A8 0050+00 0/0 2/2 0/0 .text stop__12JAIStreamMgrFUl */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JAIStreamMgr::stop(u32 param_0) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JAudio2/JAIStreamMgr/stop__12JAIStreamMgrFUl.s"
|
||||
void JAIStreamMgr::stop(u32 param_0) {
|
||||
for (JSULink<JAIStream>* link = mStreamList.getFirst(); link != NULL; link = link->getNext()) {
|
||||
link->getObject()->stop(param_0);
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802A40B8-802A4118 29E9F8 0060+00 0/0 1/1 0/0 .text stopSoundID__12JAIStreamMgrF10JAISoundID */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JAIStreamMgr::stopSoundID(JAISoundID param_0) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JAudio2/JAIStreamMgr/stopSoundID__12JAIStreamMgrF10JAISoundID.s"
|
||||
void JAIStreamMgr::stopSoundID(JAISoundID param_0) {
|
||||
for (JSULink<JAIStream>* link = mStreamList.getFirst(); link != NULL; link = link->getNext()) {
|
||||
if ((u32)link->getObject()->getID() == (u32)param_0) {
|
||||
link->getObject()->stop();
|
||||
}
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802A4118-802A4174 29EA58 005C+00 0/0 1/1 0/0 .text mixOut__12JAIStreamMgrFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JAIStreamMgr::mixOut() {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JAudio2/JAIStreamMgr/mixOut__12JAIStreamMgrFv.s"
|
||||
void JAIStreamMgr::mixOut() {
|
||||
for (JSULink<JAIStream>* link = mStreamList.getFirst(); link != NULL; link = link->getNext()) {
|
||||
link->getObject()->JAIStreamMgr_mixOut_(mParams.mParams, mActivity);
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802A4174-802A4244 29EAB4 00D0+00 1/1 0/0 0/0 .text newStream___12JAIStreamMgrFv */
|
||||
// Matches with data_80451328
|
||||
#ifdef NONMATCHING
|
||||
JAIStream* JAIStreamMgr::newStream_() {
|
||||
if (mStreamAramMgr == NULL) {
|
||||
JUT_WARN(229, "JAIStreamAramMgr must be set.\n");
|
||||
return NULL;
|
||||
}
|
||||
JAIStream* stream = new JAIStream(this, field_0x6c);
|
||||
if (stream == NULL) {
|
||||
JUT_WARN(235, "JASPoolAllocObject::<JAIStream>::operator new failed .\n");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
mStreamList.append(stream);
|
||||
return stream;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JAIStreamMgr::newStream_() {
|
||||
asm JAIStream* JAIStreamMgr::newStream_() {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JAudio2/JAIStreamMgr/newStream___12JAIStreamMgrFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -108,11 +108,6 @@ extern "C" void registerSubFrameCallback__9JASDriverFPFPv_lPv();
|
|||
extern "C" void* __nwa__FUlP7JKRHeapi();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void mainRamToAram__7JKRAramFPUcUlUl15JKRExpandSwitchUlP7JKRHeapiPUl();
|
||||
extern "C" void OSDisableInterrupts();
|
||||
extern "C" void OSRestoreInterrupts();
|
||||
extern "C" void DVDFastOpen();
|
||||
extern "C" void DVDReadPrio();
|
||||
extern "C" void DVDGetDriveStatus();
|
||||
extern "C" void __register_global_object();
|
||||
extern "C" void _savegpr_19();
|
||||
extern "C" void _savegpr_25();
|
||||
|
|
@ -201,7 +196,7 @@ asm void JASAramStream::init(u32 param_0, u32 param_1, void (*param_2)(u32, JASA
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JASAramStream::prepare(s32 param_0, int param_1) {
|
||||
asm bool JASAramStream::prepare(s32 param_0, int param_1) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JAudio2/JASAramStream/prepare__13JASAramStreamFli.s"
|
||||
}
|
||||
|
|
@ -211,7 +206,7 @@ asm void JASAramStream::prepare(s32 param_0, int param_1) {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JASAramStream::start() {
|
||||
asm bool JASAramStream::start() {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JAudio2/JASAramStream/start__13JASAramStreamFv.s"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -641,18 +641,16 @@ asm JASChannel* JASTrack::channelStart(JASTrack::TChannelMgr* param_0, u32 param
|
|||
#endif
|
||||
|
||||
/* 80291F38-80292008 28C878 00D0+00 0/0 1/1 0/0 .text noteOn__8JASTrackFUlUlUl */
|
||||
#ifdef NONMATCHING
|
||||
// regalloc
|
||||
int JASTrack::noteOn(u32 i_noteID, u32 param_1, u32 param_2) {
|
||||
if (isMute()) {
|
||||
return 0;
|
||||
}
|
||||
int ret = 1;
|
||||
int var1 = param_1 + getTransposeTotal();
|
||||
param_1 += getTransposeTotal();
|
||||
for (u32 i = 0; i < mChannelMgrCount; i++) {
|
||||
if (mChannelMgrs[i] != NULL) {
|
||||
mChannelMgrs[i]->noteOff(i_noteID, 0);
|
||||
JASChannel* channel = channelStart(mChannelMgrs[i], var1, param_2, 0);
|
||||
JASChannel* channel = channelStart(mChannelMgrs[i], param_1, param_2, 0);
|
||||
if (channel == NULL) {
|
||||
ret = 0;
|
||||
}
|
||||
|
|
@ -661,16 +659,6 @@ int JASTrack::noteOn(u32 i_noteID, u32 param_1, u32 param_2) {
|
|||
}
|
||||
return ret;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm int JASTrack::noteOn(u32 param_0, u32 param_1, u32 param_2) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JAudio2/JASTrack/noteOn__8JASTrackFUlUlUl.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 804555AC-804555B0 003BAC 0004+00 1/1 0/0 0/0 .sdata2 @952 */
|
||||
|
|
@ -681,9 +669,9 @@ SECTION_SDATA2 static f64 lit_954 = 4503599627370496.0 /* cast u32 to float */;
|
|||
|
||||
/* 80292008-80292198 28C948 0190+00 0/0 1/1 0/0 .text gateOn__8JASTrackFUlUlfUl */
|
||||
#ifdef NONMATCHING
|
||||
// regalloc
|
||||
// matches with literals
|
||||
int JASTrack::gateOn(u32 param_0, u32 i_velocity, f32 i_time, u32 i_flags) {
|
||||
int uvar5 = param_0 + getTransposeTotal();
|
||||
param_0 += getTransposeTotal();
|
||||
if (mGateRate != 100) {
|
||||
i_time *= mGateRate / 100.0f;
|
||||
}
|
||||
|
|
@ -693,7 +681,7 @@ int JASTrack::gateOn(u32 param_0, u32 i_velocity, f32 i_time, u32 i_flags) {
|
|||
if (i_flags & 1) {
|
||||
uvar7 = field_0x22b;
|
||||
} else {
|
||||
uvar7 = uvar5;
|
||||
uvar7 = param_0;
|
||||
}
|
||||
for (u32 i = 0; i < mChannelMgrCount; i++) {
|
||||
TChannelMgr* channel_mgr = mChannelMgrs[i];
|
||||
|
|
@ -713,12 +701,12 @@ int JASTrack::gateOn(u32 param_0, u32 i_velocity, f32 i_time, u32 i_flags) {
|
|||
}
|
||||
}
|
||||
if ((i_flags & 1) && channel_mgr->mChannels[0] != NULL) {
|
||||
channel_mgr->mChannels[0]->setKeySweepTarget(uvar5 - uvar7, uvar2);
|
||||
channel_mgr->mChannels[0]->setKeySweepTarget(param_0 - uvar7, uvar2);
|
||||
}
|
||||
}
|
||||
}
|
||||
mFlags.flag4 = (i_flags >> 1) & 1;
|
||||
field_0x22b = uvar5;
|
||||
field_0x22b = param_0;
|
||||
return 1;
|
||||
}
|
||||
#else
|
||||
|
|
|
|||
|
|
@ -1,44 +1,12 @@
|
|||
//
|
||||
// Generated By: dol2asm
|
||||
// Translation Unit: JAUAudioMgr
|
||||
// JAUAudioMgr
|
||||
//
|
||||
|
||||
#include "JSystem/JAudio2/JAUAudioMgr.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "JSystem/JAudio2/JASHeapCtrl.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct JASDisposer {};
|
||||
|
||||
struct JASHeap {
|
||||
/* 80290140 */ JASHeap(JASDisposer*);
|
||||
/* 802A4A5C */ void __defctor();
|
||||
};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void __defctor__7JASHeapFv();
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void __ct__7JASHeapFP11JASDisposer();
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* 802A4A5C-802A4A80 29F39C 0024+00 0/0 1/1 0/0 .text __defctor__7JASHeapFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JASHeap::__defctor() {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JAudio2/JAUAudioMgr/__defctor__7JASHeapFv.s"
|
||||
// Here to generate JASHeap::__defctor (ctor generated by default arguments)
|
||||
void dummyDefCtor() {
|
||||
JASHeap dummy[20];
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
|
|
|
|||
|
|
@ -1,39 +1,11 @@
|
|||
//
|
||||
// Generated By: dol2asm
|
||||
// Translation Unit: JAUClusterSound
|
||||
// JAUClusterSound
|
||||
//
|
||||
|
||||
#include "JSystem/JAudio2/JAUClusterSound.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "JSystem/JAudio2/JAISoundHandles.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct JAISoundHandle {
|
||||
/* 802A4AC4 */ JAISoundHandle();
|
||||
};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void __ct__14JAISoundHandleFv();
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* 802A4AC4-802A4AD0 29F404 000C+00 0/0 1/1 0/0 .text __ct__14JAISoundHandleFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm JAISoundHandle::JAISoundHandle() {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JAudio2/JAUClusterSound/__ct__14JAISoundHandleFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
// Dummy function to generate JAISoundHandle::JAISoundHandle
|
||||
static void dummyCtor() {
|
||||
JAISoundHandle dummy[20];
|
||||
}
|
||||
|
|
@ -531,8 +531,6 @@ bool JAUSection::newStaticSeqData(JAISoundID param_0, void const* param_1, u32 p
|
|||
|
||||
/* 802A5730-802A57F0 2A0070 00C0+00 0/0 1/1 0/0 .text newStaticSeqData__10JAUSectionF10JAISoundID
|
||||
*/
|
||||
// extra instruction JAISoundID
|
||||
#ifdef NONMATCHING
|
||||
bool JAUSection::newStaticSeqData(JAISoundID param_0) {
|
||||
JKRArchive* seqArchive = data_.field_0x00.getSeqDataArchive();
|
||||
JUT_ASSERT(481, seqArchive);
|
||||
|
|
@ -542,25 +540,13 @@ bool JAUSection::newStaticSeqData(JAISoundID param_0) {
|
|||
}
|
||||
u16 r26 = soundInfo->getBgmSeqResourceID(param_0);
|
||||
u32 r25 = JASResArcLoader::getResSize(seqArchive, r26);
|
||||
JAISoundID stack_2c;
|
||||
stack_2c.setAnonymous();
|
||||
u8* r24 = newStaticSeqDataBlock_(stack_2c, r25);
|
||||
u8* r24 = newStaticSeqDataBlock_(0xffffffff, r25);
|
||||
if (r24) {
|
||||
data_.field_0x00.loadDynamicSeq(param_0, true, sectionHeap_->sectionHeapData_.seqDataUser);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm bool JAUSection::newStaticSeqData(JAISoundID param_0) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JAudio2/JAUSectionHeap/newStaticSeqData__10JAUSectionF10JAISoundID.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 802A57F0-802A5854 2A0130 0064+00 3/3 0/0 0/0 .text newCopy__10JAUSectionFPCvUll */
|
||||
void* JAUSection::newCopy(void const* param_0, u32 param_1, s32 param_2) {
|
||||
|
|
|
|||
|
|
@ -150,7 +150,7 @@ LIBJAUDIO2_A_LDFLAGS := \
|
|||
-proc gekko \
|
||||
-linkmode moreram \
|
||||
|
||||
DSP_CFLAGS := -pragma "function_align 32" -Cpp_exceptions off -proc gekko -fp hard -O4,p -nodefaults -str nopool,readonly,reuse -RTTI off -maxerrors 5 -enum int $(INCLUDES)
|
||||
DSP_CFLAGS := -pragma "function_align 32" -Cpp_exceptions off -proc gekko -fp hard -O4 -nodefaults -str nopool,readonly,reuse -RTTI off -maxerrors 5 -enum int $(INCLUDES)
|
||||
|
||||
$(BUILD_DIR)/libs/JSystem/JAudio2/dspproc.o: CFLAGS := $(DSP_CFLAGS)
|
||||
$(BUILD_DIR)/libs/JSystem/JAudio2/osdsp.o: CFLAGS := $(DSP_CFLAGS)
|
||||
|
|
|
|||
|
|
@ -5,29 +5,13 @@
|
|||
|
||||
#include "JSystem/JAudio2/dsptask.h"
|
||||
#include "JSystem/JAudio2/osdsp.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/dsp.h"
|
||||
#include "dolphin/os.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct STRUCT_DSP_TASK {
|
||||
/* 0x00 */ DSPTaskInfo info;
|
||||
};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" static void DspHandShake__FPv();
|
||||
extern "C" void DspBoot__FPFPv_v();
|
||||
extern "C" void DSPSendCommands2__FPUlUlPFUs_v();
|
||||
extern "C" static void DspInitWork__Fv();
|
||||
extern "C" static void DspStartWork__FUlPFUs_v();
|
||||
extern "C" void DspFinishWork__FUs();
|
||||
|
||||
static void DspInitWork();
|
||||
static void DspHandShake(void* param_0);
|
||||
static int DspStartWork(u32 param_0, void (*param_1)(u16));
|
||||
|
|
@ -36,32 +20,20 @@ static int DspStartWork(u32 param_0, void (*param_1)(u16));
|
|||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void DSPAddPriorTask__FP15STRUCT_DSP_TASK();
|
||||
extern "C" void Dsp_Running_Check__Fv();
|
||||
extern "C" void Dsp_Running_Start__Fv();
|
||||
extern "C" void _savegpr_26();
|
||||
extern "C" void _restgpr_26();
|
||||
|
||||
extern int Dsp_Running_Check();
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
extern int Dsp_Running_Start();
|
||||
|
||||
/* 8029E6E0-8029E718 299020 0038+00 1/1 0/0 0/0 .text DspHandShake__FPv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
#pragma function_align 32
|
||||
static asm void DspHandShake(void* param_0) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JAudio2/dsptask/DspHandShake__FPv.s"
|
||||
void DspHandShake(void*) {
|
||||
while (DSPCheckMailFromDSP() == 0) {}
|
||||
DSPReadMailFromDSP();
|
||||
DSPCheckMailFromDSP();
|
||||
Dsp_Running_Start();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803C7920-803C9820 024A40 1F00+00 1/1 0/0 0/0 .data jdsp */
|
||||
SECTION_DATA static u8 jdsp[7936] = {
|
||||
static u8 jdsp[7936] = {
|
||||
0x02, 0x9F, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0x00, 0x00, 0x02, 0xFF, 0x00, 0x00,
|
||||
0x02, 0xFF, 0x00, 0x00, 0x02, 0xFF, 0x00, 0x00, 0x02, 0xFF, 0x00, 0x00, 0x02, 0x9F, 0x06, 0xA5,
|
||||
0x02, 0x9F, 0x00, 0x4E, 0x12, 0x05, 0x02, 0xBF, 0x00, 0x57, 0x81, 0x00, 0x00, 0x9F, 0x10, 0x00,
|
||||
|
|
@ -587,49 +559,39 @@ void DspBoot(void (*param_0)(void*)) {
|
|||
}
|
||||
|
||||
/* 8029E7E0-8029E8C8 299120 00E8+00 0/0 4/4 0/0 .text DSPSendCommands2__FPUlUlPFUs_v */
|
||||
// lwz instead of lwzx in loop
|
||||
#ifdef NONMATCHING
|
||||
int DSPSendCommands2(u32* param_0, u32 param_1, void (*param_2)(u16)) {
|
||||
while (Dsp_Running_Check() == 0);
|
||||
int DSPSendCommands2(u32* param_1, u32 param_2, void (*callBack)(u16)) {
|
||||
s32 i;
|
||||
BOOL interruptFlag;
|
||||
s32 startWorkStatus;
|
||||
|
||||
BOOL status = OSDisableInterrupts();
|
||||
while (Dsp_Running_Check() == 0) {};
|
||||
|
||||
interruptFlag = OSDisableInterrupts();
|
||||
if (DSPCheckMailToDSP()) {
|
||||
OSRestoreInterrupts(status);
|
||||
OSRestoreInterrupts(interruptFlag);
|
||||
return -1;
|
||||
}
|
||||
|
||||
DSPSendMailToDSP(param_1);
|
||||
DSPSendMailToDSP(param_2);
|
||||
DSPAssertInt();
|
||||
while(DSPCheckMailToDSP() != 0);
|
||||
|
||||
if (param_1 == 0) {
|
||||
param_1 = 1;
|
||||
if (param_2 == 0) {
|
||||
param_2 = 1;
|
||||
}
|
||||
|
||||
int startWorkStatus;
|
||||
if (param_2 != NULL) {
|
||||
startWorkStatus = DspStartWork(param_0[0], param_2);
|
||||
if (callBack != NULL) {
|
||||
startWorkStatus = DspStartWork(param_1[0], callBack);
|
||||
}
|
||||
|
||||
for (int i = 0; i < param_1; i++) {
|
||||
DSPSendMailToDSP(param_0[i]);
|
||||
for (i = 0; i < param_2; i++) {
|
||||
DSPSendMailToDSP(param_1[i]);
|
||||
while (DSPCheckMailToDSP() != 0);
|
||||
}
|
||||
|
||||
OSRestoreInterrupts(status);
|
||||
OSRestoreInterrupts(interruptFlag);
|
||||
return startWorkStatus;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
#pragma function_align 32
|
||||
asm int DSPSendCommands2(u32* param_0, u32 param_1, void (*param_2)(u16)) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JAudio2/dsptask/DSPSendCommands2__FPUlUlPFUs_v.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80433FE0-80434060 060D00 0080+00 3/3 0/0 0/0 .bss taskwork */
|
||||
|
|
@ -644,23 +606,11 @@ static TaskWorkStruct taskwork[16];
|
|||
|
||||
/* 8029E8E0-8029E90C 299220 002C+00 1/1 0/0 0/0 .text DspInitWork__Fv */
|
||||
// Loop is unrolled but should not be
|
||||
#ifdef NONMATCHING
|
||||
static void DspInitWork() {
|
||||
for (int i = 0; i < 16; i++) {
|
||||
taskwork[i].field_0x4 = NULL;
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
#pragma function_align 32
|
||||
static asm void DspInitWork() {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JAudio2/dsptask/DspInitWork__Fv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80451300-80451304 000800 0004+00 2/2 0/0 0/0 .sbss taskreadp */
|
||||
|
|
|
|||
|
|
@ -8,29 +8,6 @@
|
|||
#include "dolphin/os.h"
|
||||
#include "dolphin/dsp/dsp_task.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
// Unclear why this is a different type than DSPTaskInfo
|
||||
struct STRUCT_DSP_TASK {
|
||||
DSPTaskInfo info;
|
||||
};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* ############################################################################################## */
|
||||
|
||||
/* 8029EA00-8029EA84 299340 0084+00 0/0 1/1 0/0 .text DSPAddTask */
|
||||
DSPTaskInfo* DSPAddTask(DSPTaskInfo* task) {
|
||||
if (DSP_prior_task == NULL) {
|
||||
|
|
|
|||
|
|
@ -196,4 +196,5 @@ u8 data_80451318[8];
|
|||
u8 data_80451320[8];
|
||||
|
||||
/* 80451328-80451330 000828 0008+00 0/0 3/3 0/0 .sbss None */
|
||||
// init$localstatic4$getMemPool__30JASPoolAllocObject<9JAIStream>Fv
|
||||
u8 data_80451328[8];
|
||||
|
|
|
|||
|
|
@ -1049,6 +1049,8 @@ RELS := \
|
|||
O_FILES_SYM_ON := \
|
||||
$(BUILD_DIR)/libs/JSystem/JUtility/JUTResFont.o \
|
||||
$(BUILD_DIR)/libs/JSystem/JAudio2/JAUAudioArcLoader.o \
|
||||
$(BUILD_DIR)/libs/JSystem/JAudio2/JAUClusterSound.o \
|
||||
$(BUILD_DIR)/libs/JSystem/JAudio2/JAIStreamMgr.o \
|
||||
$(BUILD_DIR)/libs/JSystem/J2DGraph/J2DAnmLoader.o \
|
||||
$(BUILD_DIR)/libs/JSystem/J2DGraph/J2DPicture.o \
|
||||
$(BUILD_DIR)/libs/JSystem/J2DGraph/J2DMaterialFactory.o \
|
||||
|
|
|
|||
Loading…
Reference in New Issue