diff options
author | Max <mparisi@stevens.edu> | 2020-09-26 22:30:34 -0400 |
---|---|---|
committer | Max <mparisi@stevens.edu> | 2020-09-26 22:30:34 -0400 |
commit | cdfc0bdae086da9f2d44470a810e1a841b656bdb (patch) | |
tree | 83453699f619282d8385870b525b3c83ff2b0142 | |
parent | 87bb7c407150786d00adfb3bb134bf96deaa731d (diff) |
split snd_WaveFile.s
-rw-r--r-- | asm/nw4r/snd/detail/snd_BankFile.s | 4 | ||||
-rw-r--r-- | asm/nw4r/snd/detail/snd_StrmPlayer.s | 2 | ||||
-rw-r--r-- | asm/nw4r/snd/detail/snd_WaveFile.s | 162 | ||||
-rw-r--r-- | asm/text_11.s | 163 | ||||
-rw-r--r-- | obj_files.mk | 1 |
5 files changed, 168 insertions, 164 deletions
diff --git a/asm/nw4r/snd/detail/snd_BankFile.s b/asm/nw4r/snd/detail/snd_BankFile.s index 468b47d..3d456e0 100644 --- a/asm/nw4r/snd/detail/snd_BankFile.s +++ b/asm/nw4r/snd/detail/snd_BankFile.s @@ -292,11 +292,11 @@ lbl_8036CE28: lbl_8036CE50:
/* 8036CE50 00368AB0 7C 64 1B 78 */ mr r4, r3
/* 8036CE54 00368AB4 38 61 00 08 */ addi r3, r1, 8
-/* 8036CE58 00368AB8 48 01 65 B5 */ bl func_8038340C
+/* 8036CE58 00368AB8 48 01 65 B5 */ bl __ct__Q44nw4r3snd6detail14WaveFileReaderFPCQ54nw4r3snd6detail8WaveFile8WaveInfo
/* 8036CE5C 00368ABC 7F C4 F3 78 */ mr r4, r30
/* 8036CE60 00368AC0 7F E5 FB 78 */ mr r5, r31
/* 8036CE64 00368AC4 38 61 00 08 */ addi r3, r1, 8
-/* 8036CE68 00368AC8 48 01 65 AD */ bl func_80383414
+/* 8036CE68 00368AC8 48 01 65 AD */ bl ReadWaveParam__Q44nw4r3snd6detail14WaveFileReaderCFPQ44nw4r3snd6detail8WaveDataPCv
lbl_8036CE6C:
/* 8036CE6C 00368ACC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8036CE70 00368AD0 83 E1 00 1C */ lwz r31, 0x1c(r1)
diff --git a/asm/nw4r/snd/detail/snd_StrmPlayer.s b/asm/nw4r/snd/detail/snd_StrmPlayer.s index ac65382..d74e2a7 100644 --- a/asm/nw4r/snd/detail/snd_StrmPlayer.s +++ b/asm/nw4r/snd/detail/snd_StrmPlayer.s @@ -363,7 +363,7 @@ lbl_8037D790: /* 8037D7BC 0037941C 90 01 00 1C */ stw r0, 0x1c(r1)
/* 8037D7C0 00379420 93 81 00 20 */ stw r28, 0x20(r1)
/* 8037D7C4 00379424 88 7E 00 80 */ lbz r3, 0x80(r30)
-/* 8037D7C8 00379428 48 00 5E 61 */ bl func_80383628
+/* 8037D7C8 00379428 48 00 5E 61 */ bl GetAxVoiceFormatFromWaveFileFormat__Q44nw4r3snd6detail14WaveFileReaderFUl
/* 8037D7CC 0037942C 80 BE 00 D4 */ lwz r5, 0xd4(r30)
/* 8037D7D0 00379430 7C 64 1B 78 */ mr r4, r3
/* 8037D7D4 00379434 80 1E 00 EC */ lwz r0, 0xec(r30)
diff --git a/asm/nw4r/snd/detail/snd_WaveFile.s b/asm/nw4r/snd/detail/snd_WaveFile.s new file mode 100644 index 0000000..ed7c488 --- /dev/null +++ b/asm/nw4r/snd/detail/snd_WaveFile.s @@ -0,0 +1,162 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global __ct__Q44nw4r3snd6detail14WaveFileReaderFPCQ54nw4r3snd6detail8WaveFile8WaveInfo
+__ct__Q44nw4r3snd6detail14WaveFileReaderFPCQ54nw4r3snd6detail8WaveFile8WaveInfo:
+/* 8038340C 0037F06C 90 83 00 00 */ stw r4, 0(r3)
+/* 80383410 0037F070 4E 80 00 20 */ blr
+
+.global ReadWaveParam__Q44nw4r3snd6detail14WaveFileReaderCFPQ44nw4r3snd6detail8WaveDataPCv
+ReadWaveParam__Q44nw4r3snd6detail14WaveFileReaderCFPQ44nw4r3snd6detail8WaveDataPCv:
+/* 80383414 0037F074 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80383418 0037F078 7C 08 02 A6 */ mflr r0
+/* 8038341C 0037F07C 80 C3 00 00 */ lwz r6, 0(r3)
+/* 80383420 0037F080 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80383424 0037F084 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80383428 0037F088 7C BF 2B 78 */ mr r31, r5
+/* 8038342C 0037F08C 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80383430 0037F090 7C 7E 1B 78 */ mr r30, r3
+/* 80383434 0037F094 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 80383438 0037F098 93 81 00 10 */ stw r28, 0x10(r1)
+/* 8038343C 0037F09C 7C 9C 23 78 */ mr r28, r4
+/* 80383440 0037F0A0 88 06 00 00 */ lbz r0, 0(r6)
+/* 80383444 0037F0A4 28 00 00 01 */ cmplwi r0, 1
+/* 80383448 0037F0A8 40 82 00 0C */ bne lbl_80383454
+/* 8038344C 0037F0AC 3B A0 00 0A */ li r29, 0xa
+/* 80383450 0037F0B0 48 00 00 14 */ b lbl_80383464
+lbl_80383454:
+/* 80383454 0037F0B4 2C 00 00 00 */ cmpwi r0, 0
+/* 80383458 0037F0B8 3B A0 00 00 */ li r29, 0
+/* 8038345C 0037F0BC 40 82 00 08 */ bne lbl_80383464
+/* 80383460 0037F0C0 3B A0 00 19 */ li r29, 0x19
+lbl_80383464:
+/* 80383464 0037F0C4 80 E3 00 00 */ lwz r7, 0(r3)
+/* 80383468 0037F0C8 7F A5 EB 78 */ mr r5, r29
+/* 8038346C 0037F0CC 98 04 00 00 */ stb r0, 0(r4)
+/* 80383470 0037F0D0 38 60 00 00 */ li r3, 0
+/* 80383474 0037F0D4 88 07 00 02 */ lbz r0, 2(r7)
+/* 80383478 0037F0D8 98 04 00 02 */ stb r0, 2(r4)
+/* 8038347C 0037F0DC 88 C7 00 03 */ lbz r6, 3(r7)
+/* 80383480 0037F0E0 A0 07 00 04 */ lhz r0, 4(r7)
+/* 80383484 0037F0E4 54 C6 80 1E */ slwi r6, r6, 0x10
+/* 80383488 0037F0E8 7C 06 02 14 */ add r0, r6, r0
+/* 8038348C 0037F0EC 90 04 00 04 */ stw r0, 4(r4)
+/* 80383490 0037F0F0 88 07 00 01 */ lbz r0, 1(r7)
+/* 80383494 0037F0F4 98 04 00 01 */ stb r0, 1(r4)
+/* 80383498 0037F0F8 80 87 00 08 */ lwz r4, 8(r7)
+/* 8038349C 0037F0FC 4B FE 6B 75 */ bl GetSampleByDspAddress__Q44nw4r3snd6detail7AxVoiceFPCvUlQ54nw4r3snd6detail7AxVoice6Format
+/* 803834A0 0037F100 90 7C 00 08 */ stw r3, 8(r28)
+/* 803834A4 0037F104 7F A5 EB 78 */ mr r5, r29
+/* 803834A8 0037F108 80 9E 00 00 */ lwz r4, 0(r30)
+/* 803834AC 0037F10C 38 60 00 00 */ li r3, 0
+/* 803834B0 0037F110 80 84 00 0C */ lwz r4, 0xc(r4)
+/* 803834B4 0037F114 4B FE 6B 5D */ bl GetSampleByDspAddress__Q44nw4r3snd6detail7AxVoiceFPCvUlQ54nw4r3snd6detail7AxVoice6Format
+/* 803834B8 0037F118 38 03 00 01 */ addi r0, r3, 1
+/* 803834BC 0037F11C 80 7E 00 00 */ lwz r3, 0(r30)
+/* 803834C0 0037F120 90 1C 00 0C */ stw r0, 0xc(r28)
+/* 803834C4 0037F124 38 9C 00 10 */ addi r4, r28, 0x10
+/* 803834C8 0037F128 38 C0 00 00 */ li r6, 0
+/* 803834CC 0037F12C 80 03 00 10 */ lwz r0, 0x10(r3)
+/* 803834D0 0037F130 7C A0 1A 14 */ add r5, r0, r3
+/* 803834D4 0037F134 48 00 01 20 */ b lbl_803835F4
+lbl_803834D8:
+/* 803834D8 0037F138 80 05 00 00 */ lwz r0, 0(r5)
+/* 803834DC 0037F13C 7C E0 1A 14 */ add r7, r0, r3
+/* 803834E0 0037F140 80 07 00 08 */ lwz r0, 8(r7)
+/* 803834E4 0037F144 90 04 00 04 */ stw r0, 4(r4)
+/* 803834E8 0037F148 80 07 00 0C */ lwz r0, 0xc(r7)
+/* 803834EC 0037F14C 90 04 00 08 */ stw r0, 8(r4)
+/* 803834F0 0037F150 80 07 00 10 */ lwz r0, 0x10(r7)
+/* 803834F4 0037F154 90 04 00 0C */ stw r0, 0xc(r4)
+/* 803834F8 0037F158 80 07 00 14 */ lwz r0, 0x14(r7)
+/* 803834FC 0037F15C 90 04 00 10 */ stw r0, 0x10(r4)
+/* 80383500 0037F160 80 67 00 04 */ lwz r3, 4(r7)
+/* 80383504 0037F164 2C 03 00 00 */ cmpwi r3, 0
+/* 80383508 0037F168 41 82 00 C8 */ beq lbl_803835D0
+/* 8038350C 0037F16C 80 1E 00 00 */ lwz r0, 0(r30)
+/* 80383510 0037F170 7D 03 02 6E */ lhzux r8, r3, r0
+/* 80383514 0037F174 A0 03 00 02 */ lhz r0, 2(r3)
+/* 80383518 0037F178 B1 04 00 14 */ sth r8, 0x14(r4)
+/* 8038351C 0037F17C B0 04 00 16 */ sth r0, 0x16(r4)
+/* 80383520 0037F180 A1 03 00 04 */ lhz r8, 4(r3)
+/* 80383524 0037F184 A0 03 00 06 */ lhz r0, 6(r3)
+/* 80383528 0037F188 B1 04 00 18 */ sth r8, 0x18(r4)
+/* 8038352C 0037F18C B0 04 00 1A */ sth r0, 0x1a(r4)
+/* 80383530 0037F190 A1 03 00 08 */ lhz r8, 8(r3)
+/* 80383534 0037F194 A0 03 00 0A */ lhz r0, 0xa(r3)
+/* 80383538 0037F198 B1 04 00 1C */ sth r8, 0x1c(r4)
+/* 8038353C 0037F19C B0 04 00 1E */ sth r0, 0x1e(r4)
+/* 80383540 0037F1A0 A1 03 00 0C */ lhz r8, 0xc(r3)
+/* 80383544 0037F1A4 A0 03 00 0E */ lhz r0, 0xe(r3)
+/* 80383548 0037F1A8 B1 04 00 20 */ sth r8, 0x20(r4)
+/* 8038354C 0037F1AC B0 04 00 22 */ sth r0, 0x22(r4)
+/* 80383550 0037F1B0 A1 03 00 10 */ lhz r8, 0x10(r3)
+/* 80383554 0037F1B4 A0 03 00 12 */ lhz r0, 0x12(r3)
+/* 80383558 0037F1B8 B1 04 00 24 */ sth r8, 0x24(r4)
+/* 8038355C 0037F1BC B0 04 00 26 */ sth r0, 0x26(r4)
+/* 80383560 0037F1C0 A1 03 00 14 */ lhz r8, 0x14(r3)
+/* 80383564 0037F1C4 A0 03 00 16 */ lhz r0, 0x16(r3)
+/* 80383568 0037F1C8 B1 04 00 28 */ sth r8, 0x28(r4)
+/* 8038356C 0037F1CC B0 04 00 2A */ sth r0, 0x2a(r4)
+/* 80383570 0037F1D0 A1 03 00 18 */ lhz r8, 0x18(r3)
+/* 80383574 0037F1D4 A0 03 00 1A */ lhz r0, 0x1a(r3)
+/* 80383578 0037F1D8 B1 04 00 2C */ sth r8, 0x2c(r4)
+/* 8038357C 0037F1DC B0 04 00 2E */ sth r0, 0x2e(r4)
+/* 80383580 0037F1E0 A1 03 00 1C */ lhz r8, 0x1c(r3)
+/* 80383584 0037F1E4 A0 03 00 1E */ lhz r0, 0x1e(r3)
+/* 80383588 0037F1E8 B1 04 00 30 */ sth r8, 0x30(r4)
+/* 8038358C 0037F1EC B0 04 00 32 */ sth r0, 0x32(r4)
+/* 80383590 0037F1F0 A1 03 00 20 */ lhz r8, 0x20(r3)
+/* 80383594 0037F1F4 A0 03 00 22 */ lhz r0, 0x22(r3)
+/* 80383598 0037F1F8 B1 04 00 34 */ sth r8, 0x34(r4)
+/* 8038359C 0037F1FC B0 04 00 36 */ sth r0, 0x36(r4)
+/* 803835A0 0037F200 A1 03 00 24 */ lhz r8, 0x24(r3)
+/* 803835A4 0037F204 A0 03 00 26 */ lhz r0, 0x26(r3)
+/* 803835A8 0037F208 B1 04 00 38 */ sth r8, 0x38(r4)
+/* 803835AC 0037F20C B0 04 00 3A */ sth r0, 0x3a(r4)
+/* 803835B0 0037F210 A0 03 00 28 */ lhz r0, 0x28(r3)
+/* 803835B4 0037F214 B0 04 00 3C */ sth r0, 0x3c(r4)
+/* 803835B8 0037F218 A0 03 00 2A */ lhz r0, 0x2a(r3)
+/* 803835BC 0037F21C B0 04 00 3E */ sth r0, 0x3e(r4)
+/* 803835C0 0037F220 A0 03 00 2C */ lhz r0, 0x2c(r3)
+/* 803835C4 0037F224 B0 04 00 40 */ sth r0, 0x40(r4)
+/* 803835C8 0037F228 A0 03 00 2E */ lhz r0, 0x2e(r3)
+/* 803835CC 0037F22C B0 04 00 42 */ sth r0, 0x42(r4)
+lbl_803835D0:
+/* 803835D0 0037F230 81 1E 00 00 */ lwz r8, 0(r30)
+/* 803835D4 0037F234 38 A5 00 04 */ addi r5, r5, 4
+/* 803835D8 0037F238 80 67 00 00 */ lwz r3, 0(r7)
+/* 803835DC 0037F23C 38 C6 00 01 */ addi r6, r6, 1
+/* 803835E0 0037F240 80 08 00 14 */ lwz r0, 0x14(r8)
+/* 803835E4 0037F244 7C 00 FA 14 */ add r0, r0, r31
+/* 803835E8 0037F248 7C 03 02 14 */ add r0, r3, r0
+/* 803835EC 0037F24C 90 04 00 00 */ stw r0, 0(r4)
+/* 803835F0 0037F250 38 84 00 44 */ addi r4, r4, 0x44
+lbl_803835F4:
+/* 803835F4 0037F254 80 7E 00 00 */ lwz r3, 0(r30)
+/* 803835F8 0037F258 88 03 00 02 */ lbz r0, 2(r3)
+/* 803835FC 0037F25C 7C 06 00 00 */ cmpw r6, r0
+/* 80383600 0037F260 41 80 FE D8 */ blt lbl_803834D8
+/* 80383604 0037F264 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80383608 0037F268 38 60 00 01 */ li r3, 1
+/* 8038360C 0037F26C 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 80383610 0037F270 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 80383614 0037F274 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 80383618 0037F278 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 8038361C 0037F27C 7C 08 03 A6 */ mtlr r0
+/* 80383620 0037F280 38 21 00 20 */ addi r1, r1, 0x20
+/* 80383624 0037F284 4E 80 00 20 */ blr
+
+.global GetAxVoiceFormatFromWaveFileFormat__Q44nw4r3snd6detail14WaveFileReaderFUl
+GetAxVoiceFormatFromWaveFileFormat__Q44nw4r3snd6detail14WaveFileReaderFUl:
+/* 80383628 0037F288 28 03 00 01 */ cmplwi r3, 1
+/* 8038362C 0037F28C 40 82 00 0C */ bne lbl_80383638
+/* 80383630 0037F290 38 60 00 0A */ li r3, 0xa
+/* 80383634 0037F294 4E 80 00 20 */ blr
+lbl_80383638:
+/* 80383638 0037F298 2C 03 00 00 */ cmpwi r3, 0
+/* 8038363C 0037F29C 38 60 00 00 */ li r3, 0
+/* 80383640 0037F2A0 4C 82 00 20 */ bnelr
+/* 80383644 0037F2A4 38 60 00 19 */ li r3, 0x19
+/* 80383648 0037F2A8 4E 80 00 20 */ blr
diff --git a/asm/text_11.s b/asm/text_11.s index 91532dc..512a084 100644 --- a/asm/text_11.s +++ b/asm/text_11.s @@ -2,165 +2,6 @@ .section .text, "ax" # 0x80006980 - 0x803E1E60 -.global func_8038340C -func_8038340C: -/* 8038340C 0037F06C 90 83 00 00 */ stw r4, 0(r3) -/* 80383410 0037F070 4E 80 00 20 */ blr - -.global func_80383414 -func_80383414: -/* 80383414 0037F074 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80383418 0037F078 7C 08 02 A6 */ mflr r0 -/* 8038341C 0037F07C 80 C3 00 00 */ lwz r6, 0(r3) -/* 80383420 0037F080 90 01 00 24 */ stw r0, 0x24(r1) -/* 80383424 0037F084 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 80383428 0037F088 7C BF 2B 78 */ mr r31, r5 -/* 8038342C 0037F08C 93 C1 00 18 */ stw r30, 0x18(r1) -/* 80383430 0037F090 7C 7E 1B 78 */ mr r30, r3 -/* 80383434 0037F094 93 A1 00 14 */ stw r29, 0x14(r1) -/* 80383438 0037F098 93 81 00 10 */ stw r28, 0x10(r1) -/* 8038343C 0037F09C 7C 9C 23 78 */ mr r28, r4 -/* 80383440 0037F0A0 88 06 00 00 */ lbz r0, 0(r6) -/* 80383444 0037F0A4 28 00 00 01 */ cmplwi r0, 1 -/* 80383448 0037F0A8 40 82 00 0C */ bne lbl_80383454 -/* 8038344C 0037F0AC 3B A0 00 0A */ li r29, 0xa -/* 80383450 0037F0B0 48 00 00 14 */ b lbl_80383464 -lbl_80383454: -/* 80383454 0037F0B4 2C 00 00 00 */ cmpwi r0, 0 -/* 80383458 0037F0B8 3B A0 00 00 */ li r29, 0 -/* 8038345C 0037F0BC 40 82 00 08 */ bne lbl_80383464 -/* 80383460 0037F0C0 3B A0 00 19 */ li r29, 0x19 -lbl_80383464: -/* 80383464 0037F0C4 80 E3 00 00 */ lwz r7, 0(r3) -/* 80383468 0037F0C8 7F A5 EB 78 */ mr r5, r29 -/* 8038346C 0037F0CC 98 04 00 00 */ stb r0, 0(r4) -/* 80383470 0037F0D0 38 60 00 00 */ li r3, 0 -/* 80383474 0037F0D4 88 07 00 02 */ lbz r0, 2(r7) -/* 80383478 0037F0D8 98 04 00 02 */ stb r0, 2(r4) -/* 8038347C 0037F0DC 88 C7 00 03 */ lbz r6, 3(r7) -/* 80383480 0037F0E0 A0 07 00 04 */ lhz r0, 4(r7) -/* 80383484 0037F0E4 54 C6 80 1E */ slwi r6, r6, 0x10 -/* 80383488 0037F0E8 7C 06 02 14 */ add r0, r6, r0 -/* 8038348C 0037F0EC 90 04 00 04 */ stw r0, 4(r4) -/* 80383490 0037F0F0 88 07 00 01 */ lbz r0, 1(r7) -/* 80383494 0037F0F4 98 04 00 01 */ stb r0, 1(r4) -/* 80383498 0037F0F8 80 87 00 08 */ lwz r4, 8(r7) -/* 8038349C 0037F0FC 4B FE 6B 75 */ bl GetSampleByDspAddress__Q44nw4r3snd6detail7AxVoiceFPCvUlQ54nw4r3snd6detail7AxVoice6Format -/* 803834A0 0037F100 90 7C 00 08 */ stw r3, 8(r28) -/* 803834A4 0037F104 7F A5 EB 78 */ mr r5, r29 -/* 803834A8 0037F108 80 9E 00 00 */ lwz r4, 0(r30) -/* 803834AC 0037F10C 38 60 00 00 */ li r3, 0 -/* 803834B0 0037F110 80 84 00 0C */ lwz r4, 0xc(r4) -/* 803834B4 0037F114 4B FE 6B 5D */ bl GetSampleByDspAddress__Q44nw4r3snd6detail7AxVoiceFPCvUlQ54nw4r3snd6detail7AxVoice6Format -/* 803834B8 0037F118 38 03 00 01 */ addi r0, r3, 1 -/* 803834BC 0037F11C 80 7E 00 00 */ lwz r3, 0(r30) -/* 803834C0 0037F120 90 1C 00 0C */ stw r0, 0xc(r28) -/* 803834C4 0037F124 38 9C 00 10 */ addi r4, r28, 0x10 -/* 803834C8 0037F128 38 C0 00 00 */ li r6, 0 -/* 803834CC 0037F12C 80 03 00 10 */ lwz r0, 0x10(r3) -/* 803834D0 0037F130 7C A0 1A 14 */ add r5, r0, r3 -/* 803834D4 0037F134 48 00 01 20 */ b lbl_803835F4 -lbl_803834D8: -/* 803834D8 0037F138 80 05 00 00 */ lwz r0, 0(r5) -/* 803834DC 0037F13C 7C E0 1A 14 */ add r7, r0, r3 -/* 803834E0 0037F140 80 07 00 08 */ lwz r0, 8(r7) -/* 803834E4 0037F144 90 04 00 04 */ stw r0, 4(r4) -/* 803834E8 0037F148 80 07 00 0C */ lwz r0, 0xc(r7) -/* 803834EC 0037F14C 90 04 00 08 */ stw r0, 8(r4) -/* 803834F0 0037F150 80 07 00 10 */ lwz r0, 0x10(r7) -/* 803834F4 0037F154 90 04 00 0C */ stw r0, 0xc(r4) -/* 803834F8 0037F158 80 07 00 14 */ lwz r0, 0x14(r7) -/* 803834FC 0037F15C 90 04 00 10 */ stw r0, 0x10(r4) -/* 80383500 0037F160 80 67 00 04 */ lwz r3, 4(r7) -/* 80383504 0037F164 2C 03 00 00 */ cmpwi r3, 0 -/* 80383508 0037F168 41 82 00 C8 */ beq lbl_803835D0 -/* 8038350C 0037F16C 80 1E 00 00 */ lwz r0, 0(r30) -/* 80383510 0037F170 7D 03 02 6E */ lhzux r8, r3, r0 -/* 80383514 0037F174 A0 03 00 02 */ lhz r0, 2(r3) -/* 80383518 0037F178 B1 04 00 14 */ sth r8, 0x14(r4) -/* 8038351C 0037F17C B0 04 00 16 */ sth r0, 0x16(r4) -/* 80383520 0037F180 A1 03 00 04 */ lhz r8, 4(r3) -/* 80383524 0037F184 A0 03 00 06 */ lhz r0, 6(r3) -/* 80383528 0037F188 B1 04 00 18 */ sth r8, 0x18(r4) -/* 8038352C 0037F18C B0 04 00 1A */ sth r0, 0x1a(r4) -/* 80383530 0037F190 A1 03 00 08 */ lhz r8, 8(r3) -/* 80383534 0037F194 A0 03 00 0A */ lhz r0, 0xa(r3) -/* 80383538 0037F198 B1 04 00 1C */ sth r8, 0x1c(r4) -/* 8038353C 0037F19C B0 04 00 1E */ sth r0, 0x1e(r4) -/* 80383540 0037F1A0 A1 03 00 0C */ lhz r8, 0xc(r3) -/* 80383544 0037F1A4 A0 03 00 0E */ lhz r0, 0xe(r3) -/* 80383548 0037F1A8 B1 04 00 20 */ sth r8, 0x20(r4) -/* 8038354C 0037F1AC B0 04 00 22 */ sth r0, 0x22(r4) -/* 80383550 0037F1B0 A1 03 00 10 */ lhz r8, 0x10(r3) -/* 80383554 0037F1B4 A0 03 00 12 */ lhz r0, 0x12(r3) -/* 80383558 0037F1B8 B1 04 00 24 */ sth r8, 0x24(r4) -/* 8038355C 0037F1BC B0 04 00 26 */ sth r0, 0x26(r4) -/* 80383560 0037F1C0 A1 03 00 14 */ lhz r8, 0x14(r3) -/* 80383564 0037F1C4 A0 03 00 16 */ lhz r0, 0x16(r3) -/* 80383568 0037F1C8 B1 04 00 28 */ sth r8, 0x28(r4) -/* 8038356C 0037F1CC B0 04 00 2A */ sth r0, 0x2a(r4) -/* 80383570 0037F1D0 A1 03 00 18 */ lhz r8, 0x18(r3) -/* 80383574 0037F1D4 A0 03 00 1A */ lhz r0, 0x1a(r3) -/* 80383578 0037F1D8 B1 04 00 2C */ sth r8, 0x2c(r4) -/* 8038357C 0037F1DC B0 04 00 2E */ sth r0, 0x2e(r4) -/* 80383580 0037F1E0 A1 03 00 1C */ lhz r8, 0x1c(r3) -/* 80383584 0037F1E4 A0 03 00 1E */ lhz r0, 0x1e(r3) -/* 80383588 0037F1E8 B1 04 00 30 */ sth r8, 0x30(r4) -/* 8038358C 0037F1EC B0 04 00 32 */ sth r0, 0x32(r4) -/* 80383590 0037F1F0 A1 03 00 20 */ lhz r8, 0x20(r3) -/* 80383594 0037F1F4 A0 03 00 22 */ lhz r0, 0x22(r3) -/* 80383598 0037F1F8 B1 04 00 34 */ sth r8, 0x34(r4) -/* 8038359C 0037F1FC B0 04 00 36 */ sth r0, 0x36(r4) -/* 803835A0 0037F200 A1 03 00 24 */ lhz r8, 0x24(r3) -/* 803835A4 0037F204 A0 03 00 26 */ lhz r0, 0x26(r3) -/* 803835A8 0037F208 B1 04 00 38 */ sth r8, 0x38(r4) -/* 803835AC 0037F20C B0 04 00 3A */ sth r0, 0x3a(r4) -/* 803835B0 0037F210 A0 03 00 28 */ lhz r0, 0x28(r3) -/* 803835B4 0037F214 B0 04 00 3C */ sth r0, 0x3c(r4) -/* 803835B8 0037F218 A0 03 00 2A */ lhz r0, 0x2a(r3) -/* 803835BC 0037F21C B0 04 00 3E */ sth r0, 0x3e(r4) -/* 803835C0 0037F220 A0 03 00 2C */ lhz r0, 0x2c(r3) -/* 803835C4 0037F224 B0 04 00 40 */ sth r0, 0x40(r4) -/* 803835C8 0037F228 A0 03 00 2E */ lhz r0, 0x2e(r3) -/* 803835CC 0037F22C B0 04 00 42 */ sth r0, 0x42(r4) -lbl_803835D0: -/* 803835D0 0037F230 81 1E 00 00 */ lwz r8, 0(r30) -/* 803835D4 0037F234 38 A5 00 04 */ addi r5, r5, 4 -/* 803835D8 0037F238 80 67 00 00 */ lwz r3, 0(r7) -/* 803835DC 0037F23C 38 C6 00 01 */ addi r6, r6, 1 -/* 803835E0 0037F240 80 08 00 14 */ lwz r0, 0x14(r8) -/* 803835E4 0037F244 7C 00 FA 14 */ add r0, r0, r31 -/* 803835E8 0037F248 7C 03 02 14 */ add r0, r3, r0 -/* 803835EC 0037F24C 90 04 00 00 */ stw r0, 0(r4) -/* 803835F0 0037F250 38 84 00 44 */ addi r4, r4, 0x44 -lbl_803835F4: -/* 803835F4 0037F254 80 7E 00 00 */ lwz r3, 0(r30) -/* 803835F8 0037F258 88 03 00 02 */ lbz r0, 2(r3) -/* 803835FC 0037F25C 7C 06 00 00 */ cmpw r6, r0 -/* 80383600 0037F260 41 80 FE D8 */ blt lbl_803834D8 -/* 80383604 0037F264 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 80383608 0037F268 38 60 00 01 */ li r3, 1 -/* 8038360C 0037F26C 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 80383610 0037F270 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 80383614 0037F274 83 81 00 10 */ lwz r28, 0x10(r1) -/* 80383618 0037F278 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8038361C 0037F27C 7C 08 03 A6 */ mtlr r0 -/* 80383620 0037F280 38 21 00 20 */ addi r1, r1, 0x20 -/* 80383624 0037F284 4E 80 00 20 */ blr - -.global func_80383628 -func_80383628: -/* 80383628 0037F288 28 03 00 01 */ cmplwi r3, 1 -/* 8038362C 0037F28C 40 82 00 0C */ bne lbl_80383638 -/* 80383630 0037F290 38 60 00 0A */ li r3, 0xa -/* 80383634 0037F294 4E 80 00 20 */ blr -lbl_80383638: -/* 80383638 0037F298 2C 03 00 00 */ cmpwi r3, 0 -/* 8038363C 0037F29C 38 60 00 00 */ li r3, 0 -/* 80383640 0037F2A0 4C 82 00 20 */ bnelr -/* 80383644 0037F2A4 38 60 00 19 */ li r3, 0x19 -/* 80383648 0037F2A8 4E 80 00 20 */ blr - .global func_8038364C func_8038364C: /* 8038364C 0037F2AC 94 21 FF F0 */ stwu r1, -0x10(r1) @@ -644,11 +485,11 @@ lbl_80383CE4: /* 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 func_8038340C +/* 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 func_80383414 +/* 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) diff --git a/obj_files.mk b/obj_files.mk index 1a54965..0eaed58 100644 --- a/obj_files.mk +++ b/obj_files.mk @@ -159,6 +159,7 @@ TEXT_O_FILES := \ $(BUILD_DIR)/asm/nw4r/snd/detail/snd_Voice.o \ $(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/text_11.o CTORS_O_FILES := \ |