diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0a572c63..43bfcfc3 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -10,6 +10,9 @@ jobs: container: devkitpro/devkitppc:latest env: WINEPREFIX: ${{github.workspace}}/.wine + strategy: + matrix: + version: [0, 1] steps: - name: Checkout uses: actions/checkout@v3 @@ -32,7 +35,7 @@ jobs: cmake -B build cmake --build build - name: Build - run: make -j$(nproc) WINE=./tools/WiBo/build/wibo GENERATE_MAP=1 + run: make -j$(nproc) WINE=./tools/WiBo/build/wibo GENERATE_MAP=1 VERSION=${{matrix.version}} - name: Upload map uses: actions/upload-artifact@v2 with: diff --git a/asm/Kyoto/Basics/RAssertDolphin.s b/asm/Kyoto/Basics/RAssertDolphin.s index 597c1bef..29066e8d 100644 --- a/asm/Kyoto/Basics/RAssertDolphin.s +++ b/asm/Kyoto/Basics/RAssertDolphin.s @@ -99,6 +99,310 @@ SetErrorHandlers: /* 802D6950 002D38B0 38 21 00 10 */ addi r1, r1, 0x10 /* 802D6954 002D38B4 4E 80 00 20 */ blr +.if version == 1 + +.global ErrorHandler +ErrorHandler: +/* 802D6A04 002D3964 94 21 FC C0 */ stwu r1, -0x340(r1) +/* 802D6A08 002D3968 7C 08 02 A6 */ mflr r0 +/* 802D6A0C 002D396C 90 01 03 44 */ stw r0, 0x344(r1) +/* 802D6A10 002D3970 54 60 04 3E */ clrlwi r0, r3, 16 +/* 802D6A14 002D3974 28 00 00 0F */ cmplwi r0, 0xf +/* 802D6A18 002D3978 BE E1 03 1C */ stmw r23, 0x31c(r1) +/* 802D6A1C 002D397C 7C 7A 1B 78 */ mr r26, r3 +/* 802D6A20 002D3980 7C 9B 23 78 */ mr r27, r4 +/* 802D6A24 002D3984 7C BC 2B 78 */ mr r28, r5 +/* 802D6A28 002D3988 7C DD 33 78 */ mr r29, r6 +/* 802D6A2C 002D398C 40 82 00 1C */ bne lbl_802D6A48 +/* 802D6A30 002D3990 57 80 06 F7 */ rlwinm. r0, r28, 0, 27, 27 +/* 802D6A34 002D3994 40 82 04 1C */ bne lbl_802D6E50 +/* 802D6A38 002D3998 3C 00 01 80 */ lis r0, 0x180 +/* 802D6A3C 002D399C 7C 1D 00 40 */ cmplw r29, r0 +/* 802D6A40 002D39A0 40 81 00 08 */ ble lbl_802D6A48 +/* 802D6A44 002D39A4 48 00 04 0C */ b lbl_802D6E50 +lbl_802D6A48: +/* 802D6A48 002D39A8 38 60 00 03 */ li r3, 0x3 +/* 802D6A4C 002D39AC 38 80 00 00 */ li r4, 0x0 +/* 802D6A50 002D39B0 38 A0 00 00 */ li r5, 0x0 +/* 802D6A54 002D39B4 38 C0 00 03 */ li r6, 0x3 +/* 802D6A58 002D39B8 48 0A C2 41 */ bl OSProtectRange +/* 802D6A5C 002D39BC 3A E0 00 00 */ li r23, 0x0 +/* 802D6A60 002D39C0 38 60 00 00 */ li r3, 0x0 +/* 802D6A64 002D39C4 38 80 00 00 */ li r4, 0x0 +/* 802D6A68 002D39C8 48 0B 03 51 */ bl PADControlMotor +/* 802D6A6C 002D39CC 38 60 00 01 */ li r3, 0x1 +/* 802D6A70 002D39D0 48 0B 2A 19 */ bl VISetBlack +/* 802D6A74 002D39D4 48 0B 28 79 */ bl VIFlush +/* 802D6A78 002D39D8 38 61 00 48 */ addi r3, r1, 0x48 +/* 802D6A7C 002D39DC 48 0A 8D 75 */ bl OSClearContext +/* 802D6A80 002D39E0 38 61 00 48 */ addi r3, r1, 0x48 +/* 802D6A84 002D39E4 48 0A 8B 75 */ bl OSSetCurrentContext +/* 802D6A88 002D39E8 48 0A AD C9 */ bl OSEnableInterrupts +/* 802D6A8C 002D39EC 48 00 00 94 */ b lbl_802D6B20 +lbl_802D6A90: +/* 802D6A90 002D39F0 38 61 00 14 */ addi r3, r1, 0x14 +/* 802D6A94 002D39F4 48 0A FE C1 */ bl PADRead +/* 802D6A98 002D39F8 48 00 00 14 */ b lbl_802D6AAC +lbl_802D6A9C: +/* 802D6A9C 002D39FC 3C 60 40 00 */ lis r3, 0x4000 +/* 802D6AA0 002D3A00 48 0A FA 99 */ bl PADReset +/* 802D6AA4 002D3A04 38 61 00 14 */ addi r3, r1, 0x14 +/* 802D6AA8 002D3A08 48 0A FE AD */ bl PADRead +lbl_802D6AAC: +/* 802D6AAC 002D3A0C 88 61 00 2A */ lbz r3, 0x2a(r1) +/* 802D6AB0 002D3A10 7C 60 07 74 */ extsb r0, r3 +/* 802D6AB4 002D3A14 2C 00 FF FF */ cmpwi r0, -0x1 +/* 802D6AB8 002D3A18 41 82 FF E4 */ beq lbl_802D6A9C +/* 802D6ABC 002D3A1C 7C 60 07 75 */ extsb. r0, r3 +/* 802D6AC0 002D3A20 40 82 00 60 */ bne lbl_802D6B20 +/* 802D6AC4 002D3A24 A0 81 00 20 */ lhz r4, 0x20(r1) +/* 802D6AC8 002D3A28 80 62 C5 88 */ lwz r3, lbl_805AE2A8@sda21(r2) +/* 802D6ACC 002D3A2C 70 80 0C 10 */ andi. r0, r4, 0xc10 +/* 802D6AD0 002D3A30 90 61 00 10 */ stw r3, 0x10(r1) +/* 802D6AD4 002D3A34 2C 00 0C 10 */ cmpwi r0, 0xc10 +/* 802D6AD8 002D3A38 40 82 00 44 */ bne lbl_802D6B1C +/* 802D6ADC 002D3A3C 54 80 07 3F */ clrlwi. r0, r4, 28 +/* 802D6AE0 002D3A40 41 82 00 40 */ beq lbl_802D6B20 +/* 802D6AE4 002D3A44 38 61 00 10 */ addi r3, r1, 0x10 +/* 802D6AE8 002D3A48 7C 63 BA 14 */ add r3, r3, r23 +/* 802D6AEC 002D3A4C 88 03 00 00 */ lbz r0, 0x0(r3) +/* 802D6AF0 002D3A50 7C 80 00 39 */ and. r0, r4, r0 +/* 802D6AF4 002D3A54 41 82 00 0C */ beq lbl_802D6B00 +/* 802D6AF8 002D3A58 3A F7 00 01 */ addi r23, r23, 0x1 +/* 802D6AFC 002D3A5C 48 00 00 24 */ b lbl_802D6B20 +lbl_802D6B00: +/* 802D6B00 002D3A60 28 17 00 00 */ cmplwi r23, 0x0 +/* 802D6B04 002D3A64 41 82 00 1C */ beq lbl_802D6B20 +/* 802D6B08 002D3A68 88 03 FF FF */ lbz r0, -0x1(r3) +/* 802D6B0C 002D3A6C 7C 80 00 39 */ and. r0, r4, r0 +/* 802D6B10 002D3A70 40 82 00 10 */ bne lbl_802D6B20 +/* 802D6B14 002D3A74 3A E0 00 00 */ li r23, 0x0 +/* 802D6B18 002D3A78 48 00 00 08 */ b lbl_802D6B20 +lbl_802D6B1C: +/* 802D6B1C 002D3A7C 3A E0 00 00 */ li r23, 0x0 +lbl_802D6B20: +/* 802D6B20 002D3A80 28 17 00 04 */ cmplwi r23, 0x4 +/* 802D6B24 002D3A84 41 80 FF 6C */ blt lbl_802D6A90 +/* 802D6B28 002D3A88 38 60 00 00 */ li r3, 0x0 +/* 802D6B2C 002D3A8C 48 0B 29 5D */ bl VISetBlack +/* 802D6B30 002D3A90 48 0B 27 BD */ bl VIFlush +/* 802D6B34 002D3A94 3C 60 80 3D */ lis r3, lbl_803D6AB8@ha +/* 802D6B38 002D3A98 57 5F 04 3E */ clrlwi r31, r26, 16 +/* 802D6B3C 002D3A9C 38 63 6C 98 */ addi r3, r3, lbl_803D6AB8@l +/* 802D6B40 002D3AA0 7F E4 FB 78 */ mr r4, r31 +/* 802D6B44 002D3AA4 4C C6 31 82 */ crclr 6 +/* 802D6B48 002D3AA8 48 0A 90 41 */ bl OSReport +/* 802D6B4C 002D3AAC 3C 60 80 3D */ lis r3, lbl_803D6AB8@ha +/* 802D6B50 002D3AB0 80 82 82 88 */ lwz r4, lbl_805A9FA8@sda21(r2) +/* 802D6B54 002D3AB4 38 63 6C 98 */ addi r3, r3, lbl_803D6AB8@l +/* 802D6B58 002D3AB8 38 63 00 25 */ addi r3, r3, 0x25 +/* 802D6B5C 002D3ABC 4C C6 31 82 */ crclr 6 +/* 802D6B60 002D3AC0 48 0A 90 29 */ bl OSReport +/* 802D6B64 002D3AC4 3C 60 80 3D */ lis r3, lbl_803D6AB8@ha +/* 802D6B68 002D3AC8 7F 64 DB 78 */ mr r4, r27 +/* 802D6B6C 002D3ACC 38 63 6C 98 */ addi r3, r3, lbl_803D6AB8@l +/* 802D6B70 002D3AD0 38 63 00 29 */ addi r3, r3, 0x29 +/* 802D6B74 002D3AD4 4C C6 31 82 */ crclr 6 +/* 802D6B78 002D3AD8 48 0A 90 11 */ bl OSReport +/* 802D6B7C 002D3ADC 3C 60 80 3D */ lis r3, lbl_803D6AB8@ha +/* 802D6B80 002D3AE0 7F 79 DB 78 */ mr r25, r27 +/* 802D6B84 002D3AE4 3B 03 6C 98 */ addi r24, r3, lbl_803D6AB8@l +/* 802D6B88 002D3AE8 3A E0 00 00 */ li r23, 0x0 +lbl_802D6B8C: +/* 802D6B8C 002D3AEC 81 19 00 40 */ lwz r8, 0x40(r25) +/* 802D6B90 002D3AF0 7E E4 BB 78 */ mr r4, r23 +/* 802D6B94 002D3AF4 80 B9 00 00 */ lwz r5, 0x0(r25) +/* 802D6B98 002D3AF8 38 78 00 6D */ addi r3, r24, 0x6d +/* 802D6B9C 002D3AFC 7D 09 43 78 */ mr r9, r8 +/* 802D6BA0 002D3B00 38 F7 00 10 */ addi r7, r23, 0x10 +/* 802D6BA4 002D3B04 7C A6 2B 78 */ mr r6, r5 +/* 802D6BA8 002D3B08 4C C6 31 82 */ crclr 6 +/* 802D6BAC 002D3B0C 48 0A 8F DD */ bl OSReport +/* 802D6BB0 002D3B10 3A F7 00 01 */ addi r23, r23, 0x1 +/* 802D6BB4 002D3B14 3B 39 00 04 */ addi r25, r25, 0x4 +/* 802D6BB8 002D3B18 28 17 00 10 */ cmplwi r23, 0x10 +/* 802D6BBC 002D3B1C 41 80 FF D0 */ blt lbl_802D6B8C +/* 802D6BC0 002D3B20 3C 60 80 3D */ lis r3, lbl_803D6AB8@ha +/* 802D6BC4 002D3B24 80 9B 00 84 */ lwz r4, 0x84(r27) +/* 802D6BC8 002D3B28 38 63 6C 98 */ addi r3, r3, lbl_803D6AB8@l +/* 802D6BCC 002D3B2C 80 BB 00 80 */ lwz r5, 0x80(r27) +/* 802D6BD0 002D3B30 38 63 00 9D */ addi r3, r3, 0x9d +/* 802D6BD4 002D3B34 4C C6 31 82 */ crclr 6 +/* 802D6BD8 002D3B38 48 0A 8F B1 */ bl OSReport +/* 802D6BDC 002D3B3C 3C 60 80 3D */ lis r3, lbl_803D6AB8@ha +/* 802D6BE0 002D3B40 80 9B 01 98 */ lwz r4, 0x198(r27) +/* 802D6BE4 002D3B44 38 63 6C 98 */ addi r3, r3, lbl_803D6AB8@l +/* 802D6BE8 002D3B48 80 BB 01 9C */ lwz r5, 0x19c(r27) +/* 802D6BEC 002D3B4C 38 63 00 CC */ addi r3, r3, 0xcc +/* 802D6BF0 002D3B50 4C C6 31 82 */ crclr 6 +/* 802D6BF4 002D3B54 48 0A 8F 95 */ bl OSReport +/* 802D6BF8 002D3B58 3C 60 80 3D */ lis r3, lbl_803D6AB8@ha +/* 802D6BFC 002D3B5C 7F 84 E3 78 */ mr r4, r28 +/* 802D6C00 002D3B60 38 63 6C 98 */ addi r3, r3, lbl_803D6AB8@l +/* 802D6C04 002D3B64 7F A5 EB 78 */ mr r5, r29 +/* 802D6C08 002D3B68 38 63 00 FB */ addi r3, r3, 0xfb +/* 802D6C0C 002D3B6C 4C C6 31 82 */ crclr 6 +/* 802D6C10 002D3B70 48 0A 8F 79 */ bl OSReport +/* 802D6C14 002D3B74 83 0D A6 8C */ lwz r24, lbl_805A924C@sda21(r13) +/* 802D6C18 002D3B78 2C 18 00 00 */ cmpwi r24, 0x0 +/* 802D6C1C 002D3B7C 41 82 00 2C */ beq lbl_802D6C48 +/* 802D6C20 002D3B80 3C 80 80 48 */ lis r4, lbl_804797A0@ha +/* 802D6C24 002D3B84 3C 60 80 3D */ lis r3, lbl_803D6AB8@ha +/* 802D6C28 002D3B88 38 04 99 80 */ addi r0, r4, lbl_804797A0@l +/* 802D6C2C 002D3B8C 38 83 6C 98 */ addi r4, r3, lbl_803D6AB8@l +/* 802D6C30 002D3B90 7C 60 C2 14 */ add r3, r0, r24 +/* 802D6C34 002D3B94 38 84 01 2A */ addi r4, r4, 0x12a +/* 802D6C38 002D3B98 4C C6 31 82 */ crclr 6 +/* 802D6C3C 002D3B9C 48 0B 72 7D */ bl sprintf +/* 802D6C40 002D3BA0 7F 18 1A 14 */ add r24, r24, r3 +/* 802D6C44 002D3BA4 48 00 00 28 */ b lbl_802D6C6C +lbl_802D6C48: +/* 802D6C48 002D3BA8 3C 80 80 3D */ lis r4, lbl_803D6AB8@ha +/* 802D6C4C 002D3BAC 3C 60 80 48 */ lis r3, lbl_804797A0@ha +/* 802D6C50 002D3BB0 38 84 6C 98 */ addi r4, r4, lbl_803D6AB8@l +/* 802D6C54 002D3BB4 7F E5 FB 78 */ mr r5, r31 +/* 802D6C58 002D3BB8 38 63 99 80 */ addi r3, r3, lbl_804797A0@l +/* 802D6C5C 002D3BBC 38 84 01 39 */ addi r4, r4, 0x139 +/* 802D6C60 002D3BC0 4C C6 31 82 */ crclr 6 +/* 802D6C64 002D3BC4 48 0B 72 55 */ bl sprintf +/* 802D6C68 002D3BC8 7F 18 1A 14 */ add r24, r24, r3 +lbl_802D6C6C: +/* 802D6C6C 002D3BCC 3C 80 80 48 */ lis r4, lbl_804797A0@ha +/* 802D6C70 002D3BD0 3C 60 80 3D */ lis r3, lbl_803D6AB8@ha +/* 802D6C74 002D3BD4 38 04 99 80 */ addi r0, r4, lbl_804797A0@l +/* 802D6C78 002D3BD8 80 A2 82 88 */ lwz r5, lbl_805A9FA8@sda21(r2) +/* 802D6C7C 002D3BDC 38 83 6C 98 */ addi r4, r3, lbl_803D6AB8@l +/* 802D6C80 002D3BE0 7C 60 C2 14 */ add r3, r0, r24 +/* 802D6C84 002D3BE4 38 84 00 25 */ addi r4, r4, 0x25 +/* 802D6C88 002D3BE8 4C C6 31 82 */ crclr 6 +/* 802D6C8C 002D3BEC 48 0B 72 2D */ bl sprintf +/* 802D6C90 002D3BF0 3C A0 80 48 */ lis r5, lbl_804797A0@ha +/* 802D6C94 002D3BF4 3C 80 80 3D */ lis r4, lbl_803D6AB8@ha +/* 802D6C98 002D3BF8 38 84 6C 98 */ addi r4, r4, lbl_803D6AB8@l +/* 802D6C9C 002D3BFC 7F D8 1A 14 */ add r30, r24, r3 +/* 802D6CA0 002D3C00 38 05 99 80 */ addi r0, r5, lbl_804797A0@l +/* 802D6CA4 002D3C04 80 BB 01 98 */ lwz r5, 0x198(r27) +/* 802D6CA8 002D3C08 7F A6 EB 78 */ mr r6, r29 +/* 802D6CAC 002D3C0C 38 84 01 54 */ addi r4, r4, 0x154 +/* 802D6CB0 002D3C10 7C 60 F2 14 */ add r3, r0, r30 +/* 802D6CB4 002D3C14 4C C6 31 82 */ crclr 6 +/* 802D6CB8 002D3C18 48 0B 72 01 */ bl sprintf +/* 802D6CBC 002D3C1C 57 40 04 3E */ clrlwi r0, r26, 16 +/* 802D6CC0 002D3C20 7F DE 1A 14 */ add r30, r30, r3 +/* 802D6CC4 002D3C24 28 00 00 0F */ cmplwi r0, 0xf +/* 802D6CC8 002D3C28 40 82 00 2C */ bne lbl_802D6CF4 +/* 802D6CCC 002D3C2C 3C 80 80 48 */ lis r4, lbl_804797A0@ha +/* 802D6CD0 002D3C30 3C 60 80 3D */ lis r3, lbl_803D6AB8@ha +/* 802D6CD4 002D3C34 38 04 99 80 */ addi r0, r4, lbl_804797A0@l +/* 802D6CD8 002D3C38 7F 85 E3 78 */ mr r5, r28 +/* 802D6CDC 002D3C3C 38 83 6C 98 */ addi r4, r3, lbl_803D6AB8@l +/* 802D6CE0 002D3C40 7C 60 F2 14 */ add r3, r0, r30 +/* 802D6CE4 002D3C44 38 84 01 6E */ addi r4, r4, 0x16e +/* 802D6CE8 002D3C48 4C C6 31 82 */ crclr 6 +/* 802D6CEC 002D3C4C 48 0B 71 CD */ bl sprintf +/* 802D6CF0 002D3C50 7F DE 1A 14 */ add r30, r30, r3 +lbl_802D6CF4: +/* 802D6CF4 002D3C54 3C 80 80 48 */ lis r4, lbl_804797A0@ha +/* 802D6CF8 002D3C58 3C 60 80 3D */ lis r3, lbl_803D6AB8@ha +/* 802D6CFC 002D3C5C 38 04 99 80 */ addi r0, r4, lbl_804797A0@l +/* 802D6D00 002D3C60 38 83 6C 98 */ addi r4, r3, lbl_803D6AB8@l +/* 802D6D04 002D3C64 7C 60 F2 14 */ add r3, r0, r30 +/* 802D6D08 002D3C68 38 84 01 74 */ addi r4, r4, 0x174 +/* 802D6D0C 002D3C6C 4C C6 31 82 */ crclr 6 +/* 802D6D10 002D3C70 48 0B 71 A9 */ bl sprintf +/* 802D6D14 002D3C74 3C 80 80 3D */ lis r4, lbl_803D6AB8@ha +/* 802D6D18 002D3C78 7F DE 1A 14 */ add r30, r30, r3 +/* 802D6D1C 002D3C7C 38 64 6C 98 */ addi r3, r4, lbl_803D6AB8@l +/* 802D6D20 002D3C80 38 63 01 77 */ addi r3, r3, 0x177 +/* 802D6D24 002D3C84 4C C6 31 82 */ crclr 6 +/* 802D6D28 002D3C88 48 0A 8E 61 */ bl OSReport +/* 802D6D2C 002D3C8C 3C A0 80 00 */ lis r5, 0x80000400@ha +/* 802D6D30 002D3C90 3C 80 80 3D */ lis r4, lbl_803D6AB8@ha +/* 802D6D34 002D3C94 3C 60 80 48 */ lis r3, lbl_804797A0@ha +/* 802D6D38 002D3C98 83 FB 00 04 */ lwz r31, 0x4(r27) +/* 802D6D3C 002D3C9C 3B 05 04 00 */ addi r24, r5, 0x80000400@l +/* 802D6D40 002D3CA0 3B 84 6C 98 */ addi r28, r4, lbl_803D6AB8@l +/* 802D6D44 002D3CA4 3B 43 99 80 */ addi r26, r3, lbl_804797A0@l +/* 802D6D48 002D3CA8 3A E0 00 00 */ li r23, 0x0 +/* 802D6D4C 002D3CAC 3F 20 81 80 */ lis r25, 0x8180 +/* 802D6D50 002D3CB0 48 00 00 94 */ b lbl_802D6DE4 +lbl_802D6D54: +/* 802D6D54 002D3CB4 7C 1F C0 40 */ cmplw r31, r24 +/* 802D6D58 002D3CB8 40 81 00 48 */ ble lbl_802D6DA0 +/* 802D6D5C 002D3CBC 7C 1F C8 40 */ cmplw r31, r25 +/* 802D6D60 002D3CC0 40 80 00 40 */ bge lbl_802D6DA0 +/* 802D6D64 002D3CC4 80 BF 00 00 */ lwz r5, 0x0(r31) +/* 802D6D68 002D3CC8 7F E4 FB 78 */ mr r4, r31 +/* 802D6D6C 002D3CCC 80 DF 00 04 */ lwz r6, 0x4(r31) +/* 802D6D70 002D3CD0 38 7C 01 9D */ addi r3, r28, 0x19d +/* 802D6D74 002D3CD4 4C C6 31 82 */ crclr 6 +/* 802D6D78 002D3CD8 48 0A 8E 11 */ bl OSReport +/* 802D6D7C 002D3CDC 80 DF 00 00 */ lwz r6, 0x0(r31) +/* 802D6D80 002D3CE0 7F E5 FB 78 */ mr r5, r31 +/* 802D6D84 002D3CE4 80 FF 00 04 */ lwz r7, 0x4(r31) +/* 802D6D88 002D3CE8 7C 7A F2 14 */ add r3, r26, r30 +/* 802D6D8C 002D3CEC 38 9C 01 B9 */ addi r4, r28, 0x1b9 +/* 802D6D90 002D3CF0 4C C6 31 82 */ crclr 6 +/* 802D6D94 002D3CF4 48 0B 71 25 */ bl sprintf +/* 802D6D98 002D3CF8 7F DE 1A 14 */ add r30, r30, r3 +/* 802D6D9C 002D3CFC 48 00 00 44 */ b lbl_802D6DE0 +lbl_802D6DA0: +/* 802D6DA0 002D3D00 3C 60 80 3D */ lis r3, lbl_803D6AB8@ha +/* 802D6DA4 002D3D04 7F E4 FB 78 */ mr r4, r31 +/* 802D6DA8 002D3D08 38 63 6C 98 */ addi r3, r3, lbl_803D6AB8@l +/* 802D6DAC 002D3D0C 38 63 01 D0 */ addi r3, r3, 0x1d0 +/* 802D6DB0 002D3D10 4C C6 31 82 */ crclr 6 +/* 802D6DB4 002D3D14 48 0A 8D D5 */ bl OSReport +/* 802D6DB8 002D3D18 3C 80 80 48 */ lis r4, lbl_804797A0@ha +/* 802D6DBC 002D3D1C 3C 60 80 3D */ lis r3, lbl_803D6AB8@ha +/* 802D6DC0 002D3D20 38 04 99 80 */ addi r0, r4, lbl_804797A0@l +/* 802D6DC4 002D3D24 7F E5 FB 78 */ mr r5, r31 +/* 802D6DC8 002D3D28 38 83 6C 98 */ addi r4, r3, lbl_803D6AB8@l +/* 802D6DCC 002D3D2C 7C 60 F2 14 */ add r3, r0, r30 +/* 802D6DD0 002D3D30 38 84 01 E3 */ addi r4, r4, 0x1e3 +/* 802D6DD4 002D3D34 4C C6 31 82 */ crclr 6 +/* 802D6DD8 002D3D38 48 0B 70 E1 */ bl sprintf +/* 802D6DDC 002D3D3C 48 00 00 28 */ b lbl_802D6E04 +lbl_802D6DE0: +/* 802D6DE0 002D3D40 83 FF 00 00 */ lwz r31, 0x0(r31) +lbl_802D6DE4: +/* 802D6DE4 002D3D44 28 1F 00 00 */ cmplwi r31, 0x0 +/* 802D6DE8 002D3D48 41 82 00 1C */ beq lbl_802D6E04 +/* 802D6DEC 002D3D4C 3C 1F 00 01 */ addis r0, r31, 0x1 +/* 802D6DF0 002D3D50 28 00 FF FF */ cmplwi r0, 0xffff +/* 802D6DF4 002D3D54 41 82 00 10 */ beq lbl_802D6E04 +/* 802D6DF8 002D3D58 28 17 00 10 */ cmplwi r23, 0x10 +/* 802D6DFC 002D3D5C 3A F7 00 01 */ addi r23, r23, 0x1 +/* 802D6E00 002D3D60 41 80 FF 54 */ blt lbl_802D6D54 +lbl_802D6E04: +/* 802D6E04 002D3D64 3C 60 80 3D */ lis r3, lbl_803D6AB8@ha +/* 802D6E08 002D3D68 80 9B 01 98 */ lwz r4, 0x198(r27) +/* 802D6E0C 002D3D6C 38 63 6C 98 */ addi r3, r3, lbl_803D6AB8@l +/* 802D6E10 002D3D70 7F A5 EB 78 */ mr r5, r29 +/* 802D6E14 002D3D74 38 63 01 F4 */ addi r3, r3, 0x1f4 +/* 802D6E18 002D3D78 4C C6 31 82 */ crclr 6 +/* 802D6E1C 002D3D7C 48 0A 8D 6D */ bl OSReport +/* 802D6E20 002D3D80 88 0D A6 88 */ lbz r0, lbl_805A9248@sda21(r13) +/* 802D6E24 002D3D84 28 00 00 00 */ cmplwi r0, 0x0 +/* 802D6E28 002D3D88 40 82 00 28 */ bne lbl_802D6E50 +/* 802D6E2C 002D3D8C 80 82 C5 80 */ lwz r4, lbl_805AE2A0@sda21(r2) +/* 802D6E30 002D3D90 3C 60 80 48 */ lis r3, lbl_804797A0@ha +/* 802D6E34 002D3D94 80 02 C5 84 */ lwz r0, lbl_805AE2A4@sda21(r2) +/* 802D6E38 002D3D98 38 A3 99 80 */ addi r5, r3, lbl_804797A0@l +/* 802D6E3C 002D3D9C 90 81 00 08 */ stw r4, 0x8(r1) +/* 802D6E40 002D3DA0 38 61 00 0C */ addi r3, r1, 0xc +/* 802D6E44 002D3DA4 38 81 00 08 */ addi r4, r1, 0x8 +/* 802D6E48 002D3DA8 90 01 00 0C */ stw r0, 0xc(r1) +/* 802D6E4C 002D3DAC 48 0A 98 C1 */ bl OSFatal +lbl_802D6E50: +/* 802D6E50 002D3DB0 BA E1 03 1C */ lmw r23, 0x31c(r1) +/* 802D6E54 002D3DB4 80 01 03 44 */ lwz r0, 0x344(r1) +/* 802D6E58 002D3DB8 7C 08 03 A6 */ mtlr r0 +/* 802D6E5C 002D3DBC 38 21 03 40 */ addi r1, r1, 0x340 +/* 802D6E60 002D3DC0 4E 80 00 20 */ blr + +.else + .global ErrorHandler ErrorHandler: /* 802D6958 002D38B8 94 21 FF 90 */ stwu r1, -0x70(r1) @@ -384,6 +688,8 @@ lbl_802D6D70: /* 802D6D7C 002D3CDC 38 21 00 70 */ addi r1, r1, 0x70 /* 802D6D80 002D3CE0 4E 80 00 20 */ blr +.endif + .section .sdata2, "a" .balign 8 .global lbl_805AE2A0 diff --git a/asm/Kyoto/DolphinCDvdFile.s b/asm/Kyoto/DolphinCDvdFile.s index a1ca583f..aa37adce 100644 --- a/asm/Kyoto/DolphinCDvdFile.s +++ b/asm/Kyoto/DolphinCDvdFile.s @@ -68,10 +68,29 @@ lbl_8034F938: /* 8034F940 0034C8A0 90 03 00 10 */ stw r0, 0x10(r3) /* 8034F944 0034C8A4 4E 80 00 20 */ blr +.if version == 1 + +.global internalCallback__8CDvdFileFlP11DVDFileInfo +internalCallback__8CDvdFileFlP11DVDFileInfo: +/* 8034FA28 0034C988 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8034FA2C 0034C98C 7C 08 02 A6 */ mflr r0 +/* 8034FA30 0034C990 90 01 00 14 */ stw r0, 0x14(r1) +/* 8034FA34 0034C994 80 64 00 18 */ lwz r3, 0x18(r4) +/* 8034FA38 0034C998 80 84 00 14 */ lwz r4, 0x14(r4) +/* 8034FA3C 0034C99C 48 02 F2 25 */ bl DCInvalidateRange +/* 8034FA40 0034C9A0 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8034FA44 0034C9A4 7C 08 03 A6 */ mtlr r0 +/* 8034FA48 0034C9A8 38 21 00 10 */ addi r1, r1, 0x10 +/* 8034FA4C 0034C9AC 4E 80 00 20 */ blr + +.else + .global internalCallback__8CDvdFileFlP11DVDFileInfo internalCallback__8CDvdFileFlP11DVDFileInfo: /* 8034F948 0034C8A8 4E 80 00 20 */ blr +.endif + .global FileExists__8CDvdFileFPCc FileExists__8CDvdFileFPCc: /* 8034F94C 0034C8AC 94 21 FF F0 */ stwu r1, -0x10(r1) diff --git a/asm/Kyoto/Graphics/CCubeMoviePlayer.s b/asm/Kyoto/Graphics/CCubeMoviePlayer.s index 2d3c2bad..05cce62f 100644 --- a/asm/Kyoto/Graphics/CCubeMoviePlayer.s +++ b/asm/Kyoto/Graphics/CCubeMoviePlayer.s @@ -624,6 +624,321 @@ lbl_8035BD4C: /* 8035BD58 00358CB8 38 21 00 30 */ addi r1, r1, 0x30 /* 8035BD5C 00358CBC 4E 80 00 20 */ blr +.if version == 1 + +.global Update__12CMoviePlayerFf +Update__12CMoviePlayerFf: +/* 8035BE64 00358DC4 94 21 FF A0 */ stwu r1, -0x60(r1) +/* 8035BE68 00358DC8 7C 08 02 A6 */ mflr r0 +/* 8035BE6C 00358DCC 90 01 00 64 */ stw r0, 0x64(r1) +/* 8035BE70 00358DD0 DB E1 00 50 */ stfd f31, 0x50(r1) +/* 8035BE74 00358DD4 F3 E1 00 58 */ psq_st f31, 0x58(r1), 0, qr0 +/* 8035BE78 00358DD8 DB C1 00 40 */ stfd f30, 0x40(r1) +/* 8035BE7C 00358DDC F3 C1 00 48 */ psq_st f30, 0x48(r1), 0, qr0 +/* 8035BE80 00358DE0 DB A1 00 30 */ stfd f29, 0x30(r1) +/* 8035BE84 00358DE4 F3 A1 00 38 */ psq_st f29, 0x38(r1), 0, qr0 +/* 8035BE88 00358DE8 93 E1 00 2C */ stw r31, 0x2c(r1) +/* 8035BE8C 00358DEC 93 C1 00 28 */ stw r30, 0x28(r1) +/* 8035BE90 00358DF0 7C 7F 1B 78 */ mr r31, r3 +/* 8035BE94 00358DF4 FF A0 08 90 */ fmr f29, f1 +/* 8035BE98 00358DF8 80 A3 00 C0 */ lwz r5, 0xc0(r3) +/* 8035BE9C 00358DFC 80 03 00 F0 */ lwz r0, 0xf0(r3) +/* 8035BEA0 00358E00 7C 05 00 00 */ cmpw r5, r0 +/* 8035BEA4 00358E04 40 80 00 64 */ bge lbl_8035BF08 +/* 8035BEA8 00358E08 80 7F 00 98 */ lwz r3, 0x98(r31) +/* 8035BEAC 00358E0C 28 03 00 00 */ cmplwi r3, 0x0 +/* 8035BEB0 00358E10 41 82 01 E0 */ beq lbl_8035C090 +/* 8035BEB4 00358E14 81 83 00 00 */ lwz r12, 0x0(r3) +/* 8035BEB8 00358E18 81 8C 00 10 */ lwz r12, 0x10(r12) +/* 8035BEBC 00358E1C 7D 89 03 A6 */ mtctr r12 +/* 8035BEC0 00358E20 4E 80 04 21 */ bctrl +/* 8035BEC4 00358E24 54 60 06 3F */ clrlwi. r0, r3, 24 +/* 8035BEC8 00358E28 41 82 01 C8 */ beq lbl_8035C090 +/* 8035BECC 00358E2C 7F E3 FB 78 */ mr r3, r31 +/* 8035BED0 00358E30 48 00 05 21 */ bl ReadCompleted__12CMoviePlayerFv +/* 8035BED4 00358E34 80 7F 00 C0 */ lwz r3, 0xc0(r31) +/* 8035BED8 00358E38 80 9F 00 A0 */ lwz r4, 0xa0(r31) +/* 8035BEDC 00358E3C 7C 03 20 00 */ cmpw r3, r4 +/* 8035BEE0 00358E40 41 80 01 B0 */ blt lbl_8035C090 +/* 8035BEE4 00358E44 80 1F 00 F0 */ lwz r0, 0xf0(r31) +/* 8035BEE8 00358E48 7C 03 00 00 */ cmpw r3, r0 +/* 8035BEEC 00358E4C 40 80 01 A4 */ bge lbl_8035C090 +/* 8035BEF0 00358E50 80 1F 00 3C */ lwz r0, 0x3c(r31) +/* 8035BEF4 00358E54 7C 04 00 40 */ cmplw r4, r0 +/* 8035BEF8 00358E58 40 80 01 98 */ bge lbl_8035C090 +/* 8035BEFC 00358E5C 7F E3 FB 78 */ mr r3, r31 +/* 8035BF00 00358E60 48 00 06 65 */ bl PostDVDReadRequestIfNeeded__12CMoviePlayerFv +/* 8035BF04 00358E64 48 00 01 8C */ b lbl_8035C090 +lbl_8035BF08: +/* 8035BF08 00358E68 80 7F 00 98 */ lwz r3, 0x98(r31) +/* 8035BF0C 00358E6C 28 03 00 00 */ cmplwi r3, 0x0 +/* 8035BF10 00358E70 41 82 01 80 */ beq lbl_8035C090 +/* 8035BF14 00358E74 80 1F 00 C4 */ lwz r0, 0xc4(r31) +/* 8035BF18 00358E78 3B C0 00 00 */ li r30, 0x0 +/* 8035BF1C 00358E7C 80 9F 00 A0 */ lwz r4, 0xa0(r31) +/* 8035BF20 00358E80 7C 00 20 00 */ cmpw r0, r4 +/* 8035BF24 00358E84 41 80 00 10 */ blt lbl_8035BF34 +/* 8035BF28 00358E88 7C 05 20 00 */ cmpw r5, r4 +/* 8035BF2C 00358E8C 41 80 00 08 */ blt lbl_8035BF34 +/* 8035BF30 00358E90 3B C0 00 01 */ li r30, 0x1 +lbl_8035BF34: +/* 8035BF34 00358E94 81 83 00 00 */ lwz r12, 0x0(r3) +/* 8035BF38 00358E98 81 8C 00 10 */ lwz r12, 0x10(r12) +/* 8035BF3C 00358E9C 7D 89 03 A6 */ mtctr r12 +/* 8035BF40 00358EA0 4E 80 04 21 */ bctrl +/* 8035BF44 00358EA4 54 60 06 3F */ clrlwi. r0, r3, 24 +/* 8035BF48 00358EA8 41 82 01 48 */ beq lbl_8035C090 +/* 8035BF4C 00358EAC 80 1F 00 D8 */ lwz r0, 0xd8(r31) +/* 8035BF50 00358EB0 2C 00 00 02 */ cmpwi r0, 0x2 +/* 8035BF54 00358EB4 40 80 01 3C */ bge lbl_8035C090 +/* 8035BF58 00358EB8 57 C0 06 3F */ clrlwi. r0, r30, 24 +/* 8035BF5C 00358EBC 41 82 01 34 */ beq lbl_8035C090 +/* 8035BF60 00358EC0 7F E3 FB 78 */ mr r3, r31 +/* 8035BF64 00358EC4 48 00 04 8D */ bl ReadCompleted__12CMoviePlayerFv +/* 8035BF68 00358EC8 38 A0 00 00 */ li r5, 0x0 +/* 8035BF6C 00358ECC 98 A1 00 14 */ stb r5, 0x14(r1) +/* 8035BF70 00358ED0 90 A1 00 18 */ stw r5, 0x18(r1) +/* 8035BF74 00358ED4 80 7F 00 C0 */ lwz r3, 0xc0(r31) +/* 8035BF78 00358ED8 80 1F 00 3C */ lwz r0, 0x3c(r31) +/* 8035BF7C 00358EDC 7C 03 00 40 */ cmplw r3, r0 +/* 8035BF80 00358EE0 40 80 00 40 */ bge lbl_8035BFC0 +/* 8035BF84 00358EE4 38 7F 00 90 */ addi r3, r31, 0x90 +/* 8035BF88 00358EE8 38 01 00 14 */ addi r0, r1, 0x14 +/* 8035BF8C 00358EEC 7C 03 00 40 */ cmplw r3, r0 +/* 8035BF90 00358EF0 41 82 00 9C */ beq lbl_8035C02C +/* 8035BF94 00358EF4 28 05 00 00 */ cmplwi r5, 0x0 +/* 8035BF98 00358EF8 41 82 00 0C */ beq lbl_8035BFA4 +/* 8035BF9C 00358EFC 38 60 00 00 */ li r3, 0x0 +/* 8035BFA0 00358F00 4B FB 9A 71 */ bl Free__7CMemoryFPCv +lbl_8035BFA4: +/* 8035BFA4 00358F04 88 7F 00 90 */ lbz r3, 0x90(r31) +/* 8035BFA8 00358F08 38 00 00 00 */ li r0, 0x0 +/* 8035BFAC 00358F0C 98 61 00 14 */ stb r3, 0x14(r1) +/* 8035BFB0 00358F10 80 7F 00 94 */ lwz r3, 0x94(r31) +/* 8035BFB4 00358F14 90 61 00 18 */ stw r3, 0x18(r1) +/* 8035BFB8 00358F18 98 1F 00 90 */ stb r0, 0x90(r31) +/* 8035BFBC 00358F1C 48 00 00 70 */ b lbl_8035C02C +lbl_8035BFC0: +/* 8035BFC0 00358F20 80 DF 00 94 */ lwz r6, 0x94(r31) +/* 8035BFC4 00358F24 38 61 00 0C */ addi r3, r1, 0xc +/* 8035BFC8 00358F28 38 01 00 14 */ addi r0, r1, 0x14 +/* 8035BFCC 00358F2C 7C 86 00 D0 */ neg r4, r6 +/* 8035BFD0 00358F30 90 C1 00 10 */ stw r6, 0x10(r1) +/* 8035BFD4 00358F34 7C 84 33 78 */ or r4, r4, r6 +/* 8035BFD8 00358F38 7C 03 00 40 */ cmplw r3, r0 +/* 8035BFDC 00358F3C 54 80 0F FE */ srwi r0, r4, 31 +/* 8035BFE0 00358F40 98 01 00 0C */ stb r0, 0xc(r1) +/* 8035BFE4 00358F44 41 82 00 2C */ beq lbl_8035C010 +/* 8035BFE8 00358F48 28 05 00 00 */ cmplwi r5, 0x0 +/* 8035BFEC 00358F4C 41 82 00 0C */ beq lbl_8035BFF8 +/* 8035BFF0 00358F50 38 60 00 00 */ li r3, 0x0 +/* 8035BFF4 00358F54 4B FB 9A 1D */ bl Free__7CMemoryFPCv +lbl_8035BFF8: +/* 8035BFF8 00358F58 88 81 00 0C */ lbz r4, 0xc(r1) +/* 8035BFFC 00358F5C 38 00 00 00 */ li r0, 0x0 +/* 8035C000 00358F60 80 61 00 10 */ lwz r3, 0x10(r1) +/* 8035C004 00358F64 98 81 00 14 */ stb r4, 0x14(r1) +/* 8035C008 00358F68 90 61 00 18 */ stw r3, 0x18(r1) +/* 8035C00C 00358F6C 98 01 00 0C */ stb r0, 0xc(r1) +lbl_8035C010: +/* 8035C010 00358F70 88 01 00 0C */ lbz r0, 0xc(r1) +/* 8035C014 00358F74 28 00 00 00 */ cmplwi r0, 0x0 +/* 8035C018 00358F78 41 82 00 0C */ beq lbl_8035C024 +/* 8035C01C 00358F7C 80 61 00 10 */ lwz r3, 0x10(r1) +/* 8035C020 00358F80 4B FB 99 F1 */ bl Free__7CMemoryFPCv +lbl_8035C024: +/* 8035C024 00358F84 38 00 00 00 */ li r0, 0x0 +/* 8035C028 00358F88 98 01 00 14 */ stb r0, 0x14(r1) +lbl_8035C02C: +/* 8035C02C 00358F8C 7F E3 FB 78 */ mr r3, r31 +/* 8035C030 00358F90 48 00 05 35 */ bl PostDVDReadRequestIfNeeded__12CMoviePlayerFv +/* 8035C034 00358F94 80 81 00 18 */ lwz r4, 0x18(r1) +/* 8035C038 00358F98 7F E3 FB 78 */ mr r3, r31 +/* 8035C03C 00358F9C 48 00 02 99 */ bl DecodeFromRead__12CMoviePlayerFPCv +/* 8035C040 00358FA0 80 7F 00 D8 */ lwz r3, 0xd8(r31) +/* 8035C044 00358FA4 38 03 00 01 */ addi r0, r3, 0x1 +/* 8035C048 00358FA8 90 1F 00 D8 */ stw r0, 0xd8(r31) +/* 8035C04C 00358FAC 80 7F 00 C4 */ lwz r3, 0xc4(r31) +/* 8035C050 00358FB0 38 03 00 01 */ addi r0, r3, 0x1 +/* 8035C054 00358FB4 90 1F 00 C4 */ stw r0, 0xc4(r31) +/* 8035C058 00358FB8 80 7F 00 C4 */ lwz r3, 0xc4(r31) +/* 8035C05C 00358FBC 80 1F 00 3C */ lwz r0, 0x3c(r31) +/* 8035C060 00358FC0 7C 03 00 40 */ cmplw r3, r0 +/* 8035C064 00358FC4 41 80 00 18 */ blt lbl_8035C07C +/* 8035C068 00358FC8 88 1F 00 F4 */ lbz r0, 0xf4(r31) +/* 8035C06C 00358FCC 54 00 CF FF */ rlwinm. r0, r0, 25, 31, 31 +/* 8035C070 00358FD0 41 82 00 0C */ beq lbl_8035C07C +/* 8035C074 00358FD4 38 00 00 00 */ li r0, 0x0 +/* 8035C078 00358FD8 90 1F 00 C4 */ stw r0, 0xc4(r31) +lbl_8035C07C: +/* 8035C07C 00358FDC 88 01 00 14 */ lbz r0, 0x14(r1) +/* 8035C080 00358FE0 28 00 00 00 */ cmplwi r0, 0x0 +/* 8035C084 00358FE4 41 82 00 0C */ beq lbl_8035C090 +/* 8035C088 00358FE8 80 61 00 18 */ lwz r3, 0x18(r1) +/* 8035C08C 00358FEC 4B FB 99 85 */ bl Free__7CMemoryFPCv +lbl_8035C090: +/* 8035C090 00358FF0 80 1F 00 98 */ lwz r0, 0x98(r31) +/* 8035C094 00358FF4 28 00 00 00 */ cmplwi r0, 0x0 +/* 8035C098 00358FF8 40 82 00 28 */ bne lbl_8035C0C0 +/* 8035C09C 00358FFC 80 1F 00 E0 */ lwz r0, 0xe0(r31) +/* 8035C0A0 00359000 2C 00 00 01 */ cmpwi r0, 0x1 +/* 8035C0A4 00359004 40 82 00 1C */ bne lbl_8035C0C0 +/* 8035C0A8 00359008 80 7F 00 A0 */ lwz r3, 0xa0(r31) +/* 8035C0AC 0035900C 80 1F 00 3C */ lwz r0, 0x3c(r31) +/* 8035C0B0 00359010 7C 03 00 40 */ cmplw r3, r0 +/* 8035C0B4 00359014 40 80 00 0C */ bge lbl_8035C0C0 +/* 8035C0B8 00359018 7F E3 FB 78 */ mr r3, r31 +/* 8035C0BC 0035901C 48 00 04 A9 */ bl PostDVDReadRequestIfNeeded__12CMoviePlayerFv +lbl_8035C0C0: +/* 8035C0C0 00359020 80 1F 00 D8 */ lwz r0, 0xd8(r31) +/* 8035C0C4 00359024 2C 00 00 02 */ cmpwi r0, 0x2 +/* 8035C0C8 00359028 40 80 00 A4 */ bge lbl_8035C16C +/* 8035C0CC 0035902C 80 1F 00 E0 */ lwz r0, 0xe0(r31) +/* 8035C0D0 00359030 2C 00 00 01 */ cmpwi r0, 0x1 +/* 8035C0D4 00359034 40 82 00 98 */ bne lbl_8035C16C +/* 8035C0D8 00359038 80 7F 00 C4 */ lwz r3, 0xc4(r31) +/* 8035C0DC 0035903C 80 1F 00 F0 */ lwz r0, 0xf0(r31) +/* 8035C0E0 00359040 7C 03 00 00 */ cmpw r3, r0 +/* 8035C0E4 00359044 40 80 00 88 */ bge lbl_8035C16C +/* 8035C0E8 00359048 80 7F 00 A0 */ lwz r3, 0xa0(r31) +/* 8035C0EC 0035904C 38 63 FF FF */ addi r3, r3, -0x1 +/* 8035C0F0 00359050 90 61 00 08 */ stw r3, 0x8(r1) +/* 8035C0F4 00359054 80 1F 00 C4 */ lwz r0, 0xc4(r31) +/* 8035C0F8 00359058 7C 03 00 00 */ cmpw r3, r0 +/* 8035C0FC 0035905C 40 80 00 0C */ bge lbl_8035C108 +/* 8035C100 00359060 38 61 00 08 */ addi r3, r1, 0x8 +/* 8035C104 00359064 48 00 00 08 */ b lbl_8035C10C +lbl_8035C108: +/* 8035C108 00359068 38 7F 00 C4 */ addi r3, r31, 0xc4 +lbl_8035C10C: +/* 8035C10C 0035906C 80 03 00 00 */ lwz r0, 0x0(r3) +/* 8035C110 00359070 2C 00 FF FF */ cmpwi r0, -0x1 +/* 8035C114 00359074 41 82 01 90 */ beq lbl_8035C2A4 +/* 8035C118 00359078 54 03 18 38 */ slwi r3, r0, 3 +/* 8035C11C 0035907C 80 9F 00 A8 */ lwz r4, 0xa8(r31) +/* 8035C120 00359080 38 03 00 04 */ addi r0, r3, 0x4 +/* 8035C124 00359084 7F E3 FB 78 */ mr r3, r31 +/* 8035C128 00359088 7C 84 00 2E */ lwzx r4, r4, r0 +/* 8035C12C 0035908C 48 00 01 A9 */ bl DecodeFromRead__12CMoviePlayerFPCv +/* 8035C130 00359090 80 7F 00 D8 */ lwz r3, 0xd8(r31) +/* 8035C134 00359094 38 03 00 01 */ addi r0, r3, 0x1 +/* 8035C138 00359098 90 1F 00 D8 */ stw r0, 0xd8(r31) +/* 8035C13C 0035909C 80 7F 00 C4 */ lwz r3, 0xc4(r31) +/* 8035C140 003590A0 38 03 00 01 */ addi r0, r3, 0x1 +/* 8035C144 003590A4 90 1F 00 C4 */ stw r0, 0xc4(r31) +/* 8035C148 003590A8 80 7F 00 C4 */ lwz r3, 0xc4(r31) +/* 8035C14C 003590AC 80 1F 00 3C */ lwz r0, 0x3c(r31) +/* 8035C150 003590B0 7C 03 00 40 */ cmplw r3, r0 +/* 8035C154 003590B4 41 80 00 18 */ blt lbl_8035C16C +/* 8035C158 003590B8 88 1F 00 F4 */ lbz r0, 0xf4(r31) +/* 8035C15C 003590BC 54 00 CF FF */ rlwinm. r0, r0, 25, 31, 31 +/* 8035C160 003590C0 41 82 00 0C */ beq lbl_8035C16C +/* 8035C164 003590C4 38 00 00 00 */ li r0, 0x0 +/* 8035C168 003590C8 90 1F 00 C4 */ stw r0, 0xc4(r31) +lbl_8035C16C: +/* 8035C16C 003590CC 80 1F 00 D8 */ lwz r0, 0xd8(r31) +/* 8035C170 003590D0 2C 00 00 00 */ cmpwi r0, 0x0 +/* 8035C174 003590D4 40 81 01 30 */ ble lbl_8035C2A4 +/* 8035C178 003590D8 80 1F 00 E0 */ lwz r0, 0xe0(r31) +/* 8035C17C 003590DC 2C 00 00 01 */ cmpwi r0, 0x1 +/* 8035C180 003590E0 40 82 01 24 */ bne lbl_8035C2A4 +/* 8035C184 003590E4 C0 1F 00 E8 */ lfs f0, 0xe8(r31) +/* 8035C188 003590E8 EC 00 E8 2A */ fadds f0, f0, f29 +/* 8035C18C 003590EC D0 1F 00 E8 */ stfs f0, 0xe8(r31) +/* 8035C190 003590F0 88 1F 00 F4 */ lbz r0, 0xf4(r31) +/* 8035C194 003590F4 54 00 CF FF */ rlwinm. r0, r0, 25, 31, 31 +/* 8035C198 003590F8 41 82 00 1C */ beq lbl_8035C1B4 +/* 8035C19C 003590FC C0 3F 00 E8 */ lfs f1, 0xe8(r31) +/* 8035C1A0 00359100 C0 5F 00 E4 */ lfs f2, 0xe4(r31) +/* 8035C1A4 00359104 48 03 8C E5 */ bl fmod +/* 8035C1A8 00359108 FC 00 08 18 */ frsp f0, f1 +/* 8035C1AC 0035910C D0 1F 00 E8 */ stfs f0, 0xe8(r31) +/* 8035C1B0 00359110 48 00 00 28 */ b lbl_8035C1D8 +lbl_8035C1B4: +/* 8035C1B4 00359114 C0 3F 00 E4 */ lfs f1, 0xe4(r31) +/* 8035C1B8 00359118 C0 1F 00 E8 */ lfs f0, 0xe8(r31) +/* 8035C1BC 0035911C FC 01 00 40 */ fcmpo cr0, f1, f0 +/* 8035C1C0 00359120 40 80 00 0C */ bge lbl_8035C1CC +/* 8035C1C4 00359124 38 7F 00 E4 */ addi r3, r31, 0xe4 +/* 8035C1C8 00359128 48 00 00 08 */ b lbl_8035C1D0 +lbl_8035C1CC: +/* 8035C1CC 0035912C 38 7F 00 E8 */ addi r3, r31, 0xe8 +lbl_8035C1D0: +/* 8035C1D0 00359130 C0 03 00 00 */ lfs f0, 0x0(r3) +/* 8035C1D4 00359134 D0 1F 00 E8 */ stfs f0, 0xe8(r31) +lbl_8035C1D8: +/* 8035C1D8 00359138 C0 22 CD 28 */ lfs f1, lbl_805AEA48@sda21(r2) +/* 8035C1DC 0035913C C0 1F 00 38 */ lfs f0, 0x38(r31) +/* 8035C1E0 00359140 C0 5F 00 DC */ lfs f2, 0xdc(r31) +/* 8035C1E4 00359144 EF C1 00 24 */ fdivs f30, f1, f0 +/* 8035C1E8 00359148 C0 02 CD 24 */ lfs f0, lbl_805AEA44@sda21(r2) +/* 8035C1EC 0035914C EF E2 E8 28 */ fsubs f31, f2, f29 +/* 8035C1F0 00359150 FC 1F 00 40 */ fcmpo cr0, f31, f0 +/* 8035C1F4 00359154 4C 40 13 82 */ cror 2, 0, 2 +/* 8035C1F8 00359158 40 82 00 A8 */ bne lbl_8035C2A0 +/* 8035C1FC 0035915C 88 7F 00 F4 */ lbz r3, 0xf4(r31) +/* 8035C200 00359160 54 60 E7 FF */ rlwinm. r0, r3, 28, 31, 31 +/* 8035C204 00359164 40 82 00 8C */ bne lbl_8035C290_ +/* 8035C208 00359168 80 7F 00 D0 */ lwz r3, 0xd0(r31) +/* 8035C20C 0035916C 38 63 00 01 */ addi r3, r3, 0x1 +/* 8035C210 00359170 90 7F 00 D0 */ stw r3, 0xd0(r31) +/* 8035C214 00359174 80 1F 00 84 */ lwz r0, 0x84(r31) +/* 8035C218 00359178 7C 03 00 00 */ cmpw r3, r0 +/* 8035C21C 0035917C 41 80 00 0C */ blt lbl_8035C228 +/* 8035C220 00359180 38 00 00 00 */ li r0, 0x0 +/* 8035C224 00359184 90 1F 00 D0 */ stw r0, 0xd0(r31) +lbl_8035C228: +/* 8035C228 00359188 48 02 56 15 */ bl OSDisableInterrupts +/* 8035C22C 0035918C 80 1F 00 D4 */ lwz r0, 0xd4(r31) +/* 8035C230 00359190 2C 00 FF FF */ cmpwi r0, -0x1 +/* 8035C234 00359194 40 82 00 0C */ bne lbl_8035C240 +/* 8035C238 00359198 38 00 00 00 */ li r0, 0x0 +/* 8035C23C 0035919C 90 1F 00 D4 */ stw r0, 0xd4(r31) +lbl_8035C240: +/* 8035C240 003591A0 48 02 56 25 */ bl OSRestoreInterrupts +/* 8035C244 003591A4 80 7F 00 D8 */ lwz r3, 0xd8(r31) +/* 8035C248 003591A8 38 03 FF FF */ addi r0, r3, -0x1 +/* 8035C24C 003591AC 90 1F 00 D8 */ stw r0, 0xd8(r31) +/* 8035C250 003591B0 80 7F 00 C8 */ lwz r3, 0xc8(r31) +/* 8035C254 003591B4 38 03 00 01 */ addi r0, r3, 0x1 +/* 8035C258 003591B8 90 1F 00 C8 */ stw r0, 0xc8(r31) +/* 8035C25C 003591BC 80 7F 00 C8 */ lwz r3, 0xc8(r31) +/* 8035C260 003591C0 80 1F 00 3C */ lwz r0, 0x3c(r31) +/* 8035C264 003591C4 7C 03 00 40 */ cmplw r3, r0 +/* 8035C268 003591C8 40 82 00 18 */ bne lbl_8035C280 +/* 8035C26C 003591CC 88 1F 00 F4 */ lbz r0, 0xf4(r31) +/* 8035C270 003591D0 54 00 CF FF */ rlwinm. r0, r0, 25, 31, 31 +/* 8035C274 003591D4 41 82 00 0C */ beq lbl_8035C280 +/* 8035C278 003591D8 38 00 00 00 */ li r0, 0x0 +/* 8035C27C 003591DC 90 1F 00 C8 */ stw r0, 0xc8(r31) +lbl_8035C280: +/* 8035C280 003591E0 38 00 00 00 */ li r0, 0x0 +/* 8035C284 003591E4 EF FF F0 2A */ fadds f31, f31, f30 +/* 8035C288 003591E8 90 1F 00 FC */ stw r0, 0xfc(r31) +/* 8035C28C 003591EC 48 00 00 14 */ b lbl_8035C2A0 +lbl_8035C290_: +/* 8035C290 003591F0 38 00 00 00 */ li r0, 0x0 +/* 8035C294 003591F4 EF FF E8 2A */ fadds f31, f31, f29 +/* 8035C298 003591F8 50 03 26 F6 */ rlwimi r3, r0, 4, 27, 27 +/* 8035C29C 003591FC 98 7F 00 F4 */ stb r3, 0xf4(r31) +lbl_8035C2A0: +/* 8035C2A0 00359200 D3 FF 00 DC */ stfs f31, 0xdc(r31) +lbl_8035C2A4: +/* 8035C2A4 00359204 E3 E1 00 58 */ psq_l f31, 0x58(r1), 0, qr0 +/* 8035C2A8 00359208 CB E1 00 50 */ lfd f31, 0x50(r1) +/* 8035C2AC 0035920C E3 C1 00 48 */ psq_l f30, 0x48(r1), 0, qr0 +/* 8035C2B0 00359210 CB C1 00 40 */ lfd f30, 0x40(r1) +/* 8035C2B4 00359214 E3 A1 00 38 */ psq_l f29, 0x38(r1), 0, qr0 +/* 8035C2B8 00359218 CB A1 00 30 */ lfd f29, 0x30(r1) +/* 8035C2BC 0035921C 83 E1 00 2C */ lwz r31, 0x2c(r1) +/* 8035C2C0 00359220 80 01 00 64 */ lwz r0, 0x64(r1) +/* 8035C2C4 00359224 83 C1 00 28 */ lwz r30, 0x28(r1) +/* 8035C2C8 00359228 7C 08 03 A6 */ mtlr r0 +/* 8035C2CC 0035922C 38 21 00 60 */ addi r1, r1, 0x60 +/* 8035C2D0 00359230 4E 80 00 20 */ blr + +.else + .global Update__12CMoviePlayerFf Update__12CMoviePlayerFf: /* 8035BD60 00358CC0 94 21 FF B0 */ stwu r1, -0x50(r1) @@ -874,6 +1189,8 @@ lbl_8035C0C8: /* 8035C0F0 00359050 38 21 00 50 */ addi r1, r1, 0x50 /* 8035C0F4 00359054 4E 80 00 20 */ blr +.endif + .global DecodeFromRead__12CMoviePlayerFPCv DecodeFromRead__12CMoviePlayerFPCv: /* 8035C0F8 00359058 94 21 EF B0 */ stwu r1, -0x1050(r1) diff --git a/asm/MetroidPrime/CFrontEndUI.s b/asm/MetroidPrime/CFrontEndUI.s index c4348546..028f9960 100644 --- a/asm/MetroidPrime/CFrontEndUI.s +++ b/asm/MetroidPrime/CFrontEndUI.s @@ -127,7 +127,11 @@ MetroidBuildInfo: .ascii "!#$MetroidBuildInfo!#$" .global BuildString BuildString: +.if version == 1 + .asciz "Build v1.093 11/5/2002 19:50:01" +.else .asciz "Build v1.088 10/29/2002 2:21:25" +.endif .asciz "PAD" .balign 4 diff --git a/asm/MetroidPrime/Enemies/COmegaPirate.s b/asm/MetroidPrime/Enemies/COmegaPirate.s index 4842846e..ed7f9d36 100644 --- a/asm/MetroidPrime/Enemies/COmegaPirate.s +++ b/asm/MetroidPrime/Enemies/COmegaPirate.s @@ -76,52 +76,52 @@ lbl_803EB754: .4byte lbl_802907F0 .4byte lbl_802906D8 -.global lbl_803EB7BC -lbl_803EB7BC: +.global AcceptScriptMsg_jumptable +AcceptScriptMsg_jumptable: # ROM: 0x3E87BC - .4byte lbl_80291744 - .4byte lbl_802909FC - .4byte lbl_80291744 - .4byte lbl_80291744 - .4byte lbl_80290A6C - .4byte lbl_802914E4 - .4byte lbl_80291744 - .4byte lbl_802914F0 - .4byte lbl_80291744 - .4byte lbl_802916A4 - .4byte lbl_80291698 - .4byte lbl_80291744 - .4byte lbl_80291500 - .4byte lbl_802916CC - .4byte lbl_80291518 - .4byte lbl_8029150C - .4byte lbl_802916F4 - .4byte lbl_80291744 - .4byte lbl_8029171C - .4byte lbl_802915D8 - .4byte lbl_80291744 - .4byte lbl_80290B10 - .4byte lbl_80291744 - .4byte lbl_80291744 - .4byte lbl_80291744 - .4byte lbl_80291744 - .4byte lbl_80291744 - .4byte lbl_80291744 - .4byte lbl_80291744 - .4byte lbl_80291744 - .4byte lbl_802911DC - .4byte lbl_80291744 - .4byte lbl_80291744 - .4byte lbl_802908F0 - .4byte lbl_80290AD0 - .4byte lbl_80290B24 - .4byte lbl_80291744 - .4byte lbl_80291744 - .4byte lbl_80291744 - .4byte lbl_80291744 - .4byte lbl_80291744 - .4byte lbl_80291330 - .4byte lbl_8029142C + .4byte AcceptScriptMsg_Default + .4byte AcceptScriptMsg_Activate + .4byte AcceptScriptMsg_Default + .4byte AcceptScriptMsg_Default + .4byte AcceptScriptMsg_Deactivate + .4byte AcceptScriptMsg_Decrement + .4byte AcceptScriptMsg_Default + .4byte AcceptScriptMsg_Increment + .4byte AcceptScriptMsg_Default + .4byte AcceptScriptMsg_Open + .4byte AcceptScriptMsg_Reset + .4byte AcceptScriptMsg_Default + .4byte AcceptScriptMsg_SetToMax + .4byte AcceptScriptMsg_SetToZero + .4byte AcceptScriptMsg_Start + .4byte AcceptScriptMsg_Stop + .4byte AcceptScriptMsg_StopAndReset + .4byte AcceptScriptMsg_Default + .4byte AcceptScriptMsg_UNKM18 + .4byte AcceptScriptMsg_Action + .4byte AcceptScriptMsg_Default + .4byte AcceptScriptMsg_Alert + .4byte AcceptScriptMsg_Default + .4byte AcceptScriptMsg_Default + .4byte AcceptScriptMsg_Default + .4byte AcceptScriptMsg_Default + .4byte AcceptScriptMsg_Default + .4byte AcceptScriptMsg_Default + .4byte AcceptScriptMsg_Default + .4byte AcceptScriptMsg_Default + .4byte AcceptScriptMsg_Touched + .4byte AcceptScriptMsg_Default + .4byte AcceptScriptMsg_Default + .4byte AcceptScriptMsg_Registered + .4byte AcceptScriptMsg_Deleted + .4byte AcceptScriptMsg_InitializedInArea + .4byte AcceptScriptMsg_Default + .4byte AcceptScriptMsg_Default + .4byte AcceptScriptMsg_Default + .4byte AcceptScriptMsg_Default + .4byte AcceptScriptMsg_Default + .4byte AcceptScriptMsg_Damaged + .4byte AcceptScriptMsg_InvulnDamage .global lbl_803EB868 lbl_803EB868: @@ -6404,6 +6404,1038 @@ lbl_80290894: /* 802908A8 0028D808 38 21 00 20 */ addi r1, r1, 0x20 /* 802908AC 0028D80C 4E 80 00 20 */ blr +.if version == 1 + +.global AcceptScriptMsg__12COmegaPirateF20EScriptObjectMessage9TUniqueIdR13CStateManager +AcceptScriptMsg__12COmegaPirateF20EScriptObjectMessage9TUniqueIdR13CStateManager: +/* 8029092C 0028D88C 94 21 FD 90 */ stwu r1, -0x270(r1) +/* 80290930 0028D890 7C 08 02 A6 */ mflr r0 +/* 80290934 0028D894 90 01 02 74 */ stw r0, 0x274(r1) +/* 80290938 0028D898 BE 41 02 38 */ stmw r18, 0x238(r1) +/* 8029093C 0028D89C 7C 95 23 78 */ mr r21, r4 +/* 80290940 0028D8A0 28 15 00 2A */ cmplwi r21, 0x2a +/* 80290944 0028D8A4 7C 7F 1B 78 */ mr r31, r3 +/* 80290948 0028D8A8 7C B4 2B 78 */ mr r20, r5 +/* 8029094C 0028D8AC 7C DE 33 78 */ mr r30, r6 +/* 80290950 0028D8B0 41 81 0E A0 */ bgt AcceptScriptMsg_Default +/* 80290954 0028D8B4 3C A0 80 3F */ lis r5, AcceptScriptMsg_jumptable@ha +/* 80290958 0028D8B8 56 A0 10 3A */ slwi r0, r21, 2 +/* 8029095C 0028D8BC 38 A5 B9 9C */ addi r5, r5, AcceptScriptMsg_jumptable@l +/* 80290960 0028D8C0 7C 05 00 2E */ lwzx r0, r5, r0 +/* 80290964 0028D8C4 7C 09 03 A6 */ mtctr r0 +/* 80290968 0028D8C8 4E 80 04 20 */ bctr +AcceptScriptMsg_Registered: +/* 8029096C 0028D8CC A0 14 00 00 */ lhz r0, 0x0(r20) +/* 80290970 0028D8D0 38 A1 00 9C */ addi r5, r1, 0x9c +/* 80290974 0028D8D4 B0 01 00 9C */ sth r0, 0x9c(r1) +/* 80290978 0028D8D8 4B F9 C2 D1 */ bl AcceptScriptMsg__12CElitePirateF20EScriptObjectMessage9TUniqueIdR13CStateManager +/* 8029097C 0028D8DC 7F C4 F3 78 */ mr r4, r30 +/* 80290980 0028D8E0 38 61 00 98 */ addi r3, r1, 0x98 +/* 80290984 0028D8E4 4B DB C7 D5 */ bl AllocateUniqueId__13CStateManagerFv +/* 80290988 0028D8E8 A0 01 00 98 */ lhz r0, 0x98(r1) +/* 8029098C 0028D8EC 7F E3 FB 78 */ mr r3, r31 +/* 80290990 0028D8F0 7F C4 F3 78 */ mr r4, r30 +/* 80290994 0028D8F4 38 A1 00 94 */ addi r5, r1, 0x94 +/* 80290998 0028D8F8 B0 1F 09 90 */ sth r0, 0x990(r31) +/* 8029099C 0028D8FC A0 1F 09 90 */ lhz r0, 0x990(r31) +/* 802909A0 0028D900 B0 01 00 94 */ sth r0, 0x94(r1) +/* 802909A4 0028D904 4B F9 81 85 */ bl sub_80228aac +/* 802909A8 0028D908 7F E3 FB 78 */ mr r3, r31 +/* 802909AC 0028D90C 7F C4 F3 78 */ mr r4, r30 +/* 802909B0 0028D910 4B FF CB 2D */ bl sub_8028d460 +/* 802909B4 0028D914 80 7F 04 50 */ lwz r3, 0x450(r31) +/* 802909B8 0028D918 38 80 00 08 */ li r4, 0x8 +/* 802909BC 0028D91C 4B EA A0 99 */ bl SetLocomotionType__15CBodyControllerFQ23pas15ELocomotionType +/* 802909C0 0028D920 88 1F 04 02 */ lbz r0, 0x402(r31) +/* 802909C4 0028D924 38 60 00 00 */ li r3, 0x0 +/* 802909C8 0028D928 50 60 26 F6 */ rlwimi r0, r3, 4, 27, 27 +/* 802909CC 0028D92C 38 7F 0A 4C */ addi r3, r31, 0xa4c +/* 802909D0 0028D930 98 1F 04 02 */ stb r0, 0x402(r31) +/* 802909D4 0028D934 38 9F 00 34 */ addi r4, r31, 0x34 +/* 802909D8 0028D938 48 08 22 49 */ bl __as__12CTransform4fFRC12CTransform4f +/* 802909DC 0028D93C 7F E3 FB 78 */ mr r3, r31 +/* 802909E0 0028D940 7F C4 F3 78 */ mr r4, r30 +/* 802909E4 0028D944 81 9F 00 00 */ lwz r12, 0x0(r31) +/* 802909E8 0028D948 81 8C 00 34 */ lwz r12, 0x34(r12) +/* 802909EC 0028D94C 7D 89 03 A6 */ mtctr r12 +/* 802909F0 0028D950 4E 80 04 21 */ bctrl +/* 802909F4 0028D954 C0 03 00 00 */ lfs f0, 0x0(r3) +/* 802909F8 0028D958 7F C3 F3 78 */ mr r3, r30 +/* 802909FC 0028D95C 38 81 00 90 */ addi r4, r1, 0x90 +/* 80290A00 0028D960 D0 1F 0A 98 */ stfs f0, 0xa98(r31) +/* 80290A04 0028D964 A0 1F 07 72 */ lhz r0, 0x772(r31) +/* 80290A08 0028D968 B0 01 00 8C */ sth r0, 0x8c(r1) +/* 80290A0C 0028D96C B0 01 00 90 */ sth r0, 0x90(r1) +/* 80290A10 0028D970 4B DB BB E1 */ bl ObjectById__13CStateManagerF9TUniqueId +/* 80290A14 0028D974 A0 1F 09 90 */ lhz r0, 0x990(r31) +/* 80290A18 0028D978 7C 72 1B 78 */ mr r18, r3 +/* 80290A1C 0028D97C 7F C3 F3 78 */ mr r3, r30 +/* 80290A20 0028D980 38 81 00 88 */ addi r4, r1, 0x88 +/* 80290A24 0028D984 B0 01 00 88 */ sth r0, 0x88(r1) +/* 80290A28 0028D988 4B DB BB C9 */ bl ObjectById__13CStateManagerF9TUniqueId +/* 80290A2C 0028D98C 28 12 00 00 */ cmplwi r18, 0x0 +/* 80290A30 0028D990 7C 73 1B 78 */ mr r19, r3 +/* 80290A34 0028D994 41 82 00 14 */ beq lbl_80290A48 +/* 80290A38 0028D998 7E 43 93 78 */ mr r3, r18 +/* 80290A3C 0028D99C 7F C5 F3 78 */ mr r5, r30 +/* 80290A40 0028D9A0 38 80 00 27 */ li r4, 0x27 +/* 80290A44 0028D9A4 4B DC 35 B9 */ bl RemoveMaterial__6CActorF14EMaterialTypesR13CStateManager +lbl_80290A48: +/* 80290A48 0028D9A8 28 13 00 00 */ cmplwi r19, 0x0 +/* 80290A4C 0028D9AC 41 82 00 14 */ beq lbl_80290A60 +/* 80290A50 0028D9B0 7E 63 9B 78 */ mr r3, r19 +/* 80290A54 0028D9B4 7F C5 F3 78 */ mr r5, r30 +/* 80290A58 0028D9B8 38 80 00 27 */ li r4, 0x27 +/* 80290A5C 0028D9BC 4B DC 35 A1 */ bl RemoveMaterial__6CActorF14EMaterialTypesR13CStateManager +lbl_80290A60: +/* 80290A60 0028D9C0 38 7F 04 60 */ addi r3, r31, 0x460 +/* 80290A64 0028D9C4 38 80 00 00 */ li r4, 0x0 +/* 80290A68 0028D9C8 4B FA 33 79 */ bl SetAutoResetImpulse__20CKnockBackControllerFb +/* 80290A6C 0028D9CC 7F E3 FB 78 */ mr r3, r31 +/* 80290A70 0028D9D0 4B F9 88 55 */ bl sub_80229248 +/* 80290A74 0028D9D4 48 00 0D 98 */ b lbl_8029180C +AcceptScriptMsg_Activate: +/* 80290A78 0028D9D8 A0 14 00 00 */ lhz r0, 0x0(r20) +/* 80290A7C 0028D9DC 38 A1 00 84 */ addi r5, r1, 0x84 +/* 80290A80 0028D9E0 B0 01 00 84 */ sth r0, 0x84(r1) +/* 80290A84 0028D9E4 4B F9 C1 C5 */ bl AcceptScriptMsg__12CElitePirateF20EScriptObjectMessage9TUniqueIdR13CStateManager +/* 80290A88 0028D9E8 80 7F 0A 38 */ lwz r3, 0xa38(r31) +/* 80290A8C 0028D9EC 7F C4 F3 78 */ mr r4, r30 +/* 80290A90 0028D9F0 38 A0 00 01 */ li r5, 0x1 +/* 80290A94 0028D9F4 4B F1 68 E1 */ bl SetActive__22CCollisionActorManagerFR13CStateManagerb +/* 80290A98 0028D9F8 80 7F 0A 9C */ lwz r3, 0xa9c(r31) +/* 80290A9C 0028D9FC 7F C4 F3 78 */ mr r4, r30 +/* 80290AA0 0028DA00 38 A0 00 01 */ li r5, 0x1 +/* 80290AA4 0028DA04 4B F1 68 D1 */ bl SetActive__22CCollisionActorManagerFR13CStateManagerb +/* 80290AA8 0028DA08 38 7F 04 60 */ addi r3, r31, 0x460 +/* 80290AAC 0028DA0C 38 80 00 00 */ li r4, 0x0 +/* 80290AB0 0028DA10 4B FA 33 31 */ bl SetAutoResetImpulse__20CKnockBackControllerFb +/* 80290AB4 0028DA14 A0 1F 09 90 */ lhz r0, 0x990(r31) +/* 80290AB8 0028DA18 7F C3 F3 78 */ mr r3, r30 +/* 80290ABC 0028DA1C 38 81 00 80 */ addi r4, r1, 0x80 +/* 80290AC0 0028DA20 B0 01 00 80 */ sth r0, 0x80(r1) +/* 80290AC4 0028DA24 4B DB BB 2D */ bl ObjectById__13CStateManagerF9TUniqueId +/* 80290AC8 0028DA28 28 03 00 00 */ cmplwi r3, 0x0 +/* 80290ACC 0028DA2C 41 82 0D 40 */ beq lbl_8029180C +/* 80290AD0 0028DA30 81 83 00 00 */ lwz r12, 0x0(r3) +/* 80290AD4 0028DA34 38 80 00 01 */ li r4, 0x1 +/* 80290AD8 0028DA38 81 8C 00 1C */ lwz r12, 0x1c(r12) +/* 80290ADC 0028DA3C 7D 89 03 A6 */ mtctr r12 +/* 80290AE0 0028DA40 4E 80 04 21 */ bctrl +/* 80290AE4 0028DA44 48 00 0D 28 */ b lbl_8029180C +AcceptScriptMsg_Deactivate: +/* 80290AE8 0028DA48 A0 14 00 00 */ lhz r0, 0x0(r20) +/* 80290AEC 0028DA4C 38 A1 00 7C */ addi r5, r1, 0x7c +/* 80290AF0 0028DA50 B0 01 00 7C */ sth r0, 0x7c(r1) +/* 80290AF4 0028DA54 4B F9 C1 55 */ bl AcceptScriptMsg__12CElitePirateF20EScriptObjectMessage9TUniqueIdR13CStateManager +/* 80290AF8 0028DA58 80 7F 0A 38 */ lwz r3, 0xa38(r31) +/* 80290AFC 0028DA5C 7F C4 F3 78 */ mr r4, r30 +/* 80290B00 0028DA60 38 A0 00 00 */ li r5, 0x0 +/* 80290B04 0028DA64 4B F1 68 71 */ bl SetActive__22CCollisionActorManagerFR13CStateManagerb +/* 80290B08 0028DA68 80 7F 0A 9C */ lwz r3, 0xa9c(r31) +/* 80290B0C 0028DA6C 7F C4 F3 78 */ mr r4, r30 +/* 80290B10 0028DA70 38 A0 00 00 */ li r5, 0x0 +/* 80290B14 0028DA74 4B F1 68 61 */ bl SetActive__22CCollisionActorManagerFR13CStateManagerb +/* 80290B18 0028DA78 A0 1F 09 90 */ lhz r0, 0x990(r31) +/* 80290B1C 0028DA7C 7F C3 F3 78 */ mr r3, r30 +/* 80290B20 0028DA80 38 81 00 78 */ addi r4, r1, 0x78 +/* 80290B24 0028DA84 B0 01 00 78 */ sth r0, 0x78(r1) +/* 80290B28 0028DA88 4B DB BA C9 */ bl ObjectById__13CStateManagerF9TUniqueId +/* 80290B2C 0028DA8C 28 03 00 00 */ cmplwi r3, 0x0 +/* 80290B30 0028DA90 41 82 0C DC */ beq lbl_8029180C +/* 80290B34 0028DA94 81 83 00 00 */ lwz r12, 0x0(r3) +/* 80290B38 0028DA98 38 80 00 00 */ li r4, 0x0 +/* 80290B3C 0028DA9C 81 8C 00 1C */ lwz r12, 0x1c(r12) +/* 80290B40 0028DAA0 7D 89 03 A6 */ mtctr r12 +/* 80290B44 0028DAA4 4E 80 04 21 */ bctrl +/* 80290B48 0028DAA8 48 00 0C C4 */ b lbl_8029180C +AcceptScriptMsg_Deleted: +/* 80290B4C 0028DAAC A0 14 00 00 */ lhz r0, 0x0(r20) +/* 80290B50 0028DAB0 38 A1 00 74 */ addi r5, r1, 0x74 +/* 80290B54 0028DAB4 B0 01 00 74 */ sth r0, 0x74(r1) +/* 80290B58 0028DAB8 4B F9 C0 F1 */ bl AcceptScriptMsg__12CElitePirateF20EScriptObjectMessage9TUniqueIdR13CStateManager +/* 80290B5C 0028DABC 80 7F 0A 38 */ lwz r3, 0xa38(r31) +/* 80290B60 0028DAC0 7F C4 F3 78 */ mr r4, r30 +/* 80290B64 0028DAC4 4B F1 68 DD */ bl Destroy__22CCollisionActorManagerCFR13CStateManager +/* 80290B68 0028DAC8 80 7F 0A 9C */ lwz r3, 0xa9c(r31) +/* 80290B6C 0028DACC 7F C4 F3 78 */ mr r4, r30 +/* 80290B70 0028DAD0 4B F1 68 D1 */ bl Destroy__22CCollisionActorManagerCFR13CStateManager +/* 80290B74 0028DAD4 A0 1F 09 90 */ lhz r0, 0x990(r31) +/* 80290B78 0028DAD8 7F C3 F3 78 */ mr r3, r30 +/* 80290B7C 0028DADC 38 81 00 70 */ addi r4, r1, 0x70 +/* 80290B80 0028DAE0 B0 01 00 70 */ sth r0, 0x70(r1) +/* 80290B84 0028DAE4 4B DB B7 65 */ bl FreeScriptObject__13CStateManagerF9TUniqueId +/* 80290B88 0028DAE8 48 00 0C 84 */ b lbl_8029180C +AcceptScriptMsg_Alert: +/* 80290B8C 0028DAEC A0 14 00 00 */ lhz r0, 0x0(r20) +/* 80290B90 0028DAF0 38 A1 00 6C */ addi r5, r1, 0x6c +/* 80290B94 0028DAF4 B0 01 00 6C */ sth r0, 0x6c(r1) +/* 80290B98 0028DAF8 4B F9 C0 B1 */ bl AcceptScriptMsg__12CElitePirateF20EScriptObjectMessage9TUniqueIdR13CStateManager +/* 80290B9C 0028DAFC 48 00 0C 70 */ b lbl_8029180C +AcceptScriptMsg_InitializedInArea: +/* 80290BA0 0028DB00 A0 14 00 00 */ lhz r0, 0x0(r20) +/* 80290BA4 0028DB04 38 A1 00 68 */ addi r5, r1, 0x68 +/* 80290BA8 0028DB08 B0 01 00 68 */ sth r0, 0x68(r1) +/* 80290BAC 0028DB0C 4B F9 C0 9D */ bl AcceptScriptMsg__12CElitePirateF20EScriptObjectMessage9TUniqueIdR13CStateManager +/* 80290BB0 0028DB10 83 1F 00 24 */ lwz r24, 0x24(r31) +/* 80290BB4 0028DB14 3B 21 02 20 */ addi r25, r1, 0x220 +/* 80290BB8 0028DB18 3B 41 02 0C */ addi r26, r1, 0x20c +/* 80290BBC 0028DB1C 3B 61 01 DC */ addi r27, r1, 0x1dc +/* 80290BC0 0028DB20 3A E1 01 C8 */ addi r23, r1, 0x1c8 +/* 80290BC4 0028DB24 3B A0 00 00 */ li r29, 0x0 +/* 80290BC8 0028DB28 3B 80 00 00 */ li r28, 0x0 +/* 80290BCC 0028DB2C 48 00 06 80 */ b lbl_8029124C +lbl_80290BD0: +/* 80290BD0 0028DB30 80 1F 00 2C */ lwz r0, 0x2c(r31) +/* 80290BD4 0028DB34 7F C4 F3 78 */ mr r4, r30 +/* 80290BD8 0028DB38 38 61 00 64 */ addi r3, r1, 0x64 +/* 80290BDC 0028DB3C 38 A1 00 D0 */ addi r5, r1, 0xd0 +/* 80290BE0 0028DB40 7E 60 E2 14 */ add r19, r0, r28 +/* 80290BE4 0028DB44 80 13 00 08 */ lwz r0, 0x8(r19) +/* 80290BE8 0028DB48 90 01 00 D0 */ stw r0, 0xd0(r1) +/* 80290BEC 0028DB4C 4B DB 73 AD */ bl GetIdForScript__13CStateManagerCF9TEditorId +/* 80290BF0 0028DB50 80 13 00 00 */ lwz r0, 0x0(r19) +/* 80290BF4 0028DB54 A0 81 00 64 */ lhz r4, 0x64(r1) +/* 80290BF8 0028DB58 2C 00 00 0A */ cmpwi r0, 0xa +/* 80290BFC 0028DB5C B0 81 00 A8 */ sth r4, 0xa8(r1) +/* 80290C00 0028DB60 40 82 06 44 */ bne lbl_80291244 +/* 80290C04 0028DB64 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) +/* 80290C08 0028DB68 54 83 04 3E */ clrlwi r3, r4, 16 +/* 80290C0C 0028DB6C 7C 03 00 40 */ cmplw r3, r0 +/* 80290C10 0028DB70 41 82 06 34 */ beq lbl_80291244 +/* 80290C14 0028DB74 80 13 00 04 */ lwz r0, 0x4(r19) +/* 80290C18 0028DB78 2C 00 00 01 */ cmpwi r0, 0x1 +/* 80290C1C 0028DB7C 40 82 03 D0 */ bne lbl_80290FEC +/* 80290C20 0028DB80 B0 81 00 60 */ sth r4, 0x60(r1) +/* 80290C24 0028DB84 7F C3 F3 78 */ mr r3, r30 +/* 80290C28 0028DB88 38 81 00 60 */ addi r4, r1, 0x60 +/* 80290C2C 0028DB8C 4B DB B9 C5 */ bl ObjectById__13CStateManagerF9TUniqueId +/* 80290C30 0028DB90 7C 64 1B 78 */ mr r4, r3 +/* 80290C34 0028DB94 38 61 01 14 */ addi r3, r1, 0x114 +/* 80290C38 0028DB98 4B E1 92 21 */ bl "__ct__27TCastToPtr<13CScriptEffect>FP7CEntity" +/* 80290C3C 0028DB9C 80 83 00 04 */ lwz r4, 0x4(r3) +/* 80290C40 0028DBA0 28 04 00 00 */ cmplwi r4, 0x0 +/* 80290C44 0028DBA4 41 82 00 88 */ beq lbl_80290CCC +/* 80290C48 0028DBA8 A0 01 00 A8 */ lhz r0, 0xa8(r1) +/* 80290C4C 0028DBAC 7F 23 CB 78 */ mr r3, r25 +/* 80290C50 0028DBB0 38 84 00 10 */ addi r4, r4, 0x10 +/* 80290C54 0028DBB4 B0 01 02 1C */ sth r0, 0x21c(r1) +/* 80290C58 0028DBB8 48 0A D5 E9 */ bl "__ct__Q24rstl66basic_string,Q24rstl17rmemory_allocator>FRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>" +/* 80290C5C 0028DBBC 80 1F 09 BC */ lwz r0, 0x9bc(r31) +/* 80290C60 0028DBC0 80 BF 09 C0 */ lwz r5, 0x9c0(r31) +/* 80290C64 0028DBC4 7C 00 28 00 */ cmpw r0, r5 +/* 80290C68 0028DBC8 41 80 00 1C */ blt lbl_80290C84 +/* 80290C6C 0028DBCC 2C 05 00 00 */ cmpwi r5, 0x0 +/* 80290C70 0028DBD0 38 7F 09 B8 */ addi r3, r31, 0x9b8 +/* 80290C74 0028DBD4 38 80 00 04 */ li r4, 0x4 +/* 80290C78 0028DBD8 41 82 00 08 */ beq lbl_80290C80 +/* 80290C7C 0028DBDC 54 A4 08 3C */ slwi r4, r5, 1 +lbl_80290C80: +/* 80290C80 0028DBE0 48 00 18 15 */ bl sub_802923e8 +lbl_80290C84: +/* 80290C84 0028DBE4 80 1F 09 BC */ lwz r0, 0x9bc(r31) +/* 80290C88 0028DBE8 80 7F 09 C4 */ lwz r3, 0x9c4(r31) +/* 80290C8C 0028DBEC 1C 00 00 14 */ mulli r0, r0, 0x14 +/* 80290C90 0028DBF0 7C A3 02 15 */ add. r5, r3, r0 +/* 80290C94 0028DBF4 41 82 00 18 */ beq lbl_80290CAC +/* 80290C98 0028DBF8 A0 01 02 1C */ lhz r0, 0x21c(r1) +/* 80290C9C 0028DBFC 7F 24 CB 78 */ mr r4, r25 +/* 80290CA0 0028DC00 38 65 00 04 */ addi r3, r5, 0x4 +/* 80290CA4 0028DC04 B0 05 00 00 */ sth r0, 0x0(r5) +/* 80290CA8 0028DC08 48 0A D5 99 */ bl "__ct__Q24rstl66basic_string,Q24rstl17rmemory_allocator>FRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>" +lbl_80290CAC: +/* 80290CAC 0028DC0C 80 7F 09 BC */ lwz r3, 0x9bc(r31) +/* 80290CB0 0028DC10 28 19 00 00 */ cmplwi r25, 0x0 +/* 80290CB4 0028DC14 38 03 00 01 */ addi r0, r3, 0x1 +/* 80290CB8 0028DC18 90 1F 09 BC */ stw r0, 0x9bc(r31) +/* 80290CBC 0028DC1C 41 82 05 88 */ beq lbl_80291244 +/* 80290CC0 0028DC20 7F 23 CB 78 */ mr r3, r25 +/* 80290CC4 0028DC24 48 0A CE FD */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" +/* 80290CC8 0028DC28 48 00 05 7C */ b lbl_80291244 +lbl_80290CCC: +/* 80290CCC 0028DC2C A0 01 00 A8 */ lhz r0, 0xa8(r1) +/* 80290CD0 0028DC30 7F C3 F3 78 */ mr r3, r30 +/* 80290CD4 0028DC34 38 81 00 5C */ addi r4, r1, 0x5c +/* 80290CD8 0028DC38 B0 01 00 5C */ sth r0, 0x5c(r1) +/* 80290CDC 0028DC3C 4B DB B9 15 */ bl ObjectById__13CStateManagerF9TUniqueId +/* 80290CE0 0028DC40 7C 64 1B 78 */ mr r4, r3 +/* 80290CE4 0028DC44 38 61 01 0C */ addi r3, r1, 0x10c +/* 80290CE8 0028DC48 4B E1 81 A9 */ bl "__ct__29TCastToPtr<15CScriptPlatform>FP7CEntity" +/* 80290CEC 0028DC4C 82 C3 00 04 */ lwz r22, 0x4(r3) +/* 80290CF0 0028DC50 28 16 00 00 */ cmplwi r22, 0x0 +/* 80290CF4 0028DC54 41 82 02 48 */ beq lbl_80290F3C +/* 80290CF8 0028DC58 A0 01 00 A8 */ lhz r0, 0xa8(r1) +/* 80290CFC 0028DC5C 7F 43 D3 78 */ mr r3, r26 +/* 80290D00 0028DC60 38 96 00 10 */ addi r4, r22, 0x10 +/* 80290D04 0028DC64 B0 01 02 08 */ sth r0, 0x208(r1) +/* 80290D08 0028DC68 48 0A D5 39 */ bl "__ct__Q24rstl66basic_string,Q24rstl17rmemory_allocator>FRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>" +/* 80290D0C 0028DC6C 80 1F 09 E0 */ lwz r0, 0x9e0(r31) +/* 80290D10 0028DC70 80 BF 09 E4 */ lwz r5, 0x9e4(r31) +/* 80290D14 0028DC74 7C 00 28 00 */ cmpw r0, r5 +/* 80290D18 0028DC78 41 80 00 1C */ blt lbl_80290D34 +/* 80290D1C 0028DC7C 2C 05 00 00 */ cmpwi r5, 0x0 +/* 80290D20 0028DC80 38 7F 09 DC */ addi r3, r31, 0x9dc +/* 80290D24 0028DC84 38 80 00 04 */ li r4, 0x4 +/* 80290D28 0028DC88 41 82 00 08 */ beq lbl_80290D30 +/* 80290D2C 0028DC8C 54 A4 08 3C */ slwi r4, r5, 1 +lbl_80290D30: +/* 80290D30 0028DC90 48 00 17 65 */ bl sub_802923e8 +lbl_80290D34: +/* 80290D34 0028DC94 80 1F 09 E0 */ lwz r0, 0x9e0(r31) +/* 80290D38 0028DC98 80 7F 09 E8 */ lwz r3, 0x9e8(r31) +/* 80290D3C 0028DC9C 1C 00 00 14 */ mulli r0, r0, 0x14 +/* 80290D40 0028DCA0 7C A3 02 15 */ add. r5, r3, r0 +/* 80290D44 0028DCA4 41 82 00 18 */ beq lbl_80290D5C +/* 80290D48 0028DCA8 A0 01 02 08 */ lhz r0, 0x208(r1) +/* 80290D4C 0028DCAC 7F 44 D3 78 */ mr r4, r26 +/* 80290D50 0028DCB0 38 65 00 04 */ addi r3, r5, 0x4 +/* 80290D54 0028DCB4 B0 05 00 00 */ sth r0, 0x0(r5) +/* 80290D58 0028DCB8 48 0A D4 E9 */ bl "__ct__Q24rstl66basic_string,Q24rstl17rmemory_allocator>FRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>" +lbl_80290D5C: +/* 80290D5C 0028DCBC 80 7F 09 E0 */ lwz r3, 0x9e0(r31) +/* 80290D60 0028DCC0 28 1A 00 00 */ cmplwi r26, 0x0 +/* 80290D64 0028DCC4 38 03 00 01 */ addi r0, r3, 0x1 +/* 80290D68 0028DCC8 90 1F 09 E0 */ stw r0, 0x9e0(r31) +/* 80290D6C 0028DCCC 41 82 00 0C */ beq lbl_80290D78 +/* 80290D70 0028DCD0 7F 43 D3 78 */ mr r3, r26 +/* 80290D74 0028DCD4 48 0A CE 4D */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" +lbl_80290D78: +/* 80290D78 0028DCD8 7E C3 B3 78 */ mr r3, r22 +/* 80290D7C 0028DCDC 7F C5 F3 78 */ mr r5, r30 +/* 80290D80 0028DCE0 38 80 00 28 */ li r4, 0x28 +/* 80290D84 0028DCE4 4B DC 36 49 */ bl AddMaterial__6CActorF14EMaterialTypesR13CStateManager +/* 80290D88 0028DCE8 7E C3 B3 78 */ mr r3, r22 +/* 80290D8C 0028DCEC 7F C5 F3 78 */ mr r5, r30 +/* 80290D90 0028DCF0 38 80 00 29 */ li r4, 0x29 +/* 80290D94 0028DCF4 4B DC 36 39 */ bl AddMaterial__6CActorF14EMaterialTypesR13CStateManager +/* 80290D98 0028DCF8 7E C3 B3 78 */ mr r3, r22 +/* 80290D9C 0028DCFC 7F C5 F3 78 */ mr r5, r30 +/* 80290DA0 0028DD00 38 80 00 21 */ li r4, 0x21 +/* 80290DA4 0028DD04 4B DC 36 29 */ bl AddMaterial__6CActorF14EMaterialTypesR13CStateManager +/* 80290DA8 0028DD08 7E C3 B3 78 */ mr r3, r22 +/* 80290DAC 0028DD0C 7F C5 F3 78 */ mr r5, r30 +/* 80290DB0 0028DD10 38 80 00 27 */ li r4, 0x27 +/* 80290DB4 0028DD14 4B DC 32 49 */ bl RemoveMaterial__6CActorF14EMaterialTypesR13CStateManager +/* 80290DB8 0028DD18 7E C3 B3 78 */ mr r3, r22 +/* 80290DBC 0028DD1C 4B DC 2B 7D */ bl GetMaterialFilter__6CActorCFv +/* 80290DC0 0028DD20 80 AD 99 8C */ lwz r5, lbl_805A854C@sda21(r13) +/* 80290DC4 0028DD24 38 80 00 01 */ li r4, 0x1 +/* 80290DC8 0028DD28 82 A3 00 08 */ lwz r21, 0x8(r3) +/* 80290DCC 0028DD2C 82 83 00 0C */ lwz r20, 0xc(r3) +/* 80290DD0 0028DD30 38 60 00 00 */ li r3, 0x0 +/* 80290DD4 0028DD34 48 0F 92 FD */ bl __shl2i +/* 80290DD8 0028DD38 80 AD 99 90 */ lwz r5, lbl_805A8550@sda21(r13) +/* 80290DDC 0028DD3C 7C 93 23 78 */ mr r19, r4 +/* 80290DE0 0028DD40 7C 72 1B 78 */ mr r18, r3 +/* 80290DE4 0028DD44 38 60 00 00 */ li r3, 0x0 +/* 80290DE8 0028DD48 38 80 00 01 */ li r4, 0x1 +/* 80290DEC 0028DD4C 48 0F 92 E5 */ bl __shl2i +/* 80290DF0 0028DD50 80 AD 99 94 */ lwz r5, lbl_805A8554@sda21(r13) +/* 80290DF4 0028DD54 7E 73 23 78 */ or r19, r19, r4 +/* 80290DF8 0028DD58 7E 52 1B 78 */ or r18, r18, r3 +/* 80290DFC 0028DD5C 38 60 00 00 */ li r3, 0x0 +/* 80290E00 0028DD60 38 80 00 01 */ li r4, 0x1 +/* 80290E04 0028DD64 48 0F 92 CD */ bl __shl2i +/* 80290E08 0028DD68 7E 52 1B 78 */ or r18, r18, r3 +/* 80290E0C 0028DD6C 7E 73 23 78 */ or r19, r19, r4 +/* 80290E10 0028DD70 7F E3 FB 78 */ mr r3, r31 +/* 80290E14 0028DD74 7E 94 9B 78 */ or r20, r20, r19 +/* 80290E18 0028DD78 7E B5 93 78 */ or r21, r21, r18 +/* 80290E1C 0028DD7C 4B DC 2B 1D */ bl GetMaterialFilter__6CActorCFv +/* 80290E20 0028DD80 80 A3 00 00 */ lwz r5, 0x0(r3) +/* 80290E24 0028DD84 38 00 00 03 */ li r0, 0x3 +/* 80290E28 0028DD88 80 C3 00 04 */ lwz r6, 0x4(r3) +/* 80290E2C 0028DD8C 7E C3 B3 78 */ mr r3, r22 +/* 80290E30 0028DD90 38 81 01 F0 */ addi r4, r1, 0x1f0 +/* 80290E34 0028DD94 90 C1 01 F4 */ stw r6, 0x1f4(r1) +/* 80290E38 0028DD98 90 A1 01 F0 */ stw r5, 0x1f0(r1) +/* 80290E3C 0028DD9C 92 81 01 FC */ stw r20, 0x1fc(r1) +/* 80290E40 0028DDA0 92 A1 01 F8 */ stw r21, 0x1f8(r1) +/* 80290E44 0028DDA4 90 01 02 00 */ stw r0, 0x200(r1) +/* 80290E48 0028DDA8 4B DC 2A D5 */ bl SetMaterialFilter__6CActorFRC15CMaterialFilter +/* 80290E4C 0028DDAC 7E C3 B3 78 */ mr r3, r22 +/* 80290E50 0028DDB0 81 96 00 00 */ lwz r12, 0x0(r22) +/* 80290E54 0028DDB4 81 8C 00 38 */ lwz r12, 0x38(r12) +/* 80290E58 0028DDB8 7D 89 03 A6 */ mtctr r12 +/* 80290E5C 0028DDBC 4E 80 04 21 */ bctrl +/* 80290E60 0028DDC0 80 83 00 00 */ lwz r4, 0x0(r3) +/* 80290E64 0028DDC4 80 03 00 04 */ lwz r0, 0x4(r3) +/* 80290E68 0028DDC8 90 9F 0A E4 */ stw r4, 0xae4(r31) +/* 80290E6C 0028DDCC 90 1F 0A E8 */ stw r0, 0xae8(r31) +/* 80290E70 0028DDD0 80 83 00 08 */ lwz r4, 0x8(r3) +/* 80290E74 0028DDD4 80 03 00 0C */ lwz r0, 0xc(r3) +/* 80290E78 0028DDD8 90 9F 0A EC */ stw r4, 0xaec(r31) +/* 80290E7C 0028DDDC 90 1F 0A F0 */ stw r0, 0xaf0(r31) +/* 80290E80 0028DDE0 80 83 00 10 */ lwz r4, 0x10(r3) +/* 80290E84 0028DDE4 80 03 00 14 */ lwz r0, 0x14(r3) +/* 80290E88 0028DDE8 90 9F 0A F4 */ stw r4, 0xaf4(r31) +/* 80290E8C 0028DDEC 90 1F 0A F8 */ stw r0, 0xaf8(r31) +/* 80290E90 0028DDF0 80 83 00 18 */ lwz r4, 0x18(r3) +/* 80290E94 0028DDF4 80 03 00 1C */ lwz r0, 0x1c(r3) +/* 80290E98 0028DDF8 90 9F 0A FC */ stw r4, 0xafc(r31) +/* 80290E9C 0028DDFC 90 1F 0B 00 */ stw r0, 0xb00(r31) +/* 80290EA0 0028DE00 80 83 00 20 */ lwz r4, 0x20(r3) +/* 80290EA4 0028DE04 80 03 00 24 */ lwz r0, 0x24(r3) +/* 80290EA8 0028DE08 90 9F 0B 04 */ stw r4, 0xb04(r31) +/* 80290EAC 0028DE0C 90 1F 0B 08 */ stw r0, 0xb08(r31) +/* 80290EB0 0028DE10 80 83 00 28 */ lwz r4, 0x28(r3) +/* 80290EB4 0028DE14 80 03 00 2C */ lwz r0, 0x2c(r3) +/* 80290EB8 0028DE18 90 9F 0B 0C */ stw r4, 0xb0c(r31) +/* 80290EBC 0028DE1C 90 1F 0B 10 */ stw r0, 0xb10(r31) +/* 80290EC0 0028DE20 80 83 00 30 */ lwz r4, 0x30(r3) +/* 80290EC4 0028DE24 80 03 00 34 */ lwz r0, 0x34(r3) +/* 80290EC8 0028DE28 90 9F 0B 14 */ stw r4, 0xb14(r31) +/* 80290ECC 0028DE2C 90 1F 0B 18 */ stw r0, 0xb18(r31) +/* 80290ED0 0028DE30 80 03 00 38 */ lwz r0, 0x38(r3) +/* 80290ED4 0028DE34 90 1F 0B 1C */ stw r0, 0xb1c(r31) +/* 80290ED8 0028DE38 80 83 00 3C */ lwz r4, 0x3c(r3) +/* 80290EDC 0028DE3C 80 03 00 40 */ lwz r0, 0x40(r3) +/* 80290EE0 0028DE40 90 9F 0B 20 */ stw r4, 0xb20(r31) +/* 80290EE4 0028DE44 90 1F 0B 24 */ stw r0, 0xb24(r31) +/* 80290EE8 0028DE48 80 83 00 44 */ lwz r4, 0x44(r3) +/* 80290EEC 0028DE4C 80 03 00 48 */ lwz r0, 0x48(r3) +/* 80290EF0 0028DE50 90 9F 0B 28 */ stw r4, 0xb28(r31) +/* 80290EF4 0028DE54 90 1F 0B 2C */ stw r0, 0xb2c(r31) +/* 80290EF8 0028DE58 80 83 00 4C */ lwz r4, 0x4c(r3) +/* 80290EFC 0028DE5C 80 03 00 50 */ lwz r0, 0x50(r3) +/* 80290F00 0028DE60 90 9F 0B 30 */ stw r4, 0xb30(r31) +/* 80290F04 0028DE64 90 1F 0B 34 */ stw r0, 0xb34(r31) +/* 80290F08 0028DE68 80 83 00 54 */ lwz r4, 0x54(r3) +/* 80290F0C 0028DE6C 80 03 00 58 */ lwz r0, 0x58(r3) +/* 80290F10 0028DE70 90 9F 0B 38 */ stw r4, 0xb38(r31) +/* 80290F14 0028DE74 90 1F 0B 3C */ stw r0, 0xb3c(r31) +/* 80290F18 0028DE78 80 03 00 5C */ lwz r0, 0x5c(r3) +/* 80290F1C 0028DE7C 90 1F 0B 40 */ stw r0, 0xb40(r31) +/* 80290F20 0028DE80 80 03 00 60 */ lwz r0, 0x60(r3) +/* 80290F24 0028DE84 90 1F 0B 44 */ stw r0, 0xb44(r31) +/* 80290F28 0028DE88 80 03 00 64 */ lwz r0, 0x64(r3) +/* 80290F2C 0028DE8C 90 1F 0B 48 */ stw r0, 0xb48(r31) +/* 80290F30 0028DE90 80 16 00 B8 */ lwz r0, 0xb8(r22) +/* 80290F34 0028DE94 90 1F 0B 54 */ stw r0, 0xb54(r31) +/* 80290F38 0028DE98 48 00 03 0C */ b lbl_80291244 +lbl_80290F3C: +/* 80290F3C 0028DE9C A0 01 00 A8 */ lhz r0, 0xa8(r1) +/* 80290F40 0028DEA0 7F C3 F3 78 */ mr r3, r30 +/* 80290F44 0028DEA4 38 81 00 58 */ addi r4, r1, 0x58 +/* 80290F48 0028DEA8 B0 01 00 58 */ sth r0, 0x58(r1) +/* 80290F4C 0028DEAC 4B DB B6 A5 */ bl ObjectById__13CStateManagerF9TUniqueId +/* 80290F50 0028DEB0 7C 64 1B 78 */ mr r4, r3 +/* 80290F54 0028DEB4 38 61 01 04 */ addi r3, r1, 0x104 +/* 80290F58 0028DEB8 4B E1 75 FD */ bl "__ct__26TCastToPtr<12CScriptSound>FP7CEntity" +/* 80290F5C 0028DEBC 80 83 00 04 */ lwz r4, 0x4(r3) +/* 80290F60 0028DEC0 28 04 00 00 */ cmplwi r4, 0x0 +/* 80290F64 0028DEC4 41 82 02 E0 */ beq lbl_80291244 +/* 80290F68 0028DEC8 A0 01 00 A8 */ lhz r0, 0xa8(r1) +/* 80290F6C 0028DECC 7F 63 DB 78 */ mr r3, r27 +/* 80290F70 0028DED0 38 84 00 10 */ addi r4, r4, 0x10 +/* 80290F74 0028DED4 B0 01 01 D8 */ sth r0, 0x1d8(r1) +/* 80290F78 0028DED8 48 0A D2 C9 */ bl "__ct__Q24rstl66basic_string,Q24rstl17rmemory_allocator>FRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>" +/* 80290F7C 0028DEDC 80 1F 0A A4 */ lwz r0, 0xaa4(r31) +/* 80290F80 0028DEE0 80 BF 0A A8 */ lwz r5, 0xaa8(r31) +/* 80290F84 0028DEE4 7C 00 28 00 */ cmpw r0, r5 +/* 80290F88 0028DEE8 41 80 00 1C */ blt lbl_80290FA4 +/* 80290F8C 0028DEEC 2C 05 00 00 */ cmpwi r5, 0x0 +/* 80290F90 0028DEF0 38 7F 0A A0 */ addi r3, r31, 0xaa0 +/* 80290F94 0028DEF4 38 80 00 04 */ li r4, 0x4 +/* 80290F98 0028DEF8 41 82 00 08 */ beq lbl_80290FA0 +/* 80290F9C 0028DEFC 54 A4 08 3C */ slwi r4, r5, 1 +lbl_80290FA0: +/* 80290FA0 0028DF00 48 00 14 F5 */ bl sub_802923e8 +lbl_80290FA4: +/* 80290FA4 0028DF04 80 1F 0A A4 */ lwz r0, 0xaa4(r31) +/* 80290FA8 0028DF08 80 7F 0A AC */ lwz r3, 0xaac(r31) +/* 80290FAC 0028DF0C 1C 00 00 14 */ mulli r0, r0, 0x14 +/* 80290FB0 0028DF10 7C A3 02 15 */ add. r5, r3, r0 +/* 80290FB4 0028DF14 41 82 00 18 */ beq lbl_80290FCC +/* 80290FB8 0028DF18 A0 01 01 D8 */ lhz r0, 0x1d8(r1) +/* 80290FBC 0028DF1C 7F 64 DB 78 */ mr r4, r27 +/* 80290FC0 0028DF20 38 65 00 04 */ addi r3, r5, 0x4 +/* 80290FC4 0028DF24 B0 05 00 00 */ sth r0, 0x0(r5) +/* 80290FC8 0028DF28 48 0A D2 79 */ bl "__ct__Q24rstl66basic_string,Q24rstl17rmemory_allocator>FRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>" +lbl_80290FCC: +/* 80290FCC 0028DF2C 80 7F 0A A4 */ lwz r3, 0xaa4(r31) +/* 80290FD0 0028DF30 28 1B 00 00 */ cmplwi r27, 0x0 +/* 80290FD4 0028DF34 38 03 00 01 */ addi r0, r3, 0x1 +/* 80290FD8 0028DF38 90 1F 0A A4 */ stw r0, 0xaa4(r31) +/* 80290FDC 0028DF3C 41 82 02 68 */ beq lbl_80291244 +/* 80290FE0 0028DF40 7F 63 DB 78 */ mr r3, r27 +/* 80290FE4 0028DF44 48 0A CB DD */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" +/* 80290FE8 0028DF48 48 00 02 5C */ b lbl_80291244 +lbl_80290FEC: +/* 80290FEC 0028DF4C 2C 00 00 06 */ cmpwi r0, 0x6 +/* 80290FF0 0028DF50 40 82 02 54 */ bne lbl_80291244 +/* 80290FF4 0028DF54 B0 81 00 54 */ sth r4, 0x54(r1) +/* 80290FF8 0028DF58 7F C3 F3 78 */ mr r3, r30 +/* 80290FFC 0028DF5C 38 81 00 54 */ addi r4, r1, 0x54 +/* 80291000 0028DF60 4B DB B5 F1 */ bl ObjectById__13CStateManagerF9TUniqueId +/* 80291004 0028DF64 7C 64 1B 78 */ mr r4, r3 +/* 80291008 0028DF68 38 61 00 FC */ addi r3, r1, 0xfc +/* 8029100C 0028DF6C 4B E1 55 BD */ bl "__ct__29TCastToPtr<15CScriptWaypoint>FP7CEntity" +/* 80291010 0028DF70 82 C3 00 04 */ lwz r22, 0x4(r3) +/* 80291014 0028DF74 28 16 00 00 */ cmplwi r22, 0x0 +/* 80291018 0028DF78 41 82 02 2C */ beq lbl_80291244 +/* 8029101C 0028DF7C 82 96 00 24 */ lwz r20, 0x24(r22) +/* 80291020 0028DF80 38 00 00 00 */ li r0, 0x0 +/* 80291024 0028DF84 38 61 01 1C */ addi r3, r1, 0x11c +/* 80291028 0028DF88 38 80 00 03 */ li r4, 0x3 +/* 8029102C 0028DF8C 90 01 01 20 */ stw r0, 0x120(r1) +/* 80291030 0028DF90 90 01 01 24 */ stw r0, 0x124(r1) +/* 80291034 0028DF94 90 01 01 28 */ stw r0, 0x128(r1) +/* 80291038 0028DF98 4B D7 B4 4D */ bl "reserve__Q24rstl45vector<9TUniqueId,Q24rstl17rmemory_allocator>Fi" +/* 8029103C 0028DF9C 3A A0 00 00 */ li r21, 0x0 +/* 80291040 0028DFA0 3A 60 00 00 */ li r19, 0x0 +/* 80291044 0028DFA4 48 00 00 CC */ b lbl_80291110 +lbl_80291048: +/* 80291048 0028DFA8 80 B6 00 2C */ lwz r5, 0x2c(r22) +/* 8029104C 0028DFAC 38 13 00 08 */ addi r0, r19, 0x8 +/* 80291050 0028DFB0 7F C4 F3 78 */ mr r4, r30 +/* 80291054 0028DFB4 38 61 00 50 */ addi r3, r1, 0x50 +/* 80291058 0028DFB8 7C 05 00 2E */ lwzx r0, r5, r0 +/* 8029105C 0028DFBC 38 A1 00 CC */ addi r5, r1, 0xcc +/* 80291060 0028DFC0 90 01 00 CC */ stw r0, 0xcc(r1) +/* 80291064 0028DFC4 4B DB 6F 35 */ bl GetIdForScript__13CStateManagerCF9TEditorId +/* 80291068 0028DFC8 A0 01 00 50 */ lhz r0, 0x50(r1) +/* 8029106C 0028DFCC 7F C3 F3 78 */ mr r3, r30 +/* 80291070 0028DFD0 38 81 00 4C */ addi r4, r1, 0x4c +/* 80291074 0028DFD4 B0 01 00 A4 */ sth r0, 0xa4(r1) +/* 80291078 0028DFD8 B0 01 00 4C */ sth r0, 0x4c(r1) +/* 8029107C 0028DFDC 4B DB B5 75 */ bl ObjectById__13CStateManagerF9TUniqueId +/* 80291080 0028DFE0 7C 64 1B 78 */ mr r4, r3 +/* 80291084 0028DFE4 38 61 00 F4 */ addi r3, r1, 0xf4 +/* 80291088 0028DFE8 4B E1 7E 09 */ bl "__ct__29TCastToPtr<15CScriptPlatform>FP7CEntity" +/* 8029108C 0028DFEC 82 43 00 04 */ lwz r18, 0x4(r3) +/* 80291090 0028DFF0 28 12 00 00 */ cmplwi r18, 0x0 +/* 80291094 0028DFF4 41 82 00 74 */ beq lbl_80291108 +/* 80291098 0028DFF8 7E 43 93 78 */ mr r3, r18 +/* 8029109C 0028DFFC 7F C5 F3 78 */ mr r5, r30 +/* 802910A0 0028E000 38 80 00 28 */ li r4, 0x28 +/* 802910A4 0028E004 4B DC 33 29 */ bl AddMaterial__6CActorF14EMaterialTypesR13CStateManager +/* 802910A8 0028E008 7E 43 93 78 */ mr r3, r18 +/* 802910AC 0028E00C 7F C5 F3 78 */ mr r5, r30 +/* 802910B0 0028E010 38 80 00 29 */ li r4, 0x29 +/* 802910B4 0028E014 4B DC 33 19 */ bl AddMaterial__6CActorF14EMaterialTypesR13CStateManager +/* 802910B8 0028E018 80 01 01 20 */ lwz r0, 0x120(r1) +/* 802910BC 0028E01C 80 A1 01 24 */ lwz r5, 0x124(r1) +/* 802910C0 0028E020 7C 00 28 00 */ cmpw r0, r5 +/* 802910C4 0028E024 41 80 00 1C */ blt lbl_802910E0 +/* 802910C8 0028E028 2C 05 00 00 */ cmpwi r5, 0x0 +/* 802910CC 0028E02C 38 61 01 1C */ addi r3, r1, 0x11c +/* 802910D0 0028E030 38 80 00 04 */ li r4, 0x4 +/* 802910D4 0028E034 41 82 00 08 */ beq lbl_802910DC +/* 802910D8 0028E038 54 A4 08 3C */ slwi r4, r5, 1 +lbl_802910DC: +/* 802910DC 0028E03C 4B D7 B3 A9 */ bl "reserve__Q24rstl45vector<9TUniqueId,Q24rstl17rmemory_allocator>Fi" +lbl_802910E0: +/* 802910E0 0028E040 80 01 01 20 */ lwz r0, 0x120(r1) +/* 802910E4 0028E044 80 61 01 28 */ lwz r3, 0x128(r1) +/* 802910E8 0028E048 54 00 08 3C */ slwi r0, r0, 1 +/* 802910EC 0028E04C 7C 63 02 15 */ add. r3, r3, r0 +/* 802910F0 0028E050 41 82 00 0C */ beq lbl_802910FC +/* 802910F4 0028E054 A0 01 00 A4 */ lhz r0, 0xa4(r1) +/* 802910F8 0028E058 B0 03 00 00 */ sth r0, 0x0(r3) +lbl_802910FC: +/* 802910FC 0028E05C 80 61 01 20 */ lwz r3, 0x120(r1) +/* 80291100 0028E060 38 03 00 01 */ addi r0, r3, 0x1 +/* 80291104 0028E064 90 01 01 20 */ stw r0, 0x120(r1) +lbl_80291108: +/* 80291108 0028E068 3A B5 00 01 */ addi r21, r21, 0x1 +/* 8029110C 0028E06C 3A 73 00 0C */ addi r19, r19, 0xc +lbl_80291110: +/* 80291110 0028E070 7C 15 A0 40 */ cmplw r21, r20 +/* 80291114 0028E074 41 80 FF 34 */ blt lbl_80291048 +/* 80291118 0028E078 80 61 01 20 */ lwz r3, 0x120(r1) +/* 8029111C 0028E07C A0 81 00 A8 */ lhz r4, 0xa8(r1) +/* 80291120 0028E080 80 01 01 24 */ lwz r0, 0x124(r1) +/* 80291124 0028E084 2C 03 00 00 */ cmpwi r3, 0x0 +/* 80291128 0028E088 B0 81 01 C4 */ sth r4, 0x1c4(r1) +/* 8029112C 0028E08C 90 61 01 CC */ stw r3, 0x1cc(r1) +/* 80291130 0028E090 90 01 01 D0 */ stw r0, 0x1d0(r1) +/* 80291134 0028E094 40 82 00 18 */ bne lbl_8029114C +/* 80291138 0028E098 2C 00 00 00 */ cmpwi r0, 0x0 +/* 8029113C 0028E09C 40 82 00 10 */ bne lbl_8029114C +/* 80291140 0028E0A0 38 00 00 00 */ li r0, 0x0 +/* 80291144 0028E0A4 90 01 01 D4 */ stw r0, 0x1d4(r1) +/* 80291148 0028E0A8 48 00 00 68 */ b lbl_802911B0 +lbl_8029114C: +/* 8029114C 0028E0AC 80 01 01 D0 */ lwz r0, 0x1d0(r1) +/* 80291150 0028E0B0 54 03 08 3D */ slwi. r3, r0, 1 +/* 80291154 0028E0B4 40 82 00 10 */ bne lbl_80291164 +/* 80291158 0028E0B8 38 00 00 00 */ li r0, 0x0 +/* 8029115C 0028E0BC 90 01 01 D4 */ stw r0, 0x1d4(r1) +/* 80291160 0028E0C0 48 00 00 1C */ b lbl_8029117C +lbl_80291164: +/* 80291164 0028E0C4 3C 80 80 3D */ lis r4, lbl_803D5A74@ha +/* 80291168 0028E0C8 38 A0 00 00 */ li r5, 0x0 +/* 8029116C 0028E0CC 38 84 5C 54 */ addi r4, r4, lbl_803D5A74@l +/* 80291170 0028E0D0 38 84 00 C9 */ addi r4, r4, 0xc9 +/* 80291174 0028E0D4 48 08 47 85 */ bl __nwa__FUlPCcPCc +/* 80291178 0028E0D8 90 61 01 D4 */ stw r3, 0x1d4(r1) +lbl_8029117C: +/* 8029117C 0028E0DC 80 01 01 CC */ lwz r0, 0x1cc(r1) +/* 80291180 0028E0E0 80 81 01 28 */ lwz r4, 0x128(r1) +/* 80291184 0028E0E4 80 61 01 D4 */ lwz r3, 0x1d4(r1) +/* 80291188 0028E0E8 7C 09 03 A6 */ mtctr r0 +/* 8029118C 0028E0EC 2C 00 00 00 */ cmpwi r0, 0x0 +/* 80291190 0028E0F0 40 81 00 20 */ ble lbl_802911B0 +lbl_80291194: +/* 80291194 0028E0F4 28 03 00 00 */ cmplwi r3, 0x0 +/* 80291198 0028E0F8 41 82 00 0C */ beq lbl_802911A4 +/* 8029119C 0028E0FC A0 04 00 00 */ lhz r0, 0x0(r4) +/* 802911A0 0028E100 B0 03 00 00 */ sth r0, 0x0(r3) +lbl_802911A4: +/* 802911A4 0028E104 38 63 00 02 */ addi r3, r3, 0x2 +/* 802911A8 0028E108 38 84 00 02 */ addi r4, r4, 0x2 +/* 802911AC 0028E10C 42 00 FF E8 */ bdnz lbl_80291194 +lbl_802911B0: +/* 802911B0 0028E110 38 7F 09 A4 */ addi r3, r31, 0x9a4 +/* 802911B4 0028E114 38 81 01 C4 */ addi r4, r1, 0x1c4 +/* 802911B8 0028E118 48 00 06 69 */ bl sub_80291774 +/* 802911BC 0028E11C 28 17 00 00 */ cmplwi r23, 0x0 +/* 802911C0 0028E120 41 82 00 44 */ beq lbl_80291204 +/* 802911C4 0028E124 80 01 01 CC */ lwz r0, 0x1cc(r1) +/* 802911C8 0028E128 80 61 01 D4 */ lwz r3, 0x1d4(r1) +/* 802911CC 0028E12C 54 00 08 3C */ slwi r0, r0, 1 +/* 802911D0 0028E130 7C 03 02 14 */ add r0, r3, r0 +/* 802911D4 0028E134 90 61 00 B0 */ stw r3, 0xb0(r1) +/* 802911D8 0028E138 7C 64 1B 78 */ mr r4, r3 +/* 802911DC 0028E13C 90 01 00 B8 */ stw r0, 0xb8(r1) +/* 802911E0 0028E140 90 01 00 B4 */ stw r0, 0xb4(r1) +/* 802911E4 0028E144 90 61 00 AC */ stw r3, 0xac(r1) +/* 802911E8 0028E148 48 00 00 08 */ b lbl_802911F0 +lbl_802911EC: +/* 802911EC 0028E14C 38 84 00 02 */ addi r4, r4, 0x2 +lbl_802911F0: +/* 802911F0 0028E150 7C 04 00 40 */ cmplw r4, r0 +/* 802911F4 0028E154 40 82 FF F8 */ bne lbl_802911EC +/* 802911F8 0028E158 28 03 00 00 */ cmplwi r3, 0x0 +/* 802911FC 0028E15C 41 82 00 08 */ beq lbl_80291204 +/* 80291200 0028E160 48 08 48 11 */ bl Free__7CMemoryFPCv +lbl_80291204: +/* 80291204 0028E164 80 01 01 20 */ lwz r0, 0x120(r1) +/* 80291208 0028E168 80 61 01 28 */ lwz r3, 0x128(r1) +/* 8029120C 0028E16C 54 00 08 3C */ slwi r0, r0, 1 +/* 80291210 0028E170 7C 03 02 14 */ add r0, r3, r0 +/* 80291214 0028E174 90 61 00 C0 */ stw r3, 0xc0(r1) +/* 80291218 0028E178 7C 64 1B 78 */ mr r4, r3 +/* 8029121C 0028E17C 90 01 00 C8 */ stw r0, 0xc8(r1) +/* 80291220 0028E180 90 01 00 C4 */ stw r0, 0xc4(r1) +/* 80291224 0028E184 90 61 00 BC */ stw r3, 0xbc(r1) +/* 80291228 0028E188 48 00 00 08 */ b func_80291230 +lbl_8029122C: +/* 8029122C 0028E18C 38 84 00 02 */ addi r4, r4, 0x2 +func_80291230: +/* 80291230 0028E190 7C 04 00 40 */ cmplw r4, r0 +/* 80291234 0028E194 40 82 FF F8 */ bne lbl_8029122C +/* 80291238 0028E198 28 03 00 00 */ cmplwi r3, 0x0 +/* 8029123C 0028E19C 41 82 00 08 */ beq lbl_80291244 +/* 80291240 0028E1A0 48 08 47 D1 */ bl Free__7CMemoryFPCv +lbl_80291244: +/* 80291244 0028E1A4 3B BD 00 01 */ addi r29, r29, 0x1 +/* 80291248 0028E1A8 3B 9C 00 0C */ addi r28, r28, 0xc +lbl_8029124C: +/* 8029124C 0028E1AC 7C 1D C0 40 */ cmplw r29, r24 +/* 80291250 0028E1B0 41 80 F9 80 */ blt lbl_80290BD0 +/* 80291254 0028E1B4 48 00 05 B8 */ b lbl_8029180C +AcceptScriptMsg_Touched: +/* 80291258 0028E1B8 A0 14 00 00 */ lhz r0, 0x0(r20) +/* 8029125C 0028E1BC 38 A1 00 48 */ addi r5, r1, 0x48 +/* 80291260 0028E1C0 B0 01 00 48 */ sth r0, 0x48(r1) +/* 80291264 0028E1C4 4B F9 B9 E5 */ bl AcceptScriptMsg__12CElitePirateF20EScriptObjectMessage9TUniqueIdR13CStateManager +/* 80291268 0028E1C8 A0 14 00 00 */ lhz r0, 0x0(r20) +/* 8029126C 0028E1CC A0 7F 09 90 */ lhz r3, 0x990(r31) +/* 80291270 0028E1D0 7C 00 18 40 */ cmplw r0, r3 +/* 80291274 0028E1D4 40 82 00 20 */ bne lbl_80291294 +/* 80291278 0028E1D8 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) +/* 8029127C 0028E1DC 7C 03 00 40 */ cmplw r3, r0 +/* 80291280 0028E1E0 41 82 00 14 */ beq lbl_80291294 +/* 80291284 0028E1E4 7F E3 FB 78 */ mr r3, r31 +/* 80291288 0028E1E8 7F C5 F3 78 */ mr r5, r30 +/* 8029128C 0028E1EC 38 80 00 01 */ li r4, 0x1 +/* 80291290 0028E1F0 4B F9 63 89 */ bl sub_8022759c +lbl_80291294: +/* 80291294 0028E1F4 A0 14 00 00 */ lhz r0, 0x0(r20) +/* 80291298 0028E1F8 7F C3 F3 78 */ mr r3, r30 +/* 8029129C 0028E1FC 38 81 00 44 */ addi r4, r1, 0x44 +/* 802912A0 0028E200 B0 01 00 44 */ sth r0, 0x44(r1) +/* 802912A4 0028E204 4B DB B3 4D */ bl ObjectById__13CStateManagerF9TUniqueId +/* 802912A8 0028E208 7C 60 1B 78 */ mr r0, r3 +/* 802912AC 0028E20C 38 61 00 EC */ addi r3, r1, 0xec +/* 802912B0 0028E210 7C 04 03 78 */ mr r4, r0 +/* 802912B4 0028E214 4B E1 E1 15 */ bl "__ct__29TCastToPtr<15CCollisionActor>FP7CEntity" +/* 802912B8 0028E218 80 83 00 04 */ lwz r4, 0x4(r3) +/* 802912BC 0028E21C 28 04 00 00 */ cmplwi r4, 0x0 +/* 802912C0 0028E220 41 82 05 4C */ beq lbl_8029180C +/* 802912C4 0028E224 38 61 00 40 */ addi r3, r1, 0x40 +/* 802912C8 0028E228 4B F1 79 41 */ bl GetLastTouchedObject__15CCollisionActorCFv +/* 802912CC 0028E22C A0 01 00 40 */ lhz r0, 0x40(r1) +/* 802912D0 0028E230 7F C3 F3 78 */ mr r3, r30 +/* 802912D4 0028E234 38 81 00 3C */ addi r4, r1, 0x3c +/* 802912D8 0028E238 B0 01 00 A0 */ sth r0, 0xa0(r1) +/* 802912DC 0028E23C B0 01 00 3C */ sth r0, 0x3c(r1) +/* 802912E0 0028E240 4B DB B3 11 */ bl ObjectById__13CStateManagerF9TUniqueId +/* 802912E4 0028E244 7C 60 1B 78 */ mr r0, r3 +/* 802912E8 0028E248 38 61 00 E4 */ addi r3, r1, 0xe4 +/* 802912EC 0028E24C 7C 04 03 78 */ mr r4, r0 +/* 802912F0 0028E250 4B E1 B1 21 */ bl "__ct__20TCastToPtr<7CPlayer>FP7CEntity" +/* 802912F4 0028E254 82 43 00 04 */ lwz r18, 0x4(r3) +/* 802912F8 0028E258 28 12 00 00 */ cmplwi r18, 0x0 +/* 802912FC 0028E25C 41 82 05 10 */ beq lbl_8029180C +/* 80291300 0028E260 C0 3F 04 20 */ lfs f1, 0x420(r31) +/* 80291304 0028E264 C0 02 BE 9C */ lfs f0, lbl_805ADBBC@sda21(r2) +/* 80291308 0028E268 FC 01 00 40 */ fcmpo cr0, f1, f0 +/* 8029130C 0028E26C 4C 40 13 82 */ cror 2, 0, 2 +/* 80291310 0028E270 40 82 04 FC */ bne lbl_8029180C +/* 80291314 0028E274 80 AD 99 98 */ lwz r5, lbl_805A8558@sda21(r13) +/* 80291318 0028E278 38 60 00 00 */ li r3, 0x0 +/* 8029131C 0028E27C 38 80 00 01 */ li r4, 0x1 +/* 80291320 0028E280 48 0F 8D B1 */ bl __shl2i +/* 80291324 0028E284 38 A0 00 00 */ li r5, 0x0 +/* 80291328 0028E288 38 00 00 03 */ li r0, 0x3 +/* 8029132C 0028E28C 90 81 01 94 */ stw r4, 0x194(r1) +/* 80291330 0028E290 7F E4 FB 78 */ mr r4, r31 +/* 80291334 0028E294 90 61 01 90 */ stw r3, 0x190(r1) +/* 80291338 0028E298 38 61 01 A8 */ addi r3, r1, 0x1a8 +/* 8029133C 0028E29C 90 A1 01 9C */ stw r5, 0x19c(r1) +/* 80291340 0028E2A0 90 A1 01 98 */ stw r5, 0x198(r1) +/* 80291344 0028E2A4 90 01 01 A0 */ stw r0, 0x1a0(r1) +/* 80291348 0028E2A8 A0 1F 00 08 */ lhz r0, 0x8(r31) +/* 8029134C 0028E2AC B0 01 00 28 */ sth r0, 0x28(r1) +/* 80291350 0028E2B0 A0 B2 00 08 */ lhz r5, 0x8(r18) +/* 80291354 0028E2B4 B0 01 00 24 */ sth r0, 0x24(r1) +/* 80291358 0028E2B8 B0 A1 00 30 */ sth r5, 0x30(r1) +/* 8029135C 0028E2BC A0 1F 00 08 */ lhz r0, 0x8(r31) +/* 80291360 0028E2C0 B0 A1 00 2C */ sth r5, 0x2c(r1) +/* 80291364 0028E2C4 B0 01 00 38 */ sth r0, 0x38(r1) +/* 80291368 0028E2C8 81 9F 00 00 */ lwz r12, 0x0(r31) +/* 8029136C 0028E2CC B0 01 00 34 */ sth r0, 0x34(r1) +/* 80291370 0028E2D0 81 8C 02 B0 */ lwz r12, 0x2b0(r12) +/* 80291374 0028E2D4 7D 89 03 A6 */ mtctr r12 +/* 80291378 0028E2D8 4E 80 04 21 */ bctrl +/* 8029137C 0028E2DC 3C 80 80 5A */ lis r4, sZeroVector__9CVector3f@ha +/* 80291380 0028E2E0 7F C3 F3 78 */ mr r3, r30 +/* 80291384 0028E2E4 39 24 68 80 */ addi r9, r4, sZeroVector__9CVector3f@l +/* 80291388 0028E2E8 38 A1 00 30 */ addi r5, r1, 0x30 +/* 8029138C 0028E2EC 38 81 00 38 */ addi r4, r1, 0x38 +/* 80291390 0028E2F0 38 C1 00 28 */ addi r6, r1, 0x28 +/* 80291394 0028E2F4 38 E1 01 A8 */ addi r7, r1, 0x1a8 +/* 80291398 0028E2F8 39 01 01 90 */ addi r8, r1, 0x190 +/* 8029139C 0028E2FC 4B DB 8D 81 */ bl ApplyDamage__13CStateManagerF9TUniqueId9TUniqueId9TUniqueIdRC11CDamageInfoRC15CMaterialFilterRC9CVector3f +/* 802913A0 0028E300 C0 1F 04 24 */ lfs f0, 0x424(r31) +/* 802913A4 0028E304 D0 1F 04 20 */ stfs f0, 0x420(r31) +/* 802913A8 0028E308 48 00 04 64 */ b lbl_8029180C +AcceptScriptMsg_Damaged: +/* 802913AC 0028E30C A0 14 00 00 */ lhz r0, 0x0(r20) +/* 802913B0 0028E310 A0 7F 09 90 */ lhz r3, 0x990(r31) +/* 802913B4 0028E314 7C 00 18 40 */ cmplw r0, r3 +/* 802913B8 0028E318 40 82 00 A4 */ bne lbl_8029145C +/* 802913BC 0028E31C A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) +/* 802913C0 0028E320 7C 03 00 40 */ cmplw r3, r0 +/* 802913C4 0028E324 41 82 00 98 */ beq lbl_8029145C +/* 802913C8 0028E328 3C 60 80 3E */ lis r3, lbl_803DAA68@ha +/* 802913CC 0028E32C C0 5F 00 58 */ lfs f2, 0x58(r31) +/* 802913D0 0028E330 38 A3 AC 48 */ addi r5, r3, lbl_803DAA68@l +/* 802913D4 0028E334 C0 3F 00 48 */ lfs f1, 0x48(r31) +/* 802913D8 0028E338 C0 1F 00 38 */ lfs f0, 0x38(r31) +/* 802913DC 0028E33C 3C 80 80 3E */ lis r4, lbl_803DAA44@ha +/* 802913E0 0028E340 80 7F 04 50 */ lwz r3, 0x450(r31) +/* 802913E4 0028E344 38 C0 00 04 */ li r6, 0x4 +/* 802913E8 0028E348 38 00 00 08 */ li r0, 0x8 +/* 802913EC 0028E34C 90 A1 01 78 */ stw r5, 0x178(r1) +/* 802913F0 0028E350 38 A4 AC 24 */ addi r5, r4, lbl_803DAA44@l +/* 802913F4 0028E354 3A 43 00 04 */ addi r18, r3, 0x4 +/* 802913F8 0028E358 90 C1 01 7C */ stw r6, 0x17c(r1) +/* 802913FC 0028E35C 7E 43 93 78 */ mr r3, r18 +/* 80291400 0028E360 38 80 00 04 */ li r4, 0x4 +/* 80291404 0028E364 90 A1 01 78 */ stw r5, 0x178(r1) +/* 80291408 0028E368 D0 01 01 80 */ stfs f0, 0x180(r1) +/* 8029140C 0028E36C D0 21 01 84 */ stfs f1, 0x184(r1) +/* 80291410 0028E370 D0 41 01 88 */ stfs f2, 0x188(r1) +/* 80291414 0028E374 90 01 01 8C */ stw r0, 0x18c(r1) +/* 80291418 0028E378 4B EA 00 9D */ bl DeliverCmd__16CBodyStateCmdMgrF13EBodyStateCmd +/* 8029141C 0028E37C 80 01 01 7C */ lwz r0, 0x17c(r1) +/* 80291420 0028E380 3C 60 80 3E */ lis r3, lbl_803DAA44@ha +/* 80291424 0028E384 38 83 AC 24 */ addi r4, r3, lbl_803DAA44@l +/* 80291428 0028E388 3C 60 80 3E */ lis r3, lbl_803DAA68@ha +/* 8029142C 0028E38C 90 12 00 F8 */ stw r0, 0xf8(r18) +/* 80291430 0028E390 38 03 AC 48 */ addi r0, r3, lbl_803DAA68@l +/* 80291434 0028E394 80 A1 01 80 */ lwz r5, 0x180(r1) +/* 80291438 0028E398 80 61 01 84 */ lwz r3, 0x184(r1) +/* 8029143C 0028E39C 90 B2 00 FC */ stw r5, 0xfc(r18) +/* 80291440 0028E3A0 80 A1 01 88 */ lwz r5, 0x188(r1) +/* 80291444 0028E3A4 90 72 01 00 */ stw r3, 0x100(r18) +/* 80291448 0028E3A8 80 61 01 8C */ lwz r3, 0x18c(r1) +/* 8029144C 0028E3AC 90 B2 01 04 */ stw r5, 0x104(r18) +/* 80291450 0028E3B0 90 81 01 78 */ stw r4, 0x178(r1) +/* 80291454 0028E3B4 90 72 01 08 */ stw r3, 0x108(r18) +/* 80291458 0028E3B8 90 01 01 78 */ stw r0, 0x178(r1) +lbl_8029145C: +/* 8029145C 0028E3BC A0 14 00 00 */ lhz r0, 0x0(r20) +/* 80291460 0028E3C0 7F E3 FB 78 */ mr r3, r31 +/* 80291464 0028E3C4 7E A4 AB 78 */ mr r4, r21 +/* 80291468 0028E3C8 7F C6 F3 78 */ mr r6, r30 +/* 8029146C 0028E3CC B0 01 00 20 */ sth r0, 0x20(r1) +/* 80291470 0028E3D0 38 A1 00 20 */ addi r5, r1, 0x20 +/* 80291474 0028E3D4 4B F9 B7 D5 */ bl AcceptScriptMsg__12CElitePirateF20EScriptObjectMessage9TUniqueIdR13CStateManager +/* 80291478 0028E3D8 A0 74 00 00 */ lhz r3, 0x0(r20) +/* 8029147C 0028E3DC A0 1F 0A 46 */ lhz r0, 0xa46(r31) +/* 80291480 0028E3E0 7C 03 00 40 */ cmplw r3, r0 +/* 80291484 0028E3E4 40 82 03 88 */ bne lbl_8029180C +/* 80291488 0028E3E8 80 1F 0A 7C */ lwz r0, 0xa7c(r31) +/* 8029148C 0028E3EC 2C 00 00 02 */ cmpwi r0, 0x2 +/* 80291490 0028E3F0 40 82 03 7C */ bne lbl_8029180C +/* 80291494 0028E3F4 38 00 00 03 */ li r0, 0x3 +/* 80291498 0028E3F8 C0 02 BE 9C */ lfs f0, lbl_805ADBBC@sda21(r2) +/* 8029149C 0028E3FC 90 1F 0A 7C */ stw r0, 0xa7c(r31) +/* 802914A0 0028E400 D0 1F 0A 84 */ stfs f0, 0xa84(r31) +/* 802914A4 0028E404 48 00 03 68 */ b lbl_8029180C +AcceptScriptMsg_InvulnDamage: +/* 802914A8 0028E408 A0 14 00 00 */ lhz r0, 0x0(r20) +/* 802914AC 0028E40C 7F C3 F3 78 */ mr r3, r30 +/* 802914B0 0028E410 38 81 00 1C */ addi r4, r1, 0x1c +/* 802914B4 0028E414 B0 01 00 1C */ sth r0, 0x1c(r1) +/* 802914B8 0028E418 4B DB B1 69 */ bl GetObjectById__13CStateManagerCF9TUniqueId +/* 802914BC 0028E41C 7C 64 1B 78 */ mr r4, r3 +/* 802914C0 0028E420 38 61 00 D4 */ addi r3, r1, 0xd4 +/* 802914C4 0028E424 4B E1 C2 C5 */ bl "__ct__29TCastToPtr<15CGameProjectile>FP7CEntity" +/* 802914C8 0028E428 82 43 00 04 */ lwz r18, 0x4(r3) +/* 802914CC 0028E42C 28 12 00 00 */ cmplwi r18, 0x0 +/* 802914D0 0028E430 41 82 00 7C */ beq lbl_8029154C +/* 802914D4 0028E434 88 1F 0A 4A */ lbz r0, 0xa4a(r31) +/* 802914D8 0028E438 28 00 00 00 */ cmplwi r0, 0x0 +/* 802914DC 0028E43C 41 82 00 70 */ beq lbl_8029154C +/* 802914E0 0028E440 80 AD 99 78 */ lwz r5, lbl_805A8538@sda21(r13) +/* 802914E4 0028E444 38 60 00 00 */ li r3, 0x0 +/* 802914E8 0028E448 38 80 00 01 */ li r4, 0x1 +/* 802914EC 0028E44C 48 0F 8B E5 */ bl __shl2i +/* 802914F0 0028E450 39 00 00 00 */ li r8, 0x0 +/* 802914F4 0028E454 39 40 00 03 */ li r10, 0x3 +/* 802914F8 0028E458 90 81 01 64 */ stw r4, 0x164(r1) +/* 802914FC 0028E45C 3C 80 80 5A */ lis r4, sZeroVector__9CVector3f@ha +/* 80291500 0028E460 39 24 68 80 */ addi r9, r4, sZeroVector__9CVector3f@l +/* 80291504 0028E464 A0 14 00 00 */ lhz r0, 0x0(r20) +/* 80291508 0028E468 90 61 01 60 */ stw r3, 0x160(r1) +/* 8029150C 0028E46C 7F C3 F3 78 */ mr r3, r30 +/* 80291510 0028E470 38 81 00 18 */ addi r4, r1, 0x18 +/* 80291514 0028E474 38 A1 00 14 */ addi r5, r1, 0x14 +/* 80291518 0028E478 91 01 01 6C */ stw r8, 0x16c(r1) +/* 8029151C 0028E47C 38 C1 00 10 */ addi r6, r1, 0x10 +/* 80291520 0028E480 38 F2 01 2C */ addi r7, r18, 0x12c +/* 80291524 0028E484 91 01 01 68 */ stw r8, 0x168(r1) +/* 80291528 0028E488 39 01 01 60 */ addi r8, r1, 0x160 +/* 8029152C 0028E48C 91 41 01 70 */ stw r10, 0x170(r1) +/* 80291530 0028E490 A1 72 00 EC */ lhz r11, 0xec(r18) +/* 80291534 0028E494 B1 61 00 10 */ sth r11, 0x10(r1) +/* 80291538 0028E498 A1 5F 0A 46 */ lhz r10, 0xa46(r31) +/* 8029153C 0028E49C B1 61 00 0C */ sth r11, 0xc(r1) +/* 80291540 0028E4A0 B1 41 00 14 */ sth r10, 0x14(r1) +/* 80291544 0028E4A4 B0 01 00 18 */ sth r0, 0x18(r1) +/* 80291548 0028E4A8 4B DB 8B D5 */ bl ApplyDamage__13CStateManagerF9TUniqueId9TUniqueId9TUniqueIdRC11CDamageInfoRC15CMaterialFilterRC9CVector3f +lbl_8029154C: +/* 8029154C 0028E4AC 7F E3 FB 78 */ mr r3, r31 +/* 80291550 0028E4B0 7F C5 F3 78 */ mr r5, r30 +/* 80291554 0028E4B4 38 80 00 01 */ li r4, 0x1 +/* 80291558 0028E4B8 4B F9 60 C1 */ bl sub_8022759c +/* 8029155C 0028E4BC 48 00 02 B0 */ b lbl_8029180C +AcceptScriptMsg_Decrement: +/* 80291560 0028E4C0 38 00 00 01 */ li r0, 0x1 +/* 80291564 0028E4C4 98 1F 09 EC */ stb r0, 0x9ec(r31) +/* 80291568 0028E4C8 48 00 02 A4 */ b lbl_8029180C +AcceptScriptMsg_Increment: +/* 8029156C 0028E4CC 7F C5 F3 78 */ mr r5, r30 +/* 80291570 0028E4D0 38 80 00 01 */ li r4, 0x1 +/* 80291574 0028E4D4 4B F9 60 A5 */ bl sub_8022759c +/* 80291578 0028E4D8 48 00 02 94 */ b lbl_8029180C +AcceptScriptMsg_SetToMax: +/* 8029157C 0028E4DC 38 00 00 01 */ li r0, 0x1 +/* 80291580 0028E4E0 98 1F 0A 3C */ stb r0, 0xa3c(r31) +/* 80291584 0028E4E4 48 00 02 88 */ b lbl_8029180C +AcceptScriptMsg_Stop: +/* 80291588 0028E4E8 7F C4 F3 78 */ mr r4, r30 +/* 8029158C 0028E4EC 4B FF A0 09 */ bl sub_8028b518 +/* 80291590 0028E4F0 48 00 02 7C */ b lbl_8029180C +AcceptScriptMsg_Start: +/* 80291594 0028E4F4 C0 02 BE A0 */ lfs f0, lbl_805ADBC0@sda21(r2) +/* 80291598 0028E4F8 D0 1F 03 B4 */ stfs f0, 0x3b4(r31) +/* 8029159C 0028E4FC 88 7F 0A DE */ lbz r3, 0xade(r31) +/* 802915A0 0028E500 38 03 00 01 */ addi r0, r3, 0x1 +/* 802915A4 0028E504 98 1F 0A DE */ stb r0, 0xade(r31) +/* 802915A8 0028E508 88 1F 0A DE */ lbz r0, 0xade(r31) +/* 802915AC 0028E50C 28 00 00 04 */ cmplwi r0, 0x4 +/* 802915B0 0028E510 40 80 02 5C */ bge lbl_8029180C +/* 802915B4 0028E514 3C A0 80 3E */ lis r5, lbl_803DAA68@ha +/* 802915B8 0028E518 3C 60 80 5A */ lis r3, sLeftVector__9CVector3f@ha +/* 802915BC 0028E51C 38 83 68 EC */ addi r4, r3, sLeftVector__9CVector3f@l +/* 802915C0 0028E520 80 7F 04 50 */ lwz r3, 0x450(r31) +/* 802915C4 0028E524 38 E5 AC 48 */ addi r7, r5, lbl_803DAA68@l +/* 802915C8 0028E528 C0 44 00 00 */ lfs f2, 0x0(r4) +/* 802915CC 0028E52C C0 24 00 04 */ lfs f1, 0x4(r4) +/* 802915D0 0028E530 3C A0 80 3E */ lis r5, lbl_803DAA44@ha +/* 802915D4 0028E534 C0 04 00 08 */ lfs f0, 0x8(r4) +/* 802915D8 0028E538 38 C0 00 04 */ li r6, 0x4 +/* 802915DC 0028E53C 38 00 00 01 */ li r0, 0x1 +/* 802915E0 0028E540 3A 43 00 04 */ addi r18, r3, 0x4 +/* 802915E4 0028E544 90 E1 01 44 */ stw r7, 0x144(r1) +/* 802915E8 0028E548 38 A5 AC 24 */ addi r5, r5, lbl_803DAA44@l +/* 802915EC 0028E54C 7E 43 93 78 */ mr r3, r18 +/* 802915F0 0028E550 38 80 00 04 */ li r4, 0x4 +/* 802915F4 0028E554 90 C1 01 48 */ stw r6, 0x148(r1) +/* 802915F8 0028E558 90 A1 01 44 */ stw r5, 0x144(r1) +/* 802915FC 0028E55C D0 41 01 4C */ stfs f2, 0x14c(r1) +/* 80291600 0028E560 D0 21 01 50 */ stfs f1, 0x150(r1) +/* 80291604 0028E564 D0 01 01 54 */ stfs f0, 0x154(r1) +/* 80291608 0028E568 90 01 01 58 */ stw r0, 0x158(r1) +/* 8029160C 0028E56C 4B E9 FE A9 */ bl DeliverCmd__16CBodyStateCmdMgrF13EBodyStateCmd +/* 80291610 0028E570 80 01 01 48 */ lwz r0, 0x148(r1) +/* 80291614 0028E574 3C 60 80 3E */ lis r3, lbl_803DAA44@ha +/* 80291618 0028E578 38 83 AC 24 */ addi r4, r3, lbl_803DAA44@l +/* 8029161C 0028E57C 3C 60 80 3E */ lis r3, lbl_803DAA68@ha +/* 80291620 0028E580 90 12 00 F8 */ stw r0, 0xf8(r18) +/* 80291624 0028E584 38 03 AC 48 */ addi r0, r3, lbl_803DAA68@l +/* 80291628 0028E588 80 A1 01 4C */ lwz r5, 0x14c(r1) +/* 8029162C 0028E58C 80 61 01 50 */ lwz r3, 0x150(r1) +/* 80291630 0028E590 90 B2 00 FC */ stw r5, 0xfc(r18) +/* 80291634 0028E594 80 A1 01 54 */ lwz r5, 0x154(r1) +/* 80291638 0028E598 90 72 01 00 */ stw r3, 0x100(r18) +/* 8029163C 0028E59C 80 61 01 58 */ lwz r3, 0x158(r1) +/* 80291640 0028E5A0 90 B2 01 04 */ stw r5, 0x104(r18) +/* 80291644 0028E5A4 90 81 01 44 */ stw r4, 0x144(r1) +/* 80291648 0028E5A8 90 72 01 08 */ stw r3, 0x108(r18) +/* 8029164C 0028E5AC 90 01 01 44 */ stw r0, 0x144(r1) +/* 80291650 0028E5B0 48 00 01 BC */ b lbl_8029180C +AcceptScriptMsg_Action: +/* 80291654 0028E5B4 C0 02 BE A0 */ lfs f0, lbl_805ADBC0@sda21(r2) +/* 80291658 0028E5B8 D0 1F 03 B4 */ stfs f0, 0x3b4(r31) +/* 8029165C 0028E5BC 88 7F 0A DE */ lbz r3, 0xade(r31) +/* 80291660 0028E5C0 38 03 00 01 */ addi r0, r3, 0x1 +/* 80291664 0028E5C4 98 1F 0A DE */ stb r0, 0xade(r31) +/* 80291668 0028E5C8 88 1F 0A DE */ lbz r0, 0xade(r31) +/* 8029166C 0028E5CC 28 00 00 04 */ cmplwi r0, 0x4 +/* 80291670 0028E5D0 40 80 01 9C */ bge lbl_8029180C +/* 80291674 0028E5D4 3C A0 80 3E */ lis r5, lbl_803DAA68@ha +/* 80291678 0028E5D8 3C 60 80 5A */ lis r3, sRightVector__9CVector3f@ha +/* 8029167C 0028E5DC 38 83 68 F8 */ addi r4, r3, sRightVector__9CVector3f@l +/* 80291680 0028E5E0 80 7F 04 50 */ lwz r3, 0x450(r31) +/* 80291684 0028E5E4 38 E5 AC 48 */ addi r7, r5, lbl_803DAA68@l +/* 80291688 0028E5E8 C0 44 00 00 */ lfs f2, 0x0(r4) +/* 8029168C 0028E5EC C0 24 00 04 */ lfs f1, 0x4(r4) +/* 80291690 0028E5F0 3C A0 80 3E */ lis r5, lbl_803DAA44@ha +/* 80291694 0028E5F4 C0 04 00 08 */ lfs f0, 0x8(r4) +/* 80291698 0028E5F8 38 C0 00 04 */ li r6, 0x4 +/* 8029169C 0028E5FC 38 00 00 01 */ li r0, 0x1 +/* 802916A0 0028E600 3A 43 00 04 */ addi r18, r3, 0x4 +/* 802916A4 0028E604 90 E1 01 2C */ stw r7, 0x12c(r1) +/* 802916A8 0028E608 38 A5 AC 24 */ addi r5, r5, lbl_803DAA44@l +/* 802916AC 0028E60C 7E 43 93 78 */ mr r3, r18 +/* 802916B0 0028E610 38 80 00 04 */ li r4, 0x4 +/* 802916B4 0028E614 90 C1 01 30 */ stw r6, 0x130(r1) +/* 802916B8 0028E618 90 A1 01 2C */ stw r5, 0x12c(r1) +/* 802916BC 0028E61C D0 41 01 34 */ stfs f2, 0x134(r1) +/* 802916C0 0028E620 D0 21 01 38 */ stfs f1, 0x138(r1) +/* 802916C4 0028E624 D0 01 01 3C */ stfs f0, 0x13c(r1) +/* 802916C8 0028E628 90 01 01 40 */ stw r0, 0x140(r1) +/* 802916CC 0028E62C 4B E9 FD E9 */ bl DeliverCmd__16CBodyStateCmdMgrF13EBodyStateCmd +/* 802916D0 0028E630 80 01 01 30 */ lwz r0, 0x130(r1) +/* 802916D4 0028E634 3C 60 80 3E */ lis r3, lbl_803DAA44@ha +/* 802916D8 0028E638 38 83 AC 24 */ addi r4, r3, lbl_803DAA44@l +/* 802916DC 0028E63C 3C 60 80 3E */ lis r3, lbl_803DAA68@ha +/* 802916E0 0028E640 90 12 00 F8 */ stw r0, 0xf8(r18) +/* 802916E4 0028E644 38 03 AC 48 */ addi r0, r3, lbl_803DAA68@l +/* 802916E8 0028E648 80 A1 01 34 */ lwz r5, 0x134(r1) +/* 802916EC 0028E64C 80 61 01 38 */ lwz r3, 0x138(r1) +/* 802916F0 0028E650 90 B2 00 FC */ stw r5, 0xfc(r18) +/* 802916F4 0028E654 80 A1 01 3C */ lwz r5, 0x13c(r1) +/* 802916F8 0028E658 90 72 01 00 */ stw r3, 0x100(r18) +/* 802916FC 0028E65C 80 61 01 40 */ lwz r3, 0x140(r1) +/* 80291700 0028E660 90 B2 01 04 */ stw r5, 0x104(r18) +/* 80291704 0028E664 90 81 01 2C */ stw r4, 0x12c(r1) +/* 80291708 0028E668 90 72 01 08 */ stw r3, 0x108(r18) +/* 8029170C 0028E66C 90 01 01 2C */ stw r0, 0x12c(r1) +/* 80291710 0028E670 48 00 00 FC */ b lbl_8029180C +AcceptScriptMsg_Reset: +/* 80291714 0028E674 38 00 00 01 */ li r0, 0x1 +/* 80291718 0028E678 3C 60 80 3E */ lis r3, lbl_803DAA68@ha +/* 8029171C 0028E67C 98 1F 0B 78 */ stb r0, 0xb78(r31) +/* 80291720 0028E680 38 63 AC 48 */ addi r3, r3, lbl_803DAA68@l +/* 80291724 0028E684 38 00 00 0C */ li r0, 0xc +/* 80291728 0028E688 38 81 00 DC */ addi r4, r1, 0xdc +/* 8029172C 0028E68C 90 61 00 DC */ stw r3, 0xdc(r1) +/* 80291730 0028E690 90 01 00 E0 */ stw r0, 0xe0(r1) +/* 80291734 0028E694 80 7F 04 50 */ lwz r3, 0x450(r31) +/* 80291738 0028E698 38 63 00 04 */ addi r3, r3, 0x4 +/* 8029173C 0028E69C 4B EA 00 F9 */ bl DeliverCmd__16CBodyStateCmdMgrFRC13CBodyStateCmd +/* 80291740 0028E6A0 3C 60 80 3E */ lis r3, lbl_803DAA68@ha +/* 80291744 0028E6A4 38 03 AC 48 */ addi r0, r3, lbl_803DAA68@l +/* 80291748 0028E6A8 90 01 00 DC */ stw r0, 0xdc(r1) +/* 8029174C 0028E6AC 48 00 00 C0 */ b lbl_8029180C +AcceptScriptMsg_Open: +/* 80291750 0028E6B0 80 9F 0B 88 */ lwz r4, 0xb88(r31) +/* 80291754 0028E6B4 88 64 00 03 */ lbz r3, 0x3(r4) +/* 80291758 0028E6B8 28 03 00 00 */ cmplwi r3, 0x0 +/* 8029175C 0028E6BC 41 82 00 10 */ beq lbl_8029176C +/* 80291760 0028E6C0 38 03 FF FF */ addi r0, r3, -0x1 +/* 80291764 0028E6C4 54 00 06 3E */ clrlwi r0, r0, 24 +/* 80291768 0028E6C8 48 00 00 08 */ b lbl_80291770 +lbl_8029176C: +/* 8029176C 0028E6CC 38 00 00 00 */ li r0, 0x0 +lbl_80291770: +/* 80291770 0028E6D0 98 04 00 03 */ stb r0, 0x3(r4) +/* 80291774 0028E6D4 48 00 00 98 */ b lbl_8029180C +AcceptScriptMsg_SetToZero: +/* 80291778 0028E6D8 80 9F 0B 88 */ lwz r4, 0xb88(r31) +/* 8029177C 0028E6DC 88 64 00 02 */ lbz r3, 0x2(r4) +/* 80291780 0028E6E0 28 03 00 00 */ cmplwi r3, 0x0 +/* 80291784 0028E6E4 41 82 00 10 */ beq lbl_80291794 +/* 80291788 0028E6E8 38 03 FF FF */ addi r0, r3, -0x1 +/* 8029178C 0028E6EC 54 00 06 3E */ clrlwi r0, r0, 24 +/* 80291790 0028E6F0 48 00 00 08 */ b lvl_80291798 +lbl_80291794: +/* 80291794 0028E6F4 38 00 00 00 */ li r0, 0x0 +lvl_80291798: +/* 80291798 0028E6F8 98 04 00 02 */ stb r0, 0x2(r4) +/* 8029179C 0028E6FC 48 00 00 70 */ b lbl_8029180C +AcceptScriptMsg_StopAndReset: +/* 802917A0 0028E700 80 9F 0B 88 */ lwz r4, 0xb88(r31) +/* 802917A4 0028E704 88 64 00 01 */ lbz r3, 0x1(r4) +/* 802917A8 0028E708 28 03 00 00 */ cmplwi r3, 0x0 +/* 802917AC 0028E70C 41 82 00 10 */ beq lbl_802917BC +/* 802917B0 0028E710 38 03 FF FF */ addi r0, r3, -0x1 +/* 802917B4 0028E714 54 00 06 3E */ clrlwi r0, r0, 24 +/* 802917B8 0028E718 48 00 00 08 */ b func_802917C0 +lbl_802917BC: +/* 802917BC 0028E71C 38 00 00 00 */ li r0, 0x0 +func_802917C0: +/* 802917C0 0028E720 98 04 00 01 */ stb r0, 0x1(r4) +/* 802917C4 0028E724 48 00 00 48 */ b lbl_8029180C +AcceptScriptMsg_UNKM18: +/* 802917C8 0028E728 80 9F 0B 88 */ lwz r4, 0xb88(r31) +/* 802917CC 0028E72C 88 64 00 00 */ lbz r3, 0x0(r4) +/* 802917D0 0028E730 28 03 00 00 */ cmplwi r3, 0x0 +/* 802917D4 0028E734 41 82 00 10 */ beq lbl_802917E4 +/* 802917D8 0028E738 38 03 FF FF */ addi r0, r3, -0x1 +/* 802917DC 0028E73C 54 00 06 3E */ clrlwi r0, r0, 24 +/* 802917E0 0028E740 48 00 00 08 */ b func_802917E8 +lbl_802917E4: +/* 802917E4 0028E744 38 00 00 00 */ li r0, 0x0 +func_802917E8: +/* 802917E8 0028E748 98 04 00 00 */ stb r0, 0x0(r4) +/* 802917EC 0028E74C 48 00 00 20 */ b lbl_8029180C +AcceptScriptMsg_Default: +/* 802917F0 0028E750 A0 14 00 00 */ lhz r0, 0x0(r20) +/* 802917F4 0028E754 7F E3 FB 78 */ mr r3, r31 +/* 802917F8 0028E758 7E A4 AB 78 */ mr r4, r21 +/* 802917FC 0028E75C 7F C6 F3 78 */ mr r6, r30 +/* 80291800 0028E760 B0 01 00 08 */ sth r0, 0x8(r1) +/* 80291804 0028E764 38 A1 00 08 */ addi r5, r1, 0x8 +/* 80291808 0028E768 4B F9 B4 41 */ bl AcceptScriptMsg__12CElitePirateF20EScriptObjectMessage9TUniqueIdR13CStateManager +lbl_8029180C: +/* 8029180C 0028E76C BA 41 02 38 */ lmw r18, 0x238(r1) +/* 80291810 0028E770 80 01 02 74 */ lwz r0, 0x274(r1) +/* 80291814 0028E774 7C 08 03 A6 */ mtlr r0 +/* 80291818 0028E778 38 21 02 70 */ addi r1, r1, 0x270 +/* 8029181C 0028E77C 4E 80 00 20 */ blr + +.else + .global AcceptScriptMsg__12COmegaPirateF20EScriptObjectMessage9TUniqueIdR13CStateManager AcceptScriptMsg__12COmegaPirateF20EScriptObjectMessage9TUniqueIdR13CStateManager: /* 802908B0 0028D810 94 21 FD A0 */ stwu r1, -0x260(r1) @@ -6415,15 +7447,14 @@ AcceptScriptMsg__12COmegaPirateF20EScriptObjectMessage9TUniqueIdR13CStateManager /* 802908C8 0028D828 7C 7F 1B 78 */ mr r31, r3 /* 802908CC 0028D82C 7C B4 2B 78 */ mr r20, r5 /* 802908D0 0028D830 7C DE 33 78 */ mr r30, r6 -/* 802908D4 0028D834 41 81 0E 70 */ bgt lbl_80291744 -/* 802908D8 0028D838 3C A0 80 3F */ lis r5, lbl_803EB7BC@ha +/* 802908D4 0028D834 41 81 0E 70 */ bgt AcceptScriptMsg_Default +/* 802908D8 0028D838 3C A0 80 3F */ lis r5, AcceptScriptMsg_jumptable@ha /* 802908DC 0028D83C 56 A0 10 3A */ slwi r0, r21, 2 -/* 802908E0 0028D840 38 A5 B7 BC */ addi r5, r5, lbl_803EB7BC@l +/* 802908E0 0028D840 38 A5 B7 BC */ addi r5, r5, AcceptScriptMsg_jumptable@l /* 802908E4 0028D844 7C 05 00 2E */ lwzx r0, r5, r0 /* 802908E8 0028D848 7C 09 03 A6 */ mtctr r0 /* 802908EC 0028D84C 4E 80 04 20 */ bctr -.global lbl_802908F0 -lbl_802908F0: +AcceptScriptMsg_Registered: /* 802908F0 0028D850 A0 14 00 00 */ lhz r0, 0(r20) /* 802908F4 0028D854 38 A1 00 9C */ addi r5, r1, 0x9c /* 802908F8 0028D858 B0 01 00 9C */ sth r0, 0x9c(r1) @@ -6493,8 +7524,7 @@ lbl_802909E4: /* 802909F0 0028D950 7F E3 FB 78 */ mr r3, r31 /* 802909F4 0028D954 4B F9 88 55 */ bl sub_80229248 /* 802909F8 0028D958 48 00 0D 68 */ b lbl_80291760 -.global lbl_802909FC -lbl_802909FC: +AcceptScriptMsg_Activate: /* 802909FC 0028D95C A0 14 00 00 */ lhz r0, 0(r20) /* 80290A00 0028D960 38 A1 00 84 */ addi r5, r1, 0x84 /* 80290A04 0028D964 B0 01 00 84 */ sth r0, 0x84(r1) @@ -6523,8 +7553,7 @@ lbl_802909FC: /* 80290A60 0028D9C0 7D 89 03 A6 */ mtctr r12 /* 80290A64 0028D9C4 4E 80 04 21 */ bctrl /* 80290A68 0028D9C8 48 00 0C F8 */ b lbl_80291760 -.global lbl_80290A6C -lbl_80290A6C: +AcceptScriptMsg_Deactivate: /* 80290A6C 0028D9CC A0 14 00 00 */ lhz r0, 0(r20) /* 80290A70 0028D9D0 38 A1 00 7C */ addi r5, r1, 0x7c /* 80290A74 0028D9D4 B0 01 00 7C */ sth r0, 0x7c(r1) @@ -6550,8 +7579,7 @@ lbl_80290A6C: /* 80290AC4 0028DA24 7D 89 03 A6 */ mtctr r12 /* 80290AC8 0028DA28 4E 80 04 21 */ bctrl /* 80290ACC 0028DA2C 48 00 0C 94 */ b lbl_80291760 -.global lbl_80290AD0 -lbl_80290AD0: +AcceptScriptMsg_Deleted: /* 80290AD0 0028DA30 A0 14 00 00 */ lhz r0, 0(r20) /* 80290AD4 0028DA34 38 A1 00 74 */ addi r5, r1, 0x74 /* 80290AD8 0028DA38 B0 01 00 74 */ sth r0, 0x74(r1) @@ -6568,15 +7596,13 @@ lbl_80290AD0: /* 80290B04 0028DA64 B0 01 00 70 */ sth r0, 0x70(r1) /* 80290B08 0028DA68 4B DB B7 65 */ bl FreeScriptObject__13CStateManagerF9TUniqueId /* 80290B0C 0028DA6C 48 00 0C 54 */ b lbl_80291760 -.global lbl_80290B10 -lbl_80290B10: +AcceptScriptMsg_Alert: /* 80290B10 0028DA70 A0 14 00 00 */ lhz r0, 0(r20) /* 80290B14 0028DA74 38 A1 00 6C */ addi r5, r1, 0x6c /* 80290B18 0028DA78 B0 01 00 6C */ sth r0, 0x6c(r1) /* 80290B1C 0028DA7C 4B F9 C0 B1 */ bl AcceptScriptMsg__12CElitePirateF20EScriptObjectMessage9TUniqueIdR13CStateManager /* 80290B20 0028DA80 48 00 0C 40 */ b lbl_80291760 -.global lbl_80290B24 -lbl_80290B24: +AcceptScriptMsg_InitializedInArea: /* 80290B24 0028DA84 A0 14 00 00 */ lhz r0, 0(r20) /* 80290B28 0028DA88 38 A1 00 68 */ addi r5, r1, 0x68 /* 80290B2C 0028DA8C B0 01 00 68 */ sth r0, 0x68(r1) @@ -7040,7 +8066,7 @@ lbl_802911D0: /* 802911D0 0028E130 7C 1D C0 40 */ cmplw r29, r24 /* 802911D4 0028E134 41 80 F9 80 */ blt lbl_80290B54 /* 802911D8 0028E138 48 00 05 88 */ b lbl_80291760 -lbl_802911DC: +AcceptScriptMsg_Touched: /* 802911DC 0028E13C A0 14 00 00 */ lhz r0, 0(r20) /* 802911E0 0028E140 38 A1 00 48 */ addi r5, r1, 0x48 /* 802911E4 0028E144 B0 01 00 48 */ sth r0, 0x48(r1) @@ -7127,7 +8153,7 @@ lbl_80291218: /* 80291324 0028E284 C0 1F 04 24 */ lfs f0, 0x424(r31) /* 80291328 0028E288 D0 1F 04 20 */ stfs f0, 0x420(r31) /* 8029132C 0028E28C 48 00 04 34 */ b lbl_80291760 -lbl_80291330: +AcceptScriptMsg_Damaged: /* 80291330 0028E290 A0 14 00 00 */ lhz r0, 0(r20) /* 80291334 0028E294 A0 7F 09 90 */ lhz r3, 0x990(r31) /* 80291338 0028E298 7C 00 18 40 */ cmplw r0, r3 @@ -7192,7 +8218,7 @@ lbl_802913E0: /* 80291420 0028E380 90 1F 0A 7C */ stw r0, 0xa7c(r31) /* 80291424 0028E384 D0 1F 0A 84 */ stfs f0, 0xa84(r31) /* 80291428 0028E388 48 00 03 38 */ b lbl_80291760 -lbl_8029142C: +AcceptScriptMsg_InvulnDamage: /* 8029142C 0028E38C A0 14 00 00 */ lhz r0, 0(r20) /* 80291430 0028E390 7F C3 F3 78 */ mr r3, r30 /* 80291434 0028E394 38 81 00 1C */ addi r4, r1, 0x1c @@ -7240,24 +8266,24 @@ lbl_802914D0: /* 802914D8 0028E438 38 80 00 01 */ li r4, 1 /* 802914DC 0028E43C 4B F9 60 C1 */ bl sub_8022759c /* 802914E0 0028E440 48 00 02 80 */ b lbl_80291760 -lbl_802914E4: +AcceptScriptMsg_Decrement: /* 802914E4 0028E444 38 00 00 01 */ li r0, 1 /* 802914E8 0028E448 98 1F 09 EC */ stb r0, 0x9ec(r31) /* 802914EC 0028E44C 48 00 02 74 */ b lbl_80291760 -lbl_802914F0: +AcceptScriptMsg_Increment: /* 802914F0 0028E450 7F C5 F3 78 */ mr r5, r30 /* 802914F4 0028E454 38 80 00 01 */ li r4, 1 /* 802914F8 0028E458 4B F9 60 A5 */ bl sub_8022759c /* 802914FC 0028E45C 48 00 02 64 */ b lbl_80291760 -lbl_80291500: +AcceptScriptMsg_SetToMax: /* 80291500 0028E460 38 00 00 01 */ li r0, 1 /* 80291504 0028E464 98 1F 0A 3C */ stb r0, 0xa3c(r31) /* 80291508 0028E468 48 00 02 58 */ b lbl_80291760 -lbl_8029150C: +AcceptScriptMsg_Stop: /* 8029150C 0028E46C 7F C4 F3 78 */ mr r4, r30 /* 80291510 0028E470 4B FF A0 09 */ bl sub_8028b518 /* 80291514 0028E474 48 00 02 4C */ b lbl_80291760 -lbl_80291518: +AcceptScriptMsg_Start: /* 80291518 0028E478 C0 02 BE A0 */ lfs f0, lbl_805ADBC0@sda21(r2) /* 8029151C 0028E47C D0 1F 03 B4 */ stfs f0, 0x3b4(r31) /* 80291520 0028E480 88 7F 0A DE */ lbz r3, 0xade(r31) @@ -7306,7 +8332,7 @@ lbl_80291518: /* 802915CC 0028E52C 90 72 01 08 */ stw r3, 0x108(r18) /* 802915D0 0028E530 90 01 01 3C */ stw r0, 0x13c(r1) /* 802915D4 0028E534 48 00 01 8C */ b lbl_80291760 -lbl_802915D8: +AcceptScriptMsg_Action: /* 802915D8 0028E538 C0 02 BE A0 */ lfs f0, lbl_805ADBC0@sda21(r2) /* 802915DC 0028E53C D0 1F 03 B4 */ stfs f0, 0x3b4(r31) /* 802915E0 0028E540 88 7F 0A DE */ lbz r3, 0xade(r31) @@ -7355,11 +8381,11 @@ lbl_802915D8: /* 8029168C 0028E5EC 90 72 01 08 */ stw r3, 0x108(r18) /* 80291690 0028E5F0 90 01 01 24 */ stw r0, 0x124(r1) /* 80291694 0028E5F4 48 00 00 CC */ b lbl_80291760 -lbl_80291698: +AcceptScriptMsg_Reset: /* 80291698 0028E5F8 38 00 00 01 */ li r0, 1 /* 8029169C 0028E5FC 98 1F 0B 78 */ stb r0, 0xb78(r31) /* 802916A0 0028E600 48 00 00 C0 */ b lbl_80291760 -lbl_802916A4: +AcceptScriptMsg_Open: /* 802916A4 0028E604 80 9F 0B 88 */ lwz r4, 0xb88(r31) /* 802916A8 0028E608 88 64 00 03 */ lbz r3, 3(r4) /* 802916AC 0028E60C 28 03 00 00 */ cmplwi r3, 0 @@ -7372,7 +8398,7 @@ lbl_802916C0: lbl_802916C4: /* 802916C4 0028E624 98 04 00 03 */ stb r0, 3(r4) /* 802916C8 0028E628 48 00 00 98 */ b lbl_80291760 -lbl_802916CC: +AcceptScriptMsg_SetToZero: /* 802916CC 0028E62C 80 9F 0B 88 */ lwz r4, 0xb88(r31) /* 802916D0 0028E630 88 64 00 02 */ lbz r3, 2(r4) /* 802916D4 0028E634 28 03 00 00 */ cmplwi r3, 0 @@ -7385,7 +8411,7 @@ lbl_802916E8: lbl_802916EC: /* 802916EC 0028E64C 98 04 00 02 */ stb r0, 2(r4) /* 802916F0 0028E650 48 00 00 70 */ b lbl_80291760 -lbl_802916F4: +AcceptScriptMsg_StopAndReset: /* 802916F4 0028E654 80 9F 0B 88 */ lwz r4, 0xb88(r31) /* 802916F8 0028E658 88 64 00 01 */ lbz r3, 1(r4) /* 802916FC 0028E65C 28 03 00 00 */ cmplwi r3, 0 @@ -7398,7 +8424,7 @@ lbl_80291710: lbl_80291714: /* 80291714 0028E674 98 04 00 01 */ stb r0, 1(r4) /* 80291718 0028E678 48 00 00 48 */ b lbl_80291760 -lbl_8029171C: +AcceptScriptMsg_UNKM18: /* 8029171C 0028E67C 80 9F 0B 88 */ lwz r4, 0xb88(r31) /* 80291720 0028E680 88 64 00 00 */ lbz r3, 0(r4) /* 80291724 0028E684 28 03 00 00 */ cmplwi r3, 0 @@ -7411,7 +8437,7 @@ lbl_80291738: lbl_8029173C: /* 8029173C 0028E69C 98 04 00 00 */ stb r0, 0(r4) /* 80291740 0028E6A0 48 00 00 20 */ b lbl_80291760 -lbl_80291744: +AcceptScriptMsg_Default: /* 80291744 0028E6A4 A0 14 00 00 */ lhz r0, 0(r20) /* 80291748 0028E6A8 7F E3 FB 78 */ mr r3, r31 /* 8029174C 0028E6AC 7E A4 AB 78 */ mr r4, r21 @@ -7426,6 +8452,8 @@ lbl_80291760: /* 8029176C 0028E6CC 38 21 02 60 */ addi r1, r1, 0x260 /* 80291770 0028E6D0 4E 80 00 20 */ blr +.endif + .global sub_80291774 sub_80291774: /* 80291774 0028E6D4 94 21 FF E0 */ stwu r1, -0x20(r1) diff --git a/asm/MetroidPrime/main.s b/asm/MetroidPrime/main.s index 378ba2c7..ce2ec824 100644 --- a/asm/MetroidPrime/main.s +++ b/asm/MetroidPrime/main.s @@ -3803,6 +3803,241 @@ lbl_80005CE0: /* 80005CF4 00002C54 38 21 00 10 */ addi r1, r1, 0x10 /* 80005CF8 00002C58 4E 80 00 20 */ blr +.if version == 1 + +.global CheckReset__5CMainFv +CheckReset__5CMainFv: +/* 80005CFC 00002C5C 94 21 FE B0 */ stwu r1, -0x150(r1) +/* 80005D00 00002C60 7C 08 02 A6 */ mflr r0 +/* 80005D04 00002C64 90 01 01 54 */ stw r0, 0x154(r1) +/* 80005D08 00002C68 93 E1 01 4C */ stw r31, 0x14c(r1) +/* 80005D0C 00002C6C 93 C1 01 48 */ stw r30, 0x148(r1) +/* 80005D10 00002C70 7C 7E 1B 78 */ mr r30, r3 +/* 80005D14 00002C74 48 37 DA 59 */ bl OSGetResetButtonState +/* 80005D18 00002C78 7C 7F 1B 78 */ mr r31, r3 +/* 80005D1C 00002C7C 80 6D A0 7C */ lwz r3, gpController@sda21(r13) +/* 80005D20 00002C80 38 80 00 00 */ li r4, 0x0 +/* 80005D24 00002C84 81 83 00 00 */ lwz r12, 0x0(r3) +/* 80005D28 00002C88 81 8C 00 14 */ lwz r12, 0x14(r12) +/* 80005D2C 00002C8C 7D 89 03 A6 */ mtctr r12 +/* 80005D30 00002C90 4E 80 04 21 */ bctrl +/* 80005D34 00002C94 88 03 00 37 */ lbz r0, 0x37(r3) +/* 80005D38 00002C98 28 00 00 00 */ cmplwi r0, 0x0 +/* 80005D3C 00002C9C 41 82 00 60 */ beq lbl_80005D9C +/* 80005D40 00002CA0 88 03 00 3A */ lbz r0, 0x3a(r3) +/* 80005D44 00002CA4 28 00 00 00 */ cmplwi r0, 0x0 +/* 80005D48 00002CA8 41 82 00 54 */ beq lbl_80005D9C +/* 80005D4C 00002CAC 88 03 00 40 */ lbz r0, 0x40(r3) +/* 80005D50 00002CB0 28 00 00 00 */ cmplwi r0, 0x0 +/* 80005D54 00002CB4 41 82 00 48 */ beq lbl_80005D9C +/* 80005D58 00002CB8 C0 1E 01 24 */ lfs f0, 0x124(r30) +/* 80005D5C 00002CBC C0 42 80 30 */ lfs f2, lbl_805A9D50@sda21(r2) +/* 80005D60 00002CC0 FC 00 10 40 */ fcmpo cr0, f0, f2 +/* 80005D64 00002CC4 4C 41 13 82 */ cror 2, 1, 2 +/* 80005D68 00002CC8 40 82 00 58 */ bne lbl_80005DC0 +/* 80005D6C 00002CCC C0 3E 01 20 */ lfs f1, 0x120(r30) +/* 80005D70 00002CD0 C0 02 80 00 */ lfs f0, lbl_805A9D20@sda21(r2) +/* 80005D74 00002CD4 EC 01 00 2A */ fadds f0, f1, f0 +/* 80005D78 00002CD8 D0 1E 01 20 */ stfs f0, 0x120(r30) +/* 80005D7C 00002CDC C0 1E 01 20 */ lfs f0, 0x120(r30) +/* 80005D80 00002CE0 FC 00 10 40 */ fcmpo cr0, f0, f2 +/* 80005D84 00002CE4 40 81 00 3C */ ble lbl_80005DC0 +/* 80005D88 00002CE8 88 1E 01 60 */ lbz r0, 0x160(r30) +/* 80005D8C 00002CEC 38 60 00 01 */ li r3, 0x1 +/* 80005D90 00002CF0 50 60 26 F6 */ rlwimi r0, r3, 4, 27, 27 +/* 80005D94 00002CF4 98 1E 01 60 */ stb r0, 0x160(r30) +/* 80005D98 00002CF8 48 00 00 28 */ b lbl_80005DC0 +lbl_80005D9C: +/* 80005D9C 00002CFC C0 3E 01 24 */ lfs f1, 0x124(r30) +/* 80005DA0 00002D00 C0 02 80 30 */ lfs f0, lbl_805A9D50@sda21(r2) +/* 80005DA4 00002D04 FC 01 00 40 */ fcmpo cr0, f1, f0 +/* 80005DA8 00002D08 40 80 00 10 */ bge lbl_80005DB8 +/* 80005DAC 00002D0C C0 02 80 00 */ lfs f0, lbl_805A9D20@sda21(r2) +/* 80005DB0 00002D10 EC 01 00 2A */ fadds f0, f1, f0 +/* 80005DB4 00002D14 D0 1E 01 24 */ stfs f0, 0x124(r30) +lbl_80005DB8: +/* 80005DB8 00002D18 C0 02 80 34 */ lfs f0, lbl_805A9D54@sda21(r2) +/* 80005DBC 00002D1C D0 1E 01 20 */ stfs f0, 0x120(r30) +lbl_80005DC0: +/* 80005DC0 00002D20 2C 1F 00 00 */ cmpwi r31, 0x0 +/* 80005DC4 00002D24 40 82 00 1C */ bne lbl_80005DE0 +/* 80005DC8 00002D28 88 7E 01 60 */ lbz r3, 0x160(r30) +/* 80005DCC 00002D2C 54 60 E7 FF */ rlwinm. r0, r3, 28, 31, 31 +/* 80005DD0 00002D30 41 82 00 10 */ beq lbl_80005DE0 +/* 80005DD4 00002D34 38 00 00 01 */ li r0, 0x1 +/* 80005DD8 00002D38 50 03 17 7A */ rlwimi r3, r0, 2, 29, 29 +/* 80005DDC 00002D3C 98 7E 01 60 */ stb r3, 0x160(r30) +lbl_80005DE0: +/* 80005DE0 00002D40 88 7E 01 60 */ lbz r3, 0x160(r30) +/* 80005DE4 00002D44 54 60 07 FF */ clrlwi. r0, r3, 31 +/* 80005DE8 00002D48 40 82 02 38 */ bne lbl_80006020 +/* 80005DEC 00002D4C 54 60 F7 FF */ rlwinm. r0, r3, 30, 31, 31 +/* 80005DF0 00002D50 40 82 00 14 */ bne lbl_80005E04 +/* 80005DF4 00002D54 54 60 EF FF */ rlwinm. r0, r3, 29, 31, 31 +/* 80005DF8 00002D58 40 82 00 0C */ bne lbl_80005E04 +/* 80005DFC 00002D5C 54 60 FF FF */ rlwinm. r0, r3, 31, 31, 31 +/* 80005E00 00002D60 41 82 02 20 */ beq lbl_80006020 +lbl_80005E04: +/* 80005E04 00002D64 80 7E 01 64 */ lwz r3, 0x164(r30) +/* 80005E08 00002D68 28 03 00 00 */ cmplwi r3, 0x0 +/* 80005E0C 00002D6C 41 82 00 24 */ beq lbl_80005E30 +/* 80005E10 00002D70 88 03 00 C8 */ lbz r0, 0xc8(r3) +/* 80005E14 00002D74 28 00 00 00 */ cmplwi r0, 0x0 +/* 80005E18 00002D78 41 82 00 18 */ beq lbl_80005E30 +/* 80005E1C 00002D7C 38 63 00 A0 */ addi r3, r3, 0xa0 +/* 80005E20 00002D80 48 37 87 B1 */ bl OSCancelAlarm +/* 80005E24 00002D84 80 7E 01 64 */ lwz r3, 0x164(r30) +/* 80005E28 00002D88 38 00 00 00 */ li r0, 0x0 +/* 80005E2C 00002D8C 98 03 00 C8 */ stb r0, 0xc8(r3) +lbl_80005E30: +/* 80005E30 00002D90 48 37 28 91 */ bl GXDrawDone +/* 80005E34 00002D94 48 37 27 15 */ bl sub_8037836c +/* 80005E38 00002D98 88 1E 01 60 */ lbz r0, 0x160(r30) +/* 80005E3C 00002D9C 54 00 FF FF */ rlwinm. r0, r0, 31, 31, 31 +/* 80005E40 00002DA0 40 82 00 2C */ bne lbl_80005E6C +/* 80005E44 00002DA4 38 61 00 38 */ addi r3, r1, 0x38 +/* 80005E48 00002DA8 48 20 9A 05 */ bl __ct__12CGameOptionsFv +/* 80005E4C 00002DAC 80 6D A0 80 */ lwz r3, gpGameState@sda21(r13) +/* 80005E50 00002DB0 38 81 00 38 */ addi r4, r1, 0x38 +/* 80005E54 00002DB4 38 63 01 7C */ addi r3, r3, 0x17c +/* 80005E58 00002DB8 4B FF D9 49 */ bl __as__12CGameOptionsFRC12CGameOptions +/* 80005E5C 00002DBC 38 61 00 38 */ addi r3, r1, 0x38 +/* 80005E60 00002DC0 38 80 FF FF */ li r4, -0x1 +/* 80005E64 00002DC4 4B FF E1 21 */ bl __dt__12CGameOptionsFv +/* 80005E68 00002DC8 48 00 00 4C */ b lbl_80005EB4 +lbl_80005E6C: +/* 80005E6C 00002DCC 80 6D A0 80 */ lwz r3, gpGameState@sda21(r13) +/* 80005E70 00002DD0 38 80 00 04 */ li r4, 0x4 +/* 80005E74 00002DD4 38 A0 00 00 */ li r5, 0x0 +/* 80005E78 00002DD8 3B E3 01 7C */ addi r31, r3, 0x17c +/* 80005E7C 00002DDC 7F E3 FB 78 */ mr r3, r31 +/* 80005E80 00002DE0 48 20 92 95 */ bl SetScreenBrightness__12CGameOptionsFib +/* 80005E84 00002DE4 7F E3 FB 78 */ mr r3, r31 +/* 80005E88 00002DE8 38 80 00 00 */ li r4, 0x0 +/* 80005E8C 00002DEC 38 A0 00 00 */ li r5, 0x0 +/* 80005E90 00002DF0 48 20 91 C9 */ bl SetScreenPositionX__12CGameOptionsFib +/* 80005E94 00002DF4 7F E3 FB 78 */ mr r3, r31 +/* 80005E98 00002DF8 38 80 00 00 */ li r4, 0x0 +/* 80005E9C 00002DFC 38 A0 00 00 */ li r5, 0x0 +/* 80005EA0 00002E00 48 20 91 41 */ bl SetScreenPositionY__12CGameOptionsFib +/* 80005EA4 00002E04 7F E3 FB 78 */ mr r3, r31 +/* 80005EA8 00002E08 38 80 00 00 */ li r4, 0x0 +/* 80005EAC 00002E0C 38 A0 00 00 */ li r5, 0x0 +/* 80005EB0 00002E10 48 20 90 B9 */ bl SetScreenStretch__12CGameOptionsFib +lbl_80005EB4: +/* 80005EB4 00002E14 80 8D A0 90 */ lwz r4, lbl_805A8C50@sda21(r13) +/* 80005EB8 00002E18 38 61 00 B4 */ addi r3, r1, 0xb4 +/* 80005EBC 00002E1C 38 A0 00 80 */ li r5, 0x80 +/* 80005EC0 00002E20 38 C0 00 01 */ li r6, 0x1 +/* 80005EC4 00002E24 38 E0 10 00 */ li r7, 0x1000 +/* 80005EC8 00002E28 48 33 95 55 */ bl __ct__16CMemoryStreamOutFPvUlQ216CMemoryStreamOut10EOwnerShipi +/* 80005ECC 00002E2C 48 30 38 05 */ bl GetProgressiveMode__9CGraphicsFv +/* 80005ED0 00002E30 54 64 06 3E */ clrlwi r4, r3, 24 +/* 80005ED4 00002E34 38 61 00 B4 */ addi r3, r1, 0xb4 +/* 80005ED8 00002E38 7C 04 00 D0 */ neg r0, r4 +/* 80005EDC 00002E3C 38 A0 00 01 */ li r5, 0x1 +/* 80005EE0 00002E40 7C 00 23 78 */ or r0, r0, r4 +/* 80005EE4 00002E44 54 04 0F FE */ srwi r4, r0, 31 +/* 80005EE8 00002E48 48 33 95 B5 */ bl WriteBits__13COutputStreamFii +/* 80005EEC 00002E4C 80 6D A0 80 */ lwz r3, gpGameState@sda21(r13) +/* 80005EF0 00002E50 38 81 00 B4 */ addi r4, r1, 0xb4 +/* 80005EF4 00002E54 38 63 01 7C */ addi r3, r3, 0x17c +/* 80005EF8 00002E58 48 20 94 19 */ bl PutTo__12CGameOptionsFR16CMemoryStreamOut +/* 80005EFC 00002E5C 88 8D 80 00 */ lbz r4, lbl_805A6BC0@sda21(r13) +/* 80005F00 00002E60 38 61 00 B4 */ addi r3, r1, 0xb4 +/* 80005F04 00002E64 38 A0 00 01 */ li r5, 0x1 +/* 80005F08 00002E68 7C 04 00 D0 */ neg r0, r4 +/* 80005F0C 00002E6C 7C 00 23 78 */ or r0, r0, r4 +/* 80005F10 00002E70 54 04 0F FE */ srwi r4, r0, 31 +/* 80005F14 00002E74 48 33 95 89 */ bl WriteBits__13COutputStreamFii +/* 80005F18 00002E78 38 61 00 B4 */ addi r3, r1, 0xb4 +/* 80005F1C 00002E7C 48 33 97 39 */ bl Flush__13COutputStreamFv +/* 80005F20 00002E80 38 61 00 B4 */ addi r3, r1, 0xb4 +/* 80005F24 00002E84 38 80 FF FF */ li r4, -0x1 +/* 80005F28 00002E88 48 33 94 79 */ bl __dt__16CMemoryStreamOutFv +/* 80005F2C 00002E8C 80 6D A0 80 */ lwz r3, gpGameState@sda21(r13) +/* 80005F30 00002E90 38 63 01 7C */ addi r3, r3, 0x17c +/* 80005F34 00002E94 48 20 92 45 */ bl EnsureOptions__12CGameOptionsFv +/* 80005F38 00002E98 80 6D A0 90 */ lwz r3, lbl_805A8C50@sda21(r13) +/* 80005F3C 00002E9C 38 80 00 80 */ li r4, 0x80 +/* 80005F40 00002EA0 48 37 8D 4D */ bl DCFlushRange +/* 80005F44 00002EA4 80 6D A0 90 */ lwz r3, lbl_805A8C50@sda21(r13) +/* 80005F48 00002EA8 38 83 00 80 */ addi r4, r3, 0x80 +/* 80005F4C 00002EAC 48 37 D2 9D */ bl OSSetSaveRegion +/* 80005F50 00002EB0 38 60 00 01 */ li r3, 0x1 +/* 80005F54 00002EB4 48 38 35 35 */ bl VISetBlack +/* 80005F58 00002EB8 48 38 33 95 */ bl VIFlush +/* 80005F5C 00002EBC 48 38 23 0D */ bl VIWaitForRetrace +/* 80005F60 00002EC0 88 1E 01 60 */ lbz r0, 0x160(r30) +/* 80005F64 00002EC4 54 00 EF FF */ rlwinm. r0, r0, 29, 31, 31 +/* 80005F68 00002EC8 41 82 00 18 */ beq lbl_80005F80 +/* 80005F6C 00002ECC 38 60 00 01 */ li r3, 0x1 +/* 80005F70 00002ED0 38 80 00 00 */ li r4, 0x0 +/* 80005F74 00002ED4 38 A0 00 01 */ li r5, 0x1 +/* 80005F78 00002ED8 48 37 D4 59 */ bl OSResetSystem +/* 80005F7C 00002EDC 48 00 00 68 */ b lbl_80005FE4 +lbl_80005F80: +/* 80005F80 00002EE0 48 36 E9 15 */ bl DVDCheckDisk +/* 80005F84 00002EE4 2C 03 00 00 */ cmpwi r3, 0x0 +/* 80005F88 00002EE8 41 82 00 4C */ beq lbl_80005FD4 +/* 80005F8C 00002EEC 48 36 E7 9D */ bl sub_8037454c +/* 80005F90 00002EF0 38 61 00 08 */ addi r3, r1, 0x8 +/* 80005F94 00002EF4 48 36 DF 3D */ bl sub_80373cf4 +/* 80005F98 00002EF8 88 0D A9 D0 */ lbz r0, lbl_805A9590@sda21(r13) +/* 80005F9C 00002EFC 28 00 00 00 */ cmplwi r0, 0x0 +/* 80005FA0 00002F00 41 82 00 08 */ beq lbl_80005FA8 +/* 80005FA4 00002F04 48 34 54 39 */ bl TrkFlushTracks__9CAudioSysFv +lbl_80005FA8: +/* 80005FA8 00002F08 38 60 00 00 */ li r3, 0x0 +/* 80005FAC 00002F0C 48 36 72 ED */ bl AISetStreamPlayState +/* 80005FB0 00002F10 88 0D A9 D0 */ lbz r0, lbl_805A9590@sda21(r13) +/* 80005FB4 00002F14 28 00 00 00 */ cmplwi r0, 0x0 +/* 80005FB8 00002F18 41 82 00 08 */ beq lbl_80005FC0 +/* 80005FBC 00002F1C 48 3A AE F9 */ bl sndQuit +lbl_80005FC0: +/* 80005FC0 00002F20 38 60 00 00 */ li r3, 0x0 +/* 80005FC4 00002F24 38 80 00 00 */ li r4, 0x0 +/* 80005FC8 00002F28 38 A0 00 00 */ li r5, 0x0 +/* 80005FCC 00002F2C 48 37 D4 05 */ bl OSResetSystem +/* 80005FD0 00002F30 48 00 00 14 */ b lbl_80005FE4 +lbl_80005FD4: +/* 80005FD4 00002F34 38 60 00 01 */ li r3, 0x1 +/* 80005FD8 00002F38 38 80 00 00 */ li r4, 0x0 +/* 80005FDC 00002F3C 38 A0 00 00 */ li r5, 0x0 +/* 80005FE0 00002F40 48 37 D3 F1 */ bl OSResetSystem +lbl_80005FE4: +/* 80005FE4 00002F44 88 1E 01 60 */ lbz r0, 0x160(r30) +/* 80005FE8 00002F48 38 80 00 00 */ li r4, 0x0 +/* 80005FEC 00002F4C 50 80 26 F6 */ rlwimi r0, r4, 4, 27, 27 +/* 80005FF0 00002F50 38 60 00 01 */ li r3, 0x1 +/* 80005FF4 00002F54 98 1E 01 60 */ stb r0, 0x160(r30) +/* 80005FF8 00002F58 88 1E 01 60 */ lbz r0, 0x160(r30) +/* 80005FFC 00002F5C 50 80 17 7A */ rlwimi r0, r4, 2, 29, 29 +/* 80006000 00002F60 98 1E 01 60 */ stb r0, 0x160(r30) +/* 80006004 00002F64 88 1E 01 60 */ lbz r0, 0x160(r30) +/* 80006008 00002F68 50 80 0F BC */ rlwimi r0, r4, 1, 30, 30 +/* 8000600C 00002F6C 98 1E 01 60 */ stb r0, 0x160(r30) +/* 80006010 00002F70 88 1E 01 60 */ lbz r0, 0x160(r30) +/* 80006014 00002F74 50 80 1F 38 */ rlwimi r0, r4, 3, 28, 28 +/* 80006018 00002F78 98 1E 01 60 */ stb r0, 0x160(r30) +/* 8000601C 00002F7C 48 00 00 1C */ b lbl_80006038 +lbl_80006020: +/* 80006020 00002F80 7C 7F 00 D0 */ neg r3, r31 +/* 80006024 00002F84 88 1E 01 60 */ lbz r0, 0x160(r30) +/* 80006028 00002F88 7C 64 FB 78 */ or r4, r3, r31 +/* 8000602C 00002F8C 50 80 2E F6 */ rlwimi r0, r4, 5, 27, 27 +/* 80006030 00002F90 38 60 00 00 */ li r3, 0x0 +/* 80006034 00002F94 98 1E 01 60 */ stb r0, 0x160(r30) +lbl_80006038: +/* 80006038 00002F98 80 01 01 54 */ lwz r0, 0x154(r1) +/* 8000603C 00002F9C 83 E1 01 4C */ lwz r31, 0x14c(r1) +/* 80006040 00002FA0 83 C1 01 48 */ lwz r30, 0x148(r1) +/* 80006044 00002FA4 7C 08 03 A6 */ mtlr r0 +/* 80006048 00002FA8 38 21 01 50 */ addi r1, r1, 0x150 +/* 8000604C 00002FAC 4E 80 00 20 */ blr + +.else + .global CheckReset__5CMainFv CheckReset__5CMainFv: /* 80005CFC 00002C5C 94 21 FE B0 */ stwu r1, -0x150(r1) @@ -4025,6 +4260,8 @@ lbl_8000601C: /* 8000602C 00002F8C 38 21 01 50 */ addi r1, r1, 0x150 /* 80006030 00002F90 4E 80 00 20 */ blr +.endif + .global CheckTerminate__5CMainFv CheckTerminate__5CMainFv: /* 80006034 00002F94 38 60 00 00 */ li r3, 0 @@ -4073,6 +4310,370 @@ GetResourceIdByName__11CResFactoryCFPCc: /* 800060AC 0000300C 38 21 00 10 */ addi r1, r1, 0x10 /* 800060B0 00003010 4E 80 00 20 */ blr +.if version == 1 + +.global AddPaksAndFactories__18CGameGlobalObjectsFv +AddPaksAndFactories__18CGameGlobalObjectsFv: +/* 800060D0 00003030 94 21 FF 30 */ stwu r1, -0xd0(r1) +/* 800060D4 00003034 7C 08 02 A6 */ mflr r0 +/* 800060D8 00003038 3C 60 80 5A */ lis r3, sIdentity__12CTransform4f@ha +/* 800060DC 0000303C 90 01 00 D4 */ stw r0, 0xd4(r1) +/* 800060E0 00003040 38 63 68 50 */ addi r3, r3, sIdentity__12CTransform4f@l +/* 800060E4 00003044 93 E1 00 CC */ stw r31, 0xcc(r1) +/* 800060E8 00003048 93 C1 00 C8 */ stw r30, 0xc8(r1) +/* 800060EC 0000304C 7C 9E 23 78 */ mr r30, r4 +/* 800060F0 00003050 83 ED A0 60 */ lwz r31, gpResourceFactory@sda21(r13) +/* 800060F4 00003054 48 30 67 39 */ bl SetViewPointMatrix__9CGraphicsFRC12CTransform4f +/* 800060F8 00003058 3C 60 80 5A */ lis r3, sIdentity__12CTransform4f@ha +/* 800060FC 0000305C 38 63 68 50 */ addi r3, r3, sIdentity__12CTransform4f@l +/* 80006100 00003060 48 30 65 C1 */ bl SetModelMatrix__9CGraphicsFRC12CTransform4f +/* 80006104 00003064 3C 80 80 3D */ lis r4, lbl_803CBE74@ha +/* 80006108 00003068 38 61 00 8C */ addi r3, r1, 0x8c +/* 8000610C 0000306C 38 84 C0 54 */ addi r4, r4, lbl_803CBE74@l +/* 80006110 00003070 38 84 00 A7 */ addi r4, r4, 0xa7 +/* 80006114 00003074 4B FF EB A5 */ bl string_l__4rstlFPCc +/* 80006118 00003078 38 7F 00 04 */ addi r3, r31, 0x4 +/* 8000611C 0000307C 38 81 00 8C */ addi r4, r1, 0x8c +/* 80006120 00003080 38 A0 00 00 */ li r5, 0x0 +/* 80006124 00003084 38 C0 00 00 */ li r6, 0x0 +/* 80006128 00003088 48 33 55 15 */ bl "AddPakFileAsync__10CResLoaderFRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>b" +/* 8000612C 0000308C 38 61 00 8C */ addi r3, r1, 0x8c +/* 80006130 00003090 48 33 7A 91 */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" +/* 80006134 00003094 3C 80 80 3D */ lis r4, lbl_803CBE74@ha +/* 80006138 00003098 38 61 00 7C */ addi r3, r1, 0x7c +/* 8000613C 0000309C 38 84 C0 54 */ addi r4, r4, lbl_803CBE74@l +/* 80006140 000030A0 38 84 00 B3 */ addi r4, r4, 0xb3 +/* 80006144 000030A4 4B FF EB 75 */ bl string_l__4rstlFPCc +/* 80006148 000030A8 38 7F 00 04 */ addi r3, r31, 0x4 +/* 8000614C 000030AC 38 81 00 7C */ addi r4, r1, 0x7c +/* 80006150 000030B0 38 A0 00 00 */ li r5, 0x0 +/* 80006154 000030B4 38 C0 00 00 */ li r6, 0x0 +/* 80006158 000030B8 48 33 54 E5 */ bl "AddPakFileAsync__10CResLoaderFRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>b" +/* 8000615C 000030BC 38 61 00 7C */ addi r3, r1, 0x7c +/* 80006160 000030C0 48 33 7A 61 */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" +/* 80006164 000030C4 3C 80 80 3D */ lis r4, lbl_803CBE74@ha +/* 80006168 000030C8 38 61 00 6C */ addi r3, r1, 0x6c +/* 8000616C 000030CC 38 84 C0 54 */ addi r4, r4, lbl_803CBE74@l +/* 80006170 000030D0 38 84 00 BA */ addi r4, r4, 0xba +/* 80006174 000030D4 4B FF EB 45 */ bl string_l__4rstlFPCc +/* 80006178 000030D8 38 7F 00 04 */ addi r3, r31, 0x4 +/* 8000617C 000030DC 38 81 00 6C */ addi r4, r1, 0x6c +/* 80006180 000030E0 38 A0 00 00 */ li r5, 0x0 +/* 80006184 000030E4 38 C0 00 00 */ li r6, 0x0 +/* 80006188 000030E8 48 33 54 B5 */ bl "AddPakFileAsync__10CResLoaderFRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>b" +/* 8000618C 000030EC 38 61 00 6C */ addi r3, r1, 0x6c +/* 80006190 000030F0 48 33 7A 31 */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" +/* 80006194 000030F4 3C 80 80 3D */ lis r4, lbl_803CBE74@ha +/* 80006198 000030F8 38 61 00 5C */ addi r3, r1, 0x5c +/* 8000619C 000030FC 38 84 C0 54 */ addi r4, r4, lbl_803CBE74@l +/* 800061A0 00003100 38 84 00 C3 */ addi r4, r4, 0xc3 +/* 800061A4 00003104 4B FF EB 15 */ bl string_l__4rstlFPCc +/* 800061A8 00003108 38 7F 00 04 */ addi r3, r31, 0x4 +/* 800061AC 0000310C 38 81 00 5C */ addi r4, r1, 0x5c +/* 800061B0 00003110 38 A0 00 00 */ li r5, 0x0 +/* 800061B4 00003114 38 C0 00 00 */ li r6, 0x0 +/* 800061B8 00003118 48 33 54 85 */ bl "AddPakFileAsync__10CResLoaderFRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>b" +/* 800061BC 0000311C 38 61 00 5C */ addi r3, r1, 0x5c +/* 800061C0 00003120 48 33 7A 01 */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" +/* 800061C4 00003124 38 61 00 9C */ addi r3, r1, 0x9c +/* 800061C8 00003128 38 80 00 01 */ li r4, 0x1 +/* 800061CC 0000312C 48 26 3A 71 */ bl __ct__18CErrorOutputWindowFiff +/* 800061D0 00003130 38 60 00 01 */ li r3, 0x1 +/* 800061D4 00003134 48 30 33 B5 */ bl SetIsBeginSceneClearFb__9CGraphicsFb +/* 800061D8 00003138 3C 80 80 3F */ lis r4, mViewport__9CGraphics@ha +/* 800061DC 0000313C 38 60 00 00 */ li r3, 0x0 +/* 800061E0 00003140 38 C4 DA F0 */ addi r6, r4, mViewport__9CGraphics@l +/* 800061E4 00003144 38 80 00 00 */ li r4, 0x0 +/* 800061E8 00003148 80 A6 00 08 */ lwz r5, 0x8(r6) +/* 800061EC 0000314C 80 C6 00 0C */ lwz r6, 0xc(r6) +/* 800061F0 00003150 48 30 5F 81 */ bl SetViewport__9CGraphicsFiiii +/* 800061F4 00003154 7F C3 F3 78 */ mr r3, r30 +/* 800061F8 00003158 48 34 8E 9D */ bl Create__11IControllerFRC10COsContext +/* 800061FC 0000315C 90 61 00 08 */ stw r3, 0x8(r1) +/* 80006200 00003160 90 6D A0 7C */ stw r3, gpController@sda21(r13) +/* 80006204 00003164 48 00 00 44 */ b lbl_80006248 +lbl_80006208: +/* 80006208 00003168 80 6D A0 60 */ lwz r3, gpResourceFactory@sda21(r13) +/* 8000620C 0000316C 38 63 00 04 */ addi r3, r3, 0x4 +/* 80006210 00003170 48 33 5C 91 */ bl AsyncIdlePakLoading__10CResLoaderFv +/* 80006214 00003174 38 61 00 9C */ addi r3, r1, 0x9c +/* 80006218 00003178 48 26 33 09 */ bl sub_802694a4 +/* 8000621C 0000317C 48 30 5D 69 */ bl BeginScene__9CGraphicsFv +/* 80006220 00003180 38 61 00 9C */ addi r3, r1, 0x9c +/* 80006224 00003184 48 26 32 D1 */ bl sub_80269478 +/* 80006228 00003188 48 30 59 79 */ bl EndScene__9CGraphicsFv +/* 8000622C 0000318C 80 61 00 08 */ lwz r3, 0x8(r1) +/* 80006230 00003190 81 83 00 00 */ lwz r12, 0x0(r3) +/* 80006234 00003194 81 8C 00 0C */ lwz r12, 0xc(r12) +/* 80006238 00003198 7D 89 03 A6 */ mtctr r12 +/* 8000623C 0000319C 4E 80 04 21 */ bctrl +/* 80006240 000031A0 80 6D A0 78 */ lwz r3, gpMain@sda21(r13) +/* 80006244 000031A4 4B FF FA B9 */ bl CheckReset__5CMainFv +lbl_80006248: +/* 80006248 000031A8 38 7F 00 04 */ addi r3, r31, 0x4 +/* 8000624C 000031AC 48 33 5C 45 */ bl AreAllPaksLoaded__10CResLoaderCFv +/* 80006250 000031B0 54 60 06 3F */ clrlwi. r0, r3, 24 +/* 80006254 000031B4 41 82 FF B4 */ beq lbl_80006208 +/* 80006258 000031B8 38 00 00 00 */ li r0, 0x0 +/* 8000625C 000031BC 3C 60 80 3D */ lis r3, lbl_803CBE74@ha +/* 80006260 000031C0 38 83 C0 54 */ addi r4, r3, lbl_803CBE74@l +/* 80006264 000031C4 90 0D A0 7C */ stw r0, gpController@sda21(r13) +/* 80006268 000031C8 38 61 00 4C */ addi r3, r1, 0x4c +/* 8000626C 000031CC 38 84 00 D1 */ addi r4, r4, 0xd1 +/* 80006270 000031D0 4B FF EA 49 */ bl string_l__4rstlFPCc +/* 80006274 000031D4 38 7F 00 04 */ addi r3, r31, 0x4 +/* 80006278 000031D8 38 81 00 4C */ addi r4, r1, 0x4c +/* 8000627C 000031DC 38 A0 00 01 */ li r5, 0x1 +/* 80006280 000031E0 38 C0 00 00 */ li r6, 0x0 +/* 80006284 000031E4 48 33 53 B9 */ bl "AddPakFileAsync__10CResLoaderFRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>b" +/* 80006288 000031E8 38 61 00 4C */ addi r3, r1, 0x4c +/* 8000628C 000031EC 48 33 79 35 */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" +/* 80006290 000031F0 3C 80 80 3D */ lis r4, lbl_803CBE74@ha +/* 80006294 000031F4 38 61 00 3C */ addi r3, r1, 0x3c +/* 80006298 000031F8 38 84 C0 54 */ addi r4, r4, lbl_803CBE74@l +/* 8000629C 000031FC 38 84 00 DF */ addi r4, r4, 0xdf +/* 800062A0 00003200 4B FF EA 19 */ bl string_l__4rstlFPCc +/* 800062A4 00003204 38 7F 00 04 */ addi r3, r31, 0x4 +/* 800062A8 00003208 38 81 00 3C */ addi r4, r1, 0x3c +/* 800062AC 0000320C 38 A0 00 01 */ li r5, 0x1 +/* 800062B0 00003210 38 C0 00 00 */ li r6, 0x0 +/* 800062B4 00003214 48 33 53 89 */ bl "AddPakFileAsync__10CResLoaderFRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>b" +/* 800062B8 00003218 38 61 00 3C */ addi r3, r1, 0x3c +/* 800062BC 0000321C 48 33 79 05 */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" +/* 800062C0 00003220 3C 80 80 3D */ lis r4, lbl_803CBE74@ha +/* 800062C4 00003224 38 61 00 2C */ addi r3, r1, 0x2c +/* 800062C8 00003228 38 84 C0 54 */ addi r4, r4, lbl_803CBE74@l +/* 800062CC 0000322C 38 84 00 ED */ addi r4, r4, 0xed +/* 800062D0 00003230 4B FF E9 E9 */ bl string_l__4rstlFPCc +/* 800062D4 00003234 38 7F 00 04 */ addi r3, r31, 0x4 +/* 800062D8 00003238 38 81 00 2C */ addi r4, r1, 0x2c +/* 800062DC 0000323C 38 A0 00 01 */ li r5, 0x1 +/* 800062E0 00003240 38 C0 00 00 */ li r6, 0x0 +/* 800062E4 00003244 48 33 53 59 */ bl "AddPakFileAsync__10CResLoaderFRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>b" +/* 800062E8 00003248 38 61 00 2C */ addi r3, r1, 0x2c +/* 800062EC 0000324C 48 33 78 D5 */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" +/* 800062F0 00003250 3C 80 80 3D */ lis r4, lbl_803CBE74@ha +/* 800062F4 00003254 38 61 00 1C */ addi r3, r1, 0x1c +/* 800062F8 00003258 38 84 C0 54 */ addi r4, r4, lbl_803CBE74@l +/* 800062FC 0000325C 38 84 00 FB */ addi r4, r4, 0xfb +/* 80006300 00003260 4B FF E9 B9 */ bl string_l__4rstlFPCc +/* 80006304 00003264 38 7F 00 04 */ addi r3, r31, 0x4 +/* 80006308 00003268 38 81 00 1C */ addi r4, r1, 0x1c +/* 8000630C 0000326C 38 A0 00 00 */ li r5, 0x0 +/* 80006310 00003270 38 C0 00 00 */ li r6, 0x0 +/* 80006314 00003274 48 33 53 29 */ bl "AddPakFileAsync__10CResLoaderFRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>b" +/* 80006318 00003278 38 61 00 1C */ addi r3, r1, 0x1c +/* 8000631C 0000327C 48 33 78 A5 */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" +/* 80006320 00003280 3C 80 80 3D */ lis r4, lbl_803CBE74@ha +/* 80006324 00003284 38 61 00 0C */ addi r3, r1, 0xc +/* 80006328 00003288 38 84 C0 54 */ addi r4, r4, lbl_803CBE74@l +/* 8000632C 0000328C 38 84 01 09 */ addi r4, r4, 0x109 +/* 80006330 00003290 4B FF E9 89 */ bl string_l__4rstlFPCc +/* 80006334 00003294 38 7F 00 04 */ addi r3, r31, 0x4 +/* 80006338 00003298 38 81 00 0C */ addi r4, r1, 0xc +/* 8000633C 0000329C 38 A0 00 00 */ li r5, 0x0 +/* 80006340 000032A0 38 C0 00 00 */ li r6, 0x0 +/* 80006344 000032A4 48 33 52 F9 */ bl "AddPakFileAsync__10CResLoaderFRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>b" +/* 80006348 000032A8 38 61 00 0C */ addi r3, r1, 0xc +/* 8000634C 000032AC 48 33 78 75 */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" +/* 80006350 000032B0 3C 60 80 35 */ lis r3, FStringTableFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@ha +/* 80006354 000032B4 3C 80 53 54 */ lis r4, 0x5354 +/* 80006358 000032B8 38 A3 66 04 */ addi r5, r3, FStringTableFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@l +/* 8000635C 000032BC 38 7F 00 5C */ addi r3, r31, 0x5c +/* 80006360 000032C0 38 84 52 47 */ addi r4, r4, 0x5247 +/* 80006364 000032C4 48 33 2B 1D */ bl AddFactory__11CFactoryMgrFUiPFRC10SObjectTagR12CInputStreamRC15CVParamTransfer_C16CFactoryFnReturn +/* 80006368 000032C8 3C 60 80 35 */ lis r3, "FModelFactory__FRC10SObjectTagRCQ24rstl12auto_ptriRC15CVParamTransfer"@ha +/* 8000636C 000032CC 3C 80 43 4D */ lis r4, 0x434d +/* 80006370 000032D0 38 A3 57 E0 */ addi r5, r3, "FModelFactory__FRC10SObjectTagRCQ24rstl12auto_ptriRC15CVParamTransfer"@l +/* 80006374 000032D4 38 7F 00 5C */ addi r3, r31, 0x5c +/* 80006378 000032D8 38 84 44 4C */ addi r4, r4, 0x444c +/* 8000637C 000032DC 48 33 2A 45 */ bl "AddFactory__11CFactoryMgrFUiPFRC10SObjectTagRCQ24rstl12auto_ptriRC15CVParamTransfer_C16CFactoryFnReturn" +/* 80006380 000032E0 3C 60 80 31 */ lis r3, FTextureFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@ha +/* 80006384 000032E4 3C 80 54 58 */ lis r4, 0x5458 +/* 80006388 000032E8 38 A3 E8 4C */ addi r5, r3, FTextureFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@l +/* 8000638C 000032EC 38 7F 00 5C */ addi r3, r31, 0x5c +/* 80006390 000032F0 38 84 54 52 */ addi r4, r4, 0x5452 +/* 80006394 000032F4 48 33 2A ED */ bl AddFactory__11CFactoryMgrFUiPFRC10SObjectTagR12CInputStreamRC15CVParamTransfer_C16CFactoryFnReturn +/* 80006398 000032F8 3C 60 80 35 */ lis r3, FSkinRulesFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@ha +/* 8000639C 000032FC 3C 80 43 53 */ lis r4, 0x4353 +/* 800063A0 00003300 38 A3 3D 68 */ addi r5, r3, FSkinRulesFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@l +/* 800063A4 00003304 38 7F 00 5C */ addi r3, r31, 0x5c +/* 800063A8 00003308 38 84 4B 52 */ addi r4, r4, 0x4b52 +/* 800063AC 0000330C 48 33 2A D5 */ bl AddFactory__11CFactoryMgrFUiPFRC10SObjectTagR12CInputStreamRC15CVParamTransfer_C16CFactoryFnReturn +/* 800063B0 00003310 3C 60 80 30 */ lis r3, AnimSourceFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@ha +/* 800063B4 00003314 3C 80 41 4E */ lis r4, 0x414e +/* 800063B8 00003318 38 A3 E2 78 */ addi r5, r3, AnimSourceFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@l +/* 800063BC 0000331C 38 7F 00 5C */ addi r3, r31, 0x5c +/* 800063C0 00003320 38 84 49 4D */ addi r4, r4, 0x494d +/* 800063C4 00003324 48 33 2A BD */ bl AddFactory__11CFactoryMgrFUiPFRC10SObjectTagR12CInputStreamRC15CVParamTransfer_C16CFactoryFnReturn +/* 800063C8 00003328 3C 60 80 30 */ lis r3, FCharLayoutInfo__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@ha +/* 800063CC 0000332C 3C 80 43 49 */ lis r4, 0x4349 +/* 800063D0 00003330 38 A3 82 6C */ addi r5, r3, FCharLayoutInfo__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@l +/* 800063D4 00003334 38 7F 00 5C */ addi r3, r31, 0x5c +/* 800063D8 00003338 38 84 4E 46 */ addi r4, r4, 0x4e46 +/* 800063DC 0000333C 48 33 2A A5 */ bl AddFactory__11CFactoryMgrFUiPFRC10SObjectTagR12CInputStreamRC15CVParamTransfer_C16CFactoryFnReturn +/* 800063E0 00003340 3C 60 80 2E */ lis r3, FAnimCharacterSet__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@ha +/* 800063E4 00003344 3C 80 41 4E */ lis r4, 0x414e +/* 800063E8 00003348 38 A3 81 98 */ addi r5, r3, FAnimCharacterSet__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@l +/* 800063EC 0000334C 38 7F 00 5C */ addi r3, r31, 0x5c +/* 800063F0 00003350 38 84 43 53 */ addi r4, r4, 0x4353 +/* 800063F4 00003354 48 33 2A 8D */ bl AddFactory__11CFactoryMgrFUiPFRC10SObjectTagR12CInputStreamRC15CVParamTransfer_C16CFactoryFnReturn +/* 800063F8 00003358 3C 60 80 2B */ lis r3, FCollisionResponseDataFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@ha +/* 800063FC 0000335C 3C 80 43 52 */ lis r4, 0x4352 +/* 80006400 00003360 38 A3 22 04 */ addi r5, r3, FCollisionResponseDataFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@l +/* 80006404 00003364 38 7F 00 5C */ addi r3, r31, 0x5c +/* 80006408 00003368 38 84 53 43 */ addi r4, r4, 0x5343 +/* 8000640C 0000336C 48 33 2A 75 */ bl AddFactory__11CFactoryMgrFUiPFRC10SObjectTagR12CInputStreamRC15CVParamTransfer_C16CFactoryFnReturn +/* 80006410 00003370 3C 60 80 33 */ lis r3, FParticleSwooshDataFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@ha +/* 80006414 00003374 3C 80 53 57 */ lis r4, 0x5357 +/* 80006418 00003378 38 A3 00 C0 */ addi r5, r3, FParticleSwooshDataFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@l +/* 8000641C 0000337C 38 7F 00 5C */ addi r3, r31, 0x5c +/* 80006420 00003380 38 84 48 43 */ addi r4, r4, 0x4843 +/* 80006424 00003384 48 33 2A 5D */ bl AddFactory__11CFactoryMgrFUiPFRC10SObjectTagR12CInputStreamRC15CVParamTransfer_C16CFactoryFnReturn +/* 80006428 00003388 3C 60 80 33 */ lis r3, FParticleFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@ha +/* 8000642C 0000338C 3C 80 50 41 */ lis r4, 0x5041 +/* 80006430 00003390 38 A3 A0 EC */ addi r5, r3, FParticleFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@l +/* 80006434 00003394 38 7F 00 5C */ addi r3, r31, 0x5c +/* 80006438 00003398 38 84 52 54 */ addi r4, r4, 0x5254 +/* 8000643C 0000339C 48 33 2A 45 */ bl AddFactory__11CFactoryMgrFUiPFRC10SObjectTagR12CInputStreamRC15CVParamTransfer_C16CFactoryFnReturn +/* 80006440 000033A0 3C 60 80 36 */ lis r3, FParticleElectricDataFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@ha +/* 80006444 000033A4 3C 80 45 4C */ lis r4, 0x454c +/* 80006448 000033A8 38 A3 E9 10 */ addi r5, r3, FParticleElectricDataFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@l +/* 8000644C 000033AC 38 7F 00 5C */ addi r3, r31, 0x5c +/* 80006450 000033B0 38 84 53 43 */ addi r4, r4, 0x5343 +/* 80006454 000033B4 48 33 2A 2D */ bl AddFactory__11CFactoryMgrFUiPFRC10SObjectTagR12CInputStreamRC15CVParamTransfer_C16CFactoryFnReturn +/* 80006458 000033B8 3C 60 80 2B */ lis r3, FProjectileWeaponDataFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@ha +/* 8000645C 000033BC 3C 80 57 50 */ lis r4, 0x5750 +/* 80006460 000033C0 38 A3 20 60 */ addi r5, r3, FProjectileWeaponDataFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@l +/* 80006464 000033C4 38 7F 00 5C */ addi r3, r31, 0x5c +/* 80006468 000033C8 38 84 53 43 */ addi r4, r4, 0x5343 +/* 8000646C 000033CC 48 33 2A 15 */ bl AddFactory__11CFactoryMgrFUiPFRC10SObjectTagR12CInputStreamRC15CVParamTransfer_C16CFactoryFnReturn +/* 80006470 000033D0 3C 60 80 2C */ lis r3, RGuiFrameFactoryInGame__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@ha +/* 80006474 000033D4 3C 80 46 52 */ lis r4, 0x4652 +/* 80006478 000033D8 38 A3 1E A0 */ addi r5, r3, RGuiFrameFactoryInGame__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@l +/* 8000647C 000033DC 38 7F 00 5C */ addi r3, r31, 0x5c +/* 80006480 000033E0 38 84 4D 45 */ addi r4, r4, 0x4d45 +/* 80006484 000033E4 48 33 29 FD */ bl AddFactory__11CFactoryMgrFUiPFRC10SObjectTagR12CInputStreamRC15CVParamTransfer_C16CFactoryFnReturn +/* 80006488 000033E8 3C 60 80 30 */ lis r3, FRasterFontFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@ha +/* 8000648C 000033EC 3C 80 46 4F */ lis r4, 0x464f +/* 80006490 000033F0 38 A3 01 60 */ addi r5, r3, FRasterFontFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@l +/* 80006494 000033F4 38 7F 00 5C */ addi r3, r31, 0x5c +/* 80006498 000033F8 38 84 4E 54 */ addi r4, r4, 0x4e54 +/* 8000649C 000033FC 48 33 29 E5 */ bl AddFactory__11CFactoryMgrFUiPFRC10SObjectTagR12CInputStreamRC15CVParamTransfer_C16CFactoryFnReturn +/* 800064A0 00003400 3C 60 80 17 */ lis r3, FScannableObjectInfoFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@ha +/* 800064A4 00003404 3C 80 53 43 */ lis r4, 0x5343 +/* 800064A8 00003408 38 A3 99 98 */ addi r5, r3, FScannableObjectInfoFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@l +/* 800064AC 0000340C 38 7F 00 5C */ addi r3, r31, 0x5c +/* 800064B0 00003410 38 84 41 4E */ addi r4, r4, 0x414e +/* 800064B4 00003414 48 33 29 CD */ bl AddFactory__11CFactoryMgrFUiPFRC10SObjectTagR12CInputStreamRC15CVParamTransfer_C16CFactoryFnReturn +/* 800064B8 00003418 3C 60 80 2F */ lis r3, AnimPOIDataFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@ha +/* 800064BC 0000341C 3C 80 45 56 */ lis r4, 0x4556 +/* 800064C0 00003420 38 A3 BB D0 */ addi r5, r3, AnimPOIDataFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@l +/* 800064C4 00003424 38 7F 00 5C */ addi r3, r31, 0x5c +/* 800064C8 00003428 38 84 4E 54 */ addi r4, r4, 0x4e54 +/* 800064CC 0000342C 48 33 29 B5 */ bl AddFactory__11CFactoryMgrFUiPFRC10SObjectTagR12CInputStreamRC15CVParamTransfer_C16CFactoryFnReturn +/* 800064D0 00003430 3C 60 80 0E */ lis r3, FAiFiniteStateMachineFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@ha +/* 800064D4 00003434 3C 80 41 46 */ lis r4, 0x4146 +/* 800064D8 00003438 38 A3 E8 78 */ addi r5, r3, FAiFiniteStateMachineFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@l +/* 800064DC 0000343C 38 7F 00 5C */ addi r3, r31, 0x5c +/* 800064E0 00003440 38 84 53 4D */ addi r4, r4, 0x534d +/* 800064E4 00003444 48 33 29 9D */ bl AddFactory__11CFactoryMgrFUiPFRC10SObjectTagR12CInputStreamRC15CVParamTransfer_C16CFactoryFnReturn +/* 800064E8 00003448 3C 60 80 35 */ lis r3, FAudioGroupSetLocDataFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@ha +/* 800064EC 0000344C 3C 80 41 47 */ lis r4, 0x4147 +/* 800064F0 00003450 38 A3 A1 04 */ addi r5, r3, FAudioGroupSetLocDataFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@l +/* 800064F4 00003454 38 7F 00 5C */ addi r3, r31, 0x5c +/* 800064F8 00003458 38 84 53 43 */ addi r4, r4, 0x5343 +/* 800064FC 0000345C 48 33 28 C5 */ bl "AddFactory__11CFactoryMgrFUiPFRC10SObjectTagRCQ24rstl12auto_ptriRC15CVParamTransfer_C16CFactoryFnReturn" +/* 80006500 00003460 3C 60 80 2B */ lis r3, FCollidableOBBTreeGroupFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@ha +/* 80006504 00003464 3C 80 44 43 */ lis r4, 0x4443 +/* 80006508 00003468 38 A3 DF 9C */ addi r5, r3, FCollidableOBBTreeGroupFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@l +/* 8000650C 0000346C 38 7F 00 5C */ addi r3, r31, 0x5c +/* 80006510 00003470 38 84 4C 4E */ addi r4, r4, 0x4c4e +/* 80006514 00003474 48 33 29 6D */ bl AddFactory__11CFactoryMgrFUiPFRC10SObjectTagR12CInputStreamRC15CVParamTransfer_C16CFactoryFnReturn +/* 80006518 00003478 3C 60 80 2B */ lis r3, FDecalDataFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@ha +/* 8000651C 0000347C 3C 80 44 50 */ lis r4, 0x4450 +/* 80006520 00003480 38 A3 46 8C */ addi r5, r3, FDecalDataFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@l +/* 80006524 00003484 38 7F 00 5C */ addi r3, r31, 0x5c +/* 80006528 00003488 38 84 53 43 */ addi r4, r4, 0x5343 +/* 8000652C 0000348C 48 33 29 55 */ bl AddFactory__11CFactoryMgrFUiPFRC10SObjectTagR12CInputStreamRC15CVParamTransfer_C16CFactoryFnReturn +/* 80006530 00003490 3C 60 80 2E */ lis r3, FAudioTranslationTableFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@ha +/* 80006534 00003494 3C 80 41 54 */ lis r4, 0x4154 +/* 80006538 00003498 38 A3 79 C4 */ addi r5, r3, FAudioTranslationTableFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@l +/* 8000653C 0000349C 38 7F 00 5C */ addi r3, r31, 0x5c +/* 80006540 000034A0 38 84 42 4C */ addi r4, r4, 0x424c +/* 80006544 000034A4 48 33 29 3D */ bl AddFactory__11CFactoryMgrFUiPFRC10SObjectTagR12CInputStreamRC15CVParamTransfer_C16CFactoryFnReturn +/* 80006548 000034A8 3C 60 80 1D */ lis r3, "FPathFindAreaFactory__FRC10SObjectTagRCQ24rstl12auto_ptriRC15CVParamTransfer"@ha +/* 8000654C 000034AC 3C 80 50 41 */ lis r4, 0x5041 +/* 80006550 000034B0 38 A3 A1 E8 */ addi r5, r3, "FPathFindAreaFactory__FRC10SObjectTagRCQ24rstl12auto_ptriRC15CVParamTransfer"@l +/* 80006554 000034B4 38 7F 00 5C */ addi r3, r31, 0x5c +/* 80006558 000034B8 38 84 54 48 */ addi r4, r4, 0x5448 +/* 8000655C 000034BC 48 33 28 65 */ bl "AddFactory__11CFactoryMgrFUiPFRC10SObjectTagRCQ24rstl12auto_ptriRC15CVParamTransfer_C16CFactoryFnReturn" +/* 80006560 000034C0 3C 60 80 0A */ lis r3, FMapWorldFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@ha +/* 80006564 000034C4 3C 80 4D 41 */ lis r4, 0x4d41 +/* 80006568 000034C8 38 A3 F4 70 */ addi r5, r3, FMapWorldFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@l +/* 8000656C 000034CC 38 7F 00 5C */ addi r3, r31, 0x5c +/* 80006570 000034D0 38 84 50 57 */ addi r4, r4, 0x5057 +/* 80006574 000034D4 48 33 29 0D */ bl AddFactory__11CFactoryMgrFUiPFRC10SObjectTagR12CInputStreamRC15CVParamTransfer_C16CFactoryFnReturn +/* 80006578 000034D8 3C 60 80 08 */ lis r3, FMapAreaFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@ha +/* 8000657C 000034DC 3C 80 4D 41 */ lis r4, 0x4d41 +/* 80006580 000034E0 38 A3 02 0C */ addi r5, r3, FMapAreaFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@l +/* 80006584 000034E4 38 7F 00 5C */ addi r3, r31, 0x5c +/* 80006588 000034E8 38 84 50 41 */ addi r4, r4, 0x5041 +/* 8000658C 000034EC 48 33 28 F5 */ bl AddFactory__11CFactoryMgrFUiPFRC10SObjectTagR12CInputStreamRC15CVParamTransfer_C16CFactoryFnReturn +/* 80006590 000034F0 3C 60 80 20 */ lis r3, FMapUniverseFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@ha +/* 80006594 000034F4 3C 80 4D 41 */ lis r4, 0x4d41 +/* 80006598 000034F8 38 A3 1D 8C */ addi r5, r3, FMapUniverseFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@l +/* 8000659C 000034FC 38 7F 00 5C */ addi r3, r31, 0x5c +/* 800065A0 00003500 38 84 50 55 */ addi r4, r4, 0x5055 +/* 800065A4 00003504 48 33 28 DD */ bl AddFactory__11CFactoryMgrFUiPFRC10SObjectTagR12CInputStreamRC15CVParamTransfer_C16CFactoryFnReturn +/* 800065A8 00003508 3C 60 80 36 */ lis r3, FMidiDataFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@ha +/* 800065AC 0000350C 3C 80 43 53 */ lis r4, 0x4353 +/* 800065B0 00003510 38 A3 8C 68 */ addi r5, r3, FMidiDataFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@l +/* 800065B4 00003514 38 7F 00 5C */ addi r3, r31, 0x5c +/* 800065B8 00003518 38 84 4E 47 */ addi r4, r4, 0x4e47 +/* 800065BC 0000351C 48 33 28 C5 */ bl AddFactory__11CFactoryMgrFUiPFRC10SObjectTagR12CInputStreamRC15CVParamTransfer_C16CFactoryFnReturn +/* 800065C0 00003520 3C 60 80 36 */ lis r3, FDependencyGroupFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@ha +/* 800065C4 00003524 3C 80 44 47 */ lis r4, 0x4447 +/* 800065C8 00003528 38 A3 51 30 */ addi r5, r3, FDependencyGroupFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@l +/* 800065CC 0000352C 38 7F 00 5C */ addi r3, r31, 0x5c +/* 800065D0 00003530 38 84 52 50 */ addi r4, r4, 0x5250 +/* 800065D4 00003534 48 33 28 AD */ bl AddFactory__11CFactoryMgrFUiPFRC10SObjectTagR12CInputStreamRC15CVParamTransfer_C16CFactoryFnReturn +/* 800065D8 00003538 3C 60 80 27 */ lis r3, FSaveWorldFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@ha +/* 800065DC 0000353C 3C 80 53 41 */ lis r4, 0x5341 +/* 800065E0 00003540 38 A3 AD DC */ addi r5, r3, FSaveWorldFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@l +/* 800065E4 00003544 38 7F 00 5C */ addi r3, r31, 0x5c +/* 800065E8 00003548 38 84 56 57 */ addi r4, r4, 0x5657 +/* 800065EC 0000354C 48 33 28 95 */ bl AddFactory__11CFactoryMgrFUiPFRC10SObjectTagR12CInputStreamRC15CVParamTransfer_C16CFactoryFnReturn +/* 800065F0 00003550 3C 60 80 26 */ lis r3, FHintFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@ha +/* 800065F4 00003554 3C 80 48 49 */ lis r4, 0x4849 +/* 800065F8 00003558 38 A3 71 C0 */ addi r5, r3, FHintFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@l +/* 800065FC 0000355C 38 7F 00 5C */ addi r3, r31, 0x5c +/* 80006600 00003560 38 84 4E 54 */ addi r4, r4, 0x4e54 +/* 80006604 00003564 48 33 28 7D */ bl AddFactory__11CFactoryMgrFUiPFRC10SObjectTagR12CInputStreamRC15CVParamTransfer_C16CFactoryFnReturn +/* 80006608 00003568 80 61 00 08 */ lwz r3, 0x8(r1) +/* 8000660C 0000356C 28 03 00 00 */ cmplwi r3, 0x0 +/* 80006610 00003570 41 82 00 18 */ beq lbl_80006628 +/* 80006614 00003574 81 83 00 00 */ lwz r12, 0x0(r3) +/* 80006618 00003578 38 80 00 01 */ li r4, 0x1 +/* 8000661C 0000357C 81 8C 00 08 */ lwz r12, 0x8(r12) +/* 80006620 00003580 7D 89 03 A6 */ mtctr r12 +/* 80006624 00003584 4E 80 04 21 */ bctrl +lbl_80006628: +/* 80006628 00003588 3C 80 80 3F */ lis r4, lbl_803EA3C0@ha +/* 8000662C 0000358C 38 61 00 9C */ addi r3, r1, 0x9c +/* 80006630 00003590 38 04 A5 A0 */ addi r0, r4, lbl_803EA3C0@l +/* 80006634 00003594 38 80 00 00 */ li r4, 0x0 +/* 80006638 00003598 90 01 00 9C */ stw r0, 0x9c(r1) +/* 8000663C 0000359C 48 04 C5 E5 */ bl __dt__6CIOWinFv +/* 80006640 000035A0 80 01 00 D4 */ lwz r0, 0xd4(r1) +/* 80006644 000035A4 83 E1 00 CC */ lwz r31, 0xcc(r1) +/* 80006648 000035A8 83 C1 00 C8 */ lwz r30, 0xc8(r1) +/* 8000664C 000035AC 7C 08 03 A6 */ mtlr r0 +/* 80006650 000035B0 38 21 00 D0 */ addi r1, r1, 0xd0 +/* 80006654 000035B4 4E 80 00 20 */ blr + +.else + .global AddPaksAndFactories__18CGameGlobalObjectsFv AddPaksAndFactories__18CGameGlobalObjectsFv: /* 800060B4 00003014 94 21 FF 40 */ stwu r1, -0xc0(r1) @@ -4408,6 +5009,8 @@ lbl_800061F8: /* 800065D4 00003534 38 21 00 C0 */ addi r1, r1, 0xc0 /* 800065D8 00003538 4E 80 00 20 */ blr +.endif + .global __dt__18CErrorOutputWindowFv __dt__18CErrorOutputWindowFv: /* 800065DC 0000353C 94 21 FF F0 */ stwu r1, -0x10(r1)