From c779ee651219811c64da7aef3425afcb3d338ebb Mon Sep 17 00:00:00 2001 From: Robin Avery Date: Mon, 29 Jan 2024 00:55:55 -0500 Subject: [PATCH] Re-link `if` (#1150) --- asm/melee/if/ifmagnify.s | 2947 +++++++++++++++--------------- asm/melee/if/ifstatus.s | 3248 +++++++++++++++++++++++++++++++++ asm/melee/if/ifstatus_data.s | 4 +- config/GALE01/splits.txt | 8 +- config/GALE01/symbols.txt | 2 +- configure.py | 5 +- obj_files.mk | 4 +- src/melee/gm/forward.h | 7 +- src/melee/gm/gm_1601.h | 11 +- src/melee/gm/types.h | 35 + src/melee/if/forward.h | 14 + src/melee/if/if_2F72.h | 13 + src/melee/if/ifall.h | 10 +- src/melee/if/ifmagnify.h | 39 +- src/melee/if/ifstatus.c | 2559 +------------------------- src/melee/if/ifstatus.h | 267 +-- src/melee/if/ifstock.h | 8 +- src/melee/if/types.h | 170 ++ tools/rust-utils/src/utils.rs | 10 +- 19 files changed, 5089 insertions(+), 4272 deletions(-) create mode 100644 asm/melee/if/ifstatus.s create mode 100644 src/melee/if/forward.h create mode 100644 src/melee/if/if_2F72.h create mode 100644 src/melee/if/types.h diff --git a/asm/melee/if/ifmagnify.s b/asm/melee/if/ifmagnify.s index 974ad2e8e..f6b98e0ee 100644 --- a/asm/melee/if/ifmagnify.s +++ b/asm/melee/if/ifmagnify.s @@ -1,1454 +1,1533 @@ .include "macros.inc" +.file "ifmagnify.c" -.section .text # 0x802F3394 - 0x8032261C +# 0x00000000 - 0x000012CC +.text +.balign 4 -.global ifMagnify_802FB73C -ifMagnify_802FB73C: -/* 802FB73C 002F831C C0 44 00 00 */ lfs f2, 0(r4) -/* 802FB740 002F8320 C0 22 E1 28 */ lfs f1, ifMagnify_804DDB08@sda21(r2) -/* 802FB744 002F8324 C0 84 00 04 */ lfs f4, 4(r4) -/* 802FB748 002F8328 FC 01 10 00 */ fcmpu cr0, f1, f2 -/* 802FB74C 002F832C 40 82 00 2C */ bne .L_802FB778 -/* 802FB750 002F8330 FC 04 08 40 */ fcmpo cr0, f4, f1 -/* 802FB754 002F8334 40 81 00 10 */ ble .L_802FB764 -/* 802FB758 002F8338 C0 02 E1 48 */ lfs f0, ifMagnify_804DDB28@sda21(r2) -/* 802FB75C 002F833C D0 05 00 04 */ stfs f0, 4(r5) -/* 802FB760 002F8340 48 00 00 0C */ b .L_802FB76C -.L_802FB764: -/* 802FB764 002F8344 C0 02 E1 4C */ lfs f0, ifMagnify_804DDB2C@sda21(r2) -/* 802FB768 002F8348 D0 05 00 04 */ stfs f0, 4(r5) -.L_802FB76C: -/* 802FB76C 002F834C C0 02 E1 28 */ lfs f0, ifMagnify_804DDB08@sda21(r2) -/* 802FB770 002F8350 D0 05 00 00 */ stfs f0, 0(r5) -/* 802FB774 002F8354 48 00 00 D0 */ b .L_802FB844 -.L_802FB778: -/* 802FB778 002F8358 EC 64 10 24 */ fdivs f3, f4, f2 -/* 802FB77C 002F835C C0 02 E1 50 */ lfs f0, ifMagnify_804DDB30@sda21(r2) -/* 802FB780 002F8360 FC 03 00 40 */ fcmpo cr0, f3, f0 -/* 802FB784 002F8364 41 81 00 10 */ bgt .L_802FB794 -/* 802FB788 002F8368 C0 02 E1 54 */ lfs f0, ifMagnify_804DDB34@sda21(r2) -/* 802FB78C 002F836C FC 03 00 40 */ fcmpo cr0, f3, f0 -/* 802FB790 002F8370 40 80 00 60 */ bge .L_802FB7F0 -.L_802FB794: -/* 802FB794 002F8374 C0 02 E1 28 */ lfs f0, ifMagnify_804DDB08@sda21(r2) -/* 802FB798 002F8378 FC 04 00 40 */ fcmpo cr0, f4, f0 -/* 802FB79C 002F837C 40 81 00 10 */ ble .L_802FB7AC -/* 802FB7A0 002F8380 C0 02 E1 48 */ lfs f0, ifMagnify_804DDB28@sda21(r2) -/* 802FB7A4 002F8384 D0 05 00 04 */ stfs f0, 4(r5) -/* 802FB7A8 002F8388 48 00 00 0C */ b .L_802FB7B4 -.L_802FB7AC: -/* 802FB7AC 002F838C C0 02 E1 4C */ lfs f0, ifMagnify_804DDB2C@sda21(r2) -/* 802FB7B0 002F8390 D0 05 00 04 */ stfs f0, 4(r5) -.L_802FB7B4: -/* 802FB7B4 002F8394 C0 25 00 04 */ lfs f1, 4(r5) -/* 802FB7B8 002F8398 C0 02 E1 58 */ lfs f0, ifMagnify_804DDB38@sda21(r2) -/* 802FB7BC 002F839C EC 21 00 B2 */ fmuls f1, f1, f2 -/* 802FB7C0 002F83A0 EC 21 20 24 */ fdivs f1, f1, f4 -/* 802FB7C4 002F83A4 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 802FB7C8 002F83A8 40 80 00 0C */ bge .L_802FB7D4 -/* 802FB7CC 002F83AC D0 05 00 00 */ stfs f0, 0(r5) -/* 802FB7D0 002F83B0 48 00 00 74 */ b .L_802FB844 -.L_802FB7D4: -/* 802FB7D4 002F83B4 C0 02 E1 5C */ lfs f0, ifMagnify_804DDB3C@sda21(r2) -/* 802FB7D8 002F83B8 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 802FB7DC 002F83BC 40 81 00 0C */ ble .L_802FB7E8 -/* 802FB7E0 002F83C0 D0 05 00 00 */ stfs f0, 0(r5) -/* 802FB7E4 002F83C4 48 00 00 60 */ b .L_802FB844 -.L_802FB7E8: -/* 802FB7E8 002F83C8 D0 25 00 00 */ stfs f1, 0(r5) -/* 802FB7EC 002F83CC 48 00 00 58 */ b .L_802FB844 -.L_802FB7F0: -/* 802FB7F0 002F83D0 FC 02 08 40 */ fcmpo cr0, f2, f1 -/* 802FB7F4 002F83D4 40 81 00 10 */ ble .L_802FB804 -/* 802FB7F8 002F83D8 C0 02 E1 5C */ lfs f0, ifMagnify_804DDB3C@sda21(r2) -/* 802FB7FC 002F83DC D0 05 00 00 */ stfs f0, 0(r5) -/* 802FB800 002F83E0 48 00 00 0C */ b .L_802FB80C -.L_802FB804: -/* 802FB804 002F83E4 C0 02 E1 58 */ lfs f0, ifMagnify_804DDB38@sda21(r2) -/* 802FB808 002F83E8 D0 05 00 00 */ stfs f0, 0(r5) -.L_802FB80C: -/* 802FB80C 002F83EC C0 25 00 00 */ lfs f1, 0(r5) -/* 802FB810 002F83F0 C0 02 E1 4C */ lfs f0, ifMagnify_804DDB2C@sda21(r2) -/* 802FB814 002F83F4 EC 21 01 32 */ fmuls f1, f1, f4 -/* 802FB818 002F83F8 EC 21 10 24 */ fdivs f1, f1, f2 -/* 802FB81C 002F83FC FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 802FB820 002F8400 40 80 00 0C */ bge .L_802FB82C -/* 802FB824 002F8404 D0 05 00 04 */ stfs f0, 4(r5) -/* 802FB828 002F8408 48 00 00 1C */ b .L_802FB844 -.L_802FB82C: -/* 802FB82C 002F840C C0 02 E1 48 */ lfs f0, ifMagnify_804DDB28@sda21(r2) -/* 802FB830 002F8410 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 802FB834 002F8414 40 81 00 0C */ ble .L_802FB840 -/* 802FB838 002F8418 D0 05 00 04 */ stfs f0, 4(r5) -/* 802FB83C 002F841C 48 00 00 08 */ b .L_802FB844 -.L_802FB840: -/* 802FB840 002F8420 D0 25 00 04 */ stfs f1, 4(r5) -.L_802FB844: -/* 802FB844 002F8424 C0 25 00 00 */ lfs f1, 0(r5) -/* 802FB848 002F8428 C0 02 E1 58 */ lfs f0, ifMagnify_804DDB38@sda21(r2) -/* 802FB84C 002F842C FC 01 00 00 */ fcmpu cr0, f1, f0 -/* 802FB850 002F8430 40 82 00 18 */ bne .L_802FB868 -/* 802FB854 002F8434 88 03 00 0C */ lbz r0, 0xc(r3) -/* 802FB858 002F8438 38 80 00 02 */ li r4, 2 -/* 802FB85C 002F843C 50 80 06 BE */ rlwimi r0, r4, 0, 0x1a, 0x1f -/* 802FB860 002F8440 98 03 00 0C */ stb r0, 0xc(r3) -/* 802FB864 002F8444 4E 80 00 20 */ blr -.L_802FB868: -/* 802FB868 002F8448 C0 02 E1 5C */ lfs f0, ifMagnify_804DDB3C@sda21(r2) -/* 802FB86C 002F844C FC 01 00 00 */ fcmpu cr0, f1, f0 -/* 802FB870 002F8450 40 82 00 18 */ bne .L_802FB888 -/* 802FB874 002F8454 88 03 00 0C */ lbz r0, 0xc(r3) -/* 802FB878 002F8458 38 80 00 04 */ li r4, 4 -/* 802FB87C 002F845C 50 80 06 BE */ rlwimi r0, r4, 0, 0x1a, 0x1f -/* 802FB880 002F8460 98 03 00 0C */ stb r0, 0xc(r3) -/* 802FB884 002F8464 4E 80 00 20 */ blr -.L_802FB888: -/* 802FB888 002F8468 C0 25 00 04 */ lfs f1, 4(r5) -/* 802FB88C 002F846C C0 02 E1 48 */ lfs f0, ifMagnify_804DDB28@sda21(r2) -/* 802FB890 002F8470 FC 01 00 00 */ fcmpu cr0, f1, f0 -/* 802FB894 002F8474 40 82 00 18 */ bne .L_802FB8AC -/* 802FB898 002F8478 88 03 00 0C */ lbz r0, 0xc(r3) -/* 802FB89C 002F847C 38 80 00 01 */ li r4, 1 -/* 802FB8A0 002F8480 50 80 06 BE */ rlwimi r0, r4, 0, 0x1a, 0x1f -/* 802FB8A4 002F8484 98 03 00 0C */ stb r0, 0xc(r3) -/* 802FB8A8 002F8488 4E 80 00 20 */ blr -.L_802FB8AC: -/* 802FB8AC 002F848C 88 03 00 0C */ lbz r0, 0xc(r3) -/* 802FB8B0 002F8490 38 80 00 03 */ li r4, 3 -/* 802FB8B4 002F8494 50 80 06 BE */ rlwimi r0, r4, 0, 0x1a, 0x1f -/* 802FB8B8 002F8498 98 03 00 0C */ stb r0, 0xc(r3) -/* 802FB8BC 002F849C 4E 80 00 20 */ blr +.fn ifMagnify_802FB6E8, global +/* 00000000 00000040 7C 08 02 A6 */ mflr r0 +/* 00000004 00000044 90 01 00 04 */ stw r0, 0x4(r1) +/* 00000008 00000048 94 21 FF E8 */ stwu r1, -0x18(r1) +/* 0000000C 0000004C 93 E1 00 14 */ stw r31, 0x14(r1) +/* 00000010 00000050 7C 7F 1B 78 */ mr r31, r3 +/* 00000014 00000054 48 00 00 01 */ bl ifMagnify_802FC998 +/* 00000018 00000058 2C 03 00 00 */ cmpwi r3, 0x0 +/* 0000001C 0000005C 41 82 00 20 */ beq .L_0000003C +/* 00000020 00000060 3C 60 00 00 */ lis r3, ifMagnify_804A1DE0@ha +/* 00000024 00000064 57 E4 20 36 */ slwi r4, r31, 4 +/* 00000028 00000068 38 03 00 00 */ addi r0, r3, ifMagnify_804A1DE0@l +/* 0000002C 0000006C 7C 60 22 14 */ add r3, r0, r4 +/* 00000030 00000070 88 63 00 20 */ lbz r3, 0x20(r3) +/* 00000034 00000074 54 63 06 BE */ clrlwi r3, r3, 26 +/* 00000038 00000078 48 00 00 08 */ b .L_00000040 +.L_0000003C: +/* 0000003C 0000007C 38 60 00 00 */ li r3, 0x0 +.L_00000040: +/* 00000040 00000080 80 01 00 1C */ lwz r0, 0x1c(r1) +/* 00000044 00000084 83 E1 00 14 */ lwz r31, 0x14(r1) +/* 00000048 00000088 38 21 00 18 */ addi r1, r1, 0x18 +/* 0000004C 0000008C 7C 08 03 A6 */ mtlr r0 +/* 00000050 00000090 4E 80 00 20 */ blr +.endfn ifMagnify_802FB6E8 -.global ifMagnify_802FB8C0 -ifMagnify_802FB8C0: -/* 802FB8C0 002F84A0 7C 08 02 A6 */ mflr r0 -/* 802FB8C4 002F84A4 90 01 00 04 */ stw r0, 4(r1) -/* 802FB8C8 002F84A8 94 21 FF 80 */ stwu r1, -0x80(r1) -/* 802FB8CC 002F84AC DB E1 00 78 */ stfd f31, 0x78(r1) -/* 802FB8D0 002F84B0 BF 41 00 60 */ stmw r26, 0x60(r1) -/* 802FB8D4 002F84B4 7C 9C 23 79 */ or. r28, r4, r4 -/* 802FB8D8 002F84B8 3B 63 00 00 */ addi r27, r3, 0 -/* 802FB8DC 002F84BC 40 82 02 E8 */ bne .L_802FBBC4 -/* 802FB8E0 002F84C0 3C 60 80 4A */ lis r3, ifMagnify_804A1DE0@ha -/* 802FB8E4 002F84C4 80 9B 00 2C */ lwz r4, 0x2c(r27) -/* 802FB8E8 002F84C8 38 63 1D E0 */ addi r3, r3, ifMagnify_804A1DE0@l -/* 802FB8EC 002F84CC 38 03 00 14 */ addi r0, r3, 0x14 -/* 802FB8F0 002F84D0 7C 00 20 50 */ subf r0, r0, r4 -/* 802FB8F4 002F84D4 7C 1E 26 70 */ srawi r30, r0, 4 -/* 802FB8F8 002F84D8 3B E4 00 00 */ addi r31, r4, 0 -/* 802FB8FC 002F84DC 7F DE 01 94 */ addze r30, r30 -/* 802FB900 002F84E0 3B A0 00 00 */ li r29, 0 -/* 802FB904 002F84E4 4B E6 F5 35 */ bl gm_8016AE38 -/* 802FB908 002F84E8 88 03 00 05 */ lbz r0, 5(r3) -/* 802FB90C 002F84EC 28 00 00 00 */ cmplwi r0, 0 -/* 802FB910 002F84F0 41 82 00 1C */ beq .L_802FB92C -/* 802FB914 002F84F4 4B FF 7D 9D */ bl ifAll_802F36B0 -/* 802FB918 002F84F8 2C 03 00 00 */ cmpwi r3, 0 -/* 802FB91C 002F84FC 40 82 00 10 */ bne .L_802FB92C -/* 802FB920 002F8500 4B D3 48 11 */ bl Camera_80030130 -/* 802FB924 002F8504 2C 03 00 00 */ cmpwi r3, 0 -/* 802FB928 002F8508 41 82 00 0C */ beq .L_802FB934 -.L_802FB92C: -/* 802FB92C 002F850C 38 00 00 00 */ li r0, 0 -/* 802FB930 002F8510 48 00 00 08 */ b .L_802FB938 -.L_802FB934: -/* 802FB934 002F8514 38 00 00 01 */ li r0, 1 -.L_802FB938: -/* 802FB938 002F8518 2C 00 00 00 */ cmpwi r0, 0 -/* 802FB93C 002F851C 41 82 02 78 */ beq .L_802FBBB4 -/* 802FB940 002F8520 88 1F 00 0C */ lbz r0, 0xc(r31) -/* 802FB944 002F8524 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f -/* 802FB948 002F8528 41 82 02 6C */ beq .L_802FBBB4 -/* 802FB94C 002F852C 7F C3 F3 78 */ mr r3, r30 -/* 802FB950 002F8530 4B D3 87 C1 */ bl Player_GetEntity -/* 802FB954 002F8534 28 03 00 00 */ cmplwi r3, 0 -/* 802FB958 002F8538 41 82 02 5C */ beq .L_802FBBB4 -/* 802FB95C 002F853C 38 81 00 40 */ addi r4, r1, 0x40 -/* 802FB960 002F8540 4B D8 B0 F9 */ bl ftLib_80086A58 -/* 802FB964 002F8544 80 01 00 44 */ lwz r0, 0x44(r1) -/* 802FB968 002F8548 3C 60 43 30 */ lis r3, 0x4330 -/* 802FB96C 002F854C 80 81 00 40 */ lwz r4, 0x40(r1) -/* 802FB970 002F8550 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 802FB974 002F8554 C8 82 E1 70 */ lfd f4, ifMagnify_804DDB50@sda21(r2) -/* 802FB978 002F8558 90 01 00 54 */ stw r0, 0x54(r1) -/* 802FB97C 002F855C 6C 80 80 00 */ xoris r0, r4, 0x8000 -/* 802FB980 002F8560 C0 02 E1 64 */ lfs f0, ifMagnify_804DDB44@sda21(r2) -/* 802FB984 002F8564 90 01 00 5C */ stw r0, 0x5c(r1) -/* 802FB988 002F8568 C0 42 E1 60 */ lfs f2, ifMagnify_804DDB40@sda21(r2) -/* 802FB98C 002F856C 90 61 00 50 */ stw r3, 0x50(r1) -/* 802FB990 002F8570 90 61 00 58 */ stw r3, 0x58(r1) -/* 802FB994 002F8574 C8 21 00 50 */ lfd f1, 0x50(r1) -/* 802FB998 002F8578 C8 61 00 58 */ lfd f3, 0x58(r1) -/* 802FB99C 002F857C EC 21 20 28 */ fsubs f1, f1, f4 -/* 802FB9A0 002F8580 EC 63 20 28 */ fsubs f3, f3, f4 -/* 802FB9A4 002F8584 EC 01 00 28 */ fsubs f0, f1, f0 -/* 802FB9A8 002F8588 EC 23 10 28 */ fsubs f1, f3, f2 -/* 802FB9AC 002F858C FC 00 00 50 */ fneg f0, f0 -/* 802FB9B0 002F8590 D0 21 00 30 */ stfs f1, 0x30(r1) -/* 802FB9B4 002F8594 D0 01 00 34 */ stfs f0, 0x34(r1) -/* 802FB9B8 002F8598 C0 21 00 34 */ lfs f1, 0x34(r1) -/* 802FB9BC 002F859C C0 41 00 30 */ lfs f2, 0x30(r1) -/* 802FB9C0 002F85A0 4B D2 72 71 */ bl atan2f -/* 802FB9C4 002F85A4 83 5F 00 04 */ lwz r26, 4(r31) -/* 802FB9C8 002F85A8 FF E0 08 90 */ fmr f31, f1 -/* 802FB9CC 002F85AC 28 1A 00 00 */ cmplwi r26, 0 -/* 802FB9D0 002F85B0 40 82 00 14 */ bne .L_802FB9E4 -/* 802FB9D4 002F85B4 38 6D A1 50 */ addi r3, r13, ifMagnify_804D57F0@sda21 -/* 802FB9D8 002F85B8 38 80 02 A9 */ li r4, 0x2a9 -/* 802FB9DC 002F85BC 38 AD A1 58 */ addi r5, r13, ifMagnify_804D57F8@sda21 -/* 802FB9E0 002F85C0 48 08 C8 41 */ bl __assert -.L_802FB9E4: -/* 802FB9E4 002F85C4 80 1A 00 14 */ lwz r0, 0x14(r26) -/* 802FB9E8 002F85C8 54 00 03 9D */ rlwinm. r0, r0, 0, 0xe, 0xe -/* 802FB9EC 002F85CC 41 82 00 18 */ beq .L_802FBA04 -/* 802FB9F0 002F85D0 3C 60 80 40 */ lis r3, ifMagnify_803F988C@ha -/* 802FB9F4 002F85D4 38 A3 98 8C */ addi r5, r3, ifMagnify_803F988C@l -/* 802FB9F8 002F85D8 38 6D A1 50 */ addi r3, r13, ifMagnify_804D57F0@sda21 -/* 802FB9FC 002F85DC 38 80 02 AA */ li r4, 0x2aa -/* 802FBA00 002F85E0 48 08 C8 21 */ bl __assert -.L_802FBA04: -/* 802FBA04 002F85E4 D3 FA 00 24 */ stfs f31, 0x24(r26) -/* 802FBA08 002F85E8 80 1A 00 14 */ lwz r0, 0x14(r26) -/* 802FBA0C 002F85EC 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 802FBA10 002F85F0 40 82 00 4C */ bne .L_802FBA5C -/* 802FBA14 002F85F4 28 1A 00 00 */ cmplwi r26, 0 -/* 802FBA18 002F85F8 41 82 00 44 */ beq .L_802FBA5C -/* 802FBA1C 002F85FC 40 82 00 14 */ bne .L_802FBA30 -/* 802FBA20 002F8600 38 6D A1 50 */ addi r3, r13, ifMagnify_804D57F0@sda21 -/* 802FBA24 002F8604 38 80 02 34 */ li r4, 0x234 -/* 802FBA28 002F8608 38 AD A1 58 */ addi r5, r13, ifMagnify_804D57F8@sda21 -/* 802FBA2C 002F860C 48 08 C7 F5 */ bl __assert -.L_802FBA30: -/* 802FBA30 002F8610 80 9A 00 14 */ lwz r4, 0x14(r26) -/* 802FBA34 002F8614 38 60 00 00 */ li r3, 0 -/* 802FBA38 002F8618 54 80 02 11 */ rlwinm. r0, r4, 0, 8, 8 -/* 802FBA3C 002F861C 40 82 00 10 */ bne .L_802FBA4C -/* 802FBA40 002F8620 54 80 06 73 */ rlwinm. r0, r4, 0, 0x19, 0x19 -/* 802FBA44 002F8624 41 82 00 08 */ beq .L_802FBA4C -/* 802FBA48 002F8628 38 60 00 01 */ li r3, 1 -.L_802FBA4C: -/* 802FBA4C 002F862C 2C 03 00 00 */ cmpwi r3, 0 -/* 802FBA50 002F8630 40 82 00 0C */ bne .L_802FBA5C -/* 802FBA54 002F8634 7F 43 D3 78 */ mr r3, r26 -/* 802FBA58 002F8638 48 07 78 91 */ bl HSD_JObjSetMtxDirtySub -.L_802FBA5C: -/* 802FBA5C 002F863C 38 7F 00 00 */ addi r3, r31, 0 -/* 802FBA60 002F8640 38 81 00 30 */ addi r4, r1, 0x30 -/* 802FBA64 002F8644 38 A1 00 38 */ addi r5, r1, 0x38 -/* 802FBA68 002F8648 4B FF FC D5 */ bl ifMagnify_802FB73C -/* 802FBA6C 002F864C C0 22 E1 68 */ lfs f1, ifMagnify_804DDB48@sda21(r2) -/* 802FBA70 002F8650 C0 01 00 38 */ lfs f0, 0x38(r1) -/* 802FBA74 002F8654 C0 42 E1 6C */ lfs f2, ifMagnify_804DDB4C@sda21(r2) -/* 802FBA78 002F8658 EC 61 00 32 */ fmuls f3, f1, f0 -/* 802FBA7C 002F865C C0 21 00 3C */ lfs f1, 0x3c(r1) -/* 802FBA80 002F8660 C0 02 E1 28 */ lfs f0, ifMagnify_804DDB08@sda21(r2) -/* 802FBA84 002F8664 EC 22 00 72 */ fmuls f1, f2, f1 -/* 802FBA88 002F8668 D0 61 00 24 */ stfs f3, 0x24(r1) -/* 802FBA8C 002F866C D0 21 00 28 */ stfs f1, 0x28(r1) -/* 802FBA90 002F8670 D0 01 00 2C */ stfs f0, 0x2c(r1) -/* 802FBA94 002F8674 80 7F 00 00 */ lwz r3, 0(r31) -/* 802FBA98 002F8678 83 43 00 28 */ lwz r26, 0x28(r3) -/* 802FBA9C 002F867C 28 1A 00 00 */ cmplwi r26, 0 -/* 802FBAA0 002F8680 40 82 00 14 */ bne .L_802FBAB4 -/* 802FBAA4 002F8684 38 6D A1 50 */ addi r3, r13, ifMagnify_804D57F0@sda21 -/* 802FBAA8 002F8688 38 80 03 94 */ li r4, 0x394 -/* 802FBAAC 002F868C 38 AD A1 58 */ addi r5, r13, ifMagnify_804D57F8@sda21 -/* 802FBAB0 002F8690 48 08 C7 71 */ bl __assert -.L_802FBAB4: -/* 802FBAB4 002F8694 80 61 00 24 */ lwz r3, 0x24(r1) -/* 802FBAB8 002F8698 80 01 00 28 */ lwz r0, 0x28(r1) -/* 802FBABC 002F869C 90 7A 00 38 */ stw r3, 0x38(r26) -/* 802FBAC0 002F86A0 90 1A 00 3C */ stw r0, 0x3c(r26) -/* 802FBAC4 002F86A4 80 01 00 2C */ lwz r0, 0x2c(r1) -/* 802FBAC8 002F86A8 90 1A 00 40 */ stw r0, 0x40(r26) -/* 802FBACC 002F86AC 80 1A 00 14 */ lwz r0, 0x14(r26) -/* 802FBAD0 002F86B0 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 802FBAD4 002F86B4 40 82 00 4C */ bne .L_802FBB20 -/* 802FBAD8 002F86B8 28 1A 00 00 */ cmplwi r26, 0 -/* 802FBADC 002F86BC 41 82 00 44 */ beq .L_802FBB20 -/* 802FBAE0 002F86C0 40 82 00 14 */ bne .L_802FBAF4 -/* 802FBAE4 002F86C4 38 6D A1 50 */ addi r3, r13, ifMagnify_804D57F0@sda21 -/* 802FBAE8 002F86C8 38 80 02 34 */ li r4, 0x234 -/* 802FBAEC 002F86CC 38 AD A1 58 */ addi r5, r13, ifMagnify_804D57F8@sda21 -/* 802FBAF0 002F86D0 48 08 C7 31 */ bl __assert -.L_802FBAF4: -/* 802FBAF4 002F86D4 80 9A 00 14 */ lwz r4, 0x14(r26) -/* 802FBAF8 002F86D8 38 60 00 00 */ li r3, 0 -/* 802FBAFC 002F86DC 54 80 02 11 */ rlwinm. r0, r4, 0, 8, 8 -/* 802FBB00 002F86E0 40 82 00 10 */ bne .L_802FBB10 -/* 802FBB04 002F86E4 54 80 06 73 */ rlwinm. r0, r4, 0, 0x19, 0x19 -/* 802FBB08 002F86E8 41 82 00 08 */ beq .L_802FBB10 -/* 802FBB0C 002F86EC 38 60 00 01 */ li r3, 1 -.L_802FBB10: -/* 802FBB10 002F86F0 2C 03 00 00 */ cmpwi r3, 0 -/* 802FBB14 002F86F4 40 82 00 0C */ bne .L_802FBB20 -/* 802FBB18 002F86F8 7F 43 D3 78 */ mr r3, r26 -/* 802FBB1C 002F86FC 48 07 77 CD */ bl HSD_JObjSetMtxDirtySub -.L_802FBB20: -/* 802FBB20 002F8700 38 7B 00 00 */ addi r3, r27, 0 -/* 802FBB24 002F8704 38 9C 00 00 */ addi r4, r28, 0 -/* 802FBB28 002F8708 48 09 55 49 */ bl HSD_GObj_80391070 -/* 802FBB2C 002F870C 88 1F 00 0C */ lbz r0, 0xc(r31) -/* 802FBB30 002F8710 54 00 06 BE */ clrlwi r0, r0, 0x1a -/* 802FBB34 002F8714 28 00 00 04 */ cmplwi r0, 4 -/* 802FBB38 002F8718 41 82 00 0C */ beq .L_802FBB44 -/* 802FBB3C 002F871C 28 00 00 02 */ cmplwi r0, 2 -/* 802FBB40 002F8720 40 82 00 74 */ bne .L_802FBBB4 -.L_802FBB44: -/* 802FBB44 002F8724 7F C3 F3 78 */ mr r3, r30 -/* 802FBB48 002F8728 4B D3 68 D5 */ bl Player_GetPlayerSlotType -/* 802FBB4C 002F872C 54 7C 06 3E */ clrlwi r28, r3, 0x18 -/* 802FBB50 002F8730 4B E6 F6 19 */ bl gm_8016B168 -/* 802FBB54 002F8734 54 7B 06 3E */ clrlwi r27, r3, 0x18 -/* 802FBB58 002F8738 38 7E 00 00 */ addi r3, r30, 0 -/* 802FBB5C 002F873C 4B D3 78 15 */ bl Player_GetTeam -/* 802FBB60 002F8740 54 64 06 3E */ clrlwi r4, r3, 0x18 -/* 802FBB64 002F8744 38 BB 00 00 */ addi r5, r27, 0 -/* 802FBB68 002F8748 38 DC 00 00 */ addi r6, r28, 0 -/* 802FBB6C 002F874C 57 C3 06 3E */ clrlwi r3, r30, 0x18 -/* 802FBB70 002F8750 4B E6 4C E5 */ bl gm_80160854 -/* 802FBB74 002F8754 4B E6 4D F5 */ bl gm_80160968 -/* 802FBB78 002F8758 90 61 00 20 */ stw r3, 0x20(r1) -/* 802FBB7C 002F875C 38 A1 00 1C */ addi r5, r1, 0x1c -/* 802FBB80 002F8760 80 01 00 20 */ lwz r0, 0x20(r1) -/* 802FBB84 002F8764 90 01 00 1C */ stw r0, 0x1c(r1) -/* 802FBB88 002F8768 88 1F 00 0C */ lbz r0, 0xc(r31) -/* 802FBB8C 002F876C 54 00 06 BE */ clrlwi r0, r0, 0x1a -/* 802FBB90 002F8770 28 00 00 02 */ cmplwi r0, 2 -/* 802FBB94 002F8774 40 82 00 0C */ bne .L_802FBBA0 -/* 802FBB98 002F8778 38 00 00 01 */ li r0, 1 -/* 802FBB9C 002F877C 48 00 00 08 */ b .L_802FBBA4 -.L_802FBBA0: -/* 802FBBA0 002F8780 38 00 00 02 */ li r0, 2 -.L_802FBBA4: -/* 802FBBA4 002F8784 57 C3 06 3E */ clrlwi r3, r30, 0x18 -/* 802FBBA8 002F8788 54 04 06 3E */ clrlwi r4, r0, 0x18 -/* 802FBBAC 002F878C 48 00 1D 7D */ bl un_802FD928 -/* 802FBBB0 002F8790 3B A0 00 01 */ li r29, 1 -.L_802FBBB4: -/* 802FBBB4 002F8794 2C 1D 00 00 */ cmpwi r29, 0 -/* 802FBBB8 002F8798 40 82 00 0C */ bne .L_802FBBC4 -/* 802FBBBC 002F879C 57 C3 06 3E */ clrlwi r3, r30, 0x18 -/* 802FBBC0 002F87A0 48 00 1E 19 */ bl un_802FD9D8 -.L_802FBBC4: -/* 802FBBC4 002F87A4 BB 41 00 60 */ lmw r26, 0x60(r1) -/* 802FBBC8 002F87A8 80 01 00 84 */ lwz r0, 0x84(r1) -/* 802FBBCC 002F87AC CB E1 00 78 */ lfd f31, 0x78(r1) -/* 802FBBD0 002F87B0 38 21 00 80 */ addi r1, r1, 0x80 -/* 802FBBD4 002F87B4 7C 08 03 A6 */ mtlr r0 -/* 802FBBD8 002F87B8 4E 80 00 20 */ blr +.fn ifMagnify_802FB73C, global +/* 00000054 00000094 C0 44 00 00 */ lfs f2, 0x0(r4) +/* 00000058 00000098 C0 20 00 00 */ lfs f1, ifMagnify_804DDB08@sda21(r0) +/* 0000005C 0000009C C0 84 00 04 */ lfs f4, 0x4(r4) +/* 00000060 000000A0 FC 01 10 00 */ fcmpu cr0, f1, f2 +/* 00000064 000000A4 40 82 00 2C */ bne .L_00000090 +/* 00000068 000000A8 FC 04 08 40 */ fcmpo cr0, f4, f1 +/* 0000006C 000000AC 40 81 00 10 */ ble .L_0000007C +/* 00000070 000000B0 C0 00 00 00 */ lfs f0, ifMagnify_804DDB28@sda21(r0) +/* 00000074 000000B4 D0 05 00 04 */ stfs f0, 0x4(r5) +/* 00000078 000000B8 48 00 00 0C */ b .L_00000084 +.L_0000007C: +/* 0000007C 000000BC C0 00 00 00 */ lfs f0, ifMagnify_804DDB2C@sda21(r0) +/* 00000080 000000C0 D0 05 00 04 */ stfs f0, 0x4(r5) +.L_00000084: +/* 00000084 000000C4 C0 00 00 00 */ lfs f0, ifMagnify_804DDB08@sda21(r0) +/* 00000088 000000C8 D0 05 00 00 */ stfs f0, 0x0(r5) +/* 0000008C 000000CC 48 00 00 D0 */ b .L_0000015C +.L_00000090: +/* 00000090 000000D0 EC 64 10 24 */ fdivs f3, f4, f2 +/* 00000094 000000D4 C0 00 00 00 */ lfs f0, ifMagnify_804DDB30@sda21(r0) +/* 00000098 000000D8 FC 03 00 40 */ fcmpo cr0, f3, f0 +/* 0000009C 000000DC 41 81 00 10 */ bgt .L_000000AC +/* 000000A0 000000E0 C0 00 00 00 */ lfs f0, ifMagnify_804DDB34@sda21(r0) +/* 000000A4 000000E4 FC 03 00 40 */ fcmpo cr0, f3, f0 +/* 000000A8 000000E8 40 80 00 60 */ bge .L_00000108 +.L_000000AC: +/* 000000AC 000000EC C0 00 00 00 */ lfs f0, ifMagnify_804DDB08@sda21(r0) +/* 000000B0 000000F0 FC 04 00 40 */ fcmpo cr0, f4, f0 +/* 000000B4 000000F4 40 81 00 10 */ ble .L_000000C4 +/* 000000B8 000000F8 C0 00 00 00 */ lfs f0, ifMagnify_804DDB28@sda21(r0) +/* 000000BC 000000FC D0 05 00 04 */ stfs f0, 0x4(r5) +/* 000000C0 00000100 48 00 00 0C */ b .L_000000CC +.L_000000C4: +/* 000000C4 00000104 C0 00 00 00 */ lfs f0, ifMagnify_804DDB2C@sda21(r0) +/* 000000C8 00000108 D0 05 00 04 */ stfs f0, 0x4(r5) +.L_000000CC: +/* 000000CC 0000010C C0 25 00 04 */ lfs f1, 0x4(r5) +/* 000000D0 00000110 C0 00 00 00 */ lfs f0, ifMagnify_804DDB38@sda21(r0) +/* 000000D4 00000114 EC 21 00 B2 */ fmuls f1, f1, f2 +/* 000000D8 00000118 EC 21 20 24 */ fdivs f1, f1, f4 +/* 000000DC 0000011C FC 01 00 40 */ fcmpo cr0, f1, f0 +/* 000000E0 00000120 40 80 00 0C */ bge .L_000000EC +/* 000000E4 00000124 D0 05 00 00 */ stfs f0, 0x0(r5) +/* 000000E8 00000128 48 00 00 74 */ b .L_0000015C +.L_000000EC: +/* 000000EC 0000012C C0 00 00 00 */ lfs f0, ifMagnify_804DDB3C@sda21(r0) +/* 000000F0 00000130 FC 01 00 40 */ fcmpo cr0, f1, f0 +/* 000000F4 00000134 40 81 00 0C */ ble .L_00000100 +/* 000000F8 00000138 D0 05 00 00 */ stfs f0, 0x0(r5) +/* 000000FC 0000013C 48 00 00 60 */ b .L_0000015C +.L_00000100: +/* 00000100 00000140 D0 25 00 00 */ stfs f1, 0x0(r5) +/* 00000104 00000144 48 00 00 58 */ b .L_0000015C +.L_00000108: +/* 00000108 00000148 FC 02 08 40 */ fcmpo cr0, f2, f1 +/* 0000010C 0000014C 40 81 00 10 */ ble .L_0000011C +/* 00000110 00000150 C0 00 00 00 */ lfs f0, ifMagnify_804DDB3C@sda21(r0) +/* 00000114 00000154 D0 05 00 00 */ stfs f0, 0x0(r5) +/* 00000118 00000158 48 00 00 0C */ b .L_00000124 +.L_0000011C: +/* 0000011C 0000015C C0 00 00 00 */ lfs f0, ifMagnify_804DDB38@sda21(r0) +/* 00000120 00000160 D0 05 00 00 */ stfs f0, 0x0(r5) +.L_00000124: +/* 00000124 00000164 C0 25 00 00 */ lfs f1, 0x0(r5) +/* 00000128 00000168 C0 00 00 00 */ lfs f0, ifMagnify_804DDB2C@sda21(r0) +/* 0000012C 0000016C EC 21 01 32 */ fmuls f1, f1, f4 +/* 00000130 00000170 EC 21 10 24 */ fdivs f1, f1, f2 +/* 00000134 00000174 FC 01 00 40 */ fcmpo cr0, f1, f0 +/* 00000138 00000178 40 80 00 0C */ bge .L_00000144 +/* 0000013C 0000017C D0 05 00 04 */ stfs f0, 0x4(r5) +/* 00000140 00000180 48 00 00 1C */ b .L_0000015C +.L_00000144: +/* 00000144 00000184 C0 00 00 00 */ lfs f0, ifMagnify_804DDB28@sda21(r0) +/* 00000148 00000188 FC 01 00 40 */ fcmpo cr0, f1, f0 +/* 0000014C 0000018C 40 81 00 0C */ ble .L_00000158 +/* 00000150 00000190 D0 05 00 04 */ stfs f0, 0x4(r5) +/* 00000154 00000194 48 00 00 08 */ b .L_0000015C +.L_00000158: +/* 00000158 00000198 D0 25 00 04 */ stfs f1, 0x4(r5) +.L_0000015C: +/* 0000015C 0000019C C0 25 00 00 */ lfs f1, 0x0(r5) +/* 00000160 000001A0 C0 00 00 00 */ lfs f0, ifMagnify_804DDB38@sda21(r0) +/* 00000164 000001A4 FC 01 00 00 */ fcmpu cr0, f1, f0 +/* 00000168 000001A8 40 82 00 18 */ bne .L_00000180 +/* 0000016C 000001AC 88 03 00 0C */ lbz r0, 0xc(r3) +/* 00000170 000001B0 38 80 00 02 */ li r4, 0x2 +/* 00000174 000001B4 50 80 06 BE */ rlwimi r0, r4, 0, 26, 31 +/* 00000178 000001B8 98 03 00 0C */ stb r0, 0xc(r3) +/* 0000017C 000001BC 4E 80 00 20 */ blr +.L_00000180: +/* 00000180 000001C0 C0 00 00 00 */ lfs f0, ifMagnify_804DDB3C@sda21(r0) +/* 00000184 000001C4 FC 01 00 00 */ fcmpu cr0, f1, f0 +/* 00000188 000001C8 40 82 00 18 */ bne .L_000001A0 +/* 0000018C 000001CC 88 03 00 0C */ lbz r0, 0xc(r3) +/* 00000190 000001D0 38 80 00 04 */ li r4, 0x4 +/* 00000194 000001D4 50 80 06 BE */ rlwimi r0, r4, 0, 26, 31 +/* 00000198 000001D8 98 03 00 0C */ stb r0, 0xc(r3) +/* 0000019C 000001DC 4E 80 00 20 */ blr +.L_000001A0: +/* 000001A0 000001E0 C0 25 00 04 */ lfs f1, 0x4(r5) +/* 000001A4 000001E4 C0 00 00 00 */ lfs f0, ifMagnify_804DDB28@sda21(r0) +/* 000001A8 000001E8 FC 01 00 00 */ fcmpu cr0, f1, f0 +/* 000001AC 000001EC 40 82 00 18 */ bne .L_000001C4 +/* 000001B0 000001F0 88 03 00 0C */ lbz r0, 0xc(r3) +/* 000001B4 000001F4 38 80 00 01 */ li r4, 0x1 +/* 000001B8 000001F8 50 80 06 BE */ rlwimi r0, r4, 0, 26, 31 +/* 000001BC 000001FC 98 03 00 0C */ stb r0, 0xc(r3) +/* 000001C0 00000200 4E 80 00 20 */ blr +.L_000001C4: +/* 000001C4 00000204 88 03 00 0C */ lbz r0, 0xc(r3) +/* 000001C8 00000208 38 80 00 03 */ li r4, 0x3 +/* 000001CC 0000020C 50 80 06 BE */ rlwimi r0, r4, 0, 26, 31 +/* 000001D0 00000210 98 03 00 0C */ stb r0, 0xc(r3) +/* 000001D4 00000214 4E 80 00 20 */ blr +.endfn ifMagnify_802FB73C -.global ifMagnify_802FBBDC -ifMagnify_802FBBDC: -/* 802FBBDC 002F87BC 7C 08 02 A6 */ mflr r0 -/* 802FBBE0 002F87C0 3C 80 80 4A */ lis r4, ifMagnify_804A1DE0@ha -/* 802FBBE4 002F87C4 90 01 00 04 */ stw r0, 4(r1) -/* 802FBBE8 002F87C8 38 04 1D E0 */ addi r0, r4, ifMagnify_804A1DE0@l -/* 802FBBEC 002F87CC 38 80 00 00 */ li r4, 0 -/* 802FBBF0 002F87D0 94 21 FE 90 */ stwu r1, -0x170(r1) -/* 802FBBF4 002F87D4 DB E1 01 68 */ stfd f31, 0x168(r1) -/* 802FBBF8 002F87D8 DB C1 01 60 */ stfd f30, 0x160(r1) -/* 802FBBFC 002F87DC DB A1 01 58 */ stfd f29, 0x158(r1) -/* 802FBC00 002F87E0 DB 81 01 50 */ stfd f28, 0x150(r1) -/* 802FBC04 002F87E4 DB 61 01 48 */ stfd f27, 0x148(r1) -/* 802FBC08 002F87E8 DB 41 01 40 */ stfd f26, 0x140(r1) -/* 802FBC0C 002F87EC DB 21 01 38 */ stfd f25, 0x138(r1) -/* 802FBC10 002F87F0 DB 01 01 30 */ stfd f24, 0x130(r1) -/* 802FBC14 002F87F4 DA E1 01 28 */ stfd f23, 0x128(r1) -/* 802FBC18 002F87F8 BE C1 01 00 */ stmw r22, 0x100(r1) -/* 802FBC1C 002F87FC 7C 16 03 78 */ mr r22, r0 -/* 802FBC20 002F8800 7C 77 1B 78 */ mr r23, r3 -/* 802FBC24 002F8804 88 16 00 20 */ lbz r0, 0x20(r22) -/* 802FBC28 002F8808 50 80 3E 30 */ rlwimi r0, r4, 7, 0x18, 0x18 -/* 802FBC2C 002F880C 98 16 00 20 */ stb r0, 0x20(r22) -/* 802FBC30 002F8810 88 16 00 30 */ lbz r0, 0x30(r22) -/* 802FBC34 002F8814 50 80 3E 30 */ rlwimi r0, r4, 7, 0x18, 0x18 -/* 802FBC38 002F8818 98 16 00 30 */ stb r0, 0x30(r22) -/* 802FBC3C 002F881C 88 16 00 40 */ lbz r0, 0x40(r22) -/* 802FBC40 002F8820 50 80 3E 30 */ rlwimi r0, r4, 7, 0x18, 0x18 -/* 802FBC44 002F8824 98 16 00 40 */ stb r0, 0x40(r22) -/* 802FBC48 002F8828 88 16 00 50 */ lbz r0, 0x50(r22) -/* 802FBC4C 002F882C 50 80 3E 30 */ rlwimi r0, r4, 7, 0x18, 0x18 -/* 802FBC50 002F8830 98 16 00 50 */ stb r0, 0x50(r22) -/* 802FBC54 002F8834 88 16 00 60 */ lbz r0, 0x60(r22) -/* 802FBC58 002F8838 50 80 3E 30 */ rlwimi r0, r4, 7, 0x18, 0x18 -/* 802FBC5C 002F883C 98 16 00 60 */ stb r0, 0x60(r22) -/* 802FBC60 002F8840 88 16 00 70 */ lbz r0, 0x70(r22) -/* 802FBC64 002F8844 50 80 3E 30 */ rlwimi r0, r4, 7, 0x18, 0x18 -/* 802FBC68 002F8848 98 16 00 70 */ stb r0, 0x70(r22) -/* 802FBC6C 002F884C 4B E6 F1 CD */ bl gm_8016AE38 -/* 802FBC70 002F8850 88 03 00 05 */ lbz r0, 5(r3) -/* 802FBC74 002F8854 28 00 00 00 */ cmplwi r0, 0 -/* 802FBC78 002F8858 41 82 00 1C */ beq .L_802FBC94 -/* 802FBC7C 002F885C 4B FF 7A 35 */ bl ifAll_802F36B0 -/* 802FBC80 002F8860 2C 03 00 00 */ cmpwi r3, 0 -/* 802FBC84 002F8864 40 82 00 10 */ bne .L_802FBC94 -/* 802FBC88 002F8868 4B D3 44 A9 */ bl Camera_80030130 -/* 802FBC8C 002F886C 2C 03 00 00 */ cmpwi r3, 0 -/* 802FBC90 002F8870 41 82 00 0C */ beq .L_802FBC9C -.L_802FBC94: -/* 802FBC94 002F8874 38 00 00 00 */ li r0, 0 -/* 802FBC98 002F8878 48 00 00 08 */ b .L_802FBCA0 -.L_802FBC9C: -/* 802FBC9C 002F887C 38 00 00 01 */ li r0, 1 -.L_802FBCA0: -/* 802FBCA0 002F8880 2C 00 00 00 */ cmpwi r0, 0 -/* 802FBCA4 002F8884 41 82 06 E0 */ beq .L_802FC384 -/* 802FBCA8 002F8888 83 17 00 28 */ lwz r24, 0x28(r23) -/* 802FBCAC 002F888C 38 81 00 54 */ addi r4, r1, 0x54 -/* 802FBCB0 002F8890 38 A1 00 50 */ addi r5, r1, 0x50 -/* 802FBCB4 002F8894 38 78 00 00 */ addi r3, r24, 0 -/* 802FBCB8 002F8898 38 C1 00 4C */ addi r6, r1, 0x4c -/* 802FBCBC 002F889C 38 E1 00 48 */ addi r7, r1, 0x48 -/* 802FBCC0 002F88A0 48 06 E5 35 */ bl HSD_CObjGetOrtho -/* 802FBCC4 002F88A4 7F 03 C3 78 */ mr r3, r24 -/* 802FBCC8 002F88A8 48 06 C7 91 */ bl HSD_CObjSetCurrent -/* 802FBCCC 002F88AC 2C 03 00 00 */ cmpwi r3, 0 -/* 802FBCD0 002F88B0 41 82 00 14 */ beq .L_802FBCE4 -/* 802FBCD4 002F88B4 38 77 00 00 */ addi r3, r23, 0 -/* 802FBCD8 002F88B8 38 80 00 07 */ li r4, 7 -/* 802FBCDC 002F88BC 48 09 51 F5 */ bl HSD_GObj_80390ED0 -/* 802FBCE0 002F88C0 48 06 C9 29 */ bl HSD_CObjEndCurrent -.L_802FBCE4: -/* 802FBCE4 002F88C4 3C 80 80 40 */ lis r4, ifMagnify_803F984C@ha -/* 802FBCE8 002F88C8 C3 C2 E1 30 */ lfs f30, ifMagnify_804DDB10@sda21(r2) -/* 802FBCEC 002F88CC 3C 60 80 40 */ lis r3, ifMagnify_803F9828@ha -/* 802FBCF0 002F88D0 C3 A2 E1 34 */ lfs f29, ifMagnify_804DDB14@sda21(r2) -/* 802FBCF4 002F88D4 CB E2 E1 40 */ lfd f31, ifMagnify_804DDB20@sda21(r2) -/* 802FBCF8 002F88D8 7E DA B3 78 */ mr r26, r22 -/* 802FBCFC 002F88DC C3 62 E1 78 */ lfs f27, ifMagnify_804DDB58@sda21(r2) -/* 802FBD00 002F88E0 3B A4 98 4C */ addi r29, r4, ifMagnify_803F984C@l -/* 802FBD04 002F88E4 C3 82 E1 7C */ lfs f28, ifMagnify_804DDB5C@sda21(r2) -/* 802FBD08 002F88E8 3B C3 98 28 */ addi r30, r3, ifMagnify_803F9828@l -/* 802FBD0C 002F88EC 3B 20 00 00 */ li r25, 0 -/* 802FBD10 002F88F0 3F E0 43 30 */ lis r31, 0x4330 -.L_802FBD14: -/* 802FBD14 002F88F4 3A FA 00 14 */ addi r23, r26, 0x14 -/* 802FBD18 002F88F8 38 79 00 00 */ addi r3, r25, 0 -/* 802FBD1C 002F88FC 4B D3 83 F5 */ bl Player_GetEntity -/* 802FBD20 002F8900 88 1A 00 20 */ lbz r0, 0x20(r26) -/* 802FBD24 002F8904 3A C3 00 00 */ addi r22, r3, 0 -/* 802FBD28 002F8908 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f -/* 802FBD2C 002F890C 40 82 06 30 */ bne .L_802FC35C -/* 802FBD30 002F8910 28 16 00 00 */ cmplwi r22, 0 -/* 802FBD34 002F8914 41 82 06 28 */ beq .L_802FC35C -/* 802FBD38 002F8918 7E C3 B3 78 */ mr r3, r22 -/* 802FBD3C 002F891C 4B D8 AE 29 */ bl ftLib_80086B64 -/* 802FBD40 002F8920 2C 03 00 00 */ cmpwi r3, 0 -/* 802FBD44 002F8924 41 82 06 18 */ beq .L_802FC35C -/* 802FBD48 002F8928 7E C3 B3 78 */ mr r3, r22 -/* 802FBD4C 002F892C 4B D8 B1 85 */ bl ftLib_80086ED0 -/* 802FBD50 002F8930 2C 03 00 00 */ cmpwi r3, 0 -/* 802FBD54 002F8934 41 82 06 08 */ beq .L_802FC35C -/* 802FBD58 002F8938 7E C3 B3 78 */ mr r3, r22 -/* 802FBD5C 002F893C 4B D8 AE 25 */ bl ftLib_80086B80 -/* 802FBD60 002F8940 EC 81 06 F2 */ fmuls f4, f1, f27 -/* 802FBD64 002F8944 C0 21 00 54 */ lfs f1, 0x54(r1) -/* 802FBD68 002F8948 C0 41 00 50 */ lfs f2, 0x50(r1) -/* 802FBD6C 002F894C 7F 03 C3 78 */ mr r3, r24 -/* 802FBD70 002F8950 C0 61 00 4C */ lfs f3, 0x4c(r1) -/* 802FBD74 002F8954 C0 01 00 48 */ lfs f0, 0x48(r1) -/* 802FBD78 002F8958 EC 21 01 32 */ fmuls f1, f1, f4 -/* 802FBD7C 002F895C EC 42 01 32 */ fmuls f2, f2, f4 -/* 802FBD80 002F8960 EC 63 01 32 */ fmuls f3, f3, f4 -/* 802FBD84 002F8964 EC 80 01 32 */ fmuls f4, f0, f4 -/* 802FBD88 002F8968 48 06 E4 0D */ bl HSD_CObjSetOrtho -/* 802FBD8C 002F896C 38 76 00 00 */ addi r3, r22, 0 -/* 802FBD90 002F8970 38 81 00 3C */ addi r4, r1, 0x3c -/* 802FBD94 002F8974 4B D8 AD FD */ bl ftLib_80086B90 -/* 802FBD98 002F8978 38 78 00 00 */ addi r3, r24, 0 -/* 802FBD9C 002F897C 38 81 00 3C */ addi r4, r1, 0x3c -/* 802FBDA0 002F8980 48 06 C9 79 */ bl HSD_CObjSetInterest -/* 802FBDA4 002F8984 D3 81 00 44 */ stfs f28, 0x44(r1) -/* 802FBDA8 002F8988 38 78 00 00 */ addi r3, r24, 0 -/* 802FBDAC 002F898C 38 81 00 3C */ addi r4, r1, 0x3c -/* 802FBDB0 002F8990 48 06 CA 41 */ bl HSD_CObjSetEyePosition -/* 802FBDB4 002F8994 7F 03 C3 78 */ mr r3, r24 -/* 802FBDB8 002F8998 48 06 C6 A1 */ bl HSD_CObjSetCurrent -/* 802FBDBC 002F899C 2C 03 00 00 */ cmpwi r3, 0 -/* 802FBDC0 002F89A0 41 82 05 9C */ beq .L_802FC35C -/* 802FBDC4 002F89A4 38 79 00 00 */ addi r3, r25, 0 -/* 802FBDC8 002F89A8 38 81 00 1C */ addi r4, r1, 0x1c -/* 802FBDCC 002F89AC 4B D3 AB AD */ bl Player_80036978 -/* 802FBDD0 002F89B0 3B 60 00 01 */ li r27, 1 -/* 802FBDD4 002F89B4 4B F2 8C 81 */ bl Stage_GetCamBoundsLeftOffset -/* 802FBDD8 002F89B8 C0 01 00 1C */ lfs f0, 0x1c(r1) -/* 802FBDDC 002F89BC FC 00 08 40 */ fcmpo cr0, f0, f1 -/* 802FBDE0 002F89C0 41 80 00 18 */ blt .L_802FBDF8 -/* 802FBDE4 002F89C4 4B F2 8C 85 */ bl Stage_GetCamBoundsRightOffset -/* 802FBDE8 002F89C8 C0 01 00 1C */ lfs f0, 0x1c(r1) -/* 802FBDEC 002F89CC FC 00 08 40 */ fcmpo cr0, f0, f1 -/* 802FBDF0 002F89D0 41 81 00 08 */ bgt .L_802FBDF8 -/* 802FBDF4 002F89D4 3B 60 00 00 */ li r27, 0 -.L_802FBDF8: -/* 802FBDF8 002F89D8 2C 1B 00 00 */ cmpwi r27, 0 -/* 802FBDFC 002F89DC 41 82 00 0C */ beq .L_802FBE08 -/* 802FBE00 002F89E0 C0 02 E1 28 */ lfs f0, ifMagnify_804DDB08@sda21(r2) -/* 802FBE04 002F89E4 48 00 00 E4 */ b .L_802FBEE8 -.L_802FBE08: -/* 802FBE08 002F89E8 4B F2 8C 4D */ bl Stage_GetCamBoundsLeftOffset -/* 802FBE0C 002F89EC C0 01 00 1C */ lfs f0, 0x1c(r1) -/* 802FBE10 002F89F0 FC 00 08 40 */ fcmpo cr0, f0, f1 -/* 802FBE14 002F89F4 40 80 00 0C */ bge .L_802FBE20 -/* 802FBE18 002F89F8 C0 02 E1 28 */ lfs f0, ifMagnify_804DDB08@sda21(r2) -/* 802FBE1C 002F89FC 48 00 00 48 */ b .L_802FBE64 -.L_802FBE20: -/* 802FBE20 002F8A00 4B F2 8C 49 */ bl Stage_GetCamBoundsRightOffset -/* 802FBE24 002F8A04 C0 01 00 1C */ lfs f0, 0x1c(r1) -/* 802FBE28 002F8A08 FC 00 08 40 */ fcmpo cr0, f0, f1 -/* 802FBE2C 002F8A0C 40 81 00 0C */ ble .L_802FBE38 -/* 802FBE30 002F8A10 C0 02 E1 2C */ lfs f0, ifMagnify_804DDB0C@sda21(r2) -/* 802FBE34 002F8A14 48 00 00 30 */ b .L_802FBE64 -.L_802FBE38: -/* 802FBE38 002F8A18 4B F2 8C 31 */ bl Stage_GetCamBoundsRightOffset -/* 802FBE3C 002F8A1C FF 00 08 90 */ fmr f24, f1 -/* 802FBE40 002F8A20 4B F2 8C 15 */ bl Stage_GetCamBoundsLeftOffset -/* 802FBE44 002F8A24 EC 21 C0 2A */ fadds f1, f1, f24 -/* 802FBE48 002F8A28 C0 01 00 1C */ lfs f0, 0x1c(r1) -/* 802FBE4C 002F8A2C EC 3E 00 72 */ fmuls f1, f30, f1 -/* 802FBE50 002F8A30 FC 00 08 40 */ fcmpo cr0, f0, f1 -/* 802FBE54 002F8A34 40 80 00 0C */ bge .L_802FBE60 -/* 802FBE58 002F8A38 C0 02 E1 34 */ lfs f0, ifMagnify_804DDB14@sda21(r2) -/* 802FBE5C 002F8A3C 48 00 00 08 */ b .L_802FBE64 -.L_802FBE60: -/* 802FBE60 002F8A40 C0 02 E1 38 */ lfs f0, ifMagnify_804DDB18@sda21(r2) -.L_802FBE64: -/* 802FBE64 002F8A44 FC 00 00 1E */ fctiwz f0, f0 -/* 802FBE68 002F8A48 D8 01 00 F8 */ stfd f0, 0xf8(r1) -/* 802FBE6C 002F8A4C 80 01 00 FC */ lwz r0, 0xfc(r1) -/* 802FBE70 002F8A50 34 00 FF FF */ addic. r0, r0, -1 -/* 802FBE74 002F8A54 40 82 00 38 */ bne .L_802FBEAC -/* 802FBE78 002F8A58 4B F2 8B DD */ bl Stage_GetCamBoundsLeftOffset -/* 802FBE7C 002F8A5C FF 20 08 90 */ fmr f25, f1 -/* 802FBE80 002F8A60 4B F2 8B E9 */ bl Stage_GetCamBoundsRightOffset -/* 802FBE84 002F8A64 FF 00 08 90 */ fmr f24, f1 -/* 802FBE88 002F8A68 4B F2 8B CD */ bl Stage_GetCamBoundsLeftOffset -/* 802FBE8C 002F8A6C EC 01 C0 2A */ fadds f0, f1, f24 -/* 802FBE90 002F8A70 EF 1E C8 38 */ fmsubs f24, f30, f0, f25 -/* 802FBE94 002F8A74 4B F2 8B C1 */ bl Stage_GetCamBoundsLeftOffset -/* 802FBE98 002F8A78 C0 01 00 1C */ lfs f0, 0x1c(r1) -/* 802FBE9C 002F8A7C EC 00 08 28 */ fsubs f0, f0, f1 -/* 802FBEA0 002F8A80 EC 00 C0 24 */ fdivs f0, f0, f24 -/* 802FBEA4 002F8A84 EC 1D 00 28 */ fsubs f0, f29, f0 -/* 802FBEA8 002F8A88 48 00 00 40 */ b .L_802FBEE8 -.L_802FBEAC: -/* 802FBEAC 002F8A8C 4B F2 8B BD */ bl Stage_GetCamBoundsRightOffset -/* 802FBEB0 002F8A90 FF 20 08 90 */ fmr f25, f1 -/* 802FBEB4 002F8A94 4B F2 8B B5 */ bl Stage_GetCamBoundsRightOffset -/* 802FBEB8 002F8A98 FF 00 08 90 */ fmr f24, f1 -/* 802FBEBC 002F8A9C 4B F2 8B 99 */ bl Stage_GetCamBoundsLeftOffset -/* 802FBEC0 002F8AA0 EC 01 C0 2A */ fadds f0, f1, f24 -/* 802FBEC4 002F8AA4 EF 3E C8 3C */ fnmsubs f25, f30, f0, f25 -/* 802FBEC8 002F8AA8 4B F2 8B A1 */ bl Stage_GetCamBoundsRightOffset -/* 802FBECC 002F8AAC FF 00 08 90 */ fmr f24, f1 -/* 802FBED0 002F8AB0 4B F2 8B 85 */ bl Stage_GetCamBoundsLeftOffset -/* 802FBED4 002F8AB4 EC 21 C0 2A */ fadds f1, f1, f24 -/* 802FBED8 002F8AB8 C0 01 00 1C */ lfs f0, 0x1c(r1) -/* 802FBEDC 002F8ABC EC 1E 00 7C */ fnmsubs f0, f30, f1, f0 -/* 802FBEE0 002F8AC0 EC 00 C8 24 */ fdivs f0, f0, f25 -/* 802FBEE4 002F8AC4 EC 1D 00 28 */ fsubs f0, f29, f0 -.L_802FBEE8: -/* 802FBEE8 002F8AC8 EF 3D 00 28 */ fsubs f25, f29, f0 -/* 802FBEEC 002F8ACC 3B 60 00 01 */ li r27, 1 -/* 802FBEF0 002F8AD0 4B F2 8B 91 */ bl Stage_GetCamBoundsTopOffset -/* 802FBEF4 002F8AD4 C0 01 00 20 */ lfs f0, 0x20(r1) -/* 802FBEF8 002F8AD8 FC 00 08 40 */ fcmpo cr0, f0, f1 -/* 802FBEFC 002F8ADC 41 81 00 18 */ bgt .L_802FBF14 -/* 802FBF00 002F8AE0 4B F2 8B 99 */ bl Stage_GetCamBoundsBottomOffset -/* 802FBF04 002F8AE4 C0 01 00 20 */ lfs f0, 0x20(r1) -/* 802FBF08 002F8AE8 FC 00 08 40 */ fcmpo cr0, f0, f1 -/* 802FBF0C 002F8AEC 41 80 00 08 */ blt .L_802FBF14 -/* 802FBF10 002F8AF0 3B 60 00 00 */ li r27, 0 -.L_802FBF14: -/* 802FBF14 002F8AF4 2C 1B 00 00 */ cmpwi r27, 0 -/* 802FBF18 002F8AF8 41 82 00 0C */ beq .L_802FBF24 -/* 802FBF1C 002F8AFC C0 02 E1 28 */ lfs f0, ifMagnify_804DDB08@sda21(r2) -/* 802FBF20 002F8B00 48 00 00 E4 */ b .L_802FC004 -.L_802FBF24: -/* 802FBF24 002F8B04 4B F2 8B 5D */ bl Stage_GetCamBoundsTopOffset -/* 802FBF28 002F8B08 C0 01 00 20 */ lfs f0, 0x20(r1) -/* 802FBF2C 002F8B0C FC 00 08 40 */ fcmpo cr0, f0, f1 -/* 802FBF30 002F8B10 40 81 00 0C */ ble .L_802FBF3C -/* 802FBF34 002F8B14 C0 02 E1 28 */ lfs f0, ifMagnify_804DDB08@sda21(r2) -/* 802FBF38 002F8B18 48 00 00 48 */ b .L_802FBF80 -.L_802FBF3C: -/* 802FBF3C 002F8B1C 4B F2 8B 5D */ bl Stage_GetCamBoundsBottomOffset -/* 802FBF40 002F8B20 C0 01 00 20 */ lfs f0, 0x20(r1) -/* 802FBF44 002F8B24 FC 00 08 40 */ fcmpo cr0, f0, f1 -/* 802FBF48 002F8B28 40 80 00 0C */ bge .L_802FBF54 -/* 802FBF4C 002F8B2C C0 02 E1 2C */ lfs f0, ifMagnify_804DDB0C@sda21(r2) -/* 802FBF50 002F8B30 48 00 00 30 */ b .L_802FBF80 -.L_802FBF54: -/* 802FBF54 002F8B34 4B F2 8B 45 */ bl Stage_GetCamBoundsBottomOffset -/* 802FBF58 002F8B38 FF 00 08 90 */ fmr f24, f1 -/* 802FBF5C 002F8B3C 4B F2 8B 25 */ bl Stage_GetCamBoundsTopOffset -/* 802FBF60 002F8B40 EC 21 C0 2A */ fadds f1, f1, f24 -/* 802FBF64 002F8B44 C0 01 00 20 */ lfs f0, 0x20(r1) -/* 802FBF68 002F8B48 EC 3E 00 72 */ fmuls f1, f30, f1 -/* 802FBF6C 002F8B4C FC 00 08 40 */ fcmpo cr0, f0, f1 -/* 802FBF70 002F8B50 40 81 00 0C */ ble .L_802FBF7C -/* 802FBF74 002F8B54 C0 02 E1 34 */ lfs f0, ifMagnify_804DDB14@sda21(r2) -/* 802FBF78 002F8B58 48 00 00 08 */ b .L_802FBF80 -.L_802FBF7C: -/* 802FBF7C 002F8B5C C0 02 E1 38 */ lfs f0, ifMagnify_804DDB18@sda21(r2) -.L_802FBF80: -/* 802FBF80 002F8B60 FC 00 00 1E */ fctiwz f0, f0 -/* 802FBF84 002F8B64 D8 01 00 F8 */ stfd f0, 0xf8(r1) -/* 802FBF88 002F8B68 80 01 00 FC */ lwz r0, 0xfc(r1) -/* 802FBF8C 002F8B6C 34 00 FF FF */ addic. r0, r0, -1 -/* 802FBF90 002F8B70 40 82 00 38 */ bne .L_802FBFC8 -/* 802FBF94 002F8B74 4B F2 8A ED */ bl Stage_GetCamBoundsTopOffset -/* 802FBF98 002F8B78 FF 40 08 90 */ fmr f26, f1 -/* 802FBF9C 002F8B7C 4B F2 8A FD */ bl Stage_GetCamBoundsBottomOffset -/* 802FBFA0 002F8B80 FF 00 08 90 */ fmr f24, f1 -/* 802FBFA4 002F8B84 4B F2 8A DD */ bl Stage_GetCamBoundsTopOffset -/* 802FBFA8 002F8B88 EC 01 C0 2A */ fadds f0, f1, f24 -/* 802FBFAC 002F8B8C EF 1E D0 3C */ fnmsubs f24, f30, f0, f26 -/* 802FBFB0 002F8B90 4B F2 8A D1 */ bl Stage_GetCamBoundsTopOffset -/* 802FBFB4 002F8B94 C0 01 00 20 */ lfs f0, 0x20(r1) -/* 802FBFB8 002F8B98 EC 01 00 28 */ fsubs f0, f1, f0 -/* 802FBFBC 002F8B9C EC 00 C0 24 */ fdivs f0, f0, f24 -/* 802FBFC0 002F8BA0 EC 1D 00 28 */ fsubs f0, f29, f0 -/* 802FBFC4 002F8BA4 48 00 00 40 */ b .L_802FC004 -.L_802FBFC8: -/* 802FBFC8 002F8BA8 4B F2 8A D1 */ bl Stage_GetCamBoundsBottomOffset -/* 802FBFCC 002F8BAC FF 40 08 90 */ fmr f26, f1 -/* 802FBFD0 002F8BB0 4B F2 8A C9 */ bl Stage_GetCamBoundsBottomOffset -/* 802FBFD4 002F8BB4 FF 00 08 90 */ fmr f24, f1 -/* 802FBFD8 002F8BB8 4B F2 8A A9 */ bl Stage_GetCamBoundsTopOffset -/* 802FBFDC 002F8BBC EC 01 C0 2A */ fadds f0, f1, f24 -/* 802FBFE0 002F8BC0 EF 5E D0 38 */ fmsubs f26, f30, f0, f26 -/* 802FBFE4 002F8BC4 4B F2 8A B5 */ bl Stage_GetCamBoundsBottomOffset -/* 802FBFE8 002F8BC8 FF 00 08 90 */ fmr f24, f1 -/* 802FBFEC 002F8BCC 4B F2 8A 95 */ bl Stage_GetCamBoundsTopOffset -/* 802FBFF0 002F8BD0 EC 21 C0 2A */ fadds f1, f1, f24 -/* 802FBFF4 002F8BD4 C0 01 00 20 */ lfs f0, 0x20(r1) -/* 802FBFF8 002F8BD8 EC 1E 00 78 */ fmsubs f0, f30, f1, f0 -/* 802FBFFC 002F8BDC EC 00 D0 24 */ fdivs f0, f0, f26 -/* 802FC000 002F8BE0 EC 1D 00 28 */ fsubs f0, f29, f0 -.L_802FC004: -/* 802FC004 002F8BE4 EF 5D 00 28 */ fsubs f26, f29, f0 -/* 802FC008 002F8BE8 3B 61 00 28 */ addi r27, r1, 0x28 -/* 802FC00C 002F8BEC 3B 80 00 00 */ li r28, 0 -.L_802FC010: -/* 802FC010 002F8BF0 4B F2 8A 71 */ bl Stage_GetCamBoundsTopOffset -/* 802FC014 002F8BF4 C0 01 00 20 */ lfs f0, 0x20(r1) -/* 802FC018 002F8BF8 FC 00 08 40 */ fcmpo cr0, f0, f1 -/* 802FC01C 002F8BFC 40 81 00 0C */ ble .L_802FC028 -/* 802FC020 002F8C00 C2 E2 E1 28 */ lfs f23, ifMagnify_804DDB08@sda21(r2) -/* 802FC024 002F8C04 48 00 00 48 */ b .L_802FC06C -.L_802FC028: -/* 802FC028 002F8C08 4B F2 8A 71 */ bl Stage_GetCamBoundsBottomOffset -/* 802FC02C 002F8C0C C0 01 00 20 */ lfs f0, 0x20(r1) -/* 802FC030 002F8C10 FC 00 08 40 */ fcmpo cr0, f0, f1 -/* 802FC034 002F8C14 40 80 00 0C */ bge .L_802FC040 -/* 802FC038 002F8C18 C2 E2 E1 2C */ lfs f23, ifMagnify_804DDB0C@sda21(r2) -/* 802FC03C 002F8C1C 48 00 00 30 */ b .L_802FC06C -.L_802FC040: -/* 802FC040 002F8C20 4B F2 8A 59 */ bl Stage_GetCamBoundsBottomOffset -/* 802FC044 002F8C24 FF 00 08 90 */ fmr f24, f1 -/* 802FC048 002F8C28 4B F2 8A 39 */ bl Stage_GetCamBoundsTopOffset -/* 802FC04C 002F8C2C EC 21 C0 2A */ fadds f1, f1, f24 -/* 802FC050 002F8C30 C0 01 00 20 */ lfs f0, 0x20(r1) -/* 802FC054 002F8C34 EC 3E 00 72 */ fmuls f1, f30, f1 -/* 802FC058 002F8C38 FC 00 08 40 */ fcmpo cr0, f0, f1 -/* 802FC05C 002F8C3C 40 81 00 0C */ ble .L_802FC068 -/* 802FC060 002F8C40 C2 E2 E1 34 */ lfs f23, ifMagnify_804DDB14@sda21(r2) -/* 802FC064 002F8C44 48 00 00 08 */ b .L_802FC06C -.L_802FC068: -/* 802FC068 002F8C48 C2 E2 E1 38 */ lfs f23, ifMagnify_804DDB18@sda21(r2) -.L_802FC06C: -/* 802FC06C 002F8C4C 4B F2 89 E9 */ bl Stage_GetCamBoundsLeftOffset -/* 802FC070 002F8C50 C0 01 00 1C */ lfs f0, 0x1c(r1) -/* 802FC074 002F8C54 FC 00 08 40 */ fcmpo cr0, f0, f1 -/* 802FC078 002F8C58 40 80 00 0C */ bge .L_802FC084 -/* 802FC07C 002F8C5C C0 22 E1 28 */ lfs f1, ifMagnify_804DDB08@sda21(r2) -/* 802FC080 002F8C60 48 00 00 48 */ b .L_802FC0C8 -.L_802FC084: -/* 802FC084 002F8C64 4B F2 89 E5 */ bl Stage_GetCamBoundsRightOffset -/* 802FC088 002F8C68 C0 01 00 1C */ lfs f0, 0x1c(r1) -/* 802FC08C 002F8C6C FC 00 08 40 */ fcmpo cr0, f0, f1 -/* 802FC090 002F8C70 40 81 00 0C */ ble .L_802FC09C -/* 802FC094 002F8C74 C0 22 E1 2C */ lfs f1, ifMagnify_804DDB0C@sda21(r2) -/* 802FC098 002F8C78 48 00 00 30 */ b .L_802FC0C8 -.L_802FC09C: -/* 802FC09C 002F8C7C 4B F2 89 CD */ bl Stage_GetCamBoundsRightOffset -/* 802FC0A0 002F8C80 FF 00 08 90 */ fmr f24, f1 -/* 802FC0A4 002F8C84 4B F2 89 B1 */ bl Stage_GetCamBoundsLeftOffset -/* 802FC0A8 002F8C88 EC 21 C0 2A */ fadds f1, f1, f24 -/* 802FC0AC 002F8C8C C0 01 00 1C */ lfs f0, 0x1c(r1) -/* 802FC0B0 002F8C90 EC 3E 00 72 */ fmuls f1, f30, f1 -/* 802FC0B4 002F8C94 FC 00 08 40 */ fcmpo cr0, f0, f1 -/* 802FC0B8 002F8C98 40 80 00 0C */ bge .L_802FC0C4 -/* 802FC0BC 002F8C9C C0 22 E1 34 */ lfs f1, ifMagnify_804DDB14@sda21(r2) -/* 802FC0C0 002F8CA0 48 00 00 08 */ b .L_802FC0C8 -.L_802FC0C4: -/* 802FC0C4 002F8CA4 C0 22 E1 38 */ lfs f1, ifMagnify_804DDB18@sda21(r2) -.L_802FC0C8: -/* 802FC0C8 002F8CA8 FC 00 B8 1E */ fctiwz f0, f23 -/* 802FC0CC 002F8CAC FC 20 08 1E */ fctiwz f1, f1 -/* 802FC0D0 002F8CB0 D8 01 00 F0 */ stfd f0, 0xf0(r1) -/* 802FC0D4 002F8CB4 D8 21 00 F8 */ stfd f1, 0xf8(r1) -/* 802FC0D8 002F8CB8 80 01 00 F4 */ lwz r0, 0xf4(r1) -/* 802FC0DC 002F8CBC 80 61 00 FC */ lwz r3, 0xfc(r1) -/* 802FC0E0 002F8CC0 54 00 10 3A */ slwi r0, r0, 2 -/* 802FC0E4 002F8CC4 7C 03 02 14 */ add r0, r3, r0 -/* 802FC0E8 002F8CC8 54 00 10 3A */ slwi r0, r0, 2 -/* 802FC0EC 002F8CCC 7C 1D 02 14 */ add r0, r29, r0 -/* 802FC0F0 002F8CD0 7C 60 E2 14 */ add r3, r0, r28 -/* 802FC0F4 002F8CD4 88 03 00 00 */ lbz r0, 0(r3) -/* 802FC0F8 002F8CD8 54 00 10 3A */ slwi r0, r0, 2 -/* 802FC0FC 002F8CDC 7C 7E 02 14 */ add r3, r30, r0 -/* 802FC100 002F8CE0 81 83 00 00 */ lwz r12, 0(r3) -/* 802FC104 002F8CE4 7D 88 03 A6 */ mtlr r12 -/* 802FC108 002F8CE8 4E 80 00 21 */ blrl -/* 802FC10C 002F8CEC 80 03 00 00 */ lwz r0, 0(r3) -/* 802FC110 002F8CF0 3B 9C 00 01 */ addi r28, r28, 1 -/* 802FC114 002F8CF4 2C 1C 00 04 */ cmpwi r28, 4 -/* 802FC118 002F8CF8 90 1B 00 00 */ stw r0, 0(r27) -/* 802FC11C 002F8CFC 3B 7B 00 04 */ addi r27, r27, 4 -/* 802FC120 002F8D00 41 80 FE F0 */ blt .L_802FC010 -/* 802FC124 002F8D04 88 81 00 2F */ lbz r4, 0x2f(r1) -/* 802FC128 002F8D08 EC 3D D0 28 */ fsubs f1, f29, f26 -/* 802FC12C 002F8D0C 88 61 00 2C */ lbz r3, 0x2c(r1) -/* 802FC130 002F8D10 EC 5D C8 28 */ fsubs f2, f29, f25 -/* 802FC134 002F8D14 88 01 00 2D */ lbz r0, 0x2d(r1) -/* 802FC138 002F8D18 90 81 00 E4 */ stw r4, 0xe4(r1) -/* 802FC13C 002F8D1C 88 A1 00 2B */ lbz r5, 0x2b(r1) -/* 802FC140 002F8D20 EC 19 00 72 */ fmuls f0, f25, f1 -/* 802FC144 002F8D24 90 61 00 BC */ stw r3, 0xbc(r1) -/* 802FC148 002F8D28 EC 22 00 72 */ fmuls f1, f2, f1 -/* 802FC14C 002F8D2C 88 61 00 28 */ lbz r3, 0x28(r1) -/* 802FC150 002F8D30 90 01 00 94 */ stw r0, 0x94(r1) -/* 802FC154 002F8D34 88 01 00 29 */ lbz r0, 0x29(r1) -/* 802FC158 002F8D38 EC 42 06 B2 */ fmuls f2, f2, f26 -/* 802FC15C 002F8D3C 93 E1 00 E0 */ stw r31, 0xe0(r1) -/* 802FC160 002F8D40 EC 79 06 B2 */ fmuls f3, f25, f26 -/* 802FC164 002F8D44 88 C1 00 33 */ lbz r6, 0x33(r1) -/* 802FC168 002F8D48 93 E1 00 B8 */ stw r31, 0xb8(r1) -/* 802FC16C 002F8D4C C8 81 00 E0 */ lfd f4, 0xe0(r1) -/* 802FC170 002F8D50 93 E1 00 90 */ stw r31, 0x90(r1) -/* 802FC174 002F8D54 88 81 00 30 */ lbz r4, 0x30(r1) -/* 802FC178 002F8D58 EC A4 F8 28 */ fsubs f5, f4, f31 -/* 802FC17C 002F8D5C 90 A1 00 EC */ stw r5, 0xec(r1) -/* 802FC180 002F8D60 C8 81 00 B8 */ lfd f4, 0xb8(r1) -/* 802FC184 002F8D64 90 61 00 C4 */ stw r3, 0xc4(r1) -/* 802FC188 002F8D68 ED 05 00 32 */ fmuls f8, f5, f0 -/* 802FC18C 002F8D6C 88 61 00 31 */ lbz r3, 0x31(r1) -/* 802FC190 002F8D70 EC A4 F8 28 */ fsubs f5, f4, f31 -/* 802FC194 002F8D74 90 01 00 9C */ stw r0, 0x9c(r1) -/* 802FC198 002F8D78 C8 81 00 90 */ lfd f4, 0x90(r1) -/* 802FC19C 002F8D7C 93 E1 00 E8 */ stw r31, 0xe8(r1) -/* 802FC1A0 002F8D80 EC C5 00 32 */ fmuls f6, f5, f0 -/* 802FC1A4 002F8D84 EC 84 F8 28 */ fsubs f4, f4, f31 -/* 802FC1A8 002F8D88 88 E1 00 37 */ lbz r7, 0x37(r1) -/* 802FC1AC 002F8D8C 93 E1 00 C0 */ stw r31, 0xc0(r1) -/* 802FC1B0 002F8D90 C8 A1 00 E8 */ lfd f5, 0xe8(r1) -/* 802FC1B4 002F8D94 93 E1 00 98 */ stw r31, 0x98(r1) -/* 802FC1B8 002F8D98 88 A1 00 34 */ lbz r5, 0x34(r1) -/* 802FC1BC 002F8D9C ED 25 F8 28 */ fsubs f9, f5, f31 -/* 802FC1C0 002F8DA0 90 C1 00 FC */ stw r6, 0xfc(r1) -/* 802FC1C4 002F8DA4 EC 84 00 32 */ fmuls f4, f4, f0 -/* 802FC1C8 002F8DA8 C8 A1 00 C0 */ lfd f5, 0xc0(r1) -/* 802FC1CC 002F8DAC 90 81 00 CC */ stw r4, 0xcc(r1) -/* 802FC1D0 002F8DB0 88 01 00 35 */ lbz r0, 0x35(r1) -/* 802FC1D4 002F8DB4 EC E5 F8 28 */ fsubs f7, f5, f31 -/* 802FC1D8 002F8DB8 90 61 00 A4 */ stw r3, 0xa4(r1) -/* 802FC1DC 002F8DBC ED 09 40 7A */ fmadds f8, f9, f1, f8 -/* 802FC1E0 002F8DC0 C8 A1 00 98 */ lfd f5, 0x98(r1) -/* 802FC1E4 002F8DC4 93 E1 00 F8 */ stw r31, 0xf8(r1) -/* 802FC1E8 002F8DC8 EC A5 F8 28 */ fsubs f5, f5, f31 -/* 802FC1EC 002F8DCC 93 E1 00 C8 */ stw r31, 0xc8(r1) -/* 802FC1F0 002F8DD0 EC C7 30 7A */ fmadds f6, f7, f1, f6 -/* 802FC1F4 002F8DD4 C9 21 00 F8 */ lfd f9, 0xf8(r1) -/* 802FC1F8 002F8DD8 93 E1 00 A0 */ stw r31, 0xa0(r1) -/* 802FC1FC 002F8DDC C8 E1 00 C8 */ lfd f7, 0xc8(r1) -/* 802FC200 002F8DE0 ED 29 F8 28 */ fsubs f9, f9, f31 -/* 802FC204 002F8DE4 90 E1 00 F4 */ stw r7, 0xf4(r1) -/* 802FC208 002F8DE8 EC 85 20 7A */ fmadds f4, f5, f1, f4 -/* 802FC20C 002F8DEC C8 A1 00 A0 */ lfd f5, 0xa0(r1) -/* 802FC210 002F8DF0 90 A1 00 D4 */ stw r5, 0xd4(r1) -/* 802FC214 002F8DF4 EC E7 F8 28 */ fsubs f7, f7, f31 -/* 802FC218 002F8DF8 90 01 00 AC */ stw r0, 0xac(r1) -/* 802FC21C 002F8DFC EC A5 F8 28 */ fsubs f5, f5, f31 -/* 802FC220 002F8E00 ED 09 40 BA */ fmadds f8, f9, f2, f8 -/* 802FC224 002F8E04 93 E1 00 F0 */ stw r31, 0xf0(r1) -/* 802FC228 002F8E08 EC C7 30 BA */ fmadds f6, f7, f2, f6 -/* 802FC22C 002F8E0C 93 E1 00 D0 */ stw r31, 0xd0(r1) -/* 802FC230 002F8E10 EC 85 20 BA */ fmadds f4, f5, f2, f4 -/* 802FC234 002F8E14 C8 A1 00 F0 */ lfd f5, 0xf0(r1) -/* 802FC238 002F8E18 93 E1 00 A8 */ stw r31, 0xa8(r1) -/* 802FC23C 002F8E1C C8 E1 00 D0 */ lfd f7, 0xd0(r1) -/* 802FC240 002F8E20 ED 25 F8 28 */ fsubs f9, f5, f31 -/* 802FC244 002F8E24 C8 A1 00 A8 */ lfd f5, 0xa8(r1) -/* 802FC248 002F8E28 EC E7 F8 28 */ fsubs f7, f7, f31 -/* 802FC24C 002F8E2C EC A5 F8 28 */ fsubs f5, f5, f31 -/* 802FC250 002F8E30 ED 09 40 FA */ fmadds f8, f9, f3, f8 -/* 802FC254 002F8E34 EC C7 30 FA */ fmadds f6, f7, f3, f6 -/* 802FC258 002F8E38 EC 85 20 FA */ fmadds f4, f5, f3, f4 -/* 802FC25C 002F8E3C FC E0 40 1E */ fctiwz f7, f8 -/* 802FC260 002F8E40 FC A0 30 1E */ fctiwz f5, f6 -/* 802FC264 002F8E44 FC 80 20 1E */ fctiwz f4, f4 -/* 802FC268 002F8E48 D8 E1 00 D8 */ stfd f7, 0xd8(r1) -/* 802FC26C 002F8E4C D8 A1 00 B0 */ stfd f5, 0xb0(r1) -/* 802FC270 002F8E50 80 C1 00 DC */ lwz r6, 0xdc(r1) -/* 802FC274 002F8E54 D8 81 00 88 */ stfd f4, 0x88(r1) -/* 802FC278 002F8E58 80 61 00 B4 */ lwz r3, 0xb4(r1) -/* 802FC27C 002F8E5C 80 81 00 8C */ lwz r4, 0x8c(r1) -/* 802FC280 002F8E60 88 01 00 2E */ lbz r0, 0x2e(r1) -/* 802FC284 002F8E64 88 A1 00 2A */ lbz r5, 0x2a(r1) -/* 802FC288 002F8E68 90 01 00 6C */ stw r0, 0x6c(r1) -/* 802FC28C 002F8E6C 88 01 00 32 */ lbz r0, 0x32(r1) -/* 802FC290 002F8E70 93 E1 00 68 */ stw r31, 0x68(r1) -/* 802FC294 002F8E74 88 E1 00 36 */ lbz r7, 0x36(r1) -/* 802FC298 002F8E78 90 A1 00 74 */ stw r5, 0x74(r1) -/* 802FC29C 002F8E7C C8 81 00 68 */ lfd f4, 0x68(r1) -/* 802FC2A0 002F8E80 93 E1 00 70 */ stw r31, 0x70(r1) -/* 802FC2A4 002F8E84 EC 84 F8 28 */ fsubs f4, f4, f31 -/* 802FC2A8 002F8E88 90 01 00 7C */ stw r0, 0x7c(r1) -/* 802FC2AC 002F8E8C C8 A1 00 70 */ lfd f5, 0x70(r1) -/* 802FC2B0 002F8E90 EC 04 00 32 */ fmuls f0, f4, f0 -/* 802FC2B4 002F8E94 90 E1 00 84 */ stw r7, 0x84(r1) -/* 802FC2B8 002F8E98 EC 85 F8 28 */ fsubs f4, f5, f31 -/* 802FC2BC 002F8E9C 93 E1 00 78 */ stw r31, 0x78(r1) -/* 802FC2C0 002F8EA0 C8 A1 00 78 */ lfd f5, 0x78(r1) -/* 802FC2C4 002F8EA4 EC 04 00 7A */ fmadds f0, f4, f1, f0 -/* 802FC2C8 002F8EA8 93 E1 00 80 */ stw r31, 0x80(r1) -/* 802FC2CC 002F8EAC EC 25 F8 28 */ fsubs f1, f5, f31 -/* 802FC2D0 002F8EB0 C8 81 00 80 */ lfd f4, 0x80(r1) -/* 802FC2D4 002F8EB4 EC 84 F8 28 */ fsubs f4, f4, f31 -/* 802FC2D8 002F8EB8 EC 01 00 BA */ fmadds f0, f1, f2, f0 -/* 802FC2DC 002F8EBC EC 04 00 FA */ fmadds f0, f4, f3, f0 -/* 802FC2E0 002F8EC0 FC 00 00 1E */ fctiwz f0, f0 -/* 802FC2E4 002F8EC4 D8 01 00 60 */ stfd f0, 0x60(r1) -/* 802FC2E8 002F8EC8 80 A1 00 64 */ lwz r5, 0x64(r1) -/* 802FC2EC 002F8ECC 48 07 87 9D */ bl HSD_SetEraseColor -/* 802FC2F0 002F8ED0 38 78 00 00 */ addi r3, r24, 0 -/* 802FC2F4 002F8ED4 38 80 00 01 */ li r4, 1 -/* 802FC2F8 002F8ED8 38 A0 00 00 */ li r5, 0 -/* 802FC2FC 002F8EDC 38 C0 00 01 */ li r6, 1 -/* 802FC300 002F8EE0 48 06 B3 F9 */ bl HSD_CObjEraseScreen -/* 802FC304 002F8EE4 92 CD C1 74 */ stw r22, HSD_GObj_804D7814@sda21(r13) -/* 802FC308 002F8EE8 38 76 00 00 */ addi r3, r22, 0 -/* 802FC30C 002F8EEC 38 80 00 00 */ li r4, 0 -/* 802FC310 002F8EF0 4B D8 49 19 */ bl ftDrawCommon_80080C28 -/* 802FC314 002F8EF4 38 76 00 00 */ addi r3, r22, 0 -/* 802FC318 002F8EF8 38 80 00 01 */ li r4, 1 -/* 802FC31C 002F8EFC 4B D8 49 0D */ bl ftDrawCommon_80080C28 -/* 802FC320 002F8F00 38 76 00 00 */ addi r3, r22, 0 -/* 802FC324 002F8F04 38 80 00 02 */ li r4, 2 -/* 802FC328 002F8F08 4B D8 49 01 */ bl ftDrawCommon_80080C28 -/* 802FC32C 002F8F0C 38 00 00 00 */ li r0, 0 -/* 802FC330 002F8F10 90 0D C1 74 */ stw r0, HSD_GObj_804D7814@sda21(r13) -/* 802FC334 002F8F14 38 80 00 00 */ li r4, 0 -/* 802FC338 002F8F18 38 A0 00 00 */ li r5, 0 -/* 802FC33C 002F8F1C 80 77 00 08 */ lwz r3, 8(r23) -/* 802FC340 002F8F20 38 C0 00 01 */ li r6, 1 -/* 802FC344 002F8F24 4B D1 5F 85 */ bl lb_800122C8 -/* 802FC348 002F8F28 48 06 C2 C1 */ bl HSD_CObjEndCurrent -/* 802FC34C 002F8F2C 88 17 00 0C */ lbz r0, 0xc(r23) -/* 802FC350 002F8F30 38 60 00 01 */ li r3, 1 -/* 802FC354 002F8F34 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18 -/* 802FC358 002F8F38 98 17 00 0C */ stb r0, 0xc(r23) -.L_802FC35C: -/* 802FC35C 002F8F3C 3B 39 00 01 */ addi r25, r25, 1 -/* 802FC360 002F8F40 2C 19 00 06 */ cmpwi r25, 6 -/* 802FC364 002F8F44 3B 5A 00 10 */ addi r26, r26, 0x10 -/* 802FC368 002F8F48 41 80 F9 AC */ blt .L_802FBD14 -/* 802FC36C 002F8F4C C0 21 00 54 */ lfs f1, 0x54(r1) -/* 802FC370 002F8F50 7F 03 C3 78 */ mr r3, r24 -/* 802FC374 002F8F54 C0 41 00 50 */ lfs f2, 0x50(r1) -/* 802FC378 002F8F58 C0 61 00 4C */ lfs f3, 0x4c(r1) -/* 802FC37C 002F8F5C C0 81 00 48 */ lfs f4, 0x48(r1) -/* 802FC380 002F8F60 48 06 DE 15 */ bl HSD_CObjSetOrtho -.L_802FC384: -/* 802FC384 002F8F64 BA C1 01 00 */ lmw r22, 0x100(r1) -/* 802FC388 002F8F68 80 01 01 74 */ lwz r0, 0x174(r1) -/* 802FC38C 002F8F6C CB E1 01 68 */ lfd f31, 0x168(r1) -/* 802FC390 002F8F70 CB C1 01 60 */ lfd f30, 0x160(r1) -/* 802FC394 002F8F74 CB A1 01 58 */ lfd f29, 0x158(r1) -/* 802FC398 002F8F78 CB 81 01 50 */ lfd f28, 0x150(r1) -/* 802FC39C 002F8F7C CB 61 01 48 */ lfd f27, 0x148(r1) -/* 802FC3A0 002F8F80 CB 41 01 40 */ lfd f26, 0x140(r1) -/* 802FC3A4 002F8F84 CB 21 01 38 */ lfd f25, 0x138(r1) -/* 802FC3A8 002F8F88 CB 01 01 30 */ lfd f24, 0x130(r1) -/* 802FC3AC 002F8F8C CA E1 01 28 */ lfd f23, 0x128(r1) -/* 802FC3B0 002F8F90 38 21 01 70 */ addi r1, r1, 0x170 -/* 802FC3B4 002F8F94 7C 08 03 A6 */ mtlr r0 -/* 802FC3B8 002F8F98 4E 80 00 20 */ blr +.fn ifMagnify_802FB8C0, global +/* 000001D8 00000218 7C 08 02 A6 */ mflr r0 +/* 000001DC 0000021C 90 01 00 04 */ stw r0, 0x4(r1) +/* 000001E0 00000220 94 21 FF 80 */ stwu r1, -0x80(r1) +/* 000001E4 00000224 DB E1 00 78 */ stfd f31, 0x78(r1) +/* 000001E8 00000228 BF 41 00 60 */ stmw r26, 0x60(r1) +/* 000001EC 0000022C 7C 9C 23 79 */ mr. r28, r4 +/* 000001F0 00000230 3B 63 00 00 */ addi r27, r3, 0x0 +/* 000001F4 00000234 40 82 02 E8 */ bne .L_000004DC +/* 000001F8 00000238 3C 60 00 00 */ lis r3, ifMagnify_804A1DE0@ha +/* 000001FC 0000023C 80 9B 00 2C */ lwz r4, 0x2c(r27) +/* 00000200 00000240 38 63 00 00 */ addi r3, r3, ifMagnify_804A1DE0@l +/* 00000204 00000244 38 03 00 14 */ addi r0, r3, 0x14 +/* 00000208 00000248 7C 00 20 50 */ subf r0, r0, r4 +/* 0000020C 0000024C 7C 1E 26 70 */ srawi r30, r0, 4 +/* 00000210 00000250 3B E4 00 00 */ addi r31, r4, 0x0 +/* 00000214 00000254 7F DE 01 94 */ addze r30, r30 +/* 00000218 00000258 3B A0 00 00 */ li r29, 0x0 +/* 0000021C 0000025C 48 00 00 01 */ bl gm_8016AE38 +/* 00000220 00000260 88 03 00 05 */ lbz r0, 0x5(r3) +/* 00000224 00000264 28 00 00 00 */ cmplwi r0, 0x0 +/* 00000228 00000268 41 82 00 1C */ beq .L_00000244 +/* 0000022C 0000026C 48 00 00 01 */ bl ifAll_802F36B0 +/* 00000230 00000270 2C 03 00 00 */ cmpwi r3, 0x0 +/* 00000234 00000274 40 82 00 10 */ bne .L_00000244 +/* 00000238 00000278 48 00 00 01 */ bl Camera_80030130 +/* 0000023C 0000027C 2C 03 00 00 */ cmpwi r3, 0x0 +/* 00000240 00000280 41 82 00 0C */ beq .L_0000024C +.L_00000244: +/* 00000244 00000284 38 00 00 00 */ li r0, 0x0 +/* 00000248 00000288 48 00 00 08 */ b .L_00000250 +.L_0000024C: +/* 0000024C 0000028C 38 00 00 01 */ li r0, 0x1 +.L_00000250: +/* 00000250 00000290 2C 00 00 00 */ cmpwi r0, 0x0 +/* 00000254 00000294 41 82 02 78 */ beq .L_000004CC +/* 00000258 00000298 88 1F 00 0C */ lbz r0, 0xc(r31) +/* 0000025C 0000029C 54 00 CF FF */ extrwi. r0, r0, 1, 24 +/* 00000260 000002A0 41 82 02 6C */ beq .L_000004CC +/* 00000264 000002A4 7F C3 F3 78 */ mr r3, r30 +/* 00000268 000002A8 48 00 00 01 */ bl Player_GetEntity +/* 0000026C 000002AC 28 03 00 00 */ cmplwi r3, 0x0 +/* 00000270 000002B0 41 82 02 5C */ beq .L_000004CC +/* 00000274 000002B4 38 81 00 40 */ addi r4, r1, 0x40 +/* 00000278 000002B8 48 00 00 01 */ bl ftLib_80086A58 +/* 0000027C 000002BC 80 01 00 44 */ lwz r0, 0x44(r1) +/* 00000280 000002C0 3C 60 43 30 */ lis r3, 0x4330 +/* 00000284 000002C4 80 81 00 40 */ lwz r4, 0x40(r1) +/* 00000288 000002C8 6C 00 80 00 */ xoris r0, r0, 0x8000 +/* 0000028C 000002CC C8 80 00 00 */ lfd f4, ifMagnify_804DDB50@sda21(r0) +/* 00000290 000002D0 90 01 00 54 */ stw r0, 0x54(r1) +/* 00000294 000002D4 6C 80 80 00 */ xoris r0, r4, 0x8000 +/* 00000298 000002D8 C0 00 00 00 */ lfs f0, ifMagnify_804DDB44@sda21(r0) +/* 0000029C 000002DC 90 01 00 5C */ stw r0, 0x5c(r1) +/* 000002A0 000002E0 C0 40 00 00 */ lfs f2, ifMagnify_804DDB40@sda21(r0) +/* 000002A4 000002E4 90 61 00 50 */ stw r3, 0x50(r1) +/* 000002A8 000002E8 90 61 00 58 */ stw r3, 0x58(r1) +/* 000002AC 000002EC C8 21 00 50 */ lfd f1, 0x50(r1) +/* 000002B0 000002F0 C8 61 00 58 */ lfd f3, 0x58(r1) +/* 000002B4 000002F4 EC 21 20 28 */ fsubs f1, f1, f4 +/* 000002B8 000002F8 EC 63 20 28 */ fsubs f3, f3, f4 +/* 000002BC 000002FC EC 01 00 28 */ fsubs f0, f1, f0 +/* 000002C0 00000300 EC 23 10 28 */ fsubs f1, f3, f2 +/* 000002C4 00000304 FC 00 00 50 */ fneg f0, f0 +/* 000002C8 00000308 D0 21 00 30 */ stfs f1, 0x30(r1) +/* 000002CC 0000030C D0 01 00 34 */ stfs f0, 0x34(r1) +/* 000002D0 00000310 C0 21 00 34 */ lfs f1, 0x34(r1) +/* 000002D4 00000314 C0 41 00 30 */ lfs f2, 0x30(r1) +/* 000002D8 00000318 48 00 00 01 */ bl atan2f +/* 000002DC 0000031C 83 5F 00 04 */ lwz r26, 0x4(r31) +/* 000002E0 00000320 FF E0 08 90 */ fmr f31, f1 +/* 000002E4 00000324 28 1A 00 00 */ cmplwi r26, 0x0 +/* 000002E8 00000328 40 82 00 14 */ bne .L_000002FC +/* 000002EC 0000032C 38 60 00 00 */ li r3, ifMagnify_804D57F0@sda21 +/* 000002F0 00000330 38 80 02 A9 */ li r4, 0x2a9 +/* 000002F4 00000334 38 A0 00 00 */ li r5, ifMagnify_804D57F8@sda21 +/* 000002F8 00000338 48 00 00 01 */ bl __assert +.L_000002FC: +/* 000002FC 0000033C 80 1A 00 14 */ lwz r0, 0x14(r26) +/* 00000300 00000340 54 00 03 9D */ rlwinm. r0, r0, 0, 14, 14 +/* 00000304 00000344 41 82 00 18 */ beq .L_0000031C +/* 00000308 00000348 3C 60 00 00 */ lis r3, ifMagnify_803F988C@ha +/* 0000030C 0000034C 38 A3 00 00 */ addi r5, r3, ifMagnify_803F988C@l +/* 00000310 00000350 38 60 00 00 */ li r3, ifMagnify_804D57F0@sda21 +/* 00000314 00000354 38 80 02 AA */ li r4, 0x2aa +/* 00000318 00000358 48 00 00 01 */ bl __assert +.L_0000031C: +/* 0000031C 0000035C D3 FA 00 24 */ stfs f31, 0x24(r26) +/* 00000320 00000360 80 1A 00 14 */ lwz r0, 0x14(r26) +/* 00000324 00000364 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 +/* 00000328 00000368 40 82 00 4C */ bne .L_00000374 +/* 0000032C 0000036C 28 1A 00 00 */ cmplwi r26, 0x0 +/* 00000330 00000370 41 82 00 44 */ beq .L_00000374 +/* 00000334 00000374 40 82 00 14 */ bne .L_00000348 +/* 00000338 00000378 38 60 00 00 */ li r3, ifMagnify_804D57F0@sda21 +/* 0000033C 0000037C 38 80 02 34 */ li r4, 0x234 +/* 00000340 00000380 38 A0 00 00 */ li r5, ifMagnify_804D57F8@sda21 +/* 00000344 00000384 48 00 00 01 */ bl __assert +.L_00000348: +/* 00000348 00000388 80 9A 00 14 */ lwz r4, 0x14(r26) +/* 0000034C 0000038C 38 60 00 00 */ li r3, 0x0 +/* 00000350 00000390 54 80 02 11 */ rlwinm. r0, r4, 0, 8, 8 +/* 00000354 00000394 40 82 00 10 */ bne .L_00000364 +/* 00000358 00000398 54 80 06 73 */ rlwinm. r0, r4, 0, 25, 25 +/* 0000035C 0000039C 41 82 00 08 */ beq .L_00000364 +/* 00000360 000003A0 38 60 00 01 */ li r3, 0x1 +.L_00000364: +/* 00000364 000003A4 2C 03 00 00 */ cmpwi r3, 0x0 +/* 00000368 000003A8 40 82 00 0C */ bne .L_00000374 +/* 0000036C 000003AC 7F 43 D3 78 */ mr r3, r26 +/* 00000370 000003B0 48 00 00 01 */ bl HSD_JObjSetMtxDirtySub +.L_00000374: +/* 00000374 000003B4 38 7F 00 00 */ addi r3, r31, 0x0 +/* 00000378 000003B8 38 81 00 30 */ addi r4, r1, 0x30 +/* 0000037C 000003BC 38 A1 00 38 */ addi r5, r1, 0x38 +/* 00000380 000003C0 48 00 00 01 */ bl ifMagnify_802FB73C +/* 00000384 000003C4 C0 20 00 00 */ lfs f1, ifMagnify_804DDB48@sda21(r0) +/* 00000388 000003C8 C0 01 00 38 */ lfs f0, 0x38(r1) +/* 0000038C 000003CC C0 40 00 00 */ lfs f2, ifMagnify_804DDB4C@sda21(r0) +/* 00000390 000003D0 EC 61 00 32 */ fmuls f3, f1, f0 +/* 00000394 000003D4 C0 21 00 3C */ lfs f1, 0x3c(r1) +/* 00000398 000003D8 C0 00 00 00 */ lfs f0, ifMagnify_804DDB08@sda21(r0) +/* 0000039C 000003DC EC 22 00 72 */ fmuls f1, f2, f1 +/* 000003A0 000003E0 D0 61 00 24 */ stfs f3, 0x24(r1) +/* 000003A4 000003E4 D0 21 00 28 */ stfs f1, 0x28(r1) +/* 000003A8 000003E8 D0 01 00 2C */ stfs f0, 0x2c(r1) +/* 000003AC 000003EC 80 7F 00 00 */ lwz r3, 0x0(r31) +/* 000003B0 000003F0 83 43 00 28 */ lwz r26, 0x28(r3) +/* 000003B4 000003F4 28 1A 00 00 */ cmplwi r26, 0x0 +/* 000003B8 000003F8 40 82 00 14 */ bne .L_000003CC +/* 000003BC 000003FC 38 60 00 00 */ li r3, ifMagnify_804D57F0@sda21 +/* 000003C0 00000400 38 80 03 94 */ li r4, 0x394 +/* 000003C4 00000404 38 A0 00 00 */ li r5, ifMagnify_804D57F8@sda21 +/* 000003C8 00000408 48 00 00 01 */ bl __assert +.L_000003CC: +/* 000003CC 0000040C 80 61 00 24 */ lwz r3, 0x24(r1) +/* 000003D0 00000410 80 01 00 28 */ lwz r0, 0x28(r1) +/* 000003D4 00000414 90 7A 00 38 */ stw r3, 0x38(r26) +/* 000003D8 00000418 90 1A 00 3C */ stw r0, 0x3c(r26) +/* 000003DC 0000041C 80 01 00 2C */ lwz r0, 0x2c(r1) +/* 000003E0 00000420 90 1A 00 40 */ stw r0, 0x40(r26) +/* 000003E4 00000424 80 1A 00 14 */ lwz r0, 0x14(r26) +/* 000003E8 00000428 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 +/* 000003EC 0000042C 40 82 00 4C */ bne .L_00000438 +/* 000003F0 00000430 28 1A 00 00 */ cmplwi r26, 0x0 +/* 000003F4 00000434 41 82 00 44 */ beq .L_00000438 +/* 000003F8 00000438 40 82 00 14 */ bne .L_0000040C +/* 000003FC 0000043C 38 60 00 00 */ li r3, ifMagnify_804D57F0@sda21 +/* 00000400 00000440 38 80 02 34 */ li r4, 0x234 +/* 00000404 00000444 38 A0 00 00 */ li r5, ifMagnify_804D57F8@sda21 +/* 00000408 00000448 48 00 00 01 */ bl __assert +.L_0000040C: +/* 0000040C 0000044C 80 9A 00 14 */ lwz r4, 0x14(r26) +/* 00000410 00000450 38 60 00 00 */ li r3, 0x0 +/* 00000414 00000454 54 80 02 11 */ rlwinm. r0, r4, 0, 8, 8 +/* 00000418 00000458 40 82 00 10 */ bne .L_00000428 +/* 0000041C 0000045C 54 80 06 73 */ rlwinm. r0, r4, 0, 25, 25 +/* 00000420 00000460 41 82 00 08 */ beq .L_00000428 +/* 00000424 00000464 38 60 00 01 */ li r3, 0x1 +.L_00000428: +/* 00000428 00000468 2C 03 00 00 */ cmpwi r3, 0x0 +/* 0000042C 0000046C 40 82 00 0C */ bne .L_00000438 +/* 00000430 00000470 7F 43 D3 78 */ mr r3, r26 +/* 00000434 00000474 48 00 00 01 */ bl HSD_JObjSetMtxDirtySub +.L_00000438: +/* 00000438 00000478 38 7B 00 00 */ addi r3, r27, 0x0 +/* 0000043C 0000047C 38 9C 00 00 */ addi r4, r28, 0x0 +/* 00000440 00000480 48 00 00 01 */ bl HSD_GObj_80391070 +/* 00000444 00000484 88 1F 00 0C */ lbz r0, 0xc(r31) +/* 00000448 00000488 54 00 06 BE */ clrlwi r0, r0, 26 +/* 0000044C 0000048C 28 00 00 04 */ cmplwi r0, 0x4 +/* 00000450 00000490 41 82 00 0C */ beq .L_0000045C +/* 00000454 00000494 28 00 00 02 */ cmplwi r0, 0x2 +/* 00000458 00000498 40 82 00 74 */ bne .L_000004CC +.L_0000045C: +/* 0000045C 0000049C 7F C3 F3 78 */ mr r3, r30 +/* 00000460 000004A0 48 00 00 01 */ bl Player_GetPlayerSlotType +/* 00000464 000004A4 54 7C 06 3E */ clrlwi r28, r3, 24 +/* 00000468 000004A8 48 00 00 01 */ bl gm_8016B168 +/* 0000046C 000004AC 54 7B 06 3E */ clrlwi r27, r3, 24 +/* 00000470 000004B0 38 7E 00 00 */ addi r3, r30, 0x0 +/* 00000474 000004B4 48 00 00 01 */ bl Player_GetTeam +/* 00000478 000004B8 54 64 06 3E */ clrlwi r4, r3, 24 +/* 0000047C 000004BC 38 BB 00 00 */ addi r5, r27, 0x0 +/* 00000480 000004C0 38 DC 00 00 */ addi r6, r28, 0x0 +/* 00000484 000004C4 57 C3 06 3E */ clrlwi r3, r30, 24 +/* 00000488 000004C8 48 00 00 01 */ bl gm_80160854 +/* 0000048C 000004CC 48 00 00 01 */ bl gm_80160968 +/* 00000490 000004D0 90 61 00 20 */ stw r3, 0x20(r1) +/* 00000494 000004D4 38 A1 00 1C */ addi r5, r1, 0x1c +/* 00000498 000004D8 80 01 00 20 */ lwz r0, 0x20(r1) +/* 0000049C 000004DC 90 01 00 1C */ stw r0, 0x1c(r1) +/* 000004A0 000004E0 88 1F 00 0C */ lbz r0, 0xc(r31) +/* 000004A4 000004E4 54 00 06 BE */ clrlwi r0, r0, 26 +/* 000004A8 000004E8 28 00 00 02 */ cmplwi r0, 0x2 +/* 000004AC 000004EC 40 82 00 0C */ bne .L_000004B8 +/* 000004B0 000004F0 38 00 00 01 */ li r0, 0x1 +/* 000004B4 000004F4 48 00 00 08 */ b .L_000004BC +.L_000004B8: +/* 000004B8 000004F8 38 00 00 02 */ li r0, 0x2 +.L_000004BC: +/* 000004BC 000004FC 57 C3 06 3E */ clrlwi r3, r30, 24 +/* 000004C0 00000500 54 04 06 3E */ clrlwi r4, r0, 24 +/* 000004C4 00000504 48 00 00 01 */ bl un_802FD928 +/* 000004C8 00000508 3B A0 00 01 */ li r29, 0x1 +.L_000004CC: +/* 000004CC 0000050C 2C 1D 00 00 */ cmpwi r29, 0x0 +/* 000004D0 00000510 40 82 00 0C */ bne .L_000004DC +/* 000004D4 00000514 57 C3 06 3E */ clrlwi r3, r30, 24 +/* 000004D8 00000518 48 00 00 01 */ bl un_802FD9D8 +.L_000004DC: +/* 000004DC 0000051C BB 41 00 60 */ lmw r26, 0x60(r1) +/* 000004E0 00000520 80 01 00 84 */ lwz r0, 0x84(r1) +/* 000004E4 00000524 CB E1 00 78 */ lfd f31, 0x78(r1) +/* 000004E8 00000528 38 21 00 80 */ addi r1, r1, 0x80 +/* 000004EC 0000052C 7C 08 03 A6 */ mtlr r0 +/* 000004F0 00000530 4E 80 00 20 */ blr +.endfn ifMagnify_802FB8C0 -.global ifMagnify_802FC3BC -ifMagnify_802FC3BC: -/* 802FC3BC 002F8F9C 4E 80 00 20 */ blr +.fn ifMagnify_802FBBDC, global +/* 000004F4 00000534 7C 08 02 A6 */ mflr r0 +/* 000004F8 00000538 3C 80 00 00 */ lis r4, ifMagnify_804A1DE0@ha +/* 000004FC 0000053C 90 01 00 04 */ stw r0, 0x4(r1) +/* 00000500 00000540 38 04 00 00 */ addi r0, r4, ifMagnify_804A1DE0@l +/* 00000504 00000544 38 80 00 00 */ li r4, 0x0 +/* 00000508 00000548 94 21 FE 90 */ stwu r1, -0x170(r1) +/* 0000050C 0000054C DB E1 01 68 */ stfd f31, 0x168(r1) +/* 00000510 00000550 DB C1 01 60 */ stfd f30, 0x160(r1) +/* 00000514 00000554 DB A1 01 58 */ stfd f29, 0x158(r1) +/* 00000518 00000558 DB 81 01 50 */ stfd f28, 0x150(r1) +/* 0000051C 0000055C DB 61 01 48 */ stfd f27, 0x148(r1) +/* 00000520 00000560 DB 41 01 40 */ stfd f26, 0x140(r1) +/* 00000524 00000564 DB 21 01 38 */ stfd f25, 0x138(r1) +/* 00000528 00000568 DB 01 01 30 */ stfd f24, 0x130(r1) +/* 0000052C 0000056C DA E1 01 28 */ stfd f23, 0x128(r1) +/* 00000530 00000570 BE C1 01 00 */ stmw r22, 0x100(r1) +/* 00000534 00000574 7C 16 03 78 */ mr r22, r0 +/* 00000538 00000578 7C 77 1B 78 */ mr r23, r3 +/* 0000053C 0000057C 88 16 00 20 */ lbz r0, 0x20(r22) +/* 00000540 00000580 50 80 3E 30 */ rlwimi r0, r4, 7, 24, 24 +/* 00000544 00000584 98 16 00 20 */ stb r0, 0x20(r22) +/* 00000548 00000588 88 16 00 30 */ lbz r0, 0x30(r22) +/* 0000054C 0000058C 50 80 3E 30 */ rlwimi r0, r4, 7, 24, 24 +/* 00000550 00000590 98 16 00 30 */ stb r0, 0x30(r22) +/* 00000554 00000594 88 16 00 40 */ lbz r0, 0x40(r22) +/* 00000558 00000598 50 80 3E 30 */ rlwimi r0, r4, 7, 24, 24 +/* 0000055C 0000059C 98 16 00 40 */ stb r0, 0x40(r22) +/* 00000560 000005A0 88 16 00 50 */ lbz r0, 0x50(r22) +/* 00000564 000005A4 50 80 3E 30 */ rlwimi r0, r4, 7, 24, 24 +/* 00000568 000005A8 98 16 00 50 */ stb r0, 0x50(r22) +/* 0000056C 000005AC 88 16 00 60 */ lbz r0, 0x60(r22) +/* 00000570 000005B0 50 80 3E 30 */ rlwimi r0, r4, 7, 24, 24 +/* 00000574 000005B4 98 16 00 60 */ stb r0, 0x60(r22) +/* 00000578 000005B8 88 16 00 70 */ lbz r0, 0x70(r22) +/* 0000057C 000005BC 50 80 3E 30 */ rlwimi r0, r4, 7, 24, 24 +/* 00000580 000005C0 98 16 00 70 */ stb r0, 0x70(r22) +/* 00000584 000005C4 48 00 00 01 */ bl gm_8016AE38 +/* 00000588 000005C8 88 03 00 05 */ lbz r0, 0x5(r3) +/* 0000058C 000005CC 28 00 00 00 */ cmplwi r0, 0x0 +/* 00000590 000005D0 41 82 00 1C */ beq .L_000005AC +/* 00000594 000005D4 48 00 00 01 */ bl ifAll_802F36B0 +/* 00000598 000005D8 2C 03 00 00 */ cmpwi r3, 0x0 +/* 0000059C 000005DC 40 82 00 10 */ bne .L_000005AC +/* 000005A0 000005E0 48 00 00 01 */ bl Camera_80030130 +/* 000005A4 000005E4 2C 03 00 00 */ cmpwi r3, 0x0 +/* 000005A8 000005E8 41 82 00 0C */ beq .L_000005B4 +.L_000005AC: +/* 000005AC 000005EC 38 00 00 00 */ li r0, 0x0 +/* 000005B0 000005F0 48 00 00 08 */ b .L_000005B8 +.L_000005B4: +/* 000005B4 000005F4 38 00 00 01 */ li r0, 0x1 +.L_000005B8: +/* 000005B8 000005F8 2C 00 00 00 */ cmpwi r0, 0x0 +/* 000005BC 000005FC 41 82 06 E0 */ beq .L_00000C9C +/* 000005C0 00000600 83 17 00 28 */ lwz r24, 0x28(r23) +/* 000005C4 00000604 38 81 00 54 */ addi r4, r1, 0x54 +/* 000005C8 00000608 38 A1 00 50 */ addi r5, r1, 0x50 +/* 000005CC 0000060C 38 78 00 00 */ addi r3, r24, 0x0 +/* 000005D0 00000610 38 C1 00 4C */ addi r6, r1, 0x4c +/* 000005D4 00000614 38 E1 00 48 */ addi r7, r1, 0x48 +/* 000005D8 00000618 48 00 00 01 */ bl HSD_CObjGetOrtho +/* 000005DC 0000061C 7F 03 C3 78 */ mr r3, r24 +/* 000005E0 00000620 48 00 00 01 */ bl HSD_CObjSetCurrent +/* 000005E4 00000624 2C 03 00 00 */ cmpwi r3, 0x0 +/* 000005E8 00000628 41 82 00 14 */ beq .L_000005FC +/* 000005EC 0000062C 38 77 00 00 */ addi r3, r23, 0x0 +/* 000005F0 00000630 38 80 00 07 */ li r4, 0x7 +/* 000005F4 00000634 48 00 00 01 */ bl HSD_GObj_80390ED0 +/* 000005F8 00000638 48 00 00 01 */ bl HSD_CObjEndCurrent +.L_000005FC: +/* 000005FC 0000063C 3C 80 00 00 */ lis r4, ifMagnify_803F984C@ha +/* 00000600 00000640 C3 C0 00 00 */ lfs f30, ifMagnify_804DDB10@sda21(r0) +/* 00000604 00000644 3C 60 00 00 */ lis r3, ifMagnify_803F9828@ha +/* 00000608 00000648 C3 A0 00 00 */ lfs f29, ifMagnify_804DDB14@sda21(r0) +/* 0000060C 0000064C CB E0 00 00 */ lfd f31, ifMagnify_804DDB20@sda21(r0) +/* 00000610 00000650 7E DA B3 78 */ mr r26, r22 +/* 00000614 00000654 C3 60 00 00 */ lfs f27, ifMagnify_804DDB58@sda21(r0) +/* 00000618 00000658 3B A4 00 00 */ addi r29, r4, ifMagnify_803F984C@l +/* 0000061C 0000065C C3 80 00 00 */ lfs f28, ifMagnify_804DDB5C@sda21(r0) +/* 00000620 00000660 3B C3 00 00 */ addi r30, r3, ifMagnify_803F9828@l +/* 00000624 00000664 3B 20 00 00 */ li r25, 0x0 +/* 00000628 00000668 3F E0 43 30 */ lis r31, 0x4330 +.L_0000062C: +/* 0000062C 0000066C 3A FA 00 14 */ addi r23, r26, 0x14 +/* 00000630 00000670 38 79 00 00 */ addi r3, r25, 0x0 +/* 00000634 00000674 48 00 00 01 */ bl Player_GetEntity +/* 00000638 00000678 88 1A 00 20 */ lbz r0, 0x20(r26) +/* 0000063C 0000067C 3A C3 00 00 */ addi r22, r3, 0x0 +/* 00000640 00000680 54 00 D7 FF */ extrwi. r0, r0, 1, 25 +/* 00000644 00000684 40 82 06 30 */ bne .L_00000C74 +/* 00000648 00000688 28 16 00 00 */ cmplwi r22, 0x0 +/* 0000064C 0000068C 41 82 06 28 */ beq .L_00000C74 +/* 00000650 00000690 7E C3 B3 78 */ mr r3, r22 +/* 00000654 00000694 48 00 00 01 */ bl ftLib_80086B64 +/* 00000658 00000698 2C 03 00 00 */ cmpwi r3, 0x0 +/* 0000065C 0000069C 41 82 06 18 */ beq .L_00000C74 +/* 00000660 000006A0 7E C3 B3 78 */ mr r3, r22 +/* 00000664 000006A4 48 00 00 01 */ bl ftLib_80086ED0 +/* 00000668 000006A8 2C 03 00 00 */ cmpwi r3, 0x0 +/* 0000066C 000006AC 41 82 06 08 */ beq .L_00000C74 +/* 00000670 000006B0 7E C3 B3 78 */ mr r3, r22 +/* 00000674 000006B4 48 00 00 01 */ bl ftLib_80086B80 +/* 00000678 000006B8 EC 81 06 F2 */ fmuls f4, f1, f27 +/* 0000067C 000006BC C0 21 00 54 */ lfs f1, 0x54(r1) +/* 00000680 000006C0 C0 41 00 50 */ lfs f2, 0x50(r1) +/* 00000684 000006C4 7F 03 C3 78 */ mr r3, r24 +/* 00000688 000006C8 C0 61 00 4C */ lfs f3, 0x4c(r1) +/* 0000068C 000006CC C0 01 00 48 */ lfs f0, 0x48(r1) +/* 00000690 000006D0 EC 21 01 32 */ fmuls f1, f1, f4 +/* 00000694 000006D4 EC 42 01 32 */ fmuls f2, f2, f4 +/* 00000698 000006D8 EC 63 01 32 */ fmuls f3, f3, f4 +/* 0000069C 000006DC EC 80 01 32 */ fmuls f4, f0, f4 +/* 000006A0 000006E0 48 00 00 01 */ bl HSD_CObjSetOrtho +/* 000006A4 000006E4 38 76 00 00 */ addi r3, r22, 0x0 +/* 000006A8 000006E8 38 81 00 3C */ addi r4, r1, 0x3c +/* 000006AC 000006EC 48 00 00 01 */ bl ftLib_80086B90 +/* 000006B0 000006F0 38 78 00 00 */ addi r3, r24, 0x0 +/* 000006B4 000006F4 38 81 00 3C */ addi r4, r1, 0x3c +/* 000006B8 000006F8 48 00 00 01 */ bl HSD_CObjSetInterest +/* 000006BC 000006FC D3 81 00 44 */ stfs f28, 0x44(r1) +/* 000006C0 00000700 38 78 00 00 */ addi r3, r24, 0x0 +/* 000006C4 00000704 38 81 00 3C */ addi r4, r1, 0x3c +/* 000006C8 00000708 48 00 00 01 */ bl HSD_CObjSetEyePosition +/* 000006CC 0000070C 7F 03 C3 78 */ mr r3, r24 +/* 000006D0 00000710 48 00 00 01 */ bl HSD_CObjSetCurrent +/* 000006D4 00000714 2C 03 00 00 */ cmpwi r3, 0x0 +/* 000006D8 00000718 41 82 05 9C */ beq .L_00000C74 +/* 000006DC 0000071C 38 79 00 00 */ addi r3, r25, 0x0 +/* 000006E0 00000720 38 81 00 1C */ addi r4, r1, 0x1c +/* 000006E4 00000724 48 00 00 01 */ bl Player_80036978 +/* 000006E8 00000728 3B 60 00 01 */ li r27, 0x1 +/* 000006EC 0000072C 48 00 00 01 */ bl Stage_GetCamBoundsLeftOffset +/* 000006F0 00000730 C0 01 00 1C */ lfs f0, 0x1c(r1) +/* 000006F4 00000734 FC 00 08 40 */ fcmpo cr0, f0, f1 +/* 000006F8 00000738 41 80 00 18 */ blt .L_00000710 +/* 000006FC 0000073C 48 00 00 01 */ bl Stage_GetCamBoundsRightOffset +/* 00000700 00000740 C0 01 00 1C */ lfs f0, 0x1c(r1) +/* 00000704 00000744 FC 00 08 40 */ fcmpo cr0, f0, f1 +/* 00000708 00000748 41 81 00 08 */ bgt .L_00000710 +/* 0000070C 0000074C 3B 60 00 00 */ li r27, 0x0 +.L_00000710: +/* 00000710 00000750 2C 1B 00 00 */ cmpwi r27, 0x0 +/* 00000714 00000754 41 82 00 0C */ beq .L_00000720 +/* 00000718 00000758 C0 00 00 00 */ lfs f0, ifMagnify_804DDB08@sda21(r0) +/* 0000071C 0000075C 48 00 00 E4 */ b .L_00000800 +.L_00000720: +/* 00000720 00000760 48 00 00 01 */ bl Stage_GetCamBoundsLeftOffset +/* 00000724 00000764 C0 01 00 1C */ lfs f0, 0x1c(r1) +/* 00000728 00000768 FC 00 08 40 */ fcmpo cr0, f0, f1 +/* 0000072C 0000076C 40 80 00 0C */ bge .L_00000738 +/* 00000730 00000770 C0 00 00 00 */ lfs f0, ifMagnify_804DDB08@sda21(r0) +/* 00000734 00000774 48 00 00 48 */ b .L_0000077C +.L_00000738: +/* 00000738 00000778 48 00 00 01 */ bl Stage_GetCamBoundsRightOffset +/* 0000073C 0000077C C0 01 00 1C */ lfs f0, 0x1c(r1) +/* 00000740 00000780 FC 00 08 40 */ fcmpo cr0, f0, f1 +/* 00000744 00000784 40 81 00 0C */ ble .L_00000750 +/* 00000748 00000788 C0 00 00 00 */ lfs f0, ifMagnify_804DDB0C@sda21(r0) +/* 0000074C 0000078C 48 00 00 30 */ b .L_0000077C +.L_00000750: +/* 00000750 00000790 48 00 00 01 */ bl Stage_GetCamBoundsRightOffset +/* 00000754 00000794 FF 00 08 90 */ fmr f24, f1 +/* 00000758 00000798 48 00 00 01 */ bl Stage_GetCamBoundsLeftOffset +/* 0000075C 0000079C EC 21 C0 2A */ fadds f1, f1, f24 +/* 00000760 000007A0 C0 01 00 1C */ lfs f0, 0x1c(r1) +/* 00000764 000007A4 EC 3E 00 72 */ fmuls f1, f30, f1 +/* 00000768 000007A8 FC 00 08 40 */ fcmpo cr0, f0, f1 +/* 0000076C 000007AC 40 80 00 0C */ bge .L_00000778 +/* 00000770 000007B0 C0 00 00 00 */ lfs f0, ifMagnify_804DDB14@sda21(r0) +/* 00000774 000007B4 48 00 00 08 */ b .L_0000077C +.L_00000778: +/* 00000778 000007B8 C0 00 00 00 */ lfs f0, ifMagnify_804DDB18@sda21(r0) +.L_0000077C: +/* 0000077C 000007BC FC 00 00 1E */ fctiwz f0, f0 +/* 00000780 000007C0 D8 01 00 F8 */ stfd f0, 0xf8(r1) +/* 00000784 000007C4 80 01 00 FC */ lwz r0, 0xfc(r1) +/* 00000788 000007C8 34 00 FF FF */ subic. r0, r0, 0x1 +/* 0000078C 000007CC 40 82 00 38 */ bne .L_000007C4 +/* 00000790 000007D0 48 00 00 01 */ bl Stage_GetCamBoundsLeftOffset +/* 00000794 000007D4 FF 20 08 90 */ fmr f25, f1 +/* 00000798 000007D8 48 00 00 01 */ bl Stage_GetCamBoundsRightOffset +/* 0000079C 000007DC FF 00 08 90 */ fmr f24, f1 +/* 000007A0 000007E0 48 00 00 01 */ bl Stage_GetCamBoundsLeftOffset +/* 000007A4 000007E4 EC 01 C0 2A */ fadds f0, f1, f24 +/* 000007A8 000007E8 EF 1E C8 38 */ fmsubs f24, f30, f0, f25 +/* 000007AC 000007EC 48 00 00 01 */ bl Stage_GetCamBoundsLeftOffset +/* 000007B0 000007F0 C0 01 00 1C */ lfs f0, 0x1c(r1) +/* 000007B4 000007F4 EC 00 08 28 */ fsubs f0, f0, f1 +/* 000007B8 000007F8 EC 00 C0 24 */ fdivs f0, f0, f24 +/* 000007BC 000007FC EC 1D 00 28 */ fsubs f0, f29, f0 +/* 000007C0 00000800 48 00 00 40 */ b .L_00000800 +.L_000007C4: +/* 000007C4 00000804 48 00 00 01 */ bl Stage_GetCamBoundsRightOffset +/* 000007C8 00000808 FF 20 08 90 */ fmr f25, f1 +/* 000007CC 0000080C 48 00 00 01 */ bl Stage_GetCamBoundsRightOffset +/* 000007D0 00000810 FF 00 08 90 */ fmr f24, f1 +/* 000007D4 00000814 48 00 00 01 */ bl Stage_GetCamBoundsLeftOffset +/* 000007D8 00000818 EC 01 C0 2A */ fadds f0, f1, f24 +/* 000007DC 0000081C EF 3E C8 3C */ fnmsubs f25, f30, f0, f25 +/* 000007E0 00000820 48 00 00 01 */ bl Stage_GetCamBoundsRightOffset +/* 000007E4 00000824 FF 00 08 90 */ fmr f24, f1 +/* 000007E8 00000828 48 00 00 01 */ bl Stage_GetCamBoundsLeftOffset +/* 000007EC 0000082C EC 21 C0 2A */ fadds f1, f1, f24 +/* 000007F0 00000830 C0 01 00 1C */ lfs f0, 0x1c(r1) +/* 000007F4 00000834 EC 1E 00 7C */ fnmsubs f0, f30, f1, f0 +/* 000007F8 00000838 EC 00 C8 24 */ fdivs f0, f0, f25 +/* 000007FC 0000083C EC 1D 00 28 */ fsubs f0, f29, f0 +.L_00000800: +/* 00000800 00000840 EF 3D 00 28 */ fsubs f25, f29, f0 +/* 00000804 00000844 3B 60 00 01 */ li r27, 0x1 +/* 00000808 00000848 48 00 00 01 */ bl Stage_GetCamBoundsTopOffset +/* 0000080C 0000084C C0 01 00 20 */ lfs f0, 0x20(r1) +/* 00000810 00000850 FC 00 08 40 */ fcmpo cr0, f0, f1 +/* 00000814 00000854 41 81 00 18 */ bgt .L_0000082C +/* 00000818 00000858 48 00 00 01 */ bl Stage_GetCamBoundsBottomOffset +/* 0000081C 0000085C C0 01 00 20 */ lfs f0, 0x20(r1) +/* 00000820 00000860 FC 00 08 40 */ fcmpo cr0, f0, f1 +/* 00000824 00000864 41 80 00 08 */ blt .L_0000082C +/* 00000828 00000868 3B 60 00 00 */ li r27, 0x0 +.L_0000082C: +/* 0000082C 0000086C 2C 1B 00 00 */ cmpwi r27, 0x0 +/* 00000830 00000870 41 82 00 0C */ beq .L_0000083C +/* 00000834 00000874 C0 00 00 00 */ lfs f0, ifMagnify_804DDB08@sda21(r0) +/* 00000838 00000878 48 00 00 E4 */ b .L_0000091C +.L_0000083C: +/* 0000083C 0000087C 48 00 00 01 */ bl Stage_GetCamBoundsTopOffset +/* 00000840 00000880 C0 01 00 20 */ lfs f0, 0x20(r1) +/* 00000844 00000884 FC 00 08 40 */ fcmpo cr0, f0, f1 +/* 00000848 00000888 40 81 00 0C */ ble .L_00000854 +/* 0000084C 0000088C C0 00 00 00 */ lfs f0, ifMagnify_804DDB08@sda21(r0) +/* 00000850 00000890 48 00 00 48 */ b .L_00000898 +.L_00000854: +/* 00000854 00000894 48 00 00 01 */ bl Stage_GetCamBoundsBottomOffset +/* 00000858 00000898 C0 01 00 20 */ lfs f0, 0x20(r1) +/* 0000085C 0000089C FC 00 08 40 */ fcmpo cr0, f0, f1 +/* 00000860 000008A0 40 80 00 0C */ bge .L_0000086C +/* 00000864 000008A4 C0 00 00 00 */ lfs f0, ifMagnify_804DDB0C@sda21(r0) +/* 00000868 000008A8 48 00 00 30 */ b .L_00000898 +.L_0000086C: +/* 0000086C 000008AC 48 00 00 01 */ bl Stage_GetCamBoundsBottomOffset +/* 00000870 000008B0 FF 00 08 90 */ fmr f24, f1 +/* 00000874 000008B4 48 00 00 01 */ bl Stage_GetCamBoundsTopOffset +/* 00000878 000008B8 EC 21 C0 2A */ fadds f1, f1, f24 +/* 0000087C 000008BC C0 01 00 20 */ lfs f0, 0x20(r1) +/* 00000880 000008C0 EC 3E 00 72 */ fmuls f1, f30, f1 +/* 00000884 000008C4 FC 00 08 40 */ fcmpo cr0, f0, f1 +/* 00000888 000008C8 40 81 00 0C */ ble .L_00000894 +/* 0000088C 000008CC C0 00 00 00 */ lfs f0, ifMagnify_804DDB14@sda21(r0) +/* 00000890 000008D0 48 00 00 08 */ b .L_00000898 +.L_00000894: +/* 00000894 000008D4 C0 00 00 00 */ lfs f0, ifMagnify_804DDB18@sda21(r0) +.L_00000898: +/* 00000898 000008D8 FC 00 00 1E */ fctiwz f0, f0 +/* 0000089C 000008DC D8 01 00 F8 */ stfd f0, 0xf8(r1) +/* 000008A0 000008E0 80 01 00 FC */ lwz r0, 0xfc(r1) +/* 000008A4 000008E4 34 00 FF FF */ subic. r0, r0, 0x1 +/* 000008A8 000008E8 40 82 00 38 */ bne .L_000008E0 +/* 000008AC 000008EC 48 00 00 01 */ bl Stage_GetCamBoundsTopOffset +/* 000008B0 000008F0 FF 40 08 90 */ fmr f26, f1 +/* 000008B4 000008F4 48 00 00 01 */ bl Stage_GetCamBoundsBottomOffset +/* 000008B8 000008F8 FF 00 08 90 */ fmr f24, f1 +/* 000008BC 000008FC 48 00 00 01 */ bl Stage_GetCamBoundsTopOffset +/* 000008C0 00000900 EC 01 C0 2A */ fadds f0, f1, f24 +/* 000008C4 00000904 EF 1E D0 3C */ fnmsubs f24, f30, f0, f26 +/* 000008C8 00000908 48 00 00 01 */ bl Stage_GetCamBoundsTopOffset +/* 000008CC 0000090C C0 01 00 20 */ lfs f0, 0x20(r1) +/* 000008D0 00000910 EC 01 00 28 */ fsubs f0, f1, f0 +/* 000008D4 00000914 EC 00 C0 24 */ fdivs f0, f0, f24 +/* 000008D8 00000918 EC 1D 00 28 */ fsubs f0, f29, f0 +/* 000008DC 0000091C 48 00 00 40 */ b .L_0000091C +.L_000008E0: +/* 000008E0 00000920 48 00 00 01 */ bl Stage_GetCamBoundsBottomOffset +/* 000008E4 00000924 FF 40 08 90 */ fmr f26, f1 +/* 000008E8 00000928 48 00 00 01 */ bl Stage_GetCamBoundsBottomOffset +/* 000008EC 0000092C FF 00 08 90 */ fmr f24, f1 +/* 000008F0 00000930 48 00 00 01 */ bl Stage_GetCamBoundsTopOffset +/* 000008F4 00000934 EC 01 C0 2A */ fadds f0, f1, f24 +/* 000008F8 00000938 EF 5E D0 38 */ fmsubs f26, f30, f0, f26 +/* 000008FC 0000093C 48 00 00 01 */ bl Stage_GetCamBoundsBottomOffset +/* 00000900 00000940 FF 00 08 90 */ fmr f24, f1 +/* 00000904 00000944 48 00 00 01 */ bl Stage_GetCamBoundsTopOffset +/* 00000908 00000948 EC 21 C0 2A */ fadds f1, f1, f24 +/* 0000090C 0000094C C0 01 00 20 */ lfs f0, 0x20(r1) +/* 00000910 00000950 EC 1E 00 78 */ fmsubs f0, f30, f1, f0 +/* 00000914 00000954 EC 00 D0 24 */ fdivs f0, f0, f26 +/* 00000918 00000958 EC 1D 00 28 */ fsubs f0, f29, f0 +.L_0000091C: +/* 0000091C 0000095C EF 5D 00 28 */ fsubs f26, f29, f0 +/* 00000920 00000960 3B 61 00 28 */ addi r27, r1, 0x28 +/* 00000924 00000964 3B 80 00 00 */ li r28, 0x0 +.L_00000928: +/* 00000928 00000968 48 00 00 01 */ bl Stage_GetCamBoundsTopOffset +/* 0000092C 0000096C C0 01 00 20 */ lfs f0, 0x20(r1) +/* 00000930 00000970 FC 00 08 40 */ fcmpo cr0, f0, f1 +/* 00000934 00000974 40 81 00 0C */ ble .L_00000940 +/* 00000938 00000978 C2 E0 00 00 */ lfs f23, ifMagnify_804DDB08@sda21(r0) +/* 0000093C 0000097C 48 00 00 48 */ b .L_00000984 +.L_00000940: +/* 00000940 00000980 48 00 00 01 */ bl Stage_GetCamBoundsBottomOffset +/* 00000944 00000984 C0 01 00 20 */ lfs f0, 0x20(r1) +/* 00000948 00000988 FC 00 08 40 */ fcmpo cr0, f0, f1 +/* 0000094C 0000098C 40 80 00 0C */ bge .L_00000958 +/* 00000950 00000990 C2 E0 00 00 */ lfs f23, ifMagnify_804DDB0C@sda21(r0) +/* 00000954 00000994 48 00 00 30 */ b .L_00000984 +.L_00000958: +/* 00000958 00000998 48 00 00 01 */ bl Stage_GetCamBoundsBottomOffset +/* 0000095C 0000099C FF 00 08 90 */ fmr f24, f1 +/* 00000960 000009A0 48 00 00 01 */ bl Stage_GetCamBoundsTopOffset +/* 00000964 000009A4 EC 21 C0 2A */ fadds f1, f1, f24 +/* 00000968 000009A8 C0 01 00 20 */ lfs f0, 0x20(r1) +/* 0000096C 000009AC EC 3E 00 72 */ fmuls f1, f30, f1 +/* 00000970 000009B0 FC 00 08 40 */ fcmpo cr0, f0, f1 +/* 00000974 000009B4 40 81 00 0C */ ble .L_00000980 +/* 00000978 000009B8 C2 E0 00 00 */ lfs f23, ifMagnify_804DDB14@sda21(r0) +/* 0000097C 000009BC 48 00 00 08 */ b .L_00000984 +.L_00000980: +/* 00000980 000009C0 C2 E0 00 00 */ lfs f23, ifMagnify_804DDB18@sda21(r0) +.L_00000984: +/* 00000984 000009C4 48 00 00 01 */ bl Stage_GetCamBoundsLeftOffset +/* 00000988 000009C8 C0 01 00 1C */ lfs f0, 0x1c(r1) +/* 0000098C 000009CC FC 00 08 40 */ fcmpo cr0, f0, f1 +/* 00000990 000009D0 40 80 00 0C */ bge .L_0000099C +/* 00000994 000009D4 C0 20 00 00 */ lfs f1, ifMagnify_804DDB08@sda21(r0) +/* 00000998 000009D8 48 00 00 48 */ b .L_000009E0 +.L_0000099C: +/* 0000099C 000009DC 48 00 00 01 */ bl Stage_GetCamBoundsRightOffset +/* 000009A0 000009E0 C0 01 00 1C */ lfs f0, 0x1c(r1) +/* 000009A4 000009E4 FC 00 08 40 */ fcmpo cr0, f0, f1 +/* 000009A8 000009E8 40 81 00 0C */ ble .L_000009B4 +/* 000009AC 000009EC C0 20 00 00 */ lfs f1, ifMagnify_804DDB0C@sda21(r0) +/* 000009B0 000009F0 48 00 00 30 */ b .L_000009E0 +.L_000009B4: +/* 000009B4 000009F4 48 00 00 01 */ bl Stage_GetCamBoundsRightOffset +/* 000009B8 000009F8 FF 00 08 90 */ fmr f24, f1 +/* 000009BC 000009FC 48 00 00 01 */ bl Stage_GetCamBoundsLeftOffset +/* 000009C0 00000A00 EC 21 C0 2A */ fadds f1, f1, f24 +/* 000009C4 00000A04 C0 01 00 1C */ lfs f0, 0x1c(r1) +/* 000009C8 00000A08 EC 3E 00 72 */ fmuls f1, f30, f1 +/* 000009CC 00000A0C FC 00 08 40 */ fcmpo cr0, f0, f1 +/* 000009D0 00000A10 40 80 00 0C */ bge .L_000009DC +/* 000009D4 00000A14 C0 20 00 00 */ lfs f1, ifMagnify_804DDB14@sda21(r0) +/* 000009D8 00000A18 48 00 00 08 */ b .L_000009E0 +.L_000009DC: +/* 000009DC 00000A1C C0 20 00 00 */ lfs f1, ifMagnify_804DDB18@sda21(r0) +.L_000009E0: +/* 000009E0 00000A20 FC 00 B8 1E */ fctiwz f0, f23 +/* 000009E4 00000A24 FC 20 08 1E */ fctiwz f1, f1 +/* 000009E8 00000A28 D8 01 00 F0 */ stfd f0, 0xf0(r1) +/* 000009EC 00000A2C D8 21 00 F8 */ stfd f1, 0xf8(r1) +/* 000009F0 00000A30 80 01 00 F4 */ lwz r0, 0xf4(r1) +/* 000009F4 00000A34 80 61 00 FC */ lwz r3, 0xfc(r1) +/* 000009F8 00000A38 54 00 10 3A */ slwi r0, r0, 2 +/* 000009FC 00000A3C 7C 03 02 14 */ add r0, r3, r0 +/* 00000A00 00000A40 54 00 10 3A */ slwi r0, r0, 2 +/* 00000A04 00000A44 7C 1D 02 14 */ add r0, r29, r0 +/* 00000A08 00000A48 7C 60 E2 14 */ add r3, r0, r28 +/* 00000A0C 00000A4C 88 03 00 00 */ lbz r0, 0x0(r3) +/* 00000A10 00000A50 54 00 10 3A */ slwi r0, r0, 2 +/* 00000A14 00000A54 7C 7E 02 14 */ add r3, r30, r0 +/* 00000A18 00000A58 81 83 00 00 */ lwz r12, 0x0(r3) +/* 00000A1C 00000A5C 7D 88 03 A6 */ mtlr r12 +/* 00000A20 00000A60 4E 80 00 21 */ blrl +/* 00000A24 00000A64 80 03 00 00 */ lwz r0, 0x0(r3) +/* 00000A28 00000A68 3B 9C 00 01 */ addi r28, r28, 0x1 +/* 00000A2C 00000A6C 2C 1C 00 04 */ cmpwi r28, 0x4 +/* 00000A30 00000A70 90 1B 00 00 */ stw r0, 0x0(r27) +/* 00000A34 00000A74 3B 7B 00 04 */ addi r27, r27, 0x4 +/* 00000A38 00000A78 41 80 FE F0 */ blt .L_00000928 +/* 00000A3C 00000A7C 88 81 00 2F */ lbz r4, 0x2f(r1) +/* 00000A40 00000A80 EC 3D D0 28 */ fsubs f1, f29, f26 +/* 00000A44 00000A84 88 61 00 2C */ lbz r3, 0x2c(r1) +/* 00000A48 00000A88 EC 5D C8 28 */ fsubs f2, f29, f25 +/* 00000A4C 00000A8C 88 01 00 2D */ lbz r0, 0x2d(r1) +/* 00000A50 00000A90 90 81 00 E4 */ stw r4, 0xe4(r1) +/* 00000A54 00000A94 88 A1 00 2B */ lbz r5, 0x2b(r1) +/* 00000A58 00000A98 EC 19 00 72 */ fmuls f0, f25, f1 +/* 00000A5C 00000A9C 90 61 00 BC */ stw r3, 0xbc(r1) +/* 00000A60 00000AA0 EC 22 00 72 */ fmuls f1, f2, f1 +/* 00000A64 00000AA4 88 61 00 28 */ lbz r3, 0x28(r1) +/* 00000A68 00000AA8 90 01 00 94 */ stw r0, 0x94(r1) +/* 00000A6C 00000AAC 88 01 00 29 */ lbz r0, 0x29(r1) +/* 00000A70 00000AB0 EC 42 06 B2 */ fmuls f2, f2, f26 +/* 00000A74 00000AB4 93 E1 00 E0 */ stw r31, 0xe0(r1) +/* 00000A78 00000AB8 EC 79 06 B2 */ fmuls f3, f25, f26 +/* 00000A7C 00000ABC 88 C1 00 33 */ lbz r6, 0x33(r1) +/* 00000A80 00000AC0 93 E1 00 B8 */ stw r31, 0xb8(r1) +/* 00000A84 00000AC4 C8 81 00 E0 */ lfd f4, 0xe0(r1) +/* 00000A88 00000AC8 93 E1 00 90 */ stw r31, 0x90(r1) +/* 00000A8C 00000ACC 88 81 00 30 */ lbz r4, 0x30(r1) +/* 00000A90 00000AD0 EC A4 F8 28 */ fsubs f5, f4, f31 +/* 00000A94 00000AD4 90 A1 00 EC */ stw r5, 0xec(r1) +/* 00000A98 00000AD8 C8 81 00 B8 */ lfd f4, 0xb8(r1) +/* 00000A9C 00000ADC 90 61 00 C4 */ stw r3, 0xc4(r1) +/* 00000AA0 00000AE0 ED 05 00 32 */ fmuls f8, f5, f0 +/* 00000AA4 00000AE4 88 61 00 31 */ lbz r3, 0x31(r1) +/* 00000AA8 00000AE8 EC A4 F8 28 */ fsubs f5, f4, f31 +/* 00000AAC 00000AEC 90 01 00 9C */ stw r0, 0x9c(r1) +/* 00000AB0 00000AF0 C8 81 00 90 */ lfd f4, 0x90(r1) +/* 00000AB4 00000AF4 93 E1 00 E8 */ stw r31, 0xe8(r1) +/* 00000AB8 00000AF8 EC C5 00 32 */ fmuls f6, f5, f0 +/* 00000ABC 00000AFC EC 84 F8 28 */ fsubs f4, f4, f31 +/* 00000AC0 00000B00 88 E1 00 37 */ lbz r7, 0x37(r1) +/* 00000AC4 00000B04 93 E1 00 C0 */ stw r31, 0xc0(r1) +/* 00000AC8 00000B08 C8 A1 00 E8 */ lfd f5, 0xe8(r1) +/* 00000ACC 00000B0C 93 E1 00 98 */ stw r31, 0x98(r1) +/* 00000AD0 00000B10 88 A1 00 34 */ lbz r5, 0x34(r1) +/* 00000AD4 00000B14 ED 25 F8 28 */ fsubs f9, f5, f31 +/* 00000AD8 00000B18 90 C1 00 FC */ stw r6, 0xfc(r1) +/* 00000ADC 00000B1C EC 84 00 32 */ fmuls f4, f4, f0 +/* 00000AE0 00000B20 C8 A1 00 C0 */ lfd f5, 0xc0(r1) +/* 00000AE4 00000B24 90 81 00 CC */ stw r4, 0xcc(r1) +/* 00000AE8 00000B28 88 01 00 35 */ lbz r0, 0x35(r1) +/* 00000AEC 00000B2C EC E5 F8 28 */ fsubs f7, f5, f31 +/* 00000AF0 00000B30 90 61 00 A4 */ stw r3, 0xa4(r1) +/* 00000AF4 00000B34 ED 09 40 7A */ fmadds f8, f9, f1, f8 +/* 00000AF8 00000B38 C8 A1 00 98 */ lfd f5, 0x98(r1) +/* 00000AFC 00000B3C 93 E1 00 F8 */ stw r31, 0xf8(r1) +/* 00000B00 00000B40 EC A5 F8 28 */ fsubs f5, f5, f31 +/* 00000B04 00000B44 93 E1 00 C8 */ stw r31, 0xc8(r1) +/* 00000B08 00000B48 EC C7 30 7A */ fmadds f6, f7, f1, f6 +/* 00000B0C 00000B4C C9 21 00 F8 */ lfd f9, 0xf8(r1) +/* 00000B10 00000B50 93 E1 00 A0 */ stw r31, 0xa0(r1) +/* 00000B14 00000B54 C8 E1 00 C8 */ lfd f7, 0xc8(r1) +/* 00000B18 00000B58 ED 29 F8 28 */ fsubs f9, f9, f31 +/* 00000B1C 00000B5C 90 E1 00 F4 */ stw r7, 0xf4(r1) +/* 00000B20 00000B60 EC 85 20 7A */ fmadds f4, f5, f1, f4 +/* 00000B24 00000B64 C8 A1 00 A0 */ lfd f5, 0xa0(r1) +/* 00000B28 00000B68 90 A1 00 D4 */ stw r5, 0xd4(r1) +/* 00000B2C 00000B6C EC E7 F8 28 */ fsubs f7, f7, f31 +/* 00000B30 00000B70 90 01 00 AC */ stw r0, 0xac(r1) +/* 00000B34 00000B74 EC A5 F8 28 */ fsubs f5, f5, f31 +/* 00000B38 00000B78 ED 09 40 BA */ fmadds f8, f9, f2, f8 +/* 00000B3C 00000B7C 93 E1 00 F0 */ stw r31, 0xf0(r1) +/* 00000B40 00000B80 EC C7 30 BA */ fmadds f6, f7, f2, f6 +/* 00000B44 00000B84 93 E1 00 D0 */ stw r31, 0xd0(r1) +/* 00000B48 00000B88 EC 85 20 BA */ fmadds f4, f5, f2, f4 +/* 00000B4C 00000B8C C8 A1 00 F0 */ lfd f5, 0xf0(r1) +/* 00000B50 00000B90 93 E1 00 A8 */ stw r31, 0xa8(r1) +/* 00000B54 00000B94 C8 E1 00 D0 */ lfd f7, 0xd0(r1) +/* 00000B58 00000B98 ED 25 F8 28 */ fsubs f9, f5, f31 +/* 00000B5C 00000B9C C8 A1 00 A8 */ lfd f5, 0xa8(r1) +/* 00000B60 00000BA0 EC E7 F8 28 */ fsubs f7, f7, f31 +/* 00000B64 00000BA4 EC A5 F8 28 */ fsubs f5, f5, f31 +/* 00000B68 00000BA8 ED 09 40 FA */ fmadds f8, f9, f3, f8 +/* 00000B6C 00000BAC EC C7 30 FA */ fmadds f6, f7, f3, f6 +/* 00000B70 00000BB0 EC 85 20 FA */ fmadds f4, f5, f3, f4 +/* 00000B74 00000BB4 FC E0 40 1E */ fctiwz f7, f8 +/* 00000B78 00000BB8 FC A0 30 1E */ fctiwz f5, f6 +/* 00000B7C 00000BBC FC 80 20 1E */ fctiwz f4, f4 +/* 00000B80 00000BC0 D8 E1 00 D8 */ stfd f7, 0xd8(r1) +/* 00000B84 00000BC4 D8 A1 00 B0 */ stfd f5, 0xb0(r1) +/* 00000B88 00000BC8 80 C1 00 DC */ lwz r6, 0xdc(r1) +/* 00000B8C 00000BCC D8 81 00 88 */ stfd f4, 0x88(r1) +/* 00000B90 00000BD0 80 61 00 B4 */ lwz r3, 0xb4(r1) +/* 00000B94 00000BD4 80 81 00 8C */ lwz r4, 0x8c(r1) +/* 00000B98 00000BD8 88 01 00 2E */ lbz r0, 0x2e(r1) +/* 00000B9C 00000BDC 88 A1 00 2A */ lbz r5, 0x2a(r1) +/* 00000BA0 00000BE0 90 01 00 6C */ stw r0, 0x6c(r1) +/* 00000BA4 00000BE4 88 01 00 32 */ lbz r0, 0x32(r1) +/* 00000BA8 00000BE8 93 E1 00 68 */ stw r31, 0x68(r1) +/* 00000BAC 00000BEC 88 E1 00 36 */ lbz r7, 0x36(r1) +/* 00000BB0 00000BF0 90 A1 00 74 */ stw r5, 0x74(r1) +/* 00000BB4 00000BF4 C8 81 00 68 */ lfd f4, 0x68(r1) +/* 00000BB8 00000BF8 93 E1 00 70 */ stw r31, 0x70(r1) +/* 00000BBC 00000BFC EC 84 F8 28 */ fsubs f4, f4, f31 +/* 00000BC0 00000C00 90 01 00 7C */ stw r0, 0x7c(r1) +/* 00000BC4 00000C04 C8 A1 00 70 */ lfd f5, 0x70(r1) +/* 00000BC8 00000C08 EC 04 00 32 */ fmuls f0, f4, f0 +/* 00000BCC 00000C0C 90 E1 00 84 */ stw r7, 0x84(r1) +/* 00000BD0 00000C10 EC 85 F8 28 */ fsubs f4, f5, f31 +/* 00000BD4 00000C14 93 E1 00 78 */ stw r31, 0x78(r1) +/* 00000BD8 00000C18 C8 A1 00 78 */ lfd f5, 0x78(r1) +/* 00000BDC 00000C1C EC 04 00 7A */ fmadds f0, f4, f1, f0 +/* 00000BE0 00000C20 93 E1 00 80 */ stw r31, 0x80(r1) +/* 00000BE4 00000C24 EC 25 F8 28 */ fsubs f1, f5, f31 +/* 00000BE8 00000C28 C8 81 00 80 */ lfd f4, 0x80(r1) +/* 00000BEC 00000C2C EC 84 F8 28 */ fsubs f4, f4, f31 +/* 00000BF0 00000C30 EC 01 00 BA */ fmadds f0, f1, f2, f0 +/* 00000BF4 00000C34 EC 04 00 FA */ fmadds f0, f4, f3, f0 +/* 00000BF8 00000C38 FC 00 00 1E */ fctiwz f0, f0 +/* 00000BFC 00000C3C D8 01 00 60 */ stfd f0, 0x60(r1) +/* 00000C00 00000C40 80 A1 00 64 */ lwz r5, 0x64(r1) +/* 00000C04 00000C44 48 00 00 01 */ bl HSD_SetEraseColor +/* 00000C08 00000C48 38 78 00 00 */ addi r3, r24, 0x0 +/* 00000C0C 00000C4C 38 80 00 01 */ li r4, 0x1 +/* 00000C10 00000C50 38 A0 00 00 */ li r5, 0x0 +/* 00000C14 00000C54 38 C0 00 01 */ li r6, 0x1 +/* 00000C18 00000C58 48 00 00 01 */ bl HSD_CObjEraseScreen +/* 00000C1C 00000C5C 92 C0 00 00 */ stw r22, HSD_GObj_804D7814@sda21(r0) +/* 00000C20 00000C60 38 76 00 00 */ addi r3, r22, 0x0 +/* 00000C24 00000C64 38 80 00 00 */ li r4, 0x0 +/* 00000C28 00000C68 48 00 00 01 */ bl ftDrawCommon_80080C28 +/* 00000C2C 00000C6C 38 76 00 00 */ addi r3, r22, 0x0 +/* 00000C30 00000C70 38 80 00 01 */ li r4, 0x1 +/* 00000C34 00000C74 48 00 00 01 */ bl ftDrawCommon_80080C28 +/* 00000C38 00000C78 38 76 00 00 */ addi r3, r22, 0x0 +/* 00000C3C 00000C7C 38 80 00 02 */ li r4, 0x2 +/* 00000C40 00000C80 48 00 00 01 */ bl ftDrawCommon_80080C28 +/* 00000C44 00000C84 38 00 00 00 */ li r0, 0x0 +/* 00000C48 00000C88 90 00 00 00 */ stw r0, HSD_GObj_804D7814@sda21(r0) +/* 00000C4C 00000C8C 38 80 00 00 */ li r4, 0x0 +/* 00000C50 00000C90 38 A0 00 00 */ li r5, 0x0 +/* 00000C54 00000C94 80 77 00 08 */ lwz r3, 0x8(r23) +/* 00000C58 00000C98 38 C0 00 01 */ li r6, 0x1 +/* 00000C5C 00000C9C 48 00 00 01 */ bl lb_800122C8 +/* 00000C60 00000CA0 48 00 00 01 */ bl HSD_CObjEndCurrent +/* 00000C64 00000CA4 88 17 00 0C */ lbz r0, 0xc(r23) +/* 00000C68 00000CA8 38 60 00 01 */ li r3, 0x1 +/* 00000C6C 00000CAC 50 60 3E 30 */ rlwimi r0, r3, 7, 24, 24 +/* 00000C70 00000CB0 98 17 00 0C */ stb r0, 0xc(r23) +.L_00000C74: +/* 00000C74 00000CB4 3B 39 00 01 */ addi r25, r25, 0x1 +/* 00000C78 00000CB8 2C 19 00 06 */ cmpwi r25, 0x6 +/* 00000C7C 00000CBC 3B 5A 00 10 */ addi r26, r26, 0x10 +/* 00000C80 00000CC0 41 80 F9 AC */ blt .L_0000062C +/* 00000C84 00000CC4 C0 21 00 54 */ lfs f1, 0x54(r1) +/* 00000C88 00000CC8 7F 03 C3 78 */ mr r3, r24 +/* 00000C8C 00000CCC C0 41 00 50 */ lfs f2, 0x50(r1) +/* 00000C90 00000CD0 C0 61 00 4C */ lfs f3, 0x4c(r1) +/* 00000C94 00000CD4 C0 81 00 48 */ lfs f4, 0x48(r1) +/* 00000C98 00000CD8 48 00 00 01 */ bl HSD_CObjSetOrtho +.L_00000C9C: +/* 00000C9C 00000CDC BA C1 01 00 */ lmw r22, 0x100(r1) +/* 00000CA0 00000CE0 80 01 01 74 */ lwz r0, 0x174(r1) +/* 00000CA4 00000CE4 CB E1 01 68 */ lfd f31, 0x168(r1) +/* 00000CA8 00000CE8 CB C1 01 60 */ lfd f30, 0x160(r1) +/* 00000CAC 00000CEC CB A1 01 58 */ lfd f29, 0x158(r1) +/* 00000CB0 00000CF0 CB 81 01 50 */ lfd f28, 0x150(r1) +/* 00000CB4 00000CF4 CB 61 01 48 */ lfd f27, 0x148(r1) +/* 00000CB8 00000CF8 CB 41 01 40 */ lfd f26, 0x140(r1) +/* 00000CBC 00000CFC CB 21 01 38 */ lfd f25, 0x138(r1) +/* 00000CC0 00000D00 CB 01 01 30 */ lfd f24, 0x130(r1) +/* 00000CC4 00000D04 CA E1 01 28 */ lfd f23, 0x128(r1) +/* 00000CC8 00000D08 38 21 01 70 */ addi r1, r1, 0x170 +/* 00000CCC 00000D0C 7C 08 03 A6 */ mtlr r0 +/* 00000CD0 00000D10 4E 80 00 20 */ blr +.endfn ifMagnify_802FBBDC -.global ifMagnify_802FC3C0 -ifMagnify_802FC3C0: -/* 802FC3C0 002F8FA0 7C 08 02 A6 */ mflr r0 -/* 802FC3C4 002F8FA4 3C 80 80 4A */ lis r4, ifMagnify_804A1DE0@ha -/* 802FC3C8 002F8FA8 90 01 00 04 */ stw r0, 4(r1) -/* 802FC3CC 002F8FAC 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 802FC3D0 002F8FB0 BF 61 00 1C */ stmw r27, 0x1c(r1) -/* 802FC3D4 002F8FB4 3B 63 00 00 */ addi r27, r3, 0 -/* 802FC3D8 002F8FB8 54 63 20 36 */ slwi r3, r3, 4 -/* 802FC3DC 002F8FBC 3B E4 1D E0 */ addi r31, r4, ifMagnify_804A1DE0@l -/* 802FC3E0 002F8FC0 38 83 00 14 */ addi r4, r3, 0x14 -/* 802FC3E4 002F8FC4 7C 9F 22 14 */ add r4, r31, r4 -/* 802FC3E8 002F8FC8 3B C4 00 00 */ addi r30, r4, 0 -/* 802FC3EC 002F8FCC 80 64 00 00 */ lwz r3, 0(r4) -/* 802FC3F0 002F8FD0 28 03 00 00 */ cmplwi r3, 0 -/* 802FC3F4 002F8FD4 41 82 00 08 */ beq .L_802FC3FC -/* 802FC3F8 002F8FD8 48 09 3E 31 */ bl HSD_GObjPLink_80390228 -.L_802FC3FC: -/* 802FC3FC 002F8FDC 38 60 00 0E */ li r3, 0xe -/* 802FC400 002F8FE0 38 80 00 0F */ li r4, 0xf -/* 802FC404 002F8FE4 38 A0 00 00 */ li r5, 0 -/* 802FC408 002F8FE8 48 09 3D E9 */ bl GObj_Create -/* 802FC40C 002F8FEC 3C 80 80 30 */ lis r4, ifMagnify_802FC3BC@ha -/* 802FC410 002F8FF0 38 A4 C3 BC */ addi r5, r4, ifMagnify_802FC3BC@l -/* 802FC414 002F8FF4 3B A3 00 00 */ addi r29, r3, 0 -/* 802FC418 002F8FF8 38 DE 00 00 */ addi r6, r30, 0 -/* 802FC41C 002F8FFC 38 80 00 0E */ li r4, 0xe -/* 802FC420 002F9000 48 09 47 49 */ bl GObj_InitUserData -/* 802FC424 002F9004 80 7F 00 00 */ lwz r3, 0(r31) -/* 802FC428 002F9008 80 63 00 00 */ lwz r3, 0(r3) -/* 802FC42C 002F900C 80 63 00 00 */ lwz r3, 0(r3) -/* 802FC430 002F9010 48 07 4A 15 */ bl HSD_JObjLoadJoint -/* 802FC434 002F9014 3B 83 00 00 */ addi r28, r3, 0 -/* 802FC438 002F9018 88 8D C1 A9 */ lbz r4, HSD_GObj_804D7849@sda21(r13) -/* 802FC43C 002F901C 38 7D 00 00 */ addi r3, r29, 0 -/* 802FC440 002F9020 38 BC 00 00 */ addi r5, r28, 0 -/* 802FC444 002F9024 48 09 46 2D */ bl HSD_GObjObjet_80390A70 -/* 802FC448 002F9028 3C 60 80 30 */ lis r3, ifMagnify_802FB8C0@ha -/* 802FC44C 002F902C 38 83 B8 C0 */ addi r4, r3, ifMagnify_802FB8C0@l -/* 802FC450 002F9030 38 7D 00 00 */ addi r3, r29, 0 -/* 802FC454 002F9034 38 A0 00 0B */ li r5, 0xb -/* 802FC458 002F9038 38 C0 00 00 */ li r6, 0 -/* 802FC45C 002F903C 48 09 42 41 */ bl GObj_SetupGXLink -/* 802FC460 002F9040 38 7C 00 00 */ addi r3, r28, 0 -/* 802FC464 002F9044 4C C6 31 82 */ crclr 6 -/* 802FC468 002F9048 38 81 00 10 */ addi r4, r1, 0x10 -/* 802FC46C 002F904C 38 A0 00 02 */ li r5, 2 -/* 802FC470 002F9050 38 C0 FF FF */ li r6, -1 -/* 802FC474 002F9054 4B D1 59 B1 */ bl lb_80011E24 -/* 802FC478 002F9058 2C 1B 00 00 */ cmpwi r27, 0 -/* 802FC47C 002F905C 40 82 00 24 */ bne .L_802FC4A0 -/* 802FC480 002F9060 80 61 00 10 */ lwz r3, 0x10(r1) -/* 802FC484 002F9064 80 63 00 18 */ lwz r3, 0x18(r3) -/* 802FC488 002F9068 80 63 00 04 */ lwz r3, 4(r3) -/* 802FC48C 002F906C 80 63 00 08 */ lwz r3, 8(r3) -/* 802FC490 002F9070 80 63 00 08 */ lwz r3, 8(r3) -/* 802FC494 002F9074 80 03 00 58 */ lwz r0, 0x58(r3) -/* 802FC498 002F9078 90 1E 00 08 */ stw r0, 8(r30) -/* 802FC49C 002F907C 48 00 00 A0 */ b .L_802FC53C -.L_802FC4A0: -/* 802FC4A0 002F9080 81 1F 00 1C */ lwz r8, 0x1c(r31) -/* 802FC4A4 002F9084 1C 1B 00 18 */ mulli r0, r27, 0x18 -/* 802FC4A8 002F9088 80 88 00 00 */ lwz r4, 0(r8) -/* 802FC4AC 002F908C 80 68 00 04 */ lwz r3, 4(r8) -/* 802FC4B0 002F9090 7C BF 02 14 */ add r5, r31, r0 -/* 802FC4B4 002F9094 38 1B FF FF */ addi r0, r27, -1 -/* 802FC4B8 002F9098 90 85 00 5C */ stw r4, 0x5c(r5) -/* 802FC4BC 002F909C 1C 00 00 18 */ mulli r0, r0, 0x18 -/* 802FC4C0 002F90A0 90 65 00 60 */ stw r3, 0x60(r5) -/* 802FC4C4 002F90A4 7C 7F 02 14 */ add r3, r31, r0 -/* 802FC4C8 002F90A8 80 88 00 08 */ lwz r4, 8(r8) -/* 802FC4CC 002F90AC 38 03 00 74 */ addi r0, r3, 0x74 -/* 802FC4D0 002F90B0 80 68 00 0C */ lwz r3, 0xc(r8) -/* 802FC4D4 002F90B4 38 C0 00 00 */ li r6, 0 -/* 802FC4D8 002F90B8 38 E0 00 00 */ li r7, 0 -/* 802FC4DC 002F90BC 90 85 00 64 */ stw r4, 0x64(r5) -/* 802FC4E0 002F90C0 90 65 00 68 */ stw r3, 0x68(r5) -/* 802FC4E4 002F90C4 80 88 00 10 */ lwz r4, 0x10(r8) -/* 802FC4E8 002F90C8 80 68 00 14 */ lwz r3, 0x14(r8) -/* 802FC4EC 002F90CC 90 85 00 6C */ stw r4, 0x6c(r5) -/* 802FC4F0 002F90D0 90 65 00 70 */ stw r3, 0x70(r5) -/* 802FC4F4 002F90D4 90 1E 00 08 */ stw r0, 8(r30) -/* 802FC4F8 002F90D8 80 BE 00 08 */ lwz r5, 8(r30) -/* 802FC4FC 002F90DC A0 65 00 04 */ lhz r3, 4(r5) -/* 802FC500 002F90E0 A0 85 00 06 */ lhz r4, 6(r5) -/* 802FC504 002F90E4 80 A5 00 08 */ lwz r5, 8(r5) -/* 802FC508 002F90E8 48 04 22 85 */ bl GXGetTexBufferSize -/* 802FC50C 002F90EC 38 03 00 1F */ addi r0, r3, 0x1f -/* 802FC510 002F90F0 54 03 00 34 */ rlwinm r3, r0, 0, 0, 0x1a -/* 802FC514 002F90F4 48 08 2C D1 */ bl HSD_MemAlloc -/* 802FC518 002F90F8 80 9E 00 08 */ lwz r4, 8(r30) -/* 802FC51C 002F90FC 90 64 00 00 */ stw r3, 0(r4) -/* 802FC520 002F9100 80 61 00 10 */ lwz r3, 0x10(r1) -/* 802FC524 002F9104 80 1E 00 08 */ lwz r0, 8(r30) -/* 802FC528 002F9108 80 63 00 18 */ lwz r3, 0x18(r3) -/* 802FC52C 002F910C 80 63 00 04 */ lwz r3, 4(r3) -/* 802FC530 002F9110 80 63 00 08 */ lwz r3, 8(r3) -/* 802FC534 002F9114 80 63 00 08 */ lwz r3, 8(r3) -/* 802FC538 002F9118 90 03 00 58 */ stw r0, 0x58(r3) -.L_802FC53C: -/* 802FC53C 002F911C 38 7C 00 00 */ addi r3, r28, 0 -/* 802FC540 002F9120 4C C6 31 82 */ crclr 6 -/* 802FC544 002F9124 38 9E 00 04 */ addi r4, r30, 4 -/* 802FC548 002F9128 38 A0 00 01 */ li r5, 1 -/* 802FC54C 002F912C 38 C0 FF FF */ li r6, -1 -/* 802FC550 002F9130 4B D1 58 D5 */ bl lb_80011E24 -/* 802FC554 002F9134 7F 63 DB 78 */ mr r3, r27 -/* 802FC558 002F9138 4B D3 5E C5 */ bl Player_GetPlayerSlotType -/* 802FC55C 002F913C 54 7F 06 3E */ clrlwi r31, r3, 0x18 -/* 802FC560 002F9140 4B E6 EC 09 */ bl gm_8016B168 -/* 802FC564 002F9144 54 7C 06 3E */ clrlwi r28, r3, 0x18 -/* 802FC568 002F9148 38 7B 00 00 */ addi r3, r27, 0 -/* 802FC56C 002F914C 4B D3 6E 05 */ bl Player_GetTeam -/* 802FC570 002F9150 54 64 06 3E */ clrlwi r4, r3, 0x18 -/* 802FC574 002F9154 38 BC 00 00 */ addi r5, r28, 0 -/* 802FC578 002F9158 38 DF 00 00 */ addi r6, r31, 0 -/* 802FC57C 002F915C 57 63 06 3E */ clrlwi r3, r27, 0x18 -/* 802FC580 002F9160 4B E6 42 D5 */ bl gm_80160854 -/* 802FC584 002F9164 4B E6 43 E5 */ bl gm_80160968 -/* 802FC588 002F9168 90 61 00 0C */ stw r3, 0xc(r1) -/* 802FC58C 002F916C 38 60 00 00 */ li r3, 0 -/* 802FC590 002F9170 80 9E 00 04 */ lwz r4, 4(r30) -/* 802FC594 002F9174 88 01 00 0C */ lbz r0, 0xc(r1) -/* 802FC598 002F9178 80 84 00 18 */ lwz r4, 0x18(r4) -/* 802FC59C 002F917C 80 E4 00 08 */ lwz r7, 8(r4) -/* 802FC5A0 002F9180 80 87 00 0C */ lwz r4, 0xc(r7) -/* 802FC5A4 002F9184 98 04 00 04 */ stb r0, 4(r4) -/* 802FC5A8 002F9188 88 A1 00 0D */ lbz r5, 0xd(r1) -/* 802FC5AC 002F918C 80 87 00 0C */ lwz r4, 0xc(r7) -/* 802FC5B0 002F9190 98 A4 00 05 */ stb r5, 5(r4) -/* 802FC5B4 002F9194 88 C1 00 0E */ lbz r6, 0xe(r1) -/* 802FC5B8 002F9198 80 87 00 0C */ lwz r4, 0xc(r7) -/* 802FC5BC 002F919C 98 C4 00 06 */ stb r6, 6(r4) -/* 802FC5C0 002F91A0 80 81 00 10 */ lwz r4, 0x10(r1) -/* 802FC5C4 002F91A4 88 01 00 0C */ lbz r0, 0xc(r1) -/* 802FC5C8 002F91A8 80 84 00 18 */ lwz r4, 0x18(r4) -/* 802FC5CC 002F91AC 80 E4 00 08 */ lwz r7, 8(r4) -/* 802FC5D0 002F91B0 80 87 00 0C */ lwz r4, 0xc(r7) -/* 802FC5D4 002F91B4 98 04 00 04 */ stb r0, 4(r4) -/* 802FC5D8 002F91B8 80 87 00 0C */ lwz r4, 0xc(r7) -/* 802FC5DC 002F91BC 98 A4 00 05 */ stb r5, 5(r4) -/* 802FC5E0 002F91C0 80 87 00 0C */ lwz r4, 0xc(r7) -/* 802FC5E4 002F91C4 98 C4 00 06 */ stb r6, 6(r4) -/* 802FC5E8 002F91C8 93 BE 00 00 */ stw r29, 0(r30) -/* 802FC5EC 002F91CC 88 1E 00 0C */ lbz r0, 0xc(r30) -/* 802FC5F0 002F91D0 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18 -/* 802FC5F4 002F91D4 98 1E 00 0C */ stb r0, 0xc(r30) -/* 802FC5F8 002F91D8 88 1E 00 0C */ lbz r0, 0xc(r30) -/* 802FC5FC 002F91DC 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19 -/* 802FC600 002F91E0 98 1E 00 0C */ stb r0, 0xc(r30) -/* 802FC604 002F91E4 80 01 00 34 */ lwz r0, 0x34(r1) -/* 802FC608 002F91E8 BB 61 00 1C */ lmw r27, 0x1c(r1) -/* 802FC60C 002F91EC 38 21 00 30 */ addi r1, r1, 0x30 -/* 802FC610 002F91F0 7C 08 03 A6 */ mtlr r0 -/* 802FC614 002F91F4 4E 80 00 20 */ blr +.fn ifMagnify_802FC3BC, global +/* 00000CD4 00000D14 4E 80 00 20 */ blr +.endfn ifMagnify_802FC3BC -.global ifMagnify_802FC618 -ifMagnify_802FC618: -/* 802FC618 002F91F8 7C 08 02 A6 */ mflr r0 -/* 802FC61C 002F91FC 3C 60 80 4A */ lis r3, ifMagnify_804A1DE0@ha -/* 802FC620 002F9200 90 01 00 04 */ stw r0, 4(r1) -/* 802FC624 002F9204 38 63 1D E0 */ addi r3, r3, ifMagnify_804A1DE0@l -/* 802FC628 002F9208 38 80 00 0F */ li r4, 0xf -/* 802FC62C 002F920C 94 21 FF C8 */ stwu r1, -0x38(r1) -/* 802FC630 002F9210 38 A0 00 00 */ li r5, 0 -/* 802FC634 002F9214 93 E1 00 34 */ stw r31, 0x34(r1) -/* 802FC638 002F9218 93 C1 00 30 */ stw r30, 0x30(r1) -/* 802FC63C 002F921C 3B C3 00 14 */ addi r30, r3, 0x14 -/* 802FC640 002F9220 38 60 00 0E */ li r3, 0xe -/* 802FC644 002F9224 93 A1 00 2C */ stw r29, 0x2c(r1) -/* 802FC648 002F9228 93 81 00 28 */ stw r28, 0x28(r1) -/* 802FC64C 002F922C 48 09 3B A5 */ bl GObj_Create -/* 802FC650 002F9230 3C 80 80 40 */ lis r4, ifMagnify_803F97E8@ha -/* 802FC654 002F9234 38 04 97 E8 */ addi r0, r4, ifMagnify_803F97E8@l -/* 802FC658 002F9238 3B A3 00 00 */ addi r29, r3, 0 -/* 802FC65C 002F923C 7C 03 03 78 */ mr r3, r0 -/* 802FC660 002F9240 4B D1 74 B5 */ bl lb_80013B14 -/* 802FC664 002F9244 3B 83 00 00 */ addi r28, r3, 0 -/* 802FC668 002F9248 88 8D C1 AB */ lbz r4, HSD_GObj_804D784B@sda21(r13) -/* 802FC66C 002F924C 38 7D 00 00 */ addi r3, r29, 0 -/* 802FC670 002F9250 38 BC 00 00 */ addi r5, r28, 0 -/* 802FC674 002F9254 48 09 43 FD */ bl HSD_GObjObjet_80390A70 -/* 802FC678 002F9258 3C 60 80 30 */ lis r3, ifMagnify_802FBBDC@ha -/* 802FC67C 002F925C 38 83 BB DC */ addi r4, r3, ifMagnify_802FBBDC@l -/* 802FC680 002F9260 38 7D 00 00 */ addi r3, r29, 0 -/* 802FC684 002F9264 38 A0 00 00 */ li r5, 0 -/* 802FC688 002F9268 48 09 40 D5 */ bl GObj_SetupGXLinkMax -/* 802FC68C 002F926C 38 00 00 10 */ li r0, 0x10 -/* 802FC690 002F9270 90 1D 00 24 */ stw r0, 0x24(r29) -/* 802FC694 002F9274 3B E0 00 00 */ li r31, 0 -/* 802FC698 002F9278 3C 80 43 30 */ lis r4, 0x4330 -/* 802FC69C 002F927C 93 FD 00 20 */ stw r31, 0x20(r29) -/* 802FC6A0 002F9280 7F 83 E3 78 */ mr r3, r28 -/* 802FC6A4 002F9284 80 DE 00 08 */ lwz r6, 8(r30) -/* 802FC6A8 002F9288 C8 42 E1 40 */ lfd f2, ifMagnify_804DDB20@sda21(r2) -/* 802FC6AC 002F928C A0 A6 00 06 */ lhz r5, 6(r6) -/* 802FC6B0 002F9290 A0 06 00 04 */ lhz r0, 4(r6) -/* 802FC6B4 002F9294 90 A1 00 24 */ stw r5, 0x24(r1) -/* 802FC6B8 002F9298 C0 62 E1 6C */ lfs f3, ifMagnify_804DDB4C@sda21(r2) -/* 802FC6BC 002F929C 90 01 00 1C */ stw r0, 0x1c(r1) -/* 802FC6C0 002F92A0 90 81 00 20 */ stw r4, 0x20(r1) -/* 802FC6C4 002F92A4 90 81 00 18 */ stw r4, 0x18(r1) -/* 802FC6C8 002F92A8 C8 21 00 20 */ lfd f1, 0x20(r1) -/* 802FC6CC 002F92AC C8 01 00 18 */ lfd f0, 0x18(r1) -/* 802FC6D0 002F92B0 EC 21 10 28 */ fsubs f1, f1, f2 -/* 802FC6D4 002F92B4 EC 00 10 28 */ fsubs f0, f0, f2 -/* 802FC6D8 002F92B8 EC 23 00 72 */ fmuls f1, f3, f1 -/* 802FC6DC 002F92BC EC 83 00 32 */ fmuls f4, f3, f0 -/* 802FC6E0 002F92C0 FC 40 08 50 */ fneg f2, f1 -/* 802FC6E4 002F92C4 FC 60 20 50 */ fneg f3, f4 -/* 802FC6E8 002F92C8 48 06 DA AD */ bl HSD_CObjSetOrtho -/* 802FC6EC 002F92CC B3 E1 00 08 */ sth r31, 8(r1) -/* 802FC6F0 002F92D0 7F 83 E3 78 */ mr r3, r28 -/* 802FC6F4 002F92D4 80 9E 00 08 */ lwz r4, 8(r30) -/* 802FC6F8 002F92D8 A8 04 00 04 */ lha r0, 4(r4) -/* 802FC6FC 002F92DC 38 81 00 08 */ addi r4, r1, 8 -/* 802FC700 002F92E0 B0 01 00 0A */ sth r0, 0xa(r1) -/* 802FC704 002F92E4 B3 E1 00 0C */ sth r31, 0xc(r1) -/* 802FC708 002F92E8 80 BE 00 08 */ lwz r5, 8(r30) -/* 802FC70C 002F92EC A8 05 00 06 */ lha r0, 6(r5) -/* 802FC710 002F92F0 B0 01 00 0E */ sth r0, 0xe(r1) -/* 802FC714 002F92F4 48 06 D9 45 */ bl HSD_CObjSetViewport -/* 802FC718 002F92F8 A0 81 00 08 */ lhz r4, 8(r1) -/* 802FC71C 002F92FC 7F 83 E3 78 */ mr r3, r28 -/* 802FC720 002F9300 A0 A1 00 0A */ lhz r5, 0xa(r1) -/* 802FC724 002F9304 A0 C1 00 0C */ lhz r6, 0xc(r1) -/* 802FC728 002F9308 A0 E1 00 0E */ lhz r7, 0xe(r1) -/* 802FC72C 002F930C 48 06 D8 E5 */ bl HSD_CObjSetScissorx4 -/* 802FC730 002F9310 80 01 00 3C */ lwz r0, 0x3c(r1) -/* 802FC734 002F9314 83 E1 00 34 */ lwz r31, 0x34(r1) -/* 802FC738 002F9318 83 C1 00 30 */ lwz r30, 0x30(r1) -/* 802FC73C 002F931C 83 A1 00 2C */ lwz r29, 0x2c(r1) -/* 802FC740 002F9320 83 81 00 28 */ lwz r28, 0x28(r1) -/* 802FC744 002F9324 38 21 00 38 */ addi r1, r1, 0x38 -/* 802FC748 002F9328 7C 08 03 A6 */ mtlr r0 -/* 802FC74C 002F932C 4E 80 00 20 */ blr +.fn ifMagnify_802FC3C0, global +/* 00000CD8 00000D18 7C 08 02 A6 */ mflr r0 +/* 00000CDC 00000D1C 3C 80 00 00 */ lis r4, ifMagnify_804A1DE0@ha +/* 00000CE0 00000D20 90 01 00 04 */ stw r0, 0x4(r1) +/* 00000CE4 00000D24 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 00000CE8 00000D28 BF 61 00 1C */ stmw r27, 0x1c(r1) +/* 00000CEC 00000D2C 3B 63 00 00 */ addi r27, r3, 0x0 +/* 00000CF0 00000D30 54 63 20 36 */ slwi r3, r3, 4 +/* 00000CF4 00000D34 3B E4 00 00 */ addi r31, r4, ifMagnify_804A1DE0@l +/* 00000CF8 00000D38 38 83 00 14 */ addi r4, r3, 0x14 +/* 00000CFC 00000D3C 7C 9F 22 14 */ add r4, r31, r4 +/* 00000D00 00000D40 3B C4 00 00 */ addi r30, r4, 0x0 +/* 00000D04 00000D44 80 64 00 00 */ lwz r3, 0x0(r4) +/* 00000D08 00000D48 28 03 00 00 */ cmplwi r3, 0x0 +/* 00000D0C 00000D4C 41 82 00 08 */ beq .L_00000D14 +/* 00000D10 00000D50 48 00 00 01 */ bl HSD_GObjPLink_80390228 +.L_00000D14: +/* 00000D14 00000D54 38 60 00 0E */ li r3, 0xe +/* 00000D18 00000D58 38 80 00 0F */ li r4, 0xf +/* 00000D1C 00000D5C 38 A0 00 00 */ li r5, 0x0 +/* 00000D20 00000D60 48 00 00 01 */ bl GObj_Create +/* 00000D24 00000D64 3C 80 00 00 */ lis r4, ifMagnify_802FC3BC@ha +/* 00000D28 00000D68 38 A4 00 00 */ addi r5, r4, ifMagnify_802FC3BC@l +/* 00000D2C 00000D6C 3B A3 00 00 */ addi r29, r3, 0x0 +/* 00000D30 00000D70 38 DE 00 00 */ addi r6, r30, 0x0 +/* 00000D34 00000D74 38 80 00 0E */ li r4, 0xe +/* 00000D38 00000D78 48 00 00 01 */ bl GObj_InitUserData +/* 00000D3C 00000D7C 80 7F 00 00 */ lwz r3, 0x0(r31) +/* 00000D40 00000D80 80 63 00 00 */ lwz r3, 0x0(r3) +/* 00000D44 00000D84 80 63 00 00 */ lwz r3, 0x0(r3) +/* 00000D48 00000D88 48 00 00 01 */ bl HSD_JObjLoadJoint +/* 00000D4C 00000D8C 3B 83 00 00 */ addi r28, r3, 0x0 +/* 00000D50 00000D90 88 80 00 00 */ lbz r4, HSD_GObj_804D7849@sda21(r0) +/* 00000D54 00000D94 38 7D 00 00 */ addi r3, r29, 0x0 +/* 00000D58 00000D98 38 BC 00 00 */ addi r5, r28, 0x0 +/* 00000D5C 00000D9C 48 00 00 01 */ bl HSD_GObjObjet_80390A70 +/* 00000D60 00000DA0 3C 60 00 00 */ lis r3, ifMagnify_802FB8C0@ha +/* 00000D64 00000DA4 38 83 00 00 */ addi r4, r3, ifMagnify_802FB8C0@l +/* 00000D68 00000DA8 38 7D 00 00 */ addi r3, r29, 0x0 +/* 00000D6C 00000DAC 38 A0 00 0B */ li r5, 0xb +/* 00000D70 00000DB0 38 C0 00 00 */ li r6, 0x0 +/* 00000D74 00000DB4 48 00 00 01 */ bl GObj_SetupGXLink +/* 00000D78 00000DB8 38 7C 00 00 */ addi r3, r28, 0x0 +/* 00000D7C 00000DBC 4C C6 31 82 */ crclr cr1eq +/* 00000D80 00000DC0 38 81 00 10 */ addi r4, r1, 0x10 +/* 00000D84 00000DC4 38 A0 00 02 */ li r5, 0x2 +/* 00000D88 00000DC8 38 C0 FF FF */ li r6, -0x1 +/* 00000D8C 00000DCC 48 00 00 01 */ bl lb_80011E24 +/* 00000D90 00000DD0 2C 1B 00 00 */ cmpwi r27, 0x0 +/* 00000D94 00000DD4 40 82 00 24 */ bne .L_00000DB8 +/* 00000D98 00000DD8 80 61 00 10 */ lwz r3, 0x10(r1) +/* 00000D9C 00000DDC 80 63 00 18 */ lwz r3, 0x18(r3) +/* 00000DA0 00000DE0 80 63 00 04 */ lwz r3, 0x4(r3) +/* 00000DA4 00000DE4 80 63 00 08 */ lwz r3, 0x8(r3) +/* 00000DA8 00000DE8 80 63 00 08 */ lwz r3, 0x8(r3) +/* 00000DAC 00000DEC 80 03 00 58 */ lwz r0, 0x58(r3) +/* 00000DB0 00000DF0 90 1E 00 08 */ stw r0, 0x8(r30) +/* 00000DB4 00000DF4 48 00 00 A0 */ b .L_00000E54 +.L_00000DB8: +/* 00000DB8 00000DF8 81 1F 00 1C */ lwz r8, 0x1c(r31) +/* 00000DBC 00000DFC 1C 1B 00 18 */ mulli r0, r27, 0x18 +/* 00000DC0 00000E00 80 88 00 00 */ lwz r4, 0x0(r8) +/* 00000DC4 00000E04 80 68 00 04 */ lwz r3, 0x4(r8) +/* 00000DC8 00000E08 7C BF 02 14 */ add r5, r31, r0 +/* 00000DCC 00000E0C 38 1B FF FF */ subi r0, r27, 0x1 +/* 00000DD0 00000E10 90 85 00 5C */ stw r4, 0x5c(r5) +/* 00000DD4 00000E14 1C 00 00 18 */ mulli r0, r0, 0x18 +/* 00000DD8 00000E18 90 65 00 60 */ stw r3, 0x60(r5) +/* 00000DDC 00000E1C 7C 7F 02 14 */ add r3, r31, r0 +/* 00000DE0 00000E20 80 88 00 08 */ lwz r4, 0x8(r8) +/* 00000DE4 00000E24 38 03 00 74 */ addi r0, r3, 0x74 +/* 00000DE8 00000E28 80 68 00 0C */ lwz r3, 0xc(r8) +/* 00000DEC 00000E2C 38 C0 00 00 */ li r6, 0x0 +/* 00000DF0 00000E30 38 E0 00 00 */ li r7, 0x0 +/* 00000DF4 00000E34 90 85 00 64 */ stw r4, 0x64(r5) +/* 00000DF8 00000E38 90 65 00 68 */ stw r3, 0x68(r5) +/* 00000DFC 00000E3C 80 88 00 10 */ lwz r4, 0x10(r8) +/* 00000E00 00000E40 80 68 00 14 */ lwz r3, 0x14(r8) +/* 00000E04 00000E44 90 85 00 6C */ stw r4, 0x6c(r5) +/* 00000E08 00000E48 90 65 00 70 */ stw r3, 0x70(r5) +/* 00000E0C 00000E4C 90 1E 00 08 */ stw r0, 0x8(r30) +/* 00000E10 00000E50 80 BE 00 08 */ lwz r5, 0x8(r30) +/* 00000E14 00000E54 A0 65 00 04 */ lhz r3, 0x4(r5) +/* 00000E18 00000E58 A0 85 00 06 */ lhz r4, 0x6(r5) +/* 00000E1C 00000E5C 80 A5 00 08 */ lwz r5, 0x8(r5) +/* 00000E20 00000E60 48 00 00 01 */ bl GXGetTexBufferSize +/* 00000E24 00000E64 38 03 00 1F */ addi r0, r3, 0x1f +/* 00000E28 00000E68 54 03 00 34 */ clrrwi r3, r0, 5 +/* 00000E2C 00000E6C 48 00 00 01 */ bl HSD_MemAlloc +/* 00000E30 00000E70 80 9E 00 08 */ lwz r4, 0x8(r30) +/* 00000E34 00000E74 90 64 00 00 */ stw r3, 0x0(r4) +/* 00000E38 00000E78 80 61 00 10 */ lwz r3, 0x10(r1) +/* 00000E3C 00000E7C 80 1E 00 08 */ lwz r0, 0x8(r30) +/* 00000E40 00000E80 80 63 00 18 */ lwz r3, 0x18(r3) +/* 00000E44 00000E84 80 63 00 04 */ lwz r3, 0x4(r3) +/* 00000E48 00000E88 80 63 00 08 */ lwz r3, 0x8(r3) +/* 00000E4C 00000E8C 80 63 00 08 */ lwz r3, 0x8(r3) +/* 00000E50 00000E90 90 03 00 58 */ stw r0, 0x58(r3) +.L_00000E54: +/* 00000E54 00000E94 38 7C 00 00 */ addi r3, r28, 0x0 +/* 00000E58 00000E98 4C C6 31 82 */ crclr cr1eq +/* 00000E5C 00000E9C 38 9E 00 04 */ addi r4, r30, 0x4 +/* 00000E60 00000EA0 38 A0 00 01 */ li r5, 0x1 +/* 00000E64 00000EA4 38 C0 FF FF */ li r6, -0x1 +/* 00000E68 00000EA8 48 00 00 01 */ bl lb_80011E24 +/* 00000E6C 00000EAC 7F 63 DB 78 */ mr r3, r27 +/* 00000E70 00000EB0 48 00 00 01 */ bl Player_GetPlayerSlotType +/* 00000E74 00000EB4 54 7F 06 3E */ clrlwi r31, r3, 24 +/* 00000E78 00000EB8 48 00 00 01 */ bl gm_8016B168 +/* 00000E7C 00000EBC 54 7C 06 3E */ clrlwi r28, r3, 24 +/* 00000E80 00000EC0 38 7B 00 00 */ addi r3, r27, 0x0 +/* 00000E84 00000EC4 48 00 00 01 */ bl Player_GetTeam +/* 00000E88 00000EC8 54 64 06 3E */ clrlwi r4, r3, 24 +/* 00000E8C 00000ECC 38 BC 00 00 */ addi r5, r28, 0x0 +/* 00000E90 00000ED0 38 DF 00 00 */ addi r6, r31, 0x0 +/* 00000E94 00000ED4 57 63 06 3E */ clrlwi r3, r27, 24 +/* 00000E98 00000ED8 48 00 00 01 */ bl gm_80160854 +/* 00000E9C 00000EDC 48 00 00 01 */ bl gm_80160968 +/* 00000EA0 00000EE0 90 61 00 0C */ stw r3, 0xc(r1) +/* 00000EA4 00000EE4 38 60 00 00 */ li r3, 0x0 +/* 00000EA8 00000EE8 80 9E 00 04 */ lwz r4, 0x4(r30) +/* 00000EAC 00000EEC 88 01 00 0C */ lbz r0, 0xc(r1) +/* 00000EB0 00000EF0 80 84 00 18 */ lwz r4, 0x18(r4) +/* 00000EB4 00000EF4 80 E4 00 08 */ lwz r7, 0x8(r4) +/* 00000EB8 00000EF8 80 87 00 0C */ lwz r4, 0xc(r7) +/* 00000EBC 00000EFC 98 04 00 04 */ stb r0, 0x4(r4) +/* 00000EC0 00000F00 88 A1 00 0D */ lbz r5, 0xd(r1) +/* 00000EC4 00000F04 80 87 00 0C */ lwz r4, 0xc(r7) +/* 00000EC8 00000F08 98 A4 00 05 */ stb r5, 0x5(r4) +/* 00000ECC 00000F0C 88 C1 00 0E */ lbz r6, 0xe(r1) +/* 00000ED0 00000F10 80 87 00 0C */ lwz r4, 0xc(r7) +/* 00000ED4 00000F14 98 C4 00 06 */ stb r6, 0x6(r4) +/* 00000ED8 00000F18 80 81 00 10 */ lwz r4, 0x10(r1) +/* 00000EDC 00000F1C 88 01 00 0C */ lbz r0, 0xc(r1) +/* 00000EE0 00000F20 80 84 00 18 */ lwz r4, 0x18(r4) +/* 00000EE4 00000F24 80 E4 00 08 */ lwz r7, 0x8(r4) +/* 00000EE8 00000F28 80 87 00 0C */ lwz r4, 0xc(r7) +/* 00000EEC 00000F2C 98 04 00 04 */ stb r0, 0x4(r4) +/* 00000EF0 00000F30 80 87 00 0C */ lwz r4, 0xc(r7) +/* 00000EF4 00000F34 98 A4 00 05 */ stb r5, 0x5(r4) +/* 00000EF8 00000F38 80 87 00 0C */ lwz r4, 0xc(r7) +/* 00000EFC 00000F3C 98 C4 00 06 */ stb r6, 0x6(r4) +/* 00000F00 00000F40 93 BE 00 00 */ stw r29, 0x0(r30) +/* 00000F04 00000F44 88 1E 00 0C */ lbz r0, 0xc(r30) +/* 00000F08 00000F48 50 60 3E 30 */ rlwimi r0, r3, 7, 24, 24 +/* 00000F0C 00000F4C 98 1E 00 0C */ stb r0, 0xc(r30) +/* 00000F10 00000F50 88 1E 00 0C */ lbz r0, 0xc(r30) +/* 00000F14 00000F54 50 60 36 72 */ rlwimi r0, r3, 6, 25, 25 +/* 00000F18 00000F58 98 1E 00 0C */ stb r0, 0xc(r30) +/* 00000F1C 00000F5C 80 01 00 34 */ lwz r0, 0x34(r1) +/* 00000F20 00000F60 BB 61 00 1C */ lmw r27, 0x1c(r1) +/* 00000F24 00000F64 38 21 00 30 */ addi r1, r1, 0x30 +/* 00000F28 00000F68 7C 08 03 A6 */ mtlr r0 +/* 00000F2C 00000F6C 4E 80 00 20 */ blr +.endfn ifMagnify_802FC3C0 -.global ifMagnify_802FC750 -ifMagnify_802FC750: -/* 802FC750 002F9330 7C 08 02 A6 */ mflr r0 -/* 802FC754 002F9334 3C 60 80 4A */ lis r3, ifMagnify_804A1DE0@ha -/* 802FC758 002F9338 90 01 00 04 */ stw r0, 4(r1) -/* 802FC75C 002F933C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802FC760 002F9340 BF 41 00 08 */ stmw r26, 8(r1) -/* 802FC764 002F9344 3B C3 1D E0 */ addi r30, r3, ifMagnify_804A1DE0@l -/* 802FC768 002F9348 3B 40 00 00 */ li r26, 0 -/* 802FC76C 002F934C 3B BE 00 00 */ addi r29, r30, 0 -/* 802FC770 002F9350 57 5C 20 36 */ slwi r28, r26, 4 -/* 802FC774 002F9354 3B E0 00 00 */ li r31, 0 -.L_802FC778: -/* 802FC778 002F9358 80 1D 00 14 */ lwz r0, 0x14(r29) -/* 802FC77C 002F935C 28 00 00 00 */ cmplwi r0, 0 -/* 802FC780 002F9360 41 82 00 18 */ beq .L_802FC798 -/* 802FC784 002F9364 3B 7C 00 14 */ addi r27, r28, 0x14 -/* 802FC788 002F9368 7F 7E DA 14 */ add r27, r30, r27 -/* 802FC78C 002F936C 80 7B 00 00 */ lwz r3, 0(r27) -/* 802FC790 002F9370 48 09 3A 99 */ bl HSD_GObjPLink_80390228 -/* 802FC794 002F9374 93 FB 00 00 */ stw r31, 0(r27) -.L_802FC798: -/* 802FC798 002F9378 3B 5A 00 01 */ addi r26, r26, 1 -/* 802FC79C 002F937C 2C 1A 00 06 */ cmpwi r26, 6 -/* 802FC7A0 002F9380 3B BD 00 10 */ addi r29, r29, 0x10 -/* 802FC7A4 002F9384 3B 9C 00 10 */ addi r28, r28, 0x10 -/* 802FC7A8 002F9388 41 80 FF D0 */ blt .L_802FC778 -/* 802FC7AC 002F938C BB 41 00 08 */ lmw r26, 8(r1) -/* 802FC7B0 002F9390 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802FC7B4 002F9394 38 21 00 20 */ addi r1, r1, 0x20 -/* 802FC7B8 002F9398 7C 08 03 A6 */ mtlr r0 -/* 802FC7BC 002F939C 4E 80 00 20 */ blr +.fn ifMagnify_802FC618, global +/* 00000F30 00000F70 7C 08 02 A6 */ mflr r0 +/* 00000F34 00000F74 3C 60 00 00 */ lis r3, ifMagnify_804A1DE0@ha +/* 00000F38 00000F78 90 01 00 04 */ stw r0, 0x4(r1) +/* 00000F3C 00000F7C 38 63 00 00 */ addi r3, r3, ifMagnify_804A1DE0@l +/* 00000F40 00000F80 38 80 00 0F */ li r4, 0xf +/* 00000F44 00000F84 94 21 FF C8 */ stwu r1, -0x38(r1) +/* 00000F48 00000F88 38 A0 00 00 */ li r5, 0x0 +/* 00000F4C 00000F8C 93 E1 00 34 */ stw r31, 0x34(r1) +/* 00000F50 00000F90 93 C1 00 30 */ stw r30, 0x30(r1) +/* 00000F54 00000F94 3B C3 00 14 */ addi r30, r3, 0x14 +/* 00000F58 00000F98 38 60 00 0E */ li r3, 0xe +/* 00000F5C 00000F9C 93 A1 00 2C */ stw r29, 0x2c(r1) +/* 00000F60 00000FA0 93 81 00 28 */ stw r28, 0x28(r1) +/* 00000F64 00000FA4 48 00 00 01 */ bl GObj_Create +/* 00000F68 00000FA8 3C 80 00 00 */ lis r4, ifMagnify_803F97E8@ha +/* 00000F6C 00000FAC 38 04 00 00 */ addi r0, r4, ifMagnify_803F97E8@l +/* 00000F70 00000FB0 3B A3 00 00 */ addi r29, r3, 0x0 +/* 00000F74 00000FB4 7C 03 03 78 */ mr r3, r0 +/* 00000F78 00000FB8 48 00 00 01 */ bl lb_80013B14 +/* 00000F7C 00000FBC 3B 83 00 00 */ addi r28, r3, 0x0 +/* 00000F80 00000FC0 88 80 00 00 */ lbz r4, HSD_GObj_804D784B@sda21(r0) +/* 00000F84 00000FC4 38 7D 00 00 */ addi r3, r29, 0x0 +/* 00000F88 00000FC8 38 BC 00 00 */ addi r5, r28, 0x0 +/* 00000F8C 00000FCC 48 00 00 01 */ bl HSD_GObjObjet_80390A70 +/* 00000F90 00000FD0 3C 60 00 00 */ lis r3, ifMagnify_802FBBDC@ha +/* 00000F94 00000FD4 38 83 00 00 */ addi r4, r3, ifMagnify_802FBBDC@l +/* 00000F98 00000FD8 38 7D 00 00 */ addi r3, r29, 0x0 +/* 00000F9C 00000FDC 38 A0 00 00 */ li r5, 0x0 +/* 00000FA0 00000FE0 48 00 00 01 */ bl GObj_SetupGXLinkMax +/* 00000FA4 00000FE4 38 00 00 10 */ li r0, 0x10 +/* 00000FA8 00000FE8 90 1D 00 24 */ stw r0, 0x24(r29) +/* 00000FAC 00000FEC 3B E0 00 00 */ li r31, 0x0 +/* 00000FB0 00000FF0 3C 80 43 30 */ lis r4, 0x4330 +/* 00000FB4 00000FF4 93 FD 00 20 */ stw r31, 0x20(r29) +/* 00000FB8 00000FF8 7F 83 E3 78 */ mr r3, r28 +/* 00000FBC 00000FFC 80 DE 00 08 */ lwz r6, 0x8(r30) +/* 00000FC0 00001000 C8 40 00 00 */ lfd f2, ifMagnify_804DDB20@sda21(r0) +/* 00000FC4 00001004 A0 A6 00 06 */ lhz r5, 0x6(r6) +/* 00000FC8 00001008 A0 06 00 04 */ lhz r0, 0x4(r6) +/* 00000FCC 0000100C 90 A1 00 24 */ stw r5, 0x24(r1) +/* 00000FD0 00001010 C0 60 00 00 */ lfs f3, ifMagnify_804DDB4C@sda21(r0) +/* 00000FD4 00001014 90 01 00 1C */ stw r0, 0x1c(r1) +/* 00000FD8 00001018 90 81 00 20 */ stw r4, 0x20(r1) +/* 00000FDC 0000101C 90 81 00 18 */ stw r4, 0x18(r1) +/* 00000FE0 00001020 C8 21 00 20 */ lfd f1, 0x20(r1) +/* 00000FE4 00001024 C8 01 00 18 */ lfd f0, 0x18(r1) +/* 00000FE8 00001028 EC 21 10 28 */ fsubs f1, f1, f2 +/* 00000FEC 0000102C EC 00 10 28 */ fsubs f0, f0, f2 +/* 00000FF0 00001030 EC 23 00 72 */ fmuls f1, f3, f1 +/* 00000FF4 00001034 EC 83 00 32 */ fmuls f4, f3, f0 +/* 00000FF8 00001038 FC 40 08 50 */ fneg f2, f1 +/* 00000FFC 0000103C FC 60 20 50 */ fneg f3, f4 +/* 00001000 00001040 48 00 00 01 */ bl HSD_CObjSetOrtho +/* 00001004 00001044 B3 E1 00 08 */ sth r31, 0x8(r1) +/* 00001008 00001048 7F 83 E3 78 */ mr r3, r28 +/* 0000100C 0000104C 80 9E 00 08 */ lwz r4, 0x8(r30) +/* 00001010 00001050 A8 04 00 04 */ lha r0, 0x4(r4) +/* 00001014 00001054 38 81 00 08 */ addi r4, r1, 0x8 +/* 00001018 00001058 B0 01 00 0A */ sth r0, 0xa(r1) +/* 0000101C 0000105C B3 E1 00 0C */ sth r31, 0xc(r1) +/* 00001020 00001060 80 BE 00 08 */ lwz r5, 0x8(r30) +/* 00001024 00001064 A8 05 00 06 */ lha r0, 0x6(r5) +/* 00001028 00001068 B0 01 00 0E */ sth r0, 0xe(r1) +/* 0000102C 0000106C 48 00 00 01 */ bl HSD_CObjSetViewport +/* 00001030 00001070 A0 81 00 08 */ lhz r4, 0x8(r1) +/* 00001034 00001074 7F 83 E3 78 */ mr r3, r28 +/* 00001038 00001078 A0 A1 00 0A */ lhz r5, 0xa(r1) +/* 0000103C 0000107C A0 C1 00 0C */ lhz r6, 0xc(r1) +/* 00001040 00001080 A0 E1 00 0E */ lhz r7, 0xe(r1) +/* 00001044 00001084 48 00 00 01 */ bl HSD_CObjSetScissorx4 +/* 00001048 00001088 80 01 00 3C */ lwz r0, 0x3c(r1) +/* 0000104C 0000108C 83 E1 00 34 */ lwz r31, 0x34(r1) +/* 00001050 00001090 83 C1 00 30 */ lwz r30, 0x30(r1) +/* 00001054 00001094 83 A1 00 2C */ lwz r29, 0x2c(r1) +/* 00001058 00001098 83 81 00 28 */ lwz r28, 0x28(r1) +/* 0000105C 0000109C 38 21 00 38 */ addi r1, r1, 0x38 +/* 00001060 000010A0 7C 08 03 A6 */ mtlr r0 +/* 00001064 000010A4 4E 80 00 20 */ blr +.endfn ifMagnify_802FC618 -.global ifMagnify_802FC7C0 -ifMagnify_802FC7C0: -/* 802FC7C0 002F93A0 7C 08 02 A6 */ mflr r0 -/* 802FC7C4 002F93A4 90 01 00 04 */ stw r0, 4(r1) -/* 802FC7C8 002F93A8 94 21 FF E8 */ stwu r1, -0x18(r1) -/* 802FC7CC 002F93AC 93 E1 00 14 */ stw r31, 0x14(r1) -/* 802FC7D0 002F93B0 7C 7F 1B 78 */ mr r31, r3 -/* 802FC7D4 002F93B4 80 02 E1 80 */ lwz r0, ifMagnify_804DDB60@sda21(r2) -/* 802FC7D8 002F93B8 90 01 00 0C */ stw r0, 0xc(r1) -/* 802FC7DC 002F93BC 4B EC 3E 29 */ bl Ground_801C0604 -/* 802FC7E0 002F93C0 28 03 00 00 */ cmplwi r3, 0 -/* 802FC7E4 002F93C4 41 82 00 10 */ beq .L_802FC7F4 -/* 802FC7E8 002F93C8 80 03 00 00 */ lwz r0, 0(r3) -/* 802FC7EC 002F93CC 90 1F 00 04 */ stw r0, 4(r31) -/* 802FC7F0 002F93D0 48 00 00 0C */ b .L_802FC7FC -.L_802FC7F4: -/* 802FC7F4 002F93D4 80 01 00 0C */ lwz r0, 0xc(r1) -/* 802FC7F8 002F93D8 90 1F 00 04 */ stw r0, 4(r31) -.L_802FC7FC: -/* 802FC7FC 002F93DC 4B EC 3E 1D */ bl Ground_801C0618 -/* 802FC800 002F93E0 28 03 00 00 */ cmplwi r3, 0 -/* 802FC804 002F93E4 41 82 00 10 */ beq .L_802FC814 -/* 802FC808 002F93E8 80 03 00 00 */ lwz r0, 0(r3) -/* 802FC80C 002F93EC 90 1F 00 08 */ stw r0, 8(r31) -/* 802FC810 002F93F0 48 00 00 0C */ b .L_802FC81C -.L_802FC814: -/* 802FC814 002F93F4 80 01 00 0C */ lwz r0, 0xc(r1) -/* 802FC818 002F93F8 90 1F 00 08 */ stw r0, 8(r31) -.L_802FC81C: -/* 802FC81C 002F93FC 4B EC 3E 11 */ bl Ground_801C062C -/* 802FC820 002F9400 28 03 00 00 */ cmplwi r3, 0 -/* 802FC824 002F9404 41 82 00 10 */ beq .L_802FC834 -/* 802FC828 002F9408 80 03 00 00 */ lwz r0, 0(r3) -/* 802FC82C 002F940C 90 1F 00 0C */ stw r0, 0xc(r31) -/* 802FC830 002F9410 48 00 00 0C */ b .L_802FC83C -.L_802FC834: -/* 802FC834 002F9414 80 01 00 0C */ lwz r0, 0xc(r1) -/* 802FC838 002F9418 90 1F 00 0C */ stw r0, 0xc(r31) -.L_802FC83C: -/* 802FC83C 002F941C 4B EC 3E 05 */ bl Ground_801C0640 -/* 802FC840 002F9420 28 03 00 00 */ cmplwi r3, 0 -/* 802FC844 002F9424 41 82 00 10 */ beq .L_802FC854 -/* 802FC848 002F9428 80 03 00 00 */ lwz r0, 0(r3) -/* 802FC84C 002F942C 90 1F 00 10 */ stw r0, 0x10(r31) -/* 802FC850 002F9430 48 00 00 0C */ b .L_802FC85C -.L_802FC854: -/* 802FC854 002F9434 80 01 00 0C */ lwz r0, 0xc(r1) -/* 802FC858 002F9438 90 1F 00 10 */ stw r0, 0x10(r31) -.L_802FC85C: -/* 802FC85C 002F943C 80 01 00 1C */ lwz r0, 0x1c(r1) -/* 802FC860 002F9440 83 E1 00 14 */ lwz r31, 0x14(r1) -/* 802FC864 002F9444 38 21 00 18 */ addi r1, r1, 0x18 -/* 802FC868 002F9448 7C 08 03 A6 */ mtlr r0 -/* 802FC86C 002F944C 4E 80 00 20 */ blr +.fn ifMagnify_802FC750, global +/* 00001068 000010A8 7C 08 02 A6 */ mflr r0 +/* 0000106C 000010AC 3C 60 00 00 */ lis r3, ifMagnify_804A1DE0@ha +/* 00001070 000010B0 90 01 00 04 */ stw r0, 0x4(r1) +/* 00001074 000010B4 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 00001078 000010B8 BF 41 00 08 */ stmw r26, 0x8(r1) +/* 0000107C 000010BC 3B C3 00 00 */ addi r30, r3, ifMagnify_804A1DE0@l +/* 00001080 000010C0 3B 40 00 00 */ li r26, 0x0 +/* 00001084 000010C4 3B BE 00 00 */ addi r29, r30, 0x0 +/* 00001088 000010C8 57 5C 20 36 */ slwi r28, r26, 4 +/* 0000108C 000010CC 3B E0 00 00 */ li r31, 0x0 +.L_00001090: +/* 00001090 000010D0 80 1D 00 14 */ lwz r0, 0x14(r29) +/* 00001094 000010D4 28 00 00 00 */ cmplwi r0, 0x0 +/* 00001098 000010D8 41 82 00 18 */ beq .L_000010B0 +/* 0000109C 000010DC 3B 7C 00 14 */ addi r27, r28, 0x14 +/* 000010A0 000010E0 7F 7E DA 14 */ add r27, r30, r27 +/* 000010A4 000010E4 80 7B 00 00 */ lwz r3, 0x0(r27) +/* 000010A8 000010E8 48 00 00 01 */ bl HSD_GObjPLink_80390228 +/* 000010AC 000010EC 93 FB 00 00 */ stw r31, 0x0(r27) +.L_000010B0: +/* 000010B0 000010F0 3B 5A 00 01 */ addi r26, r26, 0x1 +/* 000010B4 000010F4 2C 1A 00 06 */ cmpwi r26, 0x6 +/* 000010B8 000010F8 3B BD 00 10 */ addi r29, r29, 0x10 +/* 000010BC 000010FC 3B 9C 00 10 */ addi r28, r28, 0x10 +/* 000010C0 00001100 41 80 FF D0 */ blt .L_00001090 +/* 000010C4 00001104 BB 41 00 08 */ lmw r26, 0x8(r1) +/* 000010C8 00001108 80 01 00 24 */ lwz r0, 0x24(r1) +/* 000010CC 0000110C 38 21 00 20 */ addi r1, r1, 0x20 +/* 000010D0 00001110 7C 08 03 A6 */ mtlr r0 +/* 000010D4 00001114 4E 80 00 20 */ blr +.endfn ifMagnify_802FC750 -.global ifMagnify_802FC870 -ifMagnify_802FC870: -/* 802FC870 002F9450 7C 08 02 A6 */ mflr r0 -/* 802FC874 002F9454 3C 60 80 4A */ lis r3, ifMagnify_804A1DE0@ha -/* 802FC878 002F9458 90 01 00 04 */ stw r0, 4(r1) -/* 802FC87C 002F945C 38 80 00 74 */ li r4, 0x74 -/* 802FC880 002F9460 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802FC884 002F9464 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802FC888 002F9468 3B E3 1D E0 */ addi r31, r3, ifMagnify_804A1DE0@l -/* 802FC88C 002F946C 38 7F 00 00 */ addi r3, r31, 0 -/* 802FC890 002F9470 4B D0 F8 D1 */ bl lb_8000C160 -/* 802FC894 002F9474 7F E3 FB 78 */ mr r3, r31 -/* 802FC898 002F9478 4B FF FF 29 */ bl ifMagnify_802FC7C0 -/* 802FC89C 002F947C 4B FF 6D F5 */ bl ifAll_802F3690 -/* 802FC8A0 002F9480 80 63 00 00 */ lwz r3, 0(r3) -/* 802FC8A4 002F9484 38 9F 00 00 */ addi r4, r31, 0 -/* 802FC8A8 002F9488 4C C6 31 82 */ crclr 6 -/* 802FC8AC 002F948C 38 AD A1 48 */ addi r5, r13, ifMagnify_804D57E8@sda21 -/* 802FC8B0 002F9490 38 C0 00 00 */ li r6, 0 -/* 802FC8B4 002F9494 4B D1 A2 3D */ bl lbArchive_80016AF0 -/* 802FC8B8 002F9498 3B E0 00 00 */ li r31, 0 -.L_802FC8BC: -/* 802FC8BC 002F949C 7F E3 FB 78 */ mr r3, r31 -/* 802FC8C0 002F94A0 4B FF FB 01 */ bl ifMagnify_802FC3C0 -/* 802FC8C4 002F94A4 3B FF 00 01 */ addi r31, r31, 1 -/* 802FC8C8 002F94A8 2C 1F 00 06 */ cmpwi r31, 6 -/* 802FC8CC 002F94AC 41 80 FF F0 */ blt .L_802FC8BC -/* 802FC8D0 002F94B0 4B FF FD 49 */ bl ifMagnify_802FC618 -/* 802FC8D4 002F94B4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802FC8D8 002F94B8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802FC8DC 002F94BC 38 21 00 10 */ addi r1, r1, 0x10 -/* 802FC8E0 002F94C0 7C 08 03 A6 */ mtlr r0 -/* 802FC8E4 002F94C4 4E 80 00 20 */ blr +.fn ifMagnify_802FC7C0, global +/* 000010D8 00001118 7C 08 02 A6 */ mflr r0 +/* 000010DC 0000111C 90 01 00 04 */ stw r0, 0x4(r1) +/* 000010E0 00001120 94 21 FF E8 */ stwu r1, -0x18(r1) +/* 000010E4 00001124 93 E1 00 14 */ stw r31, 0x14(r1) +/* 000010E8 00001128 7C 7F 1B 78 */ mr r31, r3 +/* 000010EC 0000112C 80 00 00 00 */ lwz r0, ifMagnify_804DDB60@sda21(r0) +/* 000010F0 00001130 90 01 00 0C */ stw r0, 0xc(r1) +/* 000010F4 00001134 48 00 00 01 */ bl Ground_801C0604 +/* 000010F8 00001138 28 03 00 00 */ cmplwi r3, 0x0 +/* 000010FC 0000113C 41 82 00 10 */ beq .L_0000110C +/* 00001100 00001140 80 03 00 00 */ lwz r0, 0x0(r3) +/* 00001104 00001144 90 1F 00 04 */ stw r0, 0x4(r31) +/* 00001108 00001148 48 00 00 0C */ b .L_00001114 +.L_0000110C: +/* 0000110C 0000114C 80 01 00 0C */ lwz r0, 0xc(r1) +/* 00001110 00001150 90 1F 00 04 */ stw r0, 0x4(r31) +.L_00001114: +/* 00001114 00001154 48 00 00 01 */ bl Ground_801C0618 +/* 00001118 00001158 28 03 00 00 */ cmplwi r3, 0x0 +/* 0000111C 0000115C 41 82 00 10 */ beq .L_0000112C +/* 00001120 00001160 80 03 00 00 */ lwz r0, 0x0(r3) +/* 00001124 00001164 90 1F 00 08 */ stw r0, 0x8(r31) +/* 00001128 00001168 48 00 00 0C */ b .L_00001134 +.L_0000112C: +/* 0000112C 0000116C 80 01 00 0C */ lwz r0, 0xc(r1) +/* 00001130 00001170 90 1F 00 08 */ stw r0, 0x8(r31) +.L_00001134: +/* 00001134 00001174 48 00 00 01 */ bl Ground_801C062C +/* 00001138 00001178 28 03 00 00 */ cmplwi r3, 0x0 +/* 0000113C 0000117C 41 82 00 10 */ beq .L_0000114C +/* 00001140 00001180 80 03 00 00 */ lwz r0, 0x0(r3) +/* 00001144 00001184 90 1F 00 0C */ stw r0, 0xc(r31) +/* 00001148 00001188 48 00 00 0C */ b .L_00001154 +.L_0000114C: +/* 0000114C 0000118C 80 01 00 0C */ lwz r0, 0xc(r1) +/* 00001150 00001190 90 1F 00 0C */ stw r0, 0xc(r31) +.L_00001154: +/* 00001154 00001194 48 00 00 01 */ bl Ground_801C0640 +/* 00001158 00001198 28 03 00 00 */ cmplwi r3, 0x0 +/* 0000115C 0000119C 41 82 00 10 */ beq .L_0000116C +/* 00001160 000011A0 80 03 00 00 */ lwz r0, 0x0(r3) +/* 00001164 000011A4 90 1F 00 10 */ stw r0, 0x10(r31) +/* 00001168 000011A8 48 00 00 0C */ b .L_00001174 +.L_0000116C: +/* 0000116C 000011AC 80 01 00 0C */ lwz r0, 0xc(r1) +/* 00001170 000011B0 90 1F 00 10 */ stw r0, 0x10(r31) +.L_00001174: +/* 00001174 000011B4 80 01 00 1C */ lwz r0, 0x1c(r1) +/* 00001178 000011B8 83 E1 00 14 */ lwz r31, 0x14(r1) +/* 0000117C 000011BC 38 21 00 18 */ addi r1, r1, 0x18 +/* 00001180 000011C0 7C 08 03 A6 */ mtlr r0 +/* 00001184 000011C4 4E 80 00 20 */ blr +.endfn ifMagnify_802FC7C0 -.global ifMagnify_802FC8E8 -ifMagnify_802FC8E8: -/* 802FC8E8 002F94C8 3C 60 80 4A */ lis r3, ifMagnify_804A1DE0@ha -/* 802FC8EC 002F94CC 38 83 1D E0 */ addi r4, r3, ifMagnify_804A1DE0@l -/* 802FC8F0 002F94D0 88 04 00 20 */ lbz r0, 0x20(r4) -/* 802FC8F4 002F94D4 38 60 00 01 */ li r3, 1 -/* 802FC8F8 002F94D8 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19 -/* 802FC8FC 002F94DC 98 04 00 20 */ stb r0, 0x20(r4) -/* 802FC900 002F94E0 88 04 00 30 */ lbz r0, 0x30(r4) -/* 802FC904 002F94E4 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19 -/* 802FC908 002F94E8 98 04 00 30 */ stb r0, 0x30(r4) -/* 802FC90C 002F94EC 88 04 00 40 */ lbz r0, 0x40(r4) -/* 802FC910 002F94F0 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19 -/* 802FC914 002F94F4 98 04 00 40 */ stb r0, 0x40(r4) -/* 802FC918 002F94F8 88 04 00 50 */ lbz r0, 0x50(r4) -/* 802FC91C 002F94FC 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19 -/* 802FC920 002F9500 98 04 00 50 */ stb r0, 0x50(r4) -/* 802FC924 002F9504 88 04 00 60 */ lbz r0, 0x60(r4) -/* 802FC928 002F9508 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19 -/* 802FC92C 002F950C 98 04 00 60 */ stb r0, 0x60(r4) -/* 802FC930 002F9510 88 04 00 70 */ lbz r0, 0x70(r4) -/* 802FC934 002F9514 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19 -/* 802FC938 002F9518 98 04 00 70 */ stb r0, 0x70(r4) -/* 802FC93C 002F951C 4E 80 00 20 */ blr +.fn ifMagnify_802FC870, global +/* 00001188 000011C8 7C 08 02 A6 */ mflr r0 +/* 0000118C 000011CC 3C 60 00 00 */ lis r3, ifMagnify_804A1DE0@ha +/* 00001190 000011D0 90 01 00 04 */ stw r0, 0x4(r1) +/* 00001194 000011D4 38 80 00 74 */ li r4, 0x74 +/* 00001198 000011D8 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 0000119C 000011DC 93 E1 00 0C */ stw r31, 0xc(r1) +/* 000011A0 000011E0 3B E3 00 00 */ addi r31, r3, ifMagnify_804A1DE0@l +/* 000011A4 000011E4 38 7F 00 00 */ addi r3, r31, 0x0 +/* 000011A8 000011E8 48 00 00 01 */ bl lb_8000C160 +/* 000011AC 000011EC 7F E3 FB 78 */ mr r3, r31 +/* 000011B0 000011F0 48 00 00 01 */ bl ifMagnify_802FC7C0 +/* 000011B4 000011F4 48 00 00 01 */ bl ifAll_802F3690 +/* 000011B8 000011F8 80 63 00 00 */ lwz r3, 0x0(r3) +/* 000011BC 000011FC 38 9F 00 00 */ addi r4, r31, 0x0 +/* 000011C0 00001200 4C C6 31 82 */ crclr cr1eq +/* 000011C4 00001204 38 A0 00 00 */ li r5, ifMagnify_804D57E8@sda21 +/* 000011C8 00001208 38 C0 00 00 */ li r6, 0x0 +/* 000011CC 0000120C 48 00 00 01 */ bl lbArchive_80016AF0 +/* 000011D0 00001210 3B E0 00 00 */ li r31, 0x0 +.L_000011D4: +/* 000011D4 00001214 7F E3 FB 78 */ mr r3, r31 +/* 000011D8 00001218 48 00 00 01 */ bl ifMagnify_802FC3C0 +/* 000011DC 0000121C 3B FF 00 01 */ addi r31, r31, 0x1 +/* 000011E0 00001220 2C 1F 00 06 */ cmpwi r31, 0x6 +/* 000011E4 00001224 41 80 FF F0 */ blt .L_000011D4 +/* 000011E8 00001228 48 00 00 01 */ bl ifMagnify_802FC618 +/* 000011EC 0000122C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 000011F0 00001230 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 000011F4 00001234 38 21 00 10 */ addi r1, r1, 0x10 +/* 000011F8 00001238 7C 08 03 A6 */ mtlr r0 +/* 000011FC 0000123C 4E 80 00 20 */ blr +.endfn ifMagnify_802FC870 -.global ifMagnify_802FC940 -ifMagnify_802FC940: -/* 802FC940 002F9520 3C 60 80 4A */ lis r3, ifMagnify_804A1DE0@ha -/* 802FC944 002F9524 38 83 1D E0 */ addi r4, r3, ifMagnify_804A1DE0@l -/* 802FC948 002F9528 88 04 00 20 */ lbz r0, 0x20(r4) -/* 802FC94C 002F952C 38 60 00 00 */ li r3, 0 -/* 802FC950 002F9530 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19 -/* 802FC954 002F9534 98 04 00 20 */ stb r0, 0x20(r4) -/* 802FC958 002F9538 88 04 00 30 */ lbz r0, 0x30(r4) -/* 802FC95C 002F953C 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19 -/* 802FC960 002F9540 98 04 00 30 */ stb r0, 0x30(r4) -/* 802FC964 002F9544 88 04 00 40 */ lbz r0, 0x40(r4) -/* 802FC968 002F9548 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19 -/* 802FC96C 002F954C 98 04 00 40 */ stb r0, 0x40(r4) -/* 802FC970 002F9550 88 04 00 50 */ lbz r0, 0x50(r4) -/* 802FC974 002F9554 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19 -/* 802FC978 002F9558 98 04 00 50 */ stb r0, 0x50(r4) -/* 802FC97C 002F955C 88 04 00 60 */ lbz r0, 0x60(r4) -/* 802FC980 002F9560 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19 -/* 802FC984 002F9564 98 04 00 60 */ stb r0, 0x60(r4) -/* 802FC988 002F9568 88 04 00 70 */ lbz r0, 0x70(r4) -/* 802FC98C 002F956C 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19 -/* 802FC990 002F9570 98 04 00 70 */ stb r0, 0x70(r4) -/* 802FC994 002F9574 4E 80 00 20 */ blr +.fn ifMagnify_802FC8E8, global +/* 00001200 00001240 3C 60 00 00 */ lis r3, ifMagnify_804A1DE0@ha +/* 00001204 00001244 38 83 00 00 */ addi r4, r3, ifMagnify_804A1DE0@l +/* 00001208 00001248 88 04 00 20 */ lbz r0, 0x20(r4) +/* 0000120C 0000124C 38 60 00 01 */ li r3, 0x1 +/* 00001210 00001250 50 60 36 72 */ rlwimi r0, r3, 6, 25, 25 +/* 00001214 00001254 98 04 00 20 */ stb r0, 0x20(r4) +/* 00001218 00001258 88 04 00 30 */ lbz r0, 0x30(r4) +/* 0000121C 0000125C 50 60 36 72 */ rlwimi r0, r3, 6, 25, 25 +/* 00001220 00001260 98 04 00 30 */ stb r0, 0x30(r4) +/* 00001224 00001264 88 04 00 40 */ lbz r0, 0x40(r4) +/* 00001228 00001268 50 60 36 72 */ rlwimi r0, r3, 6, 25, 25 +/* 0000122C 0000126C 98 04 00 40 */ stb r0, 0x40(r4) +/* 00001230 00001270 88 04 00 50 */ lbz r0, 0x50(r4) +/* 00001234 00001274 50 60 36 72 */ rlwimi r0, r3, 6, 25, 25 +/* 00001238 00001278 98 04 00 50 */ stb r0, 0x50(r4) +/* 0000123C 0000127C 88 04 00 60 */ lbz r0, 0x60(r4) +/* 00001240 00001280 50 60 36 72 */ rlwimi r0, r3, 6, 25, 25 +/* 00001244 00001284 98 04 00 60 */ stb r0, 0x60(r4) +/* 00001248 00001288 88 04 00 70 */ lbz r0, 0x70(r4) +/* 0000124C 0000128C 50 60 36 72 */ rlwimi r0, r3, 6, 25, 25 +/* 00001250 00001290 98 04 00 70 */ stb r0, 0x70(r4) +/* 00001254 00001294 4E 80 00 20 */ blr +.endfn ifMagnify_802FC8E8 -.global ifMagnify_802FC998 -ifMagnify_802FC998: -/* 802FC998 002F9578 3C 80 80 4A */ lis r4, ifMagnify_804A1DE0@ha -/* 802FC99C 002F957C 54 63 20 36 */ slwi r3, r3, 4 -/* 802FC9A0 002F9580 38 04 1D E0 */ addi r0, r4, ifMagnify_804A1DE0@l -/* 802FC9A4 002F9584 7C 60 1A 14 */ add r3, r0, r3 -/* 802FC9A8 002F9588 88 63 00 20 */ lbz r3, 0x20(r3) -/* 802FC9AC 002F958C 54 63 CF FE */ rlwinm r3, r3, 0x19, 0x1f, 0x1f -/* 802FC9B0 002F9590 4E 80 00 20 */ blr +.fn ifMagnify_802FC940, global +/* 00001258 00001298 3C 60 00 00 */ lis r3, ifMagnify_804A1DE0@ha +/* 0000125C 0000129C 38 83 00 00 */ addi r4, r3, ifMagnify_804A1DE0@l +/* 00001260 000012A0 88 04 00 20 */ lbz r0, 0x20(r4) +/* 00001264 000012A4 38 60 00 00 */ li r3, 0x0 +/* 00001268 000012A8 50 60 36 72 */ rlwimi r0, r3, 6, 25, 25 +/* 0000126C 000012AC 98 04 00 20 */ stb r0, 0x20(r4) +/* 00001270 000012B0 88 04 00 30 */ lbz r0, 0x30(r4) +/* 00001274 000012B4 50 60 36 72 */ rlwimi r0, r3, 6, 25, 25 +/* 00001278 000012B8 98 04 00 30 */ stb r0, 0x30(r4) +/* 0000127C 000012BC 88 04 00 40 */ lbz r0, 0x40(r4) +/* 00001280 000012C0 50 60 36 72 */ rlwimi r0, r3, 6, 25, 25 +/* 00001284 000012C4 98 04 00 40 */ stb r0, 0x40(r4) +/* 00001288 000012C8 88 04 00 50 */ lbz r0, 0x50(r4) +/* 0000128C 000012CC 50 60 36 72 */ rlwimi r0, r3, 6, 25, 25 +/* 00001290 000012D0 98 04 00 50 */ stb r0, 0x50(r4) +/* 00001294 000012D4 88 04 00 60 */ lbz r0, 0x60(r4) +/* 00001298 000012D8 50 60 36 72 */ rlwimi r0, r3, 6, 25, 25 +/* 0000129C 000012DC 98 04 00 60 */ stb r0, 0x60(r4) +/* 000012A0 000012E0 88 04 00 70 */ lbz r0, 0x70(r4) +/* 000012A4 000012E4 50 60 36 72 */ rlwimi r0, r3, 6, 25, 25 +/* 000012A8 000012E8 98 04 00 70 */ stb r0, 0x70(r4) +/* 000012AC 000012EC 4E 80 00 20 */ blr +.endfn ifMagnify_802FC940 +.fn ifMagnify_802FC998, global +/* 000012B0 000012F0 3C 80 00 00 */ lis r4, ifMagnify_804A1DE0@ha +/* 000012B4 000012F4 54 63 20 36 */ slwi r3, r3, 4 +/* 000012B8 000012F8 38 04 00 00 */ addi r0, r4, ifMagnify_804A1DE0@l +/* 000012BC 000012FC 7C 60 1A 14 */ add r3, r0, r3 +/* 000012C0 00001300 88 63 00 20 */ lbz r3, 0x20(r3) +/* 000012C4 00001304 54 63 CF FE */ extrwi r3, r3, 1, 24 +/* 000012C8 00001308 4E 80 00 20 */ blr +.endfn ifMagnify_802FC998 -.section .data - .balign 8 -.global ifMagnify_803F97C0 -ifMagnify_803F97C0: - .4byte NULL - .4byte NULL - .4byte NULL - .4byte 0x43960000 - .4byte NULL -.global ifMagnify_803F97D4 -ifMagnify_803F97D4: - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL -.global ifMagnify_803F97E8 -ifMagnify_803F97E8: - .4byte NULL - .4byte 0x00000003 - .4byte 0x00000280 - .4byte 0x000001E0 - .4byte 0x00000280 - .4byte 0x000001E0 - .4byte ifMagnify_803F97C0 - .4byte ifMagnify_803F97D4 - .4byte NULL - .4byte NULL - .4byte 0x3DCCCCCD - .4byte 0x47000000 - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL -.global ifMagnify_803F9828 -ifMagnify_803F9828: - .4byte Ground_801C0604 - .4byte Ground_801C0690 - .4byte Ground_801C0618 - .4byte Ground_801C0654 - .4byte Ground_801C06A4 - .4byte Ground_801C0668 - .4byte Ground_801C062C - .4byte Ground_801C067C - .4byte Ground_801C0640 -.global ifMagnify_803F984C -ifMagnify_803F984C: - .4byte NULL - .4byte 0x00010001 - .4byte 0x01020102 - .4byte 0x02020202 - .4byte 0x00000303 - .4byte 0x00010304 - .4byte 0x01020405 - .4byte 0x02020505 - .4byte 0x03030606 - .4byte 0x03040607 - .4byte 0x04050708 - .4byte 0x05050808 - .4byte 0x06060606 - .4byte 0x06070607 - .4byte 0x07080708 - .4byte 0x08080808 -.global ifMagnify_803F988C -ifMagnify_803F988C: - .asciz "!(jobj->flags & JOBJ_USE_QUATERNION)" - .balign 4 +# 0x00000000 - 0x000000F8 +.data +.balign 8 +.obj ifMagnify_803F97C0, global + .4byte 0x00000000 + .4byte 0x00000000 + .4byte 0x00000000 + .4byte 0x43960000 + .4byte 0x00000000 +.endobj ifMagnify_803F97C0 -.section .sdata - .balign 8 -.global ifMagnify_804D57E8 -ifMagnify_804D57E8: - .asciz "lupe" - .balign 4 -.global ifMagnify_804D57F0 -ifMagnify_804D57F0: - .asciz "jobj.h" - .balign 4 -.global ifMagnify_804D57F8 -ifMagnify_804D57F8: - .asciz "jobj" - .balign 4 +.obj ifMagnify_803F97D4, global + .4byte 0x00000000 + .4byte 0x00000000 + .4byte 0x00000000 + .4byte 0x00000000 + .4byte 0x00000000 +.endobj ifMagnify_803F97D4 +.obj ifMagnify_803F97E8, global + .4byte 0x00000000 + .4byte 0x00000003 + .4byte 0x00000280 + .4byte 0x000001E0 + .4byte 0x00000280 + .4byte 0x000001E0 + .4byte ifMagnify_803F97C0 + .4byte ifMagnify_803F97D4 + .4byte 0x00000000 + .4byte 0x00000000 + .4byte 0x3DCCCCCD + .4byte 0x47000000 + .4byte 0x00000000 + .4byte 0x00000000 + .4byte 0x00000000 + .4byte 0x00000000 +.endobj ifMagnify_803F97E8 -.section .sdata2 - .balign 8 -.global ifMagnify_804DDB08 -ifMagnify_804DDB08: - .4byte 0x00000000 -.global ifMagnify_804DDB0C -ifMagnify_804DDB0C: - .4byte 0x40400000 -.global ifMagnify_804DDB10 -ifMagnify_804DDB10: - .4byte 0x3F000000 -.global ifMagnify_804DDB14 -ifMagnify_804DDB14: - .4byte 0x3F800000 -.global ifMagnify_804DDB18 -ifMagnify_804DDB18: - .4byte 0x40000000 - .4byte 0x00000000 -.global ifMagnify_804DDB20 -ifMagnify_804DDB20: - .4byte 0x43300000 - .4byte 0x00000000 -.global ifMagnify_804DDB28 -ifMagnify_804DDB28: - .4byte 0x4322B333 -.global ifMagnify_804DDB2C -ifMagnify_804DDB2C: - .4byte 0xC322B333 -.global ifMagnify_804DDB30 -ifMagnify_804DDB30: - .4byte 0x3F24D31E -.global ifMagnify_804DDB34 -ifMagnify_804DDB34: - .4byte 0xBF24D31E -.global ifMagnify_804DDB38 -ifMagnify_804DDB38: - .4byte 0xC37CB334 -.global ifMagnify_804DDB3C -ifMagnify_804DDB3C: - .4byte 0x437CB334 -.global ifMagnify_804DDB40 -ifMagnify_804DDB40: - .4byte 0x43A00000 -.global ifMagnify_804DDB44 -ifMagnify_804DDB44: - .4byte 0x43700000 -.global ifMagnify_804DDB48 -ifMagnify_804DDB48: - .4byte 0x3DBAE148 -.global ifMagnify_804DDB4C -ifMagnify_804DDB4C: - .4byte 0x3DCCCCCD -.global ifMagnify_804DDB50 -ifMagnify_804DDB50: - .4byte 0x43300000 - .4byte 0x80000000 -.global ifMagnify_804DDB58 -ifMagnify_804DDB58: - .4byte 0x3E000000 -.global ifMagnify_804DDB5C -ifMagnify_804DDB5C: - .4byte 0x43960000 -.global ifMagnify_804DDB60 -ifMagnify_804DDB60: - .4byte 0x00000000 - .4byte 0x00000000 +.obj ifMagnify_803F9828, global + .4byte Ground_801C0604 + .4byte Ground_801C0690 + .4byte Ground_801C0618 + .4byte Ground_801C0654 + .4byte Ground_801C06A4 + .4byte Ground_801C0668 + .4byte Ground_801C062C + .4byte Ground_801C067C + .4byte Ground_801C0640 +.endobj ifMagnify_803F9828 + +.obj ifMagnify_803F984C, global + .4byte 0x00000000 + .4byte 0x00010001 + .4byte 0x01020102 + .4byte 0x02020202 + .4byte 0x00000303 + .4byte 0x00010304 + .4byte 0x01020405 + .4byte 0x02020505 + .4byte 0x03030606 + .4byte 0x03040607 + .4byte 0x04050708 + .4byte 0x05050808 + .4byte 0x06060606 + .4byte 0x06070607 + .4byte 0x07080708 + .4byte 0x08080808 +.endobj ifMagnify_803F984C + +.obj ifMagnify_803F988C, global + .4byte 0x21286A6F + .4byte 0x626A2D3E + .4byte 0x666C6167 + .4byte 0x73202620 + .4byte 0x4A4F424A + .4byte 0x5F555345 + .4byte 0x5F515541 + .4byte 0x5445524E + .4byte 0x494F4E29 + .4byte 0x00000000 + .4byte 0x00000000 +.endobj ifMagnify_803F988C + +# 0x00000000 - 0x000000F0 +.section .bss, "wa", @nobits +.balign 8 + +.obj ifMagnify_804A1DE0, global + .skip 0xF0 +.endobj ifMagnify_804A1DE0 + +# 0x00000000 - 0x00000018 +.section .sdata, "wa" +.balign 8 + +.obj ifMagnify_804D57E8, global + .4byte 0x6C757065 + .4byte 0x00000000 +.endobj ifMagnify_804D57E8 + +.obj ifMagnify_804D57F0, global + .4byte 0x6A6F626A + .4byte 0x2E680000 +.endobj ifMagnify_804D57F0 + +.obj ifMagnify_804D57F8, global + .4byte 0x6A6F626A + .4byte 0x00000000 +.endobj ifMagnify_804D57F8 + +# 0x00000000 - 0x00000060 +.section .sdata2, "a" +.balign 8 + +.obj ifMagnify_804DDB08, global + .4byte 0x00000000 +.endobj ifMagnify_804DDB08 + +.obj ifMagnify_804DDB0C, global + .4byte 0x40400000 +.endobj ifMagnify_804DDB0C + +.obj ifMagnify_804DDB10, global + .4byte 0x3F000000 +.endobj ifMagnify_804DDB10 + +.obj ifMagnify_804DDB14, global + .4byte 0x3F800000 +.endobj ifMagnify_804DDB14 + +.obj ifMagnify_804DDB18, global + .4byte 0x40000000 +.endobj ifMagnify_804DDB18 + +.obj gap_11_804DDB1C_sdata2, global +.hidden gap_11_804DDB1C_sdata2 + .4byte 0x00000000 +.endobj gap_11_804DDB1C_sdata2 + +.obj ifMagnify_804DDB20, global + .4byte 0x43300000 + .4byte 0x00000000 +.endobj ifMagnify_804DDB20 + +.obj ifMagnify_804DDB28, global + .4byte 0x4322B333 +.endobj ifMagnify_804DDB28 + +.obj ifMagnify_804DDB2C, global + .4byte 0xC322B333 +.endobj ifMagnify_804DDB2C + +.obj ifMagnify_804DDB30, global + .4byte 0x3F24D31E +.endobj ifMagnify_804DDB30 + +.obj ifMagnify_804DDB34, global + .4byte 0xBF24D31E +.endobj ifMagnify_804DDB34 + +.obj ifMagnify_804DDB38, global + .4byte 0xC37CB334 +.endobj ifMagnify_804DDB38 + +.obj ifMagnify_804DDB3C, global + .4byte 0x437CB334 +.endobj ifMagnify_804DDB3C + +.obj ifMagnify_804DDB40, global + .4byte 0x43A00000 +.endobj ifMagnify_804DDB40 + +.obj ifMagnify_804DDB44, global + .4byte 0x43700000 +.endobj ifMagnify_804DDB44 + +.obj ifMagnify_804DDB48, global + .4byte 0x3DBAE148 +.endobj ifMagnify_804DDB48 + +.obj ifMagnify_804DDB4C, global + .4byte 0x3DCCCCCD +.endobj ifMagnify_804DDB4C + +.obj ifMagnify_804DDB50, global + .4byte 0x43300000 + .4byte 0x80000000 +.endobj ifMagnify_804DDB50 + +.obj ifMagnify_804DDB58, global + .4byte 0x3E000000 +.endobj ifMagnify_804DDB58 + +.obj ifMagnify_804DDB5C, global + .4byte 0x43960000 +.endobj ifMagnify_804DDB5C + +.obj ifMagnify_804DDB60, global + .4byte 0x00000000 + .4byte 0x00000000 +.endobj ifMagnify_804DDB60 diff --git a/asm/melee/if/ifstatus.s b/asm/melee/if/ifstatus.s new file mode 100644 index 000000000..082ab5a43 --- /dev/null +++ b/asm/melee/if/ifstatus.s @@ -0,0 +1,3248 @@ +.include "macros.inc" +.file "ifstatus.c" + +# 0x00000000 - 0x00002978 +.text +.balign 4 + +.fn ifStatus_802F4910, global +/* 00000000 00000040 3C 60 00 00 */ lis r3, ifStatus_HudInfo@ha +/* 00000004 00000044 38 63 00 00 */ addi r3, r3, ifStatus_HudInfo@l +/* 00000008 00000048 4E 80 00 20 */ blr +.endfn ifStatus_802F4910 + +.fn ifStatus_802F491C, global +/* 0000000C 0000004C 7C 08 02 A6 */ mflr r0 +/* 00000010 00000050 90 01 00 04 */ stw r0, 0x4(r1) +/* 00000014 00000054 94 21 FF 90 */ stwu r1, -0x70(r1) +/* 00000018 00000058 DB E1 00 68 */ stfd f31, 0x68(r1) +/* 0000001C 0000005C DB C1 00 60 */ stfd f30, 0x60(r1) +/* 00000020 00000060 DB A1 00 58 */ stfd f29, 0x58(r1) +/* 00000024 00000064 DB 81 00 50 */ stfd f28, 0x50(r1) +/* 00000028 00000068 BF 61 00 3C */ stmw r27, 0x3c(r1) +/* 0000002C 0000006C 7C 7B 1B 78 */ mr r27, r3 +/* 00000030 00000070 88 03 00 10 */ lbz r0, 0x10(r3) +/* 00000034 00000074 54 00 D7 FF */ extrwi. r0, r0, 1, 25 +/* 00000038 00000078 41 82 00 84 */ beq .L_000000BC +/* 0000003C 0000007C C3 80 00 00 */ lfs f28, ifStatus_804DDA74@sda21(r0) +/* 00000040 00000080 7F 7D DB 78 */ mr r29, r27 +/* 00000044 00000084 C3 E0 00 00 */ lfs f31, ifStatus_804DDA78@sda21(r0) +/* 00000048 00000088 3B 80 00 00 */ li r28, 0x0 +/* 0000004C 0000008C C3 C0 00 00 */ lfs f30, ifStatus_804DDA80@sda21(r0) +/* 00000050 00000090 C3 A0 00 00 */ lfs f29, ifStatus_804DDA7C@sda21(r0) +/* 00000054 00000094 3B E0 00 01 */ li r31, 0x1 +/* 00000058 00000098 3B C0 00 00 */ li r30, 0x0 +.L_0000005C: +/* 0000005C 0000009C 48 00 00 01 */ bl HSD_Randf +/* 00000060 000000A0 88 00 00 00 */ lbz r0, ifStatus_804D6D61@sda21(r0) +/* 00000064 000000A4 EC 1C 00 72 */ fmuls f0, f28, f1 +/* 00000068 000000A8 7C 00 07 75 */ extsb. r0, r0 +/* 0000006C 000000AC 41 82 00 14 */ beq .L_00000080 +/* 00000070 000000B0 FC 00 00 50 */ fneg f0, f0 +/* 00000074 000000B4 9B C0 00 00 */ stb r30, ifStatus_804D6D61@sda21(r0) +/* 00000078 000000B8 EC 00 F8 28 */ fsubs f0, f0, f31 +/* 0000007C 000000BC 48 00 00 0C */ b .L_00000088 +.L_00000080: +/* 00000080 000000C0 EC 00 F8 2A */ fadds f0, f0, f31 +/* 00000084 000000C4 9B E0 00 00 */ stb r31, ifStatus_804D6D61@sda21(r0) +.L_00000088: +/* 00000088 000000C8 D0 1D 00 34 */ stfs f0, 0x34(r29) +/* 0000008C 000000CC 48 00 00 01 */ bl HSD_Randf +/* 00000090 000000D0 EC 1E E8 7A */ fmadds f0, f30, f1, f29 +/* 00000094 000000D4 3B 9C 00 01 */ addi r28, r28, 0x1 +/* 00000098 000000D8 2C 1C 00 04 */ cmpwi r28, 0x4 +/* 0000009C 000000DC D0 1D 00 44 */ stfs f0, 0x44(r29) +/* 000000A0 000000E0 3B BD 00 04 */ addi r29, r29, 0x4 +/* 000000A4 000000E4 41 80 FF B8 */ blt .L_0000005C +/* 000000A8 000000E8 88 1B 00 10 */ lbz r0, 0x10(r27) +/* 000000AC 000000EC 38 60 00 00 */ li r3, 0x0 +/* 000000B0 000000F0 50 60 36 72 */ rlwimi r0, r3, 6, 25, 25 +/* 000000B4 000000F4 98 1B 00 10 */ stb r0, 0x10(r27) +/* 000000B8 000000F8 48 00 01 98 */ b .L_00000250 +.L_000000BC: +/* 000000BC 000000FC C3 A0 00 00 */ lfs f29, ifStatus_804DDA6C@sda21(r0) +/* 000000C0 00000100 7F 7D DB 78 */ mr r29, r27 +/* 000000C4 00000104 C3 C0 00 00 */ lfs f30, ifStatus_804DDA8C@sda21(r0) +/* 000000C8 00000108 3B E0 00 00 */ li r31, 0x0 +/* 000000CC 0000010C C3 E0 00 00 */ lfs f31, ifStatus_804DDA90@sda21(r0) +.L_000000D0: +/* 000000D0 00000110 83 DD 00 54 */ lwz r30, 0x54(r29) +/* 000000D4 00000114 28 1E 00 00 */ cmplwi r30, 0x0 +/* 000000D8 00000118 40 82 00 14 */ bne .L_000000EC +/* 000000DC 0000011C 38 60 00 00 */ li r3, ifStatus_804D57B0@sda21 +/* 000000E0 00000120 38 80 03 E1 */ li r4, 0x3e1 +/* 000000E4 00000124 38 A0 00 00 */ li r5, ifStatus_804D57B8@sda21 +/* 000000E8 00000128 48 00 00 01 */ bl __assert +.L_000000EC: +/* 000000EC 0000012C C0 1E 00 38 */ lfs f0, 0x38(r30) +/* 000000F0 00000130 D0 01 00 2C */ stfs f0, 0x2c(r1) +/* 000000F4 00000134 80 01 00 2C */ lwz r0, 0x2c(r1) +/* 000000F8 00000138 54 00 00 7E */ clrlwi r0, r0, 1 +/* 000000FC 0000013C 90 01 00 2C */ stw r0, 0x2c(r1) +/* 00000100 00000140 C0 01 00 2C */ lfs f0, 0x2c(r1) +/* 00000104 00000144 FC 00 E8 40 */ fcmpo cr0, f0, f29 +/* 00000108 00000148 40 80 00 84 */ bge .L_0000018C +/* 0000010C 0000014C 83 DD 00 54 */ lwz r30, 0x54(r29) +/* 00000110 00000150 C3 9D 00 34 */ lfs f28, 0x34(r29) +/* 00000114 00000154 28 1E 00 00 */ cmplwi r30, 0x0 +/* 00000118 00000158 40 82 00 14 */ bne .L_0000012C +/* 0000011C 0000015C 38 60 00 00 */ li r3, ifStatus_804D57B0@sda21 +/* 00000120 00000160 38 80 04 4E */ li r4, 0x44e +/* 00000124 00000164 38 A0 00 00 */ li r5, ifStatus_804D57B8@sda21 +/* 00000128 00000168 48 00 00 01 */ bl __assert +.L_0000012C: +/* 0000012C 0000016C C0 1E 00 38 */ lfs f0, 0x38(r30) +/* 00000130 00000170 EC 00 E0 2A */ fadds f0, f0, f28 +/* 00000134 00000174 D0 1E 00 38 */ stfs f0, 0x38(r30) +/* 00000138 00000178 80 1E 00 14 */ lwz r0, 0x14(r30) +/* 0000013C 0000017C 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 +/* 00000140 00000180 40 82 00 4C */ bne .L_0000018C +/* 00000144 00000184 28 1E 00 00 */ cmplwi r30, 0x0 +/* 00000148 00000188 41 82 00 44 */ beq .L_0000018C +/* 0000014C 0000018C 40 82 00 14 */ bne .L_00000160 +/* 00000150 00000190 38 60 00 00 */ li r3, ifStatus_804D57B0@sda21 +/* 00000154 00000194 38 80 02 34 */ li r4, 0x234 +/* 00000158 00000198 38 A0 00 00 */ li r5, ifStatus_804D57B8@sda21 +/* 0000015C 0000019C 48 00 00 01 */ bl __assert +.L_00000160: +/* 00000160 000001A0 80 9E 00 14 */ lwz r4, 0x14(r30) +/* 00000164 000001A4 38 60 00 00 */ li r3, 0x0 +/* 00000168 000001A8 54 80 02 11 */ rlwinm. r0, r4, 0, 8, 8 +/* 0000016C 000001AC 40 82 00 10 */ bne .L_0000017C +/* 00000170 000001B0 54 80 06 73 */ rlwinm. r0, r4, 0, 25, 25 +/* 00000174 000001B4 41 82 00 08 */ beq .L_0000017C +/* 00000178 000001B8 38 60 00 01 */ li r3, 0x1 +.L_0000017C: +/* 0000017C 000001BC 2C 03 00 00 */ cmpwi r3, 0x0 +/* 00000180 000001C0 40 82 00 0C */ bne .L_0000018C +/* 00000184 000001C4 7F C3 F3 78 */ mr r3, r30 +/* 00000188 000001C8 48 00 00 01 */ bl HSD_JObjSetMtxDirtySub +.L_0000018C: +/* 0000018C 000001CC 83 DD 00 54 */ lwz r30, 0x54(r29) +/* 00000190 000001D0 28 1E 00 00 */ cmplwi r30, 0x0 +/* 00000194 000001D4 40 82 00 14 */ bne .L_000001A8 +/* 00000198 000001D8 38 60 00 00 */ li r3, ifStatus_804D57B0@sda21 +/* 0000019C 000001DC 38 80 03 EE */ li r4, 0x3ee +/* 000001A0 000001E0 38 A0 00 00 */ li r5, ifStatus_804D57B8@sda21 +/* 000001A4 000001E4 48 00 00 01 */ bl __assert +.L_000001A8: +/* 000001A8 000001E8 C0 1E 00 3C */ lfs f0, 0x3c(r30) +/* 000001AC 000001EC FC 00 F0 40 */ fcmpo cr0, f0, f30 +/* 000001B0 000001F0 40 81 00 90 */ ble .L_00000240 +/* 000001B4 000001F4 83 DD 00 54 */ lwz r30, 0x54(r29) +/* 000001B8 000001F8 C3 9D 00 44 */ lfs f28, 0x44(r29) +/* 000001BC 000001FC 28 1E 00 00 */ cmplwi r30, 0x0 +/* 000001C0 00000200 40 82 00 14 */ bne .L_000001D4 +/* 000001C4 00000204 38 60 00 00 */ li r3, ifStatus_804D57B0@sda21 +/* 000001C8 00000208 38 80 04 5A */ li r4, 0x45a +/* 000001CC 0000020C 38 A0 00 00 */ li r5, ifStatus_804D57B8@sda21 +/* 000001D0 00000210 48 00 00 01 */ bl __assert +.L_000001D4: +/* 000001D4 00000214 C0 1E 00 3C */ lfs f0, 0x3c(r30) +/* 000001D8 00000218 EC 00 E0 2A */ fadds f0, f0, f28 +/* 000001DC 0000021C D0 1E 00 3C */ stfs f0, 0x3c(r30) +/* 000001E0 00000220 80 1E 00 14 */ lwz r0, 0x14(r30) +/* 000001E4 00000224 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 +/* 000001E8 00000228 40 82 00 4C */ bne .L_00000234 +/* 000001EC 0000022C 28 1E 00 00 */ cmplwi r30, 0x0 +/* 000001F0 00000230 41 82 00 44 */ beq .L_00000234 +/* 000001F4 00000234 40 82 00 14 */ bne .L_00000208 +/* 000001F8 00000238 38 60 00 00 */ li r3, ifStatus_804D57B0@sda21 +/* 000001FC 0000023C 38 80 02 34 */ li r4, 0x234 +/* 00000200 00000240 38 A0 00 00 */ li r5, ifStatus_804D57B8@sda21 +/* 00000204 00000244 48 00 00 01 */ bl __assert +.L_00000208: +/* 00000208 00000248 80 9E 00 14 */ lwz r4, 0x14(r30) +/* 0000020C 0000024C 38 60 00 00 */ li r3, 0x0 +/* 00000210 00000250 54 80 02 11 */ rlwinm. r0, r4, 0, 8, 8 +/* 00000214 00000254 40 82 00 10 */ bne .L_00000224 +/* 00000218 00000258 54 80 06 73 */ rlwinm. r0, r4, 0, 25, 25 +/* 0000021C 0000025C 41 82 00 08 */ beq .L_00000224 +/* 00000220 00000260 38 60 00 01 */ li r3, 0x1 +.L_00000224: +/* 00000224 00000264 2C 03 00 00 */ cmpwi r3, 0x0 +/* 00000228 00000268 40 82 00 0C */ bne .L_00000234 +/* 0000022C 0000026C 7F C3 F3 78 */ mr r3, r30 +/* 00000230 00000270 48 00 00 01 */ bl HSD_JObjSetMtxDirtySub +.L_00000234: +/* 00000234 00000274 C0 1D 00 44 */ lfs f0, 0x44(r29) +/* 00000238 00000278 EC 00 F8 28 */ fsubs f0, f0, f31 +/* 0000023C 0000027C D0 1D 00 44 */ stfs f0, 0x44(r29) +.L_00000240: +/* 00000240 00000280 3B FF 00 01 */ addi r31, r31, 0x1 +/* 00000244 00000284 2C 1F 00 04 */ cmpwi r31, 0x4 +/* 00000248 00000288 3B BD 00 04 */ addi r29, r29, 0x4 +/* 0000024C 0000028C 41 80 FE 84 */ blt .L_000000D0 +.L_00000250: +/* 00000250 00000290 BB 61 00 3C */ lmw r27, 0x3c(r1) +/* 00000254 00000294 80 01 00 74 */ lwz r0, 0x74(r1) +/* 00000258 00000298 CB E1 00 68 */ lfd f31, 0x68(r1) +/* 0000025C 0000029C CB C1 00 60 */ lfd f30, 0x60(r1) +/* 00000260 000002A0 CB A1 00 58 */ lfd f29, 0x58(r1) +/* 00000264 000002A4 CB 81 00 50 */ lfd f28, 0x50(r1) +/* 00000268 000002A8 38 21 00 70 */ addi r1, r1, 0x70 +/* 0000026C 000002AC 7C 08 03 A6 */ mtlr r0 +/* 00000270 000002B0 4E 80 00 20 */ blr +.endfn ifStatus_802F491C + +.fn ifStatus_802F4B84, global +/* 00000274 000002B4 7C 08 02 A6 */ mflr r0 +/* 00000278 000002B8 90 01 00 04 */ stw r0, 0x4(r1) +/* 0000027C 000002BC 94 21 FF 98 */ stwu r1, -0x68(r1) +/* 00000280 000002C0 DB E1 00 60 */ stfd f31, 0x60(r1) +/* 00000284 000002C4 DB C1 00 58 */ stfd f30, 0x58(r1) +/* 00000288 000002C8 DB A1 00 50 */ stfd f29, 0x50(r1) +/* 0000028C 000002CC DB 81 00 48 */ stfd f28, 0x48(r1) +/* 00000290 000002D0 DB 61 00 40 */ stfd f27, 0x40(r1) +/* 00000294 000002D4 DB 41 00 38 */ stfd f26, 0x38(r1) +/* 00000298 000002D8 DB 21 00 30 */ stfd f25, 0x30(r1) +/* 0000029C 000002DC 93 E1 00 2C */ stw r31, 0x2c(r1) +/* 000002A0 000002E0 93 C1 00 28 */ stw r30, 0x28(r1) +/* 000002A4 000002E4 7C 7E 1B 78 */ mr r30, r3 +/* 000002A8 000002E8 93 A1 00 24 */ stw r29, 0x24(r1) +/* 000002AC 000002EC 93 81 00 20 */ stw r28, 0x20(r1) +/* 000002B0 000002F0 88 03 00 0F */ lbz r0, 0xf(r3) +/* 000002B4 000002F4 28 00 00 00 */ cmplwi r0, 0x0 +/* 000002B8 000002F8 41 82 02 D8 */ beq .L_00000590 +/* 000002BC 000002FC 28 00 00 01 */ cmplwi r0, 0x1 +/* 000002C0 00000300 40 82 01 18 */ bne .L_000003D8 +/* 000002C4 00000304 3B E0 00 00 */ li r31, 0x0 +/* 000002C8 00000308 3B BE 00 00 */ addi r29, r30, 0x0 +.L_000002CC: +/* 000002CC 0000030C 83 9D 00 54 */ lwz r28, 0x54(r29) +/* 000002D0 00000310 C3 9D 00 14 */ lfs f28, 0x14(r29) +/* 000002D4 00000314 28 1C 00 00 */ cmplwi r28, 0x0 +/* 000002D8 00000318 40 82 00 14 */ bne .L_000002EC +/* 000002DC 0000031C 38 60 00 00 */ li r3, ifStatus_804D57B0@sda21 +/* 000002E0 00000320 38 80 03 A4 */ li r4, 0x3a4 +/* 000002E4 00000324 38 A0 00 00 */ li r5, ifStatus_804D57B8@sda21 +/* 000002E8 00000328 48 00 00 01 */ bl __assert +.L_000002EC: +/* 000002EC 0000032C D3 9C 00 38 */ stfs f28, 0x38(r28) +/* 000002F0 00000330 80 1C 00 14 */ lwz r0, 0x14(r28) +/* 000002F4 00000334 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 +/* 000002F8 00000338 40 82 00 4C */ bne .L_00000344 +/* 000002FC 0000033C 28 1C 00 00 */ cmplwi r28, 0x0 +/* 00000300 00000340 41 82 00 44 */ beq .L_00000344 +/* 00000304 00000344 40 82 00 14 */ bne .L_00000318 +/* 00000308 00000348 38 60 00 00 */ li r3, ifStatus_804D57B0@sda21 +/* 0000030C 0000034C 38 80 02 34 */ li r4, 0x234 +/* 00000310 00000350 38 A0 00 00 */ li r5, ifStatus_804D57B8@sda21 +/* 00000314 00000354 48 00 00 01 */ bl __assert +.L_00000318: +/* 00000318 00000358 80 9C 00 14 */ lwz r4, 0x14(r28) +/* 0000031C 0000035C 38 60 00 00 */ li r3, 0x0 +/* 00000320 00000360 54 80 02 11 */ rlwinm. r0, r4, 0, 8, 8 +/* 00000324 00000364 40 82 00 10 */ bne .L_00000334 +/* 00000328 00000368 54 80 06 73 */ rlwinm. r0, r4, 0, 25, 25 +/* 0000032C 0000036C 41 82 00 08 */ beq .L_00000334 +/* 00000330 00000370 38 60 00 01 */ li r3, 0x1 +.L_00000334: +/* 00000334 00000374 2C 03 00 00 */ cmpwi r3, 0x0 +/* 00000338 00000378 40 82 00 0C */ bne .L_00000344 +/* 0000033C 0000037C 7F 83 E3 78 */ mr r3, r28 +/* 00000340 00000380 48 00 00 01 */ bl HSD_JObjSetMtxDirtySub +.L_00000344: +/* 00000344 00000384 83 9D 00 54 */ lwz r28, 0x54(r29) +/* 00000348 00000388 C3 9D 00 24 */ lfs f28, 0x24(r29) +/* 0000034C 0000038C 28 1C 00 00 */ cmplwi r28, 0x0 +/* 00000350 00000390 40 82 00 14 */ bne .L_00000364 +/* 00000354 00000394 38 60 00 00 */ li r3, ifStatus_804D57B0@sda21 +/* 00000358 00000398 38 80 03 B3 */ li r4, 0x3b3 +/* 0000035C 0000039C 38 A0 00 00 */ li r5, ifStatus_804D57B8@sda21 +/* 00000360 000003A0 48 00 00 01 */ bl __assert +.L_00000364: +/* 00000364 000003A4 D3 9C 00 3C */ stfs f28, 0x3c(r28) +/* 00000368 000003A8 80 1C 00 14 */ lwz r0, 0x14(r28) +/* 0000036C 000003AC 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 +/* 00000370 000003B0 40 82 00 4C */ bne .L_000003BC +/* 00000374 000003B4 28 1C 00 00 */ cmplwi r28, 0x0 +/* 00000378 000003B8 41 82 00 44 */ beq .L_000003BC +/* 0000037C 000003BC 40 82 00 14 */ bne .L_00000390 +/* 00000380 000003C0 38 60 00 00 */ li r3, ifStatus_804D57B0@sda21 +/* 00000384 000003C4 38 80 02 34 */ li r4, 0x234 +/* 00000388 000003C8 38 A0 00 00 */ li r5, ifStatus_804D57B8@sda21 +/* 0000038C 000003CC 48 00 00 01 */ bl __assert +.L_00000390: +/* 00000390 000003D0 80 9C 00 14 */ lwz r4, 0x14(r28) +/* 00000394 000003D4 38 60 00 00 */ li r3, 0x0 +/* 00000398 000003D8 54 80 02 11 */ rlwinm. r0, r4, 0, 8, 8 +/* 0000039C 000003DC 40 82 00 10 */ bne .L_000003AC +/* 000003A0 000003E0 54 80 06 73 */ rlwinm. r0, r4, 0, 25, 25 +/* 000003A4 000003E4 41 82 00 08 */ beq .L_000003AC +/* 000003A8 000003E8 38 60 00 01 */ li r3, 0x1 +.L_000003AC: +/* 000003AC 000003EC 2C 03 00 00 */ cmpwi r3, 0x0 +/* 000003B0 000003F0 40 82 00 0C */ bne .L_000003BC +/* 000003B4 000003F4 7F 83 E3 78 */ mr r3, r28 +/* 000003B8 000003F8 48 00 00 01 */ bl HSD_JObjSetMtxDirtySub +.L_000003BC: +/* 000003BC 000003FC 3B FF 00 01 */ addi r31, r31, 0x1 +/* 000003C0 00000400 2C 1F 00 04 */ cmpwi r31, 0x4 +/* 000003C4 00000404 3B BD 00 04 */ addi r29, r29, 0x4 +/* 000003C8 00000408 41 80 FF 04 */ blt .L_000002CC +/* 000003CC 0000040C 38 00 00 00 */ li r0, 0x0 +/* 000003D0 00000410 98 1E 00 0F */ stb r0, 0xf(r30) +/* 000003D4 00000414 48 00 01 BC */ b .L_00000590 +.L_000003D8: +/* 000003D8 00000418 88 7E 00 0E */ lbz r3, 0xe(r30) +/* 000003DC 0000041C 3C 00 43 30 */ lis r0, 0x4330 +/* 000003E0 00000420 C8 20 00 00 */ lfd f1, ifStatus_804DDA58@sda21(r0) +/* 000003E4 00000424 90 61 00 1C */ stw r3, 0x1c(r1) +/* 000003E8 00000428 C0 40 00 00 */ lfs f2, ifStatus_804DDA84@sda21(r0) +/* 000003EC 0000042C 90 01 00 18 */ stw r0, 0x18(r1) +/* 000003F0 00000430 C8 01 00 18 */ lfd f0, 0x18(r1) +/* 000003F4 00000434 EC 00 08 28 */ fsubs f0, f0, f1 +/* 000003F8 00000438 EF 42 00 32 */ fmuls f26, f2, f0 +/* 000003FC 0000043C FC 1A 10 40 */ fcmpo cr0, f26, f2 +/* 00000400 00000440 40 80 00 0C */ bge .L_0000040C +/* 00000404 00000444 FF 40 10 90 */ fmr f26, f2 +/* 00000408 00000448 48 00 00 14 */ b .L_0000041C +.L_0000040C: +/* 0000040C 0000044C C0 00 00 00 */ lfs f0, ifStatus_804DDA88@sda21(r0) +/* 00000410 00000450 FC 1A 00 40 */ fcmpo cr0, f26, f0 +/* 00000414 00000454 40 81 00 08 */ ble .L_0000041C +/* 00000418 00000458 FF 40 00 90 */ fmr f26, f0 +.L_0000041C: +/* 0000041C 0000045C C3 80 00 00 */ lfs f28, ifStatus_804DDA94@sda21(r0) +/* 00000420 00000460 7F DD F3 78 */ mr r29, r30 +/* 00000424 00000464 C3 A0 00 00 */ lfs f29, ifStatus_804DDA50@sda21(r0) +/* 00000428 00000468 3B E0 00 00 */ li r31, 0x0 +/* 0000042C 0000046C C3 C0 00 00 */ lfs f30, ifStatus_804DDA4C@sda21(r0) +/* 00000430 00000470 C3 E0 00 00 */ lfs f31, ifStatus_804DDA90@sda21(r0) +.L_00000434: +/* 00000434 00000474 48 00 00 01 */ bl HSD_Randf +/* 00000438 00000478 EC 01 E0 28 */ fsubs f0, f1, f28 +/* 0000043C 0000047C EC 1D 00 32 */ fmuls f0, f29, f0 +/* 00000440 00000480 EF 7A 00 32 */ fmuls f27, f26, f0 +/* 00000444 00000484 48 00 00 01 */ bl HSD_Randf +/* 00000448 00000488 EC 01 E0 28 */ fsubs f0, f1, f28 +/* 0000044C 0000048C FC 1B F0 40 */ fcmpo cr0, f27, f30 +/* 00000450 00000490 EC 1D 00 32 */ fmuls f0, f29, f0 +/* 00000454 00000494 EF 3A 00 32 */ fmuls f25, f26, f0 +/* 00000458 00000498 40 80 00 0C */ bge .L_00000464 +/* 0000045C 0000049C EC 3B F8 28 */ fsubs f1, f27, f31 +/* 00000460 000004A0 48 00 00 08 */ b .L_00000468 +.L_00000464: +/* 00000464 000004A4 EC 3B F8 2A */ fadds f1, f27, f31 +.L_00000468: +/* 00000468 000004A8 FC 19 F0 40 */ fcmpo cr0, f25, f30 +/* 0000046C 000004AC 40 80 00 0C */ bge .L_00000478 +/* 00000470 000004B0 EF 39 F8 28 */ fsubs f25, f25, f31 +/* 00000474 000004B4 48 00 00 08 */ b .L_0000047C +.L_00000478: +/* 00000478 000004B8 EF 39 F8 2A */ fadds f25, f25, f31 +.L_0000047C: +/* 0000047C 000004BC 83 9D 00 54 */ lwz r28, 0x54(r29) +/* 00000480 000004C0 C0 1D 00 14 */ lfs f0, 0x14(r29) +/* 00000484 000004C4 28 1C 00 00 */ cmplwi r28, 0x0 +/* 00000488 000004C8 EF 60 08 2A */ fadds f27, f0, f1 +/* 0000048C 000004CC 40 82 00 14 */ bne .L_000004A0 +/* 00000490 000004D0 38 60 00 00 */ li r3, ifStatus_804D57B0@sda21 +/* 00000494 000004D4 38 80 03 A4 */ li r4, 0x3a4 +/* 00000498 000004D8 38 A0 00 00 */ li r5, ifStatus_804D57B8@sda21 +/* 0000049C 000004DC 48 00 00 01 */ bl __assert +.L_000004A0: +/* 000004A0 000004E0 D3 7C 00 38 */ stfs f27, 0x38(r28) +/* 000004A4 000004E4 80 1C 00 14 */ lwz r0, 0x14(r28) +/* 000004A8 000004E8 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 +/* 000004AC 000004EC 40 82 00 4C */ bne .L_000004F8 +/* 000004B0 000004F0 28 1C 00 00 */ cmplwi r28, 0x0 +/* 000004B4 000004F4 41 82 00 44 */ beq .L_000004F8 +/* 000004B8 000004F8 40 82 00 14 */ bne .L_000004CC +/* 000004BC 000004FC 38 60 00 00 */ li r3, ifStatus_804D57B0@sda21 +/* 000004C0 00000500 38 80 02 34 */ li r4, 0x234 +/* 000004C4 00000504 38 A0 00 00 */ li r5, ifStatus_804D57B8@sda21 +/* 000004C8 00000508 48 00 00 01 */ bl __assert +.L_000004CC: +/* 000004CC 0000050C 80 9C 00 14 */ lwz r4, 0x14(r28) +/* 000004D0 00000510 38 60 00 00 */ li r3, 0x0 +/* 000004D4 00000514 54 80 02 11 */ rlwinm. r0, r4, 0, 8, 8 +/* 000004D8 00000518 40 82 00 10 */ bne .L_000004E8 +/* 000004DC 0000051C 54 80 06 73 */ rlwinm. r0, r4, 0, 25, 25 +/* 000004E0 00000520 41 82 00 08 */ beq .L_000004E8 +/* 000004E4 00000524 38 60 00 01 */ li r3, 0x1 +.L_000004E8: +/* 000004E8 00000528 2C 03 00 00 */ cmpwi r3, 0x0 +/* 000004EC 0000052C 40 82 00 0C */ bne .L_000004F8 +/* 000004F0 00000530 7F 83 E3 78 */ mr r3, r28 +/* 000004F4 00000534 48 00 00 01 */ bl HSD_JObjSetMtxDirtySub +.L_000004F8: +/* 000004F8 00000538 83 9D 00 54 */ lwz r28, 0x54(r29) +/* 000004FC 0000053C C0 1D 00 24 */ lfs f0, 0x24(r29) +/* 00000500 00000540 28 1C 00 00 */ cmplwi r28, 0x0 +/* 00000504 00000544 EF 60 C8 2A */ fadds f27, f0, f25 +/* 00000508 00000548 40 82 00 14 */ bne .L_0000051C +/* 0000050C 0000054C 38 60 00 00 */ li r3, ifStatus_804D57B0@sda21 +/* 00000510 00000550 38 80 03 B3 */ li r4, 0x3b3 +/* 00000514 00000554 38 A0 00 00 */ li r5, ifStatus_804D57B8@sda21 +/* 00000518 00000558 48 00 00 01 */ bl __assert +.L_0000051C: +/* 0000051C 0000055C D3 7C 00 3C */ stfs f27, 0x3c(r28) +/* 00000520 00000560 80 1C 00 14 */ lwz r0, 0x14(r28) +/* 00000524 00000564 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 +/* 00000528 00000568 40 82 00 4C */ bne .L_00000574 +/* 0000052C 0000056C 28 1C 00 00 */ cmplwi r28, 0x0 +/* 00000530 00000570 41 82 00 44 */ beq .L_00000574 +/* 00000534 00000574 40 82 00 14 */ bne .L_00000548 +/* 00000538 00000578 38 60 00 00 */ li r3, ifStatus_804D57B0@sda21 +/* 0000053C 0000057C 38 80 02 34 */ li r4, 0x234 +/* 00000540 00000580 38 A0 00 00 */ li r5, ifStatus_804D57B8@sda21 +/* 00000544 00000584 48 00 00 01 */ bl __assert +.L_00000548: +/* 00000548 00000588 80 9C 00 14 */ lwz r4, 0x14(r28) +/* 0000054C 0000058C 38 60 00 00 */ li r3, 0x0 +/* 00000550 00000590 54 80 02 11 */ rlwinm. r0, r4, 0, 8, 8 +/* 00000554 00000594 40 82 00 10 */ bne .L_00000564 +/* 00000558 00000598 54 80 06 73 */ rlwinm. r0, r4, 0, 25, 25 +/* 0000055C 0000059C 41 82 00 08 */ beq .L_00000564 +/* 00000560 000005A0 38 60 00 01 */ li r3, 0x1 +.L_00000564: +/* 00000564 000005A4 2C 03 00 00 */ cmpwi r3, 0x0 +/* 00000568 000005A8 40 82 00 0C */ bne .L_00000574 +/* 0000056C 000005AC 7F 83 E3 78 */ mr r3, r28 +/* 00000570 000005B0 48 00 00 01 */ bl HSD_JObjSetMtxDirtySub +.L_00000574: +/* 00000574 000005B4 3B FF 00 01 */ addi r31, r31, 0x1 +/* 00000578 000005B8 2C 1F 00 04 */ cmpwi r31, 0x4 +/* 0000057C 000005BC 3B BD 00 04 */ addi r29, r29, 0x4 +/* 00000580 000005C0 41 80 FE B4 */ blt .L_00000434 +/* 00000584 000005C4 88 7E 00 0F */ lbz r3, 0xf(r30) +/* 00000588 000005C8 38 03 FF FF */ subi r0, r3, 0x1 +/* 0000058C 000005CC 98 1E 00 0F */ stb r0, 0xf(r30) +.L_00000590: +/* 00000590 000005D0 80 01 00 6C */ lwz r0, 0x6c(r1) +/* 00000594 000005D4 CB E1 00 60 */ lfd f31, 0x60(r1) +/* 00000598 000005D8 CB C1 00 58 */ lfd f30, 0x58(r1) +/* 0000059C 000005DC CB A1 00 50 */ lfd f29, 0x50(r1) +/* 000005A0 000005E0 CB 81 00 48 */ lfd f28, 0x48(r1) +/* 000005A4 000005E4 CB 61 00 40 */ lfd f27, 0x40(r1) +/* 000005A8 000005E8 CB 41 00 38 */ lfd f26, 0x38(r1) +/* 000005AC 000005EC CB 21 00 30 */ lfd f25, 0x30(r1) +/* 000005B0 000005F0 83 E1 00 2C */ lwz r31, 0x2c(r1) +/* 000005B4 000005F4 83 C1 00 28 */ lwz r30, 0x28(r1) +/* 000005B8 000005F8 83 A1 00 24 */ lwz r29, 0x24(r1) +/* 000005BC 000005FC 83 81 00 20 */ lwz r28, 0x20(r1) +/* 000005C0 00000600 38 21 00 68 */ addi r1, r1, 0x68 +/* 000005C4 00000604 7C 08 03 A6 */ mtlr r0 +/* 000005C8 00000608 4E 80 00 20 */ blr +.endfn ifStatus_802F4B84 + +.fn ifStatus_802F4EDC, global +/* 000005CC 0000060C 7C 08 02 A6 */ mflr r0 +/* 000005D0 00000610 3C 80 00 00 */ lis r4, ifStatus_HudInfo@ha +/* 000005D4 00000614 90 01 00 04 */ stw r0, 0x4(r1) +/* 000005D8 00000618 38 00 00 06 */ li r0, 0x6 +/* 000005DC 0000061C 7C 09 03 A6 */ mtctr r0 +/* 000005E0 00000620 94 21 FF 08 */ stwu r1, -0xf8(r1) +/* 000005E4 00000624 DB E1 00 F0 */ stfd f31, 0xf0(r1) +/* 000005E8 00000628 DB C1 00 E8 */ stfd f30, 0xe8(r1) +/* 000005EC 0000062C DB A1 00 E0 */ stfd f29, 0xe0(r1) +/* 000005F0 00000630 BE E1 00 BC */ stmw r23, 0xbc(r1) +/* 000005F4 00000634 3B 24 00 00 */ addi r25, r4, ifStatus_HudInfo@l +/* 000005F8 00000638 38 B9 00 00 */ addi r5, r25, 0x0 +/* 000005FC 0000063C 38 80 00 00 */ li r4, 0x0 +/* 00000600 00000640 83 C3 00 28 */ lwz r30, 0x28(r3) +.L_00000604: +/* 00000604 00000644 80 05 00 00 */ lwz r0, 0x0(r5) +/* 00000608 00000648 7C 00 18 40 */ cmplw r0, r3 +/* 0000060C 0000064C 40 82 00 10 */ bne .L_0000061C +/* 00000610 00000650 1C 04 00 64 */ mulli r0, r4, 0x64 +/* 00000614 00000654 7F F9 02 14 */ add r31, r25, r0 +/* 00000618 00000658 48 00 00 14 */ b .L_0000062C +.L_0000061C: +/* 0000061C 0000065C 38 A5 00 64 */ addi r5, r5, 0x64 +/* 00000620 00000660 38 84 00 01 */ addi r4, r4, 0x1 +/* 00000624 00000664 42 00 FF E0 */ bdnz .L_00000604 +/* 00000628 00000668 3B E0 00 00 */ li r31, 0x0 +.L_0000062C: +/* 0000062C 0000066C 88 1F 00 10 */ lbz r0, 0x10(r31) +/* 00000630 00000670 54 00 CF FF */ extrwi. r0, r0, 1, 24 +/* 00000634 00000674 41 82 00 10 */ beq .L_00000644 +/* 00000638 00000678 7F E3 FB 78 */ mr r3, r31 +/* 0000063C 0000067C 48 00 00 01 */ bl ifStatus_802F491C +/* 00000640 00000680 48 00 0B D8 */ b .L_00001218 +.L_00000644: +/* 00000644 00000684 7F C3 F3 78 */ mr r3, r30 +/* 00000648 00000688 48 00 00 01 */ bl lb_8000B09C +/* 0000064C 0000068C 88 9F 00 10 */ lbz r4, 0x10(r31) +/* 00000650 00000690 3B A3 00 00 */ addi r29, r3, 0x0 +/* 00000654 00000694 54 80 E7 FF */ extrwi. r0, r4, 1, 27 +/* 00000658 00000698 41 82 02 CC */ beq .L_00000924 +/* 0000065C 0000069C 54 80 FF BE */ extrwi r0, r4, 2, 29 +/* 00000660 000006A0 28 00 00 01 */ cmplwi r0, 0x1 +/* 00000664 000006A4 40 82 00 0C */ bne .L_00000670 +/* 00000668 000006A8 2C 1D 00 00 */ cmpwi r29, 0x0 +/* 0000066C 000006AC 40 82 02 B8 */ bne .L_00000924 +.L_00000670: +/* 00000670 000006B0 88 1F 00 10 */ lbz r0, 0x10(r31) +/* 00000674 000006B4 38 60 00 01 */ li r3, 0x1 +/* 00000678 000006B8 50 60 0F 7C */ rlwimi r0, r3, 1, 29, 30 +/* 0000067C 000006BC 98 1F 00 10 */ stb r0, 0x10(r31) +/* 00000680 000006C0 7F C3 F3 78 */ mr r3, r30 +/* 00000684 000006C4 48 00 00 01 */ bl HSD_JObjRemoveAnim +/* 00000688 000006C8 3A F9 02 60 */ addi r23, r25, 0x260 +/* 0000068C 000006CC 80 B9 02 5C */ lwz r5, 0x25c(r25) +/* 00000690 000006D0 80 D9 02 60 */ lwz r6, 0x260(r25) +/* 00000694 000006D4 7F C3 F3 78 */ mr r3, r30 +/* 00000698 000006D8 80 F9 02 64 */ lwz r7, 0x264(r25) +/* 0000069C 000006DC 38 80 00 01 */ li r4, 0x1 +/* 000006A0 000006E0 48 00 00 01 */ bl lb_8000C07C +/* 000006A4 000006E4 7F C3 F3 78 */ mr r3, r30 +/* 000006A8 000006E8 C0 20 00 00 */ lfs f1, ifStatus_804DDA4C@sda21(r0) +/* 000006AC 000006EC 48 00 00 01 */ bl HSD_JObjReqAnimAll +/* 000006B0 000006F0 80 9F 00 60 */ lwz r4, 0x60(r31) +/* 000006B4 000006F4 28 04 00 00 */ cmplwi r4, 0x0 +/* 000006B8 000006F8 41 82 00 7C */ beq .L_00000734 +/* 000006BC 000006FC 80 77 00 00 */ lwz r3, 0x0(r23) +/* 000006C0 00000700 80 84 00 18 */ lwz r4, 0x18(r4) +/* 000006C4 00000704 80 63 00 00 */ lwz r3, 0x0(r3) +/* 000006C8 00000708 80 84 00 08 */ lwz r4, 0x8(r4) +/* 000006CC 0000070C 80 63 00 00 */ lwz r3, 0x0(r3) +/* 000006D0 00000710 83 04 00 08 */ lwz r24, 0x8(r4) +/* 000006D4 00000714 80 83 00 04 */ lwz r4, 0x4(r3) +/* 000006D8 00000718 7F 03 C3 78 */ mr r3, r24 +/* 000006DC 0000071C 80 84 00 04 */ lwz r4, 0x4(r4) +/* 000006E0 00000720 80 84 00 04 */ lwz r4, 0x4(r4) +/* 000006E4 00000724 80 84 00 08 */ lwz r4, 0x8(r4) +/* 000006E8 00000728 80 84 00 08 */ lwz r4, 0x8(r4) +/* 000006EC 0000072C 48 00 00 01 */ bl HSD_TObjAddAnimAll +/* 000006F0 00000730 88 7F 00 08 */ lbz r3, 0x8(r31) +/* 000006F4 00000734 7C 63 07 74 */ extsb r3, r3 +/* 000006F8 00000738 48 00 00 01 */ bl Player_GetMoreFlagsBit2 +/* 000006FC 0000073C 2C 03 00 00 */ cmpwi r3, 0x0 +/* 00000700 00000740 41 82 00 14 */ beq .L_00000714 +/* 00000704 00000744 7F 03 C3 78 */ mr r3, r24 +/* 00000708 00000748 C0 20 00 00 */ lfs f1, ifStatus_804DDA48@sda21(r0) +/* 0000070C 0000074C 48 00 00 01 */ bl HSD_TObjReqAnimAll +/* 00000710 00000750 48 00 00 10 */ b .L_00000720 +.L_00000714: +/* 00000714 00000754 7F 03 C3 78 */ mr r3, r24 +/* 00000718 00000758 C0 20 00 00 */ lfs f1, ifStatus_804DDA4C@sda21(r0) +/* 0000071C 0000075C 48 00 00 01 */ bl HSD_TObjReqAnimAll +.L_00000720: +/* 00000720 00000760 80 78 00 64 */ lwz r3, 0x64(r24) +/* 00000724 00000764 C0 20 00 00 */ lfs f1, ifStatus_804DDA4C@sda21(r0) +/* 00000728 00000768 48 00 00 01 */ bl HSD_AObjSetRate +/* 0000072C 0000076C 7F 03 C3 78 */ mr r3, r24 +/* 00000730 00000770 48 00 00 01 */ bl HSD_TObjAnim +.L_00000734: +/* 00000734 00000774 38 7E 00 00 */ addi r3, r30, 0x0 +/* 00000738 00000778 38 80 00 01 */ li r4, 0x1 +/* 0000073C 0000077C 38 A0 04 00 */ li r5, 0x400 +/* 00000740 00000780 48 00 00 01 */ bl mn_8022F3D8 +/* 00000744 00000784 3C 60 66 66 */ lis r3, 0x6666 +/* 00000748 00000788 A8 FF 00 0A */ lha r7, 0xa(r31) +/* 0000074C 0000078C 3B 83 66 67 */ addi r28, r3, 0x6667 +/* 00000750 00000790 80 77 00 00 */ lwz r3, 0x0(r23) +/* 00000754 00000794 7C 1C 38 96 */ mulhw r0, r28, r7 +/* 00000758 00000798 83 5F 00 5C */ lwz r26, 0x5c(r31) +/* 0000075C 0000079C 80 63 00 00 */ lwz r3, 0x0(r3) +/* 00000760 000007A0 80 9A 00 18 */ lwz r4, 0x18(r26) +/* 00000764 000007A4 80 63 00 00 */ lwz r3, 0x0(r3) +/* 00000768 000007A8 7C 00 16 70 */ srawi r0, r0, 2 +/* 0000076C 000007AC 80 A4 00 08 */ lwz r5, 0x8(r4) +/* 00000770 000007B0 54 06 0F FE */ srwi r6, r0, 31 +/* 00000774 000007B4 80 83 00 08 */ lwz r4, 0x8(r3) +/* 00000778 000007B8 7C 00 32 14 */ add r0, r0, r6 +/* 0000077C 000007BC 80 65 00 08 */ lwz r3, 0x8(r5) +/* 00000780 000007C0 1C 00 00 0A */ mulli r0, r0, 0xa +/* 00000784 000007C4 80 84 00 08 */ lwz r4, 0x8(r4) +/* 00000788 000007C8 7C 00 38 50 */ subf r0, r0, r7 +/* 0000078C 000007CC 54 18 06 3E */ clrlwi r24, r0, 24 +/* 00000790 000007D0 48 00 00 01 */ bl HSD_TObjAddAnimAll +/* 00000794 000007D4 93 01 00 B4 */ stw r24, 0xb4(r1) +/* 00000798 000007D8 3F 60 43 30 */ lis r27, 0x4330 +/* 0000079C 000007DC 80 7A 00 18 */ lwz r3, 0x18(r26) +/* 000007A0 000007E0 93 61 00 B0 */ stw r27, 0xb0(r1) +/* 000007A4 000007E4 80 63 00 08 */ lwz r3, 0x8(r3) +/* 000007A8 000007E8 C8 20 00 00 */ lfd f1, ifStatus_804DDA58@sda21(r0) +/* 000007AC 000007EC C8 01 00 B0 */ lfd f0, 0xb0(r1) +/* 000007B0 000007F0 C0 40 00 00 */ lfs f2, ifStatus_804DDA50@sda21(r0) +/* 000007B4 000007F4 EC 00 08 28 */ fsubs f0, f0, f1 +/* 000007B8 000007F8 80 63 00 08 */ lwz r3, 0x8(r3) +/* 000007BC 000007FC EC 22 00 32 */ fmuls f1, f2, f0 +/* 000007C0 00000800 48 00 00 01 */ bl HSD_TObjReqAnimAll +/* 000007C4 00000804 80 7A 00 18 */ lwz r3, 0x18(r26) +/* 000007C8 00000808 C0 20 00 00 */ lfs f1, ifStatus_804DDA4C@sda21(r0) +/* 000007CC 0000080C 80 63 00 08 */ lwz r3, 0x8(r3) +/* 000007D0 00000810 80 63 00 08 */ lwz r3, 0x8(r3) +/* 000007D4 00000814 80 63 00 64 */ lwz r3, 0x64(r3) +/* 000007D8 00000818 48 00 00 01 */ bl HSD_AObjSetRate +/* 000007DC 0000081C 3C 60 51 EC */ lis r3, 0x51ec +/* 000007E0 00000820 A8 FF 00 0A */ lha r7, 0xa(r31) +/* 000007E4 00000824 3B 43 85 1F */ subi r26, r3, 0x7ae1 +/* 000007E8 00000828 80 77 00 00 */ lwz r3, 0x0(r23) +/* 000007EC 0000082C 7C 1A 38 96 */ mulhw r0, r26, r7 +/* 000007F0 00000830 83 1F 00 58 */ lwz r24, 0x58(r31) +/* 000007F4 00000834 80 63 00 00 */ lwz r3, 0x0(r3) +/* 000007F8 00000838 80 98 00 18 */ lwz r4, 0x18(r24) +/* 000007FC 0000083C 80 63 00 00 */ lwz r3, 0x0(r3) +/* 00000800 00000840 7C 00 2E 70 */ srawi r0, r0, 5 +/* 00000804 00000844 80 A4 00 08 */ lwz r5, 0x8(r4) +/* 00000808 00000848 54 06 0F FE */ srwi r6, r0, 31 +/* 0000080C 0000084C 80 83 00 08 */ lwz r4, 0x8(r3) +/* 00000810 00000850 7C 00 32 14 */ add r0, r0, r6 +/* 00000814 00000854 80 65 00 08 */ lwz r3, 0x8(r5) +/* 00000818 00000858 1C 00 00 64 */ mulli r0, r0, 0x64 +/* 0000081C 0000085C 80 84 00 08 */ lwz r4, 0x8(r4) +/* 00000820 00000860 7C 00 38 50 */ subf r0, r0, r7 +/* 00000824 00000864 7C 1C 00 96 */ mulhw r0, r28, r0 +/* 00000828 00000868 7C 00 16 70 */ srawi r0, r0, 2 +/* 0000082C 0000086C 54 05 0F FE */ srwi r5, r0, 31 +/* 00000830 00000870 7C 00 2A 14 */ add r0, r0, r5 +/* 00000834 00000874 54 1C 06 3E */ clrlwi r28, r0, 24 +/* 00000838 00000878 48 00 00 01 */ bl HSD_TObjAddAnimAll +/* 0000083C 0000087C 93 81 00 AC */ stw r28, 0xac(r1) +/* 00000840 00000880 80 78 00 18 */ lwz r3, 0x18(r24) +/* 00000844 00000884 93 61 00 A8 */ stw r27, 0xa8(r1) +/* 00000848 00000888 80 63 00 08 */ lwz r3, 0x8(r3) +/* 0000084C 0000088C C8 20 00 00 */ lfd f1, ifStatus_804DDA58@sda21(r0) +/* 00000850 00000890 C8 01 00 A8 */ lfd f0, 0xa8(r1) +/* 00000854 00000894 C0 40 00 00 */ lfs f2, ifStatus_804DDA50@sda21(r0) +/* 00000858 00000898 EC 00 08 28 */ fsubs f0, f0, f1 +/* 0000085C 0000089C 80 63 00 08 */ lwz r3, 0x8(r3) +/* 00000860 000008A0 EC 22 00 32 */ fmuls f1, f2, f0 +/* 00000864 000008A4 48 00 00 01 */ bl HSD_TObjReqAnimAll +/* 00000868 000008A8 80 78 00 18 */ lwz r3, 0x18(r24) +/* 0000086C 000008AC C0 20 00 00 */ lfs f1, ifStatus_804DDA4C@sda21(r0) +/* 00000870 000008B0 80 63 00 08 */ lwz r3, 0x8(r3) +/* 00000874 000008B4 80 63 00 08 */ lwz r3, 0x8(r3) +/* 00000878 000008B8 80 63 00 64 */ lwz r3, 0x64(r3) +/* 0000087C 000008BC 48 00 00 01 */ bl HSD_AObjSetRate +/* 00000880 000008C0 3C 60 10 62 */ lis r3, 0x1062 +/* 00000884 000008C4 A8 FF 00 0A */ lha r7, 0xa(r31) +/* 00000888 000008C8 38 03 4D D3 */ addi r0, r3, 0x4dd3 +/* 0000088C 000008CC 80 77 00 00 */ lwz r3, 0x0(r23) +/* 00000890 000008D0 7C 00 38 96 */ mulhw r0, r0, r7 +/* 00000894 000008D4 83 1F 00 54 */ lwz r24, 0x54(r31) +/* 00000898 000008D8 80 63 00 00 */ lwz r3, 0x0(r3) +/* 0000089C 000008DC 80 98 00 18 */ lwz r4, 0x18(r24) +/* 000008A0 000008E0 80 63 00 00 */ lwz r3, 0x0(r3) +/* 000008A4 000008E4 7C 00 36 70 */ srawi r0, r0, 6 +/* 000008A8 000008E8 80 A4 00 08 */ lwz r5, 0x8(r4) +/* 000008AC 000008EC 54 06 0F FE */ srwi r6, r0, 31 +/* 000008B0 000008F0 80 83 00 08 */ lwz r4, 0x8(r3) +/* 000008B4 000008F4 7C 00 32 14 */ add r0, r0, r6 +/* 000008B8 000008F8 80 65 00 08 */ lwz r3, 0x8(r5) +/* 000008BC 000008FC 1C 00 03 E8 */ mulli r0, r0, 0x3e8 +/* 000008C0 00000900 80 84 00 08 */ lwz r4, 0x8(r4) +/* 000008C4 00000904 7C 00 38 50 */ subf r0, r0, r7 +/* 000008C8 00000908 7C 1A 00 96 */ mulhw r0, r26, r0 +/* 000008CC 0000090C 7C 00 2E 70 */ srawi r0, r0, 5 +/* 000008D0 00000910 54 05 0F FE */ srwi r5, r0, 31 +/* 000008D4 00000914 7C 00 2A 14 */ add r0, r0, r5 +/* 000008D8 00000918 54 17 06 3E */ clrlwi r23, r0, 24 +/* 000008DC 0000091C 48 00 00 01 */ bl HSD_TObjAddAnimAll +/* 000008E0 00000920 92 E1 00 A4 */ stw r23, 0xa4(r1) +/* 000008E4 00000924 80 78 00 18 */ lwz r3, 0x18(r24) +/* 000008E8 00000928 93 61 00 A0 */ stw r27, 0xa0(r1) +/* 000008EC 0000092C 80 63 00 08 */ lwz r3, 0x8(r3) +/* 000008F0 00000930 C8 20 00 00 */ lfd f1, ifStatus_804DDA58@sda21(r0) +/* 000008F4 00000934 C8 01 00 A0 */ lfd f0, 0xa0(r1) +/* 000008F8 00000938 C0 40 00 00 */ lfs f2, ifStatus_804DDA50@sda21(r0) +/* 000008FC 0000093C EC 00 08 28 */ fsubs f0, f0, f1 +/* 00000900 00000940 80 63 00 08 */ lwz r3, 0x8(r3) +/* 00000904 00000944 EC 22 00 32 */ fmuls f1, f2, f0 +/* 00000908 00000948 48 00 00 01 */ bl HSD_TObjReqAnimAll +/* 0000090C 0000094C 80 78 00 18 */ lwz r3, 0x18(r24) +/* 00000910 00000950 C0 20 00 00 */ lfs f1, ifStatus_804DDA4C@sda21(r0) +/* 00000914 00000954 80 63 00 08 */ lwz r3, 0x8(r3) +/* 00000918 00000958 80 63 00 08 */ lwz r3, 0x8(r3) +/* 0000091C 0000095C 80 63 00 64 */ lwz r3, 0x64(r3) +/* 00000920 00000960 48 00 00 01 */ bl HSD_AObjSetRate +.L_00000924: +/* 00000924 00000964 7F C3 F3 78 */ mr r3, r30 +/* 00000928 00000968 48 00 00 01 */ bl HSD_JObjAnimAll +/* 0000092C 0000096C 3C 60 66 66 */ lis r3, 0x6666 +/* 00000930 00000970 A8 DF 00 0A */ lha r6, 0xa(r31) +/* 00000934 00000974 3B 43 66 67 */ addi r26, r3, 0x6667 +/* 00000938 00000978 83 1F 00 5C */ lwz r24, 0x5c(r31) +/* 0000093C 0000097C 7C 1A 30 96 */ mulhw r0, r26, r6 +/* 00000940 00000980 80 78 00 18 */ lwz r3, 0x18(r24) +/* 00000944 00000984 80 63 00 08 */ lwz r3, 0x8(r3) +/* 00000948 00000988 3A F9 02 60 */ addi r23, r25, 0x260 +/* 0000094C 0000098C 80 63 00 08 */ lwz r3, 0x8(r3) +/* 00000950 00000990 80 99 02 60 */ lwz r4, 0x260(r25) +/* 00000954 00000994 7C 00 16 70 */ srawi r0, r0, 2 +/* 00000958 00000998 54 05 0F FE */ srwi r5, r0, 31 +/* 0000095C 0000099C 80 84 00 00 */ lwz r4, 0x0(r4) +/* 00000960 000009A0 7C 00 2A 14 */ add r0, r0, r5 +/* 00000964 000009A4 1C 00 00 0A */ mulli r0, r0, 0xa +/* 00000968 000009A8 80 84 00 00 */ lwz r4, 0x0(r4) +/* 0000096C 000009AC 80 84 00 08 */ lwz r4, 0x8(r4) +/* 00000970 000009B0 7C 00 30 50 */ subf r0, r0, r6 +/* 00000974 000009B4 54 19 06 3E */ clrlwi r25, r0, 24 +/* 00000978 000009B8 80 84 00 08 */ lwz r4, 0x8(r4) +/* 0000097C 000009BC 48 00 00 01 */ bl HSD_TObjAddAnimAll +/* 00000980 000009C0 93 21 00 A4 */ stw r25, 0xa4(r1) +/* 00000984 000009C4 3F 80 43 30 */ lis r28, 0x4330 +/* 00000988 000009C8 80 78 00 18 */ lwz r3, 0x18(r24) +/* 0000098C 000009CC 93 81 00 A0 */ stw r28, 0xa0(r1) +/* 00000990 000009D0 80 63 00 08 */ lwz r3, 0x8(r3) +/* 00000994 000009D4 C8 20 00 00 */ lfd f1, ifStatus_804DDA58@sda21(r0) +/* 00000998 000009D8 C8 01 00 A0 */ lfd f0, 0xa0(r1) +/* 0000099C 000009DC C0 40 00 00 */ lfs f2, ifStatus_804DDA50@sda21(r0) +/* 000009A0 000009E0 EC 00 08 28 */ fsubs f0, f0, f1 +/* 000009A4 000009E4 80 63 00 08 */ lwz r3, 0x8(r3) +/* 000009A8 000009E8 EC 22 00 32 */ fmuls f1, f2, f0 +/* 000009AC 000009EC 48 00 00 01 */ bl HSD_TObjReqAnimAll +/* 000009B0 000009F0 80 78 00 18 */ lwz r3, 0x18(r24) +/* 000009B4 000009F4 C0 20 00 00 */ lfs f1, ifStatus_804DDA4C@sda21(r0) +/* 000009B8 000009F8 80 63 00 08 */ lwz r3, 0x8(r3) +/* 000009BC 000009FC 80 63 00 08 */ lwz r3, 0x8(r3) +/* 000009C0 00000A00 80 63 00 64 */ lwz r3, 0x64(r3) +/* 000009C4 00000A04 48 00 00 01 */ bl HSD_AObjSetRate +/* 000009C8 00000A08 3C 60 51 EC */ lis r3, 0x51ec +/* 000009CC 00000A0C A8 FF 00 0A */ lha r7, 0xa(r31) +/* 000009D0 00000A10 3B 63 85 1F */ subi r27, r3, 0x7ae1 +/* 000009D4 00000A14 80 77 00 00 */ lwz r3, 0x0(r23) +/* 000009D8 00000A18 7C 1B 38 96 */ mulhw r0, r27, r7 +/* 000009DC 00000A1C 83 1F 00 58 */ lwz r24, 0x58(r31) +/* 000009E0 00000A20 80 63 00 00 */ lwz r3, 0x0(r3) +/* 000009E4 00000A24 80 98 00 18 */ lwz r4, 0x18(r24) +/* 000009E8 00000A28 80 63 00 00 */ lwz r3, 0x0(r3) +/* 000009EC 00000A2C 7C 00 2E 70 */ srawi r0, r0, 5 +/* 000009F0 00000A30 80 A4 00 08 */ lwz r5, 0x8(r4) +/* 000009F4 00000A34 54 06 0F FE */ srwi r6, r0, 31 +/* 000009F8 00000A38 80 83 00 08 */ lwz r4, 0x8(r3) +/* 000009FC 00000A3C 7C 00 32 14 */ add r0, r0, r6 +/* 00000A00 00000A40 80 65 00 08 */ lwz r3, 0x8(r5) +/* 00000A04 00000A44 1C 00 00 64 */ mulli r0, r0, 0x64 +/* 00000A08 00000A48 80 84 00 08 */ lwz r4, 0x8(r4) +/* 00000A0C 00000A4C 7C 00 38 50 */ subf r0, r0, r7 +/* 00000A10 00000A50 7C 1A 00 96 */ mulhw r0, r26, r0 +/* 00000A14 00000A54 7C 00 16 70 */ srawi r0, r0, 2 +/* 00000A18 00000A58 54 05 0F FE */ srwi r5, r0, 31 +/* 00000A1C 00000A5C 7C 00 2A 14 */ add r0, r0, r5 +/* 00000A20 00000A60 54 19 06 3E */ clrlwi r25, r0, 24 +/* 00000A24 00000A64 48 00 00 01 */ bl HSD_TObjAddAnimAll +/* 00000A28 00000A68 93 21 00 AC */ stw r25, 0xac(r1) +/* 00000A2C 00000A6C 80 78 00 18 */ lwz r3, 0x18(r24) +/* 00000A30 00000A70 93 81 00 A8 */ stw r28, 0xa8(r1) +/* 00000A34 00000A74 80 63 00 08 */ lwz r3, 0x8(r3) +/* 00000A38 00000A78 C8 20 00 00 */ lfd f1, ifStatus_804DDA58@sda21(r0) +/* 00000A3C 00000A7C C8 01 00 A8 */ lfd f0, 0xa8(r1) +/* 00000A40 00000A80 C0 40 00 00 */ lfs f2, ifStatus_804DDA50@sda21(r0) +/* 00000A44 00000A84 EC 00 08 28 */ fsubs f0, f0, f1 +/* 00000A48 00000A88 80 63 00 08 */ lwz r3, 0x8(r3) +/* 00000A4C 00000A8C EC 22 00 32 */ fmuls f1, f2, f0 +/* 00000A50 00000A90 48 00 00 01 */ bl HSD_TObjReqAnimAll +/* 00000A54 00000A94 80 78 00 18 */ lwz r3, 0x18(r24) +/* 00000A58 00000A98 C0 20 00 00 */ lfs f1, ifStatus_804DDA4C@sda21(r0) +/* 00000A5C 00000A9C 80 63 00 08 */ lwz r3, 0x8(r3) +/* 00000A60 00000AA0 80 63 00 08 */ lwz r3, 0x8(r3) +/* 00000A64 00000AA4 80 63 00 64 */ lwz r3, 0x64(r3) +/* 00000A68 00000AA8 48 00 00 01 */ bl HSD_AObjSetRate +/* 00000A6C 00000AAC 3C 60 10 62 */ lis r3, 0x1062 +/* 00000A70 00000AB0 A8 9F 00 0A */ lha r4, 0xa(r31) +/* 00000A74 00000AB4 38 03 4D D3 */ addi r0, r3, 0x4dd3 +/* 00000A78 00000AB8 7C 00 20 96 */ mulhw r0, r0, r4 +/* 00000A7C 00000ABC 7C 00 36 70 */ srawi r0, r0, 6 +/* 00000A80 00000AC0 54 03 0F FE */ srwi r3, r0, 31 +/* 00000A84 00000AC4 7C 00 1A 14 */ add r0, r0, r3 +/* 00000A88 00000AC8 1C 00 03 E8 */ mulli r0, r0, 0x3e8 +/* 00000A8C 00000ACC 7C 00 20 50 */ subf r0, r0, r4 +/* 00000A90 00000AD0 7C 1B 00 96 */ mulhw r0, r27, r0 +/* 00000A94 00000AD4 7C 00 2E 70 */ srawi r0, r0, 5 +/* 00000A98 00000AD8 54 03 0F FE */ srwi r3, r0, 31 +/* 00000A9C 00000ADC 7C 00 1A 15 */ add. r0, r0, r3 +/* 00000AA0 00000AE0 40 82 00 40 */ bne .L_00000AE0 +/* 00000AA4 00000AE4 7C 1B 20 96 */ mulhw r0, r27, r4 +/* 00000AA8 00000AE8 7C 00 2E 70 */ srawi r0, r0, 5 +/* 00000AAC 00000AEC 54 03 0F FE */ srwi r3, r0, 31 +/* 00000AB0 00000AF0 7C 00 1A 14 */ add r0, r0, r3 +/* 00000AB4 00000AF4 1C 00 00 64 */ mulli r0, r0, 0x64 +/* 00000AB8 00000AF8 7C 00 20 50 */ subf r0, r0, r4 +/* 00000ABC 00000AFC 7C 1A 00 96 */ mulhw r0, r26, r0 +/* 00000AC0 00000B00 7C 00 16 70 */ srawi r0, r0, 2 +/* 00000AC4 00000B04 54 03 0F FE */ srwi r3, r0, 31 +/* 00000AC8 00000B08 7C 00 1A 15 */ add. r0, r0, r3 +/* 00000ACC 00000B0C 40 82 00 14 */ bne .L_00000AE0 +/* 00000AD0 00000B10 80 7F 00 58 */ lwz r3, 0x58(r31) +/* 00000AD4 00000B14 38 80 00 10 */ li r4, 0x10 +/* 00000AD8 00000B18 48 00 00 01 */ bl HSD_JObjSetFlagsAll +/* 00000ADC 00000B1C 48 00 00 10 */ b .L_00000AEC +.L_00000AE0: +/* 00000AE0 00000B20 80 7F 00 58 */ lwz r3, 0x58(r31) +/* 00000AE4 00000B24 38 80 00 10 */ li r4, 0x10 +/* 00000AE8 00000B28 48 00 00 01 */ bl HSD_JObjClearFlagsAll +.L_00000AEC: +/* 00000AEC 00000B2C 3C 60 10 62 */ lis r3, 0x1062 +/* 00000AF0 00000B30 A8 FF 00 0A */ lha r7, 0xa(r31) +/* 00000AF4 00000B34 3B 83 4D D3 */ addi r28, r3, 0x4dd3 +/* 00000AF8 00000B38 80 77 00 00 */ lwz r3, 0x0(r23) +/* 00000AFC 00000B3C 7C 1C 38 96 */ mulhw r0, r28, r7 +/* 00000B00 00000B40 83 1F 00 54 */ lwz r24, 0x54(r31) +/* 00000B04 00000B44 80 63 00 00 */ lwz r3, 0x0(r3) +/* 00000B08 00000B48 80 98 00 18 */ lwz r4, 0x18(r24) +/* 00000B0C 00000B4C 80 63 00 00 */ lwz r3, 0x0(r3) +/* 00000B10 00000B50 7C 00 36 70 */ srawi r0, r0, 6 +/* 00000B14 00000B54 80 A4 00 08 */ lwz r5, 0x8(r4) +/* 00000B18 00000B58 54 06 0F FE */ srwi r6, r0, 31 +/* 00000B1C 00000B5C 80 83 00 08 */ lwz r4, 0x8(r3) +/* 00000B20 00000B60 7C 00 32 14 */ add r0, r0, r6 +/* 00000B24 00000B64 80 65 00 08 */ lwz r3, 0x8(r5) +/* 00000B28 00000B68 1C 00 03 E8 */ mulli r0, r0, 0x3e8 +/* 00000B2C 00000B6C 80 84 00 08 */ lwz r4, 0x8(r4) +/* 00000B30 00000B70 3C A0 51 EC */ lis r5, 0x51ec +/* 00000B34 00000B74 7C 00 38 50 */ subf r0, r0, r7 +/* 00000B38 00000B78 3B 65 85 1F */ subi r27, r5, 0x7ae1 +/* 00000B3C 00000B7C 7C 1B 00 96 */ mulhw r0, r27, r0 +/* 00000B40 00000B80 7C 00 2E 70 */ srawi r0, r0, 5 +/* 00000B44 00000B84 54 05 0F FE */ srwi r5, r0, 31 +/* 00000B48 00000B88 7C 00 2A 14 */ add r0, r0, r5 +/* 00000B4C 00000B8C 54 17 06 3E */ clrlwi r23, r0, 24 +/* 00000B50 00000B90 48 00 00 01 */ bl HSD_TObjAddAnimAll +/* 00000B54 00000B94 92 E1 00 A4 */ stw r23, 0xa4(r1) +/* 00000B58 00000B98 3C 00 43 30 */ lis r0, 0x4330 +/* 00000B5C 00000B9C 80 78 00 18 */ lwz r3, 0x18(r24) +/* 00000B60 00000BA0 90 01 00 A0 */ stw r0, 0xa0(r1) +/* 00000B64 00000BA4 80 63 00 08 */ lwz r3, 0x8(r3) +/* 00000B68 00000BA8 C8 20 00 00 */ lfd f1, ifStatus_804DDA58@sda21(r0) +/* 00000B6C 00000BAC C8 01 00 A0 */ lfd f0, 0xa0(r1) +/* 00000B70 00000BB0 C0 40 00 00 */ lfs f2, ifStatus_804DDA50@sda21(r0) +/* 00000B74 00000BB4 EC 00 08 28 */ fsubs f0, f0, f1 +/* 00000B78 00000BB8 80 63 00 08 */ lwz r3, 0x8(r3) +/* 00000B7C 00000BBC EC 22 00 32 */ fmuls f1, f2, f0 +/* 00000B80 00000BC0 48 00 00 01 */ bl HSD_TObjReqAnimAll +/* 00000B84 00000BC4 80 78 00 18 */ lwz r3, 0x18(r24) +/* 00000B88 00000BC8 C0 20 00 00 */ lfs f1, ifStatus_804DDA4C@sda21(r0) +/* 00000B8C 00000BCC 80 63 00 08 */ lwz r3, 0x8(r3) +/* 00000B90 00000BD0 80 63 00 08 */ lwz r3, 0x8(r3) +/* 00000B94 00000BD4 80 63 00 64 */ lwz r3, 0x64(r3) +/* 00000B98 00000BD8 48 00 00 01 */ bl HSD_AObjSetRate +/* 00000B9C 00000BDC A8 9F 00 0A */ lha r4, 0xa(r31) +/* 00000BA0 00000BE0 7C 1C 20 96 */ mulhw r0, r28, r4 +/* 00000BA4 00000BE4 7C 00 36 70 */ srawi r0, r0, 6 +/* 00000BA8 00000BE8 54 03 0F FE */ srwi r3, r0, 31 +/* 00000BAC 00000BEC 7C 00 1A 14 */ add r0, r0, r3 +/* 00000BB0 00000BF0 1C 00 03 E8 */ mulli r0, r0, 0x3e8 +/* 00000BB4 00000BF4 7C 00 20 50 */ subf r0, r0, r4 +/* 00000BB8 00000BF8 7C 1B 00 96 */ mulhw r0, r27, r0 +/* 00000BBC 00000BFC 7C 00 2E 70 */ srawi r0, r0, 5 +/* 00000BC0 00000C00 54 03 0F FE */ srwi r3, r0, 31 +/* 00000BC4 00000C04 7C 00 1A 15 */ add. r0, r0, r3 +/* 00000BC8 00000C08 40 82 00 14 */ bne .L_00000BDC +/* 00000BCC 00000C0C 80 7F 00 54 */ lwz r3, 0x54(r31) +/* 00000BD0 00000C10 38 80 00 10 */ li r4, 0x10 +/* 00000BD4 00000C14 48 00 00 01 */ bl HSD_JObjSetFlagsAll +/* 00000BD8 00000C18 48 00 00 10 */ b .L_00000BE8 +.L_00000BDC: +/* 00000BDC 00000C1C 80 7F 00 54 */ lwz r3, 0x54(r31) +/* 00000BE0 00000C20 38 80 00 10 */ li r4, 0x10 +/* 00000BE4 00000C24 48 00 00 01 */ bl HSD_JObjClearFlagsAll +.L_00000BE8: +/* 00000BE8 00000C28 A8 7F 00 0C */ lha r3, 0xc(r31) +/* 00000BEC 00000C2C A8 1F 00 0A */ lha r0, 0xa(r31) +/* 00000BF0 00000C30 7C 03 00 00 */ cmpw r3, r0 +/* 00000BF4 00000C34 41 82 03 2C */ beq .L_00000F20 +/* 00000BF8 00000C38 88 7F 00 08 */ lbz r3, 0x8(r31) +/* 00000BFC 00000C3C 7C 63 07 74 */ extsb r3, r3 +/* 00000C00 00000C40 48 00 00 01 */ bl Player_GetMoreFlagsBit2 +/* 00000C04 00000C44 2C 03 00 00 */ cmpwi r3, 0x0 +/* 00000C08 00000C48 41 82 01 40 */ beq .L_00000D48 +/* 00000C0C 00000C4C A8 7F 00 0A */ lha r3, 0xa(r31) +/* 00000C10 00000C50 2C 03 00 64 */ cmpwi r3, 0x64 +/* 00000C14 00000C54 40 81 00 0C */ ble .L_00000C20 +/* 00000C18 00000C58 38 60 00 64 */ li r3, 0x64 +/* 00000C1C 00000C5C 48 00 00 10 */ b .L_00000C2C +.L_00000C20: +/* 00000C20 00000C60 7C 60 07 35 */ extsh. r0, r3 +/* 00000C24 00000C64 40 80 00 08 */ bge .L_00000C2C +/* 00000C28 00000C68 38 60 00 00 */ li r3, 0x0 +.L_00000C2C: +/* 00000C2C 00000C6C 7C 60 07 34 */ extsh r0, r3 +/* 00000C30 00000C70 88 E0 00 00 */ lbz r7, ifStatus_804D57A8@sda21(r0) +/* 00000C34 00000C74 6C 03 80 00 */ xoris r3, r0, 0x8000 +/* 00000C38 00000C78 88 00 00 00 */ lbz r0, ifStatus_804D57AC@sda21(r0) +/* 00000C3C 00000C7C 90 61 00 A4 */ stw r3, 0xa4(r1) +/* 00000C40 00000C80 3C C0 43 30 */ lis r6, 0x4330 +/* 00000C44 00000C84 7C 07 00 50 */ subf r0, r7, r0 +/* 00000C48 00000C88 C8 80 00 00 */ lfd f4, ifStatus_804DDA60@sda21(r0) +/* 00000C4C 00000C8C 90 C1 00 A0 */ stw r6, 0xa0(r1) +/* 00000C50 00000C90 6C 00 80 00 */ xoris r0, r0, 0x8000 +/* 00000C54 00000C94 C0 00 00 00 */ lfs f0, ifStatus_804DDA6C@sda21(r0) +/* 00000C58 00000C98 C8 21 00 A0 */ lfd f1, 0xa0(r1) +/* 00000C5C 00000C9C 38 A0 00 00 */ li r5, ifStatus_804D57A8@sda21 +/* 00000C60 00000CA0 90 01 00 AC */ stw r0, 0xac(r1) +/* 00000C64 00000CA4 38 80 00 00 */ li r4, ifStatus_804D57AC@sda21 +/* 00000C68 00000CA8 EC 21 20 28 */ fsubs f1, f1, f4 +/* 00000C6C 00000CAC 90 E1 00 B4 */ stw r7, 0xb4(r1) +/* 00000C70 00000CB0 38 00 00 FF */ li r0, 0xff +/* 00000C74 00000CB4 C0 A0 00 00 */ lfs f5, ifStatus_804DDA48@sda21(r0) +/* 00000C78 00000CB8 EC 61 00 24 */ fdivs f3, f1, f0 +/* 00000C7C 00000CBC 90 C1 00 A8 */ stw r6, 0xa8(r1) +/* 00000C80 00000CC0 C8 40 00 00 */ lfd f2, ifStatus_804DDA58@sda21(r0) +/* 00000C84 00000CC4 90 C1 00 B0 */ stw r6, 0xb0(r1) +/* 00000C88 00000CC8 C8 21 00 A8 */ lfd f1, 0xa8(r1) +/* 00000C8C 00000CCC C8 01 00 B0 */ lfd f0, 0xb0(r1) +/* 00000C90 00000CD0 EC 65 18 28 */ fsubs f3, f5, f3 +/* 00000C94 00000CD4 EC 21 20 28 */ fsubs f1, f1, f4 +/* 00000C98 00000CD8 EC 00 10 28 */ fsubs f0, f0, f2 +/* 00000C9C 00000CDC EC 03 00 7A */ fmadds f0, f3, f1, f0 +/* 00000CA0 00000CE0 FC 00 00 1E */ fctiwz f0, f0 +/* 00000CA4 00000CE4 D8 01 00 98 */ stfd f0, 0x98(r1) +/* 00000CA8 00000CE8 80 61 00 9C */ lwz r3, 0x9c(r1) +/* 00000CAC 00000CEC 98 61 00 40 */ stb r3, 0x40(r1) +/* 00000CB0 00000CF0 88 E5 00 01 */ lbz r7, 0x1(r5) +/* 00000CB4 00000CF4 88 64 00 01 */ lbz r3, 0x1(r4) +/* 00000CB8 00000CF8 90 E1 00 8C */ stw r7, 0x8c(r1) +/* 00000CBC 00000CFC 7C 67 18 50 */ subf r3, r7, r3 +/* 00000CC0 00000D00 6C 63 80 00 */ xoris r3, r3, 0x8000 +/* 00000CC4 00000D04 90 C1 00 88 */ stw r6, 0x88(r1) +/* 00000CC8 00000D08 90 61 00 94 */ stw r3, 0x94(r1) +/* 00000CCC 00000D0C C8 01 00 88 */ lfd f0, 0x88(r1) +/* 00000CD0 00000D10 90 C1 00 90 */ stw r6, 0x90(r1) +/* 00000CD4 00000D14 EC 00 10 28 */ fsubs f0, f0, f2 +/* 00000CD8 00000D18 C8 21 00 90 */ lfd f1, 0x90(r1) +/* 00000CDC 00000D1C EC 21 20 28 */ fsubs f1, f1, f4 +/* 00000CE0 00000D20 EC 03 00 7A */ fmadds f0, f3, f1, f0 +/* 00000CE4 00000D24 FC 00 00 1E */ fctiwz f0, f0 +/* 00000CE8 00000D28 D8 01 00 80 */ stfd f0, 0x80(r1) +/* 00000CEC 00000D2C 80 61 00 84 */ lwz r3, 0x84(r1) +/* 00000CF0 00000D30 98 61 00 41 */ stb r3, 0x41(r1) +/* 00000CF4 00000D34 88 A5 00 02 */ lbz r5, 0x2(r5) +/* 00000CF8 00000D38 88 64 00 02 */ lbz r3, 0x2(r4) +/* 00000CFC 00000D3C 90 A1 00 74 */ stw r5, 0x74(r1) +/* 00000D00 00000D40 7C 65 18 50 */ subf r3, r5, r3 +/* 00000D04 00000D44 6C 63 80 00 */ xoris r3, r3, 0x8000 +/* 00000D08 00000D48 90 C1 00 70 */ stw r6, 0x70(r1) +/* 00000D0C 00000D4C 90 61 00 7C */ stw r3, 0x7c(r1) +/* 00000D10 00000D50 C8 01 00 70 */ lfd f0, 0x70(r1) +/* 00000D14 00000D54 90 C1 00 78 */ stw r6, 0x78(r1) +/* 00000D18 00000D58 EC 00 10 28 */ fsubs f0, f0, f2 +/* 00000D1C 00000D5C C8 21 00 78 */ lfd f1, 0x78(r1) +/* 00000D20 00000D60 EC 21 20 28 */ fsubs f1, f1, f4 +/* 00000D24 00000D64 EC 03 00 7A */ fmadds f0, f3, f1, f0 +/* 00000D28 00000D68 FC 00 00 1E */ fctiwz f0, f0 +/* 00000D2C 00000D6C D8 01 00 68 */ stfd f0, 0x68(r1) +/* 00000D30 00000D70 80 61 00 6C */ lwz r3, 0x6c(r1) +/* 00000D34 00000D74 98 61 00 42 */ stb r3, 0x42(r1) +/* 00000D38 00000D78 98 01 00 43 */ stb r0, 0x43(r1) +/* 00000D3C 00000D7C 80 01 00 40 */ lwz r0, 0x40(r1) +/* 00000D40 00000D80 90 01 00 60 */ stw r0, 0x60(r1) +/* 00000D44 00000D84 48 00 01 34 */ b .L_00000E78 +.L_00000D48: +/* 00000D48 00000D88 A8 7F 00 0A */ lha r3, 0xa(r31) +/* 00000D4C 00000D8C 2C 03 01 2C */ cmpwi r3, 0x12c +/* 00000D50 00000D90 40 81 00 0C */ ble .L_00000D5C +/* 00000D54 00000D94 38 60 01 2C */ li r3, 0x12c +/* 00000D58 00000D98 48 00 00 10 */ b .L_00000D68 +.L_00000D5C: +/* 00000D5C 00000D9C 7C 60 07 35 */ extsh. r0, r3 +/* 00000D60 00000DA0 40 80 00 08 */ bge .L_00000D68 +/* 00000D64 00000DA4 38 60 00 00 */ li r3, 0x0 +.L_00000D68: +/* 00000D68 00000DA8 7C 60 07 34 */ extsh r0, r3 +/* 00000D6C 00000DAC 88 E0 00 00 */ lbz r7, ifStatus_804D57A8@sda21(r0) +/* 00000D70 00000DB0 6C 03 80 00 */ xoris r3, r0, 0x8000 +/* 00000D74 00000DB4 88 00 00 00 */ lbz r0, ifStatus_804D57AC@sda21(r0) +/* 00000D78 00000DB8 90 61 00 6C */ stw r3, 0x6c(r1) +/* 00000D7C 00000DBC 3C C0 43 30 */ lis r6, 0x4330 +/* 00000D80 00000DC0 7C 07 00 50 */ subf r0, r7, r0 +/* 00000D84 00000DC4 C8 60 00 00 */ lfd f3, ifStatus_804DDA60@sda21(r0) +/* 00000D88 00000DC8 90 C1 00 68 */ stw r6, 0x68(r1) +/* 00000D8C 00000DCC 6C 00 80 00 */ xoris r0, r0, 0x8000 +/* 00000D90 00000DD0 C0 00 00 00 */ lfs f0, ifStatus_804DDA68@sda21(r0) +/* 00000D94 00000DD4 C8 21 00 68 */ lfd f1, 0x68(r1) +/* 00000D98 00000DD8 38 A0 00 00 */ li r5, ifStatus_804D57A8@sda21 +/* 00000D9C 00000DDC 90 01 00 74 */ stw r0, 0x74(r1) +/* 00000DA0 00000DE0 38 80 00 00 */ li r4, ifStatus_804D57AC@sda21 +/* 00000DA4 00000DE4 EC 21 18 28 */ fsubs f1, f1, f3 +/* 00000DA8 00000DE8 90 E1 00 7C */ stw r7, 0x7c(r1) +/* 00000DAC 00000DEC 38 00 00 FF */ li r0, 0xff +/* 00000DB0 00000DF0 C8 40 00 00 */ lfd f2, ifStatus_804DDA58@sda21(r0) +/* 00000DB4 00000DF4 EC 81 00 24 */ fdivs f4, f1, f0 +/* 00000DB8 00000DF8 90 C1 00 70 */ stw r6, 0x70(r1) +/* 00000DBC 00000DFC 90 C1 00 78 */ stw r6, 0x78(r1) +/* 00000DC0 00000E00 C8 21 00 70 */ lfd f1, 0x70(r1) +/* 00000DC4 00000E04 C8 01 00 78 */ lfd f0, 0x78(r1) +/* 00000DC8 00000E08 EC 21 18 28 */ fsubs f1, f1, f3 +/* 00000DCC 00000E0C EC 00 10 28 */ fsubs f0, f0, f2 +/* 00000DD0 00000E10 EC 04 00 7A */ fmadds f0, f4, f1, f0 +/* 00000DD4 00000E14 FC 00 00 1E */ fctiwz f0, f0 +/* 00000DD8 00000E18 D8 01 00 80 */ stfd f0, 0x80(r1) +/* 00000DDC 00000E1C 80 61 00 84 */ lwz r3, 0x84(r1) +/* 00000DE0 00000E20 98 61 00 38 */ stb r3, 0x38(r1) +/* 00000DE4 00000E24 88 E5 00 01 */ lbz r7, 0x1(r5) +/* 00000DE8 00000E28 88 64 00 01 */ lbz r3, 0x1(r4) +/* 00000DEC 00000E2C 90 E1 00 94 */ stw r7, 0x94(r1) +/* 00000DF0 00000E30 7C 67 18 50 */ subf r3, r7, r3 +/* 00000DF4 00000E34 6C 63 80 00 */ xoris r3, r3, 0x8000 +/* 00000DF8 00000E38 90 C1 00 90 */ stw r6, 0x90(r1) +/* 00000DFC 00000E3C 90 61 00 8C */ stw r3, 0x8c(r1) +/* 00000E00 00000E40 C8 01 00 90 */ lfd f0, 0x90(r1) +/* 00000E04 00000E44 90 C1 00 88 */ stw r6, 0x88(r1) +/* 00000E08 00000E48 EC 00 10 28 */ fsubs f0, f0, f2 +/* 00000E0C 00000E4C C8 21 00 88 */ lfd f1, 0x88(r1) +/* 00000E10 00000E50 EC 21 18 28 */ fsubs f1, f1, f3 +/* 00000E14 00000E54 EC 04 00 7A */ fmadds f0, f4, f1, f0 +/* 00000E18 00000E58 FC 00 00 1E */ fctiwz f0, f0 +/* 00000E1C 00000E5C D8 01 00 98 */ stfd f0, 0x98(r1) +/* 00000E20 00000E60 80 61 00 9C */ lwz r3, 0x9c(r1) +/* 00000E24 00000E64 98 61 00 39 */ stb r3, 0x39(r1) +/* 00000E28 00000E68 88 A5 00 02 */ lbz r5, 0x2(r5) +/* 00000E2C 00000E6C 88 64 00 02 */ lbz r3, 0x2(r4) +/* 00000E30 00000E70 90 A1 00 AC */ stw r5, 0xac(r1) +/* 00000E34 00000E74 7C 65 18 50 */ subf r3, r5, r3 +/* 00000E38 00000E78 6C 63 80 00 */ xoris r3, r3, 0x8000 +/* 00000E3C 00000E7C 90 C1 00 A8 */ stw r6, 0xa8(r1) +/* 00000E40 00000E80 90 61 00 A4 */ stw r3, 0xa4(r1) +/* 00000E44 00000E84 C8 01 00 A8 */ lfd f0, 0xa8(r1) +/* 00000E48 00000E88 90 C1 00 A0 */ stw r6, 0xa0(r1) +/* 00000E4C 00000E8C EC 00 10 28 */ fsubs f0, f0, f2 +/* 00000E50 00000E90 C8 21 00 A0 */ lfd f1, 0xa0(r1) +/* 00000E54 00000E94 EC 21 18 28 */ fsubs f1, f1, f3 +/* 00000E58 00000E98 EC 04 00 7A */ fmadds f0, f4, f1, f0 +/* 00000E5C 00000E9C FC 00 00 1E */ fctiwz f0, f0 +/* 00000E60 00000EA0 D8 01 00 B0 */ stfd f0, 0xb0(r1) +/* 00000E64 00000EA4 80 61 00 B4 */ lwz r3, 0xb4(r1) +/* 00000E68 00000EA8 98 61 00 3A */ stb r3, 0x3a(r1) +/* 00000E6C 00000EAC 98 01 00 3B */ stb r0, 0x3b(r1) +/* 00000E70 00000EB0 80 01 00 38 */ lwz r0, 0x38(r1) +/* 00000E74 00000EB4 90 01 00 60 */ stw r0, 0x60(r1) +.L_00000E78: +/* 00000E78 00000EB8 80 7F 00 54 */ lwz r3, 0x54(r31) +/* 00000E7C 00000EBC 88 01 00 60 */ lbz r0, 0x60(r1) +/* 00000E80 00000EC0 80 63 00 18 */ lwz r3, 0x18(r3) +/* 00000E84 00000EC4 80 83 00 08 */ lwz r4, 0x8(r3) +/* 00000E88 00000EC8 80 64 00 0C */ lwz r3, 0xc(r4) +/* 00000E8C 00000ECC 98 03 00 04 */ stb r0, 0x4(r3) +/* 00000E90 00000ED0 88 A1 00 61 */ lbz r5, 0x61(r1) +/* 00000E94 00000ED4 80 64 00 0C */ lwz r3, 0xc(r4) +/* 00000E98 00000ED8 98 A3 00 05 */ stb r5, 0x5(r3) +/* 00000E9C 00000EDC 88 C1 00 62 */ lbz r6, 0x62(r1) +/* 00000EA0 00000EE0 80 64 00 0C */ lwz r3, 0xc(r4) +/* 00000EA4 00000EE4 98 C3 00 06 */ stb r6, 0x6(r3) +/* 00000EA8 00000EE8 80 7F 00 58 */ lwz r3, 0x58(r31) +/* 00000EAC 00000EEC 88 01 00 60 */ lbz r0, 0x60(r1) +/* 00000EB0 00000EF0 80 63 00 18 */ lwz r3, 0x18(r3) +/* 00000EB4 00000EF4 80 83 00 08 */ lwz r4, 0x8(r3) +/* 00000EB8 00000EF8 80 64 00 0C */ lwz r3, 0xc(r4) +/* 00000EBC 00000EFC 98 03 00 04 */ stb r0, 0x4(r3) +/* 00000EC0 00000F00 80 64 00 0C */ lwz r3, 0xc(r4) +/* 00000EC4 00000F04 98 A3 00 05 */ stb r5, 0x5(r3) +/* 00000EC8 00000F08 80 64 00 0C */ lwz r3, 0xc(r4) +/* 00000ECC 00000F0C 98 C3 00 06 */ stb r6, 0x6(r3) +/* 00000ED0 00000F10 80 7F 00 5C */ lwz r3, 0x5c(r31) +/* 00000ED4 00000F14 88 01 00 60 */ lbz r0, 0x60(r1) +/* 00000ED8 00000F18 80 63 00 18 */ lwz r3, 0x18(r3) +/* 00000EDC 00000F1C 80 83 00 08 */ lwz r4, 0x8(r3) +/* 00000EE0 00000F20 80 64 00 0C */ lwz r3, 0xc(r4) +/* 00000EE4 00000F24 98 03 00 04 */ stb r0, 0x4(r3) +/* 00000EE8 00000F28 80 64 00 0C */ lwz r3, 0xc(r4) +/* 00000EEC 00000F2C 98 A3 00 05 */ stb r5, 0x5(r3) +/* 00000EF0 00000F30 80 64 00 0C */ lwz r3, 0xc(r4) +/* 00000EF4 00000F34 98 C3 00 06 */ stb r6, 0x6(r3) +/* 00000EF8 00000F38 80 7F 00 60 */ lwz r3, 0x60(r31) +/* 00000EFC 00000F3C 88 01 00 60 */ lbz r0, 0x60(r1) +/* 00000F00 00000F40 80 63 00 18 */ lwz r3, 0x18(r3) +/* 00000F04 00000F44 80 83 00 08 */ lwz r4, 0x8(r3) +/* 00000F08 00000F48 80 64 00 0C */ lwz r3, 0xc(r4) +/* 00000F0C 00000F4C 98 03 00 04 */ stb r0, 0x4(r3) +/* 00000F10 00000F50 80 64 00 0C */ lwz r3, 0xc(r4) +/* 00000F14 00000F54 98 A3 00 05 */ stb r5, 0x5(r3) +/* 00000F18 00000F58 80 64 00 0C */ lwz r3, 0xc(r4) +/* 00000F1C 00000F5C 98 C3 00 06 */ stb r6, 0x6(r3) +.L_00000F20: +/* 00000F20 00000F60 7F C3 F3 78 */ mr r3, r30 +/* 00000F24 00000F64 48 00 00 01 */ bl lb_8000B09C +/* 00000F28 00000F68 2C 03 00 00 */ cmpwi r3, 0x0 +/* 00000F2C 00000F6C 41 82 00 64 */ beq .L_00000F90 +/* 00000F30 00000F70 3A E0 00 00 */ li r23, 0x0 +/* 00000F34 00000F74 3B 1F 00 00 */ addi r24, r31, 0x0 +.L_00000F38: +/* 00000F38 00000F78 83 38 00 54 */ lwz r25, 0x54(r24) +/* 00000F3C 00000F7C 28 19 00 00 */ cmplwi r25, 0x0 +/* 00000F40 00000F80 40 82 00 14 */ bne .L_00000F54 +/* 00000F44 00000F84 38 60 00 00 */ li r3, ifStatus_804D57B0@sda21 +/* 00000F48 00000F88 38 80 03 E1 */ li r4, 0x3e1 +/* 00000F4C 00000F8C 38 A0 00 00 */ li r5, ifStatus_804D57B8@sda21 +/* 00000F50 00000F90 48 00 00 01 */ bl __assert +.L_00000F54: +/* 00000F54 00000F94 C0 19 00 38 */ lfs f0, 0x38(r25) +/* 00000F58 00000F98 D0 18 00 14 */ stfs f0, 0x14(r24) +/* 00000F5C 00000F9C 83 38 00 54 */ lwz r25, 0x54(r24) +/* 00000F60 00000FA0 28 19 00 00 */ cmplwi r25, 0x0 +/* 00000F64 00000FA4 40 82 00 14 */ bne .L_00000F78 +/* 00000F68 00000FA8 38 60 00 00 */ li r3, ifStatus_804D57B0@sda21 +/* 00000F6C 00000FAC 38 80 03 EE */ li r4, 0x3ee +/* 00000F70 00000FB0 38 A0 00 00 */ li r5, ifStatus_804D57B8@sda21 +/* 00000F74 00000FB4 48 00 00 01 */ bl __assert +.L_00000F78: +/* 00000F78 00000FB8 C0 19 00 3C */ lfs f0, 0x3c(r25) +/* 00000F7C 00000FBC 3A F7 00 01 */ addi r23, r23, 0x1 +/* 00000F80 00000FC0 2C 17 00 04 */ cmpwi r23, 0x4 +/* 00000F84 00000FC4 D0 18 00 24 */ stfs f0, 0x24(r24) +/* 00000F88 00000FC8 3B 18 00 04 */ addi r24, r24, 0x4 +/* 00000F8C 00000FCC 41 80 FF AC */ blt .L_00000F38 +.L_00000F90: +/* 00000F90 00000FD0 3C 60 66 66 */ lis r3, 0x6666 +/* 00000F94 00000FD4 A8 9F 00 0A */ lha r4, 0xa(r31) +/* 00000F98 00000FD8 38 03 66 67 */ addi r0, r3, 0x6667 +/* 00000F9C 00000FDC 7C 00 20 96 */ mulhw r0, r0, r4 +/* 00000FA0 00000FE0 7C 00 16 70 */ srawi r0, r0, 2 +/* 00000FA4 00000FE4 54 03 0F FE */ srwi r3, r0, 31 +/* 00000FA8 00000FE8 7C 00 1A 14 */ add r0, r0, r3 +/* 00000FAC 00000FEC 1C 00 00 0A */ mulli r0, r0, 0xa +/* 00000FB0 00000FF0 7C 00 20 50 */ subf r0, r0, r4 +/* 00000FB4 00000FF4 2C 00 00 01 */ cmpwi r0, 0x1 +/* 00000FB8 00000FF8 40 82 00 0C */ bne .L_00000FC4 +/* 00000FBC 00000FFC C3 E0 00 00 */ lfs f31, ifStatus_804DDA70@sda21(r0) +/* 00000FC0 00001000 48 00 00 08 */ b .L_00000FC8 +.L_00000FC4: +/* 00000FC4 00001004 C3 E0 00 00 */ lfs f31, ifStatus_804DDA4C@sda21(r0) +.L_00000FC8: +/* 00000FC8 00001008 3C 60 51 EC */ lis r3, 0x51ec +/* 00000FCC 0000100C 38 03 85 1F */ subi r0, r3, 0x7ae1 +/* 00000FD0 00001010 7C 00 20 96 */ mulhw r0, r0, r4 +/* 00000FD4 00001014 7C 00 2E 70 */ srawi r0, r0, 5 +/* 00000FD8 00001018 54 03 0F FE */ srwi r3, r0, 31 +/* 00000FDC 0000101C 7C 00 1A 14 */ add r0, r0, r3 +/* 00000FE0 00001020 1C 00 00 64 */ mulli r0, r0, 0x64 +/* 00000FE4 00001024 3C 60 66 66 */ lis r3, 0x6666 +/* 00000FE8 00001028 7C 00 20 50 */ subf r0, r0, r4 +/* 00000FEC 0000102C 38 63 66 67 */ addi r3, r3, 0x6667 +/* 00000FF0 00001030 7C 03 00 96 */ mulhw r0, r3, r0 +/* 00000FF4 00001034 7C 00 16 70 */ srawi r0, r0, 2 +/* 00000FF8 00001038 54 03 0F FE */ srwi r3, r0, 31 +/* 00000FFC 0000103C 7C 00 1A 14 */ add r0, r0, r3 +/* 00001000 00001040 2C 00 00 01 */ cmpwi r0, 0x1 +/* 00001004 00001044 40 82 00 0C */ bne .L_00001010 +/* 00001008 00001048 C3 C0 00 00 */ lfs f30, ifStatus_804DDA70@sda21(r0) +/* 0000100C 0000104C 48 00 00 08 */ b .L_00001014 +.L_00001010: +/* 00001010 00001050 C3 C0 00 00 */ lfs f30, ifStatus_804DDA4C@sda21(r0) +.L_00001014: +/* 00001014 00001054 82 FF 00 60 */ lwz r23, 0x60(r31) +/* 00001018 00001058 C0 1F 00 20 */ lfs f0, 0x20(r31) +/* 0000101C 0000105C 28 17 00 00 */ cmplwi r23, 0x0 +/* 00001020 00001060 EF A0 F8 28 */ fsubs f29, f0, f31 +/* 00001024 00001064 40 82 00 14 */ bne .L_00001038 +/* 00001028 00001068 38 60 00 00 */ li r3, ifStatus_804D57B0@sda21 +/* 0000102C 0000106C 38 80 03 A4 */ li r4, 0x3a4 +/* 00001030 00001070 38 A0 00 00 */ li r5, ifStatus_804D57B8@sda21 +/* 00001034 00001074 48 00 00 01 */ bl __assert +.L_00001038: +/* 00001038 00001078 D3 B7 00 38 */ stfs f29, 0x38(r23) +/* 0000103C 0000107C 80 17 00 14 */ lwz r0, 0x14(r23) +/* 00001040 00001080 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 +/* 00001044 00001084 40 82 00 4C */ bne .L_00001090 +/* 00001048 00001088 28 17 00 00 */ cmplwi r23, 0x0 +/* 0000104C 0000108C 41 82 00 44 */ beq .L_00001090 +/* 00001050 00001090 40 82 00 14 */ bne .L_00001064 +/* 00001054 00001094 38 60 00 00 */ li r3, ifStatus_804D57B0@sda21 +/* 00001058 00001098 38 80 02 34 */ li r4, 0x234 +/* 0000105C 0000109C 38 A0 00 00 */ li r5, ifStatus_804D57B8@sda21 +/* 00001060 000010A0 48 00 00 01 */ bl __assert +.L_00001064: +/* 00001064 000010A4 80 97 00 14 */ lwz r4, 0x14(r23) +/* 00001068 000010A8 38 60 00 00 */ li r3, 0x0 +/* 0000106C 000010AC 54 80 02 11 */ rlwinm. r0, r4, 0, 8, 8 +/* 00001070 000010B0 40 82 00 10 */ bne .L_00001080 +/* 00001074 000010B4 54 80 06 73 */ rlwinm. r0, r4, 0, 25, 25 +/* 00001078 000010B8 41 82 00 08 */ beq .L_00001080 +/* 0000107C 000010BC 38 60 00 01 */ li r3, 0x1 +.L_00001080: +/* 00001080 000010C0 2C 03 00 00 */ cmpwi r3, 0x0 +/* 00001084 000010C4 40 82 00 0C */ bne .L_00001090 +/* 00001088 000010C8 7E E3 BB 78 */ mr r3, r23 +/* 0000108C 000010CC 48 00 00 01 */ bl HSD_JObjSetMtxDirtySub +.L_00001090: +/* 00001090 000010D0 EF FF F0 2A */ fadds f31, f31, f30 +/* 00001094 000010D4 82 FF 00 58 */ lwz r23, 0x58(r31) +/* 00001098 000010D8 C0 1F 00 18 */ lfs f0, 0x18(r31) +/* 0000109C 000010DC 28 17 00 00 */ cmplwi r23, 0x0 +/* 000010A0 000010E0 EF A0 F8 2A */ fadds f29, f0, f31 +/* 000010A4 000010E4 40 82 00 14 */ bne .L_000010B8 +/* 000010A8 000010E8 38 60 00 00 */ li r3, ifStatus_804D57B0@sda21 +/* 000010AC 000010EC 38 80 03 A4 */ li r4, 0x3a4 +/* 000010B0 000010F0 38 A0 00 00 */ li r5, ifStatus_804D57B8@sda21 +/* 000010B4 000010F4 48 00 00 01 */ bl __assert +.L_000010B8: +/* 000010B8 000010F8 D3 B7 00 38 */ stfs f29, 0x38(r23) +/* 000010BC 000010FC 80 17 00 14 */ lwz r0, 0x14(r23) +/* 000010C0 00001100 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 +/* 000010C4 00001104 40 82 00 4C */ bne .L_00001110 +/* 000010C8 00001108 28 17 00 00 */ cmplwi r23, 0x0 +/* 000010CC 0000110C 41 82 00 44 */ beq .L_00001110 +/* 000010D0 00001110 40 82 00 14 */ bne .L_000010E4 +/* 000010D4 00001114 38 60 00 00 */ li r3, ifStatus_804D57B0@sda21 +/* 000010D8 00001118 38 80 02 34 */ li r4, 0x234 +/* 000010DC 0000111C 38 A0 00 00 */ li r5, ifStatus_804D57B8@sda21 +/* 000010E0 00001120 48 00 00 01 */ bl __assert +.L_000010E4: +/* 000010E4 00001124 80 97 00 14 */ lwz r4, 0x14(r23) +/* 000010E8 00001128 38 60 00 00 */ li r3, 0x0 +/* 000010EC 0000112C 54 80 02 11 */ rlwinm. r0, r4, 0, 8, 8 +/* 000010F0 00001130 40 82 00 10 */ bne .L_00001100 +/* 000010F4 00001134 54 80 06 73 */ rlwinm. r0, r4, 0, 25, 25 +/* 000010F8 00001138 41 82 00 08 */ beq .L_00001100 +/* 000010FC 0000113C 38 60 00 01 */ li r3, 0x1 +.L_00001100: +/* 00001100 00001140 2C 03 00 00 */ cmpwi r3, 0x0 +/* 00001104 00001144 40 82 00 0C */ bne .L_00001110 +/* 00001108 00001148 7E E3 BB 78 */ mr r3, r23 +/* 0000110C 0000114C 48 00 00 01 */ bl HSD_JObjSetMtxDirtySub +.L_00001110: +/* 00001110 00001150 3C 60 10 62 */ lis r3, 0x1062 +/* 00001114 00001154 A8 9F 00 0A */ lha r4, 0xa(r31) +/* 00001118 00001158 38 03 4D D3 */ addi r0, r3, 0x4dd3 +/* 0000111C 0000115C 7C 00 20 96 */ mulhw r0, r0, r4 +/* 00001120 00001160 7C 00 36 70 */ srawi r0, r0, 6 +/* 00001124 00001164 54 03 0F FE */ srwi r3, r0, 31 +/* 00001128 00001168 7C 00 1A 14 */ add r0, r0, r3 +/* 0000112C 0000116C 1C 00 03 E8 */ mulli r0, r0, 0x3e8 +/* 00001130 00001170 3C 60 51 EC */ lis r3, 0x51ec +/* 00001134 00001174 7C 00 20 50 */ subf r0, r0, r4 +/* 00001138 00001178 38 63 85 1F */ subi r3, r3, 0x7ae1 +/* 0000113C 0000117C 7C 03 00 96 */ mulhw r0, r3, r0 +/* 00001140 00001180 7C 00 2E 70 */ srawi r0, r0, 5 +/* 00001144 00001184 54 03 0F FE */ srwi r3, r0, 31 +/* 00001148 00001188 7C 00 1A 14 */ add r0, r0, r3 +/* 0000114C 0000118C 2C 00 00 01 */ cmpwi r0, 0x1 +/* 00001150 00001190 40 82 00 0C */ bne .L_0000115C +/* 00001154 00001194 C0 00 00 00 */ lfs f0, ifStatus_804DDA70@sda21(r0) +/* 00001158 00001198 48 00 00 08 */ b .L_00001160 +.L_0000115C: +/* 0000115C 0000119C C0 00 00 00 */ lfs f0, ifStatus_804DDA4C@sda21(r0) +.L_00001160: +/* 00001160 000011A0 EC 3E 00 2A */ fadds f1, f30, f0 +/* 00001164 000011A4 82 FF 00 54 */ lwz r23, 0x54(r31) +/* 00001168 000011A8 C0 1F 00 14 */ lfs f0, 0x14(r31) +/* 0000116C 000011AC 28 17 00 00 */ cmplwi r23, 0x0 +/* 00001170 000011B0 EF FF 08 2A */ fadds f31, f31, f1 +/* 00001174 000011B4 EF A0 F8 2A */ fadds f29, f0, f31 +/* 00001178 000011B8 40 82 00 14 */ bne .L_0000118C +/* 0000117C 000011BC 38 60 00 00 */ li r3, ifStatus_804D57B0@sda21 +/* 00001180 000011C0 38 80 03 A4 */ li r4, 0x3a4 +/* 00001184 000011C4 38 A0 00 00 */ li r5, ifStatus_804D57B8@sda21 +/* 00001188 000011C8 48 00 00 01 */ bl __assert +.L_0000118C: +/* 0000118C 000011CC D3 B7 00 38 */ stfs f29, 0x38(r23) +/* 00001190 000011D0 80 17 00 14 */ lwz r0, 0x14(r23) +/* 00001194 000011D4 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 +/* 00001198 000011D8 40 82 00 4C */ bne .L_000011E4 +/* 0000119C 000011DC 28 17 00 00 */ cmplwi r23, 0x0 +/* 000011A0 000011E0 41 82 00 44 */ beq .L_000011E4 +/* 000011A4 000011E4 40 82 00 14 */ bne .L_000011B8 +/* 000011A8 000011E8 38 60 00 00 */ li r3, ifStatus_804D57B0@sda21 +/* 000011AC 000011EC 38 80 02 34 */ li r4, 0x234 +/* 000011B0 000011F0 38 A0 00 00 */ li r5, ifStatus_804D57B8@sda21 +/* 000011B4 000011F4 48 00 00 01 */ bl __assert +.L_000011B8: +/* 000011B8 000011F8 80 97 00 14 */ lwz r4, 0x14(r23) +/* 000011BC 000011FC 38 60 00 00 */ li r3, 0x0 +/* 000011C0 00001200 54 80 02 11 */ rlwinm. r0, r4, 0, 8, 8 +/* 000011C4 00001204 40 82 00 10 */ bne .L_000011D4 +/* 000011C8 00001208 54 80 06 73 */ rlwinm. r0, r4, 0, 25, 25 +/* 000011CC 0000120C 41 82 00 08 */ beq .L_000011D4 +/* 000011D0 00001210 38 60 00 01 */ li r3, 0x1 +.L_000011D4: +/* 000011D4 00001214 2C 03 00 00 */ cmpwi r3, 0x0 +/* 000011D8 00001218 40 82 00 0C */ bne .L_000011E4 +/* 000011DC 0000121C 7E E3 BB 78 */ mr r3, r23 +/* 000011E0 00001220 48 00 00 01 */ bl HSD_JObjSetMtxDirtySub +.L_000011E4: +/* 000011E4 00001224 88 1F 00 10 */ lbz r0, 0x10(r31) +/* 000011E8 00001228 54 00 DF FF */ extrwi. r0, r0, 1, 26 +/* 000011EC 0000122C 41 82 00 0C */ beq .L_000011F8 +/* 000011F0 00001230 38 00 00 0A */ li r0, 0xa +/* 000011F4 00001234 98 1F 00 0F */ stb r0, 0xf(r31) +.L_000011F8: +/* 000011F8 00001238 38 7F 00 00 */ addi r3, r31, 0x0 +/* 000011FC 0000123C 38 9D 00 00 */ addi r4, r29, 0x0 +/* 00001200 00001240 48 00 00 01 */ bl ifStatus_802F4B84 +/* 00001204 00001244 88 00 00 00 */ lbz r0, ifStatus_804D6D60@sda21(r0) +/* 00001208 00001248 28 00 00 05 */ cmplwi r0, 0x5 +/* 0000120C 0000124C 41 80 00 0C */ blt .L_00001218 +/* 00001210 00001250 C0 00 00 00 */ lfs f0, ifStatus_804DDA98@sda21(r0) +/* 00001214 00001254 D0 1E 00 2C */ stfs f0, 0x2c(r30) +.L_00001218: +/* 00001218 00001258 BA E1 00 BC */ lmw r23, 0xbc(r1) +/* 0000121C 0000125C 80 01 00 FC */ lwz r0, 0xfc(r1) +/* 00001220 00001260 CB E1 00 F0 */ lfd f31, 0xf0(r1) +/* 00001224 00001264 CB C1 00 E8 */ lfd f30, 0xe8(r1) +/* 00001228 00001268 CB A1 00 E0 */ lfd f29, 0xe0(r1) +/* 0000122C 0000126C 38 21 00 F8 */ addi r1, r1, 0xf8 +/* 00001230 00001270 7C 08 03 A6 */ mtlr r0 +/* 00001234 00001274 4E 80 00 20 */ blr +.endfn ifStatus_802F4EDC + +.fn ifStatus_802F5B48, global +/* 00001238 00001278 7C 08 02 A6 */ mflr r0 +/* 0000123C 0000127C 3C 80 00 00 */ lis r4, ifStatus_HudInfo@ha +/* 00001240 00001280 90 01 00 04 */ stw r0, 0x4(r1) +/* 00001244 00001284 38 00 00 06 */ li r0, 0x6 +/* 00001248 00001288 38 A4 00 00 */ addi r5, r4, ifStatus_HudInfo@l +/* 0000124C 0000128C 7C 09 03 A6 */ mtctr r0 +/* 00001250 00001290 94 21 FF E8 */ stwu r1, -0x18(r1) +/* 00001254 00001294 38 80 00 00 */ li r4, 0x0 +/* 00001258 00001298 93 E1 00 14 */ stw r31, 0x14(r1) +.L_0000125C: +/* 0000125C 0000129C 80 05 00 00 */ lwz r0, 0x0(r5) +/* 00001260 000012A0 7C 00 18 40 */ cmplw r0, r3 +/* 00001264 000012A4 40 82 00 18 */ bne .L_0000127C +/* 00001268 000012A8 1C 84 00 64 */ mulli r4, r4, 0x64 +/* 0000126C 000012AC 3C 60 00 00 */ lis r3, ifStatus_HudInfo@ha +/* 00001270 000012B0 38 03 00 00 */ addi r0, r3, ifStatus_HudInfo@l +/* 00001274 000012B4 7F E0 22 14 */ add r31, r0, r4 +/* 00001278 000012B8 48 00 00 14 */ b .L_0000128C +.L_0000127C: +/* 0000127C 000012BC 38 A5 00 64 */ addi r5, r5, 0x64 +/* 00001280 000012C0 38 84 00 01 */ addi r4, r4, 0x1 +/* 00001284 000012C4 42 00 FF D8 */ bdnz .L_0000125C +/* 00001288 000012C8 3B E0 00 00 */ li r31, 0x0 +.L_0000128C: +/* 0000128C 000012CC 88 7F 00 09 */ lbz r3, 0x9(r31) +/* 00001290 000012D0 28 03 00 00 */ cmplwi r3, 0x0 +/* 00001294 000012D4 41 82 00 24 */ beq .L_000012B8 +/* 00001298 000012D8 38 63 00 01 */ addi r3, r3, 0x1 +/* 0000129C 000012DC 54 60 06 3E */ clrlwi r0, r3, 24 +/* 000012A0 000012E0 98 7F 00 09 */ stb r3, 0x9(r31) +/* 000012A4 000012E4 28 00 00 C8 */ cmplwi r0, 0xc8 +/* 000012A8 000012E8 40 81 00 10 */ ble .L_000012B8 +/* 000012AC 000012EC 88 7F 00 08 */ lbz r3, 0x8(r31) +/* 000012B0 000012F0 48 00 00 01 */ bl ifStatus_802F6788 +/* 000012B4 000012F4 48 00 02 08 */ b .L_000014BC +.L_000012B8: +/* 000012B8 000012F8 88 7F 00 08 */ lbz r3, 0x8(r31) +/* 000012BC 000012FC 7C 63 07 74 */ extsb r3, r3 +/* 000012C0 00001300 48 00 00 01 */ bl Player_GetEntity +/* 000012C4 00001304 28 03 00 00 */ cmplwi r3, 0x0 +/* 000012C8 00001308 41 82 01 F4 */ beq .L_000014BC +/* 000012CC 0000130C A8 1F 00 0A */ lha r0, 0xa(r31) +/* 000012D0 00001310 B0 1F 00 0C */ sth r0, 0xc(r31) +/* 000012D4 00001314 88 7F 00 08 */ lbz r3, 0x8(r31) +/* 000012D8 00001318 7C 63 07 74 */ extsb r3, r3 +/* 000012DC 0000131C 48 00 00 01 */ bl Player_GetMoreFlagsBit2 +/* 000012E0 00001320 2C 03 00 00 */ cmpwi r3, 0x0 +/* 000012E4 00001324 41 82 01 0C */ beq .L_000013F0 +/* 000012E8 00001328 88 7F 00 08 */ lbz r3, 0x8(r31) +/* 000012EC 0000132C 7C 63 07 74 */ extsb r3, r3 +/* 000012F0 00001330 48 00 00 01 */ bl Player_GetRemainingHP +/* 000012F4 00001334 7C 60 07 34 */ extsh r0, r3 +/* 000012F8 00001338 B0 1F 00 0A */ sth r0, 0xa(r31) +/* 000012FC 0000133C A8 1F 00 0A */ lha r0, 0xa(r31) +/* 00001300 00001340 2C 00 03 E7 */ cmpwi r0, 0x3e7 +/* 00001304 00001344 40 81 00 10 */ ble .L_00001314 +/* 00001308 00001348 38 00 03 E7 */ li r0, 0x3e7 +/* 0000130C 0000134C B0 1F 00 0A */ sth r0, 0xa(r31) +/* 00001310 00001350 48 00 00 14 */ b .L_00001324 +.L_00001314: +/* 00001314 00001354 7C 00 07 35 */ extsh. r0, r0 +/* 00001318 00001358 40 80 00 0C */ bge .L_00001324 +/* 0000131C 0000135C 38 00 00 00 */ li r0, 0x0 +/* 00001320 00001360 B0 1F 00 0A */ sth r0, 0xa(r31) +.L_00001324: +/* 00001324 00001364 A8 7F 00 0C */ lha r3, 0xc(r31) +/* 00001328 00001368 2C 03 FF FF */ cmpwi r3, -0x1 +/* 0000132C 0000136C 41 82 00 3C */ beq .L_00001368 +/* 00001330 00001370 A8 1F 00 0A */ lha r0, 0xa(r31) +/* 00001334 00001374 7C 00 18 00 */ cmpw r0, r3 +/* 00001338 00001378 40 80 00 30 */ bge .L_00001368 +/* 0000133C 0000137C 88 1F 00 10 */ lbz r0, 0x10(r31) +/* 00001340 00001380 38 60 00 01 */ li r3, 0x1 +/* 00001344 00001384 50 60 2E B4 */ rlwimi r0, r3, 5, 26, 26 +/* 00001348 00001388 98 1F 00 10 */ stb r0, 0x10(r31) +/* 0000134C 0000138C A8 7F 00 0A */ lha r3, 0xa(r31) +/* 00001350 00001390 A8 1F 00 0C */ lha r0, 0xc(r31) +/* 00001354 00001394 7C 03 00 51 */ subf. r0, r3, r0 +/* 00001358 00001398 40 80 00 08 */ bge .L_00001360 +/* 0000135C 0000139C 7C 00 00 D0 */ neg r0, r0 +.L_00001360: +/* 00001360 000013A0 98 1F 00 0E */ stb r0, 0xe(r31) +/* 00001364 000013A4 48 00 00 14 */ b .L_00001378 +.L_00001368: +/* 00001368 000013A8 88 1F 00 10 */ lbz r0, 0x10(r31) +/* 0000136C 000013AC 38 60 00 00 */ li r3, 0x0 +/* 00001370 000013B0 50 60 2E B4 */ rlwimi r0, r3, 5, 26, 26 +/* 00001374 000013B4 98 1F 00 10 */ stb r0, 0x10(r31) +.L_00001378: +/* 00001378 000013B8 A8 7F 00 0C */ lha r3, 0xc(r31) +/* 0000137C 000013BC 2C 03 FF FF */ cmpwi r3, -0x1 +/* 00001380 000013C0 41 82 00 24 */ beq .L_000013A4 +/* 00001384 000013C4 A8 1F 00 0A */ lha r0, 0xa(r31) +/* 00001388 000013C8 7C 00 18 00 */ cmpw r0, r3 +/* 0000138C 000013CC 40 81 00 18 */ ble .L_000013A4 +/* 00001390 000013D0 88 1F 00 10 */ lbz r0, 0x10(r31) +/* 00001394 000013D4 38 60 00 01 */ li r3, 0x1 +/* 00001398 000013D8 50 60 26 F6 */ rlwimi r0, r3, 4, 27, 27 +/* 0000139C 000013DC 98 1F 00 10 */ stb r0, 0x10(r31) +/* 000013A0 000013E0 48 00 00 14 */ b .L_000013B4 +.L_000013A4: +/* 000013A4 000013E4 88 1F 00 10 */ lbz r0, 0x10(r31) +/* 000013A8 000013E8 38 60 00 00 */ li r3, 0x0 +/* 000013AC 000013EC 50 60 26 F6 */ rlwimi r0, r3, 4, 27, 27 +/* 000013B0 000013F0 98 1F 00 10 */ stb r0, 0x10(r31) +.L_000013B4: +/* 000013B4 000013F4 A8 1F 00 0C */ lha r0, 0xc(r31) +/* 000013B8 000013F8 2C 00 00 00 */ cmpwi r0, 0x0 +/* 000013BC 000013FC 40 82 01 00 */ bne .L_000014BC +/* 000013C0 00001400 48 00 00 01 */ bl gm_8016AE44 +/* 000013C4 00001404 88 BF 00 08 */ lbz r5, 0x8(r31) +/* 000013C8 00001408 7C A0 07 74 */ extsb r0, r5 +/* 000013CC 0000140C 1C 80 00 0E */ mulli r4, r0, 0xe +/* 000013D0 00001410 38 04 00 3C */ addi r0, r4, 0x3c +/* 000013D4 00001414 7C 03 00 AE */ lbzx r0, r3, r0 +/* 000013D8 00001418 54 00 F7 FF */ extrwi. r0, r0, 1, 29 +/* 000013DC 0000141C 41 82 00 E0 */ beq .L_000014BC +/* 000013E0 00001420 38 65 00 00 */ addi r3, r5, 0x0 +/* 000013E4 00001424 7C 63 07 74 */ extsb r3, r3 +/* 000013E8 00001428 48 00 00 01 */ bl ifStatus_802F6948 +/* 000013EC 0000142C 48 00 00 D0 */ b .L_000014BC +.L_000013F0: +/* 000013F0 00001430 88 7F 00 08 */ lbz r3, 0x8(r31) +/* 000013F4 00001434 7C 63 07 74 */ extsb r3, r3 +/* 000013F8 00001438 48 00 00 01 */ bl Player_GetDamage +/* 000013FC 0000143C 7C 60 07 34 */ extsh r0, r3 +/* 00001400 00001440 B0 1F 00 0A */ sth r0, 0xa(r31) +/* 00001404 00001444 A8 1F 00 0A */ lha r0, 0xa(r31) +/* 00001408 00001448 2C 00 03 E7 */ cmpwi r0, 0x3e7 +/* 0000140C 0000144C 40 81 00 10 */ ble .L_0000141C +/* 00001410 00001450 38 00 03 E7 */ li r0, 0x3e7 +/* 00001414 00001454 B0 1F 00 0A */ sth r0, 0xa(r31) +/* 00001418 00001458 48 00 00 14 */ b .L_0000142C +.L_0000141C: +/* 0000141C 0000145C 7C 00 07 35 */ extsh. r0, r0 +/* 00001420 00001460 40 80 00 0C */ bge .L_0000142C +/* 00001424 00001464 38 00 00 00 */ li r0, 0x0 +/* 00001428 00001468 B0 1F 00 0A */ sth r0, 0xa(r31) +.L_0000142C: +/* 0000142C 0000146C A8 7F 00 0C */ lha r3, 0xc(r31) +/* 00001430 00001470 2C 03 FF FF */ cmpwi r3, -0x1 +/* 00001434 00001474 41 82 00 24 */ beq .L_00001458 +/* 00001438 00001478 A8 1F 00 0A */ lha r0, 0xa(r31) +/* 0000143C 0000147C 7C 00 18 00 */ cmpw r0, r3 +/* 00001440 00001480 40 80 00 18 */ bge .L_00001458 +/* 00001444 00001484 88 1F 00 10 */ lbz r0, 0x10(r31) +/* 00001448 00001488 38 60 00 01 */ li r3, 0x1 +/* 0000144C 0000148C 50 60 26 F6 */ rlwimi r0, r3, 4, 27, 27 +/* 00001450 00001490 98 1F 00 10 */ stb r0, 0x10(r31) +/* 00001454 00001494 48 00 00 14 */ b .L_00001468 +.L_00001458: +/* 00001458 00001498 88 1F 00 10 */ lbz r0, 0x10(r31) +/* 0000145C 0000149C 38 60 00 00 */ li r3, 0x0 +/* 00001460 000014A0 50 60 26 F6 */ rlwimi r0, r3, 4, 27, 27 +/* 00001464 000014A4 98 1F 00 10 */ stb r0, 0x10(r31) +.L_00001468: +/* 00001468 000014A8 A8 7F 00 0C */ lha r3, 0xc(r31) +/* 0000146C 000014AC 2C 03 FF FF */ cmpwi r3, -0x1 +/* 00001470 000014B0 41 82 00 3C */ beq .L_000014AC +/* 00001474 000014B4 A8 1F 00 0A */ lha r0, 0xa(r31) +/* 00001478 000014B8 7C 00 18 00 */ cmpw r0, r3 +/* 0000147C 000014BC 40 81 00 30 */ ble .L_000014AC +/* 00001480 000014C0 88 1F 00 10 */ lbz r0, 0x10(r31) +/* 00001484 000014C4 38 60 00 01 */ li r3, 0x1 +/* 00001488 000014C8 50 60 2E B4 */ rlwimi r0, r3, 5, 26, 26 +/* 0000148C 000014CC 98 1F 00 10 */ stb r0, 0x10(r31) +/* 00001490 000014D0 A8 7F 00 0A */ lha r3, 0xa(r31) +/* 00001494 000014D4 A8 1F 00 0C */ lha r0, 0xc(r31) +/* 00001498 000014D8 7C 03 00 51 */ subf. r0, r3, r0 +/* 0000149C 000014DC 40 80 00 08 */ bge .L_000014A4 +/* 000014A0 000014E0 7C 00 00 D0 */ neg r0, r0 +.L_000014A4: +/* 000014A4 000014E4 98 1F 00 0E */ stb r0, 0xe(r31) +/* 000014A8 000014E8 48 00 00 14 */ b .L_000014BC +.L_000014AC: +/* 000014AC 000014EC 88 1F 00 10 */ lbz r0, 0x10(r31) +/* 000014B0 000014F0 38 60 00 00 */ li r3, 0x0 +/* 000014B4 000014F4 50 60 2E B4 */ rlwimi r0, r3, 5, 26, 26 +/* 000014B8 000014F8 98 1F 00 10 */ stb r0, 0x10(r31) +.L_000014BC: +/* 000014BC 000014FC 80 01 00 1C */ lwz r0, 0x1c(r1) +/* 000014C0 00001500 83 E1 00 14 */ lwz r31, 0x14(r1) +/* 000014C4 00001504 38 21 00 18 */ addi r1, r1, 0x18 +/* 000014C8 00001508 7C 08 03 A6 */ mtlr r0 +/* 000014CC 0000150C 4E 80 00 20 */ blr +.endfn ifStatus_802F5B48 + +.fn ifStatus_802F5DE0, global +/* 000014D0 00001510 7C 08 02 A6 */ mflr r0 +/* 000014D4 00001514 3C A0 00 00 */ lis r5, ifStatus_HudInfo@ha +/* 000014D8 00001518 90 01 00 04 */ stw r0, 0x4(r1) +/* 000014DC 0000151C 38 00 00 06 */ li r0, 0x6 +/* 000014E0 00001520 38 C5 00 00 */ addi r6, r5, ifStatus_HudInfo@l +/* 000014E4 00001524 7C 09 03 A6 */ mtctr r0 +/* 000014E8 00001528 94 21 FF F8 */ stwu r1, -0x8(r1) +/* 000014EC 0000152C 38 A0 00 00 */ li r5, 0x0 +.L_000014F0: +/* 000014F0 00001530 80 06 00 00 */ lwz r0, 0x0(r6) +/* 000014F4 00001534 7C 00 18 40 */ cmplw r0, r3 +/* 000014F8 00001538 40 82 00 18 */ bne .L_00001510 +/* 000014FC 0000153C 1C C5 00 64 */ mulli r6, r5, 0x64 +/* 00001500 00001540 3C A0 00 00 */ lis r5, ifStatus_HudInfo@ha +/* 00001504 00001544 38 05 00 00 */ addi r0, r5, ifStatus_HudInfo@l +/* 00001508 00001548 7C A0 32 14 */ add r5, r0, r6 +/* 0000150C 0000154C 48 00 00 14 */ b .L_00001520 +.L_00001510: +/* 00001510 00001550 38 C6 00 64 */ addi r6, r6, 0x64 +/* 00001514 00001554 38 A5 00 01 */ addi r5, r5, 0x1 +/* 00001518 00001558 42 00 FF D8 */ bdnz .L_000014F0 +/* 0000151C 0000155C 38 A0 00 00 */ li r5, 0x0 +.L_00001520: +/* 00001520 00001560 88 05 00 10 */ lbz r0, 0x10(r5) +/* 00001524 00001564 54 00 EF FF */ extrwi. r0, r0, 1, 28 +/* 00001528 00001568 40 82 00 08 */ bne .L_00001530 +/* 0000152C 0000156C 48 00 00 01 */ bl HSD_GObj_80391070 +.L_00001530: +/* 00001530 00001570 80 01 00 0C */ lwz r0, 0xc(r1) +/* 00001534 00001574 38 21 00 08 */ addi r1, r1, 0x8 +/* 00001538 00001578 7C 08 03 A6 */ mtlr r0 +/* 0000153C 0000157C 4E 80 00 20 */ blr +.endfn ifStatus_802F5DE0 + +.fn ifStatus_802F5E50, global +/* 00001540 00001580 7C 08 02 A6 */ mflr r0 +/* 00001544 00001584 3C A0 00 00 */ lis r5, ifStatus_HudInfo@ha +/* 00001548 00001588 90 01 00 04 */ stw r0, 0x4(r1) +/* 0000154C 0000158C 38 00 00 06 */ li r0, 0x6 +/* 00001550 00001590 38 C5 00 00 */ addi r6, r5, ifStatus_HudInfo@l +/* 00001554 00001594 7C 09 03 A6 */ mtctr r0 +/* 00001558 00001598 94 21 FF F8 */ stwu r1, -0x8(r1) +/* 0000155C 0000159C 38 A0 00 00 */ li r5, 0x0 +.L_00001560: +/* 00001560 000015A0 80 06 00 04 */ lwz r0, 0x4(r6) +/* 00001564 000015A4 7C 00 18 40 */ cmplw r0, r3 +/* 00001568 000015A8 40 82 00 18 */ bne .L_00001580 +/* 0000156C 000015AC 1C C5 00 64 */ mulli r6, r5, 0x64 +/* 00001570 000015B0 3C A0 00 00 */ lis r5, ifStatus_HudInfo@ha +/* 00001574 000015B4 38 05 00 00 */ addi r0, r5, ifStatus_HudInfo@l +/* 00001578 000015B8 7C A0 32 14 */ add r5, r0, r6 +/* 0000157C 000015BC 48 00 00 14 */ b .L_00001590 +.L_00001580: +/* 00001580 000015C0 38 C6 00 64 */ addi r6, r6, 0x64 +/* 00001584 000015C4 38 A5 00 01 */ addi r5, r5, 0x1 +/* 00001588 000015C8 42 00 FF D8 */ bdnz .L_00001560 +/* 0000158C 000015CC 38 A0 00 00 */ li r5, 0x0 +.L_00001590: +/* 00001590 000015D0 88 05 00 10 */ lbz r0, 0x10(r5) +/* 00001594 000015D4 54 00 EF FF */ extrwi. r0, r0, 1, 28 +/* 00001598 000015D8 40 82 00 08 */ bne .L_000015A0 +/* 0000159C 000015DC 48 00 00 01 */ bl HSD_GObj_80391070 +.L_000015A0: +/* 000015A0 000015E0 80 01 00 0C */ lwz r0, 0xc(r1) +/* 000015A4 000015E4 38 21 00 08 */ addi r1, r1, 0x8 +/* 000015A8 000015E8 7C 08 03 A6 */ mtlr r0 +/* 000015AC 000015EC 4E 80 00 20 */ blr +.endfn ifStatus_802F5E50 + +.fn ifStatus_802F5EC0, global +/* 000015B0 000015F0 7C 08 02 A6 */ mflr r0 +/* 000015B4 000015F4 90 01 00 04 */ stw r0, 0x4(r1) +/* 000015B8 000015F8 94 21 FF B0 */ stwu r1, -0x50(r1) +/* 000015BC 000015FC BF 41 00 38 */ stmw r26, 0x38(r1) +/* 000015C0 00001600 7C 7C 1B 78 */ mr r28, r3 +/* 000015C4 00001604 3B A4 00 00 */ addi r29, r4, 0x0 +/* 000015C8 00001608 80 A3 00 00 */ lwz r5, 0x0(r3) +/* 000015CC 0000160C 3C 60 00 00 */ lis r3, ifStatus_HudInfo@ha +/* 000015D0 00001610 3B 63 00 00 */ addi r27, r3, ifStatus_HudInfo@l +/* 000015D4 00001614 28 05 00 00 */ cmplwi r5, 0x0 +/* 000015D8 00001618 40 82 00 80 */ bne .L_00001658 +/* 000015DC 0000161C 38 60 00 0E */ li r3, 0xe +/* 000015E0 00001620 38 80 00 0F */ li r4, 0xf +/* 000015E4 00001624 38 A0 00 00 */ li r5, 0x0 +/* 000015E8 00001628 48 00 00 01 */ bl GObj_Create +/* 000015EC 0000162C 7C 60 1B 78 */ mr r0, r3 +/* 000015F0 00001630 80 7B 02 58 */ lwz r3, 0x258(r27) +/* 000015F4 00001634 7C 1F 03 78 */ mr r31, r0 +/* 000015F8 00001638 48 00 00 01 */ bl HSD_JObjLoadJoint +/* 000015FC 0000163C 3B C3 00 00 */ addi r30, r3, 0x0 +/* 00001600 00001640 88 80 00 00 */ lbz r4, HSD_GObj_804D7849@sda21(r0) +/* 00001604 00001644 38 7F 00 00 */ addi r3, r31, 0x0 +/* 00001608 00001648 38 BE 00 00 */ addi r5, r30, 0x0 +/* 0000160C 0000164C 48 00 00 01 */ bl HSD_GObjObjet_80390A70 +/* 00001610 00001650 3C 60 00 00 */ lis r3, ifStatus_802F5DE0@ha +/* 00001614 00001654 38 83 00 00 */ addi r4, r3, ifStatus_802F5DE0@l +/* 00001618 00001658 38 7F 00 00 */ addi r3, r31, 0x0 +/* 0000161C 0000165C 38 A0 00 0B */ li r5, 0xb +/* 00001620 00001660 38 C0 00 00 */ li r6, 0x0 +/* 00001624 00001664 48 00 00 01 */ bl GObj_SetupGXLink +/* 00001628 00001668 3C 60 00 00 */ lis r3, ifStatus_802F5B48@ha +/* 0000162C 0000166C 38 83 00 00 */ addi r4, r3, ifStatus_802F5B48@l +/* 00001630 00001670 38 7F 00 00 */ addi r3, r31, 0x0 +/* 00001634 00001674 38 A0 00 11 */ li r5, 0x11 +/* 00001638 00001678 48 00 00 01 */ bl HSD_GObjProc_8038FD54 +/* 0000163C 0000167C 3C 60 00 00 */ lis r3, ifStatus_802F4EDC@ha +/* 00001640 00001680 38 83 00 00 */ addi r4, r3, ifStatus_802F4EDC@l +/* 00001644 00001684 38 7F 00 00 */ addi r3, r31, 0x0 +/* 00001648 00001688 38 A0 00 11 */ li r5, 0x11 +/* 0000164C 0000168C 48 00 00 01 */ bl HSD_GObjProc_8038FD54 +/* 00001650 00001690 93 FC 00 00 */ stw r31, 0x0(r28) +/* 00001654 00001694 48 00 00 08 */ b .L_0000165C +.L_00001658: +/* 00001658 00001698 83 C5 00 28 */ lwz r30, 0x28(r5) +.L_0000165C: +/* 0000165C 0000169C 88 1C 00 10 */ lbz r0, 0x10(r28) +/* 00001660 000016A0 38 60 00 00 */ li r3, 0x0 +/* 00001664 000016A4 50 60 0F 7C */ rlwimi r0, r3, 1, 29, 30 +/* 00001668 000016A8 98 1C 00 10 */ stb r0, 0x10(r28) +/* 0000166C 000016AC 7F C3 F3 78 */ mr r3, r30 +/* 00001670 000016B0 48 00 00 01 */ bl HSD_JObjRemoveAnim +/* 00001674 000016B4 3B FB 02 60 */ addi r31, r27, 0x260 +/* 00001678 000016B8 80 BB 02 5C */ lwz r5, 0x25c(r27) +/* 0000167C 000016BC 80 DB 02 60 */ lwz r6, 0x260(r27) +/* 00001680 000016C0 7F C3 F3 78 */ mr r3, r30 +/* 00001684 000016C4 80 FB 02 64 */ lwz r7, 0x264(r27) +/* 00001688 000016C8 38 80 00 00 */ li r4, 0x0 +/* 0000168C 000016CC 48 00 00 01 */ bl lb_8000C07C +/* 00001690 000016D0 7F C3 F3 78 */ mr r3, r30 +/* 00001694 000016D4 C0 20 00 00 */ lfs f1, ifStatus_804DDA4C@sda21(r0) +/* 00001698 000016D8 48 00 00 01 */ bl HSD_JObjReqAnimAll +/* 0000169C 000016DC 7F C3 F3 78 */ mr r3, r30 +/* 000016A0 000016E0 48 00 00 01 */ bl HSD_JObjAnimAll +/* 000016A4 000016E4 57 A3 06 3E */ clrlwi r3, r29, 24 +/* 000016A8 000016E8 48 00 00 01 */ bl ifAll_802F3424 +/* 000016AC 000016EC 28 1E 00 00 */ cmplwi r30, 0x0 +/* 000016B0 000016F0 3B A3 00 00 */ addi r29, r3, 0x0 +/* 000016B4 000016F4 40 82 00 14 */ bne .L_000016C8 +/* 000016B8 000016F8 38 60 00 00 */ li r3, ifStatus_804D57B0@sda21 +/* 000016BC 000016FC 38 80 03 94 */ li r4, 0x394 +/* 000016C0 00001700 38 A0 00 00 */ li r5, ifStatus_804D57B8@sda21 +/* 000016C4 00001704 48 00 00 01 */ bl __assert +.L_000016C8: +/* 000016C8 00001708 28 1D 00 00 */ cmplwi r29, 0x0 +/* 000016CC 0000170C 40 82 00 18 */ bne .L_000016E4 +/* 000016D0 00001710 3C 60 00 00 */ lis r3, ifStatus_803F95C0@ha +/* 000016D4 00001714 38 A3 00 00 */ addi r5, r3, ifStatus_803F95C0@l +/* 000016D8 00001718 38 60 00 00 */ li r3, ifStatus_804D57B0@sda21 +/* 000016DC 0000171C 38 80 03 95 */ li r4, 0x395 +/* 000016E0 00001720 48 00 00 01 */ bl __assert +.L_000016E4: +/* 000016E4 00001724 80 7D 00 00 */ lwz r3, 0x0(r29) +/* 000016E8 00001728 80 1D 00 04 */ lwz r0, 0x4(r29) +/* 000016EC 0000172C 90 7E 00 38 */ stw r3, 0x38(r30) +/* 000016F0 00001730 90 1E 00 3C */ stw r0, 0x3c(r30) +/* 000016F4 00001734 80 1D 00 08 */ lwz r0, 0x8(r29) +/* 000016F8 00001738 90 1E 00 40 */ stw r0, 0x40(r30) +/* 000016FC 0000173C 80 1E 00 14 */ lwz r0, 0x14(r30) +/* 00001700 00001740 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 +/* 00001704 00001744 40 82 00 4C */ bne .L_00001750 +/* 00001708 00001748 28 1E 00 00 */ cmplwi r30, 0x0 +/* 0000170C 0000174C 41 82 00 44 */ beq .L_00001750 +/* 00001710 00001750 40 82 00 14 */ bne .L_00001724 +/* 00001714 00001754 38 60 00 00 */ li r3, ifStatus_804D57B0@sda21 +/* 00001718 00001758 38 80 02 34 */ li r4, 0x234 +/* 0000171C 0000175C 38 A0 00 00 */ li r5, ifStatus_804D57B8@sda21 +/* 00001720 00001760 48 00 00 01 */ bl __assert +.L_00001724: +/* 00001724 00001764 80 9E 00 14 */ lwz r4, 0x14(r30) +/* 00001728 00001768 38 60 00 00 */ li r3, 0x0 +/* 0000172C 0000176C 54 80 02 11 */ rlwinm. r0, r4, 0, 8, 8 +/* 00001730 00001770 40 82 00 10 */ bne .L_00001740 +/* 00001734 00001774 54 80 06 73 */ rlwinm. r0, r4, 0, 25, 25 +/* 00001738 00001778 41 82 00 08 */ beq .L_00001740 +/* 0000173C 0000177C 38 60 00 01 */ li r3, 0x1 +.L_00001740: +/* 00001740 00001780 2C 03 00 00 */ cmpwi r3, 0x0 +/* 00001744 00001784 40 82 00 0C */ bne .L_00001750 +/* 00001748 00001788 7F C3 F3 78 */ mr r3, r30 +/* 0000174C 0000178C 48 00 00 01 */ bl HSD_JObjSetMtxDirtySub +.L_00001750: +/* 00001750 00001790 3B BC 00 00 */ addi r29, r28, 0x0 +/* 00001754 00001794 3B 7E 00 00 */ addi r27, r30, 0x0 +/* 00001758 00001798 3B 40 00 00 */ li r26, 0x0 +.L_0000175C: +/* 0000175C 0000179C 38 7B 00 00 */ addi r3, r27, 0x0 +/* 00001760 000017A0 38 9A 00 00 */ addi r4, r26, 0x0 +/* 00001764 000017A4 48 00 00 01 */ bl ifStatus_802F6194 +/* 00001768 000017A8 90 7D 00 54 */ stw r3, 0x54(r29) +/* 0000176C 000017AC 83 DD 00 54 */ lwz r30, 0x54(r29) +/* 00001770 000017B0 28 1E 00 00 */ cmplwi r30, 0x0 +/* 00001774 000017B4 40 82 00 14 */ bne .L_00001788 +/* 00001778 000017B8 38 60 00 00 */ li r3, ifStatus_804D57B0@sda21 +/* 0000177C 000017BC 38 80 03 E1 */ li r4, 0x3e1 +/* 00001780 000017C0 38 A0 00 00 */ li r5, ifStatus_804D57B8@sda21 +/* 00001784 000017C4 48 00 00 01 */ bl __assert +.L_00001788: +/* 00001788 000017C8 C0 1E 00 38 */ lfs f0, 0x38(r30) +/* 0000178C 000017CC D0 1D 00 14 */ stfs f0, 0x14(r29) +/* 00001790 000017D0 83 DD 00 54 */ lwz r30, 0x54(r29) +/* 00001794 000017D4 28 1E 00 00 */ cmplwi r30, 0x0 +/* 00001798 000017D8 40 82 00 14 */ bne .L_000017AC +/* 0000179C 000017DC 38 60 00 00 */ li r3, ifStatus_804D57B0@sda21 +/* 000017A0 000017E0 38 80 03 EE */ li r4, 0x3ee +/* 000017A4 000017E4 38 A0 00 00 */ li r5, ifStatus_804D57B8@sda21 +/* 000017A8 000017E8 48 00 00 01 */ bl __assert +.L_000017AC: +/* 000017AC 000017EC C0 1E 00 3C */ lfs f0, 0x3c(r30) +/* 000017B0 000017F0 3B 5A 00 01 */ addi r26, r26, 0x1 +/* 000017B4 000017F4 2C 1A 00 04 */ cmpwi r26, 0x4 +/* 000017B8 000017F8 D0 1D 00 24 */ stfs f0, 0x24(r29) +/* 000017BC 000017FC 3B BD 00 04 */ addi r29, r29, 0x4 +/* 000017C0 00001800 41 80 FF 9C */ blt .L_0000175C +/* 000017C4 00001804 80 9C 00 60 */ lwz r4, 0x60(r28) +/* 000017C8 00001808 28 04 00 00 */ cmplwi r4, 0x0 +/* 000017CC 0000180C 41 82 00 7C */ beq .L_00001848 +/* 000017D0 00001810 80 7F 00 00 */ lwz r3, 0x0(r31) +/* 000017D4 00001814 80 84 00 18 */ lwz r4, 0x18(r4) +/* 000017D8 00001818 80 63 00 00 */ lwz r3, 0x0(r3) +/* 000017DC 0000181C 80 84 00 08 */ lwz r4, 0x8(r4) +/* 000017E0 00001820 80 63 00 00 */ lwz r3, 0x0(r3) +/* 000017E4 00001824 83 64 00 08 */ lwz r27, 0x8(r4) +/* 000017E8 00001828 80 83 00 04 */ lwz r4, 0x4(r3) +/* 000017EC 0000182C 7F 63 DB 78 */ mr r3, r27 +/* 000017F0 00001830 80 84 00 04 */ lwz r4, 0x4(r4) +/* 000017F4 00001834 80 84 00 04 */ lwz r4, 0x4(r4) +/* 000017F8 00001838 80 84 00 08 */ lwz r4, 0x8(r4) +/* 000017FC 0000183C 80 84 00 08 */ lwz r4, 0x8(r4) +/* 00001800 00001840 48 00 00 01 */ bl HSD_TObjAddAnimAll +/* 00001804 00001844 88 7C 00 08 */ lbz r3, 0x8(r28) +/* 00001808 00001848 7C 63 07 74 */ extsb r3, r3 +/* 0000180C 0000184C 48 00 00 01 */ bl Player_GetMoreFlagsBit2 +/* 00001810 00001850 2C 03 00 00 */ cmpwi r3, 0x0 +/* 00001814 00001854 41 82 00 14 */ beq .L_00001828 +/* 00001818 00001858 7F 63 DB 78 */ mr r3, r27 +/* 0000181C 0000185C C0 20 00 00 */ lfs f1, ifStatus_804DDA48@sda21(r0) +/* 00001820 00001860 48 00 00 01 */ bl HSD_TObjReqAnimAll +/* 00001824 00001864 48 00 00 10 */ b .L_00001834 +.L_00001828: +/* 00001828 00001868 7F 63 DB 78 */ mr r3, r27 +/* 0000182C 0000186C C0 20 00 00 */ lfs f1, ifStatus_804DDA4C@sda21(r0) +/* 00001830 00001870 48 00 00 01 */ bl HSD_TObjReqAnimAll +.L_00001834: +/* 00001834 00001874 80 7B 00 64 */ lwz r3, 0x64(r27) +/* 00001838 00001878 C0 20 00 00 */ lfs f1, ifStatus_804DDA4C@sda21(r0) +/* 0000183C 0000187C 48 00 00 01 */ bl HSD_AObjSetRate +/* 00001840 00001880 7F 63 DB 78 */ mr r3, r27 +/* 00001844 00001884 48 00 00 01 */ bl HSD_TObjAnim +.L_00001848: +/* 00001848 00001888 80 7C 00 00 */ lwz r3, 0x0(r28) +/* 0000184C 0000188C 48 00 00 01 */ bl ifStatus_802F5B48 +/* 00001850 00001890 A8 1C 00 0A */ lha r0, 0xa(r28) +/* 00001854 00001894 7C 00 00 34 */ cntlzw r0, r0 +/* 00001858 00001898 54 00 D9 7E */ srwi r0, r0, 5 +/* 0000185C 0000189C 7C 00 07 34 */ extsh r0, r0 +/* 00001860 000018A0 B0 1C 00 0C */ sth r0, 0xc(r28) +/* 00001864 000018A4 80 7C 00 00 */ lwz r3, 0x0(r28) +/* 00001868 000018A8 48 00 00 01 */ bl ifStatus_802F4EDC +/* 0000186C 000018AC 80 7C 00 00 */ lwz r3, 0x0(r28) +/* 00001870 000018B0 BB 41 00 38 */ lmw r26, 0x38(r1) +/* 00001874 000018B4 80 01 00 54 */ lwz r0, 0x54(r1) +/* 00001878 000018B8 38 21 00 50 */ addi r1, r1, 0x50 +/* 0000187C 000018BC 7C 08 03 A6 */ mtlr r0 +/* 00001880 000018C0 4E 80 00 20 */ blr +.endfn ifStatus_802F5EC0 + +.fn ifStatus_802F6194, global +/* 00001884 000018C4 28 03 00 00 */ cmplwi r3, 0x0 +/* 00001888 000018C8 41 82 00 0C */ beq .L_00001894 +/* 0000188C 000018CC 2C 04 00 00 */ cmpwi r4, 0x0 +/* 00001890 000018D0 40 80 00 0C */ bge .L_0000189C +.L_00001894: +/* 00001894 000018D4 38 60 00 00 */ li r3, 0x0 +/* 00001898 000018D8 4E 80 00 20 */ blr +.L_0000189C: +/* 0000189C 000018DC 28 03 00 00 */ cmplwi r3, 0x0 +/* 000018A0 000018E0 40 82 00 0C */ bne .L_000018AC +/* 000018A4 000018E4 38 00 00 00 */ li r0, 0x0 +/* 000018A8 000018E8 48 00 00 08 */ b .L_000018B0 +.L_000018AC: +/* 000018AC 000018EC 80 03 00 10 */ lwz r0, 0x10(r3) +.L_000018B0: +/* 000018B0 000018F0 7C 03 03 78 */ mr r3, r0 +/* 000018B4 000018F4 38 A0 00 00 */ li r5, 0x0 +/* 000018B8 000018F8 48 00 00 20 */ b .L_000018D8 +.L_000018BC: +/* 000018BC 000018FC 28 03 00 00 */ cmplwi r3, 0x0 +/* 000018C0 00001900 40 82 00 0C */ bne .L_000018CC +/* 000018C4 00001904 38 00 00 00 */ li r0, 0x0 +/* 000018C8 00001908 48 00 00 08 */ b .L_000018D0 +.L_000018CC: +/* 000018CC 0000190C 80 03 00 08 */ lwz r0, 0x8(r3) +.L_000018D0: +/* 000018D0 00001910 7C 03 03 78 */ mr r3, r0 +/* 000018D4 00001914 38 A5 00 01 */ addi r5, r5, 0x1 +.L_000018D8: +/* 000018D8 00001918 7C 05 20 00 */ cmpw r5, r4 +/* 000018DC 0000191C 4C 80 00 20 */ bgelr +/* 000018E0 00001920 28 03 00 00 */ cmplwi r3, 0x0 +/* 000018E4 00001924 40 82 FF D8 */ bne .L_000018BC +/* 000018E8 00001928 4E 80 00 20 */ blr +.endfn ifStatus_802F6194 + +.fn ifStatus_802F61FC, global +/* 000018EC 0000192C 7C 08 02 A6 */ mflr r0 +/* 000018F0 00001930 3C C0 00 00 */ lis r6, ifStatus_803F9598@ha +/* 000018F4 00001934 90 01 00 04 */ stw r0, 0x4(r1) +/* 000018F8 00001938 3C A0 00 00 */ lis r5, ifStatus_HudInfo@ha +/* 000018FC 0000193C 94 21 FF B8 */ stwu r1, -0x48(r1) +/* 00001900 00001940 BF 21 00 2C */ stmw r25, 0x2c(r1) +/* 00001904 00001944 54 9F 06 3E */ clrlwi r31, r4, 24 +/* 00001908 00001948 3B A3 00 00 */ addi r29, r3, 0x0 +/* 0000190C 0000194C 38 7F 00 00 */ addi r3, r31, 0x0 +/* 00001910 00001950 3B 66 00 00 */ addi r27, r6, ifStatus_803F9598@l +/* 00001914 00001954 3B 45 00 00 */ addi r26, r5, ifStatus_HudInfo@l +/* 00001918 00001958 48 00 00 01 */ bl Player_GetPlayerCharacter +/* 0000191C 0000195C 80 9D 00 04 */ lwz r4, 0x4(r29) +/* 00001920 00001960 3B 83 00 00 */ addi r28, r3, 0x0 +/* 00001924 00001964 28 04 00 00 */ cmplwi r4, 0x0 +/* 00001928 00001968 40 82 00 98 */ bne .L_000019C0 +/* 0000192C 0000196C 48 00 00 01 */ bl ifAll_802F3690 +/* 00001930 00001970 38 60 00 0E */ li r3, 0xe +/* 00001934 00001974 38 80 00 0F */ li r4, 0xf +/* 00001938 00001978 38 A0 00 00 */ li r5, 0x0 +/* 0000193C 0000197C 48 00 00 01 */ bl GObj_Create +/* 00001940 00001980 7C 79 1B 79 */ mr. r25, r3 +/* 00001944 00001984 40 82 00 20 */ bne .L_00001964 +/* 00001948 00001988 38 7B 00 34 */ addi r3, r27, 0x34 +/* 0000194C 0000198C 4C C6 31 82 */ crclr cr1eq +/* 00001950 00001990 48 00 00 01 */ bl OSReport +/* 00001954 00001994 38 7B 00 5C */ addi r3, r27, 0x5c +/* 00001958 00001998 38 80 03 0A */ li r4, 0x30a +/* 0000195C 0000199C 38 A0 00 00 */ li r5, ifStatus_804D57C0@sda21 +/* 00001960 000019A0 48 00 00 01 */ bl __assert +.L_00001964: +/* 00001964 000019A4 80 7A 02 68 */ lwz r3, 0x268(r26) +/* 00001968 000019A8 48 00 00 01 */ bl HSD_JObjLoadJoint +/* 0000196C 000019AC 7C 7E 1B 79 */ mr. r30, r3 +/* 00001970 000019B0 40 82 00 20 */ bne .L_00001990 +/* 00001974 000019B4 38 7B 00 68 */ addi r3, r27, 0x68 +/* 00001978 000019B8 4C C6 31 82 */ crclr cr1eq +/* 0000197C 000019BC 48 00 00 01 */ bl OSReport +/* 00001980 000019C0 38 7B 00 5C */ addi r3, r27, 0x5c +/* 00001984 000019C4 38 80 03 0E */ li r4, 0x30e +/* 00001988 000019C8 38 A0 00 00 */ li r5, ifStatus_804D57C0@sda21 +/* 0000198C 000019CC 48 00 00 01 */ bl __assert +.L_00001990: +/* 00001990 000019D0 88 80 00 00 */ lbz r4, HSD_GObj_804D7849@sda21(r0) +/* 00001994 000019D4 38 79 00 00 */ addi r3, r25, 0x0 +/* 00001998 000019D8 38 BE 00 00 */ addi r5, r30, 0x0 +/* 0000199C 000019DC 48 00 00 01 */ bl HSD_GObjObjet_80390A70 +/* 000019A0 000019E0 3C 60 00 00 */ lis r3, ifStatus_802F5E50@ha +/* 000019A4 000019E4 38 83 00 00 */ addi r4, r3, ifStatus_802F5E50@l +/* 000019A8 000019E8 38 79 00 00 */ addi r3, r25, 0x0 +/* 000019AC 000019EC 38 A0 00 0B */ li r5, 0xb +/* 000019B0 000019F0 38 C0 00 00 */ li r6, 0x0 +/* 000019B4 000019F4 48 00 00 01 */ bl GObj_SetupGXLink +/* 000019B8 000019F8 93 3D 00 04 */ stw r25, 0x4(r29) +/* 000019BC 000019FC 48 00 00 08 */ b .L_000019C4 +.L_000019C0: +/* 000019C0 00001A00 83 C4 00 28 */ lwz r30, 0x28(r4) +.L_000019C4: +/* 000019C4 00001A04 80 DE 00 10 */ lwz r6, 0x10(r30) +/* 000019C8 00001A08 7F C3 F3 78 */ mr r3, r30 +/* 000019CC 00001A0C 80 BA 02 6C */ lwz r5, 0x26c(r26) +/* 000019D0 00001A10 38 80 00 00 */ li r4, 0x0 +/* 000019D4 00001A14 80 E6 00 18 */ lwz r7, 0x18(r6) +/* 000019D8 00001A18 80 DA 02 70 */ lwz r6, 0x270(r26) +/* 000019DC 00001A1C 81 07 00 08 */ lwz r8, 0x8(r7) +/* 000019E0 00001A20 80 FA 02 74 */ lwz r7, 0x274(r26) +/* 000019E4 00001A24 83 48 00 08 */ lwz r26, 0x8(r8) +/* 000019E8 00001A28 48 00 00 01 */ bl lb_8000C07C +/* 000019EC 00001A2C 2C 1C 00 1A */ cmpwi r28, 0x1a +/* 000019F0 00001A30 41 82 00 10 */ beq .L_00001A00 +/* 000019F4 00001A34 38 1C FF E3 */ subi r0, r28, 0x1d +/* 000019F8 00001A38 28 00 00 01 */ cmplwi r0, 0x1 +/* 000019FC 00001A3C 41 81 00 08 */ bgt .L_00001A04 +.L_00001A00: +/* 00001A00 00001A40 3B 80 00 1B */ li r28, 0x1b +.L_00001A04: +/* 00001A04 00001A44 38 7C 00 00 */ addi r3, r28, 0x0 +/* 00001A08 00001A48 38 80 00 00 */ li r4, 0x0 +/* 00001A0C 00001A4C 38 A0 00 00 */ li r5, 0x0 +/* 00001A10 00001A50 48 00 00 01 */ bl gm_80168B34 +/* 00001A14 00001A54 C0 00 00 00 */ lfs f0, ifStatus_804DDA94@sda21(r0) +/* 00001A18 00001A58 7F 43 D3 78 */ mr r3, r26 +/* 00001A1C 00001A5C EC 20 08 2A */ fadds f1, f0, f1 +/* 00001A20 00001A60 48 00 00 01 */ bl HSD_TObjReqAnimAll +/* 00001A24 00001A64 80 7A 00 64 */ lwz r3, 0x64(r26) +/* 00001A28 00001A68 C0 20 00 00 */ lfs f1, ifStatus_804DDA9C@sda21(r0) +/* 00001A2C 00001A6C 48 00 00 01 */ bl HSD_AObjSetRate +/* 00001A30 00001A70 7F 43 D3 78 */ mr r3, r26 +/* 00001A34 00001A74 48 00 00 01 */ bl HSD_TObjAnim +/* 00001A38 00001A78 7F E3 FB 78 */ mr r3, r31 +/* 00001A3C 00001A7C 48 00 00 01 */ bl ifAll_802F3424 +/* 00001A40 00001A80 28 1E 00 00 */ cmplwi r30, 0x0 +/* 00001A44 00001A84 3B 43 00 00 */ addi r26, r3, 0x0 +/* 00001A48 00001A88 40 82 00 14 */ bne .L_00001A5C +/* 00001A4C 00001A8C 38 60 00 00 */ li r3, ifStatus_804D57B0@sda21 +/* 00001A50 00001A90 38 80 03 94 */ li r4, 0x394 +/* 00001A54 00001A94 38 A0 00 00 */ li r5, ifStatus_804D57B8@sda21 +/* 00001A58 00001A98 48 00 00 01 */ bl __assert +.L_00001A5C: +/* 00001A5C 00001A9C 28 1A 00 00 */ cmplwi r26, 0x0 +/* 00001A60 00001AA0 40 82 00 14 */ bne .L_00001A74 +/* 00001A64 00001AA4 38 BB 00 28 */ addi r5, r27, 0x28 +/* 00001A68 00001AA8 38 60 00 00 */ li r3, ifStatus_804D57B0@sda21 +/* 00001A6C 00001AAC 38 80 03 95 */ li r4, 0x395 +/* 00001A70 00001AB0 48 00 00 01 */ bl __assert +.L_00001A74: +/* 00001A74 00001AB4 80 7A 00 00 */ lwz r3, 0x0(r26) +/* 00001A78 00001AB8 80 1A 00 04 */ lwz r0, 0x4(r26) +/* 00001A7C 00001ABC 90 7E 00 38 */ stw r3, 0x38(r30) +/* 00001A80 00001AC0 90 1E 00 3C */ stw r0, 0x3c(r30) +/* 00001A84 00001AC4 80 1A 00 08 */ lwz r0, 0x8(r26) +/* 00001A88 00001AC8 90 1E 00 40 */ stw r0, 0x40(r30) +/* 00001A8C 00001ACC 80 1E 00 14 */ lwz r0, 0x14(r30) +/* 00001A90 00001AD0 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 +/* 00001A94 00001AD4 40 82 00 4C */ bne .L_00001AE0 +/* 00001A98 00001AD8 28 1E 00 00 */ cmplwi r30, 0x0 +/* 00001A9C 00001ADC 41 82 00 44 */ beq .L_00001AE0 +/* 00001AA0 00001AE0 40 82 00 14 */ bne .L_00001AB4 +/* 00001AA4 00001AE4 38 60 00 00 */ li r3, ifStatus_804D57B0@sda21 +/* 00001AA8 00001AE8 38 80 02 34 */ li r4, 0x234 +/* 00001AAC 00001AEC 38 A0 00 00 */ li r5, ifStatus_804D57B8@sda21 +/* 00001AB0 00001AF0 48 00 00 01 */ bl __assert +.L_00001AB4: +/* 00001AB4 00001AF4 80 9E 00 14 */ lwz r4, 0x14(r30) +/* 00001AB8 00001AF8 38 60 00 00 */ li r3, 0x0 +/* 00001ABC 00001AFC 54 80 02 11 */ rlwinm. r0, r4, 0, 8, 8 +/* 00001AC0 00001B00 40 82 00 10 */ bne .L_00001AD0 +/* 00001AC4 00001B04 54 80 06 73 */ rlwinm. r0, r4, 0, 25, 25 +/* 00001AC8 00001B08 41 82 00 08 */ beq .L_00001AD0 +/* 00001ACC 00001B0C 38 60 00 01 */ li r3, 0x1 +.L_00001AD0: +/* 00001AD0 00001B10 2C 03 00 00 */ cmpwi r3, 0x0 +/* 00001AD4 00001B14 40 82 00 0C */ bne .L_00001AE0 +/* 00001AD8 00001B18 7F C3 F3 78 */ mr r3, r30 +/* 00001ADC 00001B1C 48 00 00 01 */ bl HSD_JObjSetMtxDirtySub +.L_00001AE0: +/* 00001AE0 00001B20 28 1E 00 00 */ cmplwi r30, 0x0 +/* 00001AE4 00001B24 40 82 00 14 */ bne .L_00001AF8 +/* 00001AE8 00001B28 38 60 00 00 */ li r3, ifStatus_804D57B0@sda21 +/* 00001AEC 00001B2C 38 80 04 4E */ li r4, 0x44e +/* 00001AF0 00001B30 38 A0 00 00 */ li r5, ifStatus_804D57B8@sda21 +/* 00001AF4 00001B34 48 00 00 01 */ bl __assert +.L_00001AF8: +/* 00001AF8 00001B38 C0 3E 00 38 */ lfs f1, 0x38(r30) +/* 00001AFC 00001B3C C0 00 00 00 */ lfs f0, ifStatus_804DDAA0@sda21(r0) +/* 00001B00 00001B40 EC 01 00 2A */ fadds f0, f1, f0 +/* 00001B04 00001B44 D0 1E 00 38 */ stfs f0, 0x38(r30) +/* 00001B08 00001B48 80 1E 00 14 */ lwz r0, 0x14(r30) +/* 00001B0C 00001B4C 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 +/* 00001B10 00001B50 40 82 00 4C */ bne .L_00001B5C +/* 00001B14 00001B54 28 1E 00 00 */ cmplwi r30, 0x0 +/* 00001B18 00001B58 41 82 00 44 */ beq .L_00001B5C +/* 00001B1C 00001B5C 40 82 00 14 */ bne .L_00001B30 +/* 00001B20 00001B60 38 60 00 00 */ li r3, ifStatus_804D57B0@sda21 +/* 00001B24 00001B64 38 80 02 34 */ li r4, 0x234 +/* 00001B28 00001B68 38 A0 00 00 */ li r5, ifStatus_804D57B8@sda21 +/* 00001B2C 00001B6C 48 00 00 01 */ bl __assert +.L_00001B30: +/* 00001B30 00001B70 80 9E 00 14 */ lwz r4, 0x14(r30) +/* 00001B34 00001B74 38 60 00 00 */ li r3, 0x0 +/* 00001B38 00001B78 54 80 02 11 */ rlwinm. r0, r4, 0, 8, 8 +/* 00001B3C 00001B7C 40 82 00 10 */ bne .L_00001B4C +/* 00001B40 00001B80 54 80 06 73 */ rlwinm. r0, r4, 0, 25, 25 +/* 00001B44 00001B84 41 82 00 08 */ beq .L_00001B4C +/* 00001B48 00001B88 38 60 00 01 */ li r3, 0x1 +.L_00001B4C: +/* 00001B4C 00001B8C 2C 03 00 00 */ cmpwi r3, 0x0 +/* 00001B50 00001B90 40 82 00 0C */ bne .L_00001B5C +/* 00001B54 00001B94 7F C3 F3 78 */ mr r3, r30 +/* 00001B58 00001B98 48 00 00 01 */ bl HSD_JObjSetMtxDirtySub +.L_00001B5C: +/* 00001B5C 00001B9C 7F E3 FB 78 */ mr r3, r31 +/* 00001B60 00001BA0 48 00 00 01 */ bl Player_GetPlayerSlotType +/* 00001B64 00001BA4 54 7A 06 3E */ clrlwi r26, r3, 24 +/* 00001B68 00001BA8 48 00 00 01 */ bl gm_8016B168 +/* 00001B6C 00001BAC 54 7B 06 3E */ clrlwi r27, r3, 24 +/* 00001B70 00001BB0 38 7F 00 00 */ addi r3, r31, 0x0 +/* 00001B74 00001BB4 48 00 00 01 */ bl Player_GetTeam +/* 00001B78 00001BB8 54 7C 06 3E */ clrlwi r28, r3, 24 +/* 00001B7C 00001BBC 38 7F 00 00 */ addi r3, r31, 0x0 +/* 00001B80 00001BC0 48 00 00 01 */ bl Player_GetPlayerId +/* 00001B84 00001BC4 54 63 06 3E */ clrlwi r3, r3, 24 +/* 00001B88 00001BC8 38 9C 00 00 */ addi r4, r28, 0x0 +/* 00001B8C 00001BCC 38 BB 00 00 */ addi r5, r27, 0x0 +/* 00001B90 00001BD0 38 DA 00 00 */ addi r6, r26, 0x0 +/* 00001B94 00001BD4 48 00 00 01 */ bl gm_80160854 +/* 00001B98 00001BD8 48 00 00 01 */ bl gm_80160968 +/* 00001B9C 00001BDC 28 1E 00 00 */ cmplwi r30, 0x0 +/* 00001BA0 00001BE0 90 61 00 20 */ stw r3, 0x20(r1) +/* 00001BA4 00001BE4 40 82 00 0C */ bne .L_00001BB0 +/* 00001BA8 00001BE8 38 60 00 00 */ li r3, 0x0 +/* 00001BAC 00001BEC 48 00 00 08 */ b .L_00001BB4 +.L_00001BB0: +/* 00001BB0 00001BF0 80 7E 00 10 */ lwz r3, 0x10(r30) +.L_00001BB4: +/* 00001BB4 00001BF4 80 63 00 18 */ lwz r3, 0x18(r3) +/* 00001BB8 00001BF8 88 01 00 20 */ lbz r0, 0x20(r1) +/* 00001BBC 00001BFC 80 83 00 08 */ lwz r4, 0x8(r3) +/* 00001BC0 00001C00 80 64 00 0C */ lwz r3, 0xc(r4) +/* 00001BC4 00001C04 98 03 00 04 */ stb r0, 0x4(r3) +/* 00001BC8 00001C08 88 01 00 21 */ lbz r0, 0x21(r1) +/* 00001BCC 00001C0C 80 64 00 0C */ lwz r3, 0xc(r4) +/* 00001BD0 00001C10 98 03 00 05 */ stb r0, 0x5(r3) +/* 00001BD4 00001C14 88 01 00 22 */ lbz r0, 0x22(r1) +/* 00001BD8 00001C18 80 64 00 0C */ lwz r3, 0xc(r4) +/* 00001BDC 00001C1C 98 03 00 06 */ stb r0, 0x6(r3) +/* 00001BE0 00001C20 80 7D 00 04 */ lwz r3, 0x4(r29) +/* 00001BE4 00001C24 80 01 00 4C */ lwz r0, 0x4c(r1) +/* 00001BE8 00001C28 BB 21 00 2C */ lmw r25, 0x2c(r1) +/* 00001BEC 00001C2C 38 21 00 48 */ addi r1, r1, 0x48 +/* 00001BF0 00001C30 7C 08 03 A6 */ mtlr r0 +/* 00001BF4 00001C34 4E 80 00 20 */ blr +.endfn ifStatus_802F61FC + +.fn ifStatus_802F6508, global +/* 00001BF8 00001C38 7C 08 02 A6 */ mflr r0 +/* 00001BFC 00001C3C 90 01 00 04 */ stw r0, 0x4(r1) +/* 00001C00 00001C40 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 00001C04 00001C44 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 00001C08 00001C48 7C 7F 1B 78 */ mr r31, r3 +/* 00001C0C 00001C4C 93 C1 00 18 */ stw r30, 0x18(r1) +/* 00001C10 00001C50 93 A1 00 14 */ stw r29, 0x14(r1) +/* 00001C14 00001C54 93 81 00 10 */ stw r28, 0x10(r1) +/* 00001C18 00001C58 48 00 00 01 */ bl Player_GetPlayerSlotType +/* 00001C1C 00001C5C 2C 03 00 03 */ cmpwi r3, 0x3 +/* 00001C20 00001C60 41 82 01 0C */ beq .L_00001D2C +/* 00001C24 00001C64 88 00 00 00 */ lbz r0, ifStatus_804D6D60@sda21(r0) +/* 00001C28 00001C68 7C 00 F8 00 */ cmpw r0, r31 +/* 00001C2C 00001C6C 40 81 01 00 */ ble .L_00001D2C +/* 00001C30 00001C70 48 00 00 01 */ bl gm_8016AE50 +/* 00001C34 00001C74 88 03 00 02 */ lbz r0, 0x2(r3) +/* 00001C38 00001C78 7C 7D 1B 78 */ mr r29, r3 +/* 00001C3C 00001C7C 54 00 FF FF */ extrwi. r0, r0, 1, 30 +/* 00001C40 00001C80 41 82 00 EC */ beq .L_00001D2C +/* 00001C44 00001C84 57 FE 06 3E */ clrlwi r30, r31, 24 +/* 00001C48 00001C88 1C 9E 00 64 */ mulli r4, r30, 0x64 +/* 00001C4C 00001C8C 3C 60 00 00 */ lis r3, ifStatus_HudInfo@ha +/* 00001C50 00001C90 38 03 00 00 */ addi r0, r3, ifStatus_HudInfo@l +/* 00001C54 00001C94 7F 80 22 14 */ add r28, r0, r4 +/* 00001C58 00001C98 38 00 FF FF */ li r0, -0x1 +/* 00001C5C 00001C9C B0 1C 00 0A */ sth r0, 0xa(r28) +/* 00001C60 00001CA0 38 A0 00 00 */ li r5, 0x0 +/* 00001C64 00001CA4 38 7C 00 00 */ addi r3, r28, 0x0 +/* 00001C68 00001CA8 B0 1C 00 0C */ sth r0, 0xc(r28) +/* 00001C6C 00001CAC 7F C4 F3 78 */ mr r4, r30 +/* 00001C70 00001CB0 98 BC 00 0F */ stb r5, 0xf(r28) +/* 00001C74 00001CB4 88 1C 00 10 */ lbz r0, 0x10(r28) +/* 00001C78 00001CB8 50 A0 3E 30 */ rlwimi r0, r5, 7, 24, 24 +/* 00001C7C 00001CBC 98 1C 00 10 */ stb r0, 0x10(r28) +/* 00001C80 00001CC0 88 1C 00 10 */ lbz r0, 0x10(r28) +/* 00001C84 00001CC4 50 A0 36 72 */ rlwimi r0, r5, 6, 25, 25 +/* 00001C88 00001CC8 98 1C 00 10 */ stb r0, 0x10(r28) +/* 00001C8C 00001CCC 88 1C 00 10 */ lbz r0, 0x10(r28) +/* 00001C90 00001CD0 50 A0 2E B4 */ rlwimi r0, r5, 5, 26, 26 +/* 00001C94 00001CD4 98 1C 00 10 */ stb r0, 0x10(r28) +/* 00001C98 00001CD8 88 1C 00 10 */ lbz r0, 0x10(r28) +/* 00001C9C 00001CDC 50 A0 26 F6 */ rlwimi r0, r5, 4, 27, 27 +/* 00001CA0 00001CE0 98 1C 00 10 */ stb r0, 0x10(r28) +/* 00001CA4 00001CE4 9B FC 00 08 */ stb r31, 0x8(r28) +/* 00001CA8 00001CE8 98 BC 00 09 */ stb r5, 0x9(r28) +/* 00001CAC 00001CEC 48 00 00 01 */ bl ifStatus_802F61FC +/* 00001CB0 00001CF0 38 7C 00 00 */ addi r3, r28, 0x0 +/* 00001CB4 00001CF4 38 9E 00 00 */ addi r4, r30, 0x0 +/* 00001CB8 00001CF8 48 00 00 01 */ bl ifStatus_802F5EC0 +/* 00001CBC 00001CFC 88 1D 00 03 */ lbz r0, 0x3(r29) +/* 00001CC0 00001D00 54 00 CF FF */ extrwi. r0, r0, 1, 24 +/* 00001CC4 00001D04 41 82 00 18 */ beq .L_00001CDC +/* 00001CC8 00001D08 48 00 00 01 */ bl gm_8016B238 +/* 00001CCC 00001D0C 2C 03 00 00 */ cmpwi r3, 0x0 +/* 00001CD0 00001D10 40 82 00 0C */ bne .L_00001CDC +/* 00001CD4 00001D14 7F E3 FB 78 */ mr r3, r31 +/* 00001CD8 00001D18 48 00 00 01 */ bl un_802FF364 +.L_00001CDC: +/* 00001CDC 00001D1C 88 7D 00 00 */ lbz r3, 0x0(r29) +/* 00001CE0 00001D20 54 63 DF 7E */ extrwi r3, r3, 3, 24 +/* 00001CE4 00001D24 28 03 00 01 */ cmplwi r3, 0x1 +/* 00001CE8 00001D28 41 82 00 10 */ beq .L_00001CF8 +/* 00001CEC 00001D2C 88 1D 00 04 */ lbz r0, 0x4(r29) +/* 00001CF0 00001D30 54 00 DF FF */ extrwi. r0, r0, 1, 26 +/* 00001CF4 00001D34 41 82 00 14 */ beq .L_00001D08 +.L_00001CF8: +/* 00001CF8 00001D38 57 E3 06 3E */ clrlwi r3, r31, 24 +/* 00001CFC 00001D3C 38 80 00 00 */ li r4, 0x0 +/* 00001D00 00001D40 48 00 00 01 */ bl ifStock_802F98E8 +/* 00001D04 00001D44 48 00 00 28 */ b .L_00001D2C +.L_00001D08: +/* 00001D08 00001D48 28 03 00 02 */ cmplwi r3, 0x2 +/* 00001D0C 00001D4C 40 82 00 14 */ bne .L_00001D20 +/* 00001D10 00001D50 57 E3 06 3E */ clrlwi r3, r31, 24 +/* 00001D14 00001D54 38 80 00 02 */ li r4, 0x2 +/* 00001D18 00001D58 48 00 00 01 */ bl ifStock_802F98E8 +/* 00001D1C 00001D5C 48 00 00 10 */ b .L_00001D2C +.L_00001D20: +/* 00001D20 00001D60 57 E3 06 3E */ clrlwi r3, r31, 24 +/* 00001D24 00001D64 38 80 00 01 */ li r4, 0x1 +/* 00001D28 00001D68 48 00 00 01 */ bl ifStock_802F98E8 +.L_00001D2C: +/* 00001D2C 00001D6C 80 01 00 24 */ lwz r0, 0x24(r1) +/* 00001D30 00001D70 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 00001D34 00001D74 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 00001D38 00001D78 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 00001D3C 00001D7C 83 81 00 10 */ lwz r28, 0x10(r1) +/* 00001D40 00001D80 38 21 00 20 */ addi r1, r1, 0x20 +/* 00001D44 00001D84 7C 08 03 A6 */ mtlr r0 +/* 00001D48 00001D88 4E 80 00 20 */ blr +.endfn ifStatus_802F6508 + +.fn ifStatus_802F665C, global +/* 00001D4C 00001D8C 7C 08 02 A6 */ mflr r0 +/* 00001D50 00001D90 90 01 00 04 */ stw r0, 0x4(r1) +/* 00001D54 00001D94 94 21 FF E8 */ stwu r1, -0x18(r1) +/* 00001D58 00001D98 93 E1 00 14 */ stw r31, 0x14(r1) +/* 00001D5C 00001D9C 7C 7F 1B 78 */ mr r31, r3 +/* 00001D60 00001DA0 48 00 00 01 */ bl ifAll_802F343C +/* 00001D64 00001DA4 9B E0 00 00 */ stb r31, ifStatus_804D6D60@sda21(r0) +/* 00001D68 00001DA8 3B E0 00 00 */ li r31, 0x0 +.L_00001D6C: +/* 00001D6C 00001DAC 7F E3 FB 78 */ mr r3, r31 +/* 00001D70 00001DB0 48 00 00 01 */ bl ifStatus_802F6508 +/* 00001D74 00001DB4 3B FF 00 01 */ addi r31, r31, 0x1 +/* 00001D78 00001DB8 2C 1F 00 06 */ cmpwi r31, 0x6 +/* 00001D7C 00001DBC 41 80 FF F0 */ blt .L_00001D6C +/* 00001D80 00001DC0 80 01 00 1C */ lwz r0, 0x1c(r1) +/* 00001D84 00001DC4 83 E1 00 14 */ lwz r31, 0x14(r1) +/* 00001D88 00001DC8 38 21 00 18 */ addi r1, r1, 0x18 +/* 00001D8C 00001DCC 7C 08 03 A6 */ mtlr r0 +/* 00001D90 00001DD0 4E 80 00 20 */ blr +.endfn ifStatus_802F665C + +.fn ifStatus_802F66A4, global +/* 00001D94 00001DD4 7C 08 02 A6 */ mflr r0 +/* 00001D98 00001DD8 3C 60 00 00 */ lis r3, ifStatus_HudInfo@ha +/* 00001D9C 00001DDC 90 01 00 04 */ stw r0, 0x4(r1) +/* 00001DA0 00001DE0 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 00001DA4 00001DE4 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 00001DA8 00001DE8 3B E3 00 00 */ addi r31, r3, ifStatus_HudInfo@l +/* 00001DAC 00001DEC 93 C1 00 18 */ stw r30, 0x18(r1) +/* 00001DB0 00001DF0 48 00 00 01 */ bl ifAll_802F3690 +/* 00001DB4 00001DF4 3C A0 00 00 */ lis r5, ifStatus_803F9598@ha +/* 00001DB8 00001DF8 80 63 00 00 */ lwz r3, 0x0(r3) +/* 00001DBC 00001DFC 3C 80 00 00 */ lis r4, ifStatus_803F95AC@ha +/* 00001DC0 00001E00 4C C6 31 82 */ crclr cr1eq +/* 00001DC4 00001E04 38 E4 00 00 */ addi r7, r4, ifStatus_803F95AC@l +/* 00001DC8 00001E08 38 A5 00 00 */ addi r5, r5, ifStatus_803F9598@l +/* 00001DCC 00001E0C 38 81 00 08 */ addi r4, r1, 0x8 +/* 00001DD0 00001E10 38 C1 00 0C */ addi r6, r1, 0xc +/* 00001DD4 00001E14 39 00 00 00 */ li r8, 0x0 +/* 00001DD8 00001E18 48 00 00 01 */ bl lbArchive_80016AF0 +/* 00001DDC 00001E1C 80 81 00 08 */ lwz r4, 0x8(r1) +/* 00001DE0 00001E20 2C 1E 00 00 */ cmpwi r30, 0x0 +/* 00001DE4 00001E24 80 64 00 00 */ lwz r3, 0x0(r4) +/* 00001DE8 00001E28 80 03 00 00 */ lwz r0, 0x0(r3) +/* 00001DEC 00001E2C 90 1F 02 58 */ stw r0, 0x258(r31) +/* 00001DF0 00001E30 80 64 00 00 */ lwz r3, 0x0(r4) +/* 00001DF4 00001E34 80 03 00 04 */ lwz r0, 0x4(r3) +/* 00001DF8 00001E38 90 1F 02 5C */ stw r0, 0x25c(r31) +/* 00001DFC 00001E3C 80 64 00 00 */ lwz r3, 0x0(r4) +/* 00001E00 00001E40 80 03 00 08 */ lwz r0, 0x8(r3) +/* 00001E04 00001E44 90 1F 02 60 */ stw r0, 0x260(r31) +/* 00001E08 00001E48 80 64 00 00 */ lwz r3, 0x0(r4) +/* 00001E0C 00001E4C 80 03 00 0C */ lwz r0, 0xc(r3) +/* 00001E10 00001E50 90 1F 02 64 */ stw r0, 0x264(r31) +/* 00001E14 00001E54 80 81 00 0C */ lwz r4, 0xc(r1) +/* 00001E18 00001E58 80 64 00 00 */ lwz r3, 0x0(r4) +/* 00001E1C 00001E5C 80 03 00 00 */ lwz r0, 0x0(r3) +/* 00001E20 00001E60 90 1F 02 68 */ stw r0, 0x268(r31) +/* 00001E24 00001E64 80 64 00 00 */ lwz r3, 0x0(r4) +/* 00001E28 00001E68 80 03 00 04 */ lwz r0, 0x4(r3) +/* 00001E2C 00001E6C 90 1F 02 6C */ stw r0, 0x26c(r31) +/* 00001E30 00001E70 80 64 00 00 */ lwz r3, 0x0(r4) +/* 00001E34 00001E74 80 03 00 08 */ lwz r0, 0x8(r3) +/* 00001E38 00001E78 90 1F 02 70 */ stw r0, 0x270(r31) +/* 00001E3C 00001E7C 80 64 00 00 */ lwz r3, 0x0(r4) +/* 00001E40 00001E80 80 03 00 0C */ lwz r0, 0xc(r3) +/* 00001E44 00001E84 90 1F 02 74 */ stw r0, 0x274(r31) +/* 00001E48 00001E88 41 82 00 18 */ beq .L_00001E60 +/* 00001E4C 00001E8C 38 00 00 00 */ li r0, 0x0 +/* 00001E50 00001E90 98 00 00 00 */ stb r0, ifStatus_804D6D60@sda21(r0) +/* 00001E54 00001E94 38 7F 00 00 */ addi r3, r31, 0x0 +/* 00001E58 00001E98 38 80 02 58 */ li r4, 0x258 +/* 00001E5C 00001E9C 48 00 00 01 */ bl lb_8000C160 +.L_00001E60: +/* 00001E60 00001EA0 80 01 00 24 */ lwz r0, 0x24(r1) +/* 00001E64 00001EA4 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 00001E68 00001EA8 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 00001E6C 00001EAC 38 21 00 20 */ addi r1, r1, 0x20 +/* 00001E70 00001EB0 7C 08 03 A6 */ mtlr r0 +/* 00001E74 00001EB4 4E 80 00 20 */ blr +.endfn ifStatus_802F66A4 + +.fn ifStatus_802F6788, global +/* 00001E78 00001EB8 7C 08 02 A6 */ mflr r0 +/* 00001E7C 00001EBC 90 01 00 04 */ stw r0, 0x4(r1) +/* 00001E80 00001EC0 54 60 06 3E */ clrlwi r0, r3, 24 +/* 00001E84 00001EC4 1C 80 00 64 */ mulli r4, r0, 0x64 +/* 00001E88 00001EC8 94 21 FF E8 */ stwu r1, -0x18(r1) +/* 00001E8C 00001ECC 93 E1 00 14 */ stw r31, 0x14(r1) +/* 00001E90 00001ED0 93 C1 00 10 */ stw r30, 0x10(r1) +/* 00001E94 00001ED4 3B C3 00 00 */ addi r30, r3, 0x0 +/* 00001E98 00001ED8 3C 60 00 00 */ lis r3, ifStatus_HudInfo@ha +/* 00001E9C 00001EDC 38 03 00 00 */ addi r0, r3, ifStatus_HudInfo@l +/* 00001EA0 00001EE0 7F E0 22 14 */ add r31, r0, r4 +/* 00001EA4 00001EE4 80 7F 00 00 */ lwz r3, 0x0(r31) +/* 00001EA8 00001EE8 28 03 00 00 */ cmplwi r3, 0x0 +/* 00001EAC 00001EEC 41 82 00 10 */ beq .L_00001EBC +/* 00001EB0 00001EF0 48 00 00 01 */ bl HSD_GObjPLink_80390228 +/* 00001EB4 00001EF4 38 00 00 00 */ li r0, 0x0 +/* 00001EB8 00001EF8 90 1F 00 00 */ stw r0, 0x0(r31) +.L_00001EBC: +/* 00001EBC 00001EFC 80 7F 00 04 */ lwz r3, 0x4(r31) +/* 00001EC0 00001F00 28 03 00 00 */ cmplwi r3, 0x0 +/* 00001EC4 00001F04 41 82 00 10 */ beq .L_00001ED4 +/* 00001EC8 00001F08 48 00 00 01 */ bl HSD_GObjPLink_80390228 +/* 00001ECC 00001F0C 38 00 00 00 */ li r0, 0x0 +/* 00001ED0 00001F10 90 1F 00 04 */ stw r0, 0x4(r31) +.L_00001ED4: +/* 00001ED4 00001F14 57 C3 06 3E */ clrlwi r3, r30, 24 +/* 00001ED8 00001F18 48 00 00 01 */ bl ifStock_802FB650 +/* 00001EDC 00001F1C 80 01 00 1C */ lwz r0, 0x1c(r1) +/* 00001EE0 00001F20 83 E1 00 14 */ lwz r31, 0x14(r1) +/* 00001EE4 00001F24 83 C1 00 10 */ lwz r30, 0x10(r1) +/* 00001EE8 00001F28 38 21 00 18 */ addi r1, r1, 0x18 +/* 00001EEC 00001F2C 7C 08 03 A6 */ mtlr r0 +/* 00001EF0 00001F30 4E 80 00 20 */ blr +.endfn ifStatus_802F6788 + +.fn ifStatus_802F6804, global +/* 00001EF4 00001F34 7C 08 02 A6 */ mflr r0 +/* 00001EF8 00001F38 3C 60 00 00 */ lis r3, ifStatus_HudInfo@ha +/* 00001EFC 00001F3C 90 01 00 04 */ stw r0, 0x4(r1) +/* 00001F00 00001F40 94 21 FF E8 */ stwu r1, -0x18(r1) +/* 00001F04 00001F44 93 E1 00 14 */ stw r31, 0x14(r1) +/* 00001F08 00001F48 3B E0 00 00 */ li r31, 0x0 +/* 00001F0C 00001F4C 93 C1 00 10 */ stw r30, 0x10(r1) +/* 00001F10 00001F50 3B C3 00 00 */ addi r30, r3, ifStatus_HudInfo@l +/* 00001F14 00001F54 93 A1 00 0C */ stw r29, 0xc(r1) +/* 00001F18 00001F58 93 81 00 08 */ stw r28, 0x8(r1) +/* 00001F1C 00001F5C 3B 80 00 00 */ li r28, 0x0 +.L_00001F20: +/* 00001F20 00001F60 57 80 06 3E */ clrlwi r0, r28, 24 +/* 00001F24 00001F64 1C 00 00 64 */ mulli r0, r0, 0x64 +/* 00001F28 00001F68 7F BE 02 14 */ add r29, r30, r0 +/* 00001F2C 00001F6C 80 7D 00 00 */ lwz r3, 0x0(r29) +/* 00001F30 00001F70 28 03 00 00 */ cmplwi r3, 0x0 +/* 00001F34 00001F74 41 82 00 0C */ beq .L_00001F40 +/* 00001F38 00001F78 48 00 00 01 */ bl HSD_GObjPLink_80390228 +/* 00001F3C 00001F7C 93 FD 00 00 */ stw r31, 0x0(r29) +.L_00001F40: +/* 00001F40 00001F80 80 7D 00 04 */ lwz r3, 0x4(r29) +/* 00001F44 00001F84 28 03 00 00 */ cmplwi r3, 0x0 +/* 00001F48 00001F88 41 82 00 0C */ beq .L_00001F54 +/* 00001F4C 00001F8C 48 00 00 01 */ bl HSD_GObjPLink_80390228 +/* 00001F50 00001F90 93 FD 00 04 */ stw r31, 0x4(r29) +.L_00001F54: +/* 00001F54 00001F94 57 83 06 3E */ clrlwi r3, r28, 24 +/* 00001F58 00001F98 48 00 00 01 */ bl ifStock_802FB650 +/* 00001F5C 00001F9C 3B 9C 00 01 */ addi r28, r28, 0x1 +/* 00001F60 00001FA0 2C 1C 00 06 */ cmpwi r28, 0x6 +/* 00001F64 00001FA4 41 80 FF BC */ blt .L_00001F20 +/* 00001F68 00001FA8 80 01 00 1C */ lwz r0, 0x1c(r1) +/* 00001F6C 00001FAC 83 E1 00 14 */ lwz r31, 0x14(r1) +/* 00001F70 00001FB0 83 C1 00 10 */ lwz r30, 0x10(r1) +/* 00001F74 00001FB4 83 A1 00 0C */ lwz r29, 0xc(r1) +/* 00001F78 00001FB8 83 81 00 08 */ lwz r28, 0x8(r1) +/* 00001F7C 00001FBC 38 21 00 18 */ addi r1, r1, 0x18 +/* 00001F80 00001FC0 7C 08 03 A6 */ mtlr r0 +/* 00001F84 00001FC4 4E 80 00 20 */ blr +.endfn ifStatus_802F6804 + +.fn ifStatus_802F6898, global +/* 00001F88 00001FC8 3C 60 00 00 */ lis r3, ifStatus_HudInfo@ha +/* 00001F8C 00001FCC 38 83 00 00 */ addi r4, r3, ifStatus_HudInfo@l +/* 00001F90 00001FD0 88 04 00 10 */ lbz r0, 0x10(r4) +/* 00001F94 00001FD4 38 60 00 01 */ li r3, 0x1 +/* 00001F98 00001FD8 50 60 1F 38 */ rlwimi r0, r3, 3, 28, 28 +/* 00001F9C 00001FDC 98 04 00 10 */ stb r0, 0x10(r4) +/* 00001FA0 00001FE0 88 04 00 74 */ lbz r0, 0x74(r4) +/* 00001FA4 00001FE4 50 60 1F 38 */ rlwimi r0, r3, 3, 28, 28 +/* 00001FA8 00001FE8 98 04 00 74 */ stb r0, 0x74(r4) +/* 00001FAC 00001FEC 88 04 00 D8 */ lbz r0, 0xd8(r4) +/* 00001FB0 00001FF0 50 60 1F 38 */ rlwimi r0, r3, 3, 28, 28 +/* 00001FB4 00001FF4 98 04 00 D8 */ stb r0, 0xd8(r4) +/* 00001FB8 00001FF8 88 04 01 3C */ lbz r0, 0x13c(r4) +/* 00001FBC 00001FFC 50 60 1F 38 */ rlwimi r0, r3, 3, 28, 28 +/* 00001FC0 00002000 98 04 01 3C */ stb r0, 0x13c(r4) +/* 00001FC4 00002004 88 04 01 A0 */ lbz r0, 0x1a0(r4) +/* 00001FC8 00002008 50 60 1F 38 */ rlwimi r0, r3, 3, 28, 28 +/* 00001FCC 0000200C 98 04 01 A0 */ stb r0, 0x1a0(r4) +/* 00001FD0 00002010 88 04 02 04 */ lbz r0, 0x204(r4) +/* 00001FD4 00002014 50 60 1F 38 */ rlwimi r0, r3, 3, 28, 28 +/* 00001FD8 00002018 98 04 02 04 */ stb r0, 0x204(r4) +/* 00001FDC 0000201C 4E 80 00 20 */ blr +.endfn ifStatus_802F6898 + +.fn ifStatus_802F68F0, global +/* 00001FE0 00002020 3C 60 00 00 */ lis r3, ifStatus_HudInfo@ha +/* 00001FE4 00002024 38 83 00 00 */ addi r4, r3, ifStatus_HudInfo@l +/* 00001FE8 00002028 88 04 00 10 */ lbz r0, 0x10(r4) +/* 00001FEC 0000202C 38 60 00 00 */ li r3, 0x0 +/* 00001FF0 00002030 50 60 1F 38 */ rlwimi r0, r3, 3, 28, 28 +/* 00001FF4 00002034 98 04 00 10 */ stb r0, 0x10(r4) +/* 00001FF8 00002038 88 04 00 74 */ lbz r0, 0x74(r4) +/* 00001FFC 0000203C 50 60 1F 38 */ rlwimi r0, r3, 3, 28, 28 +/* 00002000 00002040 98 04 00 74 */ stb r0, 0x74(r4) +/* 00002004 00002044 88 04 00 D8 */ lbz r0, 0xd8(r4) +/* 00002008 00002048 50 60 1F 38 */ rlwimi r0, r3, 3, 28, 28 +/* 0000200C 0000204C 98 04 00 D8 */ stb r0, 0xd8(r4) +/* 00002010 00002050 88 04 01 3C */ lbz r0, 0x13c(r4) +/* 00002014 00002054 50 60 1F 38 */ rlwimi r0, r3, 3, 28, 28 +/* 00002018 00002058 98 04 01 3C */ stb r0, 0x13c(r4) +/* 0000201C 0000205C 88 04 01 A0 */ lbz r0, 0x1a0(r4) +/* 00002020 00002060 50 60 1F 38 */ rlwimi r0, r3, 3, 28, 28 +/* 00002024 00002064 98 04 01 A0 */ stb r0, 0x1a0(r4) +/* 00002028 00002068 88 04 02 04 */ lbz r0, 0x204(r4) +/* 0000202C 0000206C 50 60 1F 38 */ rlwimi r0, r3, 3, 28, 28 +/* 00002030 00002070 98 04 02 04 */ stb r0, 0x204(r4) +/* 00002034 00002074 4E 80 00 20 */ blr +.endfn ifStatus_802F68F0 + +.fn ifStatus_802F6948, global +/* 00002038 00002078 7C 08 02 A6 */ mflr r0 +/* 0000203C 0000207C 90 01 00 04 */ stw r0, 0x4(r1) +/* 00002040 00002080 94 21 FF E8 */ stwu r1, -0x18(r1) +/* 00002044 00002084 93 E1 00 14 */ stw r31, 0x14(r1) +/* 00002048 00002088 7C 7F 1B 78 */ mr r31, r3 +/* 0000204C 0000208C 48 00 00 01 */ bl gm_8016AE50 +/* 00002050 00002090 1C BF 00 64 */ mulli r5, r31, 0x64 +/* 00002054 00002094 3C 80 00 00 */ lis r4, ifStatus_HudInfo@ha +/* 00002058 00002098 38 04 00 00 */ addi r0, r4, ifStatus_HudInfo@l +/* 0000205C 0000209C 7C C0 2A 14 */ add r6, r0, r5 +/* 00002060 000020A0 38 E6 00 10 */ addi r7, r6, 0x10 +/* 00002064 000020A4 88 A6 00 10 */ lbz r5, 0x10(r6) +/* 00002068 000020A8 54 A0 CF FE */ extrwi r0, r5, 1, 24 +/* 0000206C 000020AC 28 00 00 01 */ cmplwi r0, 0x1 +/* 00002070 000020B0 41 82 00 2C */ beq .L_0000209C +/* 00002074 000020B4 38 80 00 01 */ li r4, 0x1 +/* 00002078 000020B8 50 85 3E 30 */ rlwimi r5, r4, 7, 24, 24 +/* 0000207C 000020BC 98 A7 00 00 */ stb r5, 0x0(r7) +/* 00002080 000020C0 88 07 00 00 */ lbz r0, 0x0(r7) +/* 00002084 000020C4 50 80 36 72 */ rlwimi r0, r4, 6, 25, 25 +/* 00002088 000020C8 98 07 00 00 */ stb r0, 0x0(r7) +/* 0000208C 000020CC 88 03 00 02 */ lbz r0, 0x2(r3) +/* 00002090 000020D0 54 00 07 FF */ clrlwi. r0, r0, 31 +/* 00002094 000020D4 41 82 00 08 */ beq .L_0000209C +/* 00002098 000020D8 98 86 00 09 */ stb r4, 0x9(r6) +.L_0000209C: +/* 0000209C 000020DC 80 01 00 1C */ lwz r0, 0x1c(r1) +/* 000020A0 000020E0 83 E1 00 14 */ lwz r31, 0x14(r1) +/* 000020A4 000020E4 38 21 00 18 */ addi r1, r1, 0x18 +/* 000020A8 000020E8 7C 08 03 A6 */ mtlr r0 +/* 000020AC 000020EC 4E 80 00 20 */ blr +.endfn ifStatus_802F6948 + +.fn ifStatus_802F69C0, global +/* 000020B0 000020F0 7C 08 02 A6 */ mflr r0 +/* 000020B4 000020F4 90 01 00 04 */ stw r0, 0x4(r1) +/* 000020B8 000020F8 94 21 FF E8 */ stwu r1, -0x18(r1) +/* 000020BC 000020FC 93 E1 00 14 */ stw r31, 0x14(r1) +/* 000020C0 00002100 3B E3 00 00 */ addi r31, r3, 0x0 +/* 000020C4 00002104 93 C1 00 10 */ stw r30, 0x10(r1) +/* 000020C8 00002108 3B C4 00 00 */ addi r30, r4, 0x0 +/* 000020CC 0000210C 48 00 00 01 */ bl gm_8016AE38 +/* 000020D0 00002110 88 03 24 C8 */ lbz r0, 0x24c8(r3) +/* 000020D4 00002114 54 00 DF 7E */ extrwi r0, r0, 3, 24 +/* 000020D8 00002118 28 00 00 01 */ cmplwi r0, 0x1 +/* 000020DC 0000211C 41 82 00 18 */ beq .L_000020F4 +/* 000020E0 00002120 88 03 24 CA */ lbz r0, 0x24ca(r3) +/* 000020E4 00002124 54 00 F7 FF */ extrwi. r0, r0, 1, 29 +/* 000020E8 00002128 41 82 00 0C */ beq .L_000020F4 +/* 000020EC 0000212C 7F C3 F3 78 */ mr r3, r30 +/* 000020F0 00002130 48 00 00 01 */ bl if_802F7C30 +.L_000020F4: +/* 000020F4 00002134 48 00 00 01 */ bl gm_8016AE38 +/* 000020F8 00002138 7C 7E 1B 78 */ mr r30, r3 +/* 000020FC 0000213C 9B E3 00 0D */ stb r31, 0xd(r3) +/* 00002100 00002140 48 00 00 01 */ bl gm_8016AE50 +/* 00002104 00002144 1C BF 00 64 */ mulli r5, r31, 0x64 +/* 00002108 00002148 3C 80 00 00 */ lis r4, ifStatus_HudInfo@ha +/* 0000210C 0000214C 38 04 00 00 */ addi r0, r4, ifStatus_HudInfo@l +/* 00002110 00002150 7C C0 2A 14 */ add r6, r0, r5 +/* 00002114 00002154 38 E6 00 10 */ addi r7, r6, 0x10 +/* 00002118 00002158 88 A6 00 10 */ lbz r5, 0x10(r6) +/* 0000211C 0000215C 54 A0 CF FE */ extrwi r0, r5, 1, 24 +/* 00002120 00002160 28 00 00 01 */ cmplwi r0, 0x1 +/* 00002124 00002164 41 82 00 2C */ beq .L_00002150 +/* 00002128 00002168 38 80 00 01 */ li r4, 0x1 +/* 0000212C 0000216C 50 85 3E 30 */ rlwimi r5, r4, 7, 24, 24 +/* 00002130 00002170 98 A7 00 00 */ stb r5, 0x0(r7) +/* 00002134 00002174 88 07 00 00 */ lbz r0, 0x0(r7) +/* 00002138 00002178 50 80 36 72 */ rlwimi r0, r4, 6, 25, 25 +/* 0000213C 0000217C 98 07 00 00 */ stb r0, 0x0(r7) +/* 00002140 00002180 88 03 00 02 */ lbz r0, 0x2(r3) +/* 00002144 00002184 54 00 07 FF */ clrlwi. r0, r0, 31 +/* 00002148 00002188 41 82 00 08 */ beq .L_00002150 +/* 0000214C 0000218C 98 86 00 09 */ stb r4, 0x9(r6) +.L_00002150: +/* 00002150 00002190 88 1E 24 CA */ lbz r0, 0x24ca(r30) +/* 00002154 00002194 54 00 CF FF */ extrwi. r0, r0, 1, 24 +/* 00002158 00002198 41 82 00 48 */ beq .L_000021A0 +/* 0000215C 0000219C 7F E3 FB 78 */ mr r3, r31 +/* 00002160 000021A0 48 00 00 01 */ bl Player_GetPlayerSlotType +/* 00002164 000021A4 2C 03 00 00 */ cmpwi r3, 0x0 +/* 00002168 000021A8 41 82 00 14 */ beq .L_0000217C +/* 0000216C 000021AC 7F E3 FB 78 */ mr r3, r31 +/* 00002170 000021B0 48 00 00 01 */ bl Player_GetPlayerSlotType +/* 00002174 000021B4 2C 03 00 01 */ cmpwi r3, 0x1 +/* 00002178 000021B8 40 82 00 28 */ bne .L_000021A0 +.L_0000217C: +/* 0000217C 000021BC 7F E3 FB 78 */ mr r3, r31 +/* 00002180 000021C0 48 00 00 01 */ bl Player_GetStocks +/* 00002184 000021C4 2C 03 00 00 */ cmpwi r3, 0x0 +/* 00002188 000021C8 40 82 00 18 */ bne .L_000021A0 +/* 0000218C 000021CC 7F E3 FB 78 */ mr r3, r31 +/* 00002190 000021D0 48 00 00 01 */ bl Player_GetPlayerSlotType +/* 00002194 000021D4 54 64 06 3E */ clrlwi r4, r3, 24 +/* 00002198 000021D8 38 7F 00 00 */ addi r3, r31, 0x0 +/* 0000219C 000021DC 48 00 00 01 */ bl gm_8016B8D4 +.L_000021A0: +/* 000021A0 000021E0 88 1E 24 C8 */ lbz r0, 0x24c8(r30) +/* 000021A4 000021E4 54 00 DF 7E */ extrwi r0, r0, 3, 24 +/* 000021A8 000021E8 28 00 00 01 */ cmplwi r0, 0x1 +/* 000021AC 000021EC 41 82 00 24 */ beq .L_000021D0 +/* 000021B0 000021F0 88 1E 24 CA */ lbz r0, 0x24ca(r30) +/* 000021B4 000021F4 54 00 F7 FF */ extrwi. r0, r0, 1, 29 +/* 000021B8 000021F8 41 82 00 18 */ beq .L_000021D0 +/* 000021BC 000021FC 3C 60 00 00 */ lis r3, if_802F7BB4@ha +/* 000021C0 00002200 34 03 00 00 */ addic. r0, r3, if_802F7BB4@l +/* 000021C4 00002204 41 82 00 0C */ beq .L_000021D0 +/* 000021C8 00002208 7F E3 FB 78 */ mr r3, r31 +/* 000021CC 0000220C 48 00 00 01 */ bl if_802F7BB4 +.L_000021D0: +/* 000021D0 00002210 80 01 00 1C */ lwz r0, 0x1c(r1) +/* 000021D4 00002214 83 E1 00 14 */ lwz r31, 0x14(r1) +/* 000021D8 00002218 83 C1 00 10 */ lwz r30, 0x10(r1) +/* 000021DC 0000221C 38 21 00 18 */ addi r1, r1, 0x18 +/* 000021E0 00002220 7C 08 03 A6 */ mtlr r0 +/* 000021E4 00002224 4E 80 00 20 */ blr +.endfn ifStatus_802F69C0 + +.fn ifStatus_802F6AF8, global +/* 000021E8 00002228 7C 08 02 A6 */ mflr r0 +/* 000021EC 0000222C 90 01 00 04 */ stw r0, 0x4(r1) +/* 000021F0 00002230 94 21 FF E8 */ stwu r1, -0x18(r1) +/* 000021F4 00002234 93 E1 00 14 */ stw r31, 0x14(r1) +/* 000021F8 00002238 7C 7F 1B 78 */ mr r31, r3 +/* 000021FC 0000223C 93 C1 00 10 */ stw r30, 0x10(r1) +/* 00002200 00002240 48 00 00 01 */ bl gm_8016AE38 +/* 00002204 00002244 7C 7E 1B 78 */ mr r30, r3 +/* 00002208 00002248 9B E3 00 0D */ stb r31, 0xd(r3) +/* 0000220C 0000224C 48 00 00 01 */ bl gm_8016AE50 +/* 00002210 00002250 1C BF 00 64 */ mulli r5, r31, 0x64 +/* 00002214 00002254 3C 80 00 00 */ lis r4, ifStatus_HudInfo@ha +/* 00002218 00002258 38 04 00 00 */ addi r0, r4, ifStatus_HudInfo@l +/* 0000221C 0000225C 7C C0 2A 14 */ add r6, r0, r5 +/* 00002220 00002260 38 E6 00 10 */ addi r7, r6, 0x10 +/* 00002224 00002264 88 A6 00 10 */ lbz r5, 0x10(r6) +/* 00002228 00002268 54 A0 CF FE */ extrwi r0, r5, 1, 24 +/* 0000222C 0000226C 28 00 00 01 */ cmplwi r0, 0x1 +/* 00002230 00002270 41 82 00 2C */ beq .L_0000225C +/* 00002234 00002274 38 80 00 01 */ li r4, 0x1 +/* 00002238 00002278 50 85 3E 30 */ rlwimi r5, r4, 7, 24, 24 +/* 0000223C 0000227C 98 A7 00 00 */ stb r5, 0x0(r7) +/* 00002240 00002280 88 07 00 00 */ lbz r0, 0x0(r7) +/* 00002244 00002284 50 80 36 72 */ rlwimi r0, r4, 6, 25, 25 +/* 00002248 00002288 98 07 00 00 */ stb r0, 0x0(r7) +/* 0000224C 0000228C 88 03 00 02 */ lbz r0, 0x2(r3) +/* 00002250 00002290 54 00 07 FF */ clrlwi. r0, r0, 31 +/* 00002254 00002294 41 82 00 08 */ beq .L_0000225C +/* 00002258 00002298 98 86 00 09 */ stb r4, 0x9(r6) +.L_0000225C: +/* 0000225C 0000229C 88 1E 24 CA */ lbz r0, 0x24ca(r30) +/* 00002260 000022A0 54 00 CF FF */ extrwi. r0, r0, 1, 24 +/* 00002264 000022A4 41 82 00 48 */ beq .L_000022AC +/* 00002268 000022A8 7F E3 FB 78 */ mr r3, r31 +/* 0000226C 000022AC 48 00 00 01 */ bl Player_GetPlayerSlotType +/* 00002270 000022B0 2C 03 00 00 */ cmpwi r3, 0x0 +/* 00002274 000022B4 41 82 00 14 */ beq .L_00002288 +/* 00002278 000022B8 7F E3 FB 78 */ mr r3, r31 +/* 0000227C 000022BC 48 00 00 01 */ bl Player_GetPlayerSlotType +/* 00002280 000022C0 2C 03 00 01 */ cmpwi r3, 0x1 +/* 00002284 000022C4 40 82 00 28 */ bne .L_000022AC +.L_00002288: +/* 00002288 000022C8 7F E3 FB 78 */ mr r3, r31 +/* 0000228C 000022CC 48 00 00 01 */ bl Player_GetStocks +/* 00002290 000022D0 2C 03 00 00 */ cmpwi r3, 0x0 +/* 00002294 000022D4 40 82 00 18 */ bne .L_000022AC +/* 00002298 000022D8 7F E3 FB 78 */ mr r3, r31 +/* 0000229C 000022DC 48 00 00 01 */ bl Player_GetPlayerSlotType +/* 000022A0 000022E0 54 64 06 3E */ clrlwi r4, r3, 24 +/* 000022A4 000022E4 38 7F 00 00 */ addi r3, r31, 0x0 +/* 000022A8 000022E8 48 00 00 01 */ bl gm_8016B8D4 +.L_000022AC: +/* 000022AC 000022EC 88 1E 24 C8 */ lbz r0, 0x24c8(r30) +/* 000022B0 000022F0 54 00 DF 7E */ extrwi r0, r0, 3, 24 +/* 000022B4 000022F4 28 00 00 01 */ cmplwi r0, 0x1 +/* 000022B8 000022F8 41 82 00 24 */ beq .L_000022DC +/* 000022BC 000022FC 88 1E 24 CA */ lbz r0, 0x24ca(r30) +/* 000022C0 00002300 54 00 F7 FF */ extrwi. r0, r0, 1, 29 +/* 000022C4 00002304 41 82 00 18 */ beq .L_000022DC +/* 000022C8 00002308 3C 60 00 00 */ lis r3, if_802F7AF8@ha +/* 000022CC 0000230C 34 03 00 00 */ addic. r0, r3, if_802F7AF8@l +/* 000022D0 00002310 41 82 00 0C */ beq .L_000022DC +/* 000022D4 00002314 7F E3 FB 78 */ mr r3, r31 +/* 000022D8 00002318 48 00 00 01 */ bl if_802F7AF8 +.L_000022DC: +/* 000022DC 0000231C 80 01 00 1C */ lwz r0, 0x1c(r1) +/* 000022E0 00002320 83 E1 00 14 */ lwz r31, 0x14(r1) +/* 000022E4 00002324 83 C1 00 10 */ lwz r30, 0x10(r1) +/* 000022E8 00002328 38 21 00 18 */ addi r1, r1, 0x18 +/* 000022EC 0000232C 7C 08 03 A6 */ mtlr r0 +/* 000022F0 00002330 4E 80 00 20 */ blr +.endfn ifStatus_802F6AF8 + +.fn ifStatus_802F6C04, global +/* 000022F4 00002334 7C 08 02 A6 */ mflr r0 +/* 000022F8 00002338 90 01 00 04 */ stw r0, 0x4(r1) +/* 000022FC 0000233C 94 21 FF E8 */ stwu r1, -0x18(r1) +/* 00002300 00002340 93 E1 00 14 */ stw r31, 0x14(r1) +/* 00002304 00002344 7C 7F 1B 78 */ mr r31, r3 +/* 00002308 00002348 93 C1 00 10 */ stw r30, 0x10(r1) +/* 0000230C 0000234C 48 00 00 01 */ bl gm_8016AE38 +/* 00002310 00002350 7C 7E 1B 78 */ mr r30, r3 +/* 00002314 00002354 9B E3 00 0D */ stb r31, 0xd(r3) +/* 00002318 00002358 48 00 00 01 */ bl gm_8016AE50 +/* 0000231C 0000235C 1C BF 00 64 */ mulli r5, r31, 0x64 +/* 00002320 00002360 3C 80 00 00 */ lis r4, ifStatus_HudInfo@ha +/* 00002324 00002364 38 04 00 00 */ addi r0, r4, ifStatus_HudInfo@l +/* 00002328 00002368 7C C0 2A 14 */ add r6, r0, r5 +/* 0000232C 0000236C 38 E6 00 10 */ addi r7, r6, 0x10 +/* 00002330 00002370 88 A6 00 10 */ lbz r5, 0x10(r6) +/* 00002334 00002374 54 A0 CF FE */ extrwi r0, r5, 1, 24 +/* 00002338 00002378 28 00 00 01 */ cmplwi r0, 0x1 +/* 0000233C 0000237C 41 82 00 2C */ beq .L_00002368 +/* 00002340 00002380 38 80 00 01 */ li r4, 0x1 +/* 00002344 00002384 50 85 3E 30 */ rlwimi r5, r4, 7, 24, 24 +/* 00002348 00002388 98 A7 00 00 */ stb r5, 0x0(r7) +/* 0000234C 0000238C 88 07 00 00 */ lbz r0, 0x0(r7) +/* 00002350 00002390 50 80 36 72 */ rlwimi r0, r4, 6, 25, 25 +/* 00002354 00002394 98 07 00 00 */ stb r0, 0x0(r7) +/* 00002358 00002398 88 03 00 02 */ lbz r0, 0x2(r3) +/* 0000235C 0000239C 54 00 07 FF */ clrlwi. r0, r0, 31 +/* 00002360 000023A0 41 82 00 08 */ beq .L_00002368 +/* 00002364 000023A4 98 86 00 09 */ stb r4, 0x9(r6) +.L_00002368: +/* 00002368 000023A8 88 1E 24 CA */ lbz r0, 0x24ca(r30) +/* 0000236C 000023AC 54 00 CF FF */ extrwi. r0, r0, 1, 24 +/* 00002370 000023B0 41 82 00 48 */ beq .L_000023B8 +/* 00002374 000023B4 7F E3 FB 78 */ mr r3, r31 +/* 00002378 000023B8 48 00 00 01 */ bl Player_GetPlayerSlotType +/* 0000237C 000023BC 2C 03 00 00 */ cmpwi r3, 0x0 +/* 00002380 000023C0 41 82 00 14 */ beq .L_00002394 +/* 00002384 000023C4 7F E3 FB 78 */ mr r3, r31 +/* 00002388 000023C8 48 00 00 01 */ bl Player_GetPlayerSlotType +/* 0000238C 000023CC 2C 03 00 01 */ cmpwi r3, 0x1 +/* 00002390 000023D0 40 82 00 28 */ bne .L_000023B8 +.L_00002394: +/* 00002394 000023D4 7F E3 FB 78 */ mr r3, r31 +/* 00002398 000023D8 48 00 00 01 */ bl Player_GetStocks +/* 0000239C 000023DC 2C 03 00 00 */ cmpwi r3, 0x0 +/* 000023A0 000023E0 40 82 00 18 */ bne .L_000023B8 +/* 000023A4 000023E4 7F E3 FB 78 */ mr r3, r31 +/* 000023A8 000023E8 48 00 00 01 */ bl Player_GetPlayerSlotType +/* 000023AC 000023EC 54 64 06 3E */ clrlwi r4, r3, 24 +/* 000023B0 000023F0 38 7F 00 00 */ addi r3, r31, 0x0 +/* 000023B4 000023F4 48 00 00 01 */ bl gm_8016B8D4 +.L_000023B8: +/* 000023B8 000023F8 88 1E 24 C8 */ lbz r0, 0x24c8(r30) +/* 000023BC 000023FC 54 00 DF 7E */ extrwi r0, r0, 3, 24 +/* 000023C0 00002400 28 00 00 01 */ cmplwi r0, 0x1 +/* 000023C4 00002404 41 82 00 24 */ beq .L_000023E8 +/* 000023C8 00002408 88 1E 24 CA */ lbz r0, 0x24ca(r30) +/* 000023CC 0000240C 54 00 F7 FF */ extrwi. r0, r0, 1, 29 +/* 000023D0 00002410 41 82 00 18 */ beq .L_000023E8 +/* 000023D4 00002414 3C 60 00 00 */ lis r3, if_802F7C30@ha +/* 000023D8 00002418 34 03 00 00 */ addic. r0, r3, if_802F7C30@l +/* 000023DC 0000241C 41 82 00 0C */ beq .L_000023E8 +/* 000023E0 00002420 7F E3 FB 78 */ mr r3, r31 +/* 000023E4 00002424 48 00 00 01 */ bl if_802F7C30 +.L_000023E8: +/* 000023E8 00002428 80 01 00 1C */ lwz r0, 0x1c(r1) +/* 000023EC 0000242C 83 E1 00 14 */ lwz r31, 0x14(r1) +/* 000023F0 00002430 83 C1 00 10 */ lwz r30, 0x10(r1) +/* 000023F4 00002434 38 21 00 18 */ addi r1, r1, 0x18 +/* 000023F8 00002438 7C 08 03 A6 */ mtlr r0 +/* 000023FC 0000243C 4E 80 00 20 */ blr +.endfn ifStatus_802F6C04 + +.fn ifStatus_802F6D10, global +/* 00002400 00002440 7C 08 02 A6 */ mflr r0 +/* 00002404 00002444 90 01 00 04 */ stw r0, 0x4(r1) +/* 00002408 00002448 94 21 FF E8 */ stwu r1, -0x18(r1) +/* 0000240C 0000244C 93 E1 00 14 */ stw r31, 0x14(r1) +/* 00002410 00002450 7C 7F 1B 78 */ mr r31, r3 +/* 00002414 00002454 93 C1 00 10 */ stw r30, 0x10(r1) +/* 00002418 00002458 48 00 00 01 */ bl gm_8016AE38 +/* 0000241C 0000245C 7C 7E 1B 78 */ mr r30, r3 +/* 00002420 00002460 9B E3 00 0D */ stb r31, 0xd(r3) +/* 00002424 00002464 48 00 00 01 */ bl gm_8016AE50 +/* 00002428 00002468 1C BF 00 64 */ mulli r5, r31, 0x64 +/* 0000242C 0000246C 3C 80 00 00 */ lis r4, ifStatus_HudInfo@ha +/* 00002430 00002470 38 04 00 00 */ addi r0, r4, ifStatus_HudInfo@l +/* 00002434 00002474 7C C0 2A 14 */ add r6, r0, r5 +/* 00002438 00002478 38 E6 00 10 */ addi r7, r6, 0x10 +/* 0000243C 0000247C 88 A6 00 10 */ lbz r5, 0x10(r6) +/* 00002440 00002480 54 A0 CF FE */ extrwi r0, r5, 1, 24 +/* 00002444 00002484 28 00 00 01 */ cmplwi r0, 0x1 +/* 00002448 00002488 41 82 00 2C */ beq .L_00002474 +/* 0000244C 0000248C 38 80 00 01 */ li r4, 0x1 +/* 00002450 00002490 50 85 3E 30 */ rlwimi r5, r4, 7, 24, 24 +/* 00002454 00002494 98 A7 00 00 */ stb r5, 0x0(r7) +/* 00002458 00002498 88 07 00 00 */ lbz r0, 0x0(r7) +/* 0000245C 0000249C 50 80 36 72 */ rlwimi r0, r4, 6, 25, 25 +/* 00002460 000024A0 98 07 00 00 */ stb r0, 0x0(r7) +/* 00002464 000024A4 88 03 00 02 */ lbz r0, 0x2(r3) +/* 00002468 000024A8 54 00 07 FF */ clrlwi. r0, r0, 31 +/* 0000246C 000024AC 41 82 00 08 */ beq .L_00002474 +/* 00002470 000024B0 98 86 00 09 */ stb r4, 0x9(r6) +.L_00002474: +/* 00002474 000024B4 88 1E 24 CA */ lbz r0, 0x24ca(r30) +/* 00002478 000024B8 54 00 CF FF */ extrwi. r0, r0, 1, 24 +/* 0000247C 000024BC 41 82 00 48 */ beq .L_000024C4 +/* 00002480 000024C0 7F E3 FB 78 */ mr r3, r31 +/* 00002484 000024C4 48 00 00 01 */ bl Player_GetPlayerSlotType +/* 00002488 000024C8 2C 03 00 00 */ cmpwi r3, 0x0 +/* 0000248C 000024CC 41 82 00 14 */ beq .L_000024A0 +/* 00002490 000024D0 7F E3 FB 78 */ mr r3, r31 +/* 00002494 000024D4 48 00 00 01 */ bl Player_GetPlayerSlotType +/* 00002498 000024D8 2C 03 00 01 */ cmpwi r3, 0x1 +/* 0000249C 000024DC 40 82 00 28 */ bne .L_000024C4 +.L_000024A0: +/* 000024A0 000024E0 7F E3 FB 78 */ mr r3, r31 +/* 000024A4 000024E4 48 00 00 01 */ bl Player_GetStocks +/* 000024A8 000024E8 2C 03 00 00 */ cmpwi r3, 0x0 +/* 000024AC 000024EC 40 82 00 18 */ bne .L_000024C4 +/* 000024B0 000024F0 7F E3 FB 78 */ mr r3, r31 +/* 000024B4 000024F4 48 00 00 01 */ bl Player_GetPlayerSlotType +/* 000024B8 000024F8 54 64 06 3E */ clrlwi r4, r3, 24 +/* 000024BC 000024FC 38 7F 00 00 */ addi r3, r31, 0x0 +/* 000024C0 00002500 48 00 00 01 */ bl gm_8016B8D4 +.L_000024C4: +/* 000024C4 00002504 88 1E 24 C8 */ lbz r0, 0x24c8(r30) +/* 000024C8 00002508 54 00 DF 7E */ extrwi r0, r0, 3, 24 +/* 000024CC 0000250C 28 00 00 01 */ cmplwi r0, 0x1 +/* 000024D0 00002510 41 82 00 24 */ beq .L_000024F4 +/* 000024D4 00002514 88 1E 24 CA */ lbz r0, 0x24ca(r30) +/* 000024D8 00002518 54 00 F7 FF */ extrwi. r0, r0, 1, 29 +/* 000024DC 0000251C 41 82 00 18 */ beq .L_000024F4 +/* 000024E0 00002520 3C 60 00 00 */ lis r3, if_802F7D08@ha +/* 000024E4 00002524 34 03 00 00 */ addic. r0, r3, if_802F7D08@l +/* 000024E8 00002528 41 82 00 0C */ beq .L_000024F4 +/* 000024EC 0000252C 7F E3 FB 78 */ mr r3, r31 +/* 000024F0 00002530 48 00 00 01 */ bl if_802F7D08 +.L_000024F4: +/* 000024F4 00002534 80 01 00 1C */ lwz r0, 0x1c(r1) +/* 000024F8 00002538 83 E1 00 14 */ lwz r31, 0x14(r1) +/* 000024FC 0000253C 83 C1 00 10 */ lwz r30, 0x10(r1) +/* 00002500 00002540 38 21 00 18 */ addi r1, r1, 0x18 +/* 00002504 00002544 7C 08 03 A6 */ mtlr r0 +/* 00002508 00002548 4E 80 00 20 */ blr +.endfn ifStatus_802F6D10 + +.fn ifStatus_802F6E1C, global +/* 0000250C 0000254C 7C 08 02 A6 */ mflr r0 +/* 00002510 00002550 90 01 00 04 */ stw r0, 0x4(r1) +/* 00002514 00002554 94 21 FF F8 */ stwu r1, -0x8(r1) +/* 00002518 00002558 48 00 00 01 */ bl ifStatus_802F6508 +/* 0000251C 0000255C 80 01 00 0C */ lwz r0, 0xc(r1) +/* 00002520 00002560 38 21 00 08 */ addi r1, r1, 0x8 +/* 00002524 00002564 7C 08 03 A6 */ mtlr r0 +/* 00002528 00002568 4E 80 00 20 */ blr +.endfn ifStatus_802F6E1C + +.fn ifStatus_802F6E3C, global +/* 0000252C 0000256C 7C 08 02 A6 */ mflr r0 +/* 00002530 00002570 90 01 00 04 */ stw r0, 0x4(r1) +/* 00002534 00002574 94 21 FF E8 */ stwu r1, -0x18(r1) +/* 00002538 00002578 93 E1 00 14 */ stw r31, 0x14(r1) +/* 0000253C 0000257C 93 C1 00 10 */ stw r30, 0x10(r1) +/* 00002540 00002580 3B C3 00 00 */ addi r30, r3, 0x0 +/* 00002544 00002584 1C 9E 00 64 */ mulli r4, r30, 0x64 +/* 00002548 00002588 3C 60 00 00 */ lis r3, ifStatus_HudInfo@ha +/* 0000254C 0000258C 38 03 00 00 */ addi r0, r3, ifStatus_HudInfo@l +/* 00002550 00002590 7F E0 22 14 */ add r31, r0, r4 +/* 00002554 00002594 80 7F 00 00 */ lwz r3, 0x0(r31) +/* 00002558 00002598 28 03 00 00 */ cmplwi r3, 0x0 +/* 0000255C 0000259C 41 82 00 08 */ beq .L_00002564 +/* 00002560 000025A0 48 00 00 01 */ bl HSD_GObj_80390CAC +.L_00002564: +/* 00002564 000025A4 80 7F 00 04 */ lwz r3, 0x4(r31) +/* 00002568 000025A8 28 03 00 00 */ cmplwi r3, 0x0 +/* 0000256C 000025AC 41 82 00 08 */ beq .L_00002574 +/* 00002570 000025B0 48 00 00 01 */ bl HSD_GObj_80390CAC +.L_00002574: +/* 00002574 000025B4 7F C3 F3 78 */ mr r3, r30 +/* 00002578 000025B8 48 00 00 01 */ bl ifStock_802FB6AC +/* 0000257C 000025BC 80 01 00 1C */ lwz r0, 0x1c(r1) +/* 00002580 000025C0 83 E1 00 14 */ lwz r31, 0x14(r1) +/* 00002584 000025C4 83 C1 00 10 */ lwz r30, 0x10(r1) +/* 00002588 000025C8 38 21 00 18 */ addi r1, r1, 0x18 +/* 0000258C 000025CC 7C 08 03 A6 */ mtlr r0 +/* 00002590 000025D0 4E 80 00 20 */ blr +.endfn ifStatus_802F6E3C + +.fn ifStatus_802F6EA4, global +/* 00002594 000025D4 7C 08 02 A6 */ mflr r0 +/* 00002598 000025D8 2C 03 00 08 */ cmpwi r3, 0x8 +/* 0000259C 000025DC 90 01 00 04 */ stw r0, 0x4(r1) +/* 000025A0 000025E0 94 21 FF C8 */ stwu r1, -0x38(r1) +/* 000025A4 000025E4 BF 61 00 24 */ stmw r27, 0x24(r1) +/* 000025A8 000025E8 3B A4 00 00 */ addi r29, r4, 0x0 +/* 000025AC 000025EC 3B 85 00 00 */ addi r28, r5, 0x0 +/* 000025B0 000025F0 3B C7 00 00 */ addi r30, r7, 0x0 +/* 000025B4 000025F4 3B E8 00 00 */ addi r31, r8, 0x0 +/* 000025B8 000025F8 40 82 00 68 */ bne .L_00002620 +/* 000025BC 000025FC 28 1E 00 00 */ cmplwi r30, 0x0 +/* 000025C0 00002600 41 82 00 14 */ beq .L_000025D4 +/* 000025C4 00002604 39 9E 00 00 */ addi r12, r30, 0x0 +/* 000025C8 00002608 7D 88 03 A6 */ mtlr r12 +/* 000025CC 0000260C 38 60 FF FF */ li r3, -0x1 +/* 000025D0 00002610 4E 80 00 21 */ blrl +.L_000025D4: +/* 000025D4 00002614 28 1F 00 00 */ cmplwi r31, 0x0 +/* 000025D8 00002618 41 82 00 14 */ beq .L_000025EC +/* 000025DC 0000261C 39 9F 00 00 */ addi r12, r31, 0x0 +/* 000025E0 00002620 7D 88 03 A6 */ mtlr r12 +/* 000025E4 00002624 38 60 FF FF */ li r3, -0x1 +/* 000025E8 00002628 4E 80 00 21 */ blrl +.L_000025EC: +/* 000025EC 0000262C 2C 1D 00 00 */ cmpwi r29, 0x0 +/* 000025F0 00002630 41 80 00 14 */ blt .L_00002604 +/* 000025F4 00002634 38 7D 00 00 */ addi r3, r29, 0x0 +/* 000025F8 00002638 38 80 00 7F */ li r4, 0x7f +/* 000025FC 0000263C 38 A0 00 40 */ li r5, 0x40 +/* 00002600 00002640 48 00 00 01 */ bl lbAudioAx_800237A8 +.L_00002604: +/* 00002604 00002644 2C 1D 00 00 */ cmpwi r29, 0x0 +/* 00002608 00002648 41 80 01 08 */ blt .L_00002710 +/* 0000260C 0000264C 38 7C 00 00 */ addi r3, r28, 0x0 +/* 00002610 00002650 38 80 00 7F */ li r4, 0x7f +/* 00002614 00002654 38 A0 00 40 */ li r5, 0x40 +/* 00002618 00002658 48 00 00 01 */ bl lbAudioAx_800237A8 +/* 0000261C 0000265C 48 00 00 F4 */ b .L_00002710 +.L_00002620: +/* 00002620 00002660 1C 83 00 28 */ mulli r4, r3, 0x28 +/* 00002624 00002664 3C 60 00 00 */ lis r3, ifStatus_803F9628@ha +/* 00002628 00002668 38 03 00 00 */ addi r0, r3, ifStatus_803F9628@l +/* 0000262C 0000266C 7F 60 22 14 */ add r27, r0, r4 +/* 00002630 00002670 93 BB 00 20 */ stw r29, 0x20(r27) +/* 00002634 00002674 93 9B 00 24 */ stw r28, 0x24(r27) +/* 00002638 00002678 98 DB 00 11 */ stb r6, 0x11(r27) +/* 0000263C 0000267C 80 7B 00 00 */ lwz r3, 0x0(r27) +/* 00002640 00002680 28 03 00 00 */ cmplwi r3, 0x0 +/* 00002644 00002684 41 82 00 08 */ beq .L_0000264C +/* 00002648 00002688 48 00 00 01 */ bl HSD_GObjPLink_80390228 +.L_0000264C: +/* 0000264C 0000268C 38 60 00 0E */ li r3, 0xe +/* 00002650 00002690 38 80 00 0E */ li r4, 0xe +/* 00002654 00002694 38 A0 00 00 */ li r5, 0x0 +/* 00002658 00002698 48 00 00 01 */ bl GObj_Create +/* 0000265C 0000269C 80 9B 00 14 */ lwz r4, 0x14(r27) +/* 00002660 000026A0 7C 7D 1B 78 */ mr r29, r3 +/* 00002664 000026A4 80 64 00 00 */ lwz r3, 0x0(r4) +/* 00002668 000026A8 48 00 00 01 */ bl HSD_JObjLoadJoint +/* 0000266C 000026AC 3B 83 00 00 */ addi r28, r3, 0x0 +/* 00002670 000026B0 3C 80 08 00 */ lis r4, 0x800 +/* 00002674 000026B4 48 00 00 01 */ bl lb_80011C18 +/* 00002678 000026B8 88 80 00 00 */ lbz r4, HSD_GObj_804D7849@sda21(r0) +/* 0000267C 000026BC 38 7D 00 00 */ addi r3, r29, 0x0 +/* 00002680 000026C0 38 BC 00 00 */ addi r5, r28, 0x0 +/* 00002684 000026C4 48 00 00 01 */ bl HSD_GObjObjet_80390A70 +/* 00002688 000026C8 3C 60 00 00 */ lis r3, HSD_GObj_80391070@ha +/* 0000268C 000026CC 38 83 00 00 */ addi r4, r3, HSD_GObj_80391070@l +/* 00002690 000026D0 38 7D 00 00 */ addi r3, r29, 0x0 +/* 00002694 000026D4 38 A0 00 0B */ li r5, 0xb +/* 00002698 000026D8 38 C0 00 00 */ li r6, 0x0 +/* 0000269C 000026DC 48 00 00 01 */ bl GObj_SetupGXLink +/* 000026A0 000026E0 80 9B 00 08 */ lwz r4, 0x8(r27) +/* 000026A4 000026E4 28 04 00 00 */ cmplwi r4, 0x0 +/* 000026A8 000026E8 41 82 00 10 */ beq .L_000026B8 +/* 000026AC 000026EC 38 7D 00 00 */ addi r3, r29, 0x0 +/* 000026B0 000026F0 38 A0 00 00 */ li r5, 0x0 +/* 000026B4 000026F4 48 00 00 01 */ bl HSD_GObjProc_8038FD54 +.L_000026B8: +/* 000026B8 000026F8 80 BB 00 14 */ lwz r5, 0x14(r27) +/* 000026BC 000026FC 38 7C 00 00 */ addi r3, r28, 0x0 +/* 000026C0 00002700 38 80 00 00 */ li r4, 0x0 +/* 000026C4 00002704 48 00 00 01 */ bl lb_8000C0E8 +/* 000026C8 00002708 7F 83 E3 78 */ mr r3, r28 +/* 000026CC 0000270C C0 20 00 00 */ lfs f1, ifStatus_804DDAA8@sda21(r0) +/* 000026D0 00002710 48 00 00 01 */ bl HSD_JObjReqAnimAll +/* 000026D4 00002714 7F 83 E3 78 */ mr r3, r28 +/* 000026D8 00002718 48 00 00 01 */ bl HSD_JObjAnimAll +/* 000026DC 0000271C 88 1B 00 12 */ lbz r0, 0x12(r27) +/* 000026E0 00002720 38 60 00 00 */ li r3, 0x0 +/* 000026E4 00002724 50 60 3E 30 */ rlwimi r0, r3, 7, 24, 24 +/* 000026E8 00002728 98 1B 00 12 */ stb r0, 0x12(r27) +/* 000026EC 0000272C 88 1B 00 12 */ lbz r0, 0x12(r27) +/* 000026F0 00002730 50 60 36 72 */ rlwimi r0, r3, 6, 25, 25 +/* 000026F4 00002734 98 1B 00 12 */ stb r0, 0x12(r27) +/* 000026F8 00002738 88 1B 00 12 */ lbz r0, 0x12(r27) +/* 000026FC 0000273C 50 60 2E B4 */ rlwimi r0, r3, 5, 26, 26 +/* 00002700 00002740 98 1B 00 12 */ stb r0, 0x12(r27) +/* 00002704 00002744 93 BB 00 00 */ stw r29, 0x0(r27) +/* 00002708 00002748 93 DB 00 18 */ stw r30, 0x18(r27) +/* 0000270C 0000274C 93 FB 00 1C */ stw r31, 0x1c(r27) +.L_00002710: +/* 00002710 00002750 BB 61 00 24 */ lmw r27, 0x24(r1) +/* 00002714 00002754 80 01 00 3C */ lwz r0, 0x3c(r1) +/* 00002718 00002758 38 21 00 38 */ addi r1, r1, 0x38 +/* 0000271C 0000275C 7C 08 03 A6 */ mtlr r0 +/* 00002720 00002760 4E 80 00 20 */ blr +.endfn ifStatus_802F6EA4 + +.fn ifStatus_802F7034, global +/* 00002724 00002764 7C 08 02 A6 */ mflr r0 +/* 00002728 00002768 90 01 00 04 */ stw r0, 0x4(r1) +/* 0000272C 0000276C 94 21 FF E8 */ stwu r1, -0x18(r1) +/* 00002730 00002770 93 E1 00 14 */ stw r31, 0x14(r1) +/* 00002734 00002774 7C 7F 1B 78 */ mr r31, r3 +/* 00002738 00002778 48 00 00 01 */ bl gm_8016AE38 +/* 0000273C 0000277C 80 83 00 10 */ lwz r4, 0x10(r3) +/* 00002740 00002780 2C 04 00 00 */ cmpwi r4, 0x0 +/* 00002744 00002784 41 82 00 0C */ beq .L_00002750 +/* 00002748 00002788 38 84 FF FF */ subi r4, r4, 0x1 +/* 0000274C 0000278C 48 00 00 08 */ b .L_00002754 +.L_00002750: +/* 00002750 00002790 38 80 FF FF */ li r4, -0x1 +.L_00002754: +/* 00002754 00002794 80 A3 00 14 */ lwz r5, 0x14(r3) +/* 00002758 00002798 2C 05 00 00 */ cmpwi r5, 0x0 +/* 0000275C 0000279C 41 82 00 0C */ beq .L_00002768 +/* 00002760 000027A0 38 A5 FF FF */ subi r5, r5, 0x1 +/* 00002764 000027A4 48 00 00 08 */ b .L_0000276C +.L_00002768: +/* 00002768 000027A8 38 A0 FF FF */ li r5, -0x1 +.L_0000276C: +/* 0000276C 000027AC 88 03 00 18 */ lbz r0, 0x18(r3) +/* 00002770 000027B0 28 00 00 00 */ cmplwi r0, 0x0 +/* 00002774 000027B4 41 82 00 0C */ beq .L_00002780 +/* 00002778 000027B8 7C 06 03 78 */ mr r6, r0 +/* 0000277C 000027BC 48 00 00 08 */ b .L_00002784 +.L_00002780: +/* 00002780 000027C0 38 C0 00 00 */ li r6, 0x0 +.L_00002784: +/* 00002784 000027C4 89 03 00 0B */ lbz r8, 0xb(r3) +/* 00002788 000027C8 28 08 00 00 */ cmplwi r8, 0x0 +/* 0000278C 000027CC 41 82 00 18 */ beq .L_000027A4 +/* 00002790 000027D0 38 68 FF FF */ subi r3, r8, 0x1 +/* 00002794 000027D4 38 FF 00 00 */ addi r7, r31, 0x0 +/* 00002798 000027D8 39 00 00 00 */ li r8, 0x0 +/* 0000279C 000027DC 48 00 00 01 */ bl ifStatus_802F6EA4 +/* 000027A0 000027E0 48 00 00 70 */ b .L_00002810 +.L_000027A4: +/* 000027A4 000027E4 88 E3 00 08 */ lbz r7, 0x8(r3) +/* 000027A8 000027E8 28 07 00 01 */ cmplwi r7, 0x1 +/* 000027AC 000027EC 40 82 00 18 */ bne .L_000027C4 +/* 000027B0 000027F0 38 FF 00 00 */ addi r7, r31, 0x0 +/* 000027B4 000027F4 38 60 00 00 */ li r3, 0x0 +/* 000027B8 000027F8 39 00 00 00 */ li r8, 0x0 +/* 000027BC 000027FC 48 00 00 01 */ bl ifStatus_802F6EA4 +/* 000027C0 00002800 48 00 00 50 */ b .L_00002810 +.L_000027C4: +/* 000027C4 00002804 88 03 24 CD */ lbz r0, 0x24cd(r3) +/* 000027C8 00002808 54 00 D7 FF */ extrwi. r0, r0, 1, 25 +/* 000027CC 0000280C 41 82 00 34 */ beq .L_00002800 +/* 000027D0 00002810 28 07 00 06 */ cmplwi r7, 0x6 +/* 000027D4 00002814 40 82 00 18 */ bne .L_000027EC +/* 000027D8 00002818 38 FF 00 00 */ addi r7, r31, 0x0 +/* 000027DC 0000281C 38 60 00 07 */ li r3, 0x7 +/* 000027E0 00002820 39 00 00 00 */ li r8, 0x0 +/* 000027E4 00002824 48 00 00 01 */ bl ifStatus_802F6EA4 +/* 000027E8 00002828 48 00 00 28 */ b .L_00002810 +.L_000027EC: +/* 000027EC 0000282C 38 FF 00 00 */ addi r7, r31, 0x0 +/* 000027F0 00002830 38 60 00 06 */ li r3, 0x6 +/* 000027F4 00002834 39 00 00 00 */ li r8, 0x0 +/* 000027F8 00002838 48 00 00 01 */ bl ifStatus_802F6EA4 +/* 000027FC 0000283C 48 00 00 14 */ b .L_00002810 +.L_00002800: +/* 00002800 00002840 38 FF 00 00 */ addi r7, r31, 0x0 +/* 00002804 00002844 38 60 00 05 */ li r3, 0x5 +/* 00002808 00002848 39 00 00 00 */ li r8, 0x0 +/* 0000280C 0000284C 48 00 00 01 */ bl ifStatus_802F6EA4 +.L_00002810: +/* 00002810 00002850 80 01 00 1C */ lwz r0, 0x1c(r1) +/* 00002814 00002854 83 E1 00 14 */ lwz r31, 0x14(r1) +/* 00002818 00002858 38 21 00 18 */ addi r1, r1, 0x18 +/* 0000281C 0000285C 7C 08 03 A6 */ mtlr r0 +/* 00002820 00002860 4E 80 00 20 */ blr +.endfn ifStatus_802F7034 + +.fn ifStatus_802F7134, global +/* 00002824 00002864 7C 08 02 A6 */ mflr r0 +/* 00002828 00002868 3C 60 00 00 */ lis r3, ifStatus_803F9628@ha +/* 0000282C 0000286C 90 01 00 04 */ stw r0, 0x4(r1) +/* 00002830 00002870 38 00 00 00 */ li r0, 0x0 +/* 00002834 00002874 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 00002838 00002878 93 E1 00 2C */ stw r31, 0x2c(r1) +/* 0000283C 0000287C 3B E3 00 00 */ addi r31, r3, ifStatus_803F9628@l +/* 00002840 00002880 90 1F 00 00 */ stw r0, 0x0(r31) +/* 00002844 00002884 90 1F 00 04 */ stw r0, 0x4(r31) +/* 00002848 00002888 90 1F 00 28 */ stw r0, 0x28(r31) +/* 0000284C 0000288C 90 1F 00 2C */ stw r0, 0x2c(r31) +/* 00002850 00002890 90 1F 00 50 */ stw r0, 0x50(r31) +/* 00002854 00002894 90 1F 00 54 */ stw r0, 0x54(r31) +/* 00002858 00002898 90 1F 00 78 */ stw r0, 0x78(r31) +/* 0000285C 0000289C 90 1F 00 7C */ stw r0, 0x7c(r31) +/* 00002860 000028A0 90 1F 00 A0 */ stw r0, 0xa0(r31) +/* 00002864 000028A4 90 1F 00 A4 */ stw r0, 0xa4(r31) +/* 00002868 000028A8 90 1F 00 C8 */ stw r0, 0xc8(r31) +/* 0000286C 000028AC 90 1F 00 CC */ stw r0, 0xcc(r31) +/* 00002870 000028B0 90 1F 00 F0 */ stw r0, 0xf0(r31) +/* 00002874 000028B4 90 1F 00 F4 */ stw r0, 0xf4(r31) +/* 00002878 000028B8 90 1F 01 18 */ stw r0, 0x118(r31) +/* 0000287C 000028BC 90 1F 01 1C */ stw r0, 0x11c(r31) +/* 00002880 000028C0 48 00 00 01 */ bl ifAll_802F3690 +/* 00002884 000028C4 80 63 00 00 */ lwz r3, 0x0(r3) +/* 00002888 000028C8 38 81 00 1C */ addi r4, r1, 0x1c +/* 0000288C 000028CC 38 BF 01 40 */ addi r5, r31, 0x140 +/* 00002890 000028D0 4C C6 31 82 */ crclr cr1eq +/* 00002894 000028D4 38 C0 00 00 */ li r6, 0x0 +/* 00002898 000028D8 48 00 00 01 */ bl lbArchive_80016AF0 +/* 0000289C 000028DC 80 61 00 1C */ lwz r3, 0x1c(r1) +/* 000028A0 000028E0 80 03 00 00 */ lwz r0, 0x0(r3) +/* 000028A4 000028E4 90 1F 00 14 */ stw r0, 0x14(r31) +/* 000028A8 000028E8 80 61 00 1C */ lwz r3, 0x1c(r1) +/* 000028AC 000028EC 80 03 00 04 */ lwz r0, 0x4(r3) +/* 000028B0 000028F0 90 1F 00 3C */ stw r0, 0x3c(r31) +/* 000028B4 000028F4 80 61 00 1C */ lwz r3, 0x1c(r1) +/* 000028B8 000028F8 80 03 00 08 */ lwz r0, 0x8(r3) +/* 000028BC 000028FC 90 1F 00 64 */ stw r0, 0x64(r31) +/* 000028C0 00002900 80 61 00 1C */ lwz r3, 0x1c(r1) +/* 000028C4 00002904 80 03 00 0C */ lwz r0, 0xc(r3) +/* 000028C8 00002908 90 1F 00 8C */ stw r0, 0x8c(r31) +/* 000028CC 0000290C 80 61 00 1C */ lwz r3, 0x1c(r1) +/* 000028D0 00002910 80 03 00 10 */ lwz r0, 0x10(r3) +/* 000028D4 00002914 90 1F 00 B4 */ stw r0, 0xb4(r31) +/* 000028D8 00002918 80 61 00 1C */ lwz r3, 0x1c(r1) +/* 000028DC 0000291C 80 03 00 14 */ lwz r0, 0x14(r3) +/* 000028E0 00002920 90 1F 00 DC */ stw r0, 0xdc(r31) +/* 000028E4 00002924 80 61 00 1C */ lwz r3, 0x1c(r1) +/* 000028E8 00002928 80 03 00 18 */ lwz r0, 0x18(r3) +/* 000028EC 0000292C 90 1F 01 04 */ stw r0, 0x104(r31) +/* 000028F0 00002930 80 61 00 1C */ lwz r3, 0x1c(r1) +/* 000028F4 00002934 80 03 00 1C */ lwz r0, 0x1c(r3) +/* 000028F8 00002938 90 1F 01 2C */ stw r0, 0x12c(r31) +/* 000028FC 0000293C 80 01 00 34 */ lwz r0, 0x34(r1) +/* 00002900 00002940 83 E1 00 2C */ lwz r31, 0x2c(r1) +/* 00002904 00002944 38 21 00 30 */ addi r1, r1, 0x30 +/* 00002908 00002948 7C 08 03 A6 */ mtlr r0 +/* 0000290C 0000294C 4E 80 00 20 */ blr +.endfn ifStatus_802F7134 + +.fn ifStatus_802F7220, global +/* 00002910 00002950 7C 08 02 A6 */ mflr r0 +/* 00002914 00002954 3C 60 00 00 */ lis r3, ifStatus_803F9628@ha +/* 00002918 00002958 90 01 00 04 */ stw r0, 0x4(r1) +/* 0000291C 0000295C 94 21 FF E8 */ stwu r1, -0x18(r1) +/* 00002920 00002960 93 E1 00 14 */ stw r31, 0x14(r1) +/* 00002924 00002964 3B E0 00 00 */ li r31, 0x0 +/* 00002928 00002968 93 C1 00 10 */ stw r30, 0x10(r1) +/* 0000292C 0000296C 3B C3 00 00 */ addi r30, r3, ifStatus_803F9628@l +/* 00002930 00002970 93 A1 00 0C */ stw r29, 0xc(r1) +/* 00002934 00002974 3B A0 00 00 */ li r29, 0x0 +.L_00002938: +/* 00002938 00002978 80 7E 00 00 */ lwz r3, 0x0(r30) +/* 0000293C 0000297C 28 03 00 00 */ cmplwi r3, 0x0 +/* 00002940 00002980 41 82 00 0C */ beq .L_0000294C +/* 00002944 00002984 48 00 00 01 */ bl HSD_GObjPLink_80390228 +/* 00002948 00002988 93 FE 00 00 */ stw r31, 0x0(r30) +.L_0000294C: +/* 0000294C 0000298C 3B BD 00 01 */ addi r29, r29, 0x1 +/* 00002950 00002990 2C 1D 00 08 */ cmpwi r29, 0x8 +/* 00002954 00002994 3B DE 00 28 */ addi r30, r30, 0x28 +/* 00002958 00002998 41 80 FF E0 */ blt .L_00002938 +/* 0000295C 0000299C 80 01 00 1C */ lwz r0, 0x1c(r1) +/* 00002960 000029A0 83 E1 00 14 */ lwz r31, 0x14(r1) +/* 00002964 000029A4 83 C1 00 10 */ lwz r30, 0x10(r1) +/* 00002968 000029A8 83 A1 00 0C */ lwz r29, 0xc(r1) +/* 0000296C 000029AC 38 21 00 18 */ addi r1, r1, 0x18 +/* 00002970 000029B0 7C 08 03 A6 */ mtlr r0 +/* 00002974 000029B4 4E 80 00 20 */ blr +.endfn ifStatus_802F7220 + +# 0x00000000 - 0x000001E8 +.data +.balign 8 + +.obj ifStatus_803F9598, global + .4byte 0x446D674E + .4byte 0x756D5F73 + .4byte 0x63656E65 + .4byte 0x5F6D6F64 + .4byte 0x656C7300 +.endobj ifStatus_803F9598 + +.obj ifStatus_803F95AC, global + .4byte 0x446D674D + .4byte 0x726B5F73 + .4byte 0x63656E65 + .4byte 0x5F6D6F64 + .4byte 0x656C7300 +.endobj ifStatus_803F95AC + +.obj ifStatus_803F95C0, global + .4byte 0x7472616E + .4byte 0x736C6174 + .4byte 0x65000000 + .4byte 0x4572726F + .4byte 0x72203A20 + .4byte 0x676F626A + .4byte 0x20646F6E + .4byte 0x74277420 + .4byte 0x67657420 + .4byte 0x28696641 + .4byte 0x64644D61 + .4byte 0x726B290A + .4byte 0x00000000 + .4byte 0x69667374 + .4byte 0x61747573 + .4byte 0x2E630000 + .4byte 0x4572726F + .4byte 0x72203A20 + .4byte 0x6A6F626A + .4byte 0x20646F6E + .4byte 0x74277420 + .4byte 0x67657420 + .4byte 0x28696641 + .4byte 0x64644D61 + .4byte 0x726B290A + .4byte 0x00000000 +.endobj ifStatus_803F95C0 + +.obj ifStatus_803F9628, global + .4byte 0x00000000 + .4byte 0x00000000 + .4byte if_802F74D0 + .4byte 0x0007C860 + .4byte 0x08000000 + .4byte 0x00000000 + .4byte 0x00000000 + .4byte 0x00000000 + .4byte 0x00000000 + .4byte 0x00000000 + .4byte 0x00000000 + .4byte 0x00000000 + .4byte if_802F73C4 + .4byte 0x0000C351 + .4byte 0x00000000 + .4byte 0x00000000 + .4byte 0x00000000 + .4byte 0x00000000 + .4byte 0x00000000 + .4byte 0x00000000 + .4byte 0x00000000 + .4byte 0x00000000 + .4byte if_802F74D0 + .4byte 0x0007C85E + .4byte 0x00000000 + .4byte 0x00000000 + .4byte 0x00000000 + .4byte 0x00000000 + .4byte 0x00000000 + .4byte 0x00000000 + .4byte 0x00000000 + .4byte 0x00000000 + .4byte if_802F73C4 + .4byte 0x0007C85D + .4byte 0x00000000 + .4byte 0x00000000 + .4byte 0x00000000 + .4byte 0x00000000 + .4byte 0x00000000 + .4byte 0x00000000 + .4byte 0x00000000 + .4byte 0x00000000 + .4byte if_802F73C4 + .4byte 0x0007C857 + .4byte 0x0A000000 + .4byte 0x00000000 + .4byte 0x00000000 + .4byte 0x00000000 + .4byte 0x00000000 + .4byte 0x00000000 + .4byte 0x00000000 + .4byte 0x00000000 + .4byte if_802F74D0 + .4byte 0x0007C855 + .4byte 0x08000000 + .4byte 0x00000000 + .4byte 0x00000000 + .4byte 0x00000000 + .4byte 0x00000000 + .4byte 0x00000000 + .4byte 0x00000000 + .4byte 0x00000000 + .4byte if_802F74D0 + .4byte 0x00009C48 + .4byte 0x00000000 + .4byte 0x00000000 + .4byte 0x00000000 + .4byte 0x00000000 + .4byte 0x00000000 + .4byte 0x00000000 + .4byte 0x00000000 + .4byte 0x00000000 + .4byte if_802F74D0 + .4byte 0x00009C46 + .4byte 0x00000000 + .4byte 0x00000000 + .4byte 0x00000000 + .4byte 0x00000000 + .4byte 0x00000000 + .4byte 0x00000000 + .4byte 0x5363496E + .4byte 0x66436E74 + .4byte 0x5F736365 + .4byte 0x6E655F6D + .4byte 0x6F64656C + .4byte 0x73000000 +.endobj ifStatus_803F9628 + +# 0x00000000 - 0x00000278 +.section .bss, "wa", @nobits +.balign 8 + +.obj ifStatus_HudInfo, global + .skip 0x278 +.endobj ifStatus_HudInfo + +# 0x00000000 - 0x00000020 +.section .sdata, "wa" +.balign 8 + +.obj ifStatus_804D57A8, global + .byte 0xFF +.endobj ifStatus_804D57A8 + +.obj gap_09_804D57A9_sdata, global +.hidden gap_09_804D57A9_sdata + .byte 0xFF, 0xFF, 0xFF +.endobj gap_09_804D57A9_sdata + +.obj ifStatus_804D57AC, global + .byte 0x50 +.endobj ifStatus_804D57AC + +.obj gap_09_804D57AD_sdata, global +.hidden gap_09_804D57AD_sdata + .byte 0x00, 0x00, 0xFF +.endobj gap_09_804D57AD_sdata + +.obj ifStatus_804D57B0, global + .4byte 0x6A6F626A + .4byte 0x2E680000 +.endobj ifStatus_804D57B0 + +.obj ifStatus_804D57B8, global + .4byte 0x6A6F626A + .4byte 0x00000000 +.endobj ifStatus_804D57B8 + +.obj ifStatus_804D57C0, global + .4byte 0x30000000 + .4byte 0x00000000 +.endobj ifStatus_804D57C0 + +# 0x00000000 - 0x00000008 +.section .sbss, "wa", @nobits +.balign 8 + +.obj ifStatus_804D6D60, global + .skip 0x1 +.endobj ifStatus_804D6D60 + +.obj ifStatus_804D6D61, global + .skip 0x7 +.endobj ifStatus_804D6D61 + +# 0x00000000 - 0x00000068 +.section .sdata2, "a" +.balign 8 + +.obj ifStatus_804DDA48, global + .4byte 0x3F800000 +.endobj ifStatus_804DDA48 + +.obj ifStatus_804DDA4C, global + .4byte 0x00000000 +.endobj ifStatus_804DDA4C + +.obj ifStatus_804DDA50, global + .4byte 0x40000000 +.endobj ifStatus_804DDA50 + +.obj gap_11_804DDA54_sdata2, global +.hidden gap_11_804DDA54_sdata2 + .4byte 0x00000000 +.endobj gap_11_804DDA54_sdata2 + +.obj ifStatus_804DDA58, global + .4byte 0x43300000 + .4byte 0x00000000 +.endobj ifStatus_804DDA58 + +.obj ifStatus_804DDA60, global + .4byte 0x43300000 + .4byte 0x80000000 +.endobj ifStatus_804DDA60 + +.obj ifStatus_804DDA68, global + .4byte 0x43960000 +.endobj ifStatus_804DDA68 + +.obj ifStatus_804DDA6C, global + .4byte 0x42C80000 +.endobj ifStatus_804DDA6C + +.obj ifStatus_804DDA70, global + .4byte 0x3F01C433 +.endobj ifStatus_804DDA70 + +.obj ifStatus_804DDA74, global + .4byte 0x3F1BB98C +.endobj ifStatus_804DDA74 + +.obj ifStatus_804DDA78, global + .4byte 0x3E9BB2FF +.endobj ifStatus_804DDA78 + +.obj ifStatus_804DDA7C, global + .4byte 0x3F9BB646 +.endobj ifStatus_804DDA7C + +.obj ifStatus_804DDA80, global + .4byte 0x3F4F9DB2 +.endobj ifStatus_804DDA80 + +.obj ifStatus_804DDA84, global + .4byte 0x3DCFAACE +.endobj ifStatus_804DDA84 + +.obj ifStatus_804DDA88, global + .4byte 0x3FC2A64C +.endobj ifStatus_804DDA88 + +.obj ifStatus_804DDA8C, global + .4byte 0xC2C80000 +.endobj ifStatus_804DDA8C + +.obj ifStatus_804DDA90, global + .4byte 0x3E4FAACE +.endobj ifStatus_804DDA90 + +.obj ifStatus_804DDA94, global + .4byte 0x3F000000 +.endobj ifStatus_804DDA94 + +.obj ifStatus_804DDA98, global + .4byte 0x3F266666 +.endobj ifStatus_804DDA98 + +.obj ifStatus_804DDA9C, global + .4byte 0x3DCCCCCD +.endobj ifStatus_804DDA9C + +.obj ifStatus_804DDAA0, global + .4byte 0x3E800000 +.endobj ifStatus_804DDAA0 + +.obj gap_11_804DDAA4_sdata2, global +.hidden gap_11_804DDAA4_sdata2 + .4byte 0x00000000 +.endobj gap_11_804DDAA4_sdata2 + +.obj ifStatus_804DDAA8, global + .4byte 0x00000000 +.endobj ifStatus_804DDAA8 + +.obj gap_11_804DDAAC_sdata2, global +.hidden gap_11_804DDAAC_sdata2 + .4byte 0x00000000 +.endobj gap_11_804DDAAC_sdata2 diff --git a/asm/melee/if/ifstatus_data.s b/asm/melee/if/ifstatus_data.s index 1328e3a4a..b7afac6af 100644 --- a/asm/melee/if/ifstatus_data.s +++ b/asm/melee/if/ifstatus_data.s @@ -138,8 +138,8 @@ ifStatus_804D57C0: .section .bss, "wa" .balign 8 -.global ifStatus_804A10C8 -ifStatus_804A10C8: +.global ifStatus_HudInfo +ifStatus_HudInfo: .skip 0x278 diff --git a/config/GALE01/splits.txt b/config/GALE01/splits.txt index ac4c1fe66..4303e18aa 100644 --- a/config/GALE01/splits.txt +++ b/config/GALE01/splits.txt @@ -3298,16 +3298,14 @@ melee/if/iftime.c: .sdata start:0x804D5788 end:0x804D57A8 .sdata2 start:0x804DDA38 end:0x804DDA48 -melee/if/ifstatus_data.c: +melee/if/ifstatus.c: + .text start:0x802F4910 end:0x802F7288 .data start:0x803F9598 end:0x803F9780 .bss start:0x804A10C8 end:0x804A1340 .sdata start:0x804D57A8 end:0x804D57C8 - .sbss start:0x804D6D60 end:0x804D7058 + .sbss start:0x804D6D60 end:0x804D6D68 .sdata2 start:0x804DDA48 end:0x804DDAB0 -melee/if/ifstatus.c: - .text start:0x802F4910 end:0x802F7288 - melee/if/if_2F72.c: .text start:0x802F7288 end:0x802F7EFC .data start:0x803F9780 end:0x803F97A8 diff --git a/config/GALE01/symbols.txt b/config/GALE01/symbols.txt index 066b6cee4..7d6b22e97 100644 --- a/config/GALE01/symbols.txt +++ b/config/GALE01/symbols.txt @@ -25066,7 +25066,7 @@ it_804A0E70 = .bss:0x804A0E70; // type:object size:0xF0 scope:global it_804A0F60 = .bss:0x804A0F60; // type:object size:0x78 scope:global ifAll_804A0FD8 = .bss:0x804A0FD8; // type:object size:0xA0 scope:global data:4byte ifTime_804A1078 = .bss:0x804A1078; // type:object size:0x50 scope:global data:4byte -ifStatus_804A10C8 = .bss:0x804A10C8; // type:object size:0x278 scope:global data:4byte +ifStatus_HudInfo = .bss:0x804A10C8; // type:object size:0x278 scope:global data:4byte lbl_804A1340 = .bss:0x804A1340; // type:object size:0x38 data:4byte ifStock_804A1378 = .bss:0x804A1378; // type:object size:0x3FC scope:global data:4byte ifStock_804A1774 = .bss:0x804A1774; // type:object size:0x318 scope:global data:byte diff --git a/configure.py b/configure.py index 24778f7d0..35d4d106b 100755 --- a/configure.py +++ b/configure.py @@ -1052,11 +1052,10 @@ config.libs = [ [ Object(NonMatching, "melee/if/ifall.c"), Object(NonMatching, "melee/if/iftime.c"), - Object(NonMatching, "melee/if/ifstatus_data.c"), - Object(Unknown, "melee/if/ifstatus.c"), + Object(NonMatching, "melee/if/ifstatus.c"), Object(NonMatching, "melee/if/if_2F72.c"), Object(NonMatching, "melee/if/ifstock.c"), - Object(Unknown, "melee/if/ifmagnify.c"), + Object(NonMatching, "melee/if/ifmagnify.c"), ], ), MeleeLib( diff --git a/obj_files.mk b/obj_files.mk index 989c64b15..602ead26e 100644 --- a/obj_files.mk +++ b/obj_files.mk @@ -768,11 +768,9 @@ TEXT_O_FILES +=\ TEXT_O_FILES +=\ $(BUILD_DIR)/asm/melee/if/ifall.s.o\ $(BUILD_DIR)/asm/melee/if/iftime.s.o\ - $(BUILD_DIR)/asm/melee/if/ifstatus_data.s.o\ - $(BUILD_DIR)/src/melee/if/ifstatus.c.o\ + $(BUILD_DIR)/asm/melee/if/ifstatus.s.o\ $(BUILD_DIR)/asm/melee/if/if_2F72.s.o\ $(BUILD_DIR)/asm/melee/if/ifstock.s.o\ - $(BUILD_DIR)/src/melee/if/ifmagnify.c.o\ $(BUILD_DIR)/asm/melee/if/ifmagnify.s.o\ TEXT_O_FILES +=\ diff --git a/src/melee/gm/forward.h b/src/melee/gm/forward.h index 0f905cf56..06ec3adb1 100644 --- a/src/melee/gm/forward.h +++ b/src/melee/gm/forward.h @@ -1,8 +1,11 @@ #ifndef MELEE_GM_FORWARD_H #define MELEE_GM_FORWARD_H -#include - +typedef struct datetime datetime; typedef struct GameRules GameRules; +typedef struct Placeholder_8016AE38_flags Placeholder_8016AE38_flags; +typedef struct Placeholder_8016AE38_flags_2 Placeholder_8016AE38_flags_2; +typedef struct Placeholder_8016AE38_ret_val Placeholder_8016AE38_ret_val; +typedef struct Placeholder_8016AE50_ret_val Placeholder_8016AE50_ret_val; #endif diff --git a/src/melee/gm/gm_1601.h b/src/melee/gm/gm_1601.h index afc150a95..44c0c827b 100644 --- a/src/melee/gm/gm_1601.h +++ b/src/melee/gm/gm_1601.h @@ -2,14 +2,10 @@ #define GALE01_1601C4 #include +#include "gm/forward.h" #include -struct datetime { - u16 year; - u8 month, day, hour, minute, second; -}; - /* 160854 */ void gm_80160854(void); /* 160968 */ bool gm_80160968(void); /* 164600 */ bool gm_80164600(void); @@ -17,8 +13,10 @@ struct datetime { /* 164ABC */ bool gm_80164ABC(void); /* 167320 */ void gm_80167320(int slot, bool); /* 168B34 */ void gm_80168B34(void); -/* 1692E8 */ void gm_801692E8(int, struct datetime* datetime); +/* 1692E8 */ void gm_801692E8(int, datetime* datetime); +/* 16AE38 */ Placeholder_8016AE38_ret_val* gm_8016AE38(void); /* 16AE44 */ bool gm_8016AE44(void); +/* 16AE50 */ Placeholder_8016AE50_ret_val* gm_8016AE50(void); /* 16AE80 */ bool gm_8016AE80(void); /* 16AEDC */ bool gm_8016AEDC(void); /* 16B014 */ bool gm_8016B014(void); @@ -35,6 +33,7 @@ struct datetime { /* 16B3D8 */ bool gm_8016B3D8(void); /* 16B41C */ bool gm_8016B41C(void); /* 16B498 */ void gm_8016B498(void); +/* 16B8D4 */ void gm_8016B8D4(s32, s32); /* 16C5C0 */ bool gm_8016C5C0(int pl_slot); /* 16C6C0 */ /* static */ UNK_RET gm_8016C6C0(UNK_PARAMS); /* 16C75C */ /* static */ UNK_RET gm_8016C75C(UNK_PARAMS); diff --git a/src/melee/gm/types.h b/src/melee/gm/types.h index 8c18716c9..aedd61d77 100644 --- a/src/melee/gm/types.h +++ b/src/melee/gm/types.h @@ -177,4 +177,39 @@ struct gmm_retval_EDB0 { s32 x4; }; +struct Placeholder_8016AE38_flags { + u8 unk80 : 1; + u8 unk40 : 1; + u8 unk20 : 1; + u8 unk10 : 1; + u8 unk8 : 1; + u8 unk4 : 1; + u8 unk2 : 1; + u8 unk1 : 1; +}; + +struct Placeholder_8016AE38_flags_2 { + u8 top3 : 3; + u8 bot5 : 5; +}; + +struct Placeholder_8016AE38_ret_val { + u32 unk0; + u32 unk4; + u32 unk8; + u8 unkC; + u8 unkD; + u8 unkE; + u8 unkF; + u32 padding[0x931 - 3]; + Placeholder_8016AE38_flags_2 unk24C8; + u8 unk24C9; + Placeholder_8016AE38_flags unk24CA; +}; + +struct datetime { + u16 year; + u8 month, day, hour, minute, second; +}; + #endif diff --git a/src/melee/if/forward.h b/src/melee/if/forward.h new file mode 100644 index 000000000..5fd24311b --- /dev/null +++ b/src/melee/if/forward.h @@ -0,0 +1,14 @@ +#ifndef MELEE_IF_FORWARD_H +#define MELEE_IF_FORWARD_H + +typedef struct Element_803F9628 Element_803F9628; +typedef struct Element_803F9628_Obj_14 Element_803F9628_Obj_14; +typedef struct HudFlags HudFlags; +typedef struct HudIndex HudIndex; +typedef struct HudValue HudValue; +typedef struct ifMagnify ifMagnify; +typedef struct Placeholder_8016AE50_flags Placeholder_8016AE50_flags; +typedef struct Thing_803F9628 Thing_803F9628; +typedef struct UnknownClassTypeE UnknownClassTypeE; + +#endif diff --git a/src/melee/if/if_2F72.h b/src/melee/if/if_2F72.h new file mode 100644 index 000000000..8265b7204 --- /dev/null +++ b/src/melee/if/if_2F72.h @@ -0,0 +1,13 @@ +#ifndef GALE01_2F7288 +#define GALE01_2F7288 + +#include + +#include + +/* 2F7AF8 */ void if_802F7AF8(s32); +/* 2F7BB4 */ void if_802F7BB4(s32); +/* 2F7C30 */ void if_802F7C30(s32); +/* 2F7D08 */ void if_802F7D08(s32); + +#endif diff --git a/src/melee/if/ifall.h b/src/melee/if/ifall.h index 85ba7a0b8..609ed4e65 100644 --- a/src/melee/if/ifall.h +++ b/src/melee/if/ifall.h @@ -1,10 +1,10 @@ -#ifndef MELEE_IF_IFALL_H -#define MELEE_IF_IFALL_H +#ifndef GALE01_2F3394 +#define GALE01_2F3394 #include -void ifAll_802F3424(void); -void ifAll_802F3690(void); -void ifAll_802F343C(void); +/* 2F3424 */ void ifAll_802F3424(void); +/* 2F343C */ void ifAll_802F343C(void); +/* 2F3690 */ void ifAll_802F3690(void); #endif diff --git a/src/melee/if/ifmagnify.h b/src/melee/if/ifmagnify.h index 87c6c15e7..d564d403b 100644 --- a/src/melee/if/ifmagnify.h +++ b/src/melee/if/ifmagnify.h @@ -1,39 +1,12 @@ -#ifndef MELEE_IF_IFMAGNIFY_H -#define MELEE_IF_IFMAGNIFY_H +#ifndef GALE01_2FB6E8 +#define GALE01_2FB6E8 #include -#include -#include -#include -#include +#include "if/types.h" -typedef struct ifMagnify { - HSD_Joint* joint; // // ifMagnify_802fc3c0 accesses 0x804A1DE0 for a Joint - int x4; - int x8; - int xC; - int x10; - - struct { - HSD_GObj* gobj; // ifMagnify_802fc750 accesses 0x804A1DF4 + slot * 0x10 - // for a GObj - HSD_TObj* tobj; // ifMagnify_802fc3c0 accesses 0x804A1DF8 + slot * 0x10 - // for a TObj - HSD_ImageDesc* - idesc; // ifMagnify_802FBBDC access 0x804A1DFC for an ImageDesc - struct { - u8 is_offscreen : 1; - u8 ignore_offscreen : 1; - u8 unk : 6; - } state; - } player[6]; - u8 unk[0xF0 - 0x74]; -} ifMagnify; - -extern ifMagnify ifMagnify_804A1DE0; - -s32 ifMagnify_802FB6E8(s32); -bool ifMagnify_802FC998(s32 ply_slot); +/* 2FB6E8 */ s32 ifMagnify_802FB6E8(s32); +/* 2FC998 */ bool ifMagnify_802FC998(s32 ply_slot); +/* 4A1DE0 */ extern ifMagnify ifMagnify_804A1DE0; #endif diff --git a/src/melee/if/ifstatus.c b/src/melee/if/ifstatus.c index 5c172b85f..74854ac8b 100644 --- a/src/melee/if/ifstatus.c +++ b/src/melee/if/ifstatus.c @@ -1,1578 +1,54 @@ +#include "gm/forward.h" + #include "if/ifstatus.h" #include "ifall.h" +#include "gm/gm_1601.h" +#include "gm/types.h" +#include "if/if_2F72.h" +#include "if/ifstock.h" +#include "if/types.h" #include "pl/player.h" #include #include #include -#ifdef MUST_MATCH -#include "melee/gm/gm_1601.h" -#include "melee/if/ifstock.h" -#include "melee/lb/lb_00B0.h" -#include "melee/lb/lb_00F9.h" -#include "melee/lb/lbarchive.h" -#include "melee/lb/lbaudio_ax.h" -#include "melee/mn/mn_2295.h" -#include "melee/un/un_2FC9.h" -#include "sysdolphin/baselib/gobjobject.h" -#include "sysdolphin/baselib/gobjproc.h" -#include "sysdolphin/baselib/random.h" -#endif +Thing_803F9628 ifStatus_803F9628; +s8 ifStatus_804D6D60; HudIndex* ifStatus_802F4910(void) { - return &ifStatus_804A10C8; + return &ifStatus_HudInfo; } -extern char* ifStatus_804D57B8; -extern f32 ifStatus_804DDA74; -extern f32 ifStatus_804DDA78; -extern f32 ifStatus_804DDA7C; -extern f32 ifStatus_804DDA80; -extern u8* ifStatus_804D6D61; -extern f32 ifStatus_804DDA6C; -extern f32 ifStatus_804DDA8C; -extern f32 ifStatus_804DDA90; -extern char* ifStatus_804D57B0; -extern f64 ifStatus_804DDA58; -extern f32 ifStatus_804DDA84; -extern f32 ifStatus_804DDA88; -extern f32 ifStatus_804DDA8C; -extern f32 ifStatus_804DDA90; -extern f32 ifStatus_804DDA94; -extern f32 ifStatus_804DDA48; -extern f32 ifStatus_804DDA4C; -extern f32 ifStatus_804DDA50; - -#ifdef MUST_MATCH - -#pragma push -asm void ifStatus_802F491C(void) -{ // clang-format off - nofralloc -/* 802F491C 002F14FC 7C 08 02 A6 */ mflr r0 -/* 802F4920 002F1500 90 01 00 04 */ stw r0, 4(r1) -/* 802F4924 002F1504 94 21 FF 90 */ stwu r1, -0x70(r1) -/* 802F4928 002F1508 DB E1 00 68 */ stfd f31, 0x68(r1) -/* 802F492C 002F150C DB C1 00 60 */ stfd f30, 0x60(r1) -/* 802F4930 002F1510 DB A1 00 58 */ stfd f29, 0x58(r1) -/* 802F4934 002F1514 DB 81 00 50 */ stfd f28, 0x50(r1) -/* 802F4938 002F1518 BF 61 00 3C */ stmw r27, 0x3c(r1) -/* 802F493C 002F151C 7C 7B 1B 78 */ mr r27, r3 -/* 802F4940 002F1520 88 03 00 10 */ lbz r0, 0x10(r3) -/* 802F4944 002F1524 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f -/* 802F4948 002F1528 41 82 00 84 */ beq lbl_802F49CC -/* 802F494C 002F152C C3 82 E0 94 */ lfs f28, ifStatus_804DDA74(r2) -/* 802F4950 002F1530 7F 7D DB 78 */ mr r29, r27 -/* 802F4954 002F1534 C3 E2 E0 98 */ lfs f31, ifStatus_804DDA78(r2) -/* 802F4958 002F1538 3B 80 00 00 */ li r28, 0 -/* 802F495C 002F153C C3 C2 E0 A0 */ lfs f30, ifStatus_804DDA80(r2) -/* 802F4960 002F1540 C3 A2 E0 9C */ lfs f29, ifStatus_804DDA7C(r2) -/* 802F4964 002F1544 3B E0 00 01 */ li r31, 1 -/* 802F4968 002F1548 3B C0 00 00 */ li r30, 0 -lbl_802F496C: -/* 802F496C 002F154C 48 08 BB BD */ bl HSD_Randf -/* 802F4970 002F1550 88 0D B6 C1 */ lbz r0, ifStatus_804D6D61(r13) -/* 802F4974 002F1554 EC 1C 00 72 */ fmuls f0, f28, f1 -/* 802F4978 002F1558 7C 00 07 75 */ extsb. r0, r0 -/* 802F497C 002F155C 41 82 00 14 */ beq lbl_802F4990 -/* 802F4980 002F1560 FC 00 00 50 */ fneg f0, f0 -/* 802F4984 002F1564 9B CD B6 C1 */ stb r30, ifStatus_804D6D61(r13) -/* 802F4988 002F1568 EC 00 F8 28 */ fsubs f0, f0, f31 -/* 802F498C 002F156C 48 00 00 0C */ b lbl_802F4998 -lbl_802F4990: -/* 802F4990 002F1570 EC 00 F8 2A */ fadds f0, f0, f31 -/* 802F4994 002F1574 9B ED B6 C1 */ stb r31, ifStatus_804D6D61(r13) -lbl_802F4998: -/* 802F4998 002F1578 D0 1D 00 34 */ stfs f0, 0x34(r29) -/* 802F499C 002F157C 48 08 BB 8D */ bl HSD_Randf -/* 802F49A0 002F1580 EC 1E E8 7A */ fmadds f0, f30, f1, f29 -/* 802F49A4 002F1584 3B 9C 00 01 */ addi r28, r28, 1 -/* 802F49A8 002F1588 2C 1C 00 04 */ cmpwi r28, 4 -/* 802F49AC 002F158C D0 1D 00 44 */ stfs f0, 0x44(r29) -/* 802F49B0 002F1590 3B BD 00 04 */ addi r29, r29, 4 -/* 802F49B4 002F1594 41 80 FF B8 */ blt lbl_802F496C -/* 802F49B8 002F1598 88 1B 00 10 */ lbz r0, 0x10(r27) -/* 802F49BC 002F159C 38 60 00 00 */ li r3, 0 -/* 802F49C0 002F15A0 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19 -/* 802F49C4 002F15A4 98 1B 00 10 */ stb r0, 0x10(r27) -/* 802F49C8 002F15A8 48 00 01 98 */ b lbl_802F4B60 -lbl_802F49CC: -/* 802F49CC 002F15AC C3 A2 E0 8C */ lfs f29, ifStatus_804DDA6C(r2) -/* 802F49D0 002F15B0 7F 7D DB 78 */ mr r29, r27 -/* 802F49D4 002F15B4 C3 C2 E0 AC */ lfs f30, ifStatus_804DDA8C(r2) -/* 802F49D8 002F15B8 3B E0 00 00 */ li r31, 0 -/* 802F49DC 002F15BC C3 E2 E0 B0 */ lfs f31, ifStatus_804DDA90(r2) -lbl_802F49E0: -/* 802F49E0 002F15C0 83 DD 00 54 */ lwz r30, 0x54(r29) -/* 802F49E4 002F15C4 28 1E 00 00 */ cmplwi r30, 0 -/* 802F49E8 002F15C8 40 82 00 14 */ bne lbl_802F49FC -/* 802F49EC 002F15CC 38 6D A1 10 */ addi r3, r13, ifStatus_804D57B0 -/* 802F49F0 002F15D0 38 80 03 E1 */ li r4, 0x3e1 -/* 802F49F4 002F15D4 38 AD A1 18 */ addi r5, r13, ifStatus_804D57B8 -/* 802F49F8 002F15D8 48 09 38 29 */ bl __assert -lbl_802F49FC: -/* 802F49FC 002F15DC C0 1E 00 38 */ lfs f0, 0x38(r30) -/* 802F4A00 002F15E0 D0 01 00 2C */ stfs f0, 0x2c(r1) -/* 802F4A04 002F15E4 80 01 00 2C */ lwz r0, 0x2c(r1) -/* 802F4A08 002F15E8 54 00 00 7E */ clrlwi r0, r0, 1 -/* 802F4A0C 002F15EC 90 01 00 2C */ stw r0, 0x2c(r1) -/* 802F4A10 002F15F0 C0 01 00 2C */ lfs f0, 0x2c(r1) -/* 802F4A14 002F15F4 FC 00 E8 40 */ fcmpo cr0, f0, f29 -/* 802F4A18 002F15F8 40 80 00 84 */ bge lbl_802F4A9C -/* 802F4A1C 002F15FC 83 DD 00 54 */ lwz r30, 0x54(r29) -/* 802F4A20 002F1600 C3 9D 00 34 */ lfs f28, 0x34(r29) -/* 802F4A24 002F1604 28 1E 00 00 */ cmplwi r30, 0 -/* 802F4A28 002F1608 40 82 00 14 */ bne lbl_802F4A3C -/* 802F4A2C 002F160C 38 6D A1 10 */ addi r3, r13, ifStatus_804D57B0 -/* 802F4A30 002F1610 38 80 04 4E */ li r4, 0x44e -/* 802F4A34 002F1614 38 AD A1 18 */ addi r5, r13, ifStatus_804D57B8 -/* 802F4A38 002F1618 48 09 37 E9 */ bl __assert -lbl_802F4A3C: -/* 802F4A3C 002F161C C0 1E 00 38 */ lfs f0, 0x38(r30) -/* 802F4A40 002F1620 EC 00 E0 2A */ fadds f0, f0, f28 -/* 802F4A44 002F1624 D0 1E 00 38 */ stfs f0, 0x38(r30) -/* 802F4A48 002F1628 80 1E 00 14 */ lwz r0, 0x14(r30) -/* 802F4A4C 002F162C 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 802F4A50 002F1630 40 82 00 4C */ bne lbl_802F4A9C -/* 802F4A54 002F1634 28 1E 00 00 */ cmplwi r30, 0 -/* 802F4A58 002F1638 41 82 00 44 */ beq lbl_802F4A9C -/* 802F4A5C 002F163C 40 82 00 14 */ bne lbl_802F4A70 -/* 802F4A60 002F1640 38 6D A1 10 */ addi r3, r13, ifStatus_804D57B0 -/* 802F4A64 002F1644 38 80 02 34 */ li r4, 0x234 -/* 802F4A68 002F1648 38 AD A1 18 */ addi r5, r13, ifStatus_804D57B8 -/* 802F4A6C 002F164C 48 09 37 B5 */ bl __assert -lbl_802F4A70: -/* 802F4A70 002F1650 80 9E 00 14 */ lwz r4, 0x14(r30) -/* 802F4A74 002F1654 38 60 00 00 */ li r3, 0 -/* 802F4A78 002F1658 54 80 02 11 */ rlwinm. r0, r4, 0, 8, 8 -/* 802F4A7C 002F165C 40 82 00 10 */ bne lbl_802F4A8C -/* 802F4A80 002F1660 54 80 06 73 */ rlwinm. r0, r4, 0, 0x19, 0x19 -/* 802F4A84 002F1664 41 82 00 08 */ beq lbl_802F4A8C -/* 802F4A88 002F1668 38 60 00 01 */ li r3, 1 -lbl_802F4A8C: -/* 802F4A8C 002F166C 2C 03 00 00 */ cmpwi r3, 0 -/* 802F4A90 002F1670 40 82 00 0C */ bne lbl_802F4A9C -/* 802F4A94 002F1674 7F C3 F3 78 */ mr r3, r30 -/* 802F4A98 002F1678 48 07 E8 51 */ bl HSD_JObjSetMtxDirtySub -lbl_802F4A9C: -/* 802F4A9C 002F167C 83 DD 00 54 */ lwz r30, 0x54(r29) -/* 802F4AA0 002F1680 28 1E 00 00 */ cmplwi r30, 0 -/* 802F4AA4 002F1684 40 82 00 14 */ bne lbl_802F4AB8 -/* 802F4AA8 002F1688 38 6D A1 10 */ addi r3, r13, ifStatus_804D57B0 -/* 802F4AAC 002F168C 38 80 03 EE */ li r4, 0x3ee -/* 802F4AB0 002F1690 38 AD A1 18 */ addi r5, r13, ifStatus_804D57B8 -/* 802F4AB4 002F1694 48 09 37 6D */ bl __assert -lbl_802F4AB8: -/* 802F4AB8 002F1698 C0 1E 00 3C */ lfs f0, 0x3c(r30) -/* 802F4ABC 002F169C FC 00 F0 40 */ fcmpo cr0, f0, f30 -/* 802F4AC0 002F16A0 40 81 00 90 */ ble lbl_802F4B50 -/* 802F4AC4 002F16A4 83 DD 00 54 */ lwz r30, 0x54(r29) -/* 802F4AC8 002F16A8 C3 9D 00 44 */ lfs f28, 0x44(r29) -/* 802F4ACC 002F16AC 28 1E 00 00 */ cmplwi r30, 0 -/* 802F4AD0 002F16B0 40 82 00 14 */ bne lbl_802F4AE4 -/* 802F4AD4 002F16B4 38 6D A1 10 */ addi r3, r13, ifStatus_804D57B0 -/* 802F4AD8 002F16B8 38 80 04 5A */ li r4, 0x45a -/* 802F4ADC 002F16BC 38 AD A1 18 */ addi r5, r13, ifStatus_804D57B8 -/* 802F4AE0 002F16C0 48 09 37 41 */ bl __assert -lbl_802F4AE4: -/* 802F4AE4 002F16C4 C0 1E 00 3C */ lfs f0, 0x3c(r30) -/* 802F4AE8 002F16C8 EC 00 E0 2A */ fadds f0, f0, f28 -/* 802F4AEC 002F16CC D0 1E 00 3C */ stfs f0, 0x3c(r30) -/* 802F4AF0 002F16D0 80 1E 00 14 */ lwz r0, 0x14(r30) -/* 802F4AF4 002F16D4 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 802F4AF8 002F16D8 40 82 00 4C */ bne lbl_802F4B44 -/* 802F4AFC 002F16DC 28 1E 00 00 */ cmplwi r30, 0 -/* 802F4B00 002F16E0 41 82 00 44 */ beq lbl_802F4B44 -/* 802F4B04 002F16E4 40 82 00 14 */ bne lbl_802F4B18 -/* 802F4B08 002F16E8 38 6D A1 10 */ addi r3, r13, ifStatus_804D57B0 -/* 802F4B0C 002F16EC 38 80 02 34 */ li r4, 0x234 -/* 802F4B10 002F16F0 38 AD A1 18 */ addi r5, r13, ifStatus_804D57B8 -/* 802F4B14 002F16F4 48 09 37 0D */ bl __assert -lbl_802F4B18: -/* 802F4B18 002F16F8 80 9E 00 14 */ lwz r4, 0x14(r30) -/* 802F4B1C 002F16FC 38 60 00 00 */ li r3, 0 -/* 802F4B20 002F1700 54 80 02 11 */ rlwinm. r0, r4, 0, 8, 8 -/* 802F4B24 002F1704 40 82 00 10 */ bne lbl_802F4B34 -/* 802F4B28 002F1708 54 80 06 73 */ rlwinm. r0, r4, 0, 0x19, 0x19 -/* 802F4B2C 002F170C 41 82 00 08 */ beq lbl_802F4B34 -/* 802F4B30 002F1710 38 60 00 01 */ li r3, 1 -lbl_802F4B34: -/* 802F4B34 002F1714 2C 03 00 00 */ cmpwi r3, 0 -/* 802F4B38 002F1718 40 82 00 0C */ bne lbl_802F4B44 -/* 802F4B3C 002F171C 7F C3 F3 78 */ mr r3, r30 -/* 802F4B40 002F1720 48 07 E7 A9 */ bl HSD_JObjSetMtxDirtySub -lbl_802F4B44: -/* 802F4B44 002F1724 C0 1D 00 44 */ lfs f0, 0x44(r29) -/* 802F4B48 002F1728 EC 00 F8 28 */ fsubs f0, f0, f31 -/* 802F4B4C 002F172C D0 1D 00 44 */ stfs f0, 0x44(r29) -lbl_802F4B50: -/* 802F4B50 002F1730 3B FF 00 01 */ addi r31, r31, 1 -/* 802F4B54 002F1734 2C 1F 00 04 */ cmpwi r31, 4 -/* 802F4B58 002F1738 3B BD 00 04 */ addi r29, r29, 4 -/* 802F4B5C 002F173C 41 80 FE 84 */ blt lbl_802F49E0 -lbl_802F4B60: -/* 802F4B60 002F1740 BB 61 00 3C */ lmw r27, 0x3c(r1) -/* 802F4B64 002F1744 80 01 00 74 */ lwz r0, 0x74(r1) -/* 802F4B68 002F1748 CB E1 00 68 */ lfd f31, 0x68(r1) -/* 802F4B6C 002F174C CB C1 00 60 */ lfd f30, 0x60(r1) -/* 802F4B70 002F1750 CB A1 00 58 */ lfd f29, 0x58(r1) -/* 802F4B74 002F1754 CB 81 00 50 */ lfd f28, 0x50(r1) -/* 802F4B78 002F1758 38 21 00 70 */ addi r1, r1, 0x70 -/* 802F4B7C 002F175C 7C 08 03 A6 */ mtlr r0 -/* 802F4B80 002F1760 4E 80 00 20 */ blr -} // clang-format on -#pragma pop - -#else - void ifStatus_802F491C(void) { NOT_IMPLEMENTED; } -#endif - -extern f32 ifStatus_804DDA4C; - -#ifdef MUST_MATCH - -#pragma push -asm void ifStatus_802F4B84(void) -{ // clang-format off - nofralloc -/* 802F4B84 002F1764 7C 08 02 A6 */ mflr r0 -/* 802F4B88 002F1768 90 01 00 04 */ stw r0, 4(r1) -/* 802F4B8C 002F176C 94 21 FF 98 */ stwu r1, -0x68(r1) -/* 802F4B90 002F1770 DB E1 00 60 */ stfd f31, 0x60(r1) -/* 802F4B94 002F1774 DB C1 00 58 */ stfd f30, 0x58(r1) -/* 802F4B98 002F1778 DB A1 00 50 */ stfd f29, 0x50(r1) -/* 802F4B9C 002F177C DB 81 00 48 */ stfd f28, 0x48(r1) -/* 802F4BA0 002F1780 DB 61 00 40 */ stfd f27, 0x40(r1) -/* 802F4BA4 002F1784 DB 41 00 38 */ stfd f26, 0x38(r1) -/* 802F4BA8 002F1788 DB 21 00 30 */ stfd f25, 0x30(r1) -/* 802F4BAC 002F178C 93 E1 00 2C */ stw r31, 0x2c(r1) -/* 802F4BB0 002F1790 93 C1 00 28 */ stw r30, 0x28(r1) -/* 802F4BB4 002F1794 7C 7E 1B 78 */ mr r30, r3 -/* 802F4BB8 002F1798 93 A1 00 24 */ stw r29, 0x24(r1) -/* 802F4BBC 002F179C 93 81 00 20 */ stw r28, 0x20(r1) -/* 802F4BC0 002F17A0 88 03 00 0F */ lbz r0, 0xf(r3) -/* 802F4BC4 002F17A4 28 00 00 00 */ cmplwi r0, 0 -/* 802F4BC8 002F17A8 41 82 02 D8 */ beq lbl_802F4EA0 -/* 802F4BCC 002F17AC 28 00 00 01 */ cmplwi r0, 1 -/* 802F4BD0 002F17B0 40 82 01 18 */ bne lbl_802F4CE8 -/* 802F4BD4 002F17B4 3B E0 00 00 */ li r31, 0 -/* 802F4BD8 002F17B8 3B BE 00 00 */ addi r29, r30, 0 -lbl_802F4BDC: -/* 802F4BDC 002F17BC 83 9D 00 54 */ lwz r28, 0x54(r29) -/* 802F4BE0 002F17C0 C3 9D 00 14 */ lfs f28, 0x14(r29) -/* 802F4BE4 002F17C4 28 1C 00 00 */ cmplwi r28, 0 -/* 802F4BE8 002F17C8 40 82 00 14 */ bne lbl_802F4BFC -/* 802F4BEC 002F17CC 38 6D A1 10 */ addi r3, r13, ifStatus_804D57B0 -/* 802F4BF0 002F17D0 38 80 03 A4 */ li r4, 0x3a4 -/* 802F4BF4 002F17D4 38 AD A1 18 */ addi r5, r13, ifStatus_804D57B8 -/* 802F4BF8 002F17D8 48 09 36 29 */ bl __assert -lbl_802F4BFC: -/* 802F4BFC 002F17DC D3 9C 00 38 */ stfs f28, 0x38(r28) -/* 802F4C00 002F17E0 80 1C 00 14 */ lwz r0, 0x14(r28) -/* 802F4C04 002F17E4 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 802F4C08 002F17E8 40 82 00 4C */ bne lbl_802F4C54 -/* 802F4C0C 002F17EC 28 1C 00 00 */ cmplwi r28, 0 -/* 802F4C10 002F17F0 41 82 00 44 */ beq lbl_802F4C54 -/* 802F4C14 002F17F4 40 82 00 14 */ bne lbl_802F4C28 -/* 802F4C18 002F17F8 38 6D A1 10 */ addi r3, r13, ifStatus_804D57B0 -/* 802F4C1C 002F17FC 38 80 02 34 */ li r4, 0x234 -/* 802F4C20 002F1800 38 AD A1 18 */ addi r5, r13, ifStatus_804D57B8 -/* 802F4C24 002F1804 48 09 35 FD */ bl __assert -lbl_802F4C28: -/* 802F4C28 002F1808 80 9C 00 14 */ lwz r4, 0x14(r28) -/* 802F4C2C 002F180C 38 60 00 00 */ li r3, 0 -/* 802F4C30 002F1810 54 80 02 11 */ rlwinm. r0, r4, 0, 8, 8 -/* 802F4C34 002F1814 40 82 00 10 */ bne lbl_802F4C44 -/* 802F4C38 002F1818 54 80 06 73 */ rlwinm. r0, r4, 0, 0x19, 0x19 -/* 802F4C3C 002F181C 41 82 00 08 */ beq lbl_802F4C44 -/* 802F4C40 002F1820 38 60 00 01 */ li r3, 1 -lbl_802F4C44: -/* 802F4C44 002F1824 2C 03 00 00 */ cmpwi r3, 0 -/* 802F4C48 002F1828 40 82 00 0C */ bne lbl_802F4C54 -/* 802F4C4C 002F182C 7F 83 E3 78 */ mr r3, r28 -/* 802F4C50 002F1830 48 07 E6 99 */ bl HSD_JObjSetMtxDirtySub -lbl_802F4C54: -/* 802F4C54 002F1834 83 9D 00 54 */ lwz r28, 0x54(r29) -/* 802F4C58 002F1838 C3 9D 00 24 */ lfs f28, 0x24(r29) -/* 802F4C5C 002F183C 28 1C 00 00 */ cmplwi r28, 0 -/* 802F4C60 002F1840 40 82 00 14 */ bne lbl_802F4C74 -/* 802F4C64 002F1844 38 6D A1 10 */ addi r3, r13, ifStatus_804D57B0 -/* 802F4C68 002F1848 38 80 03 B3 */ li r4, 0x3b3 -/* 802F4C6C 002F184C 38 AD A1 18 */ addi r5, r13, ifStatus_804D57B8 -/* 802F4C70 002F1850 48 09 35 B1 */ bl __assert -lbl_802F4C74: -/* 802F4C74 002F1854 D3 9C 00 3C */ stfs f28, 0x3c(r28) -/* 802F4C78 002F1858 80 1C 00 14 */ lwz r0, 0x14(r28) -/* 802F4C7C 002F185C 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 802F4C80 002F1860 40 82 00 4C */ bne lbl_802F4CCC -/* 802F4C84 002F1864 28 1C 00 00 */ cmplwi r28, 0 -/* 802F4C88 002F1868 41 82 00 44 */ beq lbl_802F4CCC -/* 802F4C8C 002F186C 40 82 00 14 */ bne lbl_802F4CA0 -/* 802F4C90 002F1870 38 6D A1 10 */ addi r3, r13, ifStatus_804D57B0 -/* 802F4C94 002F1874 38 80 02 34 */ li r4, 0x234 -/* 802F4C98 002F1878 38 AD A1 18 */ addi r5, r13, ifStatus_804D57B8 -/* 802F4C9C 002F187C 48 09 35 85 */ bl __assert -lbl_802F4CA0: -/* 802F4CA0 002F1880 80 9C 00 14 */ lwz r4, 0x14(r28) -/* 802F4CA4 002F1884 38 60 00 00 */ li r3, 0 -/* 802F4CA8 002F1888 54 80 02 11 */ rlwinm. r0, r4, 0, 8, 8 -/* 802F4CAC 002F188C 40 82 00 10 */ bne lbl_802F4CBC -/* 802F4CB0 002F1890 54 80 06 73 */ rlwinm. r0, r4, 0, 0x19, 0x19 -/* 802F4CB4 002F1894 41 82 00 08 */ beq lbl_802F4CBC -/* 802F4CB8 002F1898 38 60 00 01 */ li r3, 1 -lbl_802F4CBC: -/* 802F4CBC 002F189C 2C 03 00 00 */ cmpwi r3, 0 -/* 802F4CC0 002F18A0 40 82 00 0C */ bne lbl_802F4CCC -/* 802F4CC4 002F18A4 7F 83 E3 78 */ mr r3, r28 -/* 802F4CC8 002F18A8 48 07 E6 21 */ bl HSD_JObjSetMtxDirtySub -lbl_802F4CCC: -/* 802F4CCC 002F18AC 3B FF 00 01 */ addi r31, r31, 1 -/* 802F4CD0 002F18B0 2C 1F 00 04 */ cmpwi r31, 4 -/* 802F4CD4 002F18B4 3B BD 00 04 */ addi r29, r29, 4 -/* 802F4CD8 002F18B8 41 80 FF 04 */ blt lbl_802F4BDC -/* 802F4CDC 002F18BC 38 00 00 00 */ li r0, 0 -/* 802F4CE0 002F18C0 98 1E 00 0F */ stb r0, 0xf(r30) -/* 802F4CE4 002F18C4 48 00 01 BC */ b lbl_802F4EA0 -lbl_802F4CE8: -/* 802F4CE8 002F18C8 88 7E 00 0E */ lbz r3, 0xe(r30) -/* 802F4CEC 002F18CC 3C 00 43 30 */ lis r0, 0x4330 -/* 802F4CF0 002F18D0 C8 22 E0 78 */ lfd f1, ifStatus_804DDA58(r2) -/* 802F4CF4 002F18D4 90 61 00 1C */ stw r3, 0x1c(r1) -/* 802F4CF8 002F18D8 C0 42 E0 A4 */ lfs f2, ifStatus_804DDA84(r2) -/* 802F4CFC 002F18DC 90 01 00 18 */ stw r0, 0x18(r1) -/* 802F4D00 002F18E0 C8 01 00 18 */ lfd f0, 0x18(r1) -/* 802F4D04 002F18E4 EC 00 08 28 */ fsubs f0, f0, f1 -/* 802F4D08 002F18E8 EF 42 00 32 */ fmuls f26, f2, f0 -/* 802F4D0C 002F18EC FC 1A 10 40 */ fcmpo cr0, f26, f2 -/* 802F4D10 002F18F0 40 80 00 0C */ bge lbl_802F4D1C -/* 802F4D14 002F18F4 FF 40 10 90 */ fmr f26, f2 -/* 802F4D18 002F18F8 48 00 00 14 */ b lbl_802F4D2C -lbl_802F4D1C: -/* 802F4D1C 002F18FC C0 02 E0 A8 */ lfs f0, ifStatus_804DDA88(r2) -/* 802F4D20 002F1900 FC 1A 00 40 */ fcmpo cr0, f26, f0 -/* 802F4D24 002F1904 40 81 00 08 */ ble lbl_802F4D2C -/* 802F4D28 002F1908 FF 40 00 90 */ fmr f26, f0 -lbl_802F4D2C: -/* 802F4D2C 002F190C C3 82 E0 B4 */ lfs f28, ifStatus_804DDA94(r2) -/* 802F4D30 002F1910 7F DD F3 78 */ mr r29, r30 -/* 802F4D34 002F1914 C3 A2 E0 70 */ lfs f29, ifStatus_804DDA50(r2) -/* 802F4D38 002F1918 3B E0 00 00 */ li r31, 0 -/* 802F4D3C 002F191C C3 C2 E0 6C */ lfs f30, ifStatus_804DDA4C(r2) -/* 802F4D40 002F1920 C3 E2 E0 B0 */ lfs f31, ifStatus_804DDA90(r2) -lbl_802F4D44: -/* 802F4D44 002F1924 48 08 B7 E5 */ bl HSD_Randf -/* 802F4D48 002F1928 EC 01 E0 28 */ fsubs f0, f1, f28 -/* 802F4D4C 002F192C EC 1D 00 32 */ fmuls f0, f29, f0 -/* 802F4D50 002F1930 EF 7A 00 32 */ fmuls f27, f26, f0 -/* 802F4D54 002F1934 48 08 B7 D5 */ bl HSD_Randf -/* 802F4D58 002F1938 EC 01 E0 28 */ fsubs f0, f1, f28 -/* 802F4D5C 002F193C FC 1B F0 40 */ fcmpo cr0, f27, f30 -/* 802F4D60 002F1940 EC 1D 00 32 */ fmuls f0, f29, f0 -/* 802F4D64 002F1944 EF 3A 00 32 */ fmuls f25, f26, f0 -/* 802F4D68 002F1948 40 80 00 0C */ bge lbl_802F4D74 -/* 802F4D6C 002F194C EC 3B F8 28 */ fsubs f1, f27, f31 -/* 802F4D70 002F1950 48 00 00 08 */ b lbl_802F4D78 -lbl_802F4D74: -/* 802F4D74 002F1954 EC 3B F8 2A */ fadds f1, f27, f31 -lbl_802F4D78: -/* 802F4D78 002F1958 FC 19 F0 40 */ fcmpo cr0, f25, f30 -/* 802F4D7C 002F195C 40 80 00 0C */ bge lbl_802F4D88 -/* 802F4D80 002F1960 EF 39 F8 28 */ fsubs f25, f25, f31 -/* 802F4D84 002F1964 48 00 00 08 */ b lbl_802F4D8C -lbl_802F4D88: -/* 802F4D88 002F1968 EF 39 F8 2A */ fadds f25, f25, f31 -lbl_802F4D8C: -/* 802F4D8C 002F196C 83 9D 00 54 */ lwz r28, 0x54(r29) -/* 802F4D90 002F1970 C0 1D 00 14 */ lfs f0, 0x14(r29) -/* 802F4D94 002F1974 28 1C 00 00 */ cmplwi r28, 0 -/* 802F4D98 002F1978 EF 60 08 2A */ fadds f27, f0, f1 -/* 802F4D9C 002F197C 40 82 00 14 */ bne lbl_802F4DB0 -/* 802F4DA0 002F1980 38 6D A1 10 */ addi r3, r13, ifStatus_804D57B0 -/* 802F4DA4 002F1984 38 80 03 A4 */ li r4, 0x3a4 -/* 802F4DA8 002F1988 38 AD A1 18 */ addi r5, r13, ifStatus_804D57B8 -/* 802F4DAC 002F198C 48 09 34 75 */ bl __assert -lbl_802F4DB0: -/* 802F4DB0 002F1990 D3 7C 00 38 */ stfs f27, 0x38(r28) -/* 802F4DB4 002F1994 80 1C 00 14 */ lwz r0, 0x14(r28) -/* 802F4DB8 002F1998 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 802F4DBC 002F199C 40 82 00 4C */ bne lbl_802F4E08 -/* 802F4DC0 002F19A0 28 1C 00 00 */ cmplwi r28, 0 -/* 802F4DC4 002F19A4 41 82 00 44 */ beq lbl_802F4E08 -/* 802F4DC8 002F19A8 40 82 00 14 */ bne lbl_802F4DDC -/* 802F4DCC 002F19AC 38 6D A1 10 */ addi r3, r13, ifStatus_804D57B0 -/* 802F4DD0 002F19B0 38 80 02 34 */ li r4, 0x234 -/* 802F4DD4 002F19B4 38 AD A1 18 */ addi r5, r13, ifStatus_804D57B8 -/* 802F4DD8 002F19B8 48 09 34 49 */ bl __assert -lbl_802F4DDC: -/* 802F4DDC 002F19BC 80 9C 00 14 */ lwz r4, 0x14(r28) -/* 802F4DE0 002F19C0 38 60 00 00 */ li r3, 0 -/* 802F4DE4 002F19C4 54 80 02 11 */ rlwinm. r0, r4, 0, 8, 8 -/* 802F4DE8 002F19C8 40 82 00 10 */ bne lbl_802F4DF8 -/* 802F4DEC 002F19CC 54 80 06 73 */ rlwinm. r0, r4, 0, 0x19, 0x19 -/* 802F4DF0 002F19D0 41 82 00 08 */ beq lbl_802F4DF8 -/* 802F4DF4 002F19D4 38 60 00 01 */ li r3, 1 -lbl_802F4DF8: -/* 802F4DF8 002F19D8 2C 03 00 00 */ cmpwi r3, 0 -/* 802F4DFC 002F19DC 40 82 00 0C */ bne lbl_802F4E08 -/* 802F4E00 002F19E0 7F 83 E3 78 */ mr r3, r28 -/* 802F4E04 002F19E4 48 07 E4 E5 */ bl HSD_JObjSetMtxDirtySub -lbl_802F4E08: -/* 802F4E08 002F19E8 83 9D 00 54 */ lwz r28, 0x54(r29) -/* 802F4E0C 002F19EC C0 1D 00 24 */ lfs f0, 0x24(r29) -/* 802F4E10 002F19F0 28 1C 00 00 */ cmplwi r28, 0 -/* 802F4E14 002F19F4 EF 60 C8 2A */ fadds f27, f0, f25 -/* 802F4E18 002F19F8 40 82 00 14 */ bne lbl_802F4E2C -/* 802F4E1C 002F19FC 38 6D A1 10 */ addi r3, r13, ifStatus_804D57B0 -/* 802F4E20 002F1A00 38 80 03 B3 */ li r4, 0x3b3 -/* 802F4E24 002F1A04 38 AD A1 18 */ addi r5, r13, ifStatus_804D57B8 -/* 802F4E28 002F1A08 48 09 33 F9 */ bl __assert -lbl_802F4E2C: -/* 802F4E2C 002F1A0C D3 7C 00 3C */ stfs f27, 0x3c(r28) -/* 802F4E30 002F1A10 80 1C 00 14 */ lwz r0, 0x14(r28) -/* 802F4E34 002F1A14 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 802F4E38 002F1A18 40 82 00 4C */ bne lbl_802F4E84 -/* 802F4E3C 002F1A1C 28 1C 00 00 */ cmplwi r28, 0 -/* 802F4E40 002F1A20 41 82 00 44 */ beq lbl_802F4E84 -/* 802F4E44 002F1A24 40 82 00 14 */ bne lbl_802F4E58 -/* 802F4E48 002F1A28 38 6D A1 10 */ addi r3, r13, ifStatus_804D57B0 -/* 802F4E4C 002F1A2C 38 80 02 34 */ li r4, 0x234 -/* 802F4E50 002F1A30 38 AD A1 18 */ addi r5, r13, ifStatus_804D57B8 -/* 802F4E54 002F1A34 48 09 33 CD */ bl __assert -lbl_802F4E58: -/* 802F4E58 002F1A38 80 9C 00 14 */ lwz r4, 0x14(r28) -/* 802F4E5C 002F1A3C 38 60 00 00 */ li r3, 0 -/* 802F4E60 002F1A40 54 80 02 11 */ rlwinm. r0, r4, 0, 8, 8 -/* 802F4E64 002F1A44 40 82 00 10 */ bne lbl_802F4E74 -/* 802F4E68 002F1A48 54 80 06 73 */ rlwinm. r0, r4, 0, 0x19, 0x19 -/* 802F4E6C 002F1A4C 41 82 00 08 */ beq lbl_802F4E74 -/* 802F4E70 002F1A50 38 60 00 01 */ li r3, 1 -lbl_802F4E74: -/* 802F4E74 002F1A54 2C 03 00 00 */ cmpwi r3, 0 -/* 802F4E78 002F1A58 40 82 00 0C */ bne lbl_802F4E84 -/* 802F4E7C 002F1A5C 7F 83 E3 78 */ mr r3, r28 -/* 802F4E80 002F1A60 48 07 E4 69 */ bl HSD_JObjSetMtxDirtySub -lbl_802F4E84: -/* 802F4E84 002F1A64 3B FF 00 01 */ addi r31, r31, 1 -/* 802F4E88 002F1A68 2C 1F 00 04 */ cmpwi r31, 4 -/* 802F4E8C 002F1A6C 3B BD 00 04 */ addi r29, r29, 4 -/* 802F4E90 002F1A70 41 80 FE B4 */ blt lbl_802F4D44 -/* 802F4E94 002F1A74 88 7E 00 0F */ lbz r3, 0xf(r30) -/* 802F4E98 002F1A78 38 03 FF FF */ addi r0, r3, -1 -/* 802F4E9C 002F1A7C 98 1E 00 0F */ stb r0, 0xf(r30) -lbl_802F4EA0: -/* 802F4EA0 002F1A80 80 01 00 6C */ lwz r0, 0x6c(r1) -/* 802F4EA4 002F1A84 CB E1 00 60 */ lfd f31, 0x60(r1) -/* 802F4EA8 002F1A88 CB C1 00 58 */ lfd f30, 0x58(r1) -/* 802F4EAC 002F1A8C CB A1 00 50 */ lfd f29, 0x50(r1) -/* 802F4EB0 002F1A90 CB 81 00 48 */ lfd f28, 0x48(r1) -/* 802F4EB4 002F1A94 CB 61 00 40 */ lfd f27, 0x40(r1) -/* 802F4EB8 002F1A98 CB 41 00 38 */ lfd f26, 0x38(r1) -/* 802F4EBC 002F1A9C CB 21 00 30 */ lfd f25, 0x30(r1) -/* 802F4EC0 002F1AA0 83 E1 00 2C */ lwz r31, 0x2c(r1) -/* 802F4EC4 002F1AA4 83 C1 00 28 */ lwz r30, 0x28(r1) -/* 802F4EC8 002F1AA8 83 A1 00 24 */ lwz r29, 0x24(r1) -/* 802F4ECC 002F1AAC 83 81 00 20 */ lwz r28, 0x20(r1) -/* 802F4ED0 002F1AB0 38 21 00 68 */ addi r1, r1, 0x68 -/* 802F4ED4 002F1AB4 7C 08 03 A6 */ mtlr r0 -/* 802F4ED8 002F1AB8 4E 80 00 20 */ blr -} // clang-format on -#pragma pop - -#else - void ifStatus_802F4B84(void) { NOT_IMPLEMENTED; } -#endif - -extern s32 ifStatus_804D57A8; -extern unk_t ifStatus_804D57AC; -extern f64 ifStatus_804DDA60; -extern f32 ifStatus_804DDA68; -extern f32 ifStatus_804DDA6C; -extern f32 ifStatus_804DDA70; -extern s8 ifStatus_804D6D60; -extern f32 ifStatus_804DDA98; - -#ifdef MUST_MATCH - -#pragma push -asm void ifStatus_802F4EDC(void) -{ // clang-format off - nofralloc -/* 802F4EDC 002F1ABC 7C 08 02 A6 */ mflr r0 -/* 802F4EE0 002F1AC0 3C 80 80 4A */ lis r4, ifStatus_804A10C8@ha -/* 802F4EE4 002F1AC4 90 01 00 04 */ stw r0, 4(r1) -/* 802F4EE8 002F1AC8 38 00 00 06 */ li r0, 6 -/* 802F4EEC 002F1ACC 7C 09 03 A6 */ mtctr r0 -/* 802F4EF0 002F1AD0 94 21 FF 08 */ stwu r1, -0xf8(r1) -/* 802F4EF4 002F1AD4 DB E1 00 F0 */ stfd f31, 0xf0(r1) -/* 802F4EF8 002F1AD8 DB C1 00 E8 */ stfd f30, 0xe8(r1) -/* 802F4EFC 002F1ADC DB A1 00 E0 */ stfd f29, 0xe0(r1) -/* 802F4F00 002F1AE0 BE E1 00 BC */ stmw r23, 0xbc(r1) -/* 802F4F04 002F1AE4 3B 24 10 C8 */ addi r25, r4, ifStatus_804A10C8@l -/* 802F4F08 002F1AE8 38 B9 00 00 */ addi r5, r25, 0 -/* 802F4F0C 002F1AEC 38 80 00 00 */ li r4, 0 -/* 802F4F10 002F1AF0 83 C3 00 28 */ lwz r30, 0x28(r3) -lbl_802F4F14: -/* 802F4F14 002F1AF4 80 05 00 00 */ lwz r0, 0(r5) -/* 802F4F18 002F1AF8 7C 00 18 40 */ cmplw r0, r3 -/* 802F4F1C 002F1AFC 40 82 00 10 */ bne lbl_802F4F2C -/* 802F4F20 002F1B00 1C 04 00 64 */ mulli r0, r4, 0x64 -/* 802F4F24 002F1B04 7F F9 02 14 */ add r31, r25, r0 -/* 802F4F28 002F1B08 48 00 00 14 */ b lbl_802F4F3C -lbl_802F4F2C: -/* 802F4F2C 002F1B0C 38 A5 00 64 */ addi r5, r5, 0x64 -/* 802F4F30 002F1B10 38 84 00 01 */ addi r4, r4, 1 -/* 802F4F34 002F1B14 42 00 FF E0 */ bdnz lbl_802F4F14 -/* 802F4F38 002F1B18 3B E0 00 00 */ li r31, 0 -lbl_802F4F3C: -/* 802F4F3C 002F1B1C 88 1F 00 10 */ lbz r0, 0x10(r31) -/* 802F4F40 002F1B20 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f -/* 802F4F44 002F1B24 41 82 00 10 */ beq lbl_802F4F54 -/* 802F4F48 002F1B28 7F E3 FB 78 */ mr r3, r31 -/* 802F4F4C 002F1B2C 4B FF F9 D1 */ bl ifStatus_802F491C -/* 802F4F50 002F1B30 48 00 0B D8 */ b lbl_802F5B28 -lbl_802F4F54: -/* 802F4F54 002F1B34 7F C3 F3 78 */ mr r3, r30 -/* 802F4F58 002F1B38 4B D1 61 45 */ bl lb_8000B09C -/* 802F4F5C 002F1B3C 88 9F 00 10 */ lbz r4, 0x10(r31) -/* 802F4F60 002F1B40 3B A3 00 00 */ addi r29, r3, 0 -/* 802F4F64 002F1B44 54 80 E7 FF */ rlwinm. r0, r4, 0x1c, 0x1f, 0x1f -/* 802F4F68 002F1B48 41 82 02 CC */ beq lbl_802F5234 -/* 802F4F6C 002F1B4C 54 80 FF BE */ rlwinm r0, r4, 0x1f, 0x1e, 0x1f -/* 802F4F70 002F1B50 28 00 00 01 */ cmplwi r0, 1 -/* 802F4F74 002F1B54 40 82 00 0C */ bne lbl_802F4F80 -/* 802F4F78 002F1B58 2C 1D 00 00 */ cmpwi r29, 0 -/* 802F4F7C 002F1B5C 40 82 02 B8 */ bne lbl_802F5234 -lbl_802F4F80: -/* 802F4F80 002F1B60 88 1F 00 10 */ lbz r0, 0x10(r31) -/* 802F4F84 002F1B64 38 60 00 01 */ li r3, 1 -/* 802F4F88 002F1B68 50 60 0F 7C */ rlwimi r0, r3, 1, 0x1d, 0x1e -/* 802F4F8C 002F1B6C 98 1F 00 10 */ stb r0, 0x10(r31) -/* 802F4F90 002F1B70 7F C3 F3 78 */ mr r3, r30 -/* 802F4F94 002F1B74 48 07 A6 B1 */ bl HSD_JObjRemoveAnim -/* 802F4F98 002F1B78 3A F9 02 60 */ addi r23, r25, 0x260 -/* 802F4F9C 002F1B7C 80 B9 02 5C */ lwz r5, 0x25c(r25) -/* 802F4FA0 002F1B80 80 D9 02 60 */ lwz r6, 0x260(r25) -/* 802F4FA4 002F1B84 7F C3 F3 78 */ mr r3, r30 -/* 802F4FA8 002F1B88 80 F9 02 64 */ lwz r7, 0x264(r25) -/* 802F4FAC 002F1B8C 38 80 00 01 */ li r4, 1 -/* 802F4FB0 002F1B90 4B D1 70 CD */ bl lb_8000C07C -/* 802F4FB4 002F1B94 7F C3 F3 78 */ mr r3, r30 -/* 802F4FB8 002F1B98 C0 22 E0 6C */ lfs f1, ifStatus_804DDA4C(r2) -/* 802F4FBC 002F1B9C 48 07 A9 01 */ bl HSD_JObjReqAnimAll -/* 802F4FC0 002F1BA0 80 9F 00 60 */ lwz r4, 0x60(r31) -/* 802F4FC4 002F1BA4 28 04 00 00 */ cmplwi r4, 0 -/* 802F4FC8 002F1BA8 41 82 00 7C */ beq lbl_802F5044 -/* 802F4FCC 002F1BAC 80 77 00 00 */ lwz r3, 0(r23) -/* 802F4FD0 002F1BB0 80 84 00 18 */ lwz r4, 0x18(r4) -/* 802F4FD4 002F1BB4 80 63 00 00 */ lwz r3, 0(r3) -/* 802F4FD8 002F1BB8 80 84 00 08 */ lwz r4, 8(r4) -/* 802F4FDC 002F1BBC 80 63 00 00 */ lwz r3, 0(r3) -/* 802F4FE0 002F1BC0 83 04 00 08 */ lwz r24, 8(r4) -/* 802F4FE4 002F1BC4 80 83 00 04 */ lwz r4, 4(r3) -/* 802F4FE8 002F1BC8 7F 03 C3 78 */ mr r3, r24 -/* 802F4FEC 002F1BCC 80 84 00 04 */ lwz r4, 4(r4) -/* 802F4FF0 002F1BD0 80 84 00 04 */ lwz r4, 4(r4) -/* 802F4FF4 002F1BD4 80 84 00 08 */ lwz r4, 8(r4) -/* 802F4FF8 002F1BD8 80 84 00 08 */ lwz r4, 8(r4) -/* 802F4FFC 002F1BDC 48 06 97 0D */ bl HSD_TObjAddAnimAll -/* 802F5000 002F1BE0 88 7F 00 08 */ lbz r3, 8(r31) -/* 802F5004 002F1BE4 7C 63 07 74 */ extsb r3, r3 -/* 802F5008 002F1BE8 4B D3 F6 2D */ bl Player_GetMoreFlagsBit2 -/* 802F500C 002F1BEC 2C 03 00 00 */ cmpwi r3, 0 -/* 802F5010 002F1BF0 41 82 00 14 */ beq lbl_802F5024 -/* 802F5014 002F1BF4 7F 03 C3 78 */ mr r3, r24 -/* 802F5018 002F1BF8 C0 22 E0 68 */ lfs f1, ifStatus_804DDA48(r2) -/* 802F501C 002F1BFC 48 06 97 E5 */ bl HSD_TObjReqAnimAll -/* 802F5020 002F1C00 48 00 00 10 */ b lbl_802F5030 -lbl_802F5024: -/* 802F5024 002F1C04 7F 03 C3 78 */ mr r3, r24 -/* 802F5028 002F1C08 C0 22 E0 6C */ lfs f1, ifStatus_804DDA4C(r2) -/* 802F502C 002F1C0C 48 06 97 D5 */ bl HSD_TObjReqAnimAll -lbl_802F5030: -/* 802F5030 002F1C10 80 78 00 64 */ lwz r3, 0x64(r24) -/* 802F5034 002F1C14 C0 22 E0 6C */ lfs f1, ifStatus_804DDA4C(r2) -/* 802F5038 002F1C18 48 07 02 D5 */ bl HSD_AObjSetRate -/* 802F503C 002F1C1C 7F 03 C3 78 */ mr r3, r24 -/* 802F5040 002F1C20 48 06 9B 2D */ bl HSD_TObjAnim -lbl_802F5044: -/* 802F5044 002F1C24 38 7E 00 00 */ addi r3, r30, 0 -/* 802F5048 002F1C28 38 80 00 01 */ li r4, 1 -/* 802F504C 002F1C2C 38 A0 04 00 */ li r5, 0x400 -/* 802F5050 002F1C30 4B F3 A3 89 */ bl mn_8022F3D8 -/* 802F5054 002F1C34 3C 60 66 66 */ lis r3, 0x66666667@ha -/* 802F5058 002F1C38 A8 FF 00 0A */ lha r7, 0xa(r31) -/* 802F505C 002F1C3C 3B 83 66 67 */ addi r28, r3, 0x66666667@l -/* 802F5060 002F1C40 80 77 00 00 */ lwz r3, 0(r23) -/* 802F5064 002F1C44 7C 1C 38 96 */ mulhw r0, r28, r7 -/* 802F5068 002F1C48 83 5F 00 5C */ lwz r26, 0x5c(r31) -/* 802F506C 002F1C4C 80 63 00 00 */ lwz r3, 0(r3) -/* 802F5070 002F1C50 80 9A 00 18 */ lwz r4, 0x18(r26) -/* 802F5074 002F1C54 80 63 00 00 */ lwz r3, 0(r3) -/* 802F5078 002F1C58 7C 00 16 70 */ srawi r0, r0, 2 -/* 802F507C 002F1C5C 80 A4 00 08 */ lwz r5, 8(r4) -/* 802F5080 002F1C60 54 06 0F FE */ srwi r6, r0, 0x1f -/* 802F5084 002F1C64 80 83 00 08 */ lwz r4, 8(r3) -/* 802F5088 002F1C68 7C 00 32 14 */ add r0, r0, r6 -/* 802F508C 002F1C6C 80 65 00 08 */ lwz r3, 8(r5) -/* 802F5090 002F1C70 1C 00 00 0A */ mulli r0, r0, 0xa -/* 802F5094 002F1C74 80 84 00 08 */ lwz r4, 8(r4) -/* 802F5098 002F1C78 7C 00 38 50 */ subf r0, r0, r7 -/* 802F509C 002F1C7C 54 18 06 3E */ clrlwi r24, r0, 0x18 -/* 802F50A0 002F1C80 48 06 96 69 */ bl HSD_TObjAddAnimAll -/* 802F50A4 002F1C84 93 01 00 B4 */ stw r24, 0xb4(r1) -/* 802F50A8 002F1C88 3F 60 43 30 */ lis r27, 0x4330 -/* 802F50AC 002F1C8C 80 7A 00 18 */ lwz r3, 0x18(r26) -/* 802F50B0 002F1C90 93 61 00 B0 */ stw r27, 0xb0(r1) -/* 802F50B4 002F1C94 80 63 00 08 */ lwz r3, 8(r3) -/* 802F50B8 002F1C98 C8 22 E0 78 */ lfd f1, ifStatus_804DDA58(r2) -/* 802F50BC 002F1C9C C8 01 00 B0 */ lfd f0, 0xb0(r1) -/* 802F50C0 002F1CA0 C0 42 E0 70 */ lfs f2, ifStatus_804DDA50(r2) -/* 802F50C4 002F1CA4 EC 00 08 28 */ fsubs f0, f0, f1 -/* 802F50C8 002F1CA8 80 63 00 08 */ lwz r3, 8(r3) -/* 802F50CC 002F1CAC EC 22 00 32 */ fmuls f1, f2, f0 -/* 802F50D0 002F1CB0 48 06 97 31 */ bl HSD_TObjReqAnimAll -/* 802F50D4 002F1CB4 80 7A 00 18 */ lwz r3, 0x18(r26) -/* 802F50D8 002F1CB8 C0 22 E0 6C */ lfs f1, ifStatus_804DDA4C(r2) -/* 802F50DC 002F1CBC 80 63 00 08 */ lwz r3, 8(r3) -/* 802F50E0 002F1CC0 80 63 00 08 */ lwz r3, 8(r3) -/* 802F50E4 002F1CC4 80 63 00 64 */ lwz r3, 0x64(r3) -/* 802F50E8 002F1CC8 48 07 02 25 */ bl HSD_AObjSetRate -/* 802F50EC 002F1CCC 3C 60 51 EC */ lis r3, 0x51EB851F@ha -/* 802F50F0 002F1CD0 A8 FF 00 0A */ lha r7, 0xa(r31) -/* 802F50F4 002F1CD4 3B 43 85 1F */ addi r26, r3, 0x51EB851F@l -/* 802F50F8 002F1CD8 80 77 00 00 */ lwz r3, 0(r23) -/* 802F50FC 002F1CDC 7C 1A 38 96 */ mulhw r0, r26, r7 -/* 802F5100 002F1CE0 83 1F 00 58 */ lwz r24, 0x58(r31) -/* 802F5104 002F1CE4 80 63 00 00 */ lwz r3, 0(r3) -/* 802F5108 002F1CE8 80 98 00 18 */ lwz r4, 0x18(r24) -/* 802F510C 002F1CEC 80 63 00 00 */ lwz r3, 0(r3) -/* 802F5110 002F1CF0 7C 00 2E 70 */ srawi r0, r0, 5 -/* 802F5114 002F1CF4 80 A4 00 08 */ lwz r5, 8(r4) -/* 802F5118 002F1CF8 54 06 0F FE */ srwi r6, r0, 0x1f -/* 802F511C 002F1CFC 80 83 00 08 */ lwz r4, 8(r3) -/* 802F5120 002F1D00 7C 00 32 14 */ add r0, r0, r6 -/* 802F5124 002F1D04 80 65 00 08 */ lwz r3, 8(r5) -/* 802F5128 002F1D08 1C 00 00 64 */ mulli r0, r0, 0x64 -/* 802F512C 002F1D0C 80 84 00 08 */ lwz r4, 8(r4) -/* 802F5130 002F1D10 7C 00 38 50 */ subf r0, r0, r7 -/* 802F5134 002F1D14 7C 1C 00 96 */ mulhw r0, r28, r0 -/* 802F5138 002F1D18 7C 00 16 70 */ srawi r0, r0, 2 -/* 802F513C 002F1D1C 54 05 0F FE */ srwi r5, r0, 0x1f -/* 802F5140 002F1D20 7C 00 2A 14 */ add r0, r0, r5 -/* 802F5144 002F1D24 54 1C 06 3E */ clrlwi r28, r0, 0x18 -/* 802F5148 002F1D28 48 06 95 C1 */ bl HSD_TObjAddAnimAll -/* 802F514C 002F1D2C 93 81 00 AC */ stw r28, 0xac(r1) -/* 802F5150 002F1D30 80 78 00 18 */ lwz r3, 0x18(r24) -/* 802F5154 002F1D34 93 61 00 A8 */ stw r27, 0xa8(r1) -/* 802F5158 002F1D38 80 63 00 08 */ lwz r3, 8(r3) -/* 802F515C 002F1D3C C8 22 E0 78 */ lfd f1, ifStatus_804DDA58(r2) -/* 802F5160 002F1D40 C8 01 00 A8 */ lfd f0, 0xa8(r1) -/* 802F5164 002F1D44 C0 42 E0 70 */ lfs f2, ifStatus_804DDA50(r2) -/* 802F5168 002F1D48 EC 00 08 28 */ fsubs f0, f0, f1 -/* 802F516C 002F1D4C 80 63 00 08 */ lwz r3, 8(r3) -/* 802F5170 002F1D50 EC 22 00 32 */ fmuls f1, f2, f0 -/* 802F5174 002F1D54 48 06 96 8D */ bl HSD_TObjReqAnimAll -/* 802F5178 002F1D58 80 78 00 18 */ lwz r3, 0x18(r24) -/* 802F517C 002F1D5C C0 22 E0 6C */ lfs f1, ifStatus_804DDA4C(r2) -/* 802F5180 002F1D60 80 63 00 08 */ lwz r3, 8(r3) -/* 802F5184 002F1D64 80 63 00 08 */ lwz r3, 8(r3) -/* 802F5188 002F1D68 80 63 00 64 */ lwz r3, 0x64(r3) -/* 802F518C 002F1D6C 48 07 01 81 */ bl HSD_AObjSetRate -/* 802F5190 002F1D70 3C 60 10 62 */ lis r3, 0x10624DD3@ha -/* 802F5194 002F1D74 A8 FF 00 0A */ lha r7, 0xa(r31) -/* 802F5198 002F1D78 38 03 4D D3 */ addi r0, r3, 0x10624DD3@l -/* 802F519C 002F1D7C 80 77 00 00 */ lwz r3, 0(r23) -/* 802F51A0 002F1D80 7C 00 38 96 */ mulhw r0, r0, r7 -/* 802F51A4 002F1D84 83 1F 00 54 */ lwz r24, 0x54(r31) -/* 802F51A8 002F1D88 80 63 00 00 */ lwz r3, 0(r3) -/* 802F51AC 002F1D8C 80 98 00 18 */ lwz r4, 0x18(r24) -/* 802F51B0 002F1D90 80 63 00 00 */ lwz r3, 0(r3) -/* 802F51B4 002F1D94 7C 00 36 70 */ srawi r0, r0, 6 -/* 802F51B8 002F1D98 80 A4 00 08 */ lwz r5, 8(r4) -/* 802F51BC 002F1D9C 54 06 0F FE */ srwi r6, r0, 0x1f -/* 802F51C0 002F1DA0 80 83 00 08 */ lwz r4, 8(r3) -/* 802F51C4 002F1DA4 7C 00 32 14 */ add r0, r0, r6 -/* 802F51C8 002F1DA8 80 65 00 08 */ lwz r3, 8(r5) -/* 802F51CC 002F1DAC 1C 00 03 E8 */ mulli r0, r0, 0x3e8 -/* 802F51D0 002F1DB0 80 84 00 08 */ lwz r4, 8(r4) -/* 802F51D4 002F1DB4 7C 00 38 50 */ subf r0, r0, r7 -/* 802F51D8 002F1DB8 7C 1A 00 96 */ mulhw r0, r26, r0 -/* 802F51DC 002F1DBC 7C 00 2E 70 */ srawi r0, r0, 5 -/* 802F51E0 002F1DC0 54 05 0F FE */ srwi r5, r0, 0x1f -/* 802F51E4 002F1DC4 7C 00 2A 14 */ add r0, r0, r5 -/* 802F51E8 002F1DC8 54 17 06 3E */ clrlwi r23, r0, 0x18 -/* 802F51EC 002F1DCC 48 06 95 1D */ bl HSD_TObjAddAnimAll -/* 802F51F0 002F1DD0 92 E1 00 A4 */ stw r23, 0xa4(r1) -/* 802F51F4 002F1DD4 80 78 00 18 */ lwz r3, 0x18(r24) -/* 802F51F8 002F1DD8 93 61 00 A0 */ stw r27, 0xa0(r1) -/* 802F51FC 002F1DDC 80 63 00 08 */ lwz r3, 8(r3) -/* 802F5200 002F1DE0 C8 22 E0 78 */ lfd f1, ifStatus_804DDA58(r2) -/* 802F5204 002F1DE4 C8 01 00 A0 */ lfd f0, 0xa0(r1) -/* 802F5208 002F1DE8 C0 42 E0 70 */ lfs f2, ifStatus_804DDA50(r2) -/* 802F520C 002F1DEC EC 00 08 28 */ fsubs f0, f0, f1 -/* 802F5210 002F1DF0 80 63 00 08 */ lwz r3, 8(r3) -/* 802F5214 002F1DF4 EC 22 00 32 */ fmuls f1, f2, f0 -/* 802F5218 002F1DF8 48 06 95 E9 */ bl HSD_TObjReqAnimAll -/* 802F521C 002F1DFC 80 78 00 18 */ lwz r3, 0x18(r24) -/* 802F5220 002F1E00 C0 22 E0 6C */ lfs f1, ifStatus_804DDA4C(r2) -/* 802F5224 002F1E04 80 63 00 08 */ lwz r3, 8(r3) -/* 802F5228 002F1E08 80 63 00 08 */ lwz r3, 8(r3) -/* 802F522C 002F1E0C 80 63 00 64 */ lwz r3, 0x64(r3) -/* 802F5230 002F1E10 48 07 00 DD */ bl HSD_AObjSetRate -lbl_802F5234: -/* 802F5234 002F1E14 7F C3 F3 78 */ mr r3, r30 -/* 802F5238 002F1E18 48 07 B6 F1 */ bl HSD_JObjAnimAll -/* 802F523C 002F1E1C 3C 60 66 66 */ lis r3, 0x66666667@ha -/* 802F5240 002F1E20 A8 DF 00 0A */ lha r6, 0xa(r31) -/* 802F5244 002F1E24 3B 43 66 67 */ addi r26, r3, 0x66666667@l -/* 802F5248 002F1E28 83 1F 00 5C */ lwz r24, 0x5c(r31) -/* 802F524C 002F1E2C 7C 1A 30 96 */ mulhw r0, r26, r6 -/* 802F5250 002F1E30 80 78 00 18 */ lwz r3, 0x18(r24) -/* 802F5254 002F1E34 80 63 00 08 */ lwz r3, 8(r3) -/* 802F5258 002F1E38 3A F9 02 60 */ addi r23, r25, 0x260 -/* 802F525C 002F1E3C 80 63 00 08 */ lwz r3, 8(r3) -/* 802F5260 002F1E40 80 99 02 60 */ lwz r4, 0x260(r25) -/* 802F5264 002F1E44 7C 00 16 70 */ srawi r0, r0, 2 -/* 802F5268 002F1E48 54 05 0F FE */ srwi r5, r0, 0x1f -/* 802F526C 002F1E4C 80 84 00 00 */ lwz r4, 0(r4) -/* 802F5270 002F1E50 7C 00 2A 14 */ add r0, r0, r5 -/* 802F5274 002F1E54 1C 00 00 0A */ mulli r0, r0, 0xa -/* 802F5278 002F1E58 80 84 00 00 */ lwz r4, 0(r4) -/* 802F527C 002F1E5C 80 84 00 08 */ lwz r4, 8(r4) -/* 802F5280 002F1E60 7C 00 30 50 */ subf r0, r0, r6 -/* 802F5284 002F1E64 54 19 06 3E */ clrlwi r25, r0, 0x18 -/* 802F5288 002F1E68 80 84 00 08 */ lwz r4, 8(r4) -/* 802F528C 002F1E6C 48 06 94 7D */ bl HSD_TObjAddAnimAll -/* 802F5290 002F1E70 93 21 00 A4 */ stw r25, 0xa4(r1) -/* 802F5294 002F1E74 3F 80 43 30 */ lis r28, 0x4330 -/* 802F5298 002F1E78 80 78 00 18 */ lwz r3, 0x18(r24) -/* 802F529C 002F1E7C 93 81 00 A0 */ stw r28, 0xa0(r1) -/* 802F52A0 002F1E80 80 63 00 08 */ lwz r3, 8(r3) -/* 802F52A4 002F1E84 C8 22 E0 78 */ lfd f1, ifStatus_804DDA58(r2) -/* 802F52A8 002F1E88 C8 01 00 A0 */ lfd f0, 0xa0(r1) -/* 802F52AC 002F1E8C C0 42 E0 70 */ lfs f2, ifStatus_804DDA50(r2) -/* 802F52B0 002F1E90 EC 00 08 28 */ fsubs f0, f0, f1 -/* 802F52B4 002F1E94 80 63 00 08 */ lwz r3, 8(r3) -/* 802F52B8 002F1E98 EC 22 00 32 */ fmuls f1, f2, f0 -/* 802F52BC 002F1E9C 48 06 95 45 */ bl HSD_TObjReqAnimAll -/* 802F52C0 002F1EA0 80 78 00 18 */ lwz r3, 0x18(r24) -/* 802F52C4 002F1EA4 C0 22 E0 6C */ lfs f1, ifStatus_804DDA4C(r2) -/* 802F52C8 002F1EA8 80 63 00 08 */ lwz r3, 8(r3) -/* 802F52CC 002F1EAC 80 63 00 08 */ lwz r3, 8(r3) -/* 802F52D0 002F1EB0 80 63 00 64 */ lwz r3, 0x64(r3) -/* 802F52D4 002F1EB4 48 07 00 39 */ bl HSD_AObjSetRate -/* 802F52D8 002F1EB8 3C 60 51 EC */ lis r3, 0x51EB851F@ha -/* 802F52DC 002F1EBC A8 FF 00 0A */ lha r7, 0xa(r31) -/* 802F52E0 002F1EC0 3B 63 85 1F */ addi r27, r3, 0x51EB851F@l -/* 802F52E4 002F1EC4 80 77 00 00 */ lwz r3, 0(r23) -/* 802F52E8 002F1EC8 7C 1B 38 96 */ mulhw r0, r27, r7 -/* 802F52EC 002F1ECC 83 1F 00 58 */ lwz r24, 0x58(r31) -/* 802F52F0 002F1ED0 80 63 00 00 */ lwz r3, 0(r3) -/* 802F52F4 002F1ED4 80 98 00 18 */ lwz r4, 0x18(r24) -/* 802F52F8 002F1ED8 80 63 00 00 */ lwz r3, 0(r3) -/* 802F52FC 002F1EDC 7C 00 2E 70 */ srawi r0, r0, 5 -/* 802F5300 002F1EE0 80 A4 00 08 */ lwz r5, 8(r4) -/* 802F5304 002F1EE4 54 06 0F FE */ srwi r6, r0, 0x1f -/* 802F5308 002F1EE8 80 83 00 08 */ lwz r4, 8(r3) -/* 802F530C 002F1EEC 7C 00 32 14 */ add r0, r0, r6 -/* 802F5310 002F1EF0 80 65 00 08 */ lwz r3, 8(r5) -/* 802F5314 002F1EF4 1C 00 00 64 */ mulli r0, r0, 0x64 -/* 802F5318 002F1EF8 80 84 00 08 */ lwz r4, 8(r4) -/* 802F531C 002F1EFC 7C 00 38 50 */ subf r0, r0, r7 -/* 802F5320 002F1F00 7C 1A 00 96 */ mulhw r0, r26, r0 -/* 802F5324 002F1F04 7C 00 16 70 */ srawi r0, r0, 2 -/* 802F5328 002F1F08 54 05 0F FE */ srwi r5, r0, 0x1f -/* 802F532C 002F1F0C 7C 00 2A 14 */ add r0, r0, r5 -/* 802F5330 002F1F10 54 19 06 3E */ clrlwi r25, r0, 0x18 -/* 802F5334 002F1F14 48 06 93 D5 */ bl HSD_TObjAddAnimAll -/* 802F5338 002F1F18 93 21 00 AC */ stw r25, 0xac(r1) -/* 802F533C 002F1F1C 80 78 00 18 */ lwz r3, 0x18(r24) -/* 802F5340 002F1F20 93 81 00 A8 */ stw r28, 0xa8(r1) -/* 802F5344 002F1F24 80 63 00 08 */ lwz r3, 8(r3) -/* 802F5348 002F1F28 C8 22 E0 78 */ lfd f1, ifStatus_804DDA58(r2) -/* 802F534C 002F1F2C C8 01 00 A8 */ lfd f0, 0xa8(r1) -/* 802F5350 002F1F30 C0 42 E0 70 */ lfs f2, ifStatus_804DDA50(r2) -/* 802F5354 002F1F34 EC 00 08 28 */ fsubs f0, f0, f1 -/* 802F5358 002F1F38 80 63 00 08 */ lwz r3, 8(r3) -/* 802F535C 002F1F3C EC 22 00 32 */ fmuls f1, f2, f0 -/* 802F5360 002F1F40 48 06 94 A1 */ bl HSD_TObjReqAnimAll -/* 802F5364 002F1F44 80 78 00 18 */ lwz r3, 0x18(r24) -/* 802F5368 002F1F48 C0 22 E0 6C */ lfs f1, ifStatus_804DDA4C(r2) -/* 802F536C 002F1F4C 80 63 00 08 */ lwz r3, 8(r3) -/* 802F5370 002F1F50 80 63 00 08 */ lwz r3, 8(r3) -/* 802F5374 002F1F54 80 63 00 64 */ lwz r3, 0x64(r3) -/* 802F5378 002F1F58 48 06 FF 95 */ bl HSD_AObjSetRate -/* 802F537C 002F1F5C 3C 60 10 62 */ lis r3, 0x10624DD3@ha -/* 802F5380 002F1F60 A8 9F 00 0A */ lha r4, 0xa(r31) -/* 802F5384 002F1F64 38 03 4D D3 */ addi r0, r3, 0x10624DD3@l -/* 802F5388 002F1F68 7C 00 20 96 */ mulhw r0, r0, r4 -/* 802F538C 002F1F6C 7C 00 36 70 */ srawi r0, r0, 6 -/* 802F5390 002F1F70 54 03 0F FE */ srwi r3, r0, 0x1f -/* 802F5394 002F1F74 7C 00 1A 14 */ add r0, r0, r3 -/* 802F5398 002F1F78 1C 00 03 E8 */ mulli r0, r0, 0x3e8 -/* 802F539C 002F1F7C 7C 00 20 50 */ subf r0, r0, r4 -/* 802F53A0 002F1F80 7C 1B 00 96 */ mulhw r0, r27, r0 -/* 802F53A4 002F1F84 7C 00 2E 70 */ srawi r0, r0, 5 -/* 802F53A8 002F1F88 54 03 0F FE */ srwi r3, r0, 0x1f -/* 802F53AC 002F1F8C 7C 00 1A 15 */ add. r0, r0, r3 -/* 802F53B0 002F1F90 40 82 00 40 */ bne lbl_802F53F0 -/* 802F53B4 002F1F94 7C 1B 20 96 */ mulhw r0, r27, r4 -/* 802F53B8 002F1F98 7C 00 2E 70 */ srawi r0, r0, 5 -/* 802F53BC 002F1F9C 54 03 0F FE */ srwi r3, r0, 0x1f -/* 802F53C0 002F1FA0 7C 00 1A 14 */ add r0, r0, r3 -/* 802F53C4 002F1FA4 1C 00 00 64 */ mulli r0, r0, 0x64 -/* 802F53C8 002F1FA8 7C 00 20 50 */ subf r0, r0, r4 -/* 802F53CC 002F1FAC 7C 1A 00 96 */ mulhw r0, r26, r0 -/* 802F53D0 002F1FB0 7C 00 16 70 */ srawi r0, r0, 2 -/* 802F53D4 002F1FB4 54 03 0F FE */ srwi r3, r0, 0x1f -/* 802F53D8 002F1FB8 7C 00 1A 15 */ add. r0, r0, r3 -/* 802F53DC 002F1FBC 40 82 00 14 */ bne lbl_802F53F0 -/* 802F53E0 002F1FC0 80 7F 00 58 */ lwz r3, 0x58(r31) -/* 802F53E4 002F1FC4 38 80 00 10 */ li r4, 0x10 -/* 802F53E8 002F1FC8 48 07 C9 B5 */ bl HSD_JObjSetFlagsAll -/* 802F53EC 002F1FCC 48 00 00 10 */ b lbl_802F53FC -lbl_802F53F0: -/* 802F53F0 002F1FD0 80 7F 00 58 */ lwz r3, 0x58(r31) -/* 802F53F4 002F1FD4 38 80 00 10 */ li r4, 0x10 -/* 802F53F8 002F1FD8 48 07 CB A5 */ bl HSD_JObjClearFlagsAll -lbl_802F53FC: -/* 802F53FC 002F1FDC 3C 60 10 62 */ lis r3, 0x10624DD3@ha -/* 802F5400 002F1FE0 A8 FF 00 0A */ lha r7, 0xa(r31) -/* 802F5404 002F1FE4 3B 83 4D D3 */ addi r28, r3, 0x10624DD3@l -/* 802F5408 002F1FE8 80 77 00 00 */ lwz r3, 0(r23) -/* 802F540C 002F1FEC 7C 1C 38 96 */ mulhw r0, r28, r7 -/* 802F5410 002F1FF0 83 1F 00 54 */ lwz r24, 0x54(r31) -/* 802F5414 002F1FF4 80 63 00 00 */ lwz r3, 0(r3) -/* 802F5418 002F1FF8 80 98 00 18 */ lwz r4, 0x18(r24) -/* 802F541C 002F1FFC 80 63 00 00 */ lwz r3, 0(r3) -/* 802F5420 002F2000 7C 00 36 70 */ srawi r0, r0, 6 -/* 802F5424 002F2004 80 A4 00 08 */ lwz r5, 8(r4) -/* 802F5428 002F2008 54 06 0F FE */ srwi r6, r0, 0x1f -/* 802F542C 002F200C 80 83 00 08 */ lwz r4, 8(r3) -/* 802F5430 002F2010 7C 00 32 14 */ add r0, r0, r6 -/* 802F5434 002F2014 80 65 00 08 */ lwz r3, 8(r5) -/* 802F5438 002F2018 1C 00 03 E8 */ mulli r0, r0, 0x3e8 -/* 802F543C 002F201C 80 84 00 08 */ lwz r4, 8(r4) -/* 802F5440 002F2020 3C A0 51 EC */ lis r5, 0x51EB851F@ha -/* 802F5444 002F2024 7C 00 38 50 */ subf r0, r0, r7 -/* 802F5448 002F2028 3B 65 85 1F */ addi r27, r5, 0x51EB851F@l -/* 802F544C 002F202C 7C 1B 00 96 */ mulhw r0, r27, r0 -/* 802F5450 002F2030 7C 00 2E 70 */ srawi r0, r0, 5 -/* 802F5454 002F2034 54 05 0F FE */ srwi r5, r0, 0x1f -/* 802F5458 002F2038 7C 00 2A 14 */ add r0, r0, r5 -/* 802F545C 002F203C 54 17 06 3E */ clrlwi r23, r0, 0x18 -/* 802F5460 002F2040 48 06 92 A9 */ bl HSD_TObjAddAnimAll -/* 802F5464 002F2044 92 E1 00 A4 */ stw r23, 0xa4(r1) -/* 802F5468 002F2048 3C 00 43 30 */ lis r0, 0x4330 -/* 802F546C 002F204C 80 78 00 18 */ lwz r3, 0x18(r24) -/* 802F5470 002F2050 90 01 00 A0 */ stw r0, 0xa0(r1) -/* 802F5474 002F2054 80 63 00 08 */ lwz r3, 8(r3) -/* 802F5478 002F2058 C8 22 E0 78 */ lfd f1, ifStatus_804DDA58(r2) -/* 802F547C 002F205C C8 01 00 A0 */ lfd f0, 0xa0(r1) -/* 802F5480 002F2060 C0 42 E0 70 */ lfs f2, ifStatus_804DDA50(r2) -/* 802F5484 002F2064 EC 00 08 28 */ fsubs f0, f0, f1 -/* 802F5488 002F2068 80 63 00 08 */ lwz r3, 8(r3) -/* 802F548C 002F206C EC 22 00 32 */ fmuls f1, f2, f0 -/* 802F5490 002F2070 48 06 93 71 */ bl HSD_TObjReqAnimAll -/* 802F5494 002F2074 80 78 00 18 */ lwz r3, 0x18(r24) -/* 802F5498 002F2078 C0 22 E0 6C */ lfs f1, ifStatus_804DDA4C(r2) -/* 802F549C 002F207C 80 63 00 08 */ lwz r3, 8(r3) -/* 802F54A0 002F2080 80 63 00 08 */ lwz r3, 8(r3) -/* 802F54A4 002F2084 80 63 00 64 */ lwz r3, 0x64(r3) -/* 802F54A8 002F2088 48 06 FE 65 */ bl HSD_AObjSetRate -/* 802F54AC 002F208C A8 9F 00 0A */ lha r4, 0xa(r31) -/* 802F54B0 002F2090 7C 1C 20 96 */ mulhw r0, r28, r4 -/* 802F54B4 002F2094 7C 00 36 70 */ srawi r0, r0, 6 -/* 802F54B8 002F2098 54 03 0F FE */ srwi r3, r0, 0x1f -/* 802F54BC 002F209C 7C 00 1A 14 */ add r0, r0, r3 -/* 802F54C0 002F20A0 1C 00 03 E8 */ mulli r0, r0, 0x3e8 -/* 802F54C4 002F20A4 7C 00 20 50 */ subf r0, r0, r4 -/* 802F54C8 002F20A8 7C 1B 00 96 */ mulhw r0, r27, r0 -/* 802F54CC 002F20AC 7C 00 2E 70 */ srawi r0, r0, 5 -/* 802F54D0 002F20B0 54 03 0F FE */ srwi r3, r0, 0x1f -/* 802F54D4 002F20B4 7C 00 1A 15 */ add. r0, r0, r3 -/* 802F54D8 002F20B8 40 82 00 14 */ bne lbl_802F54EC -/* 802F54DC 002F20BC 80 7F 00 54 */ lwz r3, 0x54(r31) -/* 802F54E0 002F20C0 38 80 00 10 */ li r4, 0x10 -/* 802F54E4 002F20C4 48 07 C8 B9 */ bl HSD_JObjSetFlagsAll -/* 802F54E8 002F20C8 48 00 00 10 */ b lbl_802F54F8 -lbl_802F54EC: -/* 802F54EC 002F20CC 80 7F 00 54 */ lwz r3, 0x54(r31) -/* 802F54F0 002F20D0 38 80 00 10 */ li r4, 0x10 -/* 802F54F4 002F20D4 48 07 CA A9 */ bl HSD_JObjClearFlagsAll -lbl_802F54F8: -/* 802F54F8 002F20D8 A8 7F 00 0C */ lha r3, 0xc(r31) -/* 802F54FC 002F20DC A8 1F 00 0A */ lha r0, 0xa(r31) -/* 802F5500 002F20E0 7C 03 00 00 */ cmpw r3, r0 -/* 802F5504 002F20E4 41 82 03 2C */ beq lbl_802F5830 -/* 802F5508 002F20E8 88 7F 00 08 */ lbz r3, 8(r31) -/* 802F550C 002F20EC 7C 63 07 74 */ extsb r3, r3 -/* 802F5510 002F20F0 4B D3 F1 25 */ bl Player_GetMoreFlagsBit2 -/* 802F5514 002F20F4 2C 03 00 00 */ cmpwi r3, 0 -/* 802F5518 002F20F8 41 82 01 40 */ beq lbl_802F5658 -/* 802F551C 002F20FC A8 7F 00 0A */ lha r3, 0xa(r31) -/* 802F5520 002F2100 2C 03 00 64 */ cmpwi r3, 0x64 -/* 802F5524 002F2104 40 81 00 0C */ ble lbl_802F5530 -/* 802F5528 002F2108 38 60 00 64 */ li r3, 0x64 -/* 802F552C 002F210C 48 00 00 10 */ b lbl_802F553C -lbl_802F5530: -/* 802F5530 002F2110 7C 60 07 35 */ extsh. r0, r3 -/* 802F5534 002F2114 40 80 00 08 */ bge lbl_802F553C -/* 802F5538 002F2118 38 60 00 00 */ li r3, 0 -lbl_802F553C: -/* 802F553C 002F211C 7C 60 07 34 */ extsh r0, r3 -/* 802F5540 002F2120 88 ED A1 08 */ lbz r7, ifStatus_804D57A8(r13) -/* 802F5544 002F2124 6C 03 80 00 */ xoris r3, r0, 0x8000 -/* 802F5548 002F2128 88 0D A1 0C */ lbz r0, ifStatus_804D57AC(r13) -/* 802F554C 002F212C 90 61 00 A4 */ stw r3, 0xa4(r1) -/* 802F5550 002F2130 3C C0 43 30 */ lis r6, 0x4330 -/* 802F5554 002F2134 7C 07 00 50 */ subf r0, r7, r0 -/* 802F5558 002F2138 C8 82 E0 80 */ lfd f4, ifStatus_804DDA60(r2) -/* 802F555C 002F213C 90 C1 00 A0 */ stw r6, 0xa0(r1) -/* 802F5560 002F2140 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 802F5564 002F2144 C0 02 E0 8C */ lfs f0, ifStatus_804DDA6C(r2) -/* 802F5568 002F2148 C8 21 00 A0 */ lfd f1, 0xa0(r1) -/* 802F556C 002F214C 38 AD A1 08 */ addi r5, r13, ifStatus_804D57A8 -/* 802F5570 002F2150 90 01 00 AC */ stw r0, 0xac(r1) -/* 802F5574 002F2154 38 8D A1 0C */ addi r4, r13, ifStatus_804D57AC -/* 802F5578 002F2158 EC 21 20 28 */ fsubs f1, f1, f4 -/* 802F557C 002F215C 90 E1 00 B4 */ stw r7, 0xb4(r1) -/* 802F5580 002F2160 38 00 00 FF */ li r0, 0xff -/* 802F5584 002F2164 C0 A2 E0 68 */ lfs f5, ifStatus_804DDA48(r2) -/* 802F5588 002F2168 EC 61 00 24 */ fdivs f3, f1, f0 -/* 802F558C 002F216C 90 C1 00 A8 */ stw r6, 0xa8(r1) -/* 802F5590 002F2170 C8 42 E0 78 */ lfd f2, ifStatus_804DDA58(r2) -/* 802F5594 002F2174 90 C1 00 B0 */ stw r6, 0xb0(r1) -/* 802F5598 002F2178 C8 21 00 A8 */ lfd f1, 0xa8(r1) -/* 802F559C 002F217C C8 01 00 B0 */ lfd f0, 0xb0(r1) -/* 802F55A0 002F2180 EC 65 18 28 */ fsubs f3, f5, f3 -/* 802F55A4 002F2184 EC 21 20 28 */ fsubs f1, f1, f4 -/* 802F55A8 002F2188 EC 00 10 28 */ fsubs f0, f0, f2 -/* 802F55AC 002F218C EC 03 00 7A */ fmadds f0, f3, f1, f0 -/* 802F55B0 002F2190 FC 00 00 1E */ fctiwz f0, f0 -/* 802F55B4 002F2194 D8 01 00 98 */ stfd f0, 0x98(r1) -/* 802F55B8 002F2198 80 61 00 9C */ lwz r3, 0x9c(r1) -/* 802F55BC 002F219C 98 61 00 40 */ stb r3, 0x40(r1) -/* 802F55C0 002F21A0 88 E5 00 01 */ lbz r7, 1(r5) -/* 802F55C4 002F21A4 88 64 00 01 */ lbz r3, 1(r4) -/* 802F55C8 002F21A8 90 E1 00 8C */ stw r7, 0x8c(r1) -/* 802F55CC 002F21AC 7C 67 18 50 */ subf r3, r7, r3 -/* 802F55D0 002F21B0 6C 63 80 00 */ xoris r3, r3, 0x8000 -/* 802F55D4 002F21B4 90 C1 00 88 */ stw r6, 0x88(r1) -/* 802F55D8 002F21B8 90 61 00 94 */ stw r3, 0x94(r1) -/* 802F55DC 002F21BC C8 01 00 88 */ lfd f0, 0x88(r1) -/* 802F55E0 002F21C0 90 C1 00 90 */ stw r6, 0x90(r1) -/* 802F55E4 002F21C4 EC 00 10 28 */ fsubs f0, f0, f2 -/* 802F55E8 002F21C8 C8 21 00 90 */ lfd f1, 0x90(r1) -/* 802F55EC 002F21CC EC 21 20 28 */ fsubs f1, f1, f4 -/* 802F55F0 002F21D0 EC 03 00 7A */ fmadds f0, f3, f1, f0 -/* 802F55F4 002F21D4 FC 00 00 1E */ fctiwz f0, f0 -/* 802F55F8 002F21D8 D8 01 00 80 */ stfd f0, 0x80(r1) -/* 802F55FC 002F21DC 80 61 00 84 */ lwz r3, 0x84(r1) -/* 802F5600 002F21E0 98 61 00 41 */ stb r3, 0x41(r1) -/* 802F5604 002F21E4 88 A5 00 02 */ lbz r5, 2(r5) -/* 802F5608 002F21E8 88 64 00 02 */ lbz r3, 2(r4) -/* 802F560C 002F21EC 90 A1 00 74 */ stw r5, 0x74(r1) -/* 802F5610 002F21F0 7C 65 18 50 */ subf r3, r5, r3 -/* 802F5614 002F21F4 6C 63 80 00 */ xoris r3, r3, 0x8000 -/* 802F5618 002F21F8 90 C1 00 70 */ stw r6, 0x70(r1) -/* 802F561C 002F21FC 90 61 00 7C */ stw r3, 0x7c(r1) -/* 802F5620 002F2200 C8 01 00 70 */ lfd f0, 0x70(r1) -/* 802F5624 002F2204 90 C1 00 78 */ stw r6, 0x78(r1) -/* 802F5628 002F2208 EC 00 10 28 */ fsubs f0, f0, f2 -/* 802F562C 002F220C C8 21 00 78 */ lfd f1, 0x78(r1) -/* 802F5630 002F2210 EC 21 20 28 */ fsubs f1, f1, f4 -/* 802F5634 002F2214 EC 03 00 7A */ fmadds f0, f3, f1, f0 -/* 802F5638 002F2218 FC 00 00 1E */ fctiwz f0, f0 -/* 802F563C 002F221C D8 01 00 68 */ stfd f0, 0x68(r1) -/* 802F5640 002F2220 80 61 00 6C */ lwz r3, 0x6c(r1) -/* 802F5644 002F2224 98 61 00 42 */ stb r3, 0x42(r1) -/* 802F5648 002F2228 98 01 00 43 */ stb r0, 0x43(r1) -/* 802F564C 002F222C 80 01 00 40 */ lwz r0, 0x40(r1) -/* 802F5650 002F2230 90 01 00 60 */ stw r0, 0x60(r1) -/* 802F5654 002F2234 48 00 01 34 */ b lbl_802F5788 -lbl_802F5658: -/* 802F5658 002F2238 A8 7F 00 0A */ lha r3, 0xa(r31) -/* 802F565C 002F223C 2C 03 01 2C */ cmpwi r3, 0x12c -/* 802F5660 002F2240 40 81 00 0C */ ble lbl_802F566C -/* 802F5664 002F2244 38 60 01 2C */ li r3, 0x12c -/* 802F5668 002F2248 48 00 00 10 */ b lbl_802F5678 -lbl_802F566C: -/* 802F566C 002F224C 7C 60 07 35 */ extsh. r0, r3 -/* 802F5670 002F2250 40 80 00 08 */ bge lbl_802F5678 -/* 802F5674 002F2254 38 60 00 00 */ li r3, 0 -lbl_802F5678: -/* 802F5678 002F2258 7C 60 07 34 */ extsh r0, r3 -/* 802F567C 002F225C 88 ED A1 08 */ lbz r7, ifStatus_804D57A8(r13) -/* 802F5680 002F2260 6C 03 80 00 */ xoris r3, r0, 0x8000 -/* 802F5684 002F2264 88 0D A1 0C */ lbz r0, ifStatus_804D57AC(r13) -/* 802F5688 002F2268 90 61 00 6C */ stw r3, 0x6c(r1) -/* 802F568C 002F226C 3C C0 43 30 */ lis r6, 0x4330 -/* 802F5690 002F2270 7C 07 00 50 */ subf r0, r7, r0 -/* 802F5694 002F2274 C8 62 E0 80 */ lfd f3, ifStatus_804DDA60(r2) -/* 802F5698 002F2278 90 C1 00 68 */ stw r6, 0x68(r1) -/* 802F569C 002F227C 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 802F56A0 002F2280 C0 02 E0 88 */ lfs f0, ifStatus_804DDA68(r2) -/* 802F56A4 002F2284 C8 21 00 68 */ lfd f1, 0x68(r1) -/* 802F56A8 002F2288 38 AD A1 08 */ addi r5, r13, ifStatus_804D57A8 -/* 802F56AC 002F228C 90 01 00 74 */ stw r0, 0x74(r1) -/* 802F56B0 002F2290 38 8D A1 0C */ addi r4, r13, ifStatus_804D57AC -/* 802F56B4 002F2294 EC 21 18 28 */ fsubs f1, f1, f3 -/* 802F56B8 002F2298 90 E1 00 7C */ stw r7, 0x7c(r1) -/* 802F56BC 002F229C 38 00 00 FF */ li r0, 0xff -/* 802F56C0 002F22A0 C8 42 E0 78 */ lfd f2, ifStatus_804DDA58(r2) -/* 802F56C4 002F22A4 EC 81 00 24 */ fdivs f4, f1, f0 -/* 802F56C8 002F22A8 90 C1 00 70 */ stw r6, 0x70(r1) -/* 802F56CC 002F22AC 90 C1 00 78 */ stw r6, 0x78(r1) -/* 802F56D0 002F22B0 C8 21 00 70 */ lfd f1, 0x70(r1) -/* 802F56D4 002F22B4 C8 01 00 78 */ lfd f0, 0x78(r1) -/* 802F56D8 002F22B8 EC 21 18 28 */ fsubs f1, f1, f3 -/* 802F56DC 002F22BC EC 00 10 28 */ fsubs f0, f0, f2 -/* 802F56E0 002F22C0 EC 04 00 7A */ fmadds f0, f4, f1, f0 -/* 802F56E4 002F22C4 FC 00 00 1E */ fctiwz f0, f0 -/* 802F56E8 002F22C8 D8 01 00 80 */ stfd f0, 0x80(r1) -/* 802F56EC 002F22CC 80 61 00 84 */ lwz r3, 0x84(r1) -/* 802F56F0 002F22D0 98 61 00 38 */ stb r3, 0x38(r1) -/* 802F56F4 002F22D4 88 E5 00 01 */ lbz r7, 1(r5) -/* 802F56F8 002F22D8 88 64 00 01 */ lbz r3, 1(r4) -/* 802F56FC 002F22DC 90 E1 00 94 */ stw r7, 0x94(r1) -/* 802F5700 002F22E0 7C 67 18 50 */ subf r3, r7, r3 -/* 802F5704 002F22E4 6C 63 80 00 */ xoris r3, r3, 0x8000 -/* 802F5708 002F22E8 90 C1 00 90 */ stw r6, 0x90(r1) -/* 802F570C 002F22EC 90 61 00 8C */ stw r3, 0x8c(r1) -/* 802F5710 002F22F0 C8 01 00 90 */ lfd f0, 0x90(r1) -/* 802F5714 002F22F4 90 C1 00 88 */ stw r6, 0x88(r1) -/* 802F5718 002F22F8 EC 00 10 28 */ fsubs f0, f0, f2 -/* 802F571C 002F22FC C8 21 00 88 */ lfd f1, 0x88(r1) -/* 802F5720 002F2300 EC 21 18 28 */ fsubs f1, f1, f3 -/* 802F5724 002F2304 EC 04 00 7A */ fmadds f0, f4, f1, f0 -/* 802F5728 002F2308 FC 00 00 1E */ fctiwz f0, f0 -/* 802F572C 002F230C D8 01 00 98 */ stfd f0, 0x98(r1) -/* 802F5730 002F2310 80 61 00 9C */ lwz r3, 0x9c(r1) -/* 802F5734 002F2314 98 61 00 39 */ stb r3, 0x39(r1) -/* 802F5738 002F2318 88 A5 00 02 */ lbz r5, 2(r5) -/* 802F573C 002F231C 88 64 00 02 */ lbz r3, 2(r4) -/* 802F5740 002F2320 90 A1 00 AC */ stw r5, 0xac(r1) -/* 802F5744 002F2324 7C 65 18 50 */ subf r3, r5, r3 -/* 802F5748 002F2328 6C 63 80 00 */ xoris r3, r3, 0x8000 -/* 802F574C 002F232C 90 C1 00 A8 */ stw r6, 0xa8(r1) -/* 802F5750 002F2330 90 61 00 A4 */ stw r3, 0xa4(r1) -/* 802F5754 002F2334 C8 01 00 A8 */ lfd f0, 0xa8(r1) -/* 802F5758 002F2338 90 C1 00 A0 */ stw r6, 0xa0(r1) -/* 802F575C 002F233C EC 00 10 28 */ fsubs f0, f0, f2 -/* 802F5760 002F2340 C8 21 00 A0 */ lfd f1, 0xa0(r1) -/* 802F5764 002F2344 EC 21 18 28 */ fsubs f1, f1, f3 -/* 802F5768 002F2348 EC 04 00 7A */ fmadds f0, f4, f1, f0 -/* 802F576C 002F234C FC 00 00 1E */ fctiwz f0, f0 -/* 802F5770 002F2350 D8 01 00 B0 */ stfd f0, 0xb0(r1) -/* 802F5774 002F2354 80 61 00 B4 */ lwz r3, 0xb4(r1) -/* 802F5778 002F2358 98 61 00 3A */ stb r3, 0x3a(r1) -/* 802F577C 002F235C 98 01 00 3B */ stb r0, 0x3b(r1) -/* 802F5780 002F2360 80 01 00 38 */ lwz r0, 0x38(r1) -/* 802F5784 002F2364 90 01 00 60 */ stw r0, 0x60(r1) -lbl_802F5788: -/* 802F5788 002F2368 80 7F 00 54 */ lwz r3, 0x54(r31) -/* 802F578C 002F236C 88 01 00 60 */ lbz r0, 0x60(r1) -/* 802F5790 002F2370 80 63 00 18 */ lwz r3, 0x18(r3) -/* 802F5794 002F2374 80 83 00 08 */ lwz r4, 8(r3) -/* 802F5798 002F2378 80 64 00 0C */ lwz r3, 0xc(r4) -/* 802F579C 002F237C 98 03 00 04 */ stb r0, 4(r3) -/* 802F57A0 002F2380 88 A1 00 61 */ lbz r5, 0x61(r1) -/* 802F57A4 002F2384 80 64 00 0C */ lwz r3, 0xc(r4) -/* 802F57A8 002F2388 98 A3 00 05 */ stb r5, 5(r3) -/* 802F57AC 002F238C 88 C1 00 62 */ lbz r6, 0x62(r1) -/* 802F57B0 002F2390 80 64 00 0C */ lwz r3, 0xc(r4) -/* 802F57B4 002F2394 98 C3 00 06 */ stb r6, 6(r3) -/* 802F57B8 002F2398 80 7F 00 58 */ lwz r3, 0x58(r31) -/* 802F57BC 002F239C 88 01 00 60 */ lbz r0, 0x60(r1) -/* 802F57C0 002F23A0 80 63 00 18 */ lwz r3, 0x18(r3) -/* 802F57C4 002F23A4 80 83 00 08 */ lwz r4, 8(r3) -/* 802F57C8 002F23A8 80 64 00 0C */ lwz r3, 0xc(r4) -/* 802F57CC 002F23AC 98 03 00 04 */ stb r0, 4(r3) -/* 802F57D0 002F23B0 80 64 00 0C */ lwz r3, 0xc(r4) -/* 802F57D4 002F23B4 98 A3 00 05 */ stb r5, 5(r3) -/* 802F57D8 002F23B8 80 64 00 0C */ lwz r3, 0xc(r4) -/* 802F57DC 002F23BC 98 C3 00 06 */ stb r6, 6(r3) -/* 802F57E0 002F23C0 80 7F 00 5C */ lwz r3, 0x5c(r31) -/* 802F57E4 002F23C4 88 01 00 60 */ lbz r0, 0x60(r1) -/* 802F57E8 002F23C8 80 63 00 18 */ lwz r3, 0x18(r3) -/* 802F57EC 002F23CC 80 83 00 08 */ lwz r4, 8(r3) -/* 802F57F0 002F23D0 80 64 00 0C */ lwz r3, 0xc(r4) -/* 802F57F4 002F23D4 98 03 00 04 */ stb r0, 4(r3) -/* 802F57F8 002F23D8 80 64 00 0C */ lwz r3, 0xc(r4) -/* 802F57FC 002F23DC 98 A3 00 05 */ stb r5, 5(r3) -/* 802F5800 002F23E0 80 64 00 0C */ lwz r3, 0xc(r4) -/* 802F5804 002F23E4 98 C3 00 06 */ stb r6, 6(r3) -/* 802F5808 002F23E8 80 7F 00 60 */ lwz r3, 0x60(r31) -/* 802F580C 002F23EC 88 01 00 60 */ lbz r0, 0x60(r1) -/* 802F5810 002F23F0 80 63 00 18 */ lwz r3, 0x18(r3) -/* 802F5814 002F23F4 80 83 00 08 */ lwz r4, 8(r3) -/* 802F5818 002F23F8 80 64 00 0C */ lwz r3, 0xc(r4) -/* 802F581C 002F23FC 98 03 00 04 */ stb r0, 4(r3) -/* 802F5820 002F2400 80 64 00 0C */ lwz r3, 0xc(r4) -/* 802F5824 002F2404 98 A3 00 05 */ stb r5, 5(r3) -/* 802F5828 002F2408 80 64 00 0C */ lwz r3, 0xc(r4) -/* 802F582C 002F240C 98 C3 00 06 */ stb r6, 6(r3) -lbl_802F5830: -/* 802F5830 002F2410 7F C3 F3 78 */ mr r3, r30 -/* 802F5834 002F2414 4B D1 58 69 */ bl lb_8000B09C -/* 802F5838 002F2418 2C 03 00 00 */ cmpwi r3, 0 -/* 802F583C 002F241C 41 82 00 64 */ beq lbl_802F58A0 -/* 802F5840 002F2420 3A E0 00 00 */ li r23, 0 -/* 802F5844 002F2424 3B 1F 00 00 */ addi r24, r31, 0 -lbl_802F5848: -/* 802F5848 002F2428 83 38 00 54 */ lwz r25, 0x54(r24) -/* 802F584C 002F242C 28 19 00 00 */ cmplwi r25, 0 -/* 802F5850 002F2430 40 82 00 14 */ bne lbl_802F5864 -/* 802F5854 002F2434 38 6D A1 10 */ addi r3, r13, ifStatus_804D57B0 -/* 802F5858 002F2438 38 80 03 E1 */ li r4, 0x3e1 -/* 802F585C 002F243C 38 AD A1 18 */ addi r5, r13, ifStatus_804D57B8 -/* 802F5860 002F2440 48 09 29 C1 */ bl __assert -lbl_802F5864: -/* 802F5864 002F2444 C0 19 00 38 */ lfs f0, 0x38(r25) -/* 802F5868 002F2448 D0 18 00 14 */ stfs f0, 0x14(r24) -/* 802F586C 002F244C 83 38 00 54 */ lwz r25, 0x54(r24) -/* 802F5870 002F2450 28 19 00 00 */ cmplwi r25, 0 -/* 802F5874 002F2454 40 82 00 14 */ bne lbl_802F5888 -/* 802F5878 002F2458 38 6D A1 10 */ addi r3, r13, ifStatus_804D57B0 -/* 802F587C 002F245C 38 80 03 EE */ li r4, 0x3ee -/* 802F5880 002F2460 38 AD A1 18 */ addi r5, r13, ifStatus_804D57B8 -/* 802F5884 002F2464 48 09 29 9D */ bl __assert -lbl_802F5888: -/* 802F5888 002F2468 C0 19 00 3C */ lfs f0, 0x3c(r25) -/* 802F588C 002F246C 3A F7 00 01 */ addi r23, r23, 1 -/* 802F5890 002F2470 2C 17 00 04 */ cmpwi r23, 4 -/* 802F5894 002F2474 D0 18 00 24 */ stfs f0, 0x24(r24) -/* 802F5898 002F2478 3B 18 00 04 */ addi r24, r24, 4 -/* 802F589C 002F247C 41 80 FF AC */ blt lbl_802F5848 -lbl_802F58A0: -/* 802F58A0 002F2480 3C 60 66 66 */ lis r3, 0x66666667@ha -/* 802F58A4 002F2484 A8 9F 00 0A */ lha r4, 0xa(r31) -/* 802F58A8 002F2488 38 03 66 67 */ addi r0, r3, 0x66666667@l -/* 802F58AC 002F248C 7C 00 20 96 */ mulhw r0, r0, r4 -/* 802F58B0 002F2490 7C 00 16 70 */ srawi r0, r0, 2 -/* 802F58B4 002F2494 54 03 0F FE */ srwi r3, r0, 0x1f -/* 802F58B8 002F2498 7C 00 1A 14 */ add r0, r0, r3 -/* 802F58BC 002F249C 1C 00 00 0A */ mulli r0, r0, 0xa -/* 802F58C0 002F24A0 7C 00 20 50 */ subf r0, r0, r4 -/* 802F58C4 002F24A4 2C 00 00 01 */ cmpwi r0, 1 -/* 802F58C8 002F24A8 40 82 00 0C */ bne lbl_802F58D4 -/* 802F58CC 002F24AC C3 E2 E0 90 */ lfs f31, ifStatus_804DDA70(r2) -/* 802F58D0 002F24B0 48 00 00 08 */ b lbl_802F58D8 -lbl_802F58D4: -/* 802F58D4 002F24B4 C3 E2 E0 6C */ lfs f31, ifStatus_804DDA4C(r2) -lbl_802F58D8: -/* 802F58D8 002F24B8 3C 60 51 EC */ lis r3, 0x51EB851F@ha -/* 802F58DC 002F24BC 38 03 85 1F */ addi r0, r3, 0x51EB851F@l -/* 802F58E0 002F24C0 7C 00 20 96 */ mulhw r0, r0, r4 -/* 802F58E4 002F24C4 7C 00 2E 70 */ srawi r0, r0, 5 -/* 802F58E8 002F24C8 54 03 0F FE */ srwi r3, r0, 0x1f -/* 802F58EC 002F24CC 7C 00 1A 14 */ add r0, r0, r3 -/* 802F58F0 002F24D0 1C 00 00 64 */ mulli r0, r0, 0x64 -/* 802F58F4 002F24D4 3C 60 66 66 */ lis r3, 0x66666667@ha -/* 802F58F8 002F24D8 7C 00 20 50 */ subf r0, r0, r4 -/* 802F58FC 002F24DC 38 63 66 67 */ addi r3, r3, 0x66666667@l -/* 802F5900 002F24E0 7C 03 00 96 */ mulhw r0, r3, r0 -/* 802F5904 002F24E4 7C 00 16 70 */ srawi r0, r0, 2 -/* 802F5908 002F24E8 54 03 0F FE */ srwi r3, r0, 0x1f -/* 802F590C 002F24EC 7C 00 1A 14 */ add r0, r0, r3 -/* 802F5910 002F24F0 2C 00 00 01 */ cmpwi r0, 1 -/* 802F5914 002F24F4 40 82 00 0C */ bne lbl_802F5920 -/* 802F5918 002F24F8 C3 C2 E0 90 */ lfs f30, ifStatus_804DDA70(r2) -/* 802F591C 002F24FC 48 00 00 08 */ b lbl_802F5924 -lbl_802F5920: -/* 802F5920 002F2500 C3 C2 E0 6C */ lfs f30, ifStatus_804DDA4C(r2) -lbl_802F5924: -/* 802F5924 002F2504 82 FF 00 60 */ lwz r23, 0x60(r31) -/* 802F5928 002F2508 C0 1F 00 20 */ lfs f0, 0x20(r31) -/* 802F592C 002F250C 28 17 00 00 */ cmplwi r23, 0 -/* 802F5930 002F2510 EF A0 F8 28 */ fsubs f29, f0, f31 -/* 802F5934 002F2514 40 82 00 14 */ bne lbl_802F5948 -/* 802F5938 002F2518 38 6D A1 10 */ addi r3, r13, ifStatus_804D57B0 -/* 802F593C 002F251C 38 80 03 A4 */ li r4, 0x3a4 -/* 802F5940 002F2520 38 AD A1 18 */ addi r5, r13, ifStatus_804D57B8 -/* 802F5944 002F2524 48 09 28 DD */ bl __assert -lbl_802F5948: -/* 802F5948 002F2528 D3 B7 00 38 */ stfs f29, 0x38(r23) -/* 802F594C 002F252C 80 17 00 14 */ lwz r0, 0x14(r23) -/* 802F5950 002F2530 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 802F5954 002F2534 40 82 00 4C */ bne lbl_802F59A0 -/* 802F5958 002F2538 28 17 00 00 */ cmplwi r23, 0 -/* 802F595C 002F253C 41 82 00 44 */ beq lbl_802F59A0 -/* 802F5960 002F2540 40 82 00 14 */ bne lbl_802F5974 -/* 802F5964 002F2544 38 6D A1 10 */ addi r3, r13, ifStatus_804D57B0 -/* 802F5968 002F2548 38 80 02 34 */ li r4, 0x234 -/* 802F596C 002F254C 38 AD A1 18 */ addi r5, r13, ifStatus_804D57B8 -/* 802F5970 002F2550 48 09 28 B1 */ bl __assert -lbl_802F5974: -/* 802F5974 002F2554 80 97 00 14 */ lwz r4, 0x14(r23) -/* 802F5978 002F2558 38 60 00 00 */ li r3, 0 -/* 802F597C 002F255C 54 80 02 11 */ rlwinm. r0, r4, 0, 8, 8 -/* 802F5980 002F2560 40 82 00 10 */ bne lbl_802F5990 -/* 802F5984 002F2564 54 80 06 73 */ rlwinm. r0, r4, 0, 0x19, 0x19 -/* 802F5988 002F2568 41 82 00 08 */ beq lbl_802F5990 -/* 802F598C 002F256C 38 60 00 01 */ li r3, 1 -lbl_802F5990: -/* 802F5990 002F2570 2C 03 00 00 */ cmpwi r3, 0 -/* 802F5994 002F2574 40 82 00 0C */ bne lbl_802F59A0 -/* 802F5998 002F2578 7E E3 BB 78 */ mr r3, r23 -/* 802F599C 002F257C 48 07 D9 4D */ bl HSD_JObjSetMtxDirtySub -lbl_802F59A0: -/* 802F59A0 002F2580 EF FF F0 2A */ fadds f31, f31, f30 -/* 802F59A4 002F2584 82 FF 00 58 */ lwz r23, 0x58(r31) -/* 802F59A8 002F2588 C0 1F 00 18 */ lfs f0, 0x18(r31) -/* 802F59AC 002F258C 28 17 00 00 */ cmplwi r23, 0 -/* 802F59B0 002F2590 EF A0 F8 2A */ fadds f29, f0, f31 -/* 802F59B4 002F2594 40 82 00 14 */ bne lbl_802F59C8 -/* 802F59B8 002F2598 38 6D A1 10 */ addi r3, r13, ifStatus_804D57B0 -/* 802F59BC 002F259C 38 80 03 A4 */ li r4, 0x3a4 -/* 802F59C0 002F25A0 38 AD A1 18 */ addi r5, r13, ifStatus_804D57B8 -/* 802F59C4 002F25A4 48 09 28 5D */ bl __assert -lbl_802F59C8: -/* 802F59C8 002F25A8 D3 B7 00 38 */ stfs f29, 0x38(r23) -/* 802F59CC 002F25AC 80 17 00 14 */ lwz r0, 0x14(r23) -/* 802F59D0 002F25B0 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 802F59D4 002F25B4 40 82 00 4C */ bne lbl_802F5A20 -/* 802F59D8 002F25B8 28 17 00 00 */ cmplwi r23, 0 -/* 802F59DC 002F25BC 41 82 00 44 */ beq lbl_802F5A20 -/* 802F59E0 002F25C0 40 82 00 14 */ bne lbl_802F59F4 -/* 802F59E4 002F25C4 38 6D A1 10 */ addi r3, r13, ifStatus_804D57B0 -/* 802F59E8 002F25C8 38 80 02 34 */ li r4, 0x234 -/* 802F59EC 002F25CC 38 AD A1 18 */ addi r5, r13, ifStatus_804D57B8 -/* 802F59F0 002F25D0 48 09 28 31 */ bl __assert -lbl_802F59F4: -/* 802F59F4 002F25D4 80 97 00 14 */ lwz r4, 0x14(r23) -/* 802F59F8 002F25D8 38 60 00 00 */ li r3, 0 -/* 802F59FC 002F25DC 54 80 02 11 */ rlwinm. r0, r4, 0, 8, 8 -/* 802F5A00 002F25E0 40 82 00 10 */ bne lbl_802F5A10 -/* 802F5A04 002F25E4 54 80 06 73 */ rlwinm. r0, r4, 0, 0x19, 0x19 -/* 802F5A08 002F25E8 41 82 00 08 */ beq lbl_802F5A10 -/* 802F5A0C 002F25EC 38 60 00 01 */ li r3, 1 -lbl_802F5A10: -/* 802F5A10 002F25F0 2C 03 00 00 */ cmpwi r3, 0 -/* 802F5A14 002F25F4 40 82 00 0C */ bne lbl_802F5A20 -/* 802F5A18 002F25F8 7E E3 BB 78 */ mr r3, r23 -/* 802F5A1C 002F25FC 48 07 D8 CD */ bl HSD_JObjSetMtxDirtySub -lbl_802F5A20: -/* 802F5A20 002F2600 3C 60 10 62 */ lis r3, 0x10624DD3@ha -/* 802F5A24 002F2604 A8 9F 00 0A */ lha r4, 0xa(r31) -/* 802F5A28 002F2608 38 03 4D D3 */ addi r0, r3, 0x10624DD3@l -/* 802F5A2C 002F260C 7C 00 20 96 */ mulhw r0, r0, r4 -/* 802F5A30 002F2610 7C 00 36 70 */ srawi r0, r0, 6 -/* 802F5A34 002F2614 54 03 0F FE */ srwi r3, r0, 0x1f -/* 802F5A38 002F2618 7C 00 1A 14 */ add r0, r0, r3 -/* 802F5A3C 002F261C 1C 00 03 E8 */ mulli r0, r0, 0x3e8 -/* 802F5A40 002F2620 3C 60 51 EC */ lis r3, 0x51EB851F@ha -/* 802F5A44 002F2624 7C 00 20 50 */ subf r0, r0, r4 -/* 802F5A48 002F2628 38 63 85 1F */ addi r3, r3, 0x51EB851F@l -/* 802F5A4C 002F262C 7C 03 00 96 */ mulhw r0, r3, r0 -/* 802F5A50 002F2630 7C 00 2E 70 */ srawi r0, r0, 5 -/* 802F5A54 002F2634 54 03 0F FE */ srwi r3, r0, 0x1f -/* 802F5A58 002F2638 7C 00 1A 14 */ add r0, r0, r3 -/* 802F5A5C 002F263C 2C 00 00 01 */ cmpwi r0, 1 -/* 802F5A60 002F2640 40 82 00 0C */ bne lbl_802F5A6C -/* 802F5A64 002F2644 C0 02 E0 90 */ lfs f0, ifStatus_804DDA70(r2) -/* 802F5A68 002F2648 48 00 00 08 */ b lbl_802F5A70 -lbl_802F5A6C: -/* 802F5A6C 002F264C C0 02 E0 6C */ lfs f0, ifStatus_804DDA4C(r2) -lbl_802F5A70: -/* 802F5A70 002F2650 EC 3E 00 2A */ fadds f1, f30, f0 -/* 802F5A74 002F2654 82 FF 00 54 */ lwz r23, 0x54(r31) -/* 802F5A78 002F2658 C0 1F 00 14 */ lfs f0, 0x14(r31) -/* 802F5A7C 002F265C 28 17 00 00 */ cmplwi r23, 0 -/* 802F5A80 002F2660 EF FF 08 2A */ fadds f31, f31, f1 -/* 802F5A84 002F2664 EF A0 F8 2A */ fadds f29, f0, f31 -/* 802F5A88 002F2668 40 82 00 14 */ bne lbl_802F5A9C -/* 802F5A8C 002F266C 38 6D A1 10 */ addi r3, r13, ifStatus_804D57B0 -/* 802F5A90 002F2670 38 80 03 A4 */ li r4, 0x3a4 -/* 802F5A94 002F2674 38 AD A1 18 */ addi r5, r13, ifStatus_804D57B8 -/* 802F5A98 002F2678 48 09 27 89 */ bl __assert -lbl_802F5A9C: -/* 802F5A9C 002F267C D3 B7 00 38 */ stfs f29, 0x38(r23) -/* 802F5AA0 002F2680 80 17 00 14 */ lwz r0, 0x14(r23) -/* 802F5AA4 002F2684 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 802F5AA8 002F2688 40 82 00 4C */ bne lbl_802F5AF4 -/* 802F5AAC 002F268C 28 17 00 00 */ cmplwi r23, 0 -/* 802F5AB0 002F2690 41 82 00 44 */ beq lbl_802F5AF4 -/* 802F5AB4 002F2694 40 82 00 14 */ bne lbl_802F5AC8 -/* 802F5AB8 002F2698 38 6D A1 10 */ addi r3, r13, ifStatus_804D57B0 -/* 802F5ABC 002F269C 38 80 02 34 */ li r4, 0x234 -/* 802F5AC0 002F26A0 38 AD A1 18 */ addi r5, r13, ifStatus_804D57B8 -/* 802F5AC4 002F26A4 48 09 27 5D */ bl __assert -lbl_802F5AC8: -/* 802F5AC8 002F26A8 80 97 00 14 */ lwz r4, 0x14(r23) -/* 802F5ACC 002F26AC 38 60 00 00 */ li r3, 0 -/* 802F5AD0 002F26B0 54 80 02 11 */ rlwinm. r0, r4, 0, 8, 8 -/* 802F5AD4 002F26B4 40 82 00 10 */ bne lbl_802F5AE4 -/* 802F5AD8 002F26B8 54 80 06 73 */ rlwinm. r0, r4, 0, 0x19, 0x19 -/* 802F5ADC 002F26BC 41 82 00 08 */ beq lbl_802F5AE4 -/* 802F5AE0 002F26C0 38 60 00 01 */ li r3, 1 -lbl_802F5AE4: -/* 802F5AE4 002F26C4 2C 03 00 00 */ cmpwi r3, 0 -/* 802F5AE8 002F26C8 40 82 00 0C */ bne lbl_802F5AF4 -/* 802F5AEC 002F26CC 7E E3 BB 78 */ mr r3, r23 -/* 802F5AF0 002F26D0 48 07 D7 F9 */ bl HSD_JObjSetMtxDirtySub -lbl_802F5AF4: -/* 802F5AF4 002F26D4 88 1F 00 10 */ lbz r0, 0x10(r31) -/* 802F5AF8 002F26D8 54 00 DF FF */ rlwinm. r0, r0, 0x1b, 0x1f, 0x1f -/* 802F5AFC 002F26DC 41 82 00 0C */ beq lbl_802F5B08 -/* 802F5B00 002F26E0 38 00 00 0A */ li r0, 0xa -/* 802F5B04 002F26E4 98 1F 00 0F */ stb r0, 0xf(r31) -lbl_802F5B08: -/* 802F5B08 002F26E8 38 7F 00 00 */ addi r3, r31, 0 -/* 802F5B0C 002F26EC 38 9D 00 00 */ addi r4, r29, 0 -/* 802F5B10 002F26F0 4B FF F0 75 */ bl ifStatus_802F4B84 -/* 802F5B14 002F26F4 88 0D B6 C0 */ lbz r0, ifStatus_804D6D60(r13) -/* 802F5B18 002F26F8 28 00 00 05 */ cmplwi r0, 5 -/* 802F5B1C 002F26FC 41 80 00 0C */ blt lbl_802F5B28 -/* 802F5B20 002F2700 C0 02 E0 B8 */ lfs f0, ifStatus_804DDA98(r2) -/* 802F5B24 002F2704 D0 1E 00 2C */ stfs f0, 0x2c(r30) -lbl_802F5B28: -/* 802F5B28 002F2708 BA E1 00 BC */ lmw r23, 0xbc(r1) -/* 802F5B2C 002F270C 80 01 00 FC */ lwz r0, 0xfc(r1) -/* 802F5B30 002F2710 CB E1 00 F0 */ lfd f31, 0xf0(r1) -/* 802F5B34 002F2714 CB C1 00 E8 */ lfd f30, 0xe8(r1) -/* 802F5B38 002F2718 CB A1 00 E0 */ lfd f29, 0xe0(r1) -/* 802F5B3C 002F271C 38 21 00 F8 */ addi r1, r1, 0xf8 -/* 802F5B40 002F2720 7C 08 03 A6 */ mtlr r0 -/* 802F5B44 002F2724 4E 80 00 20 */ blr -} // clang-format on -#pragma pop - -#else - void ifStatus_802F4EDC(void) { NOT_IMPLEMENTED; } -#endif - -extern char* ifStatus_803F95C0; - -#ifdef MUST_MATCH - -#pragma push -asm void ifStatus_802F5B48(void) -{ // clang-format off - nofralloc -/* 802F5B48 002F2728 7C 08 02 A6 */ mflr r0 -/* 802F5B4C 002F272C 3C 80 80 4A */ lis r4, ifStatus_804A10C8@ha -/* 802F5B50 002F2730 90 01 00 04 */ stw r0, 4(r1) -/* 802F5B54 002F2734 38 00 00 06 */ li r0, 6 -/* 802F5B58 002F2738 38 A4 10 C8 */ addi r5, r4, ifStatus_804A10C8@l -/* 802F5B5C 002F273C 7C 09 03 A6 */ mtctr r0 -/* 802F5B60 002F2740 94 21 FF E8 */ stwu r1, -0x18(r1) -/* 802F5B64 002F2744 38 80 00 00 */ li r4, 0 -/* 802F5B68 002F2748 93 E1 00 14 */ stw r31, 0x14(r1) -lbl_802F5B6C: -/* 802F5B6C 002F274C 80 05 00 00 */ lwz r0, 0(r5) -/* 802F5B70 002F2750 7C 00 18 40 */ cmplw r0, r3 -/* 802F5B74 002F2754 40 82 00 18 */ bne lbl_802F5B8C -/* 802F5B78 002F2758 1C 84 00 64 */ mulli r4, r4, 0x64 -/* 802F5B7C 002F275C 3C 60 80 4A */ lis r3, ifStatus_804A10C8@ha -/* 802F5B80 002F2760 38 03 10 C8 */ addi r0, r3, ifStatus_804A10C8@l -/* 802F5B84 002F2764 7F E0 22 14 */ add r31, r0, r4 -/* 802F5B88 002F2768 48 00 00 14 */ b lbl_802F5B9C -lbl_802F5B8C: -/* 802F5B8C 002F276C 38 A5 00 64 */ addi r5, r5, 0x64 -/* 802F5B90 002F2770 38 84 00 01 */ addi r4, r4, 1 -/* 802F5B94 002F2774 42 00 FF D8 */ bdnz lbl_802F5B6C -/* 802F5B98 002F2778 3B E0 00 00 */ li r31, 0 -lbl_802F5B9C: -/* 802F5B9C 002F277C 88 7F 00 09 */ lbz r3, 9(r31) -/* 802F5BA0 002F2780 28 03 00 00 */ cmplwi r3, 0 -/* 802F5BA4 002F2784 41 82 00 24 */ beq lbl_802F5BC8 -/* 802F5BA8 002F2788 38 63 00 01 */ addi r3, r3, 1 -/* 802F5BAC 002F278C 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 802F5BB0 002F2790 98 7F 00 09 */ stb r3, 9(r31) -/* 802F5BB4 002F2794 28 00 00 C8 */ cmplwi r0, 0xc8 -/* 802F5BB8 002F2798 40 81 00 10 */ ble lbl_802F5BC8 -/* 802F5BBC 002F279C 88 7F 00 08 */ lbz r3, 8(r31) -/* 802F5BC0 002F27A0 48 00 0B C9 */ bl ifStatus_802F6788 -/* 802F5BC4 002F27A4 48 00 02 08 */ b lbl_802F5DCC -lbl_802F5BC8: -/* 802F5BC8 002F27A8 88 7F 00 08 */ lbz r3, 8(r31) -/* 802F5BCC 002F27AC 7C 63 07 74 */ extsb r3, r3 -/* 802F5BD0 002F27B0 4B D3 E5 41 */ bl Player_GetEntity -/* 802F5BD4 002F27B4 28 03 00 00 */ cmplwi r3, 0 -/* 802F5BD8 002F27B8 41 82 01 F4 */ beq lbl_802F5DCC -/* 802F5BDC 002F27BC A8 1F 00 0A */ lha r0, 0xa(r31) -/* 802F5BE0 002F27C0 B0 1F 00 0C */ sth r0, 0xc(r31) -/* 802F5BE4 002F27C4 88 7F 00 08 */ lbz r3, 8(r31) -/* 802F5BE8 002F27C8 7C 63 07 74 */ extsb r3, r3 -/* 802F5BEC 002F27CC 4B D3 EA 49 */ bl Player_GetMoreFlagsBit2 -/* 802F5BF0 002F27D0 2C 03 00 00 */ cmpwi r3, 0 -/* 802F5BF4 002F27D4 41 82 01 0C */ beq lbl_802F5D00 -/* 802F5BF8 002F27D8 88 7F 00 08 */ lbz r3, 8(r31) -/* 802F5BFC 002F27DC 7C 63 07 74 */ extsb r3, r3 -/* 802F5C00 002F27E0 4B D3 E9 A5 */ bl Player_GetRemainingHP -/* 802F5C04 002F27E4 7C 60 07 34 */ extsh r0, r3 -/* 802F5C08 002F27E8 B0 1F 00 0A */ sth r0, 0xa(r31) -/* 802F5C0C 002F27EC A8 1F 00 0A */ lha r0, 0xa(r31) -/* 802F5C10 002F27F0 2C 00 03 E7 */ cmpwi r0, 0x3e7 -/* 802F5C14 002F27F4 40 81 00 10 */ ble lbl_802F5C24 -/* 802F5C18 002F27F8 38 00 03 E7 */ li r0, 0x3e7 -/* 802F5C1C 002F27FC B0 1F 00 0A */ sth r0, 0xa(r31) -/* 802F5C20 002F2800 48 00 00 14 */ b lbl_802F5C34 -lbl_802F5C24: -/* 802F5C24 002F2804 7C 00 07 35 */ extsh. r0, r0 -/* 802F5C28 002F2808 40 80 00 0C */ bge lbl_802F5C34 -/* 802F5C2C 002F280C 38 00 00 00 */ li r0, 0 -/* 802F5C30 002F2810 B0 1F 00 0A */ sth r0, 0xa(r31) -lbl_802F5C34: -/* 802F5C34 002F2814 A8 7F 00 0C */ lha r3, 0xc(r31) -/* 802F5C38 002F2818 2C 03 FF FF */ cmpwi r3, -1 -/* 802F5C3C 002F281C 41 82 00 3C */ beq lbl_802F5C78 -/* 802F5C40 002F2820 A8 1F 00 0A */ lha r0, 0xa(r31) -/* 802F5C44 002F2824 7C 00 18 00 */ cmpw r0, r3 -/* 802F5C48 002F2828 40 80 00 30 */ bge lbl_802F5C78 -/* 802F5C4C 002F282C 88 1F 00 10 */ lbz r0, 0x10(r31) -/* 802F5C50 002F2830 38 60 00 01 */ li r3, 1 -/* 802F5C54 002F2834 50 60 2E B4 */ rlwimi r0, r3, 5, 0x1a, 0x1a -/* 802F5C58 002F2838 98 1F 00 10 */ stb r0, 0x10(r31) -/* 802F5C5C 002F283C A8 7F 00 0A */ lha r3, 0xa(r31) -/* 802F5C60 002F2840 A8 1F 00 0C */ lha r0, 0xc(r31) -/* 802F5C64 002F2844 7C 03 00 51 */ subf. r0, r3, r0 -/* 802F5C68 002F2848 40 80 00 08 */ bge lbl_802F5C70 -/* 802F5C6C 002F284C 7C 00 00 D0 */ neg r0, r0 -lbl_802F5C70: -/* 802F5C70 002F2850 98 1F 00 0E */ stb r0, 0xe(r31) -/* 802F5C74 002F2854 48 00 00 14 */ b lbl_802F5C88 -lbl_802F5C78: -/* 802F5C78 002F2858 88 1F 00 10 */ lbz r0, 0x10(r31) -/* 802F5C7C 002F285C 38 60 00 00 */ li r3, 0 -/* 802F5C80 002F2860 50 60 2E B4 */ rlwimi r0, r3, 5, 0x1a, 0x1a -/* 802F5C84 002F2864 98 1F 00 10 */ stb r0, 0x10(r31) -lbl_802F5C88: -/* 802F5C88 002F2868 A8 7F 00 0C */ lha r3, 0xc(r31) -/* 802F5C8C 002F286C 2C 03 FF FF */ cmpwi r3, -1 -/* 802F5C90 002F2870 41 82 00 24 */ beq lbl_802F5CB4 -/* 802F5C94 002F2874 A8 1F 00 0A */ lha r0, 0xa(r31) -/* 802F5C98 002F2878 7C 00 18 00 */ cmpw r0, r3 -/* 802F5C9C 002F287C 40 81 00 18 */ ble lbl_802F5CB4 -/* 802F5CA0 002F2880 88 1F 00 10 */ lbz r0, 0x10(r31) -/* 802F5CA4 002F2884 38 60 00 01 */ li r3, 1 -/* 802F5CA8 002F2888 50 60 26 F6 */ rlwimi r0, r3, 4, 0x1b, 0x1b -/* 802F5CAC 002F288C 98 1F 00 10 */ stb r0, 0x10(r31) -/* 802F5CB0 002F2890 48 00 00 14 */ b lbl_802F5CC4 -lbl_802F5CB4: -/* 802F5CB4 002F2894 88 1F 00 10 */ lbz r0, 0x10(r31) -/* 802F5CB8 002F2898 38 60 00 00 */ li r3, 0 -/* 802F5CBC 002F289C 50 60 26 F6 */ rlwimi r0, r3, 4, 0x1b, 0x1b -/* 802F5CC0 002F28A0 98 1F 00 10 */ stb r0, 0x10(r31) -lbl_802F5CC4: -/* 802F5CC4 002F28A4 A8 1F 00 0C */ lha r0, 0xc(r31) -/* 802F5CC8 002F28A8 2C 00 00 00 */ cmpwi r0, 0 -/* 802F5CCC 002F28AC 40 82 01 00 */ bne lbl_802F5DCC -/* 802F5CD0 002F28B0 4B E7 51 75 */ bl gm_8016AE44 -/* 802F5CD4 002F28B4 88 BF 00 08 */ lbz r5, 8(r31) -/* 802F5CD8 002F28B8 7C A0 07 74 */ extsb r0, r5 -/* 802F5CDC 002F28BC 1C 80 00 0E */ mulli r4, r0, 0xe -/* 802F5CE0 002F28C0 38 04 00 3C */ addi r0, r4, 0x3c -/* 802F5CE4 002F28C4 7C 03 00 AE */ lbzx r0, r3, r0 -/* 802F5CE8 002F28C8 54 00 F7 FF */ rlwinm. r0, r0, 0x1e, 0x1f, 0x1f -/* 802F5CEC 002F28CC 41 82 00 E0 */ beq lbl_802F5DCC -/* 802F5CF0 002F28D0 38 65 00 00 */ addi r3, r5, 0 -/* 802F5CF4 002F28D4 7C 63 07 74 */ extsb r3, r3 -/* 802F5CF8 002F28D8 48 00 0C 51 */ bl ifStatus_802F6948 -/* 802F5CFC 002F28DC 48 00 00 D0 */ b lbl_802F5DCC -lbl_802F5D00: -/* 802F5D00 002F28E0 88 7F 00 08 */ lbz r3, 8(r31) -/* 802F5D04 002F28E4 7C 63 07 74 */ extsb r3, r3 -/* 802F5D08 002F28E8 4B D3 E5 AD */ bl Player_GetDamage -/* 802F5D0C 002F28EC 7C 60 07 34 */ extsh r0, r3 -/* 802F5D10 002F28F0 B0 1F 00 0A */ sth r0, 0xa(r31) -/* 802F5D14 002F28F4 A8 1F 00 0A */ lha r0, 0xa(r31) -/* 802F5D18 002F28F8 2C 00 03 E7 */ cmpwi r0, 0x3e7 -/* 802F5D1C 002F28FC 40 81 00 10 */ ble lbl_802F5D2C -/* 802F5D20 002F2900 38 00 03 E7 */ li r0, 0x3e7 -/* 802F5D24 002F2904 B0 1F 00 0A */ sth r0, 0xa(r31) -/* 802F5D28 002F2908 48 00 00 14 */ b lbl_802F5D3C -lbl_802F5D2C: -/* 802F5D2C 002F290C 7C 00 07 35 */ extsh. r0, r0 -/* 802F5D30 002F2910 40 80 00 0C */ bge lbl_802F5D3C -/* 802F5D34 002F2914 38 00 00 00 */ li r0, 0 -/* 802F5D38 002F2918 B0 1F 00 0A */ sth r0, 0xa(r31) -lbl_802F5D3C: -/* 802F5D3C 002F291C A8 7F 00 0C */ lha r3, 0xc(r31) -/* 802F5D40 002F2920 2C 03 FF FF */ cmpwi r3, -1 -/* 802F5D44 002F2924 41 82 00 24 */ beq lbl_802F5D68 -/* 802F5D48 002F2928 A8 1F 00 0A */ lha r0, 0xa(r31) -/* 802F5D4C 002F292C 7C 00 18 00 */ cmpw r0, r3 -/* 802F5D50 002F2930 40 80 00 18 */ bge lbl_802F5D68 -/* 802F5D54 002F2934 88 1F 00 10 */ lbz r0, 0x10(r31) -/* 802F5D58 002F2938 38 60 00 01 */ li r3, 1 -/* 802F5D5C 002F293C 50 60 26 F6 */ rlwimi r0, r3, 4, 0x1b, 0x1b -/* 802F5D60 002F2940 98 1F 00 10 */ stb r0, 0x10(r31) -/* 802F5D64 002F2944 48 00 00 14 */ b lbl_802F5D78 -lbl_802F5D68: -/* 802F5D68 002F2948 88 1F 00 10 */ lbz r0, 0x10(r31) -/* 802F5D6C 002F294C 38 60 00 00 */ li r3, 0 -/* 802F5D70 002F2950 50 60 26 F6 */ rlwimi r0, r3, 4, 0x1b, 0x1b -/* 802F5D74 002F2954 98 1F 00 10 */ stb r0, 0x10(r31) -lbl_802F5D78: -/* 802F5D78 002F2958 A8 7F 00 0C */ lha r3, 0xc(r31) -/* 802F5D7C 002F295C 2C 03 FF FF */ cmpwi r3, -1 -/* 802F5D80 002F2960 41 82 00 3C */ beq lbl_802F5DBC -/* 802F5D84 002F2964 A8 1F 00 0A */ lha r0, 0xa(r31) -/* 802F5D88 002F2968 7C 00 18 00 */ cmpw r0, r3 -/* 802F5D8C 002F296C 40 81 00 30 */ ble lbl_802F5DBC -/* 802F5D90 002F2970 88 1F 00 10 */ lbz r0, 0x10(r31) -/* 802F5D94 002F2974 38 60 00 01 */ li r3, 1 -/* 802F5D98 002F2978 50 60 2E B4 */ rlwimi r0, r3, 5, 0x1a, 0x1a -/* 802F5D9C 002F297C 98 1F 00 10 */ stb r0, 0x10(r31) -/* 802F5DA0 002F2980 A8 7F 00 0A */ lha r3, 0xa(r31) -/* 802F5DA4 002F2984 A8 1F 00 0C */ lha r0, 0xc(r31) -/* 802F5DA8 002F2988 7C 03 00 51 */ subf. r0, r3, r0 -/* 802F5DAC 002F298C 40 80 00 08 */ bge lbl_802F5DB4 -/* 802F5DB0 002F2990 7C 00 00 D0 */ neg r0, r0 -lbl_802F5DB4: -/* 802F5DB4 002F2994 98 1F 00 0E */ stb r0, 0xe(r31) -/* 802F5DB8 002F2998 48 00 00 14 */ b lbl_802F5DCC -lbl_802F5DBC: -/* 802F5DBC 002F299C 88 1F 00 10 */ lbz r0, 0x10(r31) -/* 802F5DC0 002F29A0 38 60 00 00 */ li r3, 0 -/* 802F5DC4 002F29A4 50 60 2E B4 */ rlwimi r0, r3, 5, 0x1a, 0x1a -/* 802F5DC8 002F29A8 98 1F 00 10 */ stb r0, 0x10(r31) -lbl_802F5DCC: -/* 802F5DCC 002F29AC 80 01 00 1C */ lwz r0, 0x1c(r1) -/* 802F5DD0 002F29B0 83 E1 00 14 */ lwz r31, 0x14(r1) -/* 802F5DD4 002F29B4 38 21 00 18 */ addi r1, r1, 0x18 -/* 802F5DD8 002F29B8 7C 08 03 A6 */ mtlr r0 -/* 802F5DDC 002F29BC 4E 80 00 20 */ blr -} // clang-format on -#pragma pop - -#else - void ifStatus_802F5B48(void) { NOT_IMPLEMENTED; } -#endif - inline HudValue* getPlayerByHUDParent(HSD_GObj* parent) { s32 var_ctr; for (var_ctr = 0; var_ctr < 6; var_ctr++) { - if (ifStatus_804A10C8.players[var_ctr].HUD_parent_entity == parent) { - return &ifStatus_804A10C8.players[var_ctr]; + if (ifStatus_HudInfo.players[var_ctr].HUD_parent_entity == parent) { + return &ifStatus_HudInfo.players[var_ctr]; } } return NULL; @@ -1585,314 +61,16 @@ void ifStatus_802F5DE0(HSD_GObj* player, s32 arg1) } } -#ifdef MUST_MATCH - -#pragma push -asm void ifStatus_802F5E50(void) -{ // clang-format off - nofralloc -/* 802F5E50 002F2A30 7C 08 02 A6 */ mflr r0 -/* 802F5E54 002F2A34 3C A0 80 4A */ lis r5, ifStatus_804A10C8@ha -/* 802F5E58 002F2A38 90 01 00 04 */ stw r0, 4(r1) -/* 802F5E5C 002F2A3C 38 00 00 06 */ li r0, 6 -/* 802F5E60 002F2A40 38 C5 10 C8 */ addi r6, r5, ifStatus_804A10C8@l -/* 802F5E64 002F2A44 7C 09 03 A6 */ mtctr r0 -/* 802F5E68 002F2A48 94 21 FF F8 */ stwu r1, -8(r1) -/* 802F5E6C 002F2A4C 38 A0 00 00 */ li r5, 0 -lbl_802F5E70: -/* 802F5E70 002F2A50 80 06 00 04 */ lwz r0, 4(r6) -/* 802F5E74 002F2A54 7C 00 18 40 */ cmplw r0, r3 -/* 802F5E78 002F2A58 40 82 00 18 */ bne lbl_802F5E90 -/* 802F5E7C 002F2A5C 1C C5 00 64 */ mulli r6, r5, 0x64 -/* 802F5E80 002F2A60 3C A0 80 4A */ lis r5, ifStatus_804A10C8@ha -/* 802F5E84 002F2A64 38 05 10 C8 */ addi r0, r5, ifStatus_804A10C8@l -/* 802F5E88 002F2A68 7C A0 32 14 */ add r5, r0, r6 -/* 802F5E8C 002F2A6C 48 00 00 14 */ b lbl_802F5EA0 -lbl_802F5E90: -/* 802F5E90 002F2A70 38 C6 00 64 */ addi r6, r6, 0x64 -/* 802F5E94 002F2A74 38 A5 00 01 */ addi r5, r5, 1 -/* 802F5E98 002F2A78 42 00 FF D8 */ bdnz lbl_802F5E70 -/* 802F5E9C 002F2A7C 38 A0 00 00 */ li r5, 0 -lbl_802F5EA0: -/* 802F5EA0 002F2A80 88 05 00 10 */ lbz r0, 0x10(r5) -/* 802F5EA4 002F2A84 54 00 EF FF */ rlwinm. r0, r0, 0x1d, 0x1f, 0x1f -/* 802F5EA8 002F2A88 40 82 00 08 */ bne lbl_802F5EB0 -/* 802F5EAC 002F2A8C 48 09 B1 C5 */ bl HSD_GObj_80391070 -lbl_802F5EB0: -/* 802F5EB0 002F2A90 80 01 00 0C */ lwz r0, 0xc(r1) -/* 802F5EB4 002F2A94 38 21 00 08 */ addi r1, r1, 8 -/* 802F5EB8 002F2A98 7C 08 03 A6 */ mtlr r0 -/* 802F5EBC 002F2A9C 4E 80 00 20 */ blr -} // clang-format on -#pragma pop - -#else - void ifStatus_802F5E50(void) { NOT_IMPLEMENTED; } -#endif - -#ifdef MUST_MATCH - -#pragma push -asm void ifStatus_802F5EC0(void) -{ // clang-format off - nofralloc -/* 802F5EC0 002F2AA0 7C 08 02 A6 */ mflr r0 -/* 802F5EC4 002F2AA4 90 01 00 04 */ stw r0, 4(r1) -/* 802F5EC8 002F2AA8 94 21 FF B0 */ stwu r1, -0x50(r1) -/* 802F5ECC 002F2AAC BF 41 00 38 */ stmw r26, 0x38(r1) -/* 802F5ED0 002F2AB0 7C 7C 1B 78 */ mr r28, r3 -/* 802F5ED4 002F2AB4 3B A4 00 00 */ addi r29, r4, 0 -/* 802F5ED8 002F2AB8 80 A3 00 00 */ lwz r5, 0(r3) -/* 802F5EDC 002F2ABC 3C 60 80 4A */ lis r3, ifStatus_804A10C8@ha -/* 802F5EE0 002F2AC0 3B 63 10 C8 */ addi r27, r3, ifStatus_804A10C8@l -/* 802F5EE4 002F2AC4 28 05 00 00 */ cmplwi r5, 0 -/* 802F5EE8 002F2AC8 40 82 00 80 */ bne lbl_802F5F68 -/* 802F5EEC 002F2ACC 38 60 00 0E */ li r3, 0xe -/* 802F5EF0 002F2AD0 38 80 00 0F */ li r4, 0xf -/* 802F5EF4 002F2AD4 38 A0 00 00 */ li r5, 0 -/* 802F5EF8 002F2AD8 48 09 A2 F9 */ bl GObj_Create -/* 802F5EFC 002F2ADC 7C 60 1B 78 */ mr r0, r3 -/* 802F5F00 002F2AE0 80 7B 02 58 */ lwz r3, 0x258(r27) -/* 802F5F04 002F2AE4 7C 1F 03 78 */ mr r31, r0 -/* 802F5F08 002F2AE8 48 07 AF 3D */ bl HSD_JObjLoadJoint -/* 802F5F0C 002F2AEC 3B C3 00 00 */ addi r30, r3, 0 -/* 802F5F10 002F2AF0 88 8D C1 A9 */ lbz r4, HSD_GObj_804D7849(r13) -/* 802F5F14 002F2AF4 38 7F 00 00 */ addi r3, r31, 0 -/* 802F5F18 002F2AF8 38 BE 00 00 */ addi r5, r30, 0 -/* 802F5F1C 002F2AFC 48 09 AB 55 */ bl HSD_GObjObjet_80390A70 -/* 802F5F20 002F2B00 3C 60 80 2F */ lis r3, ifStatus_802F5DE0@ha -/* 802F5F24 002F2B04 38 83 5D E0 */ addi r4, r3, ifStatus_802F5DE0@l -/* 802F5F28 002F2B08 38 7F 00 00 */ addi r3, r31, 0 -/* 802F5F2C 002F2B0C 38 A0 00 0B */ li r5, 0xb -/* 802F5F30 002F2B10 38 C0 00 00 */ li r6, 0 -/* 802F5F34 002F2B14 48 09 A7 69 */ bl GObj_SetupGXLink -/* 802F5F38 002F2B18 3C 60 80 2F */ lis r3, ifStatus_802F5B48@ha -/* 802F5F3C 002F2B1C 38 83 5B 48 */ addi r4, r3, ifStatus_802F5B48@l -/* 802F5F40 002F2B20 38 7F 00 00 */ addi r3, r31, 0 -/* 802F5F44 002F2B24 38 A0 00 11 */ li r5, 0x11 -/* 802F5F48 002F2B28 48 09 9E 0D */ bl HSD_GObjProc_8038FD54 -/* 802F5F4C 002F2B2C 3C 60 80 2F */ lis r3, ifStatus_802F4EDC@ha -/* 802F5F50 002F2B30 38 83 4E DC */ addi r4, r3, ifStatus_802F4EDC@l -/* 802F5F54 002F2B34 38 7F 00 00 */ addi r3, r31, 0 -/* 802F5F58 002F2B38 38 A0 00 11 */ li r5, 0x11 -/* 802F5F5C 002F2B3C 48 09 9D F9 */ bl HSD_GObjProc_8038FD54 -/* 802F5F60 002F2B40 93 FC 00 00 */ stw r31, 0(r28) -/* 802F5F64 002F2B44 48 00 00 08 */ b lbl_802F5F6C -lbl_802F5F68: -/* 802F5F68 002F2B48 83 C5 00 28 */ lwz r30, 0x28(r5) -lbl_802F5F6C: -/* 802F5F6C 002F2B4C 88 1C 00 10 */ lbz r0, 0x10(r28) -/* 802F5F70 002F2B50 38 60 00 00 */ li r3, 0 -/* 802F5F74 002F2B54 50 60 0F 7C */ rlwimi r0, r3, 1, 0x1d, 0x1e -/* 802F5F78 002F2B58 98 1C 00 10 */ stb r0, 0x10(r28) -/* 802F5F7C 002F2B5C 7F C3 F3 78 */ mr r3, r30 -/* 802F5F80 002F2B60 48 07 96 C5 */ bl HSD_JObjRemoveAnim -/* 802F5F84 002F2B64 3B FB 02 60 */ addi r31, r27, 0x260 -/* 802F5F88 002F2B68 80 BB 02 5C */ lwz r5, 0x25c(r27) -/* 802F5F8C 002F2B6C 80 DB 02 60 */ lwz r6, 0x260(r27) -/* 802F5F90 002F2B70 7F C3 F3 78 */ mr r3, r30 -/* 802F5F94 002F2B74 80 FB 02 64 */ lwz r7, 0x264(r27) -/* 802F5F98 002F2B78 38 80 00 00 */ li r4, 0 -/* 802F5F9C 002F2B7C 4B D1 60 E1 */ bl lb_8000C07C -/* 802F5FA0 002F2B80 7F C3 F3 78 */ mr r3, r30 -/* 802F5FA4 002F2B84 C0 22 E0 6C */ lfs f1, ifStatus_804DDA4C(r2) -/* 802F5FA8 002F2B88 48 07 99 15 */ bl HSD_JObjReqAnimAll -/* 802F5FAC 002F2B8C 7F C3 F3 78 */ mr r3, r30 -/* 802F5FB0 002F2B90 48 07 A9 79 */ bl HSD_JObjAnimAll -/* 802F5FB4 002F2B94 57 A3 06 3E */ clrlwi r3, r29, 0x18 -/* 802F5FB8 002F2B98 4B FF D4 6D */ bl ifAll_802F3424 -/* 802F5FBC 002F2B9C 28 1E 00 00 */ cmplwi r30, 0 -/* 802F5FC0 002F2BA0 3B A3 00 00 */ addi r29, r3, 0 -/* 802F5FC4 002F2BA4 40 82 00 14 */ bne lbl_802F5FD8 -/* 802F5FC8 002F2BA8 38 6D A1 10 */ addi r3, r13, ifStatus_804D57B0 -/* 802F5FCC 002F2BAC 38 80 03 94 */ li r4, 0x394 -/* 802F5FD0 002F2BB0 38 AD A1 18 */ addi r5, r13, ifStatus_804D57B8 -/* 802F5FD4 002F2BB4 48 09 22 4D */ bl __assert -lbl_802F5FD8: -/* 802F5FD8 002F2BB8 28 1D 00 00 */ cmplwi r29, 0 -/* 802F5FDC 002F2BBC 40 82 00 18 */ bne lbl_802F5FF4 -/* 802F5FE0 002F2BC0 3C 60 80 40 */ lis r3, ifStatus_803F95C0@ha -/* 802F5FE4 002F2BC4 38 A3 95 C0 */ addi r5, r3, ifStatus_803F95C0@l -/* 802F5FE8 002F2BC8 38 6D A1 10 */ addi r3, r13, ifStatus_804D57B0 -/* 802F5FEC 002F2BCC 38 80 03 95 */ li r4, 0x395 -/* 802F5FF0 002F2BD0 48 09 22 31 */ bl __assert -lbl_802F5FF4: -/* 802F5FF4 002F2BD4 80 7D 00 00 */ lwz r3, 0(r29) -/* 802F5FF8 002F2BD8 80 1D 00 04 */ lwz r0, 4(r29) -/* 802F5FFC 002F2BDC 90 7E 00 38 */ stw r3, 0x38(r30) -/* 802F6000 002F2BE0 90 1E 00 3C */ stw r0, 0x3c(r30) -/* 802F6004 002F2BE4 80 1D 00 08 */ lwz r0, 8(r29) -/* 802F6008 002F2BE8 90 1E 00 40 */ stw r0, 0x40(r30) -/* 802F600C 002F2BEC 80 1E 00 14 */ lwz r0, 0x14(r30) -/* 802F6010 002F2BF0 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 802F6014 002F2BF4 40 82 00 4C */ bne lbl_802F6060 -/* 802F6018 002F2BF8 28 1E 00 00 */ cmplwi r30, 0 -/* 802F601C 002F2BFC 41 82 00 44 */ beq lbl_802F6060 -/* 802F6020 002F2C00 40 82 00 14 */ bne lbl_802F6034 -/* 802F6024 002F2C04 38 6D A1 10 */ addi r3, r13, ifStatus_804D57B0 -/* 802F6028 002F2C08 38 80 02 34 */ li r4, 0x234 -/* 802F602C 002F2C0C 38 AD A1 18 */ addi r5, r13, ifStatus_804D57B8 -/* 802F6030 002F2C10 48 09 21 F1 */ bl __assert -lbl_802F6034: -/* 802F6034 002F2C14 80 9E 00 14 */ lwz r4, 0x14(r30) -/* 802F6038 002F2C18 38 60 00 00 */ li r3, 0 -/* 802F603C 002F2C1C 54 80 02 11 */ rlwinm. r0, r4, 0, 8, 8 -/* 802F6040 002F2C20 40 82 00 10 */ bne lbl_802F6050 -/* 802F6044 002F2C24 54 80 06 73 */ rlwinm. r0, r4, 0, 0x19, 0x19 -/* 802F6048 002F2C28 41 82 00 08 */ beq lbl_802F6050 -/* 802F604C 002F2C2C 38 60 00 01 */ li r3, 1 -lbl_802F6050: -/* 802F6050 002F2C30 2C 03 00 00 */ cmpwi r3, 0 -/* 802F6054 002F2C34 40 82 00 0C */ bne lbl_802F6060 -/* 802F6058 002F2C38 7F C3 F3 78 */ mr r3, r30 -/* 802F605C 002F2C3C 48 07 D2 8D */ bl HSD_JObjSetMtxDirtySub -lbl_802F6060: -/* 802F6060 002F2C40 3B BC 00 00 */ addi r29, r28, 0 -/* 802F6064 002F2C44 3B 7E 00 00 */ addi r27, r30, 0 -/* 802F6068 002F2C48 3B 40 00 00 */ li r26, 0 -lbl_802F606C: -/* 802F606C 002F2C4C 38 7B 00 00 */ addi r3, r27, 0 -/* 802F6070 002F2C50 38 9A 00 00 */ addi r4, r26, 0 -/* 802F6074 002F2C54 48 00 01 21 */ bl ifStatus_802F6194 -/* 802F6078 002F2C58 90 7D 00 54 */ stw r3, 0x54(r29) -/* 802F607C 002F2C5C 83 DD 00 54 */ lwz r30, 0x54(r29) -/* 802F6080 002F2C60 28 1E 00 00 */ cmplwi r30, 0 -/* 802F6084 002F2C64 40 82 00 14 */ bne lbl_802F6098 -/* 802F6088 002F2C68 38 6D A1 10 */ addi r3, r13, ifStatus_804D57B0 -/* 802F608C 002F2C6C 38 80 03 E1 */ li r4, 0x3e1 -/* 802F6090 002F2C70 38 AD A1 18 */ addi r5, r13, ifStatus_804D57B8 -/* 802F6094 002F2C74 48 09 21 8D */ bl __assert -lbl_802F6098: -/* 802F6098 002F2C78 C0 1E 00 38 */ lfs f0, 0x38(r30) -/* 802F609C 002F2C7C D0 1D 00 14 */ stfs f0, 0x14(r29) -/* 802F60A0 002F2C80 83 DD 00 54 */ lwz r30, 0x54(r29) -/* 802F60A4 002F2C84 28 1E 00 00 */ cmplwi r30, 0 -/* 802F60A8 002F2C88 40 82 00 14 */ bne lbl_802F60BC -/* 802F60AC 002F2C8C 38 6D A1 10 */ addi r3, r13, ifStatus_804D57B0 -/* 802F60B0 002F2C90 38 80 03 EE */ li r4, 0x3ee -/* 802F60B4 002F2C94 38 AD A1 18 */ addi r5, r13, ifStatus_804D57B8 -/* 802F60B8 002F2C98 48 09 21 69 */ bl __assert -lbl_802F60BC: -/* 802F60BC 002F2C9C C0 1E 00 3C */ lfs f0, 0x3c(r30) -/* 802F60C0 002F2CA0 3B 5A 00 01 */ addi r26, r26, 1 -/* 802F60C4 002F2CA4 2C 1A 00 04 */ cmpwi r26, 4 -/* 802F60C8 002F2CA8 D0 1D 00 24 */ stfs f0, 0x24(r29) -/* 802F60CC 002F2CAC 3B BD 00 04 */ addi r29, r29, 4 -/* 802F60D0 002F2CB0 41 80 FF 9C */ blt lbl_802F606C -/* 802F60D4 002F2CB4 80 9C 00 60 */ lwz r4, 0x60(r28) -/* 802F60D8 002F2CB8 28 04 00 00 */ cmplwi r4, 0 -/* 802F60DC 002F2CBC 41 82 00 7C */ beq lbl_802F6158 -/* 802F60E0 002F2CC0 80 7F 00 00 */ lwz r3, 0(r31) -/* 802F60E4 002F2CC4 80 84 00 18 */ lwz r4, 0x18(r4) -/* 802F60E8 002F2CC8 80 63 00 00 */ lwz r3, 0(r3) -/* 802F60EC 002F2CCC 80 84 00 08 */ lwz r4, 8(r4) -/* 802F60F0 002F2CD0 80 63 00 00 */ lwz r3, 0(r3) -/* 802F60F4 002F2CD4 83 64 00 08 */ lwz r27, 8(r4) -/* 802F60F8 002F2CD8 80 83 00 04 */ lwz r4, 4(r3) -/* 802F60FC 002F2CDC 7F 63 DB 78 */ mr r3, r27 -/* 802F6100 002F2CE0 80 84 00 04 */ lwz r4, 4(r4) -/* 802F6104 002F2CE4 80 84 00 04 */ lwz r4, 4(r4) -/* 802F6108 002F2CE8 80 84 00 08 */ lwz r4, 8(r4) -/* 802F610C 002F2CEC 80 84 00 08 */ lwz r4, 8(r4) -/* 802F6110 002F2CF0 48 06 85 F9 */ bl HSD_TObjAddAnimAll -/* 802F6114 002F2CF4 88 7C 00 08 */ lbz r3, 8(r28) -/* 802F6118 002F2CF8 7C 63 07 74 */ extsb r3, r3 -/* 802F611C 002F2CFC 4B D3 E5 19 */ bl Player_GetMoreFlagsBit2 -/* 802F6120 002F2D00 2C 03 00 00 */ cmpwi r3, 0 -/* 802F6124 002F2D04 41 82 00 14 */ beq lbl_802F6138 -/* 802F6128 002F2D08 7F 63 DB 78 */ mr r3, r27 -/* 802F612C 002F2D0C C0 22 E0 68 */ lfs f1, ifStatus_804DDA48(r2) -/* 802F6130 002F2D10 48 06 86 D1 */ bl HSD_TObjReqAnimAll -/* 802F6134 002F2D14 48 00 00 10 */ b lbl_802F6144 -lbl_802F6138: -/* 802F6138 002F2D18 7F 63 DB 78 */ mr r3, r27 -/* 802F613C 002F2D1C C0 22 E0 6C */ lfs f1, ifStatus_804DDA4C(r2) -/* 802F6140 002F2D20 48 06 86 C1 */ bl HSD_TObjReqAnimAll -lbl_802F6144: -/* 802F6144 002F2D24 80 7B 00 64 */ lwz r3, 0x64(r27) -/* 802F6148 002F2D28 C0 22 E0 6C */ lfs f1, ifStatus_804DDA4C(r2) -/* 802F614C 002F2D2C 48 06 F1 C1 */ bl HSD_AObjSetRate -/* 802F6150 002F2D30 7F 63 DB 78 */ mr r3, r27 -/* 802F6154 002F2D34 48 06 8A 19 */ bl HSD_TObjAnim -lbl_802F6158: -/* 802F6158 002F2D38 80 7C 00 00 */ lwz r3, 0(r28) -/* 802F615C 002F2D3C 4B FF F9 ED */ bl ifStatus_802F5B48 -/* 802F6160 002F2D40 A8 1C 00 0A */ lha r0, 0xa(r28) -/* 802F6164 002F2D44 7C 00 00 34 */ cntlzw r0, r0 -/* 802F6168 002F2D48 54 00 D9 7E */ srwi r0, r0, 5 -/* 802F616C 002F2D4C 7C 00 07 34 */ extsh r0, r0 -/* 802F6170 002F2D50 B0 1C 00 0C */ sth r0, 0xc(r28) -/* 802F6174 002F2D54 80 7C 00 00 */ lwz r3, 0(r28) -/* 802F6178 002F2D58 4B FF ED 65 */ bl ifStatus_802F4EDC -/* 802F617C 002F2D5C 80 7C 00 00 */ lwz r3, 0(r28) -/* 802F6180 002F2D60 BB 41 00 38 */ lmw r26, 0x38(r1) -/* 802F6184 002F2D64 80 01 00 54 */ lwz r0, 0x54(r1) -/* 802F6188 002F2D68 38 21 00 50 */ addi r1, r1, 0x50 -/* 802F618C 002F2D6C 7C 08 03 A6 */ mtlr r0 -/* 802F6190 002F2D70 4E 80 00 20 */ blr -} // clang-format on -#pragma pop - -#else - void ifStatus_802F5EC0(void) { NOT_IMPLEMENTED; } -#endif - -#ifdef MUST_MATCH - -#pragma push -asm HSD_GObj* ifStatus_802F6194(HSD_GObj*, s32) -{ - // clang-format off - nofralloc -/* 802F6194 002F2D74 28 03 00 00 */ cmplwi r3, 0 -/* 802F6198 002F2D78 41 82 00 0C */ beq lbl_802F61A4 -/* 802F619C 002F2D7C 2C 04 00 00 */ cmpwi r4, 0 -/* 802F61A0 002F2D80 40 80 00 0C */ bge lbl_802F61AC -lbl_802F61A4: -/* 802F61A4 002F2D84 38 60 00 00 */ li r3, 0 -/* 802F61A8 002F2D88 4E 80 00 20 */ blr -lbl_802F61AC: -/* 802F61AC 002F2D8C 28 03 00 00 */ cmplwi r3, 0 -/* 802F61B0 002F2D90 40 82 00 0C */ bne lbl_802F61BC -/* 802F61B4 002F2D94 38 00 00 00 */ li r0, 0 -/* 802F61B8 002F2D98 48 00 00 08 */ b lbl_802F61C0 -lbl_802F61BC: -/* 802F61BC 002F2D9C 80 03 00 10 */ lwz r0, 0x10(r3) -lbl_802F61C0: -/* 802F61C0 002F2DA0 7C 03 03 78 */ mr r3, r0 -/* 802F61C4 002F2DA4 38 A0 00 00 */ li r5, 0 -/* 802F61C8 002F2DA8 48 00 00 20 */ b lbl_802F61E8 -lbl_802F61CC: -/* 802F61CC 002F2DAC 28 03 00 00 */ cmplwi r3, 0 -/* 802F61D0 002F2DB0 40 82 00 0C */ bne lbl_802F61DC -/* 802F61D4 002F2DB4 38 00 00 00 */ li r0, 0 -/* 802F61D8 002F2DB8 48 00 00 08 */ b lbl_802F61E0 -lbl_802F61DC: -/* 802F61DC 002F2DBC 80 03 00 08 */ lwz r0, 8(r3) -lbl_802F61E0: -/* 802F61E0 002F2DC0 7C 03 03 78 */ mr r3, r0 -/* 802F61E4 002F2DC4 38 A5 00 01 */ addi r5, r5, 1 -lbl_802F61E8: -/* 802F61E8 002F2DC8 7C 05 20 00 */ cmpw r5, r4 -/* 802F61EC 002F2DCC 4C 80 00 20 */ bgelr -/* 802F61F0 002F2DD0 28 03 00 00 */ cmplwi r3, 0 -/* 802F61F4 002F2DD4 40 82 FF D8 */ bne lbl_802F61CC -/* 802F61F8 002F2DD8 4E 80 00 20 */ blr -} // clang-format on -#pragma pop - -#else - static inline HSD_GObj* nth_node(HSD_GObj* node, s32 n) { s32 i; @@ -1926,353 +104,16 @@ HSD_GObj* ifStatus_802F6194(HSD_GObj* node, s32 n) return gx; } -#endif - -extern char* ifStatus_803F9598; -extern char* ifStatus_804D57C0; -extern f32 ifStatus_804DDA9C; -extern f64 ifStatus_804DDAA0; - -#ifdef MUST_MATCH - -#pragma push -asm void ifStatus_802F61FC(void) -{ // clang-format off - nofralloc -/* 802F61FC 002F2DDC 7C 08 02 A6 */ mflr r0 -/* 802F6200 002F2DE0 3C C0 80 40 */ lis r6, ifStatus_803F9598@ha -/* 802F6204 002F2DE4 90 01 00 04 */ stw r0, 4(r1) -/* 802F6208 002F2DE8 3C A0 80 4A */ lis r5, ifStatus_804A10C8@ha -/* 802F620C 002F2DEC 94 21 FF B8 */ stwu r1, -0x48(r1) -/* 802F6210 002F2DF0 BF 21 00 2C */ stmw r25, 0x2c(r1) -/* 802F6214 002F2DF4 54 9F 06 3E */ clrlwi r31, r4, 0x18 -/* 802F6218 002F2DF8 3B A3 00 00 */ addi r29, r3, 0 -/* 802F621C 002F2DFC 38 7F 00 00 */ addi r3, r31, 0 -/* 802F6220 002F2E00 3B 66 95 98 */ addi r27, r6, ifStatus_803F9598@l -/* 802F6224 002F2E04 3B 45 10 C8 */ addi r26, r5, ifStatus_804A10C8@l -/* 802F6228 002F2E08 4B D3 C1 09 */ bl Player_GetPlayerCharacter -/* 802F622C 002F2E0C 80 9D 00 04 */ lwz r4, 4(r29) -/* 802F6230 002F2E10 3B 83 00 00 */ addi r28, r3, 0 -/* 802F6234 002F2E14 28 04 00 00 */ cmplwi r4, 0 -/* 802F6238 002F2E18 40 82 00 98 */ bne lbl_802F62D0 -/* 802F623C 002F2E1C 4B FF D4 55 */ bl ifAll_802F3690 -/* 802F6240 002F2E20 38 60 00 0E */ li r3, 0xe -/* 802F6244 002F2E24 38 80 00 0F */ li r4, 0xf -/* 802F6248 002F2E28 38 A0 00 00 */ li r5, 0 -/* 802F624C 002F2E2C 48 09 9F A5 */ bl GObj_Create -/* 802F6250 002F2E30 7C 79 1B 79 */ or. r25, r3, r3 -/* 802F6254 002F2E34 40 82 00 20 */ bne lbl_802F6274 -/* 802F6258 002F2E38 38 7B 00 34 */ addi r3, r27, 0x34 -/* 802F625C 002F2E3C 4C C6 31 82 */ crclr 6 -/* 802F6260 002F2E40 48 04 F4 49 */ bl OSReport -/* 802F6264 002F2E44 38 7B 00 5C */ addi r3, r27, 0x5c -/* 802F6268 002F2E48 38 80 03 0A */ li r4, 0x30a -/* 802F626C 002F2E4C 38 AD A1 20 */ addi r5, r13, ifStatus_804D57C0 -/* 802F6270 002F2E50 48 09 1F B1 */ bl __assert -lbl_802F6274: -/* 802F6274 002F2E54 80 7A 02 68 */ lwz r3, 0x268(r26) -/* 802F6278 002F2E58 48 07 AB CD */ bl HSD_JObjLoadJoint -/* 802F627C 002F2E5C 7C 7E 1B 79 */ or. r30, r3, r3 -/* 802F6280 002F2E60 40 82 00 20 */ bne lbl_802F62A0 -/* 802F6284 002F2E64 38 7B 00 68 */ addi r3, r27, 0x68 -/* 802F6288 002F2E68 4C C6 31 82 */ crclr 6 -/* 802F628C 002F2E6C 48 04 F4 1D */ bl OSReport -/* 802F6290 002F2E70 38 7B 00 5C */ addi r3, r27, 0x5c -/* 802F6294 002F2E74 38 80 03 0E */ li r4, 0x30e -/* 802F6298 002F2E78 38 AD A1 20 */ addi r5, r13, ifStatus_804D57C0 -/* 802F629C 002F2E7C 48 09 1F 85 */ bl __assert -lbl_802F62A0: -/* 802F62A0 002F2E80 88 8D C1 A9 */ lbz r4, HSD_GObj_804D7849(r13) -/* 802F62A4 002F2E84 38 79 00 00 */ addi r3, r25, 0 -/* 802F62A8 002F2E88 38 BE 00 00 */ addi r5, r30, 0 -/* 802F62AC 002F2E8C 48 09 A7 C5 */ bl HSD_GObjObjet_80390A70 -/* 802F62B0 002F2E90 3C 60 80 2F */ lis r3, ifStatus_802F5E50@ha -/* 802F62B4 002F2E94 38 83 5E 50 */ addi r4, r3, ifStatus_802F5E50@l -/* 802F62B8 002F2E98 38 79 00 00 */ addi r3, r25, 0 -/* 802F62BC 002F2E9C 38 A0 00 0B */ li r5, 0xb -/* 802F62C0 002F2EA0 38 C0 00 00 */ li r6, 0 -/* 802F62C4 002F2EA4 48 09 A3 D9 */ bl GObj_SetupGXLink -/* 802F62C8 002F2EA8 93 3D 00 04 */ stw r25, 4(r29) -/* 802F62CC 002F2EAC 48 00 00 08 */ b lbl_802F62D4 -lbl_802F62D0: -/* 802F62D0 002F2EB0 83 C4 00 28 */ lwz r30, 0x28(r4) -lbl_802F62D4: -/* 802F62D4 002F2EB4 80 DE 00 10 */ lwz r6, 0x10(r30) -/* 802F62D8 002F2EB8 7F C3 F3 78 */ mr r3, r30 -/* 802F62DC 002F2EBC 80 BA 02 6C */ lwz r5, 0x26c(r26) -/* 802F62E0 002F2EC0 38 80 00 00 */ li r4, 0 -/* 802F62E4 002F2EC4 80 E6 00 18 */ lwz r7, 0x18(r6) -/* 802F62E8 002F2EC8 80 DA 02 70 */ lwz r6, 0x270(r26) -/* 802F62EC 002F2ECC 81 07 00 08 */ lwz r8, 8(r7) -/* 802F62F0 002F2ED0 80 FA 02 74 */ lwz r7, 0x274(r26) -/* 802F62F4 002F2ED4 83 48 00 08 */ lwz r26, 8(r8) -/* 802F62F8 002F2ED8 4B D1 5D 85 */ bl lb_8000C07C -/* 802F62FC 002F2EDC 2C 1C 00 1A */ cmpwi r28, 0x1a -/* 802F6300 002F2EE0 41 82 00 10 */ beq lbl_802F6310 -/* 802F6304 002F2EE4 38 1C FF E3 */ addi r0, r28, -29 -/* 802F6308 002F2EE8 28 00 00 01 */ cmplwi r0, 1 -/* 802F630C 002F2EEC 41 81 00 08 */ bgt lbl_802F6314 -lbl_802F6310: -/* 802F6310 002F2EF0 3B 80 00 1B */ li r28, 0x1b -lbl_802F6314: -/* 802F6314 002F2EF4 38 7C 00 00 */ addi r3, r28, 0 -/* 802F6318 002F2EF8 38 80 00 00 */ li r4, 0 -/* 802F631C 002F2EFC 38 A0 00 00 */ li r5, 0 -/* 802F6320 002F2F00 4B E7 28 15 */ bl gm_80168B34 -/* 802F6324 002F2F04 C0 02 E0 B4 */ lfs f0, ifStatus_804DDA94(r2) -/* 802F6328 002F2F08 7F 43 D3 78 */ mr r3, r26 -/* 802F632C 002F2F0C EC 20 08 2A */ fadds f1, f0, f1 -/* 802F6330 002F2F10 48 06 84 D1 */ bl HSD_TObjReqAnimAll -/* 802F6334 002F2F14 80 7A 00 64 */ lwz r3, 0x64(r26) -/* 802F6338 002F2F18 C0 22 E0 BC */ lfs f1, ifStatus_804DDA9C(r2) -/* 802F633C 002F2F1C 48 06 EF D1 */ bl HSD_AObjSetRate -/* 802F6340 002F2F20 7F 43 D3 78 */ mr r3, r26 -/* 802F6344 002F2F24 48 06 88 29 */ bl HSD_TObjAnim -/* 802F6348 002F2F28 7F E3 FB 78 */ mr r3, r31 -/* 802F634C 002F2F2C 4B FF D0 D9 */ bl ifAll_802F3424 -/* 802F6350 002F2F30 28 1E 00 00 */ cmplwi r30, 0 -/* 802F6354 002F2F34 3B 43 00 00 */ addi r26, r3, 0 -/* 802F6358 002F2F38 40 82 00 14 */ bne lbl_802F636C -/* 802F635C 002F2F3C 38 6D A1 10 */ addi r3, r13, ifStatus_804D57B0 -/* 802F6360 002F2F40 38 80 03 94 */ li r4, 0x394 -/* 802F6364 002F2F44 38 AD A1 18 */ addi r5, r13, ifStatus_804D57B8 -/* 802F6368 002F2F48 48 09 1E B9 */ bl __assert -lbl_802F636C: -/* 802F636C 002F2F4C 28 1A 00 00 */ cmplwi r26, 0 -/* 802F6370 002F2F50 40 82 00 14 */ bne lbl_802F6384 -/* 802F6374 002F2F54 38 BB 00 28 */ addi r5, r27, 0x28 -/* 802F6378 002F2F58 38 6D A1 10 */ addi r3, r13, ifStatus_804D57B0 -/* 802F637C 002F2F5C 38 80 03 95 */ li r4, 0x395 -/* 802F6380 002F2F60 48 09 1E A1 */ bl __assert -lbl_802F6384: -/* 802F6384 002F2F64 80 7A 00 00 */ lwz r3, 0(r26) -/* 802F6388 002F2F68 80 1A 00 04 */ lwz r0, 4(r26) -/* 802F638C 002F2F6C 90 7E 00 38 */ stw r3, 0x38(r30) -/* 802F6390 002F2F70 90 1E 00 3C */ stw r0, 0x3c(r30) -/* 802F6394 002F2F74 80 1A 00 08 */ lwz r0, 8(r26) -/* 802F6398 002F2F78 90 1E 00 40 */ stw r0, 0x40(r30) -/* 802F639C 002F2F7C 80 1E 00 14 */ lwz r0, 0x14(r30) -/* 802F63A0 002F2F80 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 802F63A4 002F2F84 40 82 00 4C */ bne lbl_802F63F0 -/* 802F63A8 002F2F88 28 1E 00 00 */ cmplwi r30, 0 -/* 802F63AC 002F2F8C 41 82 00 44 */ beq lbl_802F63F0 -/* 802F63B0 002F2F90 40 82 00 14 */ bne lbl_802F63C4 -/* 802F63B4 002F2F94 38 6D A1 10 */ addi r3, r13, ifStatus_804D57B0 -/* 802F63B8 002F2F98 38 80 02 34 */ li r4, 0x234 -/* 802F63BC 002F2F9C 38 AD A1 18 */ addi r5, r13, ifStatus_804D57B8 -/* 802F63C0 002F2FA0 48 09 1E 61 */ bl __assert -lbl_802F63C4: -/* 802F63C4 002F2FA4 80 9E 00 14 */ lwz r4, 0x14(r30) -/* 802F63C8 002F2FA8 38 60 00 00 */ li r3, 0 -/* 802F63CC 002F2FAC 54 80 02 11 */ rlwinm. r0, r4, 0, 8, 8 -/* 802F63D0 002F2FB0 40 82 00 10 */ bne lbl_802F63E0 -/* 802F63D4 002F2FB4 54 80 06 73 */ rlwinm. r0, r4, 0, 0x19, 0x19 -/* 802F63D8 002F2FB8 41 82 00 08 */ beq lbl_802F63E0 -/* 802F63DC 002F2FBC 38 60 00 01 */ li r3, 1 -lbl_802F63E0: -/* 802F63E0 002F2FC0 2C 03 00 00 */ cmpwi r3, 0 -/* 802F63E4 002F2FC4 40 82 00 0C */ bne lbl_802F63F0 -/* 802F63E8 002F2FC8 7F C3 F3 78 */ mr r3, r30 -/* 802F63EC 002F2FCC 48 07 CE FD */ bl HSD_JObjSetMtxDirtySub -lbl_802F63F0: -/* 802F63F0 002F2FD0 28 1E 00 00 */ cmplwi r30, 0 -/* 802F63F4 002F2FD4 40 82 00 14 */ bne lbl_802F6408 -/* 802F63F8 002F2FD8 38 6D A1 10 */ addi r3, r13, ifStatus_804D57B0 -/* 802F63FC 002F2FDC 38 80 04 4E */ li r4, 0x44e -/* 802F6400 002F2FE0 38 AD A1 18 */ addi r5, r13, ifStatus_804D57B8 -/* 802F6404 002F2FE4 48 09 1E 1D */ bl __assert -lbl_802F6408: -/* 802F6408 002F2FE8 C0 3E 00 38 */ lfs f1, 0x38(r30) -/* 802F640C 002F2FEC C0 02 E0 C0 */ lfs f0, ifStatus_804DDAA0(r2) -/* 802F6410 002F2FF0 EC 01 00 2A */ fadds f0, f1, f0 -/* 802F6414 002F2FF4 D0 1E 00 38 */ stfs f0, 0x38(r30) -/* 802F6418 002F2FF8 80 1E 00 14 */ lwz r0, 0x14(r30) -/* 802F641C 002F2FFC 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 802F6420 002F3000 40 82 00 4C */ bne lbl_802F646C -/* 802F6424 002F3004 28 1E 00 00 */ cmplwi r30, 0 -/* 802F6428 002F3008 41 82 00 44 */ beq lbl_802F646C -/* 802F642C 002F300C 40 82 00 14 */ bne lbl_802F6440 -/* 802F6430 002F3010 38 6D A1 10 */ addi r3, r13, ifStatus_804D57B0 -/* 802F6434 002F3014 38 80 02 34 */ li r4, 0x234 -/* 802F6438 002F3018 38 AD A1 18 */ addi r5, r13, ifStatus_804D57B8 -/* 802F643C 002F301C 48 09 1D E5 */ bl __assert -lbl_802F6440: -/* 802F6440 002F3020 80 9E 00 14 */ lwz r4, 0x14(r30) -/* 802F6444 002F3024 38 60 00 00 */ li r3, 0 -/* 802F6448 002F3028 54 80 02 11 */ rlwinm. r0, r4, 0, 8, 8 -/* 802F644C 002F302C 40 82 00 10 */ bne lbl_802F645C -/* 802F6450 002F3030 54 80 06 73 */ rlwinm. r0, r4, 0, 0x19, 0x19 -/* 802F6454 002F3034 41 82 00 08 */ beq lbl_802F645C -/* 802F6458 002F3038 38 60 00 01 */ li r3, 1 -lbl_802F645C: -/* 802F645C 002F303C 2C 03 00 00 */ cmpwi r3, 0 -/* 802F6460 002F3040 40 82 00 0C */ bne lbl_802F646C -/* 802F6464 002F3044 7F C3 F3 78 */ mr r3, r30 -/* 802F6468 002F3048 48 07 CE 81 */ bl HSD_JObjSetMtxDirtySub -lbl_802F646C: -/* 802F646C 002F304C 7F E3 FB 78 */ mr r3, r31 -/* 802F6470 002F3050 4B D3 BF AD */ bl Player_GetPlayerSlotType -/* 802F6474 002F3054 54 7A 06 3E */ clrlwi r26, r3, 0x18 -/* 802F6478 002F3058 4B E7 4C F1 */ bl gm_8016B168 -/* 802F647C 002F305C 54 7B 06 3E */ clrlwi r27, r3, 0x18 -/* 802F6480 002F3060 38 7F 00 00 */ addi r3, r31, 0 -/* 802F6484 002F3064 4B D3 CE ED */ bl Player_GetTeam -/* 802F6488 002F3068 54 7C 06 3E */ clrlwi r28, r3, 0x18 -/* 802F648C 002F306C 38 7F 00 00 */ addi r3, r31, 0 -/* 802F6490 002F3070 4B D3 CF CD */ bl Player_GetPlayerId -/* 802F6494 002F3074 54 63 06 3E */ clrlwi r3, r3, 0x18 -/* 802F6498 002F3078 38 9C 00 00 */ addi r4, r28, 0 -/* 802F649C 002F307C 38 BB 00 00 */ addi r5, r27, 0 -/* 802F64A0 002F3080 38 DA 00 00 */ addi r6, r26, 0 -/* 802F64A4 002F3084 4B E6 A3 B1 */ bl gm_80160854 -/* 802F64A8 002F3088 4B E6 A4 C1 */ bl gm_80160968 -/* 802F64AC 002F308C 28 1E 00 00 */ cmplwi r30, 0 -/* 802F64B0 002F3090 90 61 00 20 */ stw r3, 0x20(r1) -/* 802F64B4 002F3094 40 82 00 0C */ bne lbl_802F64C0 -/* 802F64B8 002F3098 38 60 00 00 */ li r3, 0 -/* 802F64BC 002F309C 48 00 00 08 */ b lbl_802F64C4 -lbl_802F64C0: -/* 802F64C0 002F30A0 80 7E 00 10 */ lwz r3, 0x10(r30) -lbl_802F64C4: -/* 802F64C4 002F30A4 80 63 00 18 */ lwz r3, 0x18(r3) -/* 802F64C8 002F30A8 88 01 00 20 */ lbz r0, 0x20(r1) -/* 802F64CC 002F30AC 80 83 00 08 */ lwz r4, 8(r3) -/* 802F64D0 002F30B0 80 64 00 0C */ lwz r3, 0xc(r4) -/* 802F64D4 002F30B4 98 03 00 04 */ stb r0, 4(r3) -/* 802F64D8 002F30B8 88 01 00 21 */ lbz r0, 0x21(r1) -/* 802F64DC 002F30BC 80 64 00 0C */ lwz r3, 0xc(r4) -/* 802F64E0 002F30C0 98 03 00 05 */ stb r0, 5(r3) -/* 802F64E4 002F30C4 88 01 00 22 */ lbz r0, 0x22(r1) -/* 802F64E8 002F30C8 80 64 00 0C */ lwz r3, 0xc(r4) -/* 802F64EC 002F30CC 98 03 00 06 */ stb r0, 6(r3) -/* 802F64F0 002F30D0 80 7D 00 04 */ lwz r3, 4(r29) -/* 802F64F4 002F30D4 80 01 00 4C */ lwz r0, 0x4c(r1) -/* 802F64F8 002F30D8 BB 21 00 2C */ lmw r25, 0x2c(r1) -/* 802F64FC 002F30DC 38 21 00 48 */ addi r1, r1, 0x48 -/* 802F6500 002F30E0 7C 08 03 A6 */ mtlr r0 -/* 802F6504 002F30E4 4E 80 00 20 */ blr -} // clang-format on -#pragma pop - -#else - void ifStatus_802F61FC(void) { NOT_IMPLEMENTED; } -#endif - -#ifdef MUST_MATCH - -#pragma push -asm void ifStatus_802F6508(s32) -{ // clang-format off - nofralloc -/* 802F6508 002F30E8 7C 08 02 A6 */ mflr r0 -/* 802F650C 002F30EC 90 01 00 04 */ stw r0, 4(r1) -/* 802F6510 002F30F0 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802F6514 002F30F4 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 802F6518 002F30F8 7C 7F 1B 78 */ mr r31, r3 -/* 802F651C 002F30FC 93 C1 00 18 */ stw r30, 0x18(r1) -/* 802F6520 002F3100 93 A1 00 14 */ stw r29, 0x14(r1) -/* 802F6524 002F3104 93 81 00 10 */ stw r28, 0x10(r1) -/* 802F6528 002F3108 4B D3 BE F5 */ bl Player_GetPlayerSlotType -/* 802F652C 002F310C 2C 03 00 03 */ cmpwi r3, 3 -/* 802F6530 002F3110 41 82 01 0C */ beq lbl_802F663C -/* 802F6534 002F3114 88 0D B6 C0 */ lbz r0, ifStatus_804D6D60(r13) -/* 802F6538 002F3118 7C 00 F8 00 */ cmpw r0, r31 -/* 802F653C 002F311C 40 81 01 00 */ ble lbl_802F663C -/* 802F6540 002F3120 4B E7 49 11 */ bl gm_8016AE50 -/* 802F6544 002F3124 88 03 00 02 */ lbz r0, 2(r3) -/* 802F6548 002F3128 7C 7D 1B 78 */ mr r29, r3 -/* 802F654C 002F312C 54 00 FF FF */ rlwinm. r0, r0, 0x1f, 0x1f, 0x1f -/* 802F6550 002F3130 41 82 00 EC */ beq lbl_802F663C -/* 802F6554 002F3134 57 FE 06 3E */ clrlwi r30, r31, 0x18 -/* 802F6558 002F3138 1C 9E 00 64 */ mulli r4, r30, 0x64 -/* 802F655C 002F313C 3C 60 80 4A */ lis r3, ifStatus_804A10C8@ha -/* 802F6560 002F3140 38 03 10 C8 */ addi r0, r3, ifStatus_804A10C8@l -/* 802F6564 002F3144 7F 80 22 14 */ add r28, r0, r4 -/* 802F6568 002F3148 38 00 FF FF */ li r0, -1 -/* 802F656C 002F314C B0 1C 00 0A */ sth r0, 0xa(r28) -/* 802F6570 002F3150 38 A0 00 00 */ li r5, 0 -/* 802F6574 002F3154 38 7C 00 00 */ addi r3, r28, 0 -/* 802F6578 002F3158 B0 1C 00 0C */ sth r0, 0xc(r28) -/* 802F657C 002F315C 7F C4 F3 78 */ mr r4, r30 -/* 802F6580 002F3160 98 BC 00 0F */ stb r5, 0xf(r28) -/* 802F6584 002F3164 88 1C 00 10 */ lbz r0, 0x10(r28) -/* 802F6588 002F3168 50 A0 3E 30 */ rlwimi r0, r5, 7, 0x18, 0x18 -/* 802F658C 002F316C 98 1C 00 10 */ stb r0, 0x10(r28) -/* 802F6590 002F3170 88 1C 00 10 */ lbz r0, 0x10(r28) -/* 802F6594 002F3174 50 A0 36 72 */ rlwimi r0, r5, 6, 0x19, 0x19 -/* 802F6598 002F3178 98 1C 00 10 */ stb r0, 0x10(r28) -/* 802F659C 002F317C 88 1C 00 10 */ lbz r0, 0x10(r28) -/* 802F65A0 002F3180 50 A0 2E B4 */ rlwimi r0, r5, 5, 0x1a, 0x1a -/* 802F65A4 002F3184 98 1C 00 10 */ stb r0, 0x10(r28) -/* 802F65A8 002F3188 88 1C 00 10 */ lbz r0, 0x10(r28) -/* 802F65AC 002F318C 50 A0 26 F6 */ rlwimi r0, r5, 4, 0x1b, 0x1b -/* 802F65B0 002F3190 98 1C 00 10 */ stb r0, 0x10(r28) -/* 802F65B4 002F3194 9B FC 00 08 */ stb r31, 8(r28) -/* 802F65B8 002F3198 98 BC 00 09 */ stb r5, 9(r28) -/* 802F65BC 002F319C 4B FF FC 41 */ bl ifStatus_802F61FC -/* 802F65C0 002F31A0 38 7C 00 00 */ addi r3, r28, 0 -/* 802F65C4 002F31A4 38 9E 00 00 */ addi r4, r30, 0 -/* 802F65C8 002F31A8 4B FF F8 F9 */ bl ifStatus_802F5EC0 -/* 802F65CC 002F31AC 88 1D 00 03 */ lbz r0, 3(r29) -/* 802F65D0 002F31B0 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f -/* 802F65D4 002F31B4 41 82 00 18 */ beq lbl_802F65EC -/* 802F65D8 002F31B8 4B E7 4C 61 */ bl gm_8016B238 -/* 802F65DC 002F31BC 2C 03 00 00 */ cmpwi r3, 0 -/* 802F65E0 002F31C0 40 82 00 0C */ bne lbl_802F65EC -/* 802F65E4 002F31C4 7F E3 FB 78 */ mr r3, r31 -/* 802F65E8 002F31C8 48 00 8D 7D */ bl un_802FF364 -lbl_802F65EC: -/* 802F65EC 002F31CC 88 7D 00 00 */ lbz r3, 0(r29) -/* 802F65F0 002F31D0 54 63 DF 7E */ rlwinm r3, r3, 0x1b, 0x1d, 0x1f -/* 802F65F4 002F31D4 28 03 00 01 */ cmplwi r3, 1 -/* 802F65F8 002F31D8 41 82 00 10 */ beq lbl_802F6608 -/* 802F65FC 002F31DC 88 1D 00 04 */ lbz r0, 4(r29) -/* 802F6600 002F31E0 54 00 DF FF */ rlwinm. r0, r0, 0x1b, 0x1f, 0x1f -/* 802F6604 002F31E4 41 82 00 14 */ beq lbl_802F6618 -lbl_802F6608: -/* 802F6608 002F31E8 57 E3 06 3E */ clrlwi r3, r31, 0x18 -/* 802F660C 002F31EC 38 80 00 00 */ li r4, 0 -/* 802F6610 002F31F0 48 00 32 D9 */ bl ifStock_802F98E8 -/* 802F6614 002F31F4 48 00 00 28 */ b lbl_802F663C -lbl_802F6618: -/* 802F6618 002F31F8 28 03 00 02 */ cmplwi r3, 2 -/* 802F661C 002F31FC 40 82 00 14 */ bne lbl_802F6630 -/* 802F6620 002F3200 57 E3 06 3E */ clrlwi r3, r31, 0x18 -/* 802F6624 002F3204 38 80 00 02 */ li r4, 2 -/* 802F6628 002F3208 48 00 32 C1 */ bl ifStock_802F98E8 -/* 802F662C 002F320C 48 00 00 10 */ b lbl_802F663C -lbl_802F6630: -/* 802F6630 002F3210 57 E3 06 3E */ clrlwi r3, r31, 0x18 -/* 802F6634 002F3214 38 80 00 01 */ li r4, 1 -/* 802F6638 002F3218 48 00 32 B1 */ bl ifStock_802F98E8 -lbl_802F663C: -/* 802F663C 002F321C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802F6640 002F3220 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 802F6644 002F3224 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 802F6648 002F3228 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 802F664C 002F322C 83 81 00 10 */ lwz r28, 0x10(r1) -/* 802F6650 002F3230 38 21 00 20 */ addi r1, r1, 0x20 -/* 802F6654 002F3234 7C 08 03 A6 */ mtlr r0 -/* 802F6658 002F3238 4E 80 00 20 */ blr -} // clang-format on -#pragma pop - -#else - void ifStatus_802F6508(s32 arg0) { NOT_IMPLEMENTED; } -#endif - -extern s8 ifStatus_804D6D60; - void ifStatus_802F665C(s8 arg0) { s32 i; @@ -2284,89 +125,16 @@ void ifStatus_802F665C(s8 arg0) } } -extern char* ifStatus_803F95AC; - -#ifdef MUST_MATCH - -#pragma push -asm void ifStatus_802F66A4(void) -{ // clang-format off - nofralloc -/* 802F66A4 002F3284 7C 08 02 A6 */ mflr r0 -/* 802F66A8 002F3288 3C 60 80 4A */ lis r3, ifStatus_804A10C8@ha -/* 802F66AC 002F328C 90 01 00 04 */ stw r0, 4(r1) -/* 802F66B0 002F3290 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802F66B4 002F3294 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 802F66B8 002F3298 3B E3 10 C8 */ addi r31, r3, ifStatus_804A10C8@l -/* 802F66BC 002F329C 93 C1 00 18 */ stw r30, 0x18(r1) -/* 802F66C0 002F32A0 4B FF CF D1 */ bl ifAll_802F3690 -/* 802F66C4 002F32A4 3C A0 80 40 */ lis r5, ifStatus_803F9598@ha -/* 802F66C8 002F32A8 80 63 00 00 */ lwz r3, 0(r3) -/* 802F66CC 002F32AC 3C 80 80 40 */ lis r4, ifStatus_803F95AC@ha -/* 802F66D0 002F32B0 4C C6 31 82 */ crclr 6 -/* 802F66D4 002F32B4 38 E4 95 AC */ addi r7, r4, ifStatus_803F95AC@l -/* 802F66D8 002F32B8 38 A5 95 98 */ addi r5, r5, ifStatus_803F9598@l -/* 802F66DC 002F32BC 38 81 00 08 */ addi r4, r1, 8 -/* 802F66E0 002F32C0 38 C1 00 0C */ addi r6, r1, 0xc -/* 802F66E4 002F32C4 39 00 00 00 */ li r8, 0 -/* 802F66E8 002F32C8 4B D2 04 09 */ bl lbArchive_80016AF0 -/* 802F66EC 002F32CC 80 81 00 08 */ lwz r4, 8(r1) -/* 802F66F0 002F32D0 2C 1E 00 00 */ cmpwi r30, 0 -/* 802F66F4 002F32D4 80 64 00 00 */ lwz r3, 0(r4) -/* 802F66F8 002F32D8 80 03 00 00 */ lwz r0, 0(r3) -/* 802F66FC 002F32DC 90 1F 02 58 */ stw r0, 0x258(r31) -/* 802F6700 002F32E0 80 64 00 00 */ lwz r3, 0(r4) -/* 802F6704 002F32E4 80 03 00 04 */ lwz r0, 4(r3) -/* 802F6708 002F32E8 90 1F 02 5C */ stw r0, 0x25c(r31) -/* 802F670C 002F32EC 80 64 00 00 */ lwz r3, 0(r4) -/* 802F6710 002F32F0 80 03 00 08 */ lwz r0, 8(r3) -/* 802F6714 002F32F4 90 1F 02 60 */ stw r0, 0x260(r31) -/* 802F6718 002F32F8 80 64 00 00 */ lwz r3, 0(r4) -/* 802F671C 002F32FC 80 03 00 0C */ lwz r0, 0xc(r3) -/* 802F6720 002F3300 90 1F 02 64 */ stw r0, 0x264(r31) -/* 802F6724 002F3304 80 81 00 0C */ lwz r4, 0xc(r1) -/* 802F6728 002F3308 80 64 00 00 */ lwz r3, 0(r4) -/* 802F672C 002F330C 80 03 00 00 */ lwz r0, 0(r3) -/* 802F6730 002F3310 90 1F 02 68 */ stw r0, 0x268(r31) -/* 802F6734 002F3314 80 64 00 00 */ lwz r3, 0(r4) -/* 802F6738 002F3318 80 03 00 04 */ lwz r0, 4(r3) -/* 802F673C 002F331C 90 1F 02 6C */ stw r0, 0x26c(r31) -/* 802F6740 002F3320 80 64 00 00 */ lwz r3, 0(r4) -/* 802F6744 002F3324 80 03 00 08 */ lwz r0, 8(r3) -/* 802F6748 002F3328 90 1F 02 70 */ stw r0, 0x270(r31) -/* 802F674C 002F332C 80 64 00 00 */ lwz r3, 0(r4) -/* 802F6750 002F3330 80 03 00 0C */ lwz r0, 0xc(r3) -/* 802F6754 002F3334 90 1F 02 74 */ stw r0, 0x274(r31) -/* 802F6758 002F3338 41 82 00 18 */ beq lbl_802F6770 -/* 802F675C 002F333C 38 00 00 00 */ li r0, 0 -/* 802F6760 002F3340 98 0D B6 C0 */ stb r0, ifStatus_804D6D60(r13) -/* 802F6764 002F3344 38 7F 00 00 */ addi r3, r31, 0 -/* 802F6768 002F3348 38 80 02 58 */ li r4, 0x258 -/* 802F676C 002F334C 4B D1 59 F5 */ bl lb_8000C160 -lbl_802F6770: -/* 802F6770 002F3350 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802F6774 002F3354 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 802F6778 002F3358 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 802F677C 002F335C 38 21 00 20 */ addi r1, r1, 0x20 -/* 802F6780 002F3360 7C 08 03 A6 */ mtlr r0 -/* 802F6784 002F3364 4E 80 00 20 */ blr -} // clang-format on -#pragma pop - -#else - void ifStatus_802F66A4(void) { NOT_IMPLEMENTED; } -#endif - void ifStatus_802F6788(s32 player_idx) { HudValue* player_hud; s8 p_idx = (u8) player_idx; - player_hud = &ifStatus_804A10C8.players[p_idx & 0xFF]; + player_hud = &ifStatus_HudInfo.players[p_idx & 0xFF]; if (player_hud->HUD_parent_entity != NULL) { HSD_GObjPLink_80390228(player_hud->HUD_parent_entity); player_hud->HUD_parent_entity = NULL; @@ -2385,7 +153,7 @@ void ifStatus_802F6804(void) i = 0; do { - v = &ifStatus_804A10C8.players[i & 0xFF]; + v = &ifStatus_HudInfo.players[i & 0xFF]; if (v->HUD_parent_entity != NULL) { HSD_GObjPLink_80390228(v->HUD_parent_entity); v->HUD_parent_entity = NULL; @@ -2403,7 +171,7 @@ void ifStatus_802F6804(void) void ifStatus_802F6898(void) { s32 i; - HudIndex* v = &ifStatus_804A10C8; + HudIndex* v = &ifStatus_HudInfo; for (i = 0; i < 6; i++) { v->players[i].flags.hide_all_digits = 1; } @@ -2413,7 +181,7 @@ void ifStatus_802F6898(void) void ifStatus_802F68F0(void) { s32 i; - HudIndex* v = &ifStatus_804A10C8; + HudIndex* v = &ifStatus_HudInfo; for (i = 0; i < 6; i++) { v->players[i].flags.hide_all_digits = 0; } @@ -2426,7 +194,7 @@ void ifStatus_802F6948(s32 player_idx) HudFlags* hud_player_flags; small_thing = gm_8016AE50(); - hud_player = &ifStatus_804A10C8.players[player_idx]; + hud_player = &ifStatus_HudInfo.players[player_idx]; hud_player_flags = &hud_player->flags; if (hud_player_flags->explode_animation != 1) { hud_player_flags->explode_animation = 1; @@ -2452,7 +220,7 @@ void ifStatus_802F69C0(s32 player_idx, s32 arg1) big_thing = gm_8016AE38(); big_thing->unkD = player_idx; small_thing = gm_8016AE50(); - hud_player = &ifStatus_804A10C8.players[player_idx]; + hud_player = &ifStatus_HudInfo.players[player_idx]; hud_player_flags = &hud_player->flags; if (hud_player_flags->explode_animation != 1) { hud_player_flags->explode_animation = 1; @@ -2487,7 +255,7 @@ void ifStatus_802F6AF8(s32 player_idx) big_thing = gm_8016AE38(); big_thing->unkD = player_idx; small_thing = gm_8016AE50(); - hud_player = &ifStatus_804A10C8.players[player_idx]; + hud_player = &ifStatus_HudInfo.players[player_idx]; hud_player_flags = &hud_player->flags; if (hud_player_flags->explode_animation != 1) { hud_player_flags->explode_animation = 1; @@ -2522,7 +290,7 @@ void ifStatus_802F6C04(s32 player_idx) big_thing = gm_8016AE38(); big_thing->unkD = player_idx; small_thing = gm_8016AE50(); - hud_player = &ifStatus_804A10C8.players[player_idx]; + hud_player = &ifStatus_HudInfo.players[player_idx]; hud_player_flags = &hud_player->flags; if (hud_player_flags->explode_animation != 1) { hud_player_flags->explode_animation = 1; @@ -2557,7 +325,7 @@ void ifStatus_802F6D10(s32 player_idx) big_thing = gm_8016AE38(); big_thing->unkD = player_idx; small_thing = gm_8016AE50(); - hud_player = &ifStatus_804A10C8.players[player_idx]; + hud_player = &ifStatus_HudInfo.players[player_idx]; hud_player_flags = &hud_player->flags; if (hud_player_flags->explode_animation != 1) { hud_player_flags->explode_animation = 1; @@ -2591,7 +359,7 @@ void ifStatus_802F6E3C(s32 player_num) { HudValue* player; - player = &ifStatus_804A10C8.players[player_num]; + player = &ifStatus_HudInfo.players[player_num]; if (player->HUD_parent_entity != NULL) { HSD_GObj_80390CAC(player->HUD_parent_entity); } @@ -2601,304 +369,21 @@ void ifStatus_802F6E3C(s32 player_num) ifStock_802FB6AC(player_num); } -extern Thing_803F9628 ifStatus_803F9628; -extern f64 ifStatus_804DDAA8; - -#ifdef MUST_MATCH - -#pragma push -asm void ifStatus_802F6EA4(void) -{ // clang-format off - nofralloc -/* 802F6EA4 002F3A84 7C 08 02 A6 */ mflr r0 -/* 802F6EA8 002F3A88 2C 03 00 08 */ cmpwi r3, 8 -/* 802F6EAC 002F3A8C 90 01 00 04 */ stw r0, 4(r1) -/* 802F6EB0 002F3A90 94 21 FF C8 */ stwu r1, -0x38(r1) -/* 802F6EB4 002F3A94 BF 61 00 24 */ stmw r27, 0x24(r1) -/* 802F6EB8 002F3A98 3B A4 00 00 */ addi r29, r4, 0 -/* 802F6EBC 002F3A9C 3B 85 00 00 */ addi r28, r5, 0 -/* 802F6EC0 002F3AA0 3B C7 00 00 */ addi r30, r7, 0 -/* 802F6EC4 002F3AA4 3B E8 00 00 */ addi r31, r8, 0 -/* 802F6EC8 002F3AA8 40 82 00 68 */ bne lbl_802F6F30 -/* 802F6ECC 002F3AAC 28 1E 00 00 */ cmplwi r30, 0 -/* 802F6ED0 002F3AB0 41 82 00 14 */ beq lbl_802F6EE4 -/* 802F6ED4 002F3AB4 39 9E 00 00 */ addi r12, r30, 0 -/* 802F6ED8 002F3AB8 7D 88 03 A6 */ mtlr r12 -/* 802F6EDC 002F3ABC 38 60 FF FF */ li r3, -1 -/* 802F6EE0 002F3AC0 4E 80 00 21 */ blrl -lbl_802F6EE4: -/* 802F6EE4 002F3AC4 28 1F 00 00 */ cmplwi r31, 0 -/* 802F6EE8 002F3AC8 41 82 00 14 */ beq lbl_802F6EFC -/* 802F6EEC 002F3ACC 39 9F 00 00 */ addi r12, r31, 0 -/* 802F6EF0 002F3AD0 7D 88 03 A6 */ mtlr r12 -/* 802F6EF4 002F3AD4 38 60 FF FF */ li r3, -1 -/* 802F6EF8 002F3AD8 4E 80 00 21 */ blrl -lbl_802F6EFC: -/* 802F6EFC 002F3ADC 2C 1D 00 00 */ cmpwi r29, 0 -/* 802F6F00 002F3AE0 41 80 00 14 */ blt lbl_802F6F14 -/* 802F6F04 002F3AE4 38 7D 00 00 */ addi r3, r29, 0 -/* 802F6F08 002F3AE8 38 80 00 7F */ li r4, 0x7f -/* 802F6F0C 002F3AEC 38 A0 00 40 */ li r5, 0x40 -/* 802F6F10 002F3AF0 4B D2 C8 99 */ bl lbAudioAx_800237A8 -lbl_802F6F14: -/* 802F6F14 002F3AF4 2C 1D 00 00 */ cmpwi r29, 0 -/* 802F6F18 002F3AF8 41 80 01 08 */ blt lbl_802F7020 -/* 802F6F1C 002F3AFC 38 7C 00 00 */ addi r3, r28, 0 -/* 802F6F20 002F3B00 38 80 00 7F */ li r4, 0x7f -/* 802F6F24 002F3B04 38 A0 00 40 */ li r5, 0x40 -/* 802F6F28 002F3B08 4B D2 C8 81 */ bl lbAudioAx_800237A8 -/* 802F6F2C 002F3B0C 48 00 00 F4 */ b lbl_802F7020 -lbl_802F6F30: -/* 802F6F30 002F3B10 1C 83 00 28 */ mulli r4, r3, 0x28 -/* 802F6F34 002F3B14 3C 60 80 40 */ lis r3, ifStatus_803F9628@ha -/* 802F6F38 002F3B18 38 03 96 28 */ addi r0, r3, ifStatus_803F9628@l -/* 802F6F3C 002F3B1C 7F 60 22 14 */ add r27, r0, r4 -/* 802F6F40 002F3B20 93 BB 00 20 */ stw r29, 0x20(r27) -/* 802F6F44 002F3B24 93 9B 00 24 */ stw r28, 0x24(r27) -/* 802F6F48 002F3B28 98 DB 00 11 */ stb r6, 0x11(r27) -/* 802F6F4C 002F3B2C 80 7B 00 00 */ lwz r3, 0(r27) -/* 802F6F50 002F3B30 28 03 00 00 */ cmplwi r3, 0 -/* 802F6F54 002F3B34 41 82 00 08 */ beq lbl_802F6F5C -/* 802F6F58 002F3B38 48 09 92 D1 */ bl HSD_GObjPLink_80390228 -lbl_802F6F5C: -/* 802F6F5C 002F3B3C 38 60 00 0E */ li r3, 0xe -/* 802F6F60 002F3B40 38 80 00 0E */ li r4, 0xe -/* 802F6F64 002F3B44 38 A0 00 00 */ li r5, 0 -/* 802F6F68 002F3B48 48 09 92 89 */ bl GObj_Create -/* 802F6F6C 002F3B4C 80 9B 00 14 */ lwz r4, 0x14(r27) -/* 802F6F70 002F3B50 7C 7D 1B 78 */ mr r29, r3 -/* 802F6F74 002F3B54 80 64 00 00 */ lwz r3, 0(r4) -/* 802F6F78 002F3B58 48 07 9E CD */ bl HSD_JObjLoadJoint -/* 802F6F7C 002F3B5C 3B 83 00 00 */ addi r28, r3, 0 -/* 802F6F80 002F3B60 3C 80 08 00 */ lis r4, 0x800 -/* 802F6F84 002F3B64 4B D1 AC 95 */ bl lb_80011C18 -/* 802F6F88 002F3B68 88 8D C1 A9 */ lbz r4, HSD_GObj_804D7849(r13) -/* 802F6F8C 002F3B6C 38 7D 00 00 */ addi r3, r29, 0 -/* 802F6F90 002F3B70 38 BC 00 00 */ addi r5, r28, 0 -/* 802F6F94 002F3B74 48 09 9A DD */ bl HSD_GObjObjet_80390A70 -/* 802F6F98 002F3B78 3C 60 80 39 */ lis r3, HSD_GObj_80391070@ha -/* 802F6F9C 002F3B7C 38 83 10 70 */ addi r4, r3, HSD_GObj_80391070@l -/* 802F6FA0 002F3B80 38 7D 00 00 */ addi r3, r29, 0 -/* 802F6FA4 002F3B84 38 A0 00 0B */ li r5, 0xb -/* 802F6FA8 002F3B88 38 C0 00 00 */ li r6, 0 -/* 802F6FAC 002F3B8C 48 09 96 F1 */ bl GObj_SetupGXLink -/* 802F6FB0 002F3B90 80 9B 00 08 */ lwz r4, 8(r27) -/* 802F6FB4 002F3B94 28 04 00 00 */ cmplwi r4, 0 -/* 802F6FB8 002F3B98 41 82 00 10 */ beq lbl_802F6FC8 -/* 802F6FBC 002F3B9C 38 7D 00 00 */ addi r3, r29, 0 -/* 802F6FC0 002F3BA0 38 A0 00 00 */ li r5, 0 -/* 802F6FC4 002F3BA4 48 09 8D 91 */ bl HSD_GObjProc_8038FD54 -lbl_802F6FC8: -/* 802F6FC8 002F3BA8 80 BB 00 14 */ lwz r5, 0x14(r27) -/* 802F6FCC 002F3BAC 38 7C 00 00 */ addi r3, r28, 0 -/* 802F6FD0 002F3BB0 38 80 00 00 */ li r4, 0 -/* 802F6FD4 002F3BB4 4B D1 51 15 */ bl lb_8000C0E8 -/* 802F6FD8 002F3BB8 7F 83 E3 78 */ mr r3, r28 -/* 802F6FDC 002F3BBC C0 22 E0 C8 */ lfs f1, ifStatus_804DDAA8(r2) -/* 802F6FE0 002F3BC0 48 07 88 DD */ bl HSD_JObjReqAnimAll -/* 802F6FE4 002F3BC4 7F 83 E3 78 */ mr r3, r28 -/* 802F6FE8 002F3BC8 48 07 99 41 */ bl HSD_JObjAnimAll -/* 802F6FEC 002F3BCC 88 1B 00 12 */ lbz r0, 0x12(r27) -/* 802F6FF0 002F3BD0 38 60 00 00 */ li r3, 0 -/* 802F6FF4 002F3BD4 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18 -/* 802F6FF8 002F3BD8 98 1B 00 12 */ stb r0, 0x12(r27) -/* 802F6FFC 002F3BDC 88 1B 00 12 */ lbz r0, 0x12(r27) -/* 802F7000 002F3BE0 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19 -/* 802F7004 002F3BE4 98 1B 00 12 */ stb r0, 0x12(r27) -/* 802F7008 002F3BE8 88 1B 00 12 */ lbz r0, 0x12(r27) -/* 802F700C 002F3BEC 50 60 2E B4 */ rlwimi r0, r3, 5, 0x1a, 0x1a -/* 802F7010 002F3BF0 98 1B 00 12 */ stb r0, 0x12(r27) -/* 802F7014 002F3BF4 93 BB 00 00 */ stw r29, 0(r27) -/* 802F7018 002F3BF8 93 DB 00 18 */ stw r30, 0x18(r27) -/* 802F701C 002F3BFC 93 FB 00 1C */ stw r31, 0x1c(r27) -lbl_802F7020: -/* 802F7020 002F3C00 BB 61 00 24 */ lmw r27, 0x24(r1) -/* 802F7024 002F3C04 80 01 00 3C */ lwz r0, 0x3c(r1) -/* 802F7028 002F3C08 38 21 00 38 */ addi r1, r1, 0x38 -/* 802F702C 002F3C0C 7C 08 03 A6 */ mtlr r0 -/* 802F7030 002F3C10 4E 80 00 20 */ blr -} // clang-format on -#pragma pop - -#else - void ifStatus_802F6EA4(void) { NOT_IMPLEMENTED; } -#endif - -#ifdef MUST_MATCH - -#pragma push -asm void ifStatus_802F7034(void) -{ // clang-format off - nofralloc -/* 802F7034 002F3C14 7C 08 02 A6 */ mflr r0 -/* 802F7038 002F3C18 90 01 00 04 */ stw r0, 4(r1) -/* 802F703C 002F3C1C 94 21 FF E8 */ stwu r1, -0x18(r1) -/* 802F7040 002F3C20 93 E1 00 14 */ stw r31, 0x14(r1) -/* 802F7044 002F3C24 7C 7F 1B 78 */ mr r31, r3 -/* 802F7048 002F3C28 4B E7 3D F1 */ bl gm_8016AE38 -/* 802F704C 002F3C2C 80 83 00 10 */ lwz r4, 0x10(r3) -/* 802F7050 002F3C30 2C 04 00 00 */ cmpwi r4, 0 -/* 802F7054 002F3C34 41 82 00 0C */ beq lbl_802F7060 -/* 802F7058 002F3C38 38 84 FF FF */ addi r4, r4, -1 -/* 802F705C 002F3C3C 48 00 00 08 */ b lbl_802F7064 -lbl_802F7060: -/* 802F7060 002F3C40 38 80 FF FF */ li r4, -1 -lbl_802F7064: -/* 802F7064 002F3C44 80 A3 00 14 */ lwz r5, 0x14(r3) -/* 802F7068 002F3C48 2C 05 00 00 */ cmpwi r5, 0 -/* 802F706C 002F3C4C 41 82 00 0C */ beq lbl_802F7078 -/* 802F7070 002F3C50 38 A5 FF FF */ addi r5, r5, -1 -/* 802F7074 002F3C54 48 00 00 08 */ b lbl_802F707C -lbl_802F7078: -/* 802F7078 002F3C58 38 A0 FF FF */ li r5, -1 -lbl_802F707C: -/* 802F707C 002F3C5C 88 03 00 18 */ lbz r0, 0x18(r3) -/* 802F7080 002F3C60 28 00 00 00 */ cmplwi r0, 0 -/* 802F7084 002F3C64 41 82 00 0C */ beq lbl_802F7090 -/* 802F7088 002F3C68 7C 06 03 78 */ mr r6, r0 -/* 802F708C 002F3C6C 48 00 00 08 */ b lbl_802F7094 -lbl_802F7090: -/* 802F7090 002F3C70 38 C0 00 00 */ li r6, 0 -lbl_802F7094: -/* 802F7094 002F3C74 89 03 00 0B */ lbz r8, 0xb(r3) -/* 802F7098 002F3C78 28 08 00 00 */ cmplwi r8, 0 -/* 802F709C 002F3C7C 41 82 00 18 */ beq lbl_802F70B4 -/* 802F70A0 002F3C80 38 68 FF FF */ addi r3, r8, -1 -/* 802F70A4 002F3C84 38 FF 00 00 */ addi r7, r31, 0 -/* 802F70A8 002F3C88 39 00 00 00 */ li r8, 0 -/* 802F70AC 002F3C8C 4B FF FD F9 */ bl ifStatus_802F6EA4 -/* 802F70B0 002F3C90 48 00 00 70 */ b lbl_802F7120 -lbl_802F70B4: -/* 802F70B4 002F3C94 88 E3 00 08 */ lbz r7, 8(r3) -/* 802F70B8 002F3C98 28 07 00 01 */ cmplwi r7, 1 -/* 802F70BC 002F3C9C 40 82 00 18 */ bne lbl_802F70D4 -/* 802F70C0 002F3CA0 38 FF 00 00 */ addi r7, r31, 0 -/* 802F70C4 002F3CA4 38 60 00 00 */ li r3, 0 -/* 802F70C8 002F3CA8 39 00 00 00 */ li r8, 0 -/* 802F70CC 002F3CAC 4B FF FD D9 */ bl ifStatus_802F6EA4 -/* 802F70D0 002F3CB0 48 00 00 50 */ b lbl_802F7120 -lbl_802F70D4: -/* 802F70D4 002F3CB4 88 03 24 CD */ lbz r0, 0x24cd(r3) -/* 802F70D8 002F3CB8 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f -/* 802F70DC 002F3CBC 41 82 00 34 */ beq lbl_802F7110 -/* 802F70E0 002F3CC0 28 07 00 06 */ cmplwi r7, 6 -/* 802F70E4 002F3CC4 40 82 00 18 */ bne lbl_802F70FC -/* 802F70E8 002F3CC8 38 FF 00 00 */ addi r7, r31, 0 -/* 802F70EC 002F3CCC 38 60 00 07 */ li r3, 7 -/* 802F70F0 002F3CD0 39 00 00 00 */ li r8, 0 -/* 802F70F4 002F3CD4 4B FF FD B1 */ bl ifStatus_802F6EA4 -/* 802F70F8 002F3CD8 48 00 00 28 */ b lbl_802F7120 -lbl_802F70FC: -/* 802F70FC 002F3CDC 38 FF 00 00 */ addi r7, r31, 0 -/* 802F7100 002F3CE0 38 60 00 06 */ li r3, 6 -/* 802F7104 002F3CE4 39 00 00 00 */ li r8, 0 -/* 802F7108 002F3CE8 4B FF FD 9D */ bl ifStatus_802F6EA4 -/* 802F710C 002F3CEC 48 00 00 14 */ b lbl_802F7120 -lbl_802F7110: -/* 802F7110 002F3CF0 38 FF 00 00 */ addi r7, r31, 0 -/* 802F7114 002F3CF4 38 60 00 05 */ li r3, 5 -/* 802F7118 002F3CF8 39 00 00 00 */ li r8, 0 -/* 802F711C 002F3CFC 4B FF FD 89 */ bl ifStatus_802F6EA4 -lbl_802F7120: -/* 802F7120 002F3D00 80 01 00 1C */ lwz r0, 0x1c(r1) -/* 802F7124 002F3D04 83 E1 00 14 */ lwz r31, 0x14(r1) -/* 802F7128 002F3D08 38 21 00 18 */ addi r1, r1, 0x18 -/* 802F712C 002F3D0C 7C 08 03 A6 */ mtlr r0 -/* 802F7130 002F3D10 4E 80 00 20 */ blr -} // clang-format on -#pragma pop - -#else - void ifStatus_802F7034(void) { NOT_IMPLEMENTED; } -#endif - -#ifdef MUST_MATCH - -#pragma push -asm void ifStatus_802F7134(void) -{ // clang-format off - nofralloc -/* 802F7134 002F3D14 7C 08 02 A6 */ mflr r0 -/* 802F7138 002F3D18 3C 60 80 40 */ lis r3, ifStatus_803F9628@ha -/* 802F713C 002F3D1C 90 01 00 04 */ stw r0, 4(r1) -/* 802F7140 002F3D20 38 00 00 00 */ li r0, 0 -/* 802F7144 002F3D24 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 802F7148 002F3D28 93 E1 00 2C */ stw r31, 0x2c(r1) -/* 802F714C 002F3D2C 3B E3 96 28 */ addi r31, r3, ifStatus_803F9628@l -/* 802F7150 002F3D30 90 1F 00 00 */ stw r0, 0(r31) -/* 802F7154 002F3D34 90 1F 00 04 */ stw r0, 4(r31) -/* 802F7158 002F3D38 90 1F 00 28 */ stw r0, 0x28(r31) -/* 802F715C 002F3D3C 90 1F 00 2C */ stw r0, 0x2c(r31) -/* 802F7160 002F3D40 90 1F 00 50 */ stw r0, 0x50(r31) -/* 802F7164 002F3D44 90 1F 00 54 */ stw r0, 0x54(r31) -/* 802F7168 002F3D48 90 1F 00 78 */ stw r0, 0x78(r31) -/* 802F716C 002F3D4C 90 1F 00 7C */ stw r0, 0x7c(r31) -/* 802F7170 002F3D50 90 1F 00 A0 */ stw r0, 0xa0(r31) -/* 802F7174 002F3D54 90 1F 00 A4 */ stw r0, 0xa4(r31) -/* 802F7178 002F3D58 90 1F 00 C8 */ stw r0, 0xc8(r31) -/* 802F717C 002F3D5C 90 1F 00 CC */ stw r0, 0xcc(r31) -/* 802F7180 002F3D60 90 1F 00 F0 */ stw r0, 0xf0(r31) -/* 802F7184 002F3D64 90 1F 00 F4 */ stw r0, 0xf4(r31) -/* 802F7188 002F3D68 90 1F 01 18 */ stw r0, 0x118(r31) -/* 802F718C 002F3D6C 90 1F 01 1C */ stw r0, 0x11c(r31) -/* 802F7190 002F3D70 4B FF C5 01 */ bl ifAll_802F3690 -/* 802F7194 002F3D74 80 63 00 00 */ lwz r3, 0(r3) -/* 802F7198 002F3D78 38 81 00 1C */ addi r4, r1, 0x1c -/* 802F719C 002F3D7C 38 BF 01 40 */ addi r5, r31, 0x140 -/* 802F71A0 002F3D80 4C C6 31 82 */ crclr 6 -/* 802F71A4 002F3D84 38 C0 00 00 */ li r6, 0 -/* 802F71A8 002F3D88 4B D1 F9 49 */ bl lbArchive_80016AF0 -/* 802F71AC 002F3D8C 80 61 00 1C */ lwz r3, 0x1c(r1) -/* 802F71B0 002F3D90 80 03 00 00 */ lwz r0, 0(r3) -/* 802F71B4 002F3D94 90 1F 00 14 */ stw r0, 0x14(r31) -/* 802F71B8 002F3D98 80 61 00 1C */ lwz r3, 0x1c(r1) -/* 802F71BC 002F3D9C 80 03 00 04 */ lwz r0, 4(r3) -/* 802F71C0 002F3DA0 90 1F 00 3C */ stw r0, 0x3c(r31) -/* 802F71C4 002F3DA4 80 61 00 1C */ lwz r3, 0x1c(r1) -/* 802F71C8 002F3DA8 80 03 00 08 */ lwz r0, 8(r3) -/* 802F71CC 002F3DAC 90 1F 00 64 */ stw r0, 0x64(r31) -/* 802F71D0 002F3DB0 80 61 00 1C */ lwz r3, 0x1c(r1) -/* 802F71D4 002F3DB4 80 03 00 0C */ lwz r0, 0xc(r3) -/* 802F71D8 002F3DB8 90 1F 00 8C */ stw r0, 0x8c(r31) -/* 802F71DC 002F3DBC 80 61 00 1C */ lwz r3, 0x1c(r1) -/* 802F71E0 002F3DC0 80 03 00 10 */ lwz r0, 0x10(r3) -/* 802F71E4 002F3DC4 90 1F 00 B4 */ stw r0, 0xb4(r31) -/* 802F71E8 002F3DC8 80 61 00 1C */ lwz r3, 0x1c(r1) -/* 802F71EC 002F3DCC 80 03 00 14 */ lwz r0, 0x14(r3) -/* 802F71F0 002F3DD0 90 1F 00 DC */ stw r0, 0xdc(r31) -/* 802F71F4 002F3DD4 80 61 00 1C */ lwz r3, 0x1c(r1) -/* 802F71F8 002F3DD8 80 03 00 18 */ lwz r0, 0x18(r3) -/* 802F71FC 002F3DDC 90 1F 01 04 */ stw r0, 0x104(r31) -/* 802F7200 002F3DE0 80 61 00 1C */ lwz r3, 0x1c(r1) -/* 802F7204 002F3DE4 80 03 00 1C */ lwz r0, 0x1c(r3) -/* 802F7208 002F3DE8 90 1F 01 2C */ stw r0, 0x12c(r31) -/* 802F720C 002F3DEC 80 01 00 34 */ lwz r0, 0x34(r1) -/* 802F7210 002F3DF0 83 E1 00 2C */ lwz r31, 0x2c(r1) -/* 802F7214 002F3DF4 38 21 00 30 */ addi r1, r1, 0x30 -/* 802F7218 002F3DF8 7C 08 03 A6 */ mtlr r0 -/* 802F721C 002F3DFC 4E 80 00 20 */ blr -} // clang-format on -#pragma pop - -#else - void ifStatus_802F7134(void) { NOT_IMPLEMENTED; } -#endif - // free void ifStatus_802F7220(void) { diff --git a/src/melee/if/ifstatus.h b/src/melee/if/ifstatus.h index 7a915e3dc..a4fa0829d 100644 --- a/src/melee/if/ifstatus.h +++ b/src/melee/if/ifstatus.h @@ -1,241 +1,38 @@ -#ifndef MELEE_IF_IFSTATUS_H -#define MELEE_IF_IFSTATUS_H +#ifndef GALE01_2F4910 +#define GALE01_2F4910 #include +#include "if/forward.h" #include -#include "pl/player.h" - -#include -#include -#include -#include - -typedef struct _HudFlags { - u8 explode_animation : 1; - u8 unk40 : 1; - u8 force_digit_shake : 1; - u8 unk10 : 1; - u8 hide_all_digits : 1; - u8 animation_status_id : 2; - u8 unk1 : 1; -} HudFlags; - -typedef struct _UnknownClassTypeE { - s32 padding[0x24]; - HSD_JObj* unk28; -} UnknownClassTypeE; - -typedef struct _HudValue { - // pointer to "unknown class type E" - // 0x00 - HSD_GObj* HUD_parent_entity; - // probably a pointer to "unknown class type E" - // 0x04 - HSD_GObj* next; - // represents players 1-6 - // TODO: list if this 0 indexed, or what - // 0x08 - u8 player_slot; - // 0x09 - u8 unk9; - // damage as int - // 0x0A - u16 damage_percent; - // 0x0C - u16 old_damage; - // 0x0E - u8 damage_from_last_attack; - // 0x0F - u8 frames_of_shake_remaining; - // 0x10 - HudFlags flags; - // 0x14 - f32 hundreds_digit_x_translation; - // 0x18 - f32 tens_digit_x_translation; - // 0x1C - f32 ones_digit_x_translation; - // 0x20 - f32 percent_sign_x_translation; - // 0x24 - f32 hundreds_digit_y_translation; - // 0x28 - f32 tens_digit_y_translation; - f32 ones_digit_y_translation; - f32 percent_sign_y_translation; - f32 hundreds_x_velocity; - f32 hundreds_y_velocity; - f32 tens_x_velocity; - f32 tens_y_velocity; - f32 ones_x_velocity; - f32 ones_y_velocity; - f32 percent_sign_x_velocity; - f32 percent_sign_y_velocity; - HSD_JObj* hundreds_jobj; - HSD_JObj* tens_jobj; - HSD_JObj* ones_jobj; - HSD_JObj* percent_sign_jobj; -} HudValue; - -typedef struct _HudIndex { - HudValue players[6]; - // 258 unk - HSD_Joint* unk258; - // 0x25c - void* jobj_desc_parent; - // 0x260 - HSD_AnimJoint* janim_selection_joints; - // 0x264 - void* janim_selection_textures; - // 0x268 null? - void* unk268; - void* unk26C; - void* unk270; - void* unk274; - // 8 elements of size 0x28, what is this? -} HudIndex; - -typedef struct _Element_803F9628_Obj_14 { - s32 padding[6]; - s32 unk1C; -} Element_803F9628_Obj_14; - -typedef struct _Element_803F9628 { - // 0x00 - // maybe? - HSD_GObj* unk0; - // 0x04 - u32 unk4; - // 0x08 - void* unk8; - // 0x0C - // flags? - u32 unkC; - // 0x10 - // flags? - u32 unk10; - // 0x14 - s32 unk14; - // 0x18 - u32 unk18; - // 0x1C - u32 unk1C; - // 0x20 - u32 unk20; - // 0x24 - u32 unk24; - // 0x28 - // u32 unk40; -} Element_803F9628; - -typedef struct _Thing_803F9628 { - Element_803F9628 things[8]; - u32 extra[6]; -} Thing_803F9628; - -typedef struct _Coordinate3D { - f32 x; - f32 y; - f32 z; -} Coordinate3D; - -typedef struct _Placeholder_8016AE38_flags { - u8 unk80 : 1; - u8 unk40 : 1; - u8 unk20 : 1; - u8 unk10 : 1; - u8 unk8 : 1; - u8 unk4 : 1; - u8 unk2 : 1; - u8 unk1 : 1; -} Placeholder_8016AE38_flags; - -typedef struct _Placeholder_8016AE38_flags_2 { - u8 top3 : 3; - u8 bot5 : 5; -} Placeholder_8016AE38_flags_2; - -// When we figure out what that function is, replace this type with an actual -// type -typedef struct _Placeholder_8016AE38_ret_val { - u32 unk0; - u32 unk4; - u32 unk8; - u8 unkC; - u8 unkD; - u8 unkE; - u8 unkF; - u32 padding[0x931 - 3]; - Placeholder_8016AE38_flags_2 unk24C8; - u8 unk24C9; - Placeholder_8016AE38_flags unk24CA; -} Placeholder_8016AE38_ret_val; - -typedef struct _Placeholder_8016AE50_flags { - u8 unk80 : 1; - u8 unk40 : 1; - u8 unk20 : 1; - u8 unk10 : 1; - u8 unk8 : 1; - u8 unk4 : 1; - u8 unk2 : 1; - u8 unk1 : 1; -} Placeholder_8016AE50_flags; - -// When we figure out what that function is, replace this type with an actual -// type -typedef struct _Placeholder_8016AE50_ret_val { - u8 unk0; - u8 unk1; - Placeholder_8016AE50_flags flags; -} Placeholder_8016AE50_ret_val; - -// external functions we need -// takes HSD obj* ? -// extern void func_80391CAC(void*); -extern void ifStock_802FB6AC(s32); -extern Placeholder_8016AE38_ret_val* gm_8016AE38(void); -extern Placeholder_8016AE50_ret_val* gm_8016AE50(void); -extern void gm_8016B8D4(s32, s32); -extern void if_802F7C30(s32); -extern void if_802F7AF8(s32); -extern void if_802F7D08(s32); -extern void if_802F7BB4(s32); -extern void ifStock_802FB650(s32); - -// functions defined in this file - -HudIndex* ifStatus_802F4910(void); -HSD_GObj* ifStatus_802F6194(HSD_GObj*, s32); -void ifStatus_802F6508(s32); -void ifStatus_802F665C(s8); -void ifStatus_802F6788(s32); -void ifStatus_802F6804(void); -void ifStatus_802F6898(void); -void ifStatus_802F68F0(void); -void ifStatus_802F6948(s32); -void ifStatus_802F69C0(s32, s32); -void ifStatus_802F6AF8(s32); -void ifStatus_802F6C04(s32); -void ifStatus_802F6D10(s32); -void ifStatus_802F6E1C(int slot); -void ifStatus_802F6E3C(s32); -void ifStatus_802F7220(void); - -extern HudIndex ifStatus_804A10C8; // global array of HUD info - -void ifStatus_802F5B48(void); -void ifStatus_802F5DE0(HSD_GObj* player, s32 arg1); -void ifStatus_802F5E50(void); -void ifStatus_802F5EC0(void); -void ifStatus_802F61FC(void); -void ifStatus_802F66A4(void); -void ifStatus_802F4B84(void); -void ifStatus_802F6EA4(void); -void ifStatus_802F7034(void); -void ifStatus_802F7134(void); -void ifStatus_802F4EDC(void); -void ifStatus_802F491C(void); +/* 2F4910 */ HudIndex* ifStatus_802F4910(void); +/* 2F491C */ void ifStatus_802F491C(void); +/* 2F4B84 */ void ifStatus_802F4B84(void); +/* 2F4EDC */ void ifStatus_802F4EDC(void); +/* 2F5B48 */ void ifStatus_802F5B48(void); +/* 2F5DE0 */ void ifStatus_802F5DE0(HSD_GObj* player, s32 arg1); +/* 2F5E50 */ void ifStatus_802F5E50(void); +/* 2F5EC0 */ void ifStatus_802F5EC0(void); +/* 2F6194 */ HSD_GObj* ifStatus_802F6194(HSD_GObj*, s32); +/* 2F61FC */ void ifStatus_802F61FC(void); +/* 2F6508 */ void ifStatus_802F6508(s32); +/* 2F665C */ void ifStatus_802F665C(s8); +/* 2F66A4 */ void ifStatus_802F66A4(void); +/* 2F6788 */ void ifStatus_802F6788(s32); +/* 2F6804 */ void ifStatus_802F6804(void); +/* 2F6898 */ void ifStatus_802F6898(void); +/* 2F68F0 */ void ifStatus_802F68F0(void); +/* 2F6948 */ void ifStatus_802F6948(s32); +/* 2F69C0 */ void ifStatus_802F69C0(s32, s32); +/* 2F6AF8 */ void ifStatus_802F6AF8(s32); +/* 2F6C04 */ void ifStatus_802F6C04(s32); +/* 2F6D10 */ void ifStatus_802F6D10(s32); +/* 2F6E1C */ void ifStatus_802F6E1C(int slot); +/* 2F6E3C */ void ifStatus_802F6E3C(s32); +/* 2F6EA4 */ void ifStatus_802F6EA4(void); +/* 2F7034 */ void ifStatus_802F7034(void); +/* 2F7134 */ void ifStatus_802F7134(void); +/* 2F7220 */ void ifStatus_802F7220(void); +/* 4A10C8 */ extern HudIndex ifStatus_HudInfo; #endif diff --git a/src/melee/if/ifstock.h b/src/melee/if/ifstock.h index 7bb020166..85b2c4756 100644 --- a/src/melee/if/ifstock.h +++ b/src/melee/if/ifstock.h @@ -1,8 +1,10 @@ -#ifndef MELEE_IF_IFSTOCK_H -#define MELEE_IF_IFSTOCK_H +#ifndef GALE01_2F7EFC +#define GALE01_2F7EFC #include -void ifStock_802F98E8(void); +/* 2F98E8 */ void ifStock_802F98E8(void); +/* 2FB650 */ void ifStock_802FB650(s32); +/* 2FB6AC */ void ifStock_802FB6AC(s32); #endif diff --git a/src/melee/if/types.h b/src/melee/if/types.h new file mode 100644 index 000000000..45c62403a --- /dev/null +++ b/src/melee/if/types.h @@ -0,0 +1,170 @@ +#ifndef MELEE_IF_TYPES_H +#define MELEE_IF_TYPES_H + +#include +#include "if/forward.h" // IWYU pragma: export +#include + +struct HudFlags { + u8 explode_animation : 1; + u8 unk40 : 1; + u8 force_digit_shake : 1; + u8 unk10 : 1; + u8 hide_all_digits : 1; + u8 animation_status_id : 2; + u8 unk1 : 1; +}; + +struct UnknownClassTypeE { + s32 padding[0x24]; + HSD_JObj* unk28; +}; + +struct HudValue { + // pointer to "unknown class type E" + // 0x00 + HSD_GObj* HUD_parent_entity; + // probably a pointer to "unknown class type E" + // 0x04 + HSD_GObj* next; + // represents players 1-6 + // TODO: list if this 0 indexed, or what + // 0x08 + u8 player_slot; + // 0x09 + u8 unk9; + // damage as int + // 0x0A + u16 damage_percent; + // 0x0C + u16 old_damage; + // 0x0E + u8 damage_from_last_attack; + // 0x0F + u8 frames_of_shake_remaining; + // 0x10 + HudFlags flags; + // 0x14 + f32 hundreds_digit_x_translation; + // 0x18 + f32 tens_digit_x_translation; + // 0x1C + f32 ones_digit_x_translation; + // 0x20 + f32 percent_sign_x_translation; + // 0x24 + f32 hundreds_digit_y_translation; + // 0x28 + f32 tens_digit_y_translation; + f32 ones_digit_y_translation; + f32 percent_sign_y_translation; + f32 hundreds_x_velocity; + f32 hundreds_y_velocity; + f32 tens_x_velocity; + f32 tens_y_velocity; + f32 ones_x_velocity; + f32 ones_y_velocity; + f32 percent_sign_x_velocity; + f32 percent_sign_y_velocity; + HSD_JObj* hundreds_jobj; + HSD_JObj* tens_jobj; + HSD_JObj* ones_jobj; + HSD_JObj* percent_sign_jobj; +}; + +struct HudIndex { + HudValue players[6]; + // 258 unk + HSD_Joint* unk258; + // 0x25c + void* jobj_desc_parent; + // 0x260 + HSD_AnimJoint* janim_selection_joints; + // 0x264 + void* janim_selection_textures; + // 0x268 null? + void* unk268; + void* unk26C; + void* unk270; + void* unk274; + // 8 elements of size 0x28, what is this? +}; + +struct Element_803F9628_Obj_14 { + s32 padding[6]; + s32 unk1C; +}; + +struct Element_803F9628 { + // 0x00 + // maybe? + HSD_GObj* unk0; + // 0x04 + u32 unk4; + // 0x08 + void* unk8; + // 0x0C + // flags? + u32 unkC; + // 0x10 + // flags? + u32 unk10; + // 0x14 + s32 unk14; + // 0x18 + u32 unk18; + // 0x1C + u32 unk1C; + // 0x20 + u32 unk20; + // 0x24 + u32 unk24; + // 0x28 + // u32 unk40; +}; + +struct Thing_803F9628 { + Element_803F9628 things[8]; + u32 extra[6]; +}; + +struct Placeholder_8016AE50_flags { + u8 unk80 : 1; + u8 unk40 : 1; + u8 unk20 : 1; + u8 unk10 : 1; + u8 unk8 : 1; + u8 unk4 : 1; + u8 unk2 : 1; + u8 unk1 : 1; +}; + +struct Placeholder_8016AE50_ret_val { + u8 unk0; + u8 unk1; + Placeholder_8016AE50_flags flags; +}; + +struct ifMagnify { + HSD_Joint* joint; // // ifMagnify_802fc3c0 accesses 0x804A1DE0 for a Joint + int x4; + int x8; + int xC; + int x10; + struct { + HSD_GObj* gobj; // ifMagnify_802fc750 accesses 0x804A1DF4 + slot * 0x10 + // for a GObj + HSD_TObj* tobj; // ifMagnify_802fc3c0 accesses 0x804A1DF8 + slot * 0x10 + // for a TObj + HSD_ImageDesc* + idesc; // ifMagnify_802FBBDC access 0x804A1DFC for an ImageDesc + struct { + u8 is_offscreen : 1; + u8 ignore_offscreen : 1; + u8 unk : 6; + } state; + } player[6]; + u8 unk[0xF0 - 0x74]; +}; + +#endif diff --git a/tools/rust-utils/src/utils.rs b/tools/rust-utils/src/utils.rs index bfff22119..2fb81b634 100644 --- a/tools/rust-utils/src/utils.rs +++ b/tools/rust-utils/src/utils.rs @@ -39,8 +39,11 @@ lazy_static! { .expect("Failed to parse ldscript glob.") ) .add( - Glob::new(&format!("{}/config/**/{{symbols,splits}}.txt", *ROOT_STR)) - .expect("Failed to parse dtk config glob.") + Glob::new(&format!( + "{}/config/**/{{symbols,splits}}.txt", + *ROOT_STR + )) + .expect("Failed to parse dtk config glob.") ) .build() .expect("Failed to create SRC_FILES glob."); @@ -84,9 +87,10 @@ pub fn replace(from: &Regex, to: &str, path: impl AsRef) -> Result<()> { } fn is_identifier(c: char) -> bool { - matches!(c, 'a'..='z' | 'A'..='Z' | '0'..='9' | '_' | '.') + matches!(c, 'a'..='z' | 'A'..='Z' | '0'..='9' | '_') } +/// TODO: Rewrite this using simple regex or nom pub fn replace_symbols( path: impl AsRef, replacements: &HashMap,