diff options
author | Max <mparisi@stevens.edu> | 2020-09-26 23:16:31 -0400 |
---|---|---|
committer | Max <mparisi@stevens.edu> | 2020-09-26 23:16:31 -0400 |
commit | dc4a9eceb5ef7a66f44634c4eabc3eaee7e82c92 (patch) | |
tree | 41adb1711f71cee8a03b2a1d0756a1e7c8881e92 | |
parent | cdfc0bdae086da9f2d44470a810e1a841b656bdb (diff) |
split snd_WaveSound, snd_WaveSoundHandle, and snd_WsdFile
-rw-r--r-- | asm/ctors.s | 2 | ||||
-rw-r--r-- | asm/nw4r/snd/detail/snd_WaveSound.s | 275 | ||||
-rw-r--r-- | asm/nw4r/snd/detail/snd_WsdFile.s | 237 | ||||
-rw-r--r-- | asm/nw4r/snd/snd_SoundArchivePlayer.s | 14 | ||||
-rw-r--r-- | asm/nw4r/snd/snd_SoundPlayer.s | 4 | ||||
-rw-r--r-- | asm/nw4r/snd/snd_WaveSoundHandle.s | 21 | ||||
-rw-r--r-- | asm/text_11.s | 504 | ||||
-rw-r--r-- | obj_files.mk | 3 |
8 files changed, 552 insertions, 508 deletions
diff --git a/asm/ctors.s b/asm/ctors.s index 042ed7d..b6ff010 100644 --- a/asm/ctors.s +++ b/asm/ctors.s @@ -68,7 +68,7 @@ lbl_803E1E60: .4byte func_80262AE0, func_80262E70, func_80263C9C, func_802674AC .4byte func_80268208, __sinit_$3ut_IOStream_cpp, __sinit_$3ut_FileStream_cpp, __sinit_$3ut_DvdFileStream_cpp .4byte ut_DvdLockedFileStream_cpp, __sinit_$3ut_TextWriterBase_cpp, __sinit_$3snd_BasicSound_cpp, __sinit_$3snd_SeqSound_cpp - .4byte __sinit_$3snd_SoundSystem_cpp, __sinit_$3snd_StrmSound_cpp, func_80383998, func_80385E14 + .4byte __sinit_$3snd_SoundSystem_cpp, __sinit_$3snd_StrmSound_cpp, __sinit_$3snd_WaveSound_cpp, func_80385E14 .4byte func_803872D0, func_80387EA8, func_8038A320, func_8038A3CC .4byte func_8038F254, func_803D91F4, func_803D9EA0 diff --git a/asm/nw4r/snd/detail/snd_WaveSound.s b/asm/nw4r/snd/detail/snd_WaveSound.s new file mode 100644 index 0000000..7e94ec3 --- /dev/null +++ b/asm/nw4r/snd/detail/snd_WaveSound.s @@ -0,0 +1,275 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global __ct__Q44nw4r3snd6detail9WaveSoundFPQ44nw4r3snd6detail50SoundInstanceManager$0Q44nw4r3snd6detail9WaveSound$1
+__ct__Q44nw4r3snd6detail9WaveSoundFPQ44nw4r3snd6detail50SoundInstanceManager$0Q44nw4r3snd6detail9WaveSound$1:
+/* 8038364C 0037F2AC 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80383650 0037F2B0 7C 08 02 A6 */ mflr r0
+/* 80383654 0037F2B4 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80383658 0037F2B8 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8038365C 0037F2BC 7C 9F 23 78 */ mr r31, r4
+/* 80383660 0037F2C0 93 C1 00 08 */ stw r30, 8(r1)
+/* 80383664 0037F2C4 7C 7E 1B 78 */ mr r30, r3
+/* 80383668 0037F2C8 4B FE 99 7D */ bl __ct__Q44nw4r3snd6detail10BasicSoundFv
+/* 8038366C 0037F2CC 3C 80 80 45 */ lis r4, lbl_8044D050@ha
+/* 80383670 0037F2D0 38 7E 00 D8 */ addi r3, r30, 0xd8
+/* 80383674 0037F2D4 38 84 D0 50 */ addi r4, r4, lbl_8044D050@l
+/* 80383678 0037F2D8 90 9E 00 00 */ stw r4, 0(r30)
+/* 8038367C 0037F2DC 48 00 06 A9 */ bl func_80383D24
+/* 80383680 0037F2E0 38 00 00 00 */ li r0, 0
+/* 80383684 0037F2E4 93 FE 01 CC */ stw r31, 0x1cc(r30)
+/* 80383688 0037F2E8 7F C3 F3 78 */ mr r3, r30
+/* 8038368C 0037F2EC 90 1E 01 C8 */ stw r0, 0x1c8(r30)
+/* 80383690 0037F2F0 98 1E 01 D0 */ stb r0, 0x1d0(r30)
+/* 80383694 0037F2F4 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80383698 0037F2F8 83 C1 00 08 */ lwz r30, 8(r1)
+/* 8038369C 0037F2FC 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 803836A0 0037F300 7C 08 03 A6 */ mtlr r0
+/* 803836A4 0037F304 38 21 00 10 */ addi r1, r1, 0x10
+/* 803836A8 0037F308 4E 80 00 20 */ blr
+
+.global __dt__Q44nw4r3snd6detail9WsdPlayerFv
+__dt__Q44nw4r3snd6detail9WsdPlayerFv:
+/* 803836AC 0037F30C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 803836B0 0037F310 7C 08 02 A6 */ mflr r0
+/* 803836B4 0037F314 2C 03 00 00 */ cmpwi r3, 0
+/* 803836B8 0037F318 90 01 00 14 */ stw r0, 0x14(r1)
+/* 803836BC 0037F31C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 803836C0 0037F320 7C 7F 1B 78 */ mr r31, r3
+/* 803836C4 0037F324 41 82 00 10 */ beq lbl_803836D4
+/* 803836C8 0037F328 2C 04 00 00 */ cmpwi r4, 0
+/* 803836CC 0037F32C 40 81 00 08 */ ble lbl_803836D4
+/* 803836D0 0037F330 4B E5 73 E9 */ bl func_801DAAB8
+lbl_803836D4:
+/* 803836D4 0037F334 7F E3 FB 78 */ mr r3, r31
+/* 803836D8 0037F338 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 803836DC 0037F33C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 803836E0 0037F340 7C 08 03 A6 */ mtlr r0
+/* 803836E4 0037F344 38 21 00 10 */ addi r1, r1, 0x10
+/* 803836E8 0037F348 4E 80 00 20 */ blr
+
+.global Prepare__Q44nw4r3snd6detail9WaveSoundFPCvlQ54nw4r3snd6detail9WsdPlayer15StartOffsetTypeliPCQ54nw4r3snd6detail9WsdPlayer11WsdCallbackUl
+Prepare__Q44nw4r3snd6detail9WaveSoundFPCvlQ54nw4r3snd6detail9WsdPlayer15StartOffsetTypeliPCQ54nw4r3snd6detail9WsdPlayer11WsdCallbackUl:
+/* 803836EC 0037F34C 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 803836F0 0037F350 7C 08 02 A6 */ mflr r0
+/* 803836F4 0037F354 90 01 00 34 */ stw r0, 0x34(r1)
+/* 803836F8 0037F358 39 61 00 30 */ addi r11, r1, 0x30
+/* 803836FC 0037F35C 4B E4 3A 21 */ bl _savegpr_24
+/* 80383700 0037F360 81 83 00 00 */ lwz r12, 0(r3)
+/* 80383704 0037F364 7C 78 1B 78 */ mr r24, r3
+/* 80383708 0037F368 7C 99 23 78 */ mr r25, r4
+/* 8038370C 0037F36C 7C BA 2B 78 */ mr r26, r5
+/* 80383710 0037F370 81 8C 00 64 */ lwz r12, 0x64(r12)
+/* 80383714 0037F374 7C DB 33 78 */ mr r27, r6
+/* 80383718 0037F378 7C FC 3B 78 */ mr r28, r7
+/* 8038371C 0037F37C 7D 1D 43 78 */ mr r29, r8
+/* 80383720 0037F380 7D 3E 4B 78 */ mr r30, r9
+/* 80383724 0037F384 7D 5F 53 78 */ mr r31, r10
+/* 80383728 0037F388 7D 89 03 A6 */ mtctr r12
+/* 8038372C 0037F38C 4E 80 04 21 */ bctrl
+/* 80383730 0037F390 7F 24 CB 78 */ mr r4, r25
+/* 80383734 0037F394 7F 45 D3 78 */ mr r5, r26
+/* 80383738 0037F398 7F 66 DB 78 */ mr r6, r27
+/* 8038373C 0037F39C 7F 87 E3 78 */ mr r7, r28
+/* 80383740 0037F3A0 7F A8 EB 78 */ mr r8, r29
+/* 80383744 0037F3A4 7F C9 F3 78 */ mr r9, r30
+/* 80383748 0037F3A8 7F EA FB 78 */ mr r10, r31
+/* 8038374C 0037F3AC 38 78 00 D8 */ addi r3, r24, 0xd8
+/* 80383750 0037F3B0 48 00 06 F1 */ bl func_80383E40
+/* 80383754 0037F3B4 2C 03 00 00 */ cmpwi r3, 0
+/* 80383758 0037F3B8 40 82 00 0C */ bne lbl_80383764
+/* 8038375C 0037F3BC 38 60 00 00 */ li r3, 0
+/* 80383760 0037F3C0 48 00 00 10 */ b lbl_80383770
+lbl_80383764:
+/* 80383764 0037F3C4 38 00 00 01 */ li r0, 1
+/* 80383768 0037F3C8 38 60 00 01 */ li r3, 1
+/* 8038376C 0037F3CC 98 18 01 D0 */ stb r0, 0x1d0(r24)
+lbl_80383770:
+/* 80383770 0037F3D0 39 61 00 30 */ addi r11, r1, 0x30
+/* 80383774 0037F3D4 4B E4 39 F5 */ bl _restgpr_24
+/* 80383778 0037F3D8 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 8038377C 0037F3DC 7C 08 03 A6 */ mtlr r0
+/* 80383780 0037F3E0 38 21 00 30 */ addi r1, r1, 0x30
+/* 80383784 0037F3E4 4E 80 00 20 */ blr
+
+.global Shutdown__Q44nw4r3snd6detail9WaveSoundFv
+Shutdown__Q44nw4r3snd6detail9WaveSoundFv:
+/* 80383788 0037F3E8 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 8038378C 0037F3EC 7C 08 02 A6 */ mflr r0
+/* 80383790 0037F3F0 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80383794 0037F3F4 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80383798 0037F3F8 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 8038379C 0037F3FC 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 803837A0 0037F400 7C 7D 1B 78 */ mr r29, r3
+/* 803837A4 0037F404 4B FE A4 D9 */ bl Shutdown__Q44nw4r3snd6detail10BasicSoundFv
+/* 803837A8 0037F408 83 DD 01 CC */ lwz r30, 0x1cc(r29)
+/* 803837AC 0037F40C 3B FE 00 10 */ addi r31, r30, 0x10
+/* 803837B0 0037F410 7F E3 FB 78 */ mr r3, r31
+/* 803837B4 0037F414 4B EE C1 95 */ bl func_8026F948
+/* 803837B8 0037F418 80 1E 00 04 */ lwz r0, 4(r30)
+/* 803837BC 0037F41C 2C 00 00 00 */ cmpwi r0, 0
+/* 803837C0 0037F420 40 82 00 10 */ bne lbl_803837D0
+/* 803837C4 0037F424 7F E3 FB 78 */ mr r3, r31
+/* 803837C8 0037F428 4B EE C2 5D */ bl func_8026FA24
+/* 803837CC 0037F42C 48 00 00 3C */ b lbl_80383808
+lbl_803837D0:
+/* 803837D0 0037F430 38 7E 00 04 */ addi r3, r30, 4
+/* 803837D4 0037F434 38 9D 00 B8 */ addi r4, r29, 0xb8
+/* 803837D8 0037F438 4B FD F4 9D */ bl Erase__Q44nw4r2ut6detail12LinkListImplFPQ34nw4r2ut12LinkListNode
+/* 803837DC 0037F43C 81 9D 00 00 */ lwz r12, 0(r29)
+/* 803837E0 0037F440 7F A3 EB 78 */ mr r3, r29
+/* 803837E4 0037F444 38 80 FF FF */ li r4, -1
+/* 803837E8 0037F448 81 8C 00 0C */ lwz r12, 0xc(r12)
+/* 803837EC 0037F44C 7D 89 03 A6 */ mtctr r12
+/* 803837F0 0037F450 4E 80 04 21 */ bctrl
+/* 803837F4 0037F454 7F C3 F3 78 */ mr r3, r30
+/* 803837F8 0037F458 7F A4 EB 78 */ mr r4, r29
+/* 803837FC 0037F45C 4B FE E3 B9 */ bl FreeImpl__Q44nw4r3snd6detail8PoolImplFPv
+/* 80383800 0037F460 7F E3 FB 78 */ mr r3, r31
+/* 80383804 0037F464 4B EE C2 21 */ bl func_8026FA24
+lbl_80383808:
+/* 80383808 0037F468 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 8038380C 0037F46C 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80383810 0037F470 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 80383814 0037F474 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 80383818 0037F478 7C 08 03 A6 */ mtlr r0
+/* 8038381C 0037F47C 38 21 00 20 */ addi r1, r1, 0x20
+/* 80383820 0037F480 4E 80 00 20 */ blr
+
+.global __dt__Q44nw4r3snd6detail9WaveSoundFv
+__dt__Q44nw4r3snd6detail9WaveSoundFv:
+/* 80383824 0037F484 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80383828 0037F488 7C 08 02 A6 */ mflr r0
+/* 8038382C 0037F48C 2C 03 00 00 */ cmpwi r3, 0
+/* 80383830 0037F490 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80383834 0037F494 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80383838 0037F498 7C 7F 1B 78 */ mr r31, r3
+/* 8038383C 0037F49C 41 82 00 10 */ beq lbl_8038384C
+/* 80383840 0037F4A0 2C 04 00 00 */ cmpwi r4, 0
+/* 80383844 0037F4A4 40 81 00 08 */ ble lbl_8038384C
+/* 80383848 0037F4A8 4B E5 72 71 */ bl func_801DAAB8
+lbl_8038384C:
+/* 8038384C 0037F4AC 7F E3 FB 78 */ mr r3, r31
+/* 80383850 0037F4B0 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80383854 0037F4B4 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80383858 0037F4B8 7C 08 03 A6 */ mtlr r0
+/* 8038385C 0037F4BC 38 21 00 10 */ addi r1, r1, 0x10
+/* 80383860 0037F4C0 4E 80 00 20 */ blr
+
+.global SetChannelPriority__Q44nw4r3snd6detail9WaveSoundFi
+SetChannelPriority__Q44nw4r3snd6detail9WaveSoundFi:
+/* 80383864 0037F4C4 38 63 00 D8 */ addi r3, r3, 0xd8
+/* 80383868 0037F4C8 48 00 09 7C */ b lbl_803841E4
+
+.global SetReleasePriorityFix__Q44nw4r3snd6detail9WaveSoundFb
+SetReleasePriorityFix__Q44nw4r3snd6detail9WaveSoundFb:
+/* 8038386C 0037F4CC 38 63 00 D8 */ addi r3, r3, 0xd8
+/* 80383870 0037F4D0 48 00 09 C8 */ b lbl_80384238
+
+.global SetPlayerPriority__Q44nw4r3snd6detail9WaveSoundFi
+SetPlayerPriority__Q44nw4r3snd6detail9WaveSoundFi:
+/* 80383874 0037F4D4 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80383878 0037F4D8 7C 08 02 A6 */ mflr r0
+/* 8038387C 0037F4DC 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80383880 0037F4E0 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80383884 0037F4E4 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80383888 0037F4E8 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 8038388C 0037F4EC 93 81 00 10 */ stw r28, 0x10(r1)
+/* 80383890 0037F4F0 7C 7C 1B 78 */ mr r28, r3
+/* 80383894 0037F4F4 4B FE A5 59 */ bl SetPlayerPriority__Q44nw4r3snd6detail10BasicSoundFi
+/* 80383898 0037F4F8 88 7C 00 74 */ lbz r3, 0x74(r28)
+/* 8038389C 0037F4FC 80 1C 00 40 */ lwz r0, 0x40(r28)
+/* 803838A0 0037F500 7C 63 02 14 */ add r3, r3, r0
+/* 803838A4 0037F504 2C 03 00 7F */ cmpwi r3, 0x7f
+/* 803838A8 0037F508 40 81 00 0C */ ble lbl_803838B4
+/* 803838AC 0037F50C 3B A0 00 7F */ li r29, 0x7f
+/* 803838B0 0037F510 48 00 00 0C */ b lbl_803838BC
+lbl_803838B4:
+/* 803838B4 0037F514 7C 60 FE 70 */ srawi r0, r3, 0x1f
+/* 803838B8 0037F518 7C 7D 00 78 */ andc r29, r3, r0
+lbl_803838BC:
+/* 803838BC 0037F51C 83 DC 01 CC */ lwz r30, 0x1cc(r28)
+/* 803838C0 0037F520 3B FE 00 10 */ addi r31, r30, 0x10
+/* 803838C4 0037F524 7F E3 FB 78 */ mr r3, r31
+/* 803838C8 0037F528 4B EE C0 81 */ bl func_8026F948
+/* 803838CC 0037F52C 3B 9C 00 B8 */ addi r28, r28, 0xb8
+/* 803838D0 0037F530 38 7E 00 04 */ addi r3, r30, 4
+/* 803838D4 0037F534 7F 84 E3 78 */ mr r4, r28
+/* 803838D8 0037F538 4B FD F3 9D */ bl Erase__Q44nw4r2ut6detail12LinkListImplFPQ34nw4r2ut12LinkListNode
+/* 803838DC 0037F53C 80 7E 00 08 */ lwz r3, 8(r30)
+/* 803838E0 0037F540 38 1E 00 08 */ addi r0, r30, 8
+/* 803838E4 0037F544 48 00 00 34 */ b lbl_80383918
+lbl_803838E8:
+/* 803838E8 0037F548 88 A3 FF BC */ lbz r5, -0x44(r3)
+/* 803838EC 0037F54C 80 83 FF 88 */ lwz r4, -0x78(r3)
+/* 803838F0 0037F550 7C A5 22 14 */ add r5, r5, r4
+/* 803838F4 0037F554 2C 05 00 7F */ cmpwi r5, 0x7f
+/* 803838F8 0037F558 40 81 00 0C */ ble lbl_80383904
+/* 803838FC 0037F55C 38 80 00 7F */ li r4, 0x7f
+/* 80383900 0037F560 48 00 00 0C */ b lbl_8038390C
+lbl_80383904:
+/* 80383904 0037F564 7C A4 FE 70 */ srawi r4, r5, 0x1f
+/* 80383908 0037F568 7C A4 20 78 */ andc r4, r5, r4
+lbl_8038390C:
+/* 8038390C 0037F56C 7C 1D 20 00 */ cmpw r29, r4
+/* 80383910 0037F570 41 80 00 10 */ blt lbl_80383920
+/* 80383914 0037F574 80 63 00 00 */ lwz r3, 0(r3)
+lbl_80383918:
+/* 80383918 0037F578 7C 03 00 40 */ cmplw r3, r0
+/* 8038391C 0037F57C 40 82 FF CC */ bne lbl_803838E8
+lbl_80383920:
+/* 80383920 0037F580 90 61 00 08 */ stw r3, 8(r1)
+/* 80383924 0037F584 7F 85 E3 78 */ mr r5, r28
+/* 80383928 0037F588 38 7E 00 04 */ addi r3, r30, 4
+/* 8038392C 0037F58C 38 81 00 08 */ addi r4, r1, 8
+/* 80383930 0037F590 4B FD F3 19 */ bl Insert__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8IteratorPQ34nw4r2ut12LinkListNode
+/* 80383934 0037F594 7F E3 FB 78 */ mr r3, r31
+/* 80383938 0037F598 4B EE C0 ED */ bl func_8026FA24
+/* 8038393C 0037F59C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80383940 0037F5A0 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80383944 0037F5A4 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 80383948 0037F5A8 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 8038394C 0037F5AC 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 80383950 0037F5B0 7C 08 03 A6 */ mtlr r0
+/* 80383954 0037F5B4 38 21 00 20 */ addi r1, r1, 0x20
+/* 80383958 0037F5B8 4E 80 00 20 */ blr
+
+.global IsAttachedTempSpecialHandle__Q44nw4r3snd6detail9WaveSoundFv
+IsAttachedTempSpecialHandle__Q44nw4r3snd6detail9WaveSoundFv:
+/* 8038395C 0037F5BC 80 63 01 C8 */ lwz r3, 0x1c8(r3)
+/* 80383960 0037F5C0 7C 03 00 D0 */ neg r0, r3
+/* 80383964 0037F5C4 7C 00 1B 78 */ or r0, r0, r3
+/* 80383968 0037F5C8 54 03 0F FE */ srwi r3, r0, 0x1f
+/* 8038396C 0037F5CC 4E 80 00 20 */ blr
+
+.global DetachTempSpecialHandle__Q44nw4r3snd6detail9WaveSoundFv
+DetachTempSpecialHandle__Q44nw4r3snd6detail9WaveSoundFv:
+/* 80383970 0037F5D0 80 63 01 C8 */ lwz r3, 0x1c8(r3)
+/* 80383974 0037F5D4 48 00 00 30 */ b DetachSound__Q34nw4r3snd15WaveSoundHandleFv
+
+.global GetBasicPlayer__Q44nw4r3snd6detail9WaveSoundFv
+GetBasicPlayer__Q44nw4r3snd6detail9WaveSoundFv:
+/* 80383978 0037F5D8 38 63 00 D8 */ addi r3, r3, 0xd8
+/* 8038397C 0037F5DC 4E 80 00 20 */ blr
+
+.global GetBasicPlayer__Q44nw4r3snd6detail9WaveSoundCFv
+GetBasicPlayer__Q44nw4r3snd6detail9WaveSoundCFv:
+/* 80383980 0037F5E0 38 63 00 D8 */ addi r3, r3, 0xd8
+/* 80383984 0037F5E4 4E 80 00 20 */ blr
+
+.global IsPrepared__Q44nw4r3snd6detail9WaveSoundCFv
+IsPrepared__Q44nw4r3snd6detail9WaveSoundCFv:
+/* 80383988 0037F5E8 88 63 01 D0 */ lbz r3, 0x1d0(r3)
+/* 8038398C 0037F5EC 4E 80 00 20 */ blr
+
+.global GetRuntimeTypeInfo__Q44nw4r3snd6detail9WaveSoundCFv
+GetRuntimeTypeInfo__Q44nw4r3snd6detail9WaveSoundCFv:
+/* 80383990 0037F5F0 38 6D B2 A0 */ addi r3, r13, lbl_80640560-_SDA_BASE_
+/* 80383994 0037F5F4 4E 80 00 20 */ blr
+
+.global __sinit_$3snd_WaveSound_cpp
+__sinit_$3snd_WaveSound_cpp:
+/* 80383998 0037F5F8 38 0D B1 F0 */ addi r0, r13, lbl_806404B0-_SDA_BASE_
+/* 8038399C 0037F5FC 90 0D B2 A0 */ stw r0, lbl_80640560-_SDA_BASE_(r13)
+/* 803839A0 0037F600 4E 80 00 20 */ blr
diff --git a/asm/nw4r/snd/detail/snd_WsdFile.s b/asm/nw4r/snd/detail/snd_WsdFile.s new file mode 100644 index 0000000..041845f --- /dev/null +++ b/asm/nw4r/snd/detail/snd_WsdFile.s @@ -0,0 +1,237 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global __ct__Q44nw4r3snd6detail13WsdFileReaderFPCv
+__ct__Q44nw4r3snd6detail13WsdFileReaderFPCv:
+/* 803839DC 0037F63C 80 A4 00 00 */ lwz r5, 0(r4)
+/* 803839E0 0037F640 38 C0 00 00 */ li r6, 0
+/* 803839E4 0037F644 90 C3 00 00 */ stw r6, 0(r3)
+/* 803839E8 0037F648 3C 05 AD A9 */ addis r0, r5, 0xada9
+/* 803839EC 0037F64C 28 00 53 44 */ cmplwi r0, 0x5344
+/* 803839F0 0037F650 90 C3 00 04 */ stw r6, 4(r3)
+/* 803839F4 0037F654 90 C3 00 08 */ stw r6, 8(r3)
+/* 803839F8 0037F658 41 82 00 0C */ beq lbl_80383A04
+/* 803839FC 0037F65C 38 00 00 00 */ li r0, 0
+/* 80383A00 0037F660 48 00 00 30 */ b lbl_80383A30
+lbl_80383A04:
+/* 80383A04 0037F664 A0 C4 00 06 */ lhz r6, 6(r4)
+/* 80383A08 0037F668 28 06 01 00 */ cmplwi r6, 0x100
+/* 80383A0C 0037F66C 40 80 00 0C */ bge lbl_80383A18
+/* 80383A10 0037F670 38 00 00 00 */ li r0, 0
+/* 80383A14 0037F674 48 00 00 1C */ b lbl_80383A30
+lbl_80383A18:
+/* 80383A18 0037F678 20 06 01 02 */ subfic r0, r6, 0x102
+/* 80383A1C 0037F67C 38 A0 01 02 */ li r5, 0x102
+/* 80383A20 0037F680 7C A5 33 38 */ orc r5, r5, r6
+/* 80383A24 0037F684 54 00 F8 7E */ srwi r0, r0, 1
+/* 80383A28 0037F688 7C 00 28 50 */ subf r0, r0, r5
+/* 80383A2C 0037F68C 54 00 0F FE */ srwi r0, r0, 0x1f
+lbl_80383A30:
+/* 80383A30 0037F690 2C 00 00 00 */ cmpwi r0, 0
+/* 80383A34 0037F694 4D 82 00 20 */ beqlr
+/* 80383A38 0037F698 80 A4 00 10 */ lwz r5, 0x10(r4)
+/* 80383A3C 0037F69C 80 04 00 18 */ lwz r0, 0x18(r4)
+/* 80383A40 0037F6A0 7C A5 22 14 */ add r5, r5, r4
+/* 80383A44 0037F6A4 90 83 00 00 */ stw r4, 0(r3)
+/* 80383A48 0037F6A8 7C 00 22 14 */ add r0, r0, r4
+/* 80383A4C 0037F6AC 90 A3 00 04 */ stw r5, 4(r3)
+/* 80383A50 0037F6B0 90 03 00 08 */ stw r0, 8(r3)
+/* 80383A54 0037F6B4 4E 80 00 20 */ blr
+
+.global ReadWaveSoundInfo__Q44nw4r3snd6detail13WsdFileReaderCFPQ44nw4r3snd6detail13WaveSoundInfoi
+ReadWaveSoundInfo__Q44nw4r3snd6detail13WsdFileReaderCFPQ44nw4r3snd6detail13WaveSoundInfoi:
+/* 80383A58 0037F6B8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80383A5C 0037F6BC 7C 08 02 A6 */ mflr r0
+/* 80383A60 0037F6C0 80 C3 00 04 */ lwz r6, 4(r3)
+/* 80383A64 0037F6C4 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80383A68 0037F6C8 54 A0 18 38 */ slwi r0, r5, 3
+/* 80383A6C 0037F6CC 38 A6 00 08 */ addi r5, r6, 8
+/* 80383A70 0037F6D0 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80383A74 0037F6D4 7C 9F 23 78 */ mr r31, r4
+/* 80383A78 0037F6D8 7C 86 02 14 */ add r4, r6, r0
+/* 80383A7C 0037F6DC 93 C1 00 08 */ stw r30, 8(r1)
+/* 80383A80 0037F6E0 7C 7E 1B 78 */ mr r30, r3
+/* 80383A84 0037F6E4 88 64 00 0C */ lbz r3, 0xc(r4)
+/* 80383A88 0037F6E8 80 84 00 10 */ lwz r4, 0x10(r4)
+/* 80383A8C 0037F6EC 4B FF F9 5D */ bl GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv
+/* 80383A90 0037F6F0 7C 64 1B 78 */ mr r4, r3
+/* 80383A94 0037F6F4 80 BE 00 04 */ lwz r5, 4(r30)
+/* 80383A98 0037F6F8 88 63 00 00 */ lbz r3, 0(r3)
+/* 80383A9C 0037F6FC 80 84 00 04 */ lwz r4, 4(r4)
+/* 80383AA0 0037F700 38 A5 00 08 */ addi r5, r5, 8
+/* 80383AA4 0037F704 4B FF F9 45 */ bl GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv
+/* 80383AA8 0037F708 80 9E 00 00 */ lwz r4, 0(r30)
+/* 80383AAC 0037F70C A0 04 00 06 */ lhz r0, 6(r4)
+/* 80383AB0 0037F710 28 00 01 02 */ cmplwi r0, 0x102
+/* 80383AB4 0037F714 40 82 00 40 */ bne lbl_80383AF4
+/* 80383AB8 0037F718 C0 03 00 00 */ lfs f0, 0(r3)
+/* 80383ABC 0037F71C D0 1F 00 00 */ stfs f0, 0(r31)
+/* 80383AC0 0037F720 88 03 00 04 */ lbz r0, 4(r3)
+/* 80383AC4 0037F724 98 1F 00 04 */ stb r0, 4(r31)
+/* 80383AC8 0037F728 88 03 00 05 */ lbz r0, 5(r3)
+/* 80383ACC 0037F72C 98 1F 00 05 */ stb r0, 5(r31)
+/* 80383AD0 0037F730 88 03 00 06 */ lbz r0, 6(r3)
+/* 80383AD4 0037F734 98 1F 00 06 */ stb r0, 6(r31)
+/* 80383AD8 0037F738 88 03 00 07 */ lbz r0, 7(r3)
+/* 80383ADC 0037F73C 98 1F 00 07 */ stb r0, 7(r31)
+/* 80383AE0 0037F740 88 03 00 08 */ lbz r0, 8(r3)
+/* 80383AE4 0037F744 98 1F 00 08 */ stb r0, 8(r31)
+/* 80383AE8 0037F748 88 03 00 09 */ lbz r0, 9(r3)
+/* 80383AEC 0037F74C 98 1F 00 09 */ stb r0, 9(r31)
+/* 80383AF0 0037F750 48 00 00 6C */ b lbl_80383B5C
+lbl_80383AF4:
+/* 80383AF4 0037F754 28 00 01 01 */ cmplwi r0, 0x101
+/* 80383AF8 0037F758 40 82 00 38 */ bne lbl_80383B30
+/* 80383AFC 0037F75C C0 03 00 00 */ lfs f0, 0(r3)
+/* 80383B00 0037F760 38 80 00 00 */ li r4, 0
+/* 80383B04 0037F764 38 00 00 7F */ li r0, 0x7f
+/* 80383B08 0037F768 D0 1F 00 00 */ stfs f0, 0(r31)
+/* 80383B0C 0037F76C 88 A3 00 04 */ lbz r5, 4(r3)
+/* 80383B10 0037F770 98 BF 00 04 */ stb r5, 4(r31)
+/* 80383B14 0037F774 88 63 00 05 */ lbz r3, 5(r3)
+/* 80383B18 0037F778 98 7F 00 05 */ stb r3, 5(r31)
+/* 80383B1C 0037F77C 98 9F 00 06 */ stb r4, 6(r31)
+/* 80383B20 0037F780 98 9F 00 07 */ stb r4, 7(r31)
+/* 80383B24 0037F784 98 9F 00 08 */ stb r4, 8(r31)
+/* 80383B28 0037F788 98 1F 00 09 */ stb r0, 9(r31)
+/* 80383B2C 0037F78C 48 00 00 30 */ b lbl_80383B5C
+lbl_80383B30:
+/* 80383B30 0037F790 C0 02 A7 F0 */ lfs f0, lbl_80642DF0-_SDA2_BASE_(r2)
+/* 80383B34 0037F794 38 60 00 00 */ li r3, 0
+/* 80383B38 0037F798 38 80 00 40 */ li r4, 0x40
+/* 80383B3C 0037F79C 38 00 00 7F */ li r0, 0x7f
+/* 80383B40 0037F7A0 D0 1F 00 00 */ stfs f0, 0(r31)
+/* 80383B44 0037F7A4 98 9F 00 04 */ stb r4, 4(r31)
+/* 80383B48 0037F7A8 98 7F 00 05 */ stb r3, 5(r31)
+/* 80383B4C 0037F7AC 98 7F 00 06 */ stb r3, 6(r31)
+/* 80383B50 0037F7B0 98 7F 00 07 */ stb r3, 7(r31)
+/* 80383B54 0037F7B4 98 7F 00 08 */ stb r3, 8(r31)
+/* 80383B58 0037F7B8 98 1F 00 09 */ stb r0, 9(r31)
+lbl_80383B5C:
+/* 80383B5C 0037F7BC 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80383B60 0037F7C0 38 60 00 01 */ li r3, 1
+/* 80383B64 0037F7C4 83 C1 00 08 */ lwz r30, 8(r1)
+/* 80383B68 0037F7C8 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80383B6C 0037F7CC 7C 08 03 A6 */ mtlr r0
+/* 80383B70 0037F7D0 38 21 00 10 */ addi r1, r1, 0x10
+/* 80383B74 0037F7D4 4E 80 00 20 */ blr
+
+.global ReadWaveSoundNoteInfo__Q44nw4r3snd6detail13WsdFileReaderCFPQ44nw4r3snd6detail17WaveSoundNoteInfoii
+ReadWaveSoundNoteInfo__Q44nw4r3snd6detail13WsdFileReaderCFPQ44nw4r3snd6detail17WaveSoundNoteInfoii:
+/* 80383B78 0037F7D8 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80383B7C 0037F7DC 7C 08 02 A6 */ mflr r0
+/* 80383B80 0037F7E0 80 E3 00 04 */ lwz r7, 4(r3)
+/* 80383B84 0037F7E4 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80383B88 0037F7E8 54 A0 18 38 */ slwi r0, r5, 3
+/* 80383B8C 0037F7EC 38 A7 00 08 */ addi r5, r7, 8
+/* 80383B90 0037F7F0 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80383B94 0037F7F4 7C 9F 23 78 */ mr r31, r4
+/* 80383B98 0037F7F8 7C 87 02 14 */ add r4, r7, r0
+/* 80383B9C 0037F7FC 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80383BA0 0037F800 7C DE 33 78 */ mr r30, r6
+/* 80383BA4 0037F804 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 80383BA8 0037F808 7C 7D 1B 78 */ mr r29, r3
+/* 80383BAC 0037F80C 88 64 00 0C */ lbz r3, 0xc(r4)
+/* 80383BB0 0037F810 80 84 00 10 */ lwz r4, 0x10(r4)
+/* 80383BB4 0037F814 4B FF F8 35 */ bl GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv
+/* 80383BB8 0037F818 7C 64 1B 78 */ mr r4, r3
+/* 80383BBC 0037F81C 80 BD 00 04 */ lwz r5, 4(r29)
+/* 80383BC0 0037F820 88 63 00 10 */ lbz r3, 0x10(r3)
+/* 80383BC4 0037F824 80 84 00 14 */ lwz r4, 0x14(r4)
+/* 80383BC8 0037F828 38 A5 00 08 */ addi r5, r5, 8
+/* 80383BCC 0037F82C 4B FF F8 1D */ bl GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv
+/* 80383BD0 0037F830 57 C0 18 38 */ slwi r0, r30, 3
+/* 80383BD4 0037F834 80 9D 00 04 */ lwz r4, 4(r29)
+/* 80383BD8 0037F838 7C C3 02 14 */ add r6, r3, r0
+/* 80383BDC 0037F83C 38 A4 00 08 */ addi r5, r4, 8
+/* 80383BE0 0037F840 88 66 00 04 */ lbz r3, 4(r6)
+/* 80383BE4 0037F844 80 86 00 08 */ lwz r4, 8(r6)
+/* 80383BE8 0037F848 4B FF F8 01 */ bl GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv
+/* 80383BEC 0037F84C 80 03 00 00 */ lwz r0, 0(r3)
+/* 80383BF0 0037F850 80 9D 00 00 */ lwz r4, 0(r29)
+/* 80383BF4 0037F854 90 1F 00 00 */ stw r0, 0(r31)
+/* 80383BF8 0037F858 88 03 00 04 */ lbz r0, 4(r3)
+/* 80383BFC 0037F85C 98 1F 00 04 */ stb r0, 4(r31)
+/* 80383C00 0037F860 88 03 00 05 */ lbz r0, 5(r3)
+/* 80383C04 0037F864 98 1F 00 05 */ stb r0, 5(r31)
+/* 80383C08 0037F868 88 03 00 06 */ lbz r0, 6(r3)
+/* 80383C0C 0037F86C 98 1F 00 06 */ stb r0, 6(r31)
+/* 80383C10 0037F870 88 03 00 07 */ lbz r0, 7(r3)
+/* 80383C14 0037F874 98 1F 00 07 */ stb r0, 7(r31)
+/* 80383C18 0037F878 88 03 00 0C */ lbz r0, 0xc(r3)
+/* 80383C1C 0037F87C 98 1F 00 08 */ stb r0, 8(r31)
+/* 80383C20 0037F880 88 03 00 0D */ lbz r0, 0xd(r3)
+/* 80383C24 0037F884 98 1F 00 0B */ stb r0, 0xb(r31)
+/* 80383C28 0037F888 A0 04 00 06 */ lhz r0, 6(r4)
+/* 80383C2C 0037F88C 28 00 01 01 */ cmplwi r0, 0x101
+/* 80383C30 0037F890 41 80 00 20 */ blt lbl_80383C50
+/* 80383C34 0037F894 88 03 00 0E */ lbz r0, 0xe(r3)
+/* 80383C38 0037F898 98 1F 00 09 */ stb r0, 9(r31)
+/* 80383C3C 0037F89C 88 03 00 0F */ lbz r0, 0xf(r3)
+/* 80383C40 0037F8A0 98 1F 00 0A */ stb r0, 0xa(r31)
+/* 80383C44 0037F8A4 C0 03 00 10 */ lfs f0, 0x10(r3)
+/* 80383C48 0037F8A8 D0 1F 00 0C */ stfs f0, 0xc(r31)
+/* 80383C4C 0037F8AC 48 00 00 1C */ b lbl_80383C68
+lbl_80383C50:
+/* 80383C50 0037F8B0 C0 02 A7 F0 */ lfs f0, lbl_80642DF0-_SDA2_BASE_(r2)
+/* 80383C54 0037F8B4 38 60 00 40 */ li r3, 0x40
+/* 80383C58 0037F8B8 38 00 00 00 */ li r0, 0
+/* 80383C5C 0037F8BC 98 7F 00 09 */ stb r3, 9(r31)
+/* 80383C60 0037F8C0 98 1F 00 0A */ stb r0, 0xa(r31)
+/* 80383C64 0037F8C4 D0 1F 00 0C */ stfs f0, 0xc(r31)
+lbl_80383C68:
+/* 80383C68 0037F8C8 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80383C6C 0037F8CC 38 60 00 01 */ li r3, 1
+/* 80383C70 0037F8D0 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 80383C74 0037F8D4 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 80383C78 0037F8D8 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80383C7C 0037F8DC 7C 08 03 A6 */ mtlr r0
+/* 80383C80 0037F8E0 38 21 00 20 */ addi r1, r1, 0x20
+/* 80383C84 0037F8E4 4E 80 00 20 */ blr
+
+.global ReadWaveParam__Q44nw4r3snd6detail13WsdFileReaderCFiPQ44nw4r3snd6detail8WaveDataPCv
+ReadWaveParam__Q44nw4r3snd6detail13WsdFileReaderCFiPQ44nw4r3snd6detail8WaveDataPCv:
+/* 80383C88 0037F8E8 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80383C8C 0037F8EC 7C 08 02 A6 */ mflr r0
+/* 80383C90 0037F8F0 80 E3 00 00 */ lwz r7, 0(r3)
+/* 80383C94 0037F8F4 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80383C98 0037F8F8 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80383C9C 0037F8FC 7C DF 33 78 */ mr r31, r6
+/* 80383CA0 0037F900 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80383CA4 0037F904 7C BE 2B 78 */ mr r30, r5
+/* 80383CA8 0037F908 A0 07 00 06 */ lhz r0, 6(r7)
+/* 80383CAC 0037F90C 28 00 01 00 */ cmplwi r0, 0x100
+/* 80383CB0 0037F910 40 82 00 1C */ bne lbl_80383CCC
+/* 80383CB4 0037F914 80 A3 00 08 */ lwz r5, 8(r3)
+/* 80383CB8 0037F918 54 80 10 3A */ slwi r0, r4, 2
+/* 80383CBC 0037F91C 7C 65 02 14 */ add r3, r5, r0
+/* 80383CC0 0037F920 80 03 00 08 */ lwz r0, 8(r3)
+/* 80383CC4 0037F924 7C 80 2A 14 */ add r4, r0, r5
+/* 80383CC8 0037F928 48 00 00 2C */ b lbl_80383CF4
+lbl_80383CCC:
+/* 80383CCC 0037F92C 80 A3 00 08 */ lwz r5, 8(r3)
+/* 80383CD0 0037F930 80 05 00 08 */ lwz r0, 8(r5)
+/* 80383CD4 0037F934 7C 04 00 40 */ cmplw r4, r0
+/* 80383CD8 0037F938 41 80 00 0C */ blt lbl_80383CE4
+/* 80383CDC 0037F93C 38 60 00 00 */ li r3, 0
+/* 80383CE0 0037F940 48 00 00 2C */ b lbl_80383D0C
+lbl_80383CE4:
+/* 80383CE4 0037F944 54 80 10 3A */ slwi r0, r4, 2
+/* 80383CE8 0037F948 7C 65 02 14 */ add r3, r5, r0
+/* 80383CEC 0037F94C 80 03 00 0C */ lwz r0, 0xc(r3)
+/* 80383CF0 0037F950 7C 80 2A 14 */ add r4, r0, r5
+lbl_80383CF4:
+/* 80383CF4 0037F954 38 61 00 08 */ addi r3, r1, 8
+/* 80383CF8 0037F958 4B FF F7 15 */ bl __ct__Q44nw4r3snd6detail14WaveFileReaderFPCQ54nw4r3snd6detail8WaveFile8WaveInfo
+/* 80383CFC 0037F95C 7F C4 F3 78 */ mr r4, r30
+/* 80383D00 0037F960 7F E5 FB 78 */ mr r5, r31
+/* 80383D04 0037F964 38 61 00 08 */ addi r3, r1, 8
+/* 80383D08 0037F968 4B FF F7 0D */ bl ReadWaveParam__Q44nw4r3snd6detail14WaveFileReaderCFPQ44nw4r3snd6detail8WaveDataPCv
+lbl_80383D0C:
+/* 80383D0C 0037F96C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80383D10 0037F970 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80383D14 0037F974 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 80383D18 0037F978 7C 08 03 A6 */ mtlr r0
+/* 80383D1C 0037F97C 38 21 00 20 */ addi r1, r1, 0x20
+/* 80383D20 0037F980 4E 80 00 20 */ blr
diff --git a/asm/nw4r/snd/snd_SoundArchivePlayer.s b/asm/nw4r/snd/snd_SoundArchivePlayer.s index 6266ba5..fac36be 100644 --- a/asm/nw4r/snd/snd_SoundArchivePlayer.s +++ b/asm/nw4r/snd/snd_SoundArchivePlayer.s @@ -1902,7 +1902,7 @@ lbl_8037A394: /* 8037A3A0 00376000 7F C7 F3 78 */ mr r7, r30
/* 8037A3A4 00376004 7F E8 FB 78 */ mr r8, r31
/* 8037A3A8 00376008 39 39 00 28 */ addi r9, r25, 0x28
-/* 8037A3AC 0037600C 48 00 93 41 */ bl func_803836EC
+/* 8037A3AC 0037600C 48 00 93 41 */ bl Prepare__Q44nw4r3snd6detail9WaveSoundFPCvlQ54nw4r3snd6detail9WsdPlayer15StartOffsetTypeliPCQ54nw4r3snd6detail9WsdPlayer11WsdCallbackUl
/* 8037A3B0 00376010 2C 03 00 00 */ cmpwi r3, 0
/* 8037A3B4 00376014 40 82 00 0C */ bne lbl_8037A3C0
/* 8037A3B8 00376018 38 60 00 FF */ li r3, 0xff
@@ -1925,10 +1925,10 @@ lbl_8037A3C0: /* 8037A3F8 00376058 4E 80 04 21 */ bctrl
/* 8037A3FC 0037605C 80 9C 00 04 */ lwz r4, 4(r28)
/* 8037A400 00376060 7F 43 D3 78 */ mr r3, r26
-/* 8037A404 00376064 48 00 94 61 */ bl func_80383864
+/* 8037A404 00376064 48 00 94 61 */ bl SetChannelPriority__Q44nw4r3snd6detail9WaveSoundFi
/* 8037A408 00376068 88 9C 00 08 */ lbz r4, 8(r28)
/* 8037A40C 0037606C 7F 43 D3 78 */ mr r3, r26
-/* 8037A410 00376070 48 00 94 5D */ bl func_8038386C
+/* 8037A410 00376070 48 00 94 5D */ bl SetReleasePriorityFix__Q44nw4r3snd6detail9WaveSoundFb
/* 8037A414 00376074 81 9A 00 00 */ lwz r12, 0(r26)
/* 8037A418 00376078 7F 43 D3 78 */ mr r3, r26
/* 8037A41C 0037607C 80 9B 00 10 */ lwz r4, 0x10(r27)
@@ -2241,11 +2241,11 @@ lbl_8037A810: lbl_8037A830:
/* 8037A830 00376490 7F 84 E3 78 */ mr r4, r28
/* 8037A834 00376494 38 61 00 08 */ addi r3, r1, 8
-/* 8037A838 00376498 48 00 91 A5 */ bl func_803839DC
+/* 8037A838 00376498 48 00 91 A5 */ bl __ct__Q44nw4r3snd6detail13WsdFileReaderFPCv
/* 8037A83C 0037649C 7F 24 CB 78 */ mr r4, r25
/* 8037A840 003764A0 7F A5 EB 78 */ mr r5, r29
/* 8037A844 003764A4 38 61 00 08 */ addi r3, r1, 8
-/* 8037A848 003764A8 48 00 92 11 */ bl func_80383A58
+/* 8037A848 003764A8 48 00 92 11 */ bl ReadWaveSoundInfo__Q44nw4r3snd6detail13WsdFileReaderCFPQ44nw4r3snd6detail13WaveSoundInfoi
/* 8037A84C 003764AC 2C 03 00 00 */ cmpwi r3, 0
/* 8037A850 003764B0 40 82 00 0C */ bne lbl_8037A85C
/* 8037A854 003764B4 38 60 00 00 */ li r3, 0
@@ -2255,7 +2255,7 @@ lbl_8037A85C: /* 8037A860 003764C0 7F A5 EB 78 */ mr r5, r29
/* 8037A864 003764C4 7F C6 F3 78 */ mr r6, r30
/* 8037A868 003764C8 38 61 00 08 */ addi r3, r1, 8
-/* 8037A86C 003764CC 48 00 93 0D */ bl func_80383B78
+/* 8037A86C 003764CC 48 00 93 0D */ bl ReadWaveSoundNoteInfo__Q44nw4r3snd6detail13WsdFileReaderCFPQ44nw4r3snd6detail17WaveSoundNoteInfoii
/* 8037A870 003764D0 2C 03 00 00 */ cmpwi r3, 0
/* 8037A874 003764D4 40 82 00 0C */ bne lbl_8037A880
/* 8037A878 003764D8 38 60 00 00 */ li r3, 0
@@ -2265,7 +2265,7 @@ lbl_8037A880: /* 8037A884 003764E4 7F 65 DB 78 */ mr r5, r27
/* 8037A888 003764E8 7F E6 FB 78 */ mr r6, r31
/* 8037A88C 003764EC 38 61 00 08 */ addi r3, r1, 8
-/* 8037A890 003764F0 48 00 93 F9 */ bl func_80383C88
+/* 8037A890 003764F0 48 00 93 F9 */ bl ReadWaveParam__Q44nw4r3snd6detail13WsdFileReaderCFiPQ44nw4r3snd6detail8WaveDataPCv
lbl_8037A894:
/* 8037A894 003764F4 39 61 00 40 */ addi r11, r1, 0x40
/* 8037A898 003764F8 4B E4 C8 D1 */ bl _restgpr_24
diff --git a/asm/nw4r/snd/snd_SoundPlayer.s b/asm/nw4r/snd/snd_SoundPlayer.s index 290b7e6..f01f737 100644 --- a/asm/nw4r/snd/snd_SoundPlayer.s +++ b/asm/nw4r/snd/snd_SoundPlayer.s @@ -1127,7 +1127,7 @@ lbl_8037BADC: /* 8037BAF8 00377758 7C 7B 1B 78 */ mr r27, r3
/* 8037BAFC 0037775C 41 82 00 B4 */ beq lbl_8037BBB0
/* 8037BB00 00377760 7F 44 D3 78 */ mr r4, r26
-/* 8037BB04 00377764 48 00 7B 49 */ bl func_8038364C
+/* 8037BB04 00377764 48 00 7B 49 */ bl __ct__Q44nw4r3snd6detail9WaveSoundFPQ44nw4r3snd6detail50SoundInstanceManager$0Q44nw4r3snd6detail9WaveSound$1
/* 8037BB08 00377768 7C 7B 1B 78 */ mr r27, r3
/* 8037BB0C 0037776C 48 00 00 A4 */ b lbl_8037BBB0
lbl_8037BB10:
@@ -1175,7 +1175,7 @@ lbl_8037BB80: /* 8037BB9C 003777FC 2C 03 00 00 */ cmpwi r3, 0
/* 8037BBA0 00377800 41 82 00 0C */ beq lbl_8037BBAC
/* 8037BBA4 00377804 7F 44 D3 78 */ mr r4, r26
-/* 8037BBA8 00377808 48 00 7A A5 */ bl func_8038364C
+/* 8037BBA8 00377808 48 00 7A A5 */ bl __ct__Q44nw4r3snd6detail9WaveSoundFPQ44nw4r3snd6detail50SoundInstanceManager$0Q44nw4r3snd6detail9WaveSound$1
lbl_8037BBAC:
/* 8037BBAC 0037780C 7C 7B 1B 78 */ mr r27, r3
lbl_8037BBB0:
diff --git a/asm/nw4r/snd/snd_WaveSoundHandle.s b/asm/nw4r/snd/snd_WaveSoundHandle.s new file mode 100644 index 0000000..20001b6 --- /dev/null +++ b/asm/nw4r/snd/snd_WaveSoundHandle.s @@ -0,0 +1,21 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global DetachSound__Q34nw4r3snd15WaveSoundHandleFv
+DetachSound__Q34nw4r3snd15WaveSoundHandleFv:
+/* 803839A4 0037F604 80 83 00 00 */ lwz r4, 0(r3)
+/* 803839A8 0037F608 2C 04 00 00 */ cmpwi r4, 0
+/* 803839AC 0037F60C 41 82 00 18 */ beq lbl_803839C4
+/* 803839B0 0037F610 80 04 01 C8 */ lwz r0, 0x1c8(r4)
+/* 803839B4 0037F614 7C 00 18 40 */ cmplw r0, r3
+/* 803839B8 0037F618 40 82 00 0C */ bne lbl_803839C4
+/* 803839BC 0037F61C 38 00 00 00 */ li r0, 0
+/* 803839C0 0037F620 90 04 01 C8 */ stw r0, 0x1c8(r4)
+lbl_803839C4:
+/* 803839C4 0037F624 80 03 00 00 */ lwz r0, 0(r3)
+/* 803839C8 0037F628 2C 00 00 00 */ cmpwi r0, 0
+/* 803839CC 0037F62C 4D 82 00 20 */ beqlr
+/* 803839D0 0037F630 38 00 00 00 */ li r0, 0
+/* 803839D4 0037F634 90 03 00 00 */ stw r0, 0(r3)
+/* 803839D8 0037F638 4E 80 00 20 */ blr
diff --git a/asm/text_11.s b/asm/text_11.s index 512a084..08c3334 100644 --- a/asm/text_11.s +++ b/asm/text_11.s @@ -2,502 +2,6 @@ .section .text, "ax" # 0x80006980 - 0x803E1E60 -.global func_8038364C -func_8038364C: -/* 8038364C 0037F2AC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80383650 0037F2B0 7C 08 02 A6 */ mflr r0 -/* 80383654 0037F2B4 90 01 00 14 */ stw r0, 0x14(r1) -/* 80383658 0037F2B8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8038365C 0037F2BC 7C 9F 23 78 */ mr r31, r4 -/* 80383660 0037F2C0 93 C1 00 08 */ stw r30, 8(r1) -/* 80383664 0037F2C4 7C 7E 1B 78 */ mr r30, r3 -/* 80383668 0037F2C8 4B FE 99 7D */ bl __ct__Q44nw4r3snd6detail10BasicSoundFv -/* 8038366C 0037F2CC 3C 80 80 45 */ lis r4, lbl_8044D050@ha -/* 80383670 0037F2D0 38 7E 00 D8 */ addi r3, r30, 0xd8 -/* 80383674 0037F2D4 38 84 D0 50 */ addi r4, r4, lbl_8044D050@l -/* 80383678 0037F2D8 90 9E 00 00 */ stw r4, 0(r30) -/* 8038367C 0037F2DC 48 00 06 A9 */ bl func_80383D24 -/* 80383680 0037F2E0 38 00 00 00 */ li r0, 0 -/* 80383684 0037F2E4 93 FE 01 CC */ stw r31, 0x1cc(r30) -/* 80383688 0037F2E8 7F C3 F3 78 */ mr r3, r30 -/* 8038368C 0037F2EC 90 1E 01 C8 */ stw r0, 0x1c8(r30) -/* 80383690 0037F2F0 98 1E 01 D0 */ stb r0, 0x1d0(r30) -/* 80383694 0037F2F4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80383698 0037F2F8 83 C1 00 08 */ lwz r30, 8(r1) -/* 8038369C 0037F2FC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 803836A0 0037F300 7C 08 03 A6 */ mtlr r0 -/* 803836A4 0037F304 38 21 00 10 */ addi r1, r1, 0x10 -/* 803836A8 0037F308 4E 80 00 20 */ blr -lbl_803836AC: -/* 803836AC 0037F30C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 803836B0 0037F310 7C 08 02 A6 */ mflr r0 -/* 803836B4 0037F314 2C 03 00 00 */ cmpwi r3, 0 -/* 803836B8 0037F318 90 01 00 14 */ stw r0, 0x14(r1) -/* 803836BC 0037F31C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 803836C0 0037F320 7C 7F 1B 78 */ mr r31, r3 -/* 803836C4 0037F324 41 82 00 10 */ beq lbl_803836D4 -/* 803836C8 0037F328 2C 04 00 00 */ cmpwi r4, 0 -/* 803836CC 0037F32C 40 81 00 08 */ ble lbl_803836D4 -/* 803836D0 0037F330 4B E5 73 E9 */ bl func_801DAAB8 -lbl_803836D4: -/* 803836D4 0037F334 7F E3 FB 78 */ mr r3, r31 -/* 803836D8 0037F338 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 803836DC 0037F33C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 803836E0 0037F340 7C 08 03 A6 */ mtlr r0 -/* 803836E4 0037F344 38 21 00 10 */ addi r1, r1, 0x10 -/* 803836E8 0037F348 4E 80 00 20 */ blr - -.global func_803836EC -func_803836EC: -/* 803836EC 0037F34C 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 803836F0 0037F350 7C 08 02 A6 */ mflr r0 -/* 803836F4 0037F354 90 01 00 34 */ stw r0, 0x34(r1) -/* 803836F8 0037F358 39 61 00 30 */ addi r11, r1, 0x30 -/* 803836FC 0037F35C 4B E4 3A 21 */ bl _savegpr_24 -/* 80383700 0037F360 81 83 00 00 */ lwz r12, 0(r3) -/* 80383704 0037F364 7C 78 1B 78 */ mr r24, r3 -/* 80383708 0037F368 7C 99 23 78 */ mr r25, r4 -/* 8038370C 0037F36C 7C BA 2B 78 */ mr r26, r5 -/* 80383710 0037F370 81 8C 00 64 */ lwz r12, 0x64(r12) -/* 80383714 0037F374 7C DB 33 78 */ mr r27, r6 -/* 80383718 0037F378 7C FC 3B 78 */ mr r28, r7 -/* 8038371C 0037F37C 7D 1D 43 78 */ mr r29, r8 -/* 80383720 0037F380 7D 3E 4B 78 */ mr r30, r9 -/* 80383724 0037F384 7D 5F 53 78 */ mr r31, r10 -/* 80383728 0037F388 7D 89 03 A6 */ mtctr r12 -/* 8038372C 0037F38C 4E 80 04 21 */ bctrl -/* 80383730 0037F390 7F 24 CB 78 */ mr r4, r25 -/* 80383734 0037F394 7F 45 D3 78 */ mr r5, r26 -/* 80383738 0037F398 7F 66 DB 78 */ mr r6, r27 -/* 8038373C 0037F39C 7F 87 E3 78 */ mr r7, r28 -/* 80383740 0037F3A0 7F A8 EB 78 */ mr r8, r29 -/* 80383744 0037F3A4 7F C9 F3 78 */ mr r9, r30 -/* 80383748 0037F3A8 7F EA FB 78 */ mr r10, r31 -/* 8038374C 0037F3AC 38 78 00 D8 */ addi r3, r24, 0xd8 -/* 80383750 0037F3B0 48 00 06 F1 */ bl func_80383E40 -/* 80383754 0037F3B4 2C 03 00 00 */ cmpwi r3, 0 -/* 80383758 0037F3B8 40 82 00 0C */ bne lbl_80383764 -/* 8038375C 0037F3BC 38 60 00 00 */ li r3, 0 -/* 80383760 0037F3C0 48 00 00 10 */ b lbl_80383770 -lbl_80383764: -/* 80383764 0037F3C4 38 00 00 01 */ li r0, 1 -/* 80383768 0037F3C8 38 60 00 01 */ li r3, 1 -/* 8038376C 0037F3CC 98 18 01 D0 */ stb r0, 0x1d0(r24) -lbl_80383770: -/* 80383770 0037F3D0 39 61 00 30 */ addi r11, r1, 0x30 -/* 80383774 0037F3D4 4B E4 39 F5 */ bl _restgpr_24 -/* 80383778 0037F3D8 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8038377C 0037F3DC 7C 08 03 A6 */ mtlr r0 -/* 80383780 0037F3E0 38 21 00 30 */ addi r1, r1, 0x30 -/* 80383784 0037F3E4 4E 80 00 20 */ blr -/* 80383788 0037F3E8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8038378C 0037F3EC 7C 08 02 A6 */ mflr r0 -/* 80383790 0037F3F0 90 01 00 24 */ stw r0, 0x24(r1) -/* 80383794 0037F3F4 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 80383798 0037F3F8 93 C1 00 18 */ stw r30, 0x18(r1) -/* 8038379C 0037F3FC 93 A1 00 14 */ stw r29, 0x14(r1) -/* 803837A0 0037F400 7C 7D 1B 78 */ mr r29, r3 -/* 803837A4 0037F404 4B FE A4 D9 */ bl Shutdown__Q44nw4r3snd6detail10BasicSoundFv -/* 803837A8 0037F408 83 DD 01 CC */ lwz r30, 0x1cc(r29) -/* 803837AC 0037F40C 3B FE 00 10 */ addi r31, r30, 0x10 -/* 803837B0 0037F410 7F E3 FB 78 */ mr r3, r31 -/* 803837B4 0037F414 4B EE C1 95 */ bl func_8026F948 -/* 803837B8 0037F418 80 1E 00 04 */ lwz r0, 4(r30) -/* 803837BC 0037F41C 2C 00 00 00 */ cmpwi r0, 0 -/* 803837C0 0037F420 40 82 00 10 */ bne lbl_803837D0 -/* 803837C4 0037F424 7F E3 FB 78 */ mr r3, r31 -/* 803837C8 0037F428 4B EE C2 5D */ bl func_8026FA24 -/* 803837CC 0037F42C 48 00 00 3C */ b lbl_80383808 -lbl_803837D0: -/* 803837D0 0037F430 38 7E 00 04 */ addi r3, r30, 4 -/* 803837D4 0037F434 38 9D 00 B8 */ addi r4, r29, 0xb8 -/* 803837D8 0037F438 4B FD F4 9D */ bl Erase__Q44nw4r2ut6detail12LinkListImplFPQ34nw4r2ut12LinkListNode -/* 803837DC 0037F43C 81 9D 00 00 */ lwz r12, 0(r29) -/* 803837E0 0037F440 7F A3 EB 78 */ mr r3, r29 -/* 803837E4 0037F444 38 80 FF FF */ li r4, -1 -/* 803837E8 0037F448 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 803837EC 0037F44C 7D 89 03 A6 */ mtctr r12 -/* 803837F0 0037F450 4E 80 04 21 */ bctrl -/* 803837F4 0037F454 7F C3 F3 78 */ mr r3, r30 -/* 803837F8 0037F458 7F A4 EB 78 */ mr r4, r29 -/* 803837FC 0037F45C 4B FE E3 B9 */ bl FreeImpl__Q44nw4r3snd6detail8PoolImplFPv -/* 80383800 0037F460 7F E3 FB 78 */ mr r3, r31 -/* 80383804 0037F464 4B EE C2 21 */ bl func_8026FA24 -lbl_80383808: -/* 80383808 0037F468 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8038380C 0037F46C 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 80383810 0037F470 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 80383814 0037F474 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 80383818 0037F478 7C 08 03 A6 */ mtlr r0 -/* 8038381C 0037F47C 38 21 00 20 */ addi r1, r1, 0x20 -/* 80383820 0037F480 4E 80 00 20 */ blr -/* 80383824 0037F484 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80383828 0037F488 7C 08 02 A6 */ mflr r0 -/* 8038382C 0037F48C 2C 03 00 00 */ cmpwi r3, 0 -/* 80383830 0037F490 90 01 00 14 */ stw r0, 0x14(r1) -/* 80383834 0037F494 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80383838 0037F498 7C 7F 1B 78 */ mr r31, r3 -/* 8038383C 0037F49C 41 82 00 10 */ beq lbl_8038384C -/* 80383840 0037F4A0 2C 04 00 00 */ cmpwi r4, 0 -/* 80383844 0037F4A4 40 81 00 08 */ ble lbl_8038384C -/* 80383848 0037F4A8 4B E5 72 71 */ bl func_801DAAB8 -lbl_8038384C: -/* 8038384C 0037F4AC 7F E3 FB 78 */ mr r3, r31 -/* 80383850 0037F4B0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80383854 0037F4B4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80383858 0037F4B8 7C 08 03 A6 */ mtlr r0 -/* 8038385C 0037F4BC 38 21 00 10 */ addi r1, r1, 0x10 -/* 80383860 0037F4C0 4E 80 00 20 */ blr - -.global func_80383864 -func_80383864: -/* 80383864 0037F4C4 38 63 00 D8 */ addi r3, r3, 0xd8 -/* 80383868 0037F4C8 48 00 09 7C */ b lbl_803841E4 - -.global func_8038386C -func_8038386C: -/* 8038386C 0037F4CC 38 63 00 D8 */ addi r3, r3, 0xd8 -/* 80383870 0037F4D0 48 00 09 C8 */ b lbl_80384238 -/* 80383874 0037F4D4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80383878 0037F4D8 7C 08 02 A6 */ mflr r0 -/* 8038387C 0037F4DC 90 01 00 24 */ stw r0, 0x24(r1) -/* 80383880 0037F4E0 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 80383884 0037F4E4 93 C1 00 18 */ stw r30, 0x18(r1) -/* 80383888 0037F4E8 93 A1 00 14 */ stw r29, 0x14(r1) -/* 8038388C 0037F4EC 93 81 00 10 */ stw r28, 0x10(r1) -/* 80383890 0037F4F0 7C 7C 1B 78 */ mr r28, r3 -/* 80383894 0037F4F4 4B FE A5 59 */ bl SetPlayerPriority__Q44nw4r3snd6detail10BasicSoundFi -/* 80383898 0037F4F8 88 7C 00 74 */ lbz r3, 0x74(r28) -/* 8038389C 0037F4FC 80 1C 00 40 */ lwz r0, 0x40(r28) -/* 803838A0 0037F500 7C 63 02 14 */ add r3, r3, r0 -/* 803838A4 0037F504 2C 03 00 7F */ cmpwi r3, 0x7f -/* 803838A8 0037F508 40 81 00 0C */ ble lbl_803838B4 -/* 803838AC 0037F50C 3B A0 00 7F */ li r29, 0x7f -/* 803838B0 0037F510 48 00 00 0C */ b lbl_803838BC -lbl_803838B4: -/* 803838B4 0037F514 7C 60 FE 70 */ srawi r0, r3, 0x1f -/* 803838B8 0037F518 7C 7D 00 78 */ andc r29, r3, r0 -lbl_803838BC: -/* 803838BC 0037F51C 83 DC 01 CC */ lwz r30, 0x1cc(r28) -/* 803838C0 0037F520 3B FE 00 10 */ addi r31, r30, 0x10 -/* 803838C4 0037F524 7F E3 FB 78 */ mr r3, r31 -/* 803838C8 0037F528 4B EE C0 81 */ bl func_8026F948 -/* 803838CC 0037F52C 3B 9C 00 B8 */ addi r28, r28, 0xb8 -/* 803838D0 0037F530 38 7E 00 04 */ addi r3, r30, 4 -/* 803838D4 0037F534 7F 84 E3 78 */ mr r4, r28 -/* 803838D8 0037F538 4B FD F3 9D */ bl Erase__Q44nw4r2ut6detail12LinkListImplFPQ34nw4r2ut12LinkListNode -/* 803838DC 0037F53C 80 7E 00 08 */ lwz r3, 8(r30) -/* 803838E0 0037F540 38 1E 00 08 */ addi r0, r30, 8 -/* 803838E4 0037F544 48 00 00 34 */ b lbl_80383918 -lbl_803838E8: -/* 803838E8 0037F548 88 A3 FF BC */ lbz r5, -0x44(r3) -/* 803838EC 0037F54C 80 83 FF 88 */ lwz r4, -0x78(r3) -/* 803838F0 0037F550 7C A5 22 14 */ add r5, r5, r4 -/* 803838F4 0037F554 2C 05 00 7F */ cmpwi r5, 0x7f -/* 803838F8 0037F558 40 81 00 0C */ ble lbl_80383904 -/* 803838FC 0037F55C 38 80 00 7F */ li r4, 0x7f -/* 80383900 0037F560 48 00 00 0C */ b lbl_8038390C -lbl_80383904: -/* 80383904 0037F564 7C A4 FE 70 */ srawi r4, r5, 0x1f -/* 80383908 0037F568 7C A4 20 78 */ andc r4, r5, r4 -lbl_8038390C: -/* 8038390C 0037F56C 7C 1D 20 00 */ cmpw r29, r4 -/* 80383910 0037F570 41 80 00 10 */ blt lbl_80383920 -/* 80383914 0037F574 80 63 00 00 */ lwz r3, 0(r3) -lbl_80383918: -/* 80383918 0037F578 7C 03 00 40 */ cmplw r3, r0 -/* 8038391C 0037F57C 40 82 FF CC */ bne lbl_803838E8 -lbl_80383920: -/* 80383920 0037F580 90 61 00 08 */ stw r3, 8(r1) -/* 80383924 0037F584 7F 85 E3 78 */ mr r5, r28 -/* 80383928 0037F588 38 7E 00 04 */ addi r3, r30, 4 -/* 8038392C 0037F58C 38 81 00 08 */ addi r4, r1, 8 -/* 80383930 0037F590 4B FD F3 19 */ bl Insert__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8IteratorPQ34nw4r2ut12LinkListNode -/* 80383934 0037F594 7F E3 FB 78 */ mr r3, r31 -/* 80383938 0037F598 4B EE C0 ED */ bl func_8026FA24 -/* 8038393C 0037F59C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80383940 0037F5A0 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 80383944 0037F5A4 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 80383948 0037F5A8 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 8038394C 0037F5AC 83 81 00 10 */ lwz r28, 0x10(r1) -/* 80383950 0037F5B0 7C 08 03 A6 */ mtlr r0 -/* 80383954 0037F5B4 38 21 00 20 */ addi r1, r1, 0x20 -/* 80383958 0037F5B8 4E 80 00 20 */ blr - -.global LexicalCast_b_i_ -LexicalCast_b_i_: -/* 8038395C 0037F5BC 80 63 01 C8 */ lwz r3, 0x1c8(r3) -/* 80383960 0037F5C0 7C 03 00 D0 */ neg r0, r3 -/* 80383964 0037F5C4 7C 00 1B 78 */ or r0, r0, r3 -/* 80383968 0037F5C8 54 03 0F FE */ srwi r3, r0, 0x1f -/* 8038396C 0037F5CC 4E 80 00 20 */ blr -/* 80383970 0037F5D0 80 63 01 C8 */ lwz r3, 0x1c8(r3) -/* 80383974 0037F5D4 48 00 00 30 */ b lbl_803839A4 -/* 80383978 0037F5D8 38 63 00 D8 */ addi r3, r3, 0xd8 -/* 8038397C 0037F5DC 4E 80 00 20 */ blr -/* 80383980 0037F5E0 38 63 00 D8 */ addi r3, r3, 0xd8 -/* 80383984 0037F5E4 4E 80 00 20 */ blr -/* 80383988 0037F5E8 88 63 01 D0 */ lbz r3, 0x1d0(r3) -/* 8038398C 0037F5EC 4E 80 00 20 */ blr -/* 80383990 0037F5F0 38 6D B2 A0 */ addi r3, r13, lbl_80640560-_SDA_BASE_ -/* 80383994 0037F5F4 4E 80 00 20 */ blr - -.global func_80383998 -func_80383998: -/* 80383998 0037F5F8 38 0D B1 F0 */ addi r0, r13, lbl_806404B0-_SDA_BASE_ -/* 8038399C 0037F5FC 90 0D B2 A0 */ stw r0, lbl_80640560-_SDA_BASE_(r13) -/* 803839A0 0037F600 4E 80 00 20 */ blr -lbl_803839A4: -/* 803839A4 0037F604 80 83 00 00 */ lwz r4, 0(r3) -/* 803839A8 0037F608 2C 04 00 00 */ cmpwi r4, 0 -/* 803839AC 0037F60C 41 82 00 18 */ beq lbl_803839C4 -/* 803839B0 0037F610 80 04 01 C8 */ lwz r0, 0x1c8(r4) -/* 803839B4 0037F614 7C 00 18 40 */ cmplw r0, r3 -/* 803839B8 0037F618 40 82 00 0C */ bne lbl_803839C4 -/* 803839BC 0037F61C 38 00 00 00 */ li r0, 0 -/* 803839C0 0037F620 90 04 01 C8 */ stw r0, 0x1c8(r4) -lbl_803839C4: -/* 803839C4 0037F624 80 03 00 00 */ lwz r0, 0(r3) -/* 803839C8 0037F628 2C 00 00 00 */ cmpwi r0, 0 -/* 803839CC 0037F62C 4D 82 00 20 */ beqlr -/* 803839D0 0037F630 38 00 00 00 */ li r0, 0 -/* 803839D4 0037F634 90 03 00 00 */ stw r0, 0(r3) -/* 803839D8 0037F638 4E 80 00 20 */ blr - -.global func_803839DC -func_803839DC: -/* 803839DC 0037F63C 80 A4 00 00 */ lwz r5, 0(r4) -/* 803839E0 0037F640 38 C0 00 00 */ li r6, 0 -/* 803839E4 0037F644 90 C3 00 00 */ stw r6, 0(r3) -/* 803839E8 0037F648 3C 05 AD A9 */ addis r0, r5, 0xada9 -/* 803839EC 0037F64C 28 00 53 44 */ cmplwi r0, 0x5344 -/* 803839F0 0037F650 90 C3 00 04 */ stw r6, 4(r3) -/* 803839F4 0037F654 90 C3 00 08 */ stw r6, 8(r3) -/* 803839F8 0037F658 41 82 00 0C */ beq lbl_80383A04 -/* 803839FC 0037F65C 38 00 00 00 */ li r0, 0 -/* 80383A00 0037F660 48 00 00 30 */ b lbl_80383A30 -lbl_80383A04: -/* 80383A04 0037F664 A0 C4 00 06 */ lhz r6, 6(r4) -/* 80383A08 0037F668 28 06 01 00 */ cmplwi r6, 0x100 -/* 80383A0C 0037F66C 40 80 00 0C */ bge lbl_80383A18 -/* 80383A10 0037F670 38 00 00 00 */ li r0, 0 -/* 80383A14 0037F674 48 00 00 1C */ b lbl_80383A30 -lbl_80383A18: -/* 80383A18 0037F678 20 06 01 02 */ subfic r0, r6, 0x102 -/* 80383A1C 0037F67C 38 A0 01 02 */ li r5, 0x102 -/* 80383A20 0037F680 7C A5 33 38 */ orc r5, r5, r6 -/* 80383A24 0037F684 54 00 F8 7E */ srwi r0, r0, 1 -/* 80383A28 0037F688 7C 00 28 50 */ subf r0, r0, r5 -/* 80383A2C 0037F68C 54 00 0F FE */ srwi r0, r0, 0x1f -lbl_80383A30: -/* 80383A30 0037F690 2C 00 00 00 */ cmpwi r0, 0 -/* 80383A34 0037F694 4D 82 00 20 */ beqlr -/* 80383A38 0037F698 80 A4 00 10 */ lwz r5, 0x10(r4) -/* 80383A3C 0037F69C 80 04 00 18 */ lwz r0, 0x18(r4) -/* 80383A40 0037F6A0 7C A5 22 14 */ add r5, r5, r4 -/* 80383A44 0037F6A4 90 83 00 00 */ stw r4, 0(r3) -/* 80383A48 0037F6A8 7C 00 22 14 */ add r0, r0, r4 -/* 80383A4C 0037F6AC 90 A3 00 04 */ stw r5, 4(r3) -/* 80383A50 0037F6B0 90 03 00 08 */ stw r0, 8(r3) -/* 80383A54 0037F6B4 4E 80 00 20 */ blr - -.global func_80383A58 -func_80383A58: -/* 80383A58 0037F6B8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80383A5C 0037F6BC 7C 08 02 A6 */ mflr r0 -/* 80383A60 0037F6C0 80 C3 00 04 */ lwz r6, 4(r3) -/* 80383A64 0037F6C4 90 01 00 14 */ stw r0, 0x14(r1) -/* 80383A68 0037F6C8 54 A0 18 38 */ slwi r0, r5, 3 -/* 80383A6C 0037F6CC 38 A6 00 08 */ addi r5, r6, 8 -/* 80383A70 0037F6D0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80383A74 0037F6D4 7C 9F 23 78 */ mr r31, r4 -/* 80383A78 0037F6D8 7C 86 02 14 */ add r4, r6, r0 -/* 80383A7C 0037F6DC 93 C1 00 08 */ stw r30, 8(r1) -/* 80383A80 0037F6E0 7C 7E 1B 78 */ mr r30, r3 -/* 80383A84 0037F6E4 88 64 00 0C */ lbz r3, 0xc(r4) -/* 80383A88 0037F6E8 80 84 00 10 */ lwz r4, 0x10(r4) -/* 80383A8C 0037F6EC 4B FF F9 5D */ bl GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv -/* 80383A90 0037F6F0 7C 64 1B 78 */ mr r4, r3 -/* 80383A94 0037F6F4 80 BE 00 04 */ lwz r5, 4(r30) -/* 80383A98 0037F6F8 88 63 00 00 */ lbz r3, 0(r3) -/* 80383A9C 0037F6FC 80 84 00 04 */ lwz r4, 4(r4) -/* 80383AA0 0037F700 38 A5 00 08 */ addi r5, r5, 8 -/* 80383AA4 0037F704 4B FF F9 45 */ bl GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv -/* 80383AA8 0037F708 80 9E 00 00 */ lwz r4, 0(r30) -/* 80383AAC 0037F70C A0 04 00 06 */ lhz r0, 6(r4) -/* 80383AB0 0037F710 28 00 01 02 */ cmplwi r0, 0x102 -/* 80383AB4 0037F714 40 82 00 40 */ bne lbl_80383AF4 -/* 80383AB8 0037F718 C0 03 00 00 */ lfs f0, 0(r3) -/* 80383ABC 0037F71C D0 1F 00 00 */ stfs f0, 0(r31) -/* 80383AC0 0037F720 88 03 00 04 */ lbz r0, 4(r3) -/* 80383AC4 0037F724 98 1F 00 04 */ stb r0, 4(r31) -/* 80383AC8 0037F728 88 03 00 05 */ lbz r0, 5(r3) -/* 80383ACC 0037F72C 98 1F 00 05 */ stb r0, 5(r31) -/* 80383AD0 0037F730 88 03 00 06 */ lbz r0, 6(r3) -/* 80383AD4 0037F734 98 1F 00 06 */ stb r0, 6(r31) -/* 80383AD8 0037F738 88 03 00 07 */ lbz r0, 7(r3) -/* 80383ADC 0037F73C 98 1F 00 07 */ stb r0, 7(r31) -/* 80383AE0 0037F740 88 03 00 08 */ lbz r0, 8(r3) -/* 80383AE4 0037F744 98 1F 00 08 */ stb r0, 8(r31) -/* 80383AE8 0037F748 88 03 00 09 */ lbz r0, 9(r3) -/* 80383AEC 0037F74C 98 1F 00 09 */ stb r0, 9(r31) -/* 80383AF0 0037F750 48 00 00 6C */ b lbl_80383B5C -lbl_80383AF4: -/* 80383AF4 0037F754 28 00 01 01 */ cmplwi r0, 0x101 -/* 80383AF8 0037F758 40 82 00 38 */ bne lbl_80383B30 -/* 80383AFC 0037F75C C0 03 00 00 */ lfs f0, 0(r3) -/* 80383B00 0037F760 38 80 00 00 */ li r4, 0 -/* 80383B04 0037F764 38 00 00 7F */ li r0, 0x7f -/* 80383B08 0037F768 D0 1F 00 00 */ stfs f0, 0(r31) -/* 80383B0C 0037F76C 88 A3 00 04 */ lbz r5, 4(r3) -/* 80383B10 0037F770 98 BF 00 04 */ stb r5, 4(r31) -/* 80383B14 0037F774 88 63 00 05 */ lbz r3, 5(r3) -/* 80383B18 0037F778 98 7F 00 05 */ stb r3, 5(r31) -/* 80383B1C 0037F77C 98 9F 00 06 */ stb r4, 6(r31) -/* 80383B20 0037F780 98 9F 00 07 */ stb r4, 7(r31) -/* 80383B24 0037F784 98 9F 00 08 */ stb r4, 8(r31) -/* 80383B28 0037F788 98 1F 00 09 */ stb r0, 9(r31) -/* 80383B2C 0037F78C 48 00 00 30 */ b lbl_80383B5C -lbl_80383B30: -/* 80383B30 0037F790 C0 02 A7 F0 */ lfs f0, lbl_80642DF0-_SDA2_BASE_(r2) -/* 80383B34 0037F794 38 60 00 00 */ li r3, 0 -/* 80383B38 0037F798 38 80 00 40 */ li r4, 0x40 -/* 80383B3C 0037F79C 38 00 00 7F */ li r0, 0x7f -/* 80383B40 0037F7A0 D0 1F 00 00 */ stfs f0, 0(r31) -/* 80383B44 0037F7A4 98 9F 00 04 */ stb r4, 4(r31) -/* 80383B48 0037F7A8 98 7F 00 05 */ stb r3, 5(r31) -/* 80383B4C 0037F7AC 98 7F 00 06 */ stb r3, 6(r31) -/* 80383B50 0037F7B0 98 7F 00 07 */ stb r3, 7(r31) -/* 80383B54 0037F7B4 98 7F 00 08 */ stb r3, 8(r31) -/* 80383B58 0037F7B8 98 1F 00 09 */ stb r0, 9(r31) -lbl_80383B5C: -/* 80383B5C 0037F7BC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80383B60 0037F7C0 38 60 00 01 */ li r3, 1 -/* 80383B64 0037F7C4 83 C1 00 08 */ lwz r30, 8(r1) -/* 80383B68 0037F7C8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80383B6C 0037F7CC 7C 08 03 A6 */ mtlr r0 -/* 80383B70 0037F7D0 38 21 00 10 */ addi r1, r1, 0x10 -/* 80383B74 0037F7D4 4E 80 00 20 */ blr - -.global func_80383B78 -func_80383B78: -/* 80383B78 0037F7D8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80383B7C 0037F7DC 7C 08 02 A6 */ mflr r0 -/* 80383B80 0037F7E0 80 E3 00 04 */ lwz r7, 4(r3) -/* 80383B84 0037F7E4 90 01 00 24 */ stw r0, 0x24(r1) -/* 80383B88 0037F7E8 54 A0 18 38 */ slwi r0, r5, 3 -/* 80383B8C 0037F7EC 38 A7 00 08 */ addi r5, r7, 8 -/* 80383B90 0037F7F0 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 80383B94 0037F7F4 7C 9F 23 78 */ mr r31, r4 -/* 80383B98 0037F7F8 7C 87 02 14 */ add r4, r7, r0 -/* 80383B9C 0037F7FC 93 C1 00 18 */ stw r30, 0x18(r1) -/* 80383BA0 0037F800 7C DE 33 78 */ mr r30, r6 -/* 80383BA4 0037F804 93 A1 00 14 */ stw r29, 0x14(r1) -/* 80383BA8 0037F808 7C 7D 1B 78 */ mr r29, r3 -/* 80383BAC 0037F80C 88 64 00 0C */ lbz r3, 0xc(r4) -/* 80383BB0 0037F810 80 84 00 10 */ lwz r4, 0x10(r4) -/* 80383BB4 0037F814 4B FF F8 35 */ bl GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv -/* 80383BB8 0037F818 7C 64 1B 78 */ mr r4, r3 -/* 80383BBC 0037F81C 80 BD 00 04 */ lwz r5, 4(r29) -/* 80383BC0 0037F820 88 63 00 10 */ lbz r3, 0x10(r3) -/* 80383BC4 0037F824 80 84 00 14 */ lwz r4, 0x14(r4) -/* 80383BC8 0037F828 38 A5 00 08 */ addi r5, r5, 8 -/* 80383BCC 0037F82C 4B FF F8 1D */ bl GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv -/* 80383BD0 0037F830 57 C0 18 38 */ slwi r0, r30, 3 -/* 80383BD4 0037F834 80 9D 00 04 */ lwz r4, 4(r29) -/* 80383BD8 0037F838 7C C3 02 14 */ add r6, r3, r0 -/* 80383BDC 0037F83C 38 A4 00 08 */ addi r5, r4, 8 -/* 80383BE0 0037F840 88 66 00 04 */ lbz r3, 4(r6) -/* 80383BE4 0037F844 80 86 00 08 */ lwz r4, 8(r6) -/* 80383BE8 0037F848 4B FF F8 01 */ bl GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv -/* 80383BEC 0037F84C 80 03 00 00 */ lwz r0, 0(r3) -/* 80383BF0 0037F850 80 9D 00 00 */ lwz r4, 0(r29) -/* 80383BF4 0037F854 90 1F 00 00 */ stw r0, 0(r31) -/* 80383BF8 0037F858 88 03 00 04 */ lbz r0, 4(r3) -/* 80383BFC 0037F85C 98 1F 00 04 */ stb r0, 4(r31) -/* 80383C00 0037F860 88 03 00 05 */ lbz r0, 5(r3) -/* 80383C04 0037F864 98 1F 00 05 */ stb r0, 5(r31) -/* 80383C08 0037F868 88 03 00 06 */ lbz r0, 6(r3) -/* 80383C0C 0037F86C 98 1F 00 06 */ stb r0, 6(r31) -/* 80383C10 0037F870 88 03 00 07 */ lbz r0, 7(r3) -/* 80383C14 0037F874 98 1F 00 07 */ stb r0, 7(r31) -/* 80383C18 0037F878 88 03 00 0C */ lbz r0, 0xc(r3) -/* 80383C1C 0037F87C 98 1F 00 08 */ stb r0, 8(r31) -/* 80383C20 0037F880 88 03 00 0D */ lbz r0, 0xd(r3) -/* 80383C24 0037F884 98 1F 00 0B */ stb r0, 0xb(r31) -/* 80383C28 0037F888 A0 04 00 06 */ lhz r0, 6(r4) -/* 80383C2C 0037F88C 28 00 01 01 */ cmplwi r0, 0x101 -/* 80383C30 0037F890 41 80 00 20 */ blt lbl_80383C50 -/* 80383C34 0037F894 88 03 00 0E */ lbz r0, 0xe(r3) -/* 80383C38 0037F898 98 1F 00 09 */ stb r0, 9(r31) -/* 80383C3C 0037F89C 88 03 00 0F */ lbz r0, 0xf(r3) -/* 80383C40 0037F8A0 98 1F 00 0A */ stb r0, 0xa(r31) -/* 80383C44 0037F8A4 C0 03 00 10 */ lfs f0, 0x10(r3) -/* 80383C48 0037F8A8 D0 1F 00 0C */ stfs f0, 0xc(r31) -/* 80383C4C 0037F8AC 48 00 00 1C */ b lbl_80383C68 -lbl_80383C50: -/* 80383C50 0037F8B0 C0 02 A7 F0 */ lfs f0, lbl_80642DF0-_SDA2_BASE_(r2) -/* 80383C54 0037F8B4 38 60 00 40 */ li r3, 0x40 -/* 80383C58 0037F8B8 38 00 00 00 */ li r0, 0 -/* 80383C5C 0037F8BC 98 7F 00 09 */ stb r3, 9(r31) -/* 80383C60 0037F8C0 98 1F 00 0A */ stb r0, 0xa(r31) -/* 80383C64 0037F8C4 D0 1F 00 0C */ stfs f0, 0xc(r31) -lbl_80383C68: -/* 80383C68 0037F8C8 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 80383C6C 0037F8CC 38 60 00 01 */ li r3, 1 -/* 80383C70 0037F8D0 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 80383C74 0037F8D4 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 80383C78 0037F8D8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80383C7C 0037F8DC 7C 08 03 A6 */ mtlr r0 -/* 80383C80 0037F8E0 38 21 00 20 */ addi r1, r1, 0x20 -/* 80383C84 0037F8E4 4E 80 00 20 */ blr - -.global func_80383C88 -func_80383C88: -/* 80383C88 0037F8E8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80383C8C 0037F8EC 7C 08 02 A6 */ mflr r0 -/* 80383C90 0037F8F0 80 E3 00 00 */ lwz r7, 0(r3) -/* 80383C94 0037F8F4 90 01 00 24 */ stw r0, 0x24(r1) -/* 80383C98 0037F8F8 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 80383C9C 0037F8FC 7C DF 33 78 */ mr r31, r6 -/* 80383CA0 0037F900 93 C1 00 18 */ stw r30, 0x18(r1) -/* 80383CA4 0037F904 7C BE 2B 78 */ mr r30, r5 -/* 80383CA8 0037F908 A0 07 00 06 */ lhz r0, 6(r7) -/* 80383CAC 0037F90C 28 00 01 00 */ cmplwi r0, 0x100 -/* 80383CB0 0037F910 40 82 00 1C */ bne lbl_80383CCC -/* 80383CB4 0037F914 80 A3 00 08 */ lwz r5, 8(r3) -/* 80383CB8 0037F918 54 80 10 3A */ slwi r0, r4, 2 -/* 80383CBC 0037F91C 7C 65 02 14 */ add r3, r5, r0 -/* 80383CC0 0037F920 80 03 00 08 */ lwz r0, 8(r3) -/* 80383CC4 0037F924 7C 80 2A 14 */ add r4, r0, r5 -/* 80383CC8 0037F928 48 00 00 2C */ b lbl_80383CF4 -lbl_80383CCC: -/* 80383CCC 0037F92C 80 A3 00 08 */ lwz r5, 8(r3) -/* 80383CD0 0037F930 80 05 00 08 */ lwz r0, 8(r5) -/* 80383CD4 0037F934 7C 04 00 40 */ cmplw r4, r0 -/* 80383CD8 0037F938 41 80 00 0C */ blt lbl_80383CE4 -/* 80383CDC 0037F93C 38 60 00 00 */ li r3, 0 -/* 80383CE0 0037F940 48 00 00 2C */ b lbl_80383D0C -lbl_80383CE4: -/* 80383CE4 0037F944 54 80 10 3A */ slwi r0, r4, 2 -/* 80383CE8 0037F948 7C 65 02 14 */ add r3, r5, r0 -/* 80383CEC 0037F94C 80 03 00 0C */ lwz r0, 0xc(r3) -/* 80383CF0 0037F950 7C 80 2A 14 */ add r4, r0, r5 -lbl_80383CF4: -/* 80383CF4 0037F954 38 61 00 08 */ addi r3, r1, 8 -/* 80383CF8 0037F958 4B FF F7 15 */ bl __ct__Q44nw4r3snd6detail14WaveFileReaderFPCQ54nw4r3snd6detail8WaveFile8WaveInfo -/* 80383CFC 0037F95C 7F C4 F3 78 */ mr r4, r30 -/* 80383D00 0037F960 7F E5 FB 78 */ mr r5, r31 -/* 80383D04 0037F964 38 61 00 08 */ addi r3, r1, 8 -/* 80383D08 0037F968 4B FF F7 0D */ bl ReadWaveParam__Q44nw4r3snd6detail14WaveFileReaderCFPQ44nw4r3snd6detail8WaveDataPCv -lbl_80383D0C: -/* 80383D0C 0037F96C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80383D10 0037F970 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 80383D14 0037F974 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 80383D18 0037F978 7C 08 03 A6 */ mtlr r0 -/* 80383D1C 0037F97C 38 21 00 20 */ addi r1, r1, 0x20 -/* 80383D20 0037F980 4E 80 00 20 */ blr - .global func_80383D24 func_80383D24: /* 80383D24 0037F984 94 21 FF F0 */ stwu r1, -0x10(r1) @@ -829,6 +333,8 @@ lbl_803841C0: /* 803841D8 0037FE38 7C 08 03 A6 */ mtlr r0 /* 803841DC 0037FE3C 38 21 00 20 */ addi r1, r1, 0x20 /* 803841E0 0037FE40 4E 80 00 20 */ blr + +.global lbl_803841E4 lbl_803841E4: /* 803841E4 0037FE44 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803841E8 0037FE48 7C 08 02 A6 */ mflr r0 @@ -851,6 +357,8 @@ lbl_803841E4: /* 8038422C 0037FE8C 7C 08 03 A6 */ mtlr r0 /* 80384230 0037FE90 38 21 00 20 */ addi r1, r1, 0x20 /* 80384234 0037FE94 4E 80 00 20 */ blr + +.global lbl_80384238 lbl_80384238: /* 80384238 0037FE98 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8038423C 0037FE9C 7C 08 02 A6 */ mflr r0 @@ -1544,13 +1052,13 @@ lbl_80384BE0: /* 80384C28 00380888 38 63 FF 8C */ addi r3, r3, -116 /* 80384C2C 0038088C 4B FF F6 60 */ b lbl_8038428C /* 80384C30 00380890 38 63 FF 8C */ addi r3, r3, -116 -/* 80384C34 00380894 4B FF EA 78 */ b lbl_803836AC +/* 80384C34 00380894 4B FF EA 78 */ b __dt__Q44nw4r3snd6detail9WsdPlayerFv /* 80384C38 00380898 38 63 FF 80 */ addi r3, r3, -128 /* 80384C3C 0038089C 4B FF FF 94 */ b lbl_80384BD0 /* 80384C40 003808A0 38 63 FF 80 */ addi r3, r3, -128 /* 80384C44 003808A4 4B FF FF 88 */ b lbl_80384BCC /* 80384C48 003808A8 38 63 FF 80 */ addi r3, r3, -128 -/* 80384C4C 003808AC 4B FF EA 60 */ b lbl_803836AC +/* 80384C4C 003808AC 4B FF EA 60 */ b __dt__Q44nw4r3snd6detail9WsdPlayerFv .global func_80384C50 func_80384C50: diff --git a/obj_files.mk b/obj_files.mk index 0eaed58..43dca46 100644 --- a/obj_files.mk +++ b/obj_files.mk @@ -160,6 +160,9 @@ TEXT_O_FILES := \ $(BUILD_DIR)/asm/nw4r/snd/detail/snd_VoiceManager.o \ $(BUILD_DIR)/asm/nw4r/snd/detail/snd_Util.o \ $(BUILD_DIR)/asm/nw4r/snd/detail/snd_WaveFile.o \ + $(BUILD_DIR)/asm/nw4r/snd/detail/snd_WaveSound.o \ + $(BUILD_DIR)/asm/nw4r/snd/snd_WaveSoundHandle.o \ + $(BUILD_DIR)/asm/nw4r/snd/detail/snd_WsdFile.o \ $(BUILD_DIR)/asm/text_11.o CTORS_O_FILES := \ |