From 553a42630caf9a476647eedde7723da805ad285c Mon Sep 17 00:00:00 2001 From: Max Date: Fri, 25 Sep 2020 19:54:12 -0400 Subject: split snd_SoundArchiveLoader.s --- asm/nw4r/snd/detail/snd_SoundArchiveLoader.s | 461 ++++++++++++++++++++++++++ asm/text_10_6.s | 466 +-------------------------- obj_files.mk | 1 + 3 files changed, 466 insertions(+), 462 deletions(-) create mode 100644 asm/nw4r/snd/detail/snd_SoundArchiveLoader.s diff --git a/asm/nw4r/snd/detail/snd_SoundArchiveLoader.s b/asm/nw4r/snd/detail/snd_SoundArchiveLoader.s new file mode 100644 index 0000000..b7cd874 --- /dev/null +++ b/asm/nw4r/snd/detail/snd_SoundArchiveLoader.s @@ -0,0 +1,461 @@ +.include "macros.inc" + +.section .text, "ax" # 0x80006980 - 0x803E1E60 + +.global __ct__Q44nw4r3snd6detail18SoundArchiveLoaderFRCQ34nw4r3snd12SoundArchive +__ct__Q44nw4r3snd6detail18SoundArchiveLoaderFRCQ34nw4r3snd12SoundArchive: +/* 80378350 00373FB0 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80378354 00373FB4 7C 08 02 A6 */ mflr r0 +/* 80378358 00373FB8 90 01 00 14 */ stw r0, 0x14(r1) +/* 8037835C 00373FBC 38 00 00 00 */ li r0, 0 +/* 80378360 00373FC0 93 E1 00 0C */ stw r31, 0xc(r1) +/* 80378364 00373FC4 7C 7F 1B 78 */ mr r31, r3 +/* 80378368 00373FC8 90 83 00 18 */ stw r4, 0x18(r3) +/* 8037836C 00373FCC 90 03 02 1C */ stw r0, 0x21c(r3) +/* 80378370 00373FD0 4B EF 75 A1 */ bl func_8026F910 +/* 80378374 00373FD4 7F E3 FB 78 */ mr r3, r31 +/* 80378378 00373FD8 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 8037837C 00373FDC 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80378380 00373FE0 7C 08 03 A6 */ mtlr r0 +/* 80378384 00373FE4 38 21 00 10 */ addi r1, r1, 0x10 +/* 80378388 00373FE8 4E 80 00 20 */ blr + +.global __dt__Q44nw4r3snd6detail18SoundArchiveLoaderFv +__dt__Q44nw4r3snd6detail18SoundArchiveLoaderFv: +/* 8037838C 00373FEC 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80378390 00373FF0 7C 08 02 A6 */ mflr r0 +/* 80378394 00373FF4 2C 03 00 00 */ cmpwi r3, 0 +/* 80378398 00373FF8 90 01 00 14 */ stw r0, 0x14(r1) +/* 8037839C 00373FFC 93 E1 00 0C */ stw r31, 0xc(r1) +/* 803783A0 00374000 7C 7F 1B 78 */ mr r31, r3 +/* 803783A4 00374004 41 82 00 10 */ beq lbl_803783B4 +/* 803783A8 00374008 2C 04 00 00 */ cmpwi r4, 0 +/* 803783AC 0037400C 40 81 00 08 */ ble lbl_803783B4 +/* 803783B0 00374010 4B E6 27 09 */ bl func_801DAAB8 +lbl_803783B4: +/* 803783B4 00374014 7F E3 FB 78 */ mr r3, r31 +/* 803783B8 00374018 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 803783BC 0037401C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 803783C0 00374020 7C 08 03 A6 */ mtlr r0 +/* 803783C4 00374024 38 21 00 10 */ addi r1, r1, 0x10 +/* 803783C8 00374028 4E 80 00 20 */ blr + +.global LoadGroup__Q44nw4r3snd6detail18SoundArchiveLoaderFUlPQ34nw4r3snd22SoundMemoryAllocatablePPvUl +LoadGroup__Q44nw4r3snd6detail18SoundArchiveLoaderFUlPQ34nw4r3snd22SoundMemoryAllocatablePPvUl: +/* 803783CC 0037402C 94 21 FF B0 */ stwu r1, -0x50(r1) +/* 803783D0 00374030 7C 08 02 A6 */ mflr r0 +/* 803783D4 00374034 90 01 00 54 */ stw r0, 0x54(r1) +/* 803783D8 00374038 39 61 00 50 */ addi r11, r1, 0x50 +/* 803783DC 0037403C 4B E4 ED 3D */ bl _savegpr_23 +/* 803783E0 00374040 7C 7F 1B 78 */ mr r31, r3 +/* 803783E4 00374044 7C 9A 23 78 */ mr r26, r4 +/* 803783E8 00374048 7C B9 2B 78 */ mr r25, r5 +/* 803783EC 0037404C 7C D7 33 78 */ mr r23, r6 +/* 803783F0 00374050 7C F8 3B 78 */ mr r24, r7 +/* 803783F4 00374054 4B EF 75 55 */ bl func_8026F948 +/* 803783F8 00374058 80 7F 00 18 */ lwz r3, 0x18(r31) +/* 803783FC 0037405C 7F 44 D3 78 */ mr r4, r26 +/* 80378400 00374060 38 BF 00 1C */ addi r5, r31, 0x1c +/* 80378404 00374064 38 C0 02 00 */ li r6, 0x200 +/* 80378408 00374068 4B FF EE C9 */ bl detail_OpenGroupStream__Q34nw4r3snd12SoundArchiveCFUlPvi +/* 8037840C 0037406C 2C 03 00 00 */ cmpwi r3, 0 +/* 80378410 00374070 7C 7D 1B 78 */ mr r29, r3 +/* 80378414 00374074 40 82 00 28 */ bne lbl_8037843C +/* 80378418 00374078 41 82 00 14 */ beq lbl_8037842C +/* 8037841C 0037407C 81 83 00 00 */ lwz r12, 0(r3) +/* 80378420 00374080 81 8C 00 10 */ lwz r12, 0x10(r12) +/* 80378424 00374084 7D 89 03 A6 */ mtctr r12 +/* 80378428 00374088 4E 80 04 21 */ bctrl +lbl_8037842C: +/* 8037842C 0037408C 7F E3 FB 78 */ mr r3, r31 +/* 80378430 00374090 4B EF 75 F5 */ bl func_8026FA24 +/* 80378434 00374094 38 60 00 00 */ li r3, 0 +/* 80378438 00374098 48 00 05 50 */ b lbl_80378988 +lbl_8037843C: +/* 8037843C 0037409C 81 83 00 00 */ lwz r12, 0(r3) +/* 80378440 003740A0 81 8C 00 50 */ lwz r12, 0x50(r12) +/* 80378444 003740A4 7D 89 03 A6 */ mtctr r12 +/* 80378448 003740A8 4E 80 04 21 */ bctrl +/* 8037844C 003740AC 2C 03 00 00 */ cmpwi r3, 0 +/* 80378450 003740B0 41 82 00 20 */ beq lbl_80378470 +/* 80378454 003740B4 81 9D 00 00 */ lwz r12, 0(r29) +/* 80378458 003740B8 7F A3 EB 78 */ mr r3, r29 +/* 8037845C 003740BC 81 8C 00 2C */ lwz r12, 0x2c(r12) +/* 80378460 003740C0 7D 89 03 A6 */ mtctr r12 +/* 80378464 003740C4 4E 80 04 21 */ bctrl +/* 80378468 003740C8 2C 03 00 00 */ cmpwi r3, 0 +/* 8037846C 003740CC 40 82 00 30 */ bne lbl_8037849C +lbl_80378470: +/* 80378470 003740D0 2C 1D 00 00 */ cmpwi r29, 0 +/* 80378474 003740D4 41 82 00 18 */ beq lbl_8037848C +/* 80378478 003740D8 81 9D 00 00 */ lwz r12, 0(r29) +/* 8037847C 003740DC 7F A3 EB 78 */ mr r3, r29 +/* 80378480 003740E0 81 8C 00 10 */ lwz r12, 0x10(r12) +/* 80378484 003740E4 7D 89 03 A6 */ mtctr r12 +/* 80378488 003740E8 4E 80 04 21 */ bctrl +lbl_8037848C: +/* 8037848C 003740EC 7F E3 FB 78 */ mr r3, r31 +/* 80378490 003740F0 4B EF 75 95 */ bl func_8026FA24 +/* 80378494 003740F4 38 60 00 00 */ li r3, 0 +/* 80378498 003740F8 48 00 04 F0 */ b lbl_80378988 +lbl_8037849C: +/* 8037849C 003740FC 81 9D 00 00 */ lwz r12, 0(r29) +/* 803784A0 00374100 7F A3 EB 78 */ mr r3, r29 +/* 803784A4 00374104 81 8C 00 40 */ lwz r12, 0x40(r12) +/* 803784A8 00374108 7D 89 03 A6 */ mtctr r12 +/* 803784AC 0037410C 4E 80 04 21 */ bctrl +/* 803784B0 00374110 81 99 00 00 */ lwz r12, 0(r25) +/* 803784B4 00374114 7C 64 1B 78 */ mr r4, r3 +/* 803784B8 00374118 7F 23 CB 78 */ mr r3, r25 +/* 803784BC 0037411C 81 8C 00 0C */ lwz r12, 0xc(r12) +/* 803784C0 00374120 7D 89 03 A6 */ mtctr r12 +/* 803784C4 00374124 4E 80 04 21 */ bctrl +/* 803784C8 00374128 2C 03 00 00 */ cmpwi r3, 0 +/* 803784CC 0037412C 7C 7B 1B 78 */ mr r27, r3 +/* 803784D0 00374130 40 82 00 30 */ bne lbl_80378500 +/* 803784D4 00374134 2C 1D 00 00 */ cmpwi r29, 0 +/* 803784D8 00374138 41 82 00 18 */ beq lbl_803784F0 +/* 803784DC 0037413C 81 9D 00 00 */ lwz r12, 0(r29) +/* 803784E0 00374140 7F A3 EB 78 */ mr r3, r29 +/* 803784E4 00374144 81 8C 00 10 */ lwz r12, 0x10(r12) +/* 803784E8 00374148 7D 89 03 A6 */ mtctr r12 +/* 803784EC 0037414C 4E 80 04 21 */ bctrl +lbl_803784F0: +/* 803784F0 00374150 7F E3 FB 78 */ mr r3, r31 +/* 803784F4 00374154 4B EF 75 31 */ bl func_8026FA24 +/* 803784F8 00374158 38 60 00 00 */ li r3, 0 +/* 803784FC 0037415C 48 00 04 8C */ b lbl_80378988 +lbl_80378500: +/* 80378500 00374160 2C 18 00 00 */ cmpwi r24, 0 +/* 80378504 00374164 93 BF 02 1C */ stw r29, 0x21c(r31) +/* 80378508 00374168 40 82 00 70 */ bne lbl_80378578 +/* 8037850C 0037416C 81 9D 00 00 */ lwz r12, 0(r29) +/* 80378510 00374170 7F A3 EB 78 */ mr r3, r29 +/* 80378514 00374174 81 8C 00 40 */ lwz r12, 0x40(r12) +/* 80378518 00374178 7D 89 03 A6 */ mtctr r12 +/* 8037851C 0037417C 4E 80 04 21 */ bctrl +/* 80378520 00374180 81 9D 00 00 */ lwz r12, 0(r29) +/* 80378524 00374184 7C 65 1B 78 */ mr r5, r3 +/* 80378528 00374188 7F A3 EB 78 */ mr r3, r29 +/* 8037852C 0037418C 7F 64 DB 78 */ mr r4, r27 +/* 80378530 00374190 81 8C 00 14 */ lwz r12, 0x14(r12) +/* 80378534 00374194 7D 89 03 A6 */ mtctr r12 +/* 80378538 00374198 4E 80 04 21 */ bctrl +/* 8037853C 0037419C 2C 03 00 00 */ cmpwi r3, 0 +/* 80378540 003741A0 40 80 00 DC */ bge lbl_8037861C +/* 80378544 003741A4 38 00 00 00 */ li r0, 0 +/* 80378548 003741A8 2C 1D 00 00 */ cmpwi r29, 0 +/* 8037854C 003741AC 90 1F 02 1C */ stw r0, 0x21c(r31) +/* 80378550 003741B0 41 82 00 18 */ beq lbl_80378568 +/* 80378554 003741B4 81 9D 00 00 */ lwz r12, 0(r29) +/* 80378558 003741B8 7F A3 EB 78 */ mr r3, r29 +/* 8037855C 003741BC 81 8C 00 10 */ lwz r12, 0x10(r12) +/* 80378560 003741C0 7D 89 03 A6 */ mtctr r12 +/* 80378564 003741C4 4E 80 04 21 */ bctrl +lbl_80378568: +/* 80378568 003741C8 7F E3 FB 78 */ mr r3, r31 +/* 8037856C 003741CC 4B EF 74 B9 */ bl func_8026FA24 +/* 80378570 003741D0 38 60 00 00 */ li r3, 0 +/* 80378574 003741D4 48 00 04 14 */ b lbl_80378988 +lbl_80378578: +/* 80378578 003741D8 81 9D 00 00 */ lwz r12, 0(r29) +/* 8037857C 003741DC 7F A3 EB 78 */ mr r3, r29 +/* 80378580 003741E0 7F 7C DB 78 */ mr r28, r27 +/* 80378584 003741E4 81 8C 00 40 */ lwz r12, 0x40(r12) +/* 80378588 003741E8 7D 89 03 A6 */ mtctr r12 +/* 8037858C 003741EC 4E 80 04 21 */ bctrl +/* 80378590 003741F0 7C 7E 1B 78 */ mr r30, r3 +/* 80378594 003741F4 48 00 00 80 */ b lbl_80378614 +lbl_80378598: +/* 80378598 003741F8 7C 18 F0 40 */ cmplw r24, r30 +/* 8037859C 003741FC 7F A3 EB 78 */ mr r3, r29 +/* 803785A0 00374200 7F 84 E3 78 */ mr r4, r28 +/* 803785A4 00374204 7F 05 C3 78 */ mr r5, r24 +/* 803785A8 00374208 40 81 00 08 */ ble lbl_803785B0 +/* 803785AC 0037420C 7F C5 F3 78 */ mr r5, r30 +lbl_803785B0: +/* 803785B0 00374210 81 83 00 00 */ lwz r12, 0(r3) +/* 803785B4 00374214 81 8C 00 14 */ lwz r12, 0x14(r12) +/* 803785B8 00374218 7D 89 03 A6 */ mtctr r12 +/* 803785BC 0037421C 4E 80 04 21 */ bctrl +/* 803785C0 00374220 2C 03 00 00 */ cmpwi r3, 0 +/* 803785C4 00374224 40 80 00 38 */ bge lbl_803785FC +/* 803785C8 00374228 38 00 00 00 */ li r0, 0 +/* 803785CC 0037422C 2C 1D 00 00 */ cmpwi r29, 0 +/* 803785D0 00374230 90 1F 02 1C */ stw r0, 0x21c(r31) +/* 803785D4 00374234 41 82 00 18 */ beq lbl_803785EC +/* 803785D8 00374238 81 9D 00 00 */ lwz r12, 0(r29) +/* 803785DC 0037423C 7F A3 EB 78 */ mr r3, r29 +/* 803785E0 00374240 81 8C 00 10 */ lwz r12, 0x10(r12) +/* 803785E4 00374244 7D 89 03 A6 */ mtctr r12 +/* 803785E8 00374248 4E 80 04 21 */ bctrl +lbl_803785EC: +/* 803785EC 0037424C 7F E3 FB 78 */ mr r3, r31 +/* 803785F0 00374250 4B EF 74 35 */ bl func_8026FA24 +/* 803785F4 00374254 38 60 00 00 */ li r3, 0 +/* 803785F8 00374258 48 00 03 90 */ b lbl_80378988 +lbl_803785FC: +/* 803785FC 0037425C 7C 1E 18 40 */ cmplw r30, r3 +/* 80378600 00374260 40 81 00 10 */ ble lbl_80378610 +/* 80378604 00374264 7F C3 F0 50 */ subf r30, r3, r30 +/* 80378608 00374268 7F 9C 1A 14 */ add r28, r28, r3 +/* 8037860C 0037426C 48 00 00 08 */ b lbl_80378614 +lbl_80378610: +/* 80378610 00374270 3B C0 00 00 */ li r30, 0 +lbl_80378614: +/* 80378614 00374274 2C 1E 00 00 */ cmpwi r30, 0 +/* 80378618 00374278 40 82 FF 80 */ bne lbl_80378598 +lbl_8037861C: +/* 8037861C 0037427C 3B C0 00 00 */ li r30, 0 +/* 80378620 00374280 80 7F 00 18 */ lwz r3, 0x18(r31) +/* 80378624 00374284 93 DF 02 1C */ stw r30, 0x21c(r31) +/* 80378628 00374288 7F 44 D3 78 */ mr r4, r26 +/* 8037862C 0037428C 38 A1 00 08 */ addi r5, r1, 8 +/* 80378630 00374290 4B FF EA 5D */ bl func_8037708C +/* 80378634 00374294 2C 03 00 00 */ cmpwi r3, 0 +/* 80378638 00374298 40 82 00 30 */ bne lbl_80378668 +/* 8037863C 0037429C 2C 1D 00 00 */ cmpwi r29, 0 +/* 80378640 003742A0 41 82 00 18 */ beq lbl_80378658 +/* 80378644 003742A4 81 9D 00 00 */ lwz r12, 0(r29) +/* 80378648 003742A8 7F A3 EB 78 */ mr r3, r29 +/* 8037864C 003742AC 81 8C 00 10 */ lwz r12, 0x10(r12) +/* 80378650 003742B0 7D 89 03 A6 */ mtctr r12 +/* 80378654 003742B4 4E 80 04 21 */ bctrl +lbl_80378658: +/* 80378658 003742B8 7F E3 FB 78 */ mr r3, r31 +/* 8037865C 003742BC 4B EF 73 C9 */ bl func_8026FA24 +/* 80378660 003742C0 38 60 00 00 */ li r3, 0 +/* 80378664 003742C4 48 00 03 24 */ b lbl_80378988 +lbl_80378668: +/* 80378668 003742C8 80 01 00 1C */ lwz r0, 0x1c(r1) +/* 8037866C 003742CC 2C 00 00 00 */ cmpwi r0, 0 +/* 80378670 003742D0 41 82 02 E4 */ beq lbl_80378954 +/* 80378674 003742D4 80 7F 00 18 */ lwz r3, 0x18(r31) +/* 80378678 003742D8 7F 44 D3 78 */ mr r4, r26 +/* 8037867C 003742DC 38 BF 00 1C */ addi r5, r31, 0x1c +/* 80378680 003742E0 38 C0 02 00 */ li r6, 0x200 +/* 80378684 003742E4 4B FF ED 65 */ bl detail_OpenGroupWaveDataStream__Q34nw4r3snd12SoundArchiveCFUlPvi +/* 80378688 003742E8 2C 03 00 00 */ cmpwi r3, 0 +/* 8037868C 003742EC 7C 7C 1B 78 */ mr r28, r3 +/* 80378690 003742F0 40 82 00 44 */ bne lbl_803786D4 +/* 80378694 003742F4 41 82 00 14 */ beq lbl_803786A8 +/* 80378698 003742F8 81 83 00 00 */ lwz r12, 0(r3) +/* 8037869C 003742FC 81 8C 00 10 */ lwz r12, 0x10(r12) +/* 803786A0 00374300 7D 89 03 A6 */ mtctr r12 +/* 803786A4 00374304 4E 80 04 21 */ bctrl +lbl_803786A8: +/* 803786A8 00374308 2C 1D 00 00 */ cmpwi r29, 0 +/* 803786AC 0037430C 41 82 00 18 */ beq lbl_803786C4 +/* 803786B0 00374310 81 9D 00 00 */ lwz r12, 0(r29) +/* 803786B4 00374314 7F A3 EB 78 */ mr r3, r29 +/* 803786B8 00374318 81 8C 00 10 */ lwz r12, 0x10(r12) +/* 803786BC 0037431C 7D 89 03 A6 */ mtctr r12 +/* 803786C0 00374320 4E 80 04 21 */ bctrl +lbl_803786C4: +/* 803786C4 00374324 7F E3 FB 78 */ mr r3, r31 +/* 803786C8 00374328 4B EF 73 5D */ bl func_8026FA24 +/* 803786CC 0037432C 38 60 00 00 */ li r3, 0 +/* 803786D0 00374330 48 00 02 B8 */ b lbl_80378988 +lbl_803786D4: +/* 803786D4 00374334 81 83 00 00 */ lwz r12, 0(r3) +/* 803786D8 00374338 81 8C 00 50 */ lwz r12, 0x50(r12) +/* 803786DC 0037433C 7D 89 03 A6 */ mtctr r12 +/* 803786E0 00374340 4E 80 04 21 */ bctrl +/* 803786E4 00374344 2C 03 00 00 */ cmpwi r3, 0 +/* 803786E8 00374348 41 82 00 20 */ beq lbl_80378708 +/* 803786EC 0037434C 81 9C 00 00 */ lwz r12, 0(r28) +/* 803786F0 00374350 7F 83 E3 78 */ mr r3, r28 +/* 803786F4 00374354 81 8C 00 2C */ lwz r12, 0x2c(r12) +/* 803786F8 00374358 7D 89 03 A6 */ mtctr r12 +/* 803786FC 0037435C 4E 80 04 21 */ bctrl +/* 80378700 00374360 2C 03 00 00 */ cmpwi r3, 0 +/* 80378704 00374364 40 82 00 4C */ bne lbl_80378750 +lbl_80378708: +/* 80378708 00374368 2C 1C 00 00 */ cmpwi r28, 0 +/* 8037870C 0037436C 41 82 00 18 */ beq lbl_80378724 +/* 80378710 00374370 81 9C 00 00 */ lwz r12, 0(r28) +/* 80378714 00374374 7F 83 E3 78 */ mr r3, r28 +/* 80378718 00374378 81 8C 00 10 */ lwz r12, 0x10(r12) +/* 8037871C 0037437C 7D 89 03 A6 */ mtctr r12 +/* 80378720 00374380 4E 80 04 21 */ bctrl +lbl_80378724: +/* 80378724 00374384 2C 1D 00 00 */ cmpwi r29, 0 +/* 80378728 00374388 41 82 00 18 */ beq lbl_80378740 +/* 8037872C 0037438C 81 9D 00 00 */ lwz r12, 0(r29) +/* 80378730 00374390 7F A3 EB 78 */ mr r3, r29 +/* 80378734 00374394 81 8C 00 10 */ lwz r12, 0x10(r12) +/* 80378738 00374398 7D 89 03 A6 */ mtctr r12 +/* 8037873C 0037439C 4E 80 04 21 */ bctrl +lbl_80378740: +/* 80378740 003743A0 7F E3 FB 78 */ mr r3, r31 +/* 80378744 003743A4 4B EF 72 E1 */ bl func_8026FA24 +/* 80378748 003743A8 38 60 00 00 */ li r3, 0 +/* 8037874C 003743AC 48 00 02 3C */ b lbl_80378988 +lbl_80378750: +/* 80378750 003743B0 81 9C 00 00 */ lwz r12, 0(r28) +/* 80378754 003743B4 7F 83 E3 78 */ mr r3, r28 +/* 80378758 003743B8 81 8C 00 40 */ lwz r12, 0x40(r12) +/* 8037875C 003743BC 7D 89 03 A6 */ mtctr r12 +/* 80378760 003743C0 4E 80 04 21 */ bctrl +/* 80378764 003743C4 81 99 00 00 */ lwz r12, 0(r25) +/* 80378768 003743C8 7C 64 1B 78 */ mr r4, r3 +/* 8037876C 003743CC 7F 23 CB 78 */ mr r3, r25 +/* 80378770 003743D0 81 8C 00 0C */ lwz r12, 0xc(r12) +/* 80378774 003743D4 7D 89 03 A6 */ mtctr r12 +/* 80378778 003743D8 4E 80 04 21 */ bctrl +/* 8037877C 003743DC 2C 03 00 00 */ cmpwi r3, 0 +/* 80378780 003743E0 7C 7A 1B 78 */ mr r26, r3 +/* 80378784 003743E4 40 82 00 4C */ bne lbl_803787D0 +/* 80378788 003743E8 2C 1C 00 00 */ cmpwi r28, 0 +/* 8037878C 003743EC 41 82 00 18 */ beq lbl_803787A4 +/* 80378790 003743F0 81 9C 00 00 */ lwz r12, 0(r28) +/* 80378794 003743F4 7F 83 E3 78 */ mr r3, r28 +/* 80378798 003743F8 81 8C 00 10 */ lwz r12, 0x10(r12) +/* 8037879C 003743FC 7D 89 03 A6 */ mtctr r12 +/* 803787A0 00374400 4E 80 04 21 */ bctrl +lbl_803787A4: +/* 803787A4 00374404 2C 1D 00 00 */ cmpwi r29, 0 +/* 803787A8 00374408 41 82 00 18 */ beq lbl_803787C0 +/* 803787AC 0037440C 81 9D 00 00 */ lwz r12, 0(r29) +/* 803787B0 00374410 7F A3 EB 78 */ mr r3, r29 +/* 803787B4 00374414 81 8C 00 10 */ lwz r12, 0x10(r12) +/* 803787B8 00374418 7D 89 03 A6 */ mtctr r12 +/* 803787BC 0037441C 4E 80 04 21 */ bctrl +lbl_803787C0: +/* 803787C0 00374420 7F E3 FB 78 */ mr r3, r31 +/* 803787C4 00374424 4B EF 72 61 */ bl func_8026FA24 +/* 803787C8 00374428 38 60 00 00 */ li r3, 0 +/* 803787CC 0037442C 48 00 01 BC */ b lbl_80378988 +lbl_803787D0: +/* 803787D0 00374430 2C 18 00 00 */ cmpwi r24, 0 +/* 803787D4 00374434 93 9F 02 1C */ stw r28, 0x21c(r31) +/* 803787D8 00374438 40 82 00 88 */ bne lbl_80378860 +/* 803787DC 0037443C 81 9C 00 00 */ lwz r12, 0(r28) +/* 803787E0 00374440 7F 83 E3 78 */ mr r3, r28 +/* 803787E4 00374444 81 8C 00 40 */ lwz r12, 0x40(r12) +/* 803787E8 00374448 7D 89 03 A6 */ mtctr r12 +/* 803787EC 0037444C 4E 80 04 21 */ bctrl +/* 803787F0 00374450 81 9C 00 00 */ lwz r12, 0(r28) +/* 803787F4 00374454 7C 65 1B 78 */ mr r5, r3 +/* 803787F8 00374458 7F 83 E3 78 */ mr r3, r28 +/* 803787FC 0037445C 7F 44 D3 78 */ mr r4, r26 +/* 80378800 00374460 81 8C 00 14 */ lwz r12, 0x14(r12) +/* 80378804 00374464 7D 89 03 A6 */ mtctr r12 +/* 80378808 00374468 4E 80 04 21 */ bctrl +/* 8037880C 0037446C 2C 03 00 00 */ cmpwi r3, 0 +/* 80378810 00374470 40 80 01 10 */ bge lbl_80378920 +/* 80378814 00374474 2C 1C 00 00 */ cmpwi r28, 0 +/* 80378818 00374478 93 DF 02 1C */ stw r30, 0x21c(r31) +/* 8037881C 0037447C 41 82 00 18 */ beq lbl_80378834 +/* 80378820 00374480 81 9C 00 00 */ lwz r12, 0(r28) +/* 80378824 00374484 7F 83 E3 78 */ mr r3, r28 +/* 80378828 00374488 81 8C 00 10 */ lwz r12, 0x10(r12) +/* 8037882C 0037448C 7D 89 03 A6 */ mtctr r12 +/* 80378830 00374490 4E 80 04 21 */ bctrl +lbl_80378834: +/* 80378834 00374494 2C 1D 00 00 */ cmpwi r29, 0 +/* 80378838 00374498 41 82 00 18 */ beq lbl_80378850 +/* 8037883C 0037449C 81 9D 00 00 */ lwz r12, 0(r29) +/* 80378840 003744A0 7F A3 EB 78 */ mr r3, r29 +/* 80378844 003744A4 81 8C 00 10 */ lwz r12, 0x10(r12) +/* 80378848 003744A8 7D 89 03 A6 */ mtctr r12 +/* 8037884C 003744AC 4E 80 04 21 */ bctrl +lbl_80378850: +/* 80378850 003744B0 7F E3 FB 78 */ mr r3, r31 +/* 80378854 003744B4 4B EF 71 D1 */ bl func_8026FA24 +/* 80378858 003744B8 38 60 00 00 */ li r3, 0 +/* 8037885C 003744BC 48 00 01 2C */ b lbl_80378988 +lbl_80378860: +/* 80378860 003744C0 81 9C 00 00 */ lwz r12, 0(r28) +/* 80378864 003744C4 7F 83 E3 78 */ mr r3, r28 +/* 80378868 003744C8 7F 5E D3 78 */ mr r30, r26 +/* 8037886C 003744CC 81 8C 00 40 */ lwz r12, 0x40(r12) +/* 80378870 003744D0 7D 89 03 A6 */ mtctr r12 +/* 80378874 003744D4 4E 80 04 21 */ bctrl +/* 80378878 003744D8 7C 79 1B 78 */ mr r25, r3 +/* 8037887C 003744DC 48 00 00 9C */ b lbl_80378918 +lbl_80378880: +/* 80378880 003744E0 7C 18 C8 40 */ cmplw r24, r25 +/* 80378884 003744E4 7F 83 E3 78 */ mr r3, r28 +/* 80378888 003744E8 7F C4 F3 78 */ mr r4, r30 +/* 8037888C 003744EC 7F 05 C3 78 */ mr r5, r24 +/* 80378890 003744F0 40 81 00 08 */ ble lbl_80378898 +/* 80378894 003744F4 7F 25 CB 78 */ mr r5, r25 +lbl_80378898: +/* 80378898 003744F8 81 83 00 00 */ lwz r12, 0(r3) +/* 8037889C 003744FC 81 8C 00 14 */ lwz r12, 0x14(r12) +/* 803788A0 00374500 7D 89 03 A6 */ mtctr r12 +/* 803788A4 00374504 4E 80 04 21 */ bctrl +/* 803788A8 00374508 2C 03 00 00 */ cmpwi r3, 0 +/* 803788AC 0037450C 40 80 00 54 */ bge lbl_80378900 +/* 803788B0 00374510 38 00 00 00 */ li r0, 0 +/* 803788B4 00374514 2C 1C 00 00 */ cmpwi r28, 0 +/* 803788B8 00374518 90 1F 02 1C */ stw r0, 0x21c(r31) +/* 803788BC 0037451C 41 82 00 18 */ beq lbl_803788D4 +/* 803788C0 00374520 81 9C 00 00 */ lwz r12, 0(r28) +/* 803788C4 00374524 7F 83 E3 78 */ mr r3, r28 +/* 803788C8 00374528 81 8C 00 10 */ lwz r12, 0x10(r12) +/* 803788CC 0037452C 7D 89 03 A6 */ mtctr r12 +/* 803788D0 00374530 4E 80 04 21 */ bctrl +lbl_803788D4: +/* 803788D4 00374534 2C 1D 00 00 */ cmpwi r29, 0 +/* 803788D8 00374538 41 82 00 18 */ beq lbl_803788F0 +/* 803788DC 0037453C 81 9D 00 00 */ lwz r12, 0(r29) +/* 803788E0 00374540 7F A3 EB 78 */ mr r3, r29 +/* 803788E4 00374544 81 8C 00 10 */ lwz r12, 0x10(r12) +/* 803788E8 00374548 7D 89 03 A6 */ mtctr r12 +/* 803788EC 0037454C 4E 80 04 21 */ bctrl +lbl_803788F0: +/* 803788F0 00374550 7F E3 FB 78 */ mr r3, r31 +/* 803788F4 00374554 4B EF 71 31 */ bl func_8026FA24 +/* 803788F8 00374558 38 60 00 00 */ li r3, 0 +/* 803788FC 0037455C 48 00 00 8C */ b lbl_80378988 +lbl_80378900: +/* 80378900 00374560 7C 19 18 40 */ cmplw r25, r3 +/* 80378904 00374564 40 81 00 10 */ ble lbl_80378914 +/* 80378908 00374568 7F 23 C8 50 */ subf r25, r3, r25 +/* 8037890C 0037456C 7F DE 1A 14 */ add r30, r30, r3 +/* 80378910 00374570 48 00 00 08 */ b lbl_80378918 +lbl_80378914: +/* 80378914 00374574 3B 20 00 00 */ li r25, 0 +lbl_80378918: +/* 80378918 00374578 2C 19 00 00 */ cmpwi r25, 0 +/* 8037891C 0037457C 40 82 FF 64 */ bne lbl_80378880 +lbl_80378920: +/* 80378920 00374580 38 00 00 00 */ li r0, 0 +/* 80378924 00374584 2C 17 00 00 */ cmpwi r23, 0 +/* 80378928 00374588 90 1F 02 1C */ stw r0, 0x21c(r31) +/* 8037892C 0037458C 41 82 00 08 */ beq lbl_80378934 +/* 80378930 00374590 93 57 00 00 */ stw r26, 0(r23) +lbl_80378934: +/* 80378934 00374594 2C 1C 00 00 */ cmpwi r28, 0 +/* 80378938 00374598 41 82 00 28 */ beq lbl_80378960 +/* 8037893C 0037459C 81 9C 00 00 */ lwz r12, 0(r28) +/* 80378940 003745A0 7F 83 E3 78 */ mr r3, r28 +/* 80378944 003745A4 81 8C 00 10 */ lwz r12, 0x10(r12) +/* 80378948 003745A8 7D 89 03 A6 */ mtctr r12 +/* 8037894C 003745AC 4E 80 04 21 */ bctrl +/* 80378950 003745B0 48 00 00 10 */ b lbl_80378960 +lbl_80378954: +/* 80378954 003745B4 2C 17 00 00 */ cmpwi r23, 0 +/* 80378958 003745B8 41 82 00 08 */ beq lbl_80378960 +/* 8037895C 003745BC 93 D7 00 00 */ stw r30, 0(r23) +lbl_80378960: +/* 80378960 003745C0 2C 1D 00 00 */ cmpwi r29, 0 +/* 80378964 003745C4 41 82 00 18 */ beq lbl_8037897C +/* 80378968 003745C8 81 9D 00 00 */ lwz r12, 0(r29) +/* 8037896C 003745CC 7F A3 EB 78 */ mr r3, r29 +/* 80378970 003745D0 81 8C 00 10 */ lwz r12, 0x10(r12) +/* 80378974 003745D4 7D 89 03 A6 */ mtctr r12 +/* 80378978 003745D8 4E 80 04 21 */ bctrl +lbl_8037897C: +/* 8037897C 003745DC 7F E3 FB 78 */ mr r3, r31 +/* 80378980 003745E0 4B EF 70 A5 */ bl func_8026FA24 +/* 80378984 003745E4 7F 63 DB 78 */ mr r3, r27 +lbl_80378988: +/* 80378988 003745E8 39 61 00 50 */ addi r11, r1, 0x50 +/* 8037898C 003745EC 4B E4 E7 D9 */ bl _restgpr_23 +/* 80378990 003745F0 80 01 00 54 */ lwz r0, 0x54(r1) +/* 80378994 003745F4 7C 08 03 A6 */ mtlr r0 +/* 80378998 003745F8 38 21 00 50 */ addi r1, r1, 0x50 +/* 8037899C 003745FC 4E 80 00 20 */ blr diff --git a/asm/text_10_6.s b/asm/text_10_6.s index ff5a52e..0de8c0b 100644 --- a/asm/text_10_6.s +++ b/asm/text_10_6.s @@ -2,464 +2,6 @@ .section .text, "ax" # 0x80006980 - 0x803E1E60 -.global func_80378350 -func_80378350: -/* 80378350 00373FB0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80378354 00373FB4 7C 08 02 A6 */ mflr r0 -/* 80378358 00373FB8 90 01 00 14 */ stw r0, 0x14(r1) -/* 8037835C 00373FBC 38 00 00 00 */ li r0, 0 -/* 80378360 00373FC0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80378364 00373FC4 7C 7F 1B 78 */ mr r31, r3 -/* 80378368 00373FC8 90 83 00 18 */ stw r4, 0x18(r3) -/* 8037836C 00373FCC 90 03 02 1C */ stw r0, 0x21c(r3) -/* 80378370 00373FD0 4B EF 75 A1 */ bl func_8026F910 -/* 80378374 00373FD4 7F E3 FB 78 */ mr r3, r31 -/* 80378378 00373FD8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8037837C 00373FDC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80378380 00373FE0 7C 08 03 A6 */ mtlr r0 -/* 80378384 00373FE4 38 21 00 10 */ addi r1, r1, 0x10 -/* 80378388 00373FE8 4E 80 00 20 */ blr - -.global func_8037838C -func_8037838C: -/* 8037838C 00373FEC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80378390 00373FF0 7C 08 02 A6 */ mflr r0 -/* 80378394 00373FF4 2C 03 00 00 */ cmpwi r3, 0 -/* 80378398 00373FF8 90 01 00 14 */ stw r0, 0x14(r1) -/* 8037839C 00373FFC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 803783A0 00374000 7C 7F 1B 78 */ mr r31, r3 -/* 803783A4 00374004 41 82 00 10 */ beq lbl_803783B4 -/* 803783A8 00374008 2C 04 00 00 */ cmpwi r4, 0 -/* 803783AC 0037400C 40 81 00 08 */ ble lbl_803783B4 -/* 803783B0 00374010 4B E6 27 09 */ bl func_801DAAB8 -lbl_803783B4: -/* 803783B4 00374014 7F E3 FB 78 */ mr r3, r31 -/* 803783B8 00374018 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 803783BC 0037401C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 803783C0 00374020 7C 08 03 A6 */ mtlr r0 -/* 803783C4 00374024 38 21 00 10 */ addi r1, r1, 0x10 -/* 803783C8 00374028 4E 80 00 20 */ blr - -.global func_803783CC -func_803783CC: -/* 803783CC 0037402C 94 21 FF B0 */ stwu r1, -0x50(r1) -/* 803783D0 00374030 7C 08 02 A6 */ mflr r0 -/* 803783D4 00374034 90 01 00 54 */ stw r0, 0x54(r1) -/* 803783D8 00374038 39 61 00 50 */ addi r11, r1, 0x50 -/* 803783DC 0037403C 4B E4 ED 3D */ bl _savegpr_23 -/* 803783E0 00374040 7C 7F 1B 78 */ mr r31, r3 -/* 803783E4 00374044 7C 9A 23 78 */ mr r26, r4 -/* 803783E8 00374048 7C B9 2B 78 */ mr r25, r5 -/* 803783EC 0037404C 7C D7 33 78 */ mr r23, r6 -/* 803783F0 00374050 7C F8 3B 78 */ mr r24, r7 -/* 803783F4 00374054 4B EF 75 55 */ bl func_8026F948 -/* 803783F8 00374058 80 7F 00 18 */ lwz r3, 0x18(r31) -/* 803783FC 0037405C 7F 44 D3 78 */ mr r4, r26 -/* 80378400 00374060 38 BF 00 1C */ addi r5, r31, 0x1c -/* 80378404 00374064 38 C0 02 00 */ li r6, 0x200 -/* 80378408 00374068 4B FF EE C9 */ bl detail_OpenGroupStream__Q34nw4r3snd12SoundArchiveCFUlPvi -/* 8037840C 0037406C 2C 03 00 00 */ cmpwi r3, 0 -/* 80378410 00374070 7C 7D 1B 78 */ mr r29, r3 -/* 80378414 00374074 40 82 00 28 */ bne lbl_8037843C -/* 80378418 00374078 41 82 00 14 */ beq lbl_8037842C -/* 8037841C 0037407C 81 83 00 00 */ lwz r12, 0(r3) -/* 80378420 00374080 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 80378424 00374084 7D 89 03 A6 */ mtctr r12 -/* 80378428 00374088 4E 80 04 21 */ bctrl -lbl_8037842C: -/* 8037842C 0037408C 7F E3 FB 78 */ mr r3, r31 -/* 80378430 00374090 4B EF 75 F5 */ bl func_8026FA24 -/* 80378434 00374094 38 60 00 00 */ li r3, 0 -/* 80378438 00374098 48 00 05 50 */ b lbl_80378988 -lbl_8037843C: -/* 8037843C 0037409C 81 83 00 00 */ lwz r12, 0(r3) -/* 80378440 003740A0 81 8C 00 50 */ lwz r12, 0x50(r12) -/* 80378444 003740A4 7D 89 03 A6 */ mtctr r12 -/* 80378448 003740A8 4E 80 04 21 */ bctrl -/* 8037844C 003740AC 2C 03 00 00 */ cmpwi r3, 0 -/* 80378450 003740B0 41 82 00 20 */ beq lbl_80378470 -/* 80378454 003740B4 81 9D 00 00 */ lwz r12, 0(r29) -/* 80378458 003740B8 7F A3 EB 78 */ mr r3, r29 -/* 8037845C 003740BC 81 8C 00 2C */ lwz r12, 0x2c(r12) -/* 80378460 003740C0 7D 89 03 A6 */ mtctr r12 -/* 80378464 003740C4 4E 80 04 21 */ bctrl -/* 80378468 003740C8 2C 03 00 00 */ cmpwi r3, 0 -/* 8037846C 003740CC 40 82 00 30 */ bne lbl_8037849C -lbl_80378470: -/* 80378470 003740D0 2C 1D 00 00 */ cmpwi r29, 0 -/* 80378474 003740D4 41 82 00 18 */ beq lbl_8037848C -/* 80378478 003740D8 81 9D 00 00 */ lwz r12, 0(r29) -/* 8037847C 003740DC 7F A3 EB 78 */ mr r3, r29 -/* 80378480 003740E0 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 80378484 003740E4 7D 89 03 A6 */ mtctr r12 -/* 80378488 003740E8 4E 80 04 21 */ bctrl -lbl_8037848C: -/* 8037848C 003740EC 7F E3 FB 78 */ mr r3, r31 -/* 80378490 003740F0 4B EF 75 95 */ bl func_8026FA24 -/* 80378494 003740F4 38 60 00 00 */ li r3, 0 -/* 80378498 003740F8 48 00 04 F0 */ b lbl_80378988 -lbl_8037849C: -/* 8037849C 003740FC 81 9D 00 00 */ lwz r12, 0(r29) -/* 803784A0 00374100 7F A3 EB 78 */ mr r3, r29 -/* 803784A4 00374104 81 8C 00 40 */ lwz r12, 0x40(r12) -/* 803784A8 00374108 7D 89 03 A6 */ mtctr r12 -/* 803784AC 0037410C 4E 80 04 21 */ bctrl -/* 803784B0 00374110 81 99 00 00 */ lwz r12, 0(r25) -/* 803784B4 00374114 7C 64 1B 78 */ mr r4, r3 -/* 803784B8 00374118 7F 23 CB 78 */ mr r3, r25 -/* 803784BC 0037411C 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 803784C0 00374120 7D 89 03 A6 */ mtctr r12 -/* 803784C4 00374124 4E 80 04 21 */ bctrl -/* 803784C8 00374128 2C 03 00 00 */ cmpwi r3, 0 -/* 803784CC 0037412C 7C 7B 1B 78 */ mr r27, r3 -/* 803784D0 00374130 40 82 00 30 */ bne lbl_80378500 -/* 803784D4 00374134 2C 1D 00 00 */ cmpwi r29, 0 -/* 803784D8 00374138 41 82 00 18 */ beq lbl_803784F0 -/* 803784DC 0037413C 81 9D 00 00 */ lwz r12, 0(r29) -/* 803784E0 00374140 7F A3 EB 78 */ mr r3, r29 -/* 803784E4 00374144 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 803784E8 00374148 7D 89 03 A6 */ mtctr r12 -/* 803784EC 0037414C 4E 80 04 21 */ bctrl -lbl_803784F0: -/* 803784F0 00374150 7F E3 FB 78 */ mr r3, r31 -/* 803784F4 00374154 4B EF 75 31 */ bl func_8026FA24 -/* 803784F8 00374158 38 60 00 00 */ li r3, 0 -/* 803784FC 0037415C 48 00 04 8C */ b lbl_80378988 -lbl_80378500: -/* 80378500 00374160 2C 18 00 00 */ cmpwi r24, 0 -/* 80378504 00374164 93 BF 02 1C */ stw r29, 0x21c(r31) -/* 80378508 00374168 40 82 00 70 */ bne lbl_80378578 -/* 8037850C 0037416C 81 9D 00 00 */ lwz r12, 0(r29) -/* 80378510 00374170 7F A3 EB 78 */ mr r3, r29 -/* 80378514 00374174 81 8C 00 40 */ lwz r12, 0x40(r12) -/* 80378518 00374178 7D 89 03 A6 */ mtctr r12 -/* 8037851C 0037417C 4E 80 04 21 */ bctrl -/* 80378520 00374180 81 9D 00 00 */ lwz r12, 0(r29) -/* 80378524 00374184 7C 65 1B 78 */ mr r5, r3 -/* 80378528 00374188 7F A3 EB 78 */ mr r3, r29 -/* 8037852C 0037418C 7F 64 DB 78 */ mr r4, r27 -/* 80378530 00374190 81 8C 00 14 */ lwz r12, 0x14(r12) -/* 80378534 00374194 7D 89 03 A6 */ mtctr r12 -/* 80378538 00374198 4E 80 04 21 */ bctrl -/* 8037853C 0037419C 2C 03 00 00 */ cmpwi r3, 0 -/* 80378540 003741A0 40 80 00 DC */ bge lbl_8037861C -/* 80378544 003741A4 38 00 00 00 */ li r0, 0 -/* 80378548 003741A8 2C 1D 00 00 */ cmpwi r29, 0 -/* 8037854C 003741AC 90 1F 02 1C */ stw r0, 0x21c(r31) -/* 80378550 003741B0 41 82 00 18 */ beq lbl_80378568 -/* 80378554 003741B4 81 9D 00 00 */ lwz r12, 0(r29) -/* 80378558 003741B8 7F A3 EB 78 */ mr r3, r29 -/* 8037855C 003741BC 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 80378560 003741C0 7D 89 03 A6 */ mtctr r12 -/* 80378564 003741C4 4E 80 04 21 */ bctrl -lbl_80378568: -/* 80378568 003741C8 7F E3 FB 78 */ mr r3, r31 -/* 8037856C 003741CC 4B EF 74 B9 */ bl func_8026FA24 -/* 80378570 003741D0 38 60 00 00 */ li r3, 0 -/* 80378574 003741D4 48 00 04 14 */ b lbl_80378988 -lbl_80378578: -/* 80378578 003741D8 81 9D 00 00 */ lwz r12, 0(r29) -/* 8037857C 003741DC 7F A3 EB 78 */ mr r3, r29 -/* 80378580 003741E0 7F 7C DB 78 */ mr r28, r27 -/* 80378584 003741E4 81 8C 00 40 */ lwz r12, 0x40(r12) -/* 80378588 003741E8 7D 89 03 A6 */ mtctr r12 -/* 8037858C 003741EC 4E 80 04 21 */ bctrl -/* 80378590 003741F0 7C 7E 1B 78 */ mr r30, r3 -/* 80378594 003741F4 48 00 00 80 */ b lbl_80378614 -lbl_80378598: -/* 80378598 003741F8 7C 18 F0 40 */ cmplw r24, r30 -/* 8037859C 003741FC 7F A3 EB 78 */ mr r3, r29 -/* 803785A0 00374200 7F 84 E3 78 */ mr r4, r28 -/* 803785A4 00374204 7F 05 C3 78 */ mr r5, r24 -/* 803785A8 00374208 40 81 00 08 */ ble lbl_803785B0 -/* 803785AC 0037420C 7F C5 F3 78 */ mr r5, r30 -lbl_803785B0: -/* 803785B0 00374210 81 83 00 00 */ lwz r12, 0(r3) -/* 803785B4 00374214 81 8C 00 14 */ lwz r12, 0x14(r12) -/* 803785B8 00374218 7D 89 03 A6 */ mtctr r12 -/* 803785BC 0037421C 4E 80 04 21 */ bctrl -/* 803785C0 00374220 2C 03 00 00 */ cmpwi r3, 0 -/* 803785C4 00374224 40 80 00 38 */ bge lbl_803785FC -/* 803785C8 00374228 38 00 00 00 */ li r0, 0 -/* 803785CC 0037422C 2C 1D 00 00 */ cmpwi r29, 0 -/* 803785D0 00374230 90 1F 02 1C */ stw r0, 0x21c(r31) -/* 803785D4 00374234 41 82 00 18 */ beq lbl_803785EC -/* 803785D8 00374238 81 9D 00 00 */ lwz r12, 0(r29) -/* 803785DC 0037423C 7F A3 EB 78 */ mr r3, r29 -/* 803785E0 00374240 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 803785E4 00374244 7D 89 03 A6 */ mtctr r12 -/* 803785E8 00374248 4E 80 04 21 */ bctrl -lbl_803785EC: -/* 803785EC 0037424C 7F E3 FB 78 */ mr r3, r31 -/* 803785F0 00374250 4B EF 74 35 */ bl func_8026FA24 -/* 803785F4 00374254 38 60 00 00 */ li r3, 0 -/* 803785F8 00374258 48 00 03 90 */ b lbl_80378988 -lbl_803785FC: -/* 803785FC 0037425C 7C 1E 18 40 */ cmplw r30, r3 -/* 80378600 00374260 40 81 00 10 */ ble lbl_80378610 -/* 80378604 00374264 7F C3 F0 50 */ subf r30, r3, r30 -/* 80378608 00374268 7F 9C 1A 14 */ add r28, r28, r3 -/* 8037860C 0037426C 48 00 00 08 */ b lbl_80378614 -lbl_80378610: -/* 80378610 00374270 3B C0 00 00 */ li r30, 0 -lbl_80378614: -/* 80378614 00374274 2C 1E 00 00 */ cmpwi r30, 0 -/* 80378618 00374278 40 82 FF 80 */ bne lbl_80378598 -lbl_8037861C: -/* 8037861C 0037427C 3B C0 00 00 */ li r30, 0 -/* 80378620 00374280 80 7F 00 18 */ lwz r3, 0x18(r31) -/* 80378624 00374284 93 DF 02 1C */ stw r30, 0x21c(r31) -/* 80378628 00374288 7F 44 D3 78 */ mr r4, r26 -/* 8037862C 0037428C 38 A1 00 08 */ addi r5, r1, 8 -/* 80378630 00374290 4B FF EA 5D */ bl func_8037708C -/* 80378634 00374294 2C 03 00 00 */ cmpwi r3, 0 -/* 80378638 00374298 40 82 00 30 */ bne lbl_80378668 -/* 8037863C 0037429C 2C 1D 00 00 */ cmpwi r29, 0 -/* 80378640 003742A0 41 82 00 18 */ beq lbl_80378658 -/* 80378644 003742A4 81 9D 00 00 */ lwz r12, 0(r29) -/* 80378648 003742A8 7F A3 EB 78 */ mr r3, r29 -/* 8037864C 003742AC 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 80378650 003742B0 7D 89 03 A6 */ mtctr r12 -/* 80378654 003742B4 4E 80 04 21 */ bctrl -lbl_80378658: -/* 80378658 003742B8 7F E3 FB 78 */ mr r3, r31 -/* 8037865C 003742BC 4B EF 73 C9 */ bl func_8026FA24 -/* 80378660 003742C0 38 60 00 00 */ li r3, 0 -/* 80378664 003742C4 48 00 03 24 */ b lbl_80378988 -lbl_80378668: -/* 80378668 003742C8 80 01 00 1C */ lwz r0, 0x1c(r1) -/* 8037866C 003742CC 2C 00 00 00 */ cmpwi r0, 0 -/* 80378670 003742D0 41 82 02 E4 */ beq lbl_80378954 -/* 80378674 003742D4 80 7F 00 18 */ lwz r3, 0x18(r31) -/* 80378678 003742D8 7F 44 D3 78 */ mr r4, r26 -/* 8037867C 003742DC 38 BF 00 1C */ addi r5, r31, 0x1c -/* 80378680 003742E0 38 C0 02 00 */ li r6, 0x200 -/* 80378684 003742E4 4B FF ED 65 */ bl detail_OpenGroupWaveDataStream__Q34nw4r3snd12SoundArchiveCFUlPvi -/* 80378688 003742E8 2C 03 00 00 */ cmpwi r3, 0 -/* 8037868C 003742EC 7C 7C 1B 78 */ mr r28, r3 -/* 80378690 003742F0 40 82 00 44 */ bne lbl_803786D4 -/* 80378694 003742F4 41 82 00 14 */ beq lbl_803786A8 -/* 80378698 003742F8 81 83 00 00 */ lwz r12, 0(r3) -/* 8037869C 003742FC 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 803786A0 00374300 7D 89 03 A6 */ mtctr r12 -/* 803786A4 00374304 4E 80 04 21 */ bctrl -lbl_803786A8: -/* 803786A8 00374308 2C 1D 00 00 */ cmpwi r29, 0 -/* 803786AC 0037430C 41 82 00 18 */ beq lbl_803786C4 -/* 803786B0 00374310 81 9D 00 00 */ lwz r12, 0(r29) -/* 803786B4 00374314 7F A3 EB 78 */ mr r3, r29 -/* 803786B8 00374318 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 803786BC 0037431C 7D 89 03 A6 */ mtctr r12 -/* 803786C0 00374320 4E 80 04 21 */ bctrl -lbl_803786C4: -/* 803786C4 00374324 7F E3 FB 78 */ mr r3, r31 -/* 803786C8 00374328 4B EF 73 5D */ bl func_8026FA24 -/* 803786CC 0037432C 38 60 00 00 */ li r3, 0 -/* 803786D0 00374330 48 00 02 B8 */ b lbl_80378988 -lbl_803786D4: -/* 803786D4 00374334 81 83 00 00 */ lwz r12, 0(r3) -/* 803786D8 00374338 81 8C 00 50 */ lwz r12, 0x50(r12) -/* 803786DC 0037433C 7D 89 03 A6 */ mtctr r12 -/* 803786E0 00374340 4E 80 04 21 */ bctrl -/* 803786E4 00374344 2C 03 00 00 */ cmpwi r3, 0 -/* 803786E8 00374348 41 82 00 20 */ beq lbl_80378708 -/* 803786EC 0037434C 81 9C 00 00 */ lwz r12, 0(r28) -/* 803786F0 00374350 7F 83 E3 78 */ mr r3, r28 -/* 803786F4 00374354 81 8C 00 2C */ lwz r12, 0x2c(r12) -/* 803786F8 00374358 7D 89 03 A6 */ mtctr r12 -/* 803786FC 0037435C 4E 80 04 21 */ bctrl -/* 80378700 00374360 2C 03 00 00 */ cmpwi r3, 0 -/* 80378704 00374364 40 82 00 4C */ bne lbl_80378750 -lbl_80378708: -/* 80378708 00374368 2C 1C 00 00 */ cmpwi r28, 0 -/* 8037870C 0037436C 41 82 00 18 */ beq lbl_80378724 -/* 80378710 00374370 81 9C 00 00 */ lwz r12, 0(r28) -/* 80378714 00374374 7F 83 E3 78 */ mr r3, r28 -/* 80378718 00374378 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 8037871C 0037437C 7D 89 03 A6 */ mtctr r12 -/* 80378720 00374380 4E 80 04 21 */ bctrl -lbl_80378724: -/* 80378724 00374384 2C 1D 00 00 */ cmpwi r29, 0 -/* 80378728 00374388 41 82 00 18 */ beq lbl_80378740 -/* 8037872C 0037438C 81 9D 00 00 */ lwz r12, 0(r29) -/* 80378730 00374390 7F A3 EB 78 */ mr r3, r29 -/* 80378734 00374394 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 80378738 00374398 7D 89 03 A6 */ mtctr r12 -/* 8037873C 0037439C 4E 80 04 21 */ bctrl -lbl_80378740: -/* 80378740 003743A0 7F E3 FB 78 */ mr r3, r31 -/* 80378744 003743A4 4B EF 72 E1 */ bl func_8026FA24 -/* 80378748 003743A8 38 60 00 00 */ li r3, 0 -/* 8037874C 003743AC 48 00 02 3C */ b lbl_80378988 -lbl_80378750: -/* 80378750 003743B0 81 9C 00 00 */ lwz r12, 0(r28) -/* 80378754 003743B4 7F 83 E3 78 */ mr r3, r28 -/* 80378758 003743B8 81 8C 00 40 */ lwz r12, 0x40(r12) -/* 8037875C 003743BC 7D 89 03 A6 */ mtctr r12 -/* 80378760 003743C0 4E 80 04 21 */ bctrl -/* 80378764 003743C4 81 99 00 00 */ lwz r12, 0(r25) -/* 80378768 003743C8 7C 64 1B 78 */ mr r4, r3 -/* 8037876C 003743CC 7F 23 CB 78 */ mr r3, r25 -/* 80378770 003743D0 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 80378774 003743D4 7D 89 03 A6 */ mtctr r12 -/* 80378778 003743D8 4E 80 04 21 */ bctrl -/* 8037877C 003743DC 2C 03 00 00 */ cmpwi r3, 0 -/* 80378780 003743E0 7C 7A 1B 78 */ mr r26, r3 -/* 80378784 003743E4 40 82 00 4C */ bne lbl_803787D0 -/* 80378788 003743E8 2C 1C 00 00 */ cmpwi r28, 0 -/* 8037878C 003743EC 41 82 00 18 */ beq lbl_803787A4 -/* 80378790 003743F0 81 9C 00 00 */ lwz r12, 0(r28) -/* 80378794 003743F4 7F 83 E3 78 */ mr r3, r28 -/* 80378798 003743F8 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 8037879C 003743FC 7D 89 03 A6 */ mtctr r12 -/* 803787A0 00374400 4E 80 04 21 */ bctrl -lbl_803787A4: -/* 803787A4 00374404 2C 1D 00 00 */ cmpwi r29, 0 -/* 803787A8 00374408 41 82 00 18 */ beq lbl_803787C0 -/* 803787AC 0037440C 81 9D 00 00 */ lwz r12, 0(r29) -/* 803787B0 00374410 7F A3 EB 78 */ mr r3, r29 -/* 803787B4 00374414 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 803787B8 00374418 7D 89 03 A6 */ mtctr r12 -/* 803787BC 0037441C 4E 80 04 21 */ bctrl -lbl_803787C0: -/* 803787C0 00374420 7F E3 FB 78 */ mr r3, r31 -/* 803787C4 00374424 4B EF 72 61 */ bl func_8026FA24 -/* 803787C8 00374428 38 60 00 00 */ li r3, 0 -/* 803787CC 0037442C 48 00 01 BC */ b lbl_80378988 -lbl_803787D0: -/* 803787D0 00374430 2C 18 00 00 */ cmpwi r24, 0 -/* 803787D4 00374434 93 9F 02 1C */ stw r28, 0x21c(r31) -/* 803787D8 00374438 40 82 00 88 */ bne lbl_80378860 -/* 803787DC 0037443C 81 9C 00 00 */ lwz r12, 0(r28) -/* 803787E0 00374440 7F 83 E3 78 */ mr r3, r28 -/* 803787E4 00374444 81 8C 00 40 */ lwz r12, 0x40(r12) -/* 803787E8 00374448 7D 89 03 A6 */ mtctr r12 -/* 803787EC 0037444C 4E 80 04 21 */ bctrl -/* 803787F0 00374450 81 9C 00 00 */ lwz r12, 0(r28) -/* 803787F4 00374454 7C 65 1B 78 */ mr r5, r3 -/* 803787F8 00374458 7F 83 E3 78 */ mr r3, r28 -/* 803787FC 0037445C 7F 44 D3 78 */ mr r4, r26 -/* 80378800 00374460 81 8C 00 14 */ lwz r12, 0x14(r12) -/* 80378804 00374464 7D 89 03 A6 */ mtctr r12 -/* 80378808 00374468 4E 80 04 21 */ bctrl -/* 8037880C 0037446C 2C 03 00 00 */ cmpwi r3, 0 -/* 80378810 00374470 40 80 01 10 */ bge lbl_80378920 -/* 80378814 00374474 2C 1C 00 00 */ cmpwi r28, 0 -/* 80378818 00374478 93 DF 02 1C */ stw r30, 0x21c(r31) -/* 8037881C 0037447C 41 82 00 18 */ beq lbl_80378834 -/* 80378820 00374480 81 9C 00 00 */ lwz r12, 0(r28) -/* 80378824 00374484 7F 83 E3 78 */ mr r3, r28 -/* 80378828 00374488 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 8037882C 0037448C 7D 89 03 A6 */ mtctr r12 -/* 80378830 00374490 4E 80 04 21 */ bctrl -lbl_80378834: -/* 80378834 00374494 2C 1D 00 00 */ cmpwi r29, 0 -/* 80378838 00374498 41 82 00 18 */ beq lbl_80378850 -/* 8037883C 0037449C 81 9D 00 00 */ lwz r12, 0(r29) -/* 80378840 003744A0 7F A3 EB 78 */ mr r3, r29 -/* 80378844 003744A4 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 80378848 003744A8 7D 89 03 A6 */ mtctr r12 -/* 8037884C 003744AC 4E 80 04 21 */ bctrl -lbl_80378850: -/* 80378850 003744B0 7F E3 FB 78 */ mr r3, r31 -/* 80378854 003744B4 4B EF 71 D1 */ bl func_8026FA24 -/* 80378858 003744B8 38 60 00 00 */ li r3, 0 -/* 8037885C 003744BC 48 00 01 2C */ b lbl_80378988 -lbl_80378860: -/* 80378860 003744C0 81 9C 00 00 */ lwz r12, 0(r28) -/* 80378864 003744C4 7F 83 E3 78 */ mr r3, r28 -/* 80378868 003744C8 7F 5E D3 78 */ mr r30, r26 -/* 8037886C 003744CC 81 8C 00 40 */ lwz r12, 0x40(r12) -/* 80378870 003744D0 7D 89 03 A6 */ mtctr r12 -/* 80378874 003744D4 4E 80 04 21 */ bctrl -/* 80378878 003744D8 7C 79 1B 78 */ mr r25, r3 -/* 8037887C 003744DC 48 00 00 9C */ b lbl_80378918 -lbl_80378880: -/* 80378880 003744E0 7C 18 C8 40 */ cmplw r24, r25 -/* 80378884 003744E4 7F 83 E3 78 */ mr r3, r28 -/* 80378888 003744E8 7F C4 F3 78 */ mr r4, r30 -/* 8037888C 003744EC 7F 05 C3 78 */ mr r5, r24 -/* 80378890 003744F0 40 81 00 08 */ ble lbl_80378898 -/* 80378894 003744F4 7F 25 CB 78 */ mr r5, r25 -lbl_80378898: -/* 80378898 003744F8 81 83 00 00 */ lwz r12, 0(r3) -/* 8037889C 003744FC 81 8C 00 14 */ lwz r12, 0x14(r12) -/* 803788A0 00374500 7D 89 03 A6 */ mtctr r12 -/* 803788A4 00374504 4E 80 04 21 */ bctrl -/* 803788A8 00374508 2C 03 00 00 */ cmpwi r3, 0 -/* 803788AC 0037450C 40 80 00 54 */ bge lbl_80378900 -/* 803788B0 00374510 38 00 00 00 */ li r0, 0 -/* 803788B4 00374514 2C 1C 00 00 */ cmpwi r28, 0 -/* 803788B8 00374518 90 1F 02 1C */ stw r0, 0x21c(r31) -/* 803788BC 0037451C 41 82 00 18 */ beq lbl_803788D4 -/* 803788C0 00374520 81 9C 00 00 */ lwz r12, 0(r28) -/* 803788C4 00374524 7F 83 E3 78 */ mr r3, r28 -/* 803788C8 00374528 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 803788CC 0037452C 7D 89 03 A6 */ mtctr r12 -/* 803788D0 00374530 4E 80 04 21 */ bctrl -lbl_803788D4: -/* 803788D4 00374534 2C 1D 00 00 */ cmpwi r29, 0 -/* 803788D8 00374538 41 82 00 18 */ beq lbl_803788F0 -/* 803788DC 0037453C 81 9D 00 00 */ lwz r12, 0(r29) -/* 803788E0 00374540 7F A3 EB 78 */ mr r3, r29 -/* 803788E4 00374544 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 803788E8 00374548 7D 89 03 A6 */ mtctr r12 -/* 803788EC 0037454C 4E 80 04 21 */ bctrl -lbl_803788F0: -/* 803788F0 00374550 7F E3 FB 78 */ mr r3, r31 -/* 803788F4 00374554 4B EF 71 31 */ bl func_8026FA24 -/* 803788F8 00374558 38 60 00 00 */ li r3, 0 -/* 803788FC 0037455C 48 00 00 8C */ b lbl_80378988 -lbl_80378900: -/* 80378900 00374560 7C 19 18 40 */ cmplw r25, r3 -/* 80378904 00374564 40 81 00 10 */ ble lbl_80378914 -/* 80378908 00374568 7F 23 C8 50 */ subf r25, r3, r25 -/* 8037890C 0037456C 7F DE 1A 14 */ add r30, r30, r3 -/* 80378910 00374570 48 00 00 08 */ b lbl_80378918 -lbl_80378914: -/* 80378914 00374574 3B 20 00 00 */ li r25, 0 -lbl_80378918: -/* 80378918 00374578 2C 19 00 00 */ cmpwi r25, 0 -/* 8037891C 0037457C 40 82 FF 64 */ bne lbl_80378880 -lbl_80378920: -/* 80378920 00374580 38 00 00 00 */ li r0, 0 -/* 80378924 00374584 2C 17 00 00 */ cmpwi r23, 0 -/* 80378928 00374588 90 1F 02 1C */ stw r0, 0x21c(r31) -/* 8037892C 0037458C 41 82 00 08 */ beq lbl_80378934 -/* 80378930 00374590 93 57 00 00 */ stw r26, 0(r23) -lbl_80378934: -/* 80378934 00374594 2C 1C 00 00 */ cmpwi r28, 0 -/* 80378938 00374598 41 82 00 28 */ beq lbl_80378960 -/* 8037893C 0037459C 81 9C 00 00 */ lwz r12, 0(r28) -/* 80378940 003745A0 7F 83 E3 78 */ mr r3, r28 -/* 80378944 003745A4 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 80378948 003745A8 7D 89 03 A6 */ mtctr r12 -/* 8037894C 003745AC 4E 80 04 21 */ bctrl -/* 80378950 003745B0 48 00 00 10 */ b lbl_80378960 -lbl_80378954: -/* 80378954 003745B4 2C 17 00 00 */ cmpwi r23, 0 -/* 80378958 003745B8 41 82 00 08 */ beq lbl_80378960 -/* 8037895C 003745BC 93 D7 00 00 */ stw r30, 0(r23) -lbl_80378960: -/* 80378960 003745C0 2C 1D 00 00 */ cmpwi r29, 0 -/* 80378964 003745C4 41 82 00 18 */ beq lbl_8037897C -/* 80378968 003745C8 81 9D 00 00 */ lwz r12, 0(r29) -/* 8037896C 003745CC 7F A3 EB 78 */ mr r3, r29 -/* 80378970 003745D0 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 80378974 003745D4 7D 89 03 A6 */ mtctr r12 -/* 80378978 003745D8 4E 80 04 21 */ bctrl -lbl_8037897C: -/* 8037897C 003745DC 7F E3 FB 78 */ mr r3, r31 -/* 80378980 003745E0 4B EF 70 A5 */ bl func_8026FA24 -/* 80378984 003745E4 7F 63 DB 78 */ mr r3, r27 -lbl_80378988: -/* 80378988 003745E8 39 61 00 50 */ addi r11, r1, 0x50 -/* 8037898C 003745EC 4B E4 E7 D9 */ bl _restgpr_23 -/* 80378990 003745F0 80 01 00 54 */ lwz r0, 0x54(r1) -/* 80378994 003745F4 7C 08 03 A6 */ mtlr r0 -/* 80378998 003745F8 38 21 00 50 */ addi r1, r1, 0x50 -/* 8037899C 003745FC 4E 80 00 20 */ blr - .global func_803789A0 func_803789A0: /* 803789A0 00374600 94 21 FF F0 */ stwu r1, -0x10(r1) @@ -2454,18 +1996,18 @@ lbl_8037A52C: lbl_8037A53C: /* 8037A53C 0037619C 80 9C 00 10 */ lwz r4, 0x10(r28) /* 8037A540 003761A0 38 61 00 10 */ addi r3, r1, 0x10 -/* 8037A544 003761A4 4B FF DE 0D */ bl func_80378350 +/* 8037A544 003761A4 4B FF DE 0D */ bl __ct__Q44nw4r3snd6detail18SoundArchiveLoaderFRCQ34nw4r3snd12SoundArchive /* 8037A548 003761A8 7F A4 EB 78 */ mr r4, r29 /* 8037A54C 003761AC 7F C5 F3 78 */ mr r5, r30 /* 8037A550 003761B0 7F E7 FB 78 */ mr r7, r31 /* 8037A554 003761B4 38 61 00 10 */ addi r3, r1, 0x10 /* 8037A558 003761B8 38 C1 00 08 */ addi r6, r1, 8 -/* 8037A55C 003761BC 4B FF DE 71 */ bl func_803783CC +/* 8037A55C 003761BC 4B FF DE 71 */ bl LoadGroup__Q44nw4r3snd6detail18SoundArchiveLoaderFUlPQ34nw4r3snd22SoundMemoryAllocatablePPvUl /* 8037A560 003761C0 2C 03 00 00 */ cmpwi r3, 0 /* 8037A564 003761C4 40 82 00 18 */ bne lbl_8037A57C /* 8037A568 003761C8 38 61 00 10 */ addi r3, r1, 0x10 /* 8037A56C 003761CC 38 80 FF FF */ li r4, -1 -/* 8037A570 003761D0 4B FF DE 1D */ bl func_8037838C +/* 8037A570 003761D0 4B FF DE 1D */ bl __dt__Q44nw4r3snd6detail18SoundArchiveLoaderFv /* 8037A574 003761D4 38 60 00 00 */ li r3, 0 /* 8037A578 003761D8 48 00 00 48 */ b lbl_8037A5C0 lbl_8037A57C: @@ -2486,7 +2028,7 @@ lbl_8037A594: lbl_8037A5B0: /* 8037A5B0 00376210 38 61 00 10 */ addi r3, r1, 0x10 /* 8037A5B4 00376214 38 80 FF FF */ li r4, -1 -/* 8037A5B8 00376218 4B FF DD D5 */ bl func_8037838C +/* 8037A5B8 00376218 4B FF DD D5 */ bl __dt__Q44nw4r3snd6detail18SoundArchiveLoaderFv /* 8037A5BC 0037621C 38 60 00 01 */ li r3, 1 lbl_8037A5C0: /* 8037A5C0 00376220 80 01 02 44 */ lwz r0, 0x244(r1) diff --git a/obj_files.mk b/obj_files.mk index dfcd7f5..5b581c7 100644 --- a/obj_files.mk +++ b/obj_files.mk @@ -141,6 +141,7 @@ TEXT_O_FILES := \ $(BUILD_DIR)/asm/nw4r/snd/snd_Sound3DManager.o \ $(BUILD_DIR)/asm/nw4r/snd/detail/snd_SoundArchive.o \ $(BUILD_DIR)/asm/nw4r/snd/detail/snd_SoundArchiveFile.o \ + $(BUILD_DIR)/asm/nw4r/snd/detail/snd_SoundArchiveLoader.o \ $(BUILD_DIR)/asm/text_10_6.o \ $(BUILD_DIR)/asm/text_11.o -- cgit v1.2.3