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