diff --git a/include/variables.h b/include/variables.h index e667599b..f7a6f9ea 100644 --- a/include/variables.h +++ b/include/variables.h @@ -6,6 +6,8 @@ #include "dolphin/os.h" #include "dolphin/gx/GXStruct.h" +#define M_PI 3.141592653589793 + extern u16 HuPadBtnDown[4]; extern u8 HuPadDStk[4]; diff --git a/src/REL/m401Dll/asm/auto_00_00000000_text.s b/src/REL/m401Dll/asm/auto_00_00000000_text.s index 6a656938..bf37148a 100644 --- a/src/REL/m401Dll/asm/auto_00_00000000_text.s +++ b/src/REL/m401Dll/asm/auto_00_00000000_text.s @@ -1,1021 +1,3 @@ -.fn fn_2_70C, global -/* 0000070C 000007CC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 00000710 000007D0 7C 08 02 A6 */ mflr r0 -/* 00000714 000007D4 90 01 00 24 */ stw r0, 0x24(r1) -/* 00000718 000007D8 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 0000071C 000007DC 93 C1 00 18 */ stw r30, 0x18(r1) -/* 00000720 000007E0 93 A1 00 14 */ stw r29, 0x14(r1) -/* 00000724 000007E4 93 81 00 10 */ stw r28, 0x10(r1) -/* 00000728 000007E8 7C 7C 1B 78 */ mr r28, r3 -/* 0000072C 000007EC 3C 60 00 00 */ lis r3, lbl_2_bss_120@ha -/* 00000730 000007F0 38 63 00 00 */ addi r3, r3, lbl_2_bss_120@l -/* 00000734 000007F4 A8 03 00 00 */ lha r0, 0x0(r3) -/* 00000738 000007F8 2C 00 00 01 */ cmpwi r0, 0x1 -/* 0000073C 000007FC 41 82 00 1C */ beq .L_00000758 -/* 00000740 00000800 40 80 00 0C */ bge .L_0000074C -/* 00000744 00000804 2C 00 00 00 */ cmpwi r0, 0x0 -/* 00000748 00000808 48 00 02 54 */ b .L_0000099C -.L_0000074C: -/* 0000074C 0000080C 2C 00 00 03 */ cmpwi r0, 0x3 -/* 00000750 00000810 40 80 02 4C */ bge .L_0000099C -/* 00000754 00000814 48 00 00 5C */ b .L_000007B0 -.L_00000758: -/* 00000758 00000818 3C 60 00 00 */ lis r3, lbl_2_bss_BE@ha -/* 0000075C 0000081C 38 63 00 00 */ addi r3, r3, lbl_2_bss_BE@l -/* 00000760 00000820 A8 03 00 00 */ lha r0, 0x0(r3) -/* 00000764 00000824 2C 00 00 01 */ cmpwi r0, 0x1 -/* 00000768 00000828 40 82 02 34 */ bne .L_0000099C -/* 0000076C 0000082C 38 00 00 02 */ li r0, 0x2 -/* 00000770 00000830 3C 60 00 00 */ lis r3, lbl_2_bss_120@ha -/* 00000774 00000834 38 63 00 00 */ addi r3, r3, lbl_2_bss_120@l -/* 00000778 00000838 B0 03 00 00 */ sth r0, 0x0(r3) -/* 0000077C 0000083C 38 60 00 03 */ li r3, 0x3 -/* 00000780 00000840 38 80 00 01 */ li r4, 0x1 -/* 00000784 00000844 4C C6 31 82 */ crclr cr1eq -/* 00000788 00000848 48 00 00 01 */ bl fn_80035794 -/* 0000078C 0000084C 3C 80 00 00 */ lis r4, lbl_2_bss_C0@ha -/* 00000790 00000850 38 84 00 00 */ addi r4, r4, lbl_2_bss_C0@l -/* 00000794 00000854 B0 64 00 00 */ sth r3, 0x0(r4) -/* 00000798 00000858 3C 60 00 00 */ lis r3, lbl_2_bss_A4@ha -/* 0000079C 0000085C 38 63 00 00 */ addi r3, r3, lbl_2_bss_A4@l -/* 000007A0 00000860 80 63 00 00 */ lwz r3, 0x0(r3) -/* 000007A4 00000864 38 80 00 64 */ li r4, 0x64 -/* 000007A8 00000868 48 00 00 01 */ bl fn_80033140 -/* 000007AC 0000086C 48 00 01 F0 */ b .L_0000099C -.L_000007B0: -/* 000007B0 00000870 3C 60 00 00 */ lis r3, lbl_2_bss_114@ha -/* 000007B4 00000874 38 63 00 00 */ addi r3, r3, lbl_2_bss_114@l -/* 000007B8 00000878 80 63 00 00 */ lwz r3, 0x0(r3) -/* 000007BC 0000087C 38 00 00 00 */ li r0, 0x0 -/* 000007C0 00000880 7C 03 00 40 */ cmplw r3, r0 -/* 000007C4 00000884 40 82 01 D8 */ bne .L_0000099C -/* 000007C8 00000888 48 00 00 01 */ bl HuPrcCurrentGet -/* 000007CC 0000088C 38 80 03 E8 */ li r4, 0x3e8 -/* 000007D0 00000890 38 A0 00 00 */ li r5, 0x0 -/* 000007D4 00000894 38 C0 00 00 */ li r6, 0x0 -/* 000007D8 00000898 38 E0 FF FF */ li r7, -0x1 -/* 000007DC 0000089C 3D 00 00 00 */ lis r8, fn_2_C130@ha -/* 000007E0 000008A0 39 08 00 00 */ addi r8, r8, fn_2_C130@l -/* 000007E4 000008A4 48 00 00 01 */ bl fn_8002F454 -/* 000007E8 000008A8 3C 80 00 00 */ lis r4, lbl_2_bss_114@ha -/* 000007EC 000008AC 38 84 00 00 */ addi r4, r4, lbl_2_bss_114@l -/* 000007F0 000008B0 90 64 00 00 */ stw r3, 0x0(r4) -/* 000007F4 000008B4 38 00 00 00 */ li r0, 0x0 -/* 000007F8 000008B8 3C 60 00 00 */ lis r3, lbl_2_bss_114@ha -/* 000007FC 000008BC 38 63 00 00 */ addi r3, r3, lbl_2_bss_114@l -/* 00000800 000008C0 80 63 00 00 */ lwz r3, 0x0(r3) -/* 00000804 000008C4 90 03 00 4C */ stw r0, 0x4c(r3) -/* 00000808 000008C8 3B A0 00 00 */ li r29, 0x0 -/* 0000080C 000008CC 38 00 00 00 */ li r0, 0x0 -/* 00000810 000008D0 3C 60 00 00 */ lis r3, lbl_2_bss_BA@ha -/* 00000814 000008D4 38 63 00 00 */ addi r3, r3, lbl_2_bss_BA@l -/* 00000818 000008D8 B0 03 00 00 */ sth r0, 0x0(r3) -/* 0000081C 000008DC 3B E0 00 00 */ li r31, 0x0 -/* 00000820 000008E0 48 00 00 98 */ b .L_000008B8 -.L_00000824: -/* 00000824 000008E4 3C 60 00 00 */ lis r3, lbl_2_bss_118@ha -/* 00000828 000008E8 38 63 00 00 */ addi r3, r3, lbl_2_bss_118@l -/* 0000082C 000008EC 80 63 00 00 */ lwz r3, 0x0(r3) -/* 00000830 000008F0 57 E0 10 3A */ slwi r0, r31, 2 -/* 00000834 000008F4 7C 63 00 2E */ lwzx r3, r3, r0 -/* 00000838 000008F8 83 C3 00 5C */ lwz r30, 0x5c(r3) -/* 0000083C 000008FC 3C 60 00 00 */ lis r3, fn_2_48A0@ha -/* 00000840 00000900 38 83 00 00 */ addi r4, r3, fn_2_48A0@l -/* 00000844 00000904 3C 60 00 00 */ lis r3, lbl_2_bss_118@ha -/* 00000848 00000908 38 63 00 00 */ addi r3, r3, lbl_2_bss_118@l -/* 0000084C 0000090C 80 63 00 00 */ lwz r3, 0x0(r3) -/* 00000850 00000910 57 E0 10 3A */ slwi r0, r31, 2 -/* 00000854 00000914 7C 63 00 2E */ lwzx r3, r3, r0 -/* 00000858 00000918 90 83 00 14 */ stw r4, 0x14(r3) -/* 0000085C 0000091C 38 00 00 05 */ li r0, 0x5 -/* 00000860 00000920 B0 1E 00 00 */ sth r0, 0x0(r30) -/* 00000864 00000924 38 00 00 00 */ li r0, 0x0 -/* 00000868 00000928 B0 1E 00 68 */ sth r0, 0x68(r30) -/* 0000086C 0000092C A8 1E 00 72 */ lha r0, 0x72(r30) -/* 00000870 00000930 7C 03 07 34 */ extsh r3, r0 -/* 00000874 00000934 7F A0 07 34 */ extsh r0, r29 -/* 00000878 00000938 7C 03 00 00 */ cmpw r3, r0 -/* 0000087C 0000093C 40 81 00 08 */ ble .L_00000884 -/* 00000880 00000940 AB BE 00 72 */ lha r29, 0x72(r30) -.L_00000884: -/* 00000884 00000944 38 A0 FF FF */ li r5, -0x1 -/* 00000888 00000948 57 E4 08 3C */ slwi r4, r31, 1 -/* 0000088C 0000094C 3C 60 00 00 */ lis r3, lbl_2_bss_B2@ha -/* 00000890 00000950 38 03 00 00 */ addi r0, r3, lbl_2_bss_B2@l -/* 00000894 00000954 7C 60 22 14 */ add r3, r0, r4 -/* 00000898 00000958 B0 A3 00 00 */ sth r5, 0x0(r3) -/* 0000089C 0000095C 38 A0 FF FF */ li r5, -0x1 -/* 000008A0 00000960 57 E4 08 3C */ slwi r4, r31, 1 -/* 000008A4 00000964 3C 60 00 00 */ lis r3, lbl_2_bss_AA@ha -/* 000008A8 00000968 38 03 00 00 */ addi r0, r3, lbl_2_bss_AA@l -/* 000008AC 0000096C 7C 60 22 14 */ add r3, r0, r4 -/* 000008B0 00000970 B0 A3 00 00 */ sth r5, 0x0(r3) -/* 000008B4 00000974 3B FF 00 01 */ addi r31, r31, 0x1 -.L_000008B8: -/* 000008B8 00000978 2C 1F 00 04 */ cmpwi r31, 0x4 -/* 000008BC 0000097C 41 80 FF 68 */ blt .L_00000824 -/* 000008C0 00000980 7F A0 07 34 */ extsh r0, r29 -/* 000008C4 00000984 2C 00 00 00 */ cmpwi r0, 0x0 -/* 000008C8 00000988 40 81 00 B8 */ ble .L_00000980 -/* 000008CC 0000098C 3B E0 00 00 */ li r31, 0x0 -/* 000008D0 00000990 48 00 00 A8 */ b .L_00000978 -.L_000008D4: -/* 000008D4 00000994 3C 60 00 00 */ lis r3, lbl_2_bss_118@ha -/* 000008D8 00000998 38 63 00 00 */ addi r3, r3, lbl_2_bss_118@l -/* 000008DC 0000099C 80 63 00 00 */ lwz r3, 0x0(r3) -/* 000008E0 000009A0 57 E0 10 3A */ slwi r0, r31, 2 -/* 000008E4 000009A4 7C 63 00 2E */ lwzx r3, r3, r0 -/* 000008E8 000009A8 83 C3 00 5C */ lwz r30, 0x5c(r3) -/* 000008EC 000009AC A8 1E 00 72 */ lha r0, 0x72(r30) -/* 000008F0 000009B0 7C 03 07 34 */ extsh r3, r0 -/* 000008F4 000009B4 7F A0 07 34 */ extsh r0, r29 -/* 000008F8 000009B8 7C 03 00 00 */ cmpw r3, r0 -/* 000008FC 000009BC 40 82 00 78 */ bne .L_00000974 -/* 00000900 000009C0 1C 9F 00 0A */ mulli r4, r31, 0xa -/* 00000904 000009C4 3C 60 00 00 */ lis r3, lbl_8018FC10@ha -/* 00000908 000009C8 38 03 00 00 */ addi r0, r3, lbl_8018FC10@l -/* 0000090C 000009CC 7C 60 22 14 */ add r3, r0, r4 -/* 00000910 000009D0 A8 A3 00 00 */ lha r5, 0x0(r3) -/* 00000914 000009D4 3C 60 00 00 */ lis r3, lbl_2_bss_BA@ha -/* 00000918 000009D8 38 63 00 00 */ addi r3, r3, lbl_2_bss_BA@l -/* 0000091C 000009DC A8 03 00 00 */ lha r0, 0x0(r3) -/* 00000920 000009E0 54 04 08 3C */ slwi r4, r0, 1 -/* 00000924 000009E4 3C 60 00 00 */ lis r3, lbl_2_bss_AA@ha -/* 00000928 000009E8 38 03 00 00 */ addi r0, r3, lbl_2_bss_AA@l -/* 0000092C 000009EC 7C 60 22 14 */ add r3, r0, r4 -/* 00000930 000009F0 B0 A3 00 00 */ sth r5, 0x0(r3) -/* 00000934 000009F4 7F E5 07 34 */ extsh r5, r31 -/* 00000938 000009F8 3C 60 00 00 */ lis r3, lbl_2_bss_BA@ha -/* 0000093C 000009FC 38 63 00 00 */ addi r3, r3, lbl_2_bss_BA@l -/* 00000940 00000A00 A8 83 00 00 */ lha r4, 0x0(r3) -/* 00000944 00000A04 38 04 00 01 */ addi r0, r4, 0x1 -/* 00000948 00000A08 3C 60 00 00 */ lis r3, lbl_2_bss_BA@ha -/* 0000094C 00000A0C 38 63 00 00 */ addi r3, r3, lbl_2_bss_BA@l -/* 00000950 00000A10 B0 03 00 00 */ sth r0, 0x0(r3) -/* 00000954 00000A14 7C 80 07 34 */ extsh r0, r4 -/* 00000958 00000A18 54 04 08 3C */ slwi r4, r0, 1 -/* 0000095C 00000A1C 3C 60 00 00 */ lis r3, lbl_2_bss_B2@ha -/* 00000960 00000A20 38 03 00 00 */ addi r0, r3, lbl_2_bss_B2@l -/* 00000964 00000A24 7C 60 22 14 */ add r3, r0, r4 -/* 00000968 00000A28 B0 A3 00 00 */ sth r5, 0x0(r3) -/* 0000096C 00000A2C 38 00 00 01 */ li r0, 0x1 -/* 00000970 00000A30 B0 1E 00 68 */ sth r0, 0x68(r30) -.L_00000974: -/* 00000974 00000A34 3B FF 00 01 */ addi r31, r31, 0x1 -.L_00000978: -/* 00000978 00000A38 2C 1F 00 04 */ cmpwi r31, 0x4 -/* 0000097C 00000A3C 41 80 FF 58 */ blt .L_000008D4 -.L_00000980: -/* 00000980 00000A40 3C 60 00 00 */ lis r3, lbl_2_data_6F@ha -/* 00000984 00000A44 38 63 00 00 */ addi r3, r3, lbl_2_data_6F@l -/* 00000988 00000A48 3C 80 00 00 */ lis r4, lbl_2_bss_BA@ha -/* 0000098C 00000A4C 38 84 00 00 */ addi r4, r4, lbl_2_bss_BA@l -/* 00000990 00000A50 A8 84 00 00 */ lha r4, 0x0(r4) -/* 00000994 00000A54 4C C6 31 82 */ crclr cr1eq -/* 00000998 00000A58 48 00 00 01 */ bl OSReport -.L_0000099C: -/* 0000099C 00000A5C 3C 60 00 00 */ lis r3, lbl_801D3CC2@ha -/* 000009A0 00000A60 38 63 00 00 */ addi r3, r3, lbl_801D3CC2@l -/* 000009A4 00000A64 A8 03 00 00 */ lha r0, 0x0(r3) -/* 000009A8 00000A68 2C 00 00 00 */ cmpwi r0, 0x0 -/* 000009AC 00000A6C 41 82 00 44 */ beq .L_000009F0 -/* 000009B0 00000A70 38 60 00 02 */ li r3, 0x2 -/* 000009B4 00000A74 38 80 00 00 */ li r4, 0x0 -/* 000009B8 00000A78 38 A0 00 3C */ li r5, 0x3c -/* 000009BC 00000A7C 48 00 00 01 */ bl fn_800414AC -/* 000009C0 00000A80 3C 60 00 00 */ lis r3, lbl_2_bss_A4@ha -/* 000009C4 00000A84 38 63 00 00 */ addi r3, r3, lbl_2_bss_A4@l -/* 000009C8 00000A88 80 63 00 00 */ lwz r3, 0x0(r3) -/* 000009CC 00000A8C 38 80 00 64 */ li r4, 0x64 -/* 000009D0 00000A90 48 00 00 01 */ bl fn_80033140 -/* 000009D4 00000A94 3C 60 00 00 */ lis r3, lbl_2_bss_11C@ha -/* 000009D8 00000A98 38 63 00 00 */ addi r3, r3, lbl_2_bss_11C@l -/* 000009DC 00000A9C 80 63 00 00 */ lwz r3, 0x0(r3) -/* 000009E0 00000AA0 48 00 00 01 */ bl fn_80032BC4 -/* 000009E4 00000AA4 3C 60 00 00 */ lis r3, fn_2_A10@ha -/* 000009E8 00000AA8 38 03 00 00 */ addi r0, r3, fn_2_A10@l -/* 000009EC 00000AAC 90 1C 00 14 */ stw r0, 0x14(r28) -.L_000009F0: -/* 000009F0 00000AB0 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 000009F4 00000AB4 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 000009F8 00000AB8 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 000009FC 00000ABC 83 81 00 10 */ lwz r28, 0x10(r1) -/* 00000A00 00000AC0 80 01 00 24 */ lwz r0, 0x24(r1) -/* 00000A04 00000AC4 7C 08 03 A6 */ mtlr r0 -/* 00000A08 00000AC8 38 21 00 20 */ addi r1, r1, 0x20 -/* 00000A0C 00000ACC 4E 80 00 20 */ blr -.endfn fn_2_70C - -.fn fn_2_11D0, global -/* 000011D0 00001290 94 21 FF B0 */ stwu r1, -0x50(r1) -/* 000011D4 00001294 7C 08 02 A6 */ mflr r0 -/* 000011D8 00001298 90 01 00 54 */ stw r0, 0x54(r1) -/* 000011DC 0000129C 39 61 00 50 */ addi r11, r1, 0x50 -/* 000011E0 000012A0 48 00 00 01 */ bl _savegpr_27 -/* 000011E4 000012A4 7C 7B 1B 78 */ mr r27, r3 -/* 000011E8 000012A8 83 FB 00 5C */ lwz r31, 0x5c(r27) -/* 000011EC 000012AC 3B C0 00 00 */ li r30, 0x0 -/* 000011F0 000012B0 48 00 03 B4 */ b .L_000015A4 -.L_000011F4: -/* 000011F4 000012B4 3C 60 00 00 */ lis r3, lbl_2_bss_118@ha -/* 000011F8 000012B8 38 63 00 00 */ addi r3, r3, lbl_2_bss_118@l -/* 000011FC 000012BC 80 63 00 00 */ lwz r3, 0x0(r3) -/* 00001200 000012C0 57 C0 10 3A */ slwi r0, r30, 2 -/* 00001204 000012C4 7C 63 00 2E */ lwzx r3, r3, r0 -/* 00001208 000012C8 80 03 00 5C */ lwz r0, 0x5c(r3) -/* 0000120C 000012CC 90 01 00 08 */ stw r0, 0x8(r1) -/* 00001210 000012D0 57 C3 08 3C */ slwi r3, r30, 1 -/* 00001214 000012D4 38 03 01 30 */ addi r0, r3, 0x130 -/* 00001218 000012D8 7C 1F 02 AE */ lhax r0, r31, r0 -/* 0000121C 000012DC 2C 00 00 00 */ cmpwi r0, 0x0 -/* 00001220 000012E0 41 82 01 B4 */ beq .L_000013D4 -/* 00001224 000012E4 3C 60 00 00 */ lis r3, lbl_2_bss_118@ha -/* 00001228 000012E8 38 63 00 00 */ addi r3, r3, lbl_2_bss_118@l -/* 0000122C 000012EC 80 63 00 00 */ lwz r3, 0x0(r3) -/* 00001230 000012F0 57 C0 10 3A */ slwi r0, r30, 2 -/* 00001234 000012F4 7F 83 00 2E */ lwzx r28, r3, r0 -/* 00001238 000012F8 C0 1C 00 18 */ lfs f0, 0x18(r28) -/* 0000123C 000012FC D0 01 00 18 */ stfs f0, 0x18(r1) -/* 00001240 00001300 C0 1C 00 1C */ lfs f0, 0x1c(r28) -/* 00001244 00001304 D0 01 00 1C */ stfs f0, 0x1c(r1) -/* 00001248 00001308 C0 1C 00 20 */ lfs f0, 0x20(r28) -/* 0000124C 0000130C D0 01 00 20 */ stfs f0, 0x20(r1) -/* 00001250 00001310 38 61 00 18 */ addi r3, r1, 0x18 -/* 00001254 00001314 38 81 00 0C */ addi r4, r1, 0xc -/* 00001258 00001318 48 00 EF E9 */ bl fn_2_10240 -/* 0000125C 0000131C 3B A0 00 00 */ li r29, 0x0 -/* 00001260 00001320 48 00 00 B8 */ b .L_00001318 -.L_00001264: -/* 00001264 00001324 1C 7E 00 06 */ mulli r3, r30, 0x6 -/* 00001268 00001328 57 A0 08 3C */ slwi r0, r29, 1 -/* 0000126C 0000132C 7C 63 02 14 */ add r3, r3, r0 -/* 00001270 00001330 38 03 00 50 */ addi r0, r3, 0x50 -/* 00001274 00001334 7C 7F 02 AE */ lhax r3, r31, r0 -/* 00001278 00001338 3C 80 00 00 */ lis r4, lbl_2_rodata_60@ha -/* 0000127C 0000133C 38 84 00 00 */ addi r4, r4, lbl_2_rodata_60@l -/* 00001280 00001340 C0 24 00 00 */ lfs f1, 0x0(r4) -/* 00001284 00001344 C0 01 00 0C */ lfs f0, 0xc(r1) -/* 00001288 00001348 EC 21 00 2A */ fadds f1, f1, f0 -/* 0000128C 0000134C 57 C4 10 3A */ slwi r4, r30, 2 -/* 00001290 00001350 38 04 00 F0 */ addi r0, r4, 0xf0 -/* 00001294 00001354 7C 1F 04 2E */ lfsx f0, r31, r0 -/* 00001298 00001358 EC 41 00 2A */ fadds f2, f1, f0 -/* 0000129C 0000135C 57 A0 20 36 */ slwi r0, r29, 4 -/* 000012A0 00001360 3C 80 00 00 */ lis r4, lbl_2_rodata_58@ha -/* 000012A4 00001364 38 84 00 00 */ addi r4, r4, lbl_2_rodata_58@l -/* 000012A8 00001368 C8 24 00 00 */ lfd f1, 0x0(r4) -/* 000012AC 0000136C 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 000012B0 00001370 90 01 00 2C */ stw r0, 0x2c(r1) -/* 000012B4 00001374 3C 00 43 30 */ lis r0, 0x4330 -/* 000012B8 00001378 90 01 00 28 */ stw r0, 0x28(r1) -/* 000012BC 0000137C C8 01 00 28 */ lfd f0, 0x28(r1) -/* 000012C0 00001380 EC 00 08 28 */ fsubs f0, f0, f1 -/* 000012C4 00001384 EC 22 00 2A */ fadds f1, f2, f0 -/* 000012C8 00001388 3C 80 00 00 */ lis r4, lbl_2_rodata_30@ha -/* 000012CC 0000138C 38 84 00 00 */ addi r4, r4, lbl_2_rodata_30@l -/* 000012D0 00001390 C0 44 00 00 */ lfs f2, 0x0(r4) -/* 000012D4 00001394 C0 01 00 10 */ lfs f0, 0x10(r1) -/* 000012D8 00001398 EC 42 00 2A */ fadds f2, f2, f0 -/* 000012DC 0000139C 57 C4 10 3A */ slwi r4, r30, 2 -/* 000012E0 000013A0 38 04 01 00 */ addi r0, r4, 0x100 -/* 000012E4 000013A4 7C 1F 04 2E */ lfsx f0, r31, r0 -/* 000012E8 000013A8 EC 42 00 2A */ fadds f2, f2, f0 -/* 000012EC 000013AC 48 00 00 01 */ bl fn_8003FCC0 -/* 000012F0 000013B0 1C 7E 00 06 */ mulli r3, r30, 0x6 -/* 000012F4 000013B4 57 A0 08 3C */ slwi r0, r29, 1 -/* 000012F8 000013B8 7C 63 02 14 */ add r3, r3, r0 -/* 000012FC 000013BC 38 03 00 50 */ addi r0, r3, 0x50 -/* 00001300 000013C0 7C 7F 02 AE */ lhax r3, r31, r0 -/* 00001304 000013C4 57 C4 10 3A */ slwi r4, r30, 2 -/* 00001308 000013C8 38 04 00 90 */ addi r0, r4, 0x90 -/* 0000130C 000013CC 7C 3F 04 2E */ lfsx f1, r31, r0 -/* 00001310 000013D0 48 00 00 01 */ bl fn_8003FDA8 -/* 00001314 000013D4 3B BD 00 01 */ addi r29, r29, 0x1 -.L_00001318: -/* 00001318 000013D8 2C 1D 00 03 */ cmpwi r29, 0x3 -/* 0000131C 000013DC 41 80 FF 48 */ blt .L_00001264 -/* 00001320 000013E0 57 C3 10 3A */ slwi r3, r30, 2 -/* 00001324 000013E4 38 03 00 C0 */ addi r0, r3, 0xc0 -/* 00001328 000013E8 7C 3F 04 2E */ lfsx f1, r31, r0 -/* 0000132C 000013EC 3C 60 00 00 */ lis r3, lbl_2_rodata_50@ha -/* 00001330 000013F0 38 63 00 00 */ addi r3, r3, lbl_2_rodata_50@l -/* 00001334 000013F4 C0 03 00 00 */ lfs f0, 0x0(r3) -/* 00001338 000013F8 EC 01 00 28 */ fsubs f0, f1, f0 -/* 0000133C 000013FC 7C 1F 05 2E */ stfsx f0, r31, r0 -/* 00001340 00001400 57 C3 10 3A */ slwi r3, r30, 2 -/* 00001344 00001404 38 03 01 00 */ addi r0, r3, 0x100 -/* 00001348 00001408 7C 3F 04 2E */ lfsx f1, r31, r0 -/* 0000134C 0000140C 3C 60 00 00 */ lis r3, lbl_2_rodata_1C@ha -/* 00001350 00001410 38 63 00 00 */ addi r3, r3, lbl_2_rodata_1C@l -/* 00001354 00001414 C0 03 00 00 */ lfs f0, 0x0(r3) -/* 00001358 00001418 EC 01 00 28 */ fsubs f0, f1, f0 -/* 0000135C 0000141C 7C 1F 05 2E */ stfsx f0, r31, r0 -/* 00001360 00001420 57 C3 08 3C */ slwi r3, r30, 1 -/* 00001364 00001424 38 03 01 30 */ addi r0, r3, 0x130 -/* 00001368 00001428 7C 1F 02 AE */ lhax r0, r31, r0 -/* 0000136C 0000142C 2C 00 00 0F */ cmpwi r0, 0xf -/* 00001370 00001430 40 80 00 24 */ bge .L_00001394 -/* 00001374 00001434 57 C3 10 3A */ slwi r3, r30, 2 -/* 00001378 00001438 38 03 00 90 */ addi r0, r3, 0x90 -/* 0000137C 0000143C 7C 3F 04 2E */ lfsx f1, r31, r0 -/* 00001380 00001440 3C 60 00 00 */ lis r3, lbl_2_rodata_64@ha -/* 00001384 00001444 38 63 00 00 */ addi r3, r3, lbl_2_rodata_64@l -/* 00001388 00001448 C0 03 00 00 */ lfs f0, 0x0(r3) -/* 0000138C 0000144C EC 01 00 28 */ fsubs f0, f1, f0 -/* 00001390 00001450 7C 1F 05 2E */ stfsx f0, r31, r0 -.L_00001394: -/* 00001394 00001454 57 C3 08 3C */ slwi r3, r30, 1 -/* 00001398 00001458 38 83 01 30 */ addi r4, r3, 0x130 -/* 0000139C 0000145C 7C 7F 22 AE */ lhax r3, r31, r4 -/* 000013A0 00001460 38 03 FF FF */ subi r0, r3, 0x1 -/* 000013A4 00001464 7C 1F 23 2E */ sthx r0, r31, r4 -/* 000013A8 00001468 7C 00 07 34 */ extsh r0, r0 -/* 000013AC 0000146C 2C 00 00 00 */ cmpwi r0, 0x0 -/* 000013B0 00001470 40 82 00 24 */ bne .L_000013D4 -/* 000013B4 00001474 1C 7E 00 06 */ mulli r3, r30, 0x6 -/* 000013B8 00001478 38 03 00 50 */ addi r0, r3, 0x50 -/* 000013BC 0000147C 7C 7F 02 AE */ lhax r3, r31, r0 -/* 000013C0 00001480 48 00 00 01 */ bl fn_8003FBEC -/* 000013C4 00001484 1C 7E 00 06 */ mulli r3, r30, 0x6 -/* 000013C8 00001488 38 03 00 52 */ addi r0, r3, 0x52 -/* 000013CC 0000148C 7C 7F 02 AE */ lhax r3, r31, r0 -/* 000013D0 00001490 48 00 00 01 */ bl fn_8003FBEC -.L_000013D4: -/* 000013D4 00001494 57 C3 08 3C */ slwi r3, r30, 1 -/* 000013D8 00001498 38 03 01 38 */ addi r0, r3, 0x138 -/* 000013DC 0000149C 7C 1F 02 AE */ lhax r0, r31, r0 -/* 000013E0 000014A0 2C 00 00 00 */ cmpwi r0, 0x0 -/* 000013E4 000014A4 41 82 01 B4 */ beq .L_00001598 -/* 000013E8 000014A8 3C 60 00 00 */ lis r3, lbl_2_bss_118@ha -/* 000013EC 000014AC 38 63 00 00 */ addi r3, r3, lbl_2_bss_118@l -/* 000013F0 000014B0 80 63 00 00 */ lwz r3, 0x0(r3) -/* 000013F4 000014B4 57 C0 10 3A */ slwi r0, r30, 2 -/* 000013F8 000014B8 7F 83 00 2E */ lwzx r28, r3, r0 -/* 000013FC 000014BC C0 1C 00 18 */ lfs f0, 0x18(r28) -/* 00001400 000014C0 D0 01 00 18 */ stfs f0, 0x18(r1) -/* 00001404 000014C4 C0 1C 00 1C */ lfs f0, 0x1c(r28) -/* 00001408 000014C8 D0 01 00 1C */ stfs f0, 0x1c(r1) -/* 0000140C 000014CC C0 1C 00 20 */ lfs f0, 0x20(r28) -/* 00001410 000014D0 D0 01 00 20 */ stfs f0, 0x20(r1) -/* 00001414 000014D4 38 61 00 18 */ addi r3, r1, 0x18 -/* 00001418 000014D8 38 81 00 0C */ addi r4, r1, 0xc -/* 0000141C 000014DC 48 00 EE 25 */ bl fn_2_10240 -/* 00001420 000014E0 3B A0 00 00 */ li r29, 0x0 -/* 00001424 000014E4 48 00 00 B8 */ b .L_000014DC -.L_00001428: -/* 00001428 000014E8 1C 7E 00 06 */ mulli r3, r30, 0x6 -/* 0000142C 000014EC 57 A0 08 3C */ slwi r0, r29, 1 -/* 00001430 000014F0 7C 63 02 14 */ add r3, r3, r0 -/* 00001434 000014F4 38 03 00 68 */ addi r0, r3, 0x68 -/* 00001438 000014F8 7C 7F 02 AE */ lhax r3, r31, r0 -/* 0000143C 000014FC 3C 80 00 00 */ lis r4, lbl_2_rodata_60@ha -/* 00001440 00001500 38 84 00 00 */ addi r4, r4, lbl_2_rodata_60@l -/* 00001444 00001504 C0 24 00 00 */ lfs f1, 0x0(r4) -/* 00001448 00001508 C0 01 00 0C */ lfs f0, 0xc(r1) -/* 0000144C 0000150C EC 21 00 2A */ fadds f1, f1, f0 -/* 00001450 00001510 57 C4 10 3A */ slwi r4, r30, 2 -/* 00001454 00001514 38 04 01 10 */ addi r0, r4, 0x110 -/* 00001458 00001518 7C 1F 04 2E */ lfsx f0, r31, r0 -/* 0000145C 0000151C EC 41 00 2A */ fadds f2, f1, f0 -/* 00001460 00001520 57 A0 20 36 */ slwi r0, r29, 4 -/* 00001464 00001524 3C 80 00 00 */ lis r4, lbl_2_rodata_58@ha -/* 00001468 00001528 38 84 00 00 */ addi r4, r4, lbl_2_rodata_58@l -/* 0000146C 0000152C C8 24 00 00 */ lfd f1, 0x0(r4) -/* 00001470 00001530 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 00001474 00001534 90 01 00 2C */ stw r0, 0x2c(r1) -/* 00001478 00001538 3C 00 43 30 */ lis r0, 0x4330 -/* 0000147C 0000153C 90 01 00 28 */ stw r0, 0x28(r1) -/* 00001480 00001540 C8 01 00 28 */ lfd f0, 0x28(r1) -/* 00001484 00001544 EC 00 08 28 */ fsubs f0, f0, f1 -/* 00001488 00001548 EC 22 00 2A */ fadds f1, f2, f0 -/* 0000148C 0000154C 3C 80 00 00 */ lis r4, lbl_2_rodata_60@ha -/* 00001490 00001550 38 84 00 00 */ addi r4, r4, lbl_2_rodata_60@l -/* 00001494 00001554 C0 44 00 00 */ lfs f2, 0x0(r4) -/* 00001498 00001558 C0 01 00 10 */ lfs f0, 0x10(r1) -/* 0000149C 0000155C EC 42 00 2A */ fadds f2, f2, f0 -/* 000014A0 00001560 57 C4 10 3A */ slwi r4, r30, 2 -/* 000014A4 00001564 38 04 01 20 */ addi r0, r4, 0x120 -/* 000014A8 00001568 7C 1F 04 2E */ lfsx f0, r31, r0 -/* 000014AC 0000156C EC 42 00 2A */ fadds f2, f2, f0 -/* 000014B0 00001570 48 00 00 01 */ bl fn_8003FCC0 -/* 000014B4 00001574 1C 7E 00 06 */ mulli r3, r30, 0x6 -/* 000014B8 00001578 57 A0 08 3C */ slwi r0, r29, 1 -/* 000014BC 0000157C 7C 63 02 14 */ add r3, r3, r0 -/* 000014C0 00001580 38 03 00 68 */ addi r0, r3, 0x68 -/* 000014C4 00001584 7C 7F 02 AE */ lhax r3, r31, r0 -/* 000014C8 00001588 57 C4 10 3A */ slwi r4, r30, 2 -/* 000014CC 0000158C 38 04 00 A0 */ addi r0, r4, 0xa0 -/* 000014D0 00001590 7C 3F 04 2E */ lfsx f1, r31, r0 -/* 000014D4 00001594 48 00 00 01 */ bl fn_8003FDA8 -/* 000014D8 00001598 3B BD 00 01 */ addi r29, r29, 0x1 -.L_000014DC: -/* 000014DC 0000159C 2C 1D 00 02 */ cmpwi r29, 0x2 -/* 000014E0 000015A0 41 80 FF 48 */ blt .L_00001428 -/* 000014E4 000015A4 57 C3 10 3A */ slwi r3, r30, 2 -/* 000014E8 000015A8 38 03 00 E0 */ addi r0, r3, 0xe0 -/* 000014EC 000015AC 7C 3F 04 2E */ lfsx f1, r31, r0 -/* 000014F0 000015B0 3C 60 00 00 */ lis r3, lbl_2_rodata_50@ha -/* 000014F4 000015B4 38 63 00 00 */ addi r3, r3, lbl_2_rodata_50@l -/* 000014F8 000015B8 C0 03 00 00 */ lfs f0, 0x0(r3) -/* 000014FC 000015BC EC 01 00 2A */ fadds f0, f1, f0 -/* 00001500 000015C0 7C 1F 05 2E */ stfsx f0, r31, r0 -/* 00001504 000015C4 57 C3 10 3A */ slwi r3, r30, 2 -/* 00001508 000015C8 38 03 01 20 */ addi r0, r3, 0x120 -/* 0000150C 000015CC 7C 3F 04 2E */ lfsx f1, r31, r0 -/* 00001510 000015D0 3C 60 00 00 */ lis r3, lbl_2_rodata_1C@ha -/* 00001514 000015D4 38 63 00 00 */ addi r3, r3, lbl_2_rodata_1C@l -/* 00001518 000015D8 C0 03 00 00 */ lfs f0, 0x0(r3) -/* 0000151C 000015DC EC 01 00 2A */ fadds f0, f1, f0 -/* 00001520 000015E0 7C 1F 05 2E */ stfsx f0, r31, r0 -/* 00001524 000015E4 57 C3 08 3C */ slwi r3, r30, 1 -/* 00001528 000015E8 38 03 01 38 */ addi r0, r3, 0x138 -/* 0000152C 000015EC 7C 1F 02 AE */ lhax r0, r31, r0 -/* 00001530 000015F0 2C 00 00 0F */ cmpwi r0, 0xf -/* 00001534 000015F4 40 80 00 24 */ bge .L_00001558 -/* 00001538 000015F8 57 C3 10 3A */ slwi r3, r30, 2 -/* 0000153C 000015FC 38 03 00 A0 */ addi r0, r3, 0xa0 -/* 00001540 00001600 7C 3F 04 2E */ lfsx f1, r31, r0 -/* 00001544 00001604 3C 60 00 00 */ lis r3, lbl_2_rodata_64@ha -/* 00001548 00001608 38 63 00 00 */ addi r3, r3, lbl_2_rodata_64@l -/* 0000154C 0000160C C0 03 00 00 */ lfs f0, 0x0(r3) -/* 00001550 00001610 EC 01 00 28 */ fsubs f0, f1, f0 -/* 00001554 00001614 7C 1F 05 2E */ stfsx f0, r31, r0 -.L_00001558: -/* 00001558 00001618 57 C3 08 3C */ slwi r3, r30, 1 -/* 0000155C 0000161C 38 83 01 38 */ addi r4, r3, 0x138 -/* 00001560 00001620 7C 7F 22 AE */ lhax r3, r31, r4 -/* 00001564 00001624 38 03 FF FF */ subi r0, r3, 0x1 -/* 00001568 00001628 7C 1F 23 2E */ sthx r0, r31, r4 -/* 0000156C 0000162C 7C 00 07 34 */ extsh r0, r0 -/* 00001570 00001630 2C 00 00 00 */ cmpwi r0, 0x0 -/* 00001574 00001634 40 82 00 24 */ bne .L_00001598 -/* 00001578 00001638 1C 7E 00 06 */ mulli r3, r30, 0x6 -/* 0000157C 0000163C 38 03 00 68 */ addi r0, r3, 0x68 -/* 00001580 00001640 7C 7F 02 AE */ lhax r3, r31, r0 -/* 00001584 00001644 48 00 00 01 */ bl fn_8003FBEC -/* 00001588 00001648 1C 7E 00 06 */ mulli r3, r30, 0x6 -/* 0000158C 0000164C 38 03 00 6A */ addi r0, r3, 0x6a -/* 00001590 00001650 7C 7F 02 AE */ lhax r3, r31, r0 -/* 00001594 00001654 48 00 00 01 */ bl fn_8003FBEC -.L_00001598: -/* 00001598 00001658 7F C3 07 34 */ extsh r3, r30 -/* 0000159C 0000165C 48 00 00 29 */ bl fn_2_15C4 -/* 000015A0 00001660 3B DE 00 01 */ addi r30, r30, 0x1 -.L_000015A4: -/* 000015A4 00001664 2C 1E 00 04 */ cmpwi r30, 0x4 -/* 000015A8 00001668 41 80 FC 4C */ blt .L_000011F4 -/* 000015AC 0000166C 39 61 00 50 */ addi r11, r1, 0x50 -/* 000015B0 00001670 48 00 00 01 */ bl _restgpr_27 -/* 000015B4 00001674 80 01 00 54 */ lwz r0, 0x54(r1) -/* 000015B8 00001678 7C 08 03 A6 */ mtlr r0 -/* 000015BC 0000167C 38 21 00 50 */ addi r1, r1, 0x50 -/* 000015C0 00001680 4E 80 00 20 */ blr -.endfn fn_2_11D0 - -.fn fn_2_15C4, global -/* 000015C4 00001684 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 000015C8 00001688 7C 08 02 A6 */ mflr r0 -/* 000015CC 0000168C 90 01 00 24 */ stw r0, 0x24(r1) -/* 000015D0 00001690 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 000015D4 00001694 93 C1 00 18 */ stw r30, 0x18(r1) -/* 000015D8 00001698 93 A1 00 14 */ stw r29, 0x14(r1) -/* 000015DC 0000169C 93 81 00 10 */ stw r28, 0x10(r1) -/* 000015E0 000016A0 7C 7C 1B 78 */ mr r28, r3 -/* 000015E4 000016A4 3C 60 00 00 */ lis r3, lbl_2_bss_E0@ha -/* 000015E8 000016A8 38 63 00 00 */ addi r3, r3, lbl_2_bss_E0@l -/* 000015EC 000016AC 80 63 00 00 */ lwz r3, 0x0(r3) -/* 000015F0 000016B0 83 E3 00 5C */ lwz r31, 0x5c(r3) -/* 000015F4 000016B4 3C 60 00 00 */ lis r3, lbl_2_bss_118@ha -/* 000015F8 000016B8 38 63 00 00 */ addi r3, r3, lbl_2_bss_118@l -/* 000015FC 000016BC 80 63 00 00 */ lwz r3, 0x0(r3) -/* 00001600 000016C0 7F 80 07 34 */ extsh r0, r28 -/* 00001604 000016C4 54 00 10 3A */ slwi r0, r0, 2 -/* 00001608 000016C8 7C 63 00 2E */ lwzx r3, r3, r0 -/* 0000160C 000016CC 83 A3 00 5C */ lwz r29, 0x5c(r3) -/* 00001610 000016D0 AB DD 00 72 */ lha r30, 0x72(r29) -/* 00001614 000016D4 7F 80 07 34 */ extsh r0, r28 -/* 00001618 000016D8 1C 60 00 06 */ mulli r3, r0, 0x6 -/* 0000161C 000016DC 38 03 00 08 */ addi r0, r3, 0x8 -/* 00001620 000016E0 7C 7F 02 AE */ lhax r3, r31, r0 -/* 00001624 000016E4 3C 80 66 66 */ lis r4, 0x6666 -/* 00001628 000016E8 38 84 66 67 */ addi r4, r4, 0x6667 -/* 0000162C 000016EC 7C 04 F0 96 */ mulhw r0, r4, r30 -/* 00001630 000016F0 7C 00 16 70 */ srawi r0, r0, 2 -/* 00001634 000016F4 54 04 0F FE */ srwi r4, r0, 31 -/* 00001638 000016F8 7C 00 22 14 */ add r0, r0, r4 -/* 0000163C 000016FC 7C 04 07 34 */ extsh r4, r0 -/* 00001640 00001700 48 00 00 01 */ bl fn_8003FE90 -/* 00001644 00001704 7F 80 07 34 */ extsh r0, r28 -/* 00001648 00001708 1C 60 00 06 */ mulli r3, r0, 0x6 -/* 0000164C 0000170C 38 03 00 0A */ addi r0, r3, 0xa -/* 00001650 00001710 7C 7F 02 AE */ lhax r3, r31, r0 -/* 00001654 00001714 3C 80 66 66 */ lis r4, 0x6666 -/* 00001658 00001718 38 84 66 67 */ addi r4, r4, 0x6667 -/* 0000165C 0000171C 7C 04 F0 96 */ mulhw r0, r4, r30 -/* 00001660 00001720 7C 00 16 70 */ srawi r0, r0, 2 -/* 00001664 00001724 54 04 0F FE */ srwi r4, r0, 31 -/* 00001668 00001728 7C 00 22 14 */ add r0, r0, r4 -/* 0000166C 0000172C 1C 00 00 0A */ mulli r0, r0, 0xa -/* 00001670 00001730 7C 00 F0 50 */ subf r0, r0, r30 -/* 00001674 00001734 7C 04 07 34 */ extsh r4, r0 -/* 00001678 00001738 48 00 00 01 */ bl fn_8003FE90 -/* 0000167C 0000173C 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 00001680 00001740 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 00001684 00001744 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 00001688 00001748 83 81 00 10 */ lwz r28, 0x10(r1) -/* 0000168C 0000174C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 00001690 00001750 7C 08 03 A6 */ mtlr r0 -/* 00001694 00001754 38 21 00 20 */ addi r1, r1, 0x20 -/* 00001698 00001758 4E 80 00 20 */ blr -.endfn fn_2_15C4 - -.fn fn_2_169C, global -/* 0000169C 0000175C 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 000016A0 00001760 7C 08 02 A6 */ mflr r0 -/* 000016A4 00001764 90 01 00 34 */ stw r0, 0x34(r1) -/* 000016A8 00001768 93 E1 00 2C */ stw r31, 0x2c(r1) -/* 000016AC 0000176C 93 C1 00 28 */ stw r30, 0x28(r1) -/* 000016B0 00001770 93 A1 00 24 */ stw r29, 0x24(r1) -/* 000016B4 00001774 93 81 00 20 */ stw r28, 0x20(r1) -/* 000016B8 00001778 7C 7E 1B 78 */ mr r30, r3 -/* 000016BC 0000177C 3C 60 00 00 */ lis r3, lbl_2_bss_E0@ha -/* 000016C0 00001780 38 63 00 00 */ addi r3, r3, lbl_2_bss_E0@l -/* 000016C4 00001784 80 63 00 00 */ lwz r3, 0x0(r3) -/* 000016C8 00001788 83 E3 00 5C */ lwz r31, 0x5c(r3) -/* 000016CC 0000178C 3C 60 00 00 */ lis r3, lbl_2_bss_118@ha -/* 000016D0 00001790 38 63 00 00 */ addi r3, r3, lbl_2_bss_118@l -/* 000016D4 00001794 80 63 00 00 */ lwz r3, 0x0(r3) -/* 000016D8 00001798 7F C0 07 34 */ extsh r0, r30 -/* 000016DC 0000179C 54 00 10 3A */ slwi r0, r0, 2 -/* 000016E0 000017A0 7C 63 00 2E */ lwzx r3, r3, r0 -/* 000016E4 000017A4 83 83 00 5C */ lwz r28, 0x5c(r3) -/* 000016E8 000017A8 3B A0 00 00 */ li r29, 0x0 -/* 000016EC 000017AC 48 00 00 24 */ b .L_00001710 -.L_000016F0: -/* 000016F0 000017B0 7F C0 07 34 */ extsh r0, r30 -/* 000016F4 000017B4 1C 60 00 06 */ mulli r3, r0, 0x6 -/* 000016F8 000017B8 57 A0 08 3C */ slwi r0, r29, 1 -/* 000016FC 000017BC 7C 63 02 14 */ add r3, r3, r0 -/* 00001700 000017C0 38 03 00 50 */ addi r0, r3, 0x50 -/* 00001704 000017C4 7C 7F 02 AE */ lhax r3, r31, r0 -/* 00001708 000017C8 48 00 00 01 */ bl fn_8003FBA8 -/* 0000170C 000017CC 3B BD 00 01 */ addi r29, r29, 0x1 -.L_00001710: -/* 00001710 000017D0 2C 1D 00 02 */ cmpwi r29, 0x2 -/* 00001714 000017D4 41 80 FF DC */ blt .L_000016F0 -/* 00001718 000017D8 3C 60 00 00 */ lis r3, lbl_2_rodata_1C@ha -/* 0000171C 000017DC 38 63 00 00 */ addi r3, r3, lbl_2_rodata_1C@l -/* 00001720 000017E0 C0 03 00 00 */ lfs f0, 0x0(r3) -/* 00001724 000017E4 7F C0 07 34 */ extsh r0, r30 -/* 00001728 000017E8 54 03 10 3A */ slwi r3, r0, 2 -/* 0000172C 000017EC 38 03 00 90 */ addi r0, r3, 0x90 -/* 00001730 000017F0 7C 1F 05 2E */ stfsx f0, r31, r0 -/* 00001734 000017F4 7F C4 07 34 */ extsh r4, r30 -/* 00001738 000017F8 38 00 00 01 */ li r0, 0x1 -/* 0000173C 000017FC 7C 00 07 34 */ extsh r0, r0 -/* 00001740 00001800 7C 80 02 78 */ xor r0, r4, r0 -/* 00001744 00001804 7C 03 0E 70 */ srawi r3, r0, 1 -/* 00001748 00001808 7C 00 20 38 */ and r0, r0, r4 -/* 0000174C 0000180C 7C 00 18 50 */ subf r0, r0, r3 -/* 00001750 00001810 54 00 0F FE */ srwi r0, r0, 31 -/* 00001754 00001814 1C 60 01 8E */ mulli r3, r0, 0x18e -/* 00001758 00001818 38 03 00 34 */ addi r0, r3, 0x34 -/* 0000175C 0000181C 3C 60 00 00 */ lis r3, lbl_2_rodata_58@ha -/* 00001760 00001820 38 63 00 00 */ addi r3, r3, lbl_2_rodata_58@l -/* 00001764 00001824 C8 23 00 00 */ lfd f1, 0x0(r3) -/* 00001768 00001828 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 0000176C 0000182C 90 01 00 0C */ stw r0, 0xc(r1) -/* 00001770 00001830 3C 00 43 30 */ lis r0, 0x4330 -/* 00001774 00001834 90 01 00 08 */ stw r0, 0x8(r1) -/* 00001778 00001838 C8 01 00 08 */ lfd f0, 0x8(r1) -/* 0000177C 0000183C EC 00 08 28 */ fsubs f0, f0, f1 -/* 00001780 00001840 7F C0 07 34 */ extsh r0, r30 -/* 00001784 00001844 54 03 10 3A */ slwi r3, r0, 2 -/* 00001788 00001848 38 03 00 C0 */ addi r0, r3, 0xc0 -/* 0000178C 0000184C 7C 1F 05 2E */ stfsx f0, r31, r0 -/* 00001790 00001850 7F C0 07 34 */ extsh r0, r30 -/* 00001794 00001854 54 00 07 FE */ clrlwi r0, r0, 31 -/* 00001798 00001858 1C 60 01 BA */ mulli r3, r0, 0x1ba -/* 0000179C 0000185C 38 03 00 29 */ addi r0, r3, 0x29 -/* 000017A0 00001860 3C 60 00 00 */ lis r3, lbl_2_rodata_58@ha -/* 000017A4 00001864 38 63 00 00 */ addi r3, r3, lbl_2_rodata_58@l -/* 000017A8 00001868 C8 23 00 00 */ lfd f1, 0x0(r3) -/* 000017AC 0000186C 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 000017B0 00001870 90 01 00 14 */ stw r0, 0x14(r1) -/* 000017B4 00001874 3C 00 43 30 */ lis r0, 0x4330 -/* 000017B8 00001878 90 01 00 10 */ stw r0, 0x10(r1) -/* 000017BC 0000187C C8 01 00 10 */ lfd f0, 0x10(r1) -/* 000017C0 00001880 EC 00 08 28 */ fsubs f0, f0, f1 -/* 000017C4 00001884 7F C0 07 34 */ extsh r0, r30 -/* 000017C8 00001888 54 03 10 3A */ slwi r3, r0, 2 -/* 000017CC 0000188C 38 03 00 B0 */ addi r0, r3, 0xb0 -/* 000017D0 00001890 7C 1F 05 2E */ stfsx f0, r31, r0 -/* 000017D4 00001894 3C 60 00 00 */ lis r3, lbl_2_rodata_10@ha -/* 000017D8 00001898 38 63 00 00 */ addi r3, r3, lbl_2_rodata_10@l -/* 000017DC 0000189C C0 03 00 00 */ lfs f0, 0x0(r3) -/* 000017E0 000018A0 7F C0 07 34 */ extsh r0, r30 -/* 000017E4 000018A4 54 03 10 3A */ slwi r3, r0, 2 -/* 000017E8 000018A8 38 03 01 00 */ addi r0, r3, 0x100 -/* 000017EC 000018AC 7C 1F 05 2E */ stfsx f0, r31, r0 -/* 000017F0 000018B0 3C 60 00 00 */ lis r3, lbl_2_rodata_10@ha -/* 000017F4 000018B4 38 63 00 00 */ addi r3, r3, lbl_2_rodata_10@l -/* 000017F8 000018B8 C0 03 00 00 */ lfs f0, 0x0(r3) -/* 000017FC 000018BC 7F C0 07 34 */ extsh r0, r30 -/* 00001800 000018C0 54 03 10 3A */ slwi r3, r0, 2 -/* 00001804 000018C4 38 03 00 F0 */ addi r0, r3, 0xf0 -/* 00001808 000018C8 7C 1F 05 2E */ stfsx f0, r31, r0 -/* 0000180C 000018CC 7F C0 07 34 */ extsh r0, r30 -/* 00001810 000018D0 1C 60 00 06 */ mulli r3, r0, 0x6 -/* 00001814 000018D4 38 03 00 52 */ addi r0, r3, 0x52 -/* 00001818 000018D8 7C 7F 02 AE */ lhax r3, r31, r0 -/* 0000181C 000018DC A8 9C 00 74 */ lha r4, 0x74(r28) -/* 00001820 000018E0 48 00 00 01 */ bl fn_8003FE90 -/* 00001824 000018E4 38 80 00 2D */ li r4, 0x2d -/* 00001828 000018E8 7F C0 07 34 */ extsh r0, r30 -/* 0000182C 000018EC 54 03 08 3C */ slwi r3, r0, 1 -/* 00001830 000018F0 38 03 01 30 */ addi r0, r3, 0x130 -/* 00001834 000018F4 7C 9F 03 2E */ sthx r4, r31, r0 -/* 00001838 000018F8 83 E1 00 2C */ lwz r31, 0x2c(r1) -/* 0000183C 000018FC 83 C1 00 28 */ lwz r30, 0x28(r1) -/* 00001840 00001900 83 A1 00 24 */ lwz r29, 0x24(r1) -/* 00001844 00001904 83 81 00 20 */ lwz r28, 0x20(r1) -/* 00001848 00001908 80 01 00 34 */ lwz r0, 0x34(r1) -/* 0000184C 0000190C 7C 08 03 A6 */ mtlr r0 -/* 00001850 00001910 38 21 00 30 */ addi r1, r1, 0x30 -/* 00001854 00001914 4E 80 00 20 */ blr -.endfn fn_2_169C - -.fn fn_2_1858, global -/* 00001858 00001918 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 0000185C 0000191C 7C 08 02 A6 */ mflr r0 -/* 00001860 00001920 90 01 00 34 */ stw r0, 0x34(r1) -/* 00001864 00001924 39 61 00 30 */ addi r11, r1, 0x30 -/* 00001868 00001928 48 00 00 01 */ bl _savegpr_27 -/* 0000186C 0000192C 7C 7E 1B 78 */ mr r30, r3 -/* 00001870 00001930 7C 9B 23 78 */ mr r27, r4 -/* 00001874 00001934 3C 60 00 00 */ lis r3, lbl_2_bss_E0@ha -/* 00001878 00001938 38 63 00 00 */ addi r3, r3, lbl_2_bss_E0@l -/* 0000187C 0000193C 80 63 00 00 */ lwz r3, 0x0(r3) -/* 00001880 00001940 83 E3 00 5C */ lwz r31, 0x5c(r3) -/* 00001884 00001944 3C 60 00 00 */ lis r3, lbl_2_bss_118@ha -/* 00001888 00001948 38 63 00 00 */ addi r3, r3, lbl_2_bss_118@l -/* 0000188C 0000194C 80 63 00 00 */ lwz r3, 0x0(r3) -/* 00001890 00001950 7F C0 07 34 */ extsh r0, r30 -/* 00001894 00001954 54 00 10 3A */ slwi r0, r0, 2 -/* 00001898 00001958 7C 63 00 2E */ lwzx r3, r3, r0 -/* 0000189C 0000195C 83 A3 00 5C */ lwz r29, 0x5c(r3) -/* 000018A0 00001960 3B 80 00 00 */ li r28, 0x0 -/* 000018A4 00001964 48 00 00 24 */ b .L_000018C8 -.L_000018A8: -/* 000018A8 00001968 7F C0 07 34 */ extsh r0, r30 -/* 000018AC 0000196C 1C 60 00 06 */ mulli r3, r0, 0x6 -/* 000018B0 00001970 57 80 08 3C */ slwi r0, r28, 1 -/* 000018B4 00001974 7C 63 02 14 */ add r3, r3, r0 -/* 000018B8 00001978 38 03 00 68 */ addi r0, r3, 0x68 -/* 000018BC 0000197C 7C 7F 02 AE */ lhax r3, r31, r0 -/* 000018C0 00001980 48 00 00 01 */ bl fn_8003FBA8 -/* 000018C4 00001984 3B 9C 00 01 */ addi r28, r28, 0x1 -.L_000018C8: -/* 000018C8 00001988 2C 1C 00 02 */ cmpwi r28, 0x2 -/* 000018CC 0000198C 41 80 FF DC */ blt .L_000018A8 -/* 000018D0 00001990 3C 60 00 00 */ lis r3, lbl_2_rodata_1C@ha -/* 000018D4 00001994 38 63 00 00 */ addi r3, r3, lbl_2_rodata_1C@l -/* 000018D8 00001998 C0 03 00 00 */ lfs f0, 0x0(r3) -/* 000018DC 0000199C 7F C0 07 34 */ extsh r0, r30 -/* 000018E0 000019A0 54 03 10 3A */ slwi r3, r0, 2 -/* 000018E4 000019A4 38 03 00 A0 */ addi r0, r3, 0xa0 -/* 000018E8 000019A8 7C 1F 05 2E */ stfsx f0, r31, r0 -/* 000018EC 000019AC 7F C4 07 34 */ extsh r4, r30 -/* 000018F0 000019B0 38 00 00 01 */ li r0, 0x1 -/* 000018F4 000019B4 7C 00 07 34 */ extsh r0, r0 -/* 000018F8 000019B8 7C 80 02 78 */ xor r0, r4, r0 -/* 000018FC 000019BC 7C 03 0E 70 */ srawi r3, r0, 1 -/* 00001900 000019C0 7C 00 20 38 */ and r0, r0, r4 -/* 00001904 000019C4 7C 00 18 50 */ subf r0, r0, r3 -/* 00001908 000019C8 54 00 0F FE */ srwi r0, r0, 31 -/* 0000190C 000019CC 1C 60 01 8E */ mulli r3, r0, 0x18e -/* 00001910 000019D0 38 03 00 14 */ addi r0, r3, 0x14 -/* 00001914 000019D4 3C 60 00 00 */ lis r3, lbl_2_rodata_58@ha -/* 00001918 000019D8 38 63 00 00 */ addi r3, r3, lbl_2_rodata_58@l -/* 0000191C 000019DC C8 23 00 00 */ lfd f1, 0x0(r3) -/* 00001920 000019E0 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 00001924 000019E4 90 01 00 0C */ stw r0, 0xc(r1) -/* 00001928 000019E8 3C 00 43 30 */ lis r0, 0x4330 -/* 0000192C 000019EC 90 01 00 08 */ stw r0, 0x8(r1) -/* 00001930 000019F0 C8 01 00 08 */ lfd f0, 0x8(r1) -/* 00001934 000019F4 EC 00 08 28 */ fsubs f0, f0, f1 -/* 00001938 000019F8 7F C0 07 34 */ extsh r0, r30 -/* 0000193C 000019FC 54 03 10 3A */ slwi r3, r0, 2 -/* 00001940 00001A00 38 03 00 E0 */ addi r0, r3, 0xe0 -/* 00001944 00001A04 7C 1F 05 2E */ stfsx f0, r31, r0 -/* 00001948 00001A08 7F C0 07 34 */ extsh r0, r30 -/* 0000194C 00001A0C 54 00 07 FE */ clrlwi r0, r0, 31 -/* 00001950 00001A10 1C 60 01 BA */ mulli r3, r0, 0x1ba -/* 00001954 00001A14 38 03 00 29 */ addi r0, r3, 0x29 -/* 00001958 00001A18 3C 60 00 00 */ lis r3, lbl_2_rodata_58@ha -/* 0000195C 00001A1C 38 63 00 00 */ addi r3, r3, lbl_2_rodata_58@l -/* 00001960 00001A20 C8 23 00 00 */ lfd f1, 0x0(r3) -/* 00001964 00001A24 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 00001968 00001A28 90 01 00 14 */ stw r0, 0x14(r1) -/* 0000196C 00001A2C 3C 00 43 30 */ lis r0, 0x4330 -/* 00001970 00001A30 90 01 00 10 */ stw r0, 0x10(r1) -/* 00001974 00001A34 C8 01 00 10 */ lfd f0, 0x10(r1) -/* 00001978 00001A38 EC 00 08 28 */ fsubs f0, f0, f1 -/* 0000197C 00001A3C 7F C0 07 34 */ extsh r0, r30 -/* 00001980 00001A40 54 03 10 3A */ slwi r3, r0, 2 -/* 00001984 00001A44 38 03 00 D0 */ addi r0, r3, 0xd0 -/* 00001988 00001A48 7C 1F 05 2E */ stfsx f0, r31, r0 -/* 0000198C 00001A4C 3C 60 00 00 */ lis r3, lbl_2_rodata_10@ha -/* 00001990 00001A50 38 63 00 00 */ addi r3, r3, lbl_2_rodata_10@l -/* 00001994 00001A54 C0 03 00 00 */ lfs f0, 0x0(r3) -/* 00001998 00001A58 7F C0 07 34 */ extsh r0, r30 -/* 0000199C 00001A5C 54 03 10 3A */ slwi r3, r0, 2 -/* 000019A0 00001A60 38 03 01 20 */ addi r0, r3, 0x120 -/* 000019A4 00001A64 7C 1F 05 2E */ stfsx f0, r31, r0 -/* 000019A8 00001A68 3C 60 00 00 */ lis r3, lbl_2_rodata_10@ha -/* 000019AC 00001A6C 38 63 00 00 */ addi r3, r3, lbl_2_rodata_10@l -/* 000019B0 00001A70 C0 03 00 00 */ lfs f0, 0x0(r3) -/* 000019B4 00001A74 7F C0 07 34 */ extsh r0, r30 -/* 000019B8 00001A78 54 03 10 3A */ slwi r3, r0, 2 -/* 000019BC 00001A7C 38 03 01 10 */ addi r0, r3, 0x110 -/* 000019C0 00001A80 7C 1F 05 2E */ stfsx f0, r31, r0 -/* 000019C4 00001A84 7F C0 07 34 */ extsh r0, r30 -/* 000019C8 00001A88 1C 60 00 06 */ mulli r3, r0, 0x6 -/* 000019CC 00001A8C 38 03 00 6A */ addi r0, r3, 0x6a -/* 000019D0 00001A90 7C 7F 02 AE */ lhax r3, r31, r0 -/* 000019D4 00001A94 7F 64 DB 78 */ mr r4, r27 -/* 000019D8 00001A98 48 00 00 01 */ bl fn_8003FE90 -/* 000019DC 00001A9C 38 80 00 2D */ li r4, 0x2d -/* 000019E0 00001AA0 7F C0 07 34 */ extsh r0, r30 -/* 000019E4 00001AA4 54 03 08 3C */ slwi r3, r0, 1 -/* 000019E8 00001AA8 38 03 01 38 */ addi r0, r3, 0x138 -/* 000019EC 00001AAC 7C 9F 03 2E */ sthx r4, r31, r0 -/* 000019F0 00001AB0 7F C0 07 34 */ extsh r0, r30 -/* 000019F4 00001AB4 54 03 08 3C */ slwi r3, r0, 1 -/* 000019F8 00001AB8 38 03 01 40 */ addi r0, r3, 0x140 -/* 000019FC 00001ABC 7F 7F 03 2E */ sthx r27, r31, r0 -/* 00001A00 00001AC0 A8 1D 00 72 */ lha r0, 0x72(r29) -/* 00001A04 00001AC4 7C 1B 00 50 */ subf r0, r27, r0 -/* 00001A08 00001AC8 B0 1D 00 72 */ sth r0, 0x72(r29) -/* 00001A0C 00001ACC A8 1D 00 72 */ lha r0, 0x72(r29) -/* 00001A10 00001AD0 2C 00 00 00 */ cmpwi r0, 0x0 -/* 00001A14 00001AD4 40 80 00 0C */ bge .L_00001A20 -/* 00001A18 00001AD8 38 00 00 00 */ li r0, 0x0 -/* 00001A1C 00001ADC B0 1D 00 72 */ sth r0, 0x72(r29) -.L_00001A20: -/* 00001A20 00001AE0 39 61 00 30 */ addi r11, r1, 0x30 -/* 00001A24 00001AE4 48 00 00 01 */ bl _restgpr_27 -/* 00001A28 00001AE8 80 01 00 34 */ lwz r0, 0x34(r1) -/* 00001A2C 00001AEC 7C 08 03 A6 */ mtlr r0 -/* 00001A30 00001AF0 38 21 00 30 */ addi r1, r1, 0x30 -/* 00001A34 00001AF4 4E 80 00 20 */ blr -.endfn fn_2_1858 - -.fn fn_2_1A38, global -/* 00001A38 00001AF8 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 00001A3C 00001AFC 7C 08 02 A6 */ mflr r0 -/* 00001A40 00001B00 90 01 00 44 */ stw r0, 0x44(r1) -/* 00001A44 00001B04 93 E1 00 3C */ stw r31, 0x3c(r1) -/* 00001A48 00001B08 93 C1 00 38 */ stw r30, 0x38(r1) -/* 00001A4C 00001B0C 93 A1 00 34 */ stw r29, 0x34(r1) -/* 00001A50 00001B10 7C 7D 1B 78 */ mr r29, r3 -/* 00001A54 00001B14 80 7D 00 40 */ lwz r3, 0x40(r29) -/* 00001A58 00001B18 A8 63 00 00 */ lha r3, 0x0(r3) -/* 00001A5C 00001B1C 3C 80 00 00 */ lis r4, lbl_2_data_124@ha -/* 00001A60 00001B20 38 84 00 00 */ addi r4, r4, lbl_2_data_124@l -/* 00001A64 00001B24 80 84 00 00 */ lwz r4, 0x0(r4) -/* 00001A68 00001B28 48 00 00 01 */ bl fn_80021444 -/* 00001A6C 00001B2C 7C 7F 1B 78 */ mr r31, r3 -/* 00001A70 00001B30 38 00 00 02 */ li r0, 0x2 -/* 00001A74 00001B34 90 1F 00 04 */ stw r0, 0x4(r31) -/* 00001A78 00001B38 3C 60 00 00 */ lis r3, lbl_2_rodata_68@ha -/* 00001A7C 00001B3C 38 63 00 00 */ addi r3, r3, lbl_2_rodata_68@l -/* 00001A80 00001B40 C0 03 00 00 */ lfs f0, 0x0(r3) -/* 00001A84 00001B44 D0 01 00 20 */ stfs f0, 0x20(r1) -/* 00001A88 00001B48 3C 60 00 00 */ lis r3, lbl_2_rodata_6C@ha -/* 00001A8C 00001B4C 38 63 00 00 */ addi r3, r3, lbl_2_rodata_6C@l -/* 00001A90 00001B50 C0 03 00 00 */ lfs f0, 0x0(r3) -/* 00001A94 00001B54 D0 01 00 24 */ stfs f0, 0x24(r1) -/* 00001A98 00001B58 3C 60 00 00 */ lis r3, lbl_2_rodata_70@ha -/* 00001A9C 00001B5C 38 63 00 00 */ addi r3, r3, lbl_2_rodata_70@l -/* 00001AA0 00001B60 C0 03 00 00 */ lfs f0, 0x0(r3) -/* 00001AA4 00001B64 D0 01 00 28 */ stfs f0, 0x28(r1) -/* 00001AA8 00001B68 3C 60 00 00 */ lis r3, lbl_2_rodata_24@ha -/* 00001AAC 00001B6C 38 63 00 00 */ addi r3, r3, lbl_2_rodata_24@l -/* 00001AB0 00001B70 C0 03 00 00 */ lfs f0, 0x0(r3) -/* 00001AB4 00001B74 D0 01 00 14 */ stfs f0, 0x14(r1) -/* 00001AB8 00001B78 3C 60 00 00 */ lis r3, lbl_2_rodata_24@ha -/* 00001ABC 00001B7C 38 63 00 00 */ addi r3, r3, lbl_2_rodata_24@l -/* 00001AC0 00001B80 C0 03 00 00 */ lfs f0, 0x0(r3) -/* 00001AC4 00001B84 D0 01 00 18 */ stfs f0, 0x18(r1) -/* 00001AC8 00001B88 3C 60 00 00 */ lis r3, lbl_2_rodata_24@ha -/* 00001ACC 00001B8C 38 63 00 00 */ addi r3, r3, lbl_2_rodata_24@l -/* 00001AD0 00001B90 C0 03 00 00 */ lfs f0, 0x0(r3) -/* 00001AD4 00001B94 D0 01 00 1C */ stfs f0, 0x1c(r1) -/* 00001AD8 00001B98 3C 60 00 00 */ lis r3, lbl_2_rodata_3C@ha -/* 00001ADC 00001B9C 38 63 00 00 */ addi r3, r3, lbl_2_rodata_3C@l -/* 00001AE0 00001BA0 C0 03 00 00 */ lfs f0, 0x0(r3) -/* 00001AE4 00001BA4 D0 01 00 08 */ stfs f0, 0x8(r1) -/* 00001AE8 00001BA8 3C 60 00 00 */ lis r3, lbl_2_rodata_6C@ha -/* 00001AEC 00001BAC 38 63 00 00 */ addi r3, r3, lbl_2_rodata_6C@l -/* 00001AF0 00001BB0 C0 03 00 00 */ lfs f0, 0x0(r3) -/* 00001AF4 00001BB4 D0 01 00 0C */ stfs f0, 0xc(r1) -/* 00001AF8 00001BB8 3C 60 00 00 */ lis r3, lbl_2_rodata_74@ha -/* 00001AFC 00001BBC 38 63 00 00 */ addi r3, r3, lbl_2_rodata_74@l -/* 00001B00 00001BC0 C0 03 00 00 */ lfs f0, 0x0(r3) -/* 00001B04 00001BC4 D0 01 00 10 */ stfs f0, 0x10(r1) -/* 00001B08 00001BC8 38 60 00 12 */ li r3, 0x12 -/* 00001B0C 00001BCC 38 81 00 20 */ addi r4, r1, 0x20 -/* 00001B10 00001BD0 38 A1 00 14 */ addi r5, r1, 0x14 -/* 00001B14 00001BD4 38 C1 00 08 */ addi r6, r1, 0x8 -/* 00001B18 00001BD8 48 00 E1 29 */ bl fn_2_FC40 -/* 00001B1C 00001BDC 7C 7E 1B 78 */ mr r30, r3 -/* 00001B20 00001BE0 80 7E 00 4C */ lwz r3, 0x4c(r30) -/* 00001B24 00001BE4 3C 80 00 00 */ lis r4, lbl_2_rodata_78@ha -/* 00001B28 00001BE8 38 84 00 00 */ addi r4, r4, lbl_2_rodata_78@l -/* 00001B2C 00001BEC C0 24 00 00 */ lfs f1, 0x0(r4) -/* 00001B30 00001BF0 3C 80 00 00 */ lis r4, lbl_2_rodata_7C@ha -/* 00001B34 00001BF4 38 84 00 00 */ addi r4, r4, lbl_2_rodata_7C@l -/* 00001B38 00001BF8 C0 44 00 00 */ lfs f2, 0x0(r4) -/* 00001B3C 00001BFC 3C 80 00 00 */ lis r4, lbl_2_rodata_80@ha -/* 00001B40 00001C00 38 84 00 00 */ addi r4, r4, lbl_2_rodata_80@l -/* 00001B44 00001C04 C0 64 00 00 */ lfs f3, 0x0(r4) -/* 00001B48 00001C08 3C 80 00 00 */ lis r4, lbl_2_rodata_84@ha -/* 00001B4C 00001C0C 38 84 00 00 */ addi r4, r4, lbl_2_rodata_84@l -/* 00001B50 00001C10 C0 84 00 00 */ lfs f4, 0x0(r4) -/* 00001B54 00001C14 3C 80 00 00 */ lis r4, lbl_2_rodata_88@ha -/* 00001B58 00001C18 38 84 00 00 */ addi r4, r4, lbl_2_rodata_88@l -/* 00001B5C 00001C1C C0 A4 00 00 */ lfs f5, 0x0(r4) -/* 00001B60 00001C20 48 00 CB 5D */ bl fn_2_E6BC -/* 00001B64 00001C24 83 E1 00 3C */ lwz r31, 0x3c(r1) -/* 00001B68 00001C28 83 C1 00 38 */ lwz r30, 0x38(r1) -/* 00001B6C 00001C2C 83 A1 00 34 */ lwz r29, 0x34(r1) -/* 00001B70 00001C30 80 01 00 44 */ lwz r0, 0x44(r1) -/* 00001B74 00001C34 7C 08 03 A6 */ mtlr r0 -/* 00001B78 00001C38 38 21 00 40 */ addi r1, r1, 0x40 -/* 00001B7C 00001C3C 4E 80 00 20 */ blr -.endfn fn_2_1A38 - -.fn fn_2_1B80, global -/* 00001B80 00001C40 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 00001B84 00001C44 7C 08 02 A6 */ mflr r0 -/* 00001B88 00001C48 90 01 00 34 */ stw r0, 0x34(r1) -/* 00001B8C 00001C4C 93 E1 00 2C */ stw r31, 0x2c(r1) -/* 00001B90 00001C50 93 C1 00 28 */ stw r30, 0x28(r1) -/* 00001B94 00001C54 93 A1 00 24 */ stw r29, 0x24(r1) -/* 00001B98 00001C58 7C 7D 1B 78 */ mr r29, r3 -/* 00001B9C 00001C5C 80 7D 00 40 */ lwz r3, 0x40(r29) -/* 00001BA0 00001C60 A8 63 00 00 */ lha r3, 0x0(r3) -/* 00001BA4 00001C64 3C 80 00 00 */ lis r4, lbl_2_data_124@ha -/* 00001BA8 00001C68 38 84 00 00 */ addi r4, r4, lbl_2_data_124@l -/* 00001BAC 00001C6C 80 84 00 04 */ lwz r4, 0x4(r4) -/* 00001BB0 00001C70 48 00 00 01 */ bl fn_80021444 -/* 00001BB4 00001C74 7C 7E 1B 78 */ mr r30, r3 -/* 00001BB8 00001C78 38 00 00 02 */ li r0, 0x2 -/* 00001BBC 00001C7C 90 1E 00 04 */ stw r0, 0x4(r30) -/* 00001BC0 00001C80 3C 60 00 00 */ lis r3, lbl_2_rodata_8C@ha -/* 00001BC4 00001C84 38 63 00 00 */ addi r3, r3, lbl_2_rodata_8C@l -/* 00001BC8 00001C88 C0 03 00 00 */ lfs f0, 0x0(r3) -/* 00001BCC 00001C8C D0 01 00 14 */ stfs f0, 0x14(r1) -/* 00001BD0 00001C90 3C 60 00 00 */ lis r3, lbl_2_rodata_10@ha -/* 00001BD4 00001C94 38 63 00 00 */ addi r3, r3, lbl_2_rodata_10@l -/* 00001BD8 00001C98 C0 03 00 00 */ lfs f0, 0x0(r3) -/* 00001BDC 00001C9C D0 01 00 18 */ stfs f0, 0x18(r1) -/* 00001BE0 00001CA0 3C 60 00 00 */ lis r3, lbl_2_rodata_90@ha -/* 00001BE4 00001CA4 38 63 00 00 */ addi r3, r3, lbl_2_rodata_90@l -/* 00001BE8 00001CA8 C0 03 00 00 */ lfs f0, 0x0(r3) -/* 00001BEC 00001CAC D0 01 00 1C */ stfs f0, 0x1c(r1) -/* 00001BF0 00001CB0 3C 60 00 00 */ lis r3, lbl_2_rodata_6C@ha -/* 00001BF4 00001CB4 38 63 00 00 */ addi r3, r3, lbl_2_rodata_6C@l -/* 00001BF8 00001CB8 C0 03 00 00 */ lfs f0, 0x0(r3) -/* 00001BFC 00001CBC D0 01 00 08 */ stfs f0, 0x8(r1) -/* 00001C00 00001CC0 3C 60 00 00 */ lis r3, lbl_2_rodata_94@ha -/* 00001C04 00001CC4 38 63 00 00 */ addi r3, r3, lbl_2_rodata_94@l -/* 00001C08 00001CC8 C0 03 00 00 */ lfs f0, 0x0(r3) -/* 00001C0C 00001CCC D0 01 00 0C */ stfs f0, 0xc(r1) -/* 00001C10 00001CD0 3C 60 00 00 */ lis r3, lbl_2_rodata_94@ha -/* 00001C14 00001CD4 38 63 00 00 */ addi r3, r3, lbl_2_rodata_94@l -/* 00001C18 00001CD8 C0 03 00 00 */ lfs f0, 0x0(r3) -/* 00001C1C 00001CDC D0 01 00 10 */ stfs f0, 0x10(r1) -/* 00001C20 00001CE0 38 60 00 0E */ li r3, 0xe -/* 00001C24 00001CE4 38 81 00 14 */ addi r4, r1, 0x14 -/* 00001C28 00001CE8 38 A1 00 08 */ addi r5, r1, 0x8 -/* 00001C2C 00001CEC 38 C1 00 14 */ addi r6, r1, 0x14 -/* 00001C30 00001CF0 48 00 E0 11 */ bl fn_2_FC40 -/* 00001C34 00001CF4 7C 7F 1B 78 */ mr r31, r3 -/* 00001C38 00001CF8 7F E3 FB 78 */ mr r3, r31 -/* 00001C3C 00001CFC 3C 80 00 00 */ lis r4, lbl_2_rodata_88@ha -/* 00001C40 00001D00 38 84 00 00 */ addi r4, r4, lbl_2_rodata_88@l -/* 00001C44 00001D04 C0 24 00 00 */ lfs f1, 0x0(r4) -/* 00001C48 00001D08 3C 80 00 00 */ lis r4, lbl_2_rodata_10@ha -/* 00001C4C 00001D0C 38 84 00 00 */ addi r4, r4, lbl_2_rodata_10@l -/* 00001C50 00001D10 C0 44 00 00 */ lfs f2, 0x0(r4) -/* 00001C54 00001D14 3C 80 00 00 */ lis r4, lbl_2_rodata_10@ha -/* 00001C58 00001D18 38 84 00 00 */ addi r4, r4, lbl_2_rodata_10@l -/* 00001C5C 00001D1C C0 64 00 00 */ lfs f3, 0x0(r4) -/* 00001C60 00001D20 48 00 00 01 */ bl fn_8002FB20 -/* 00001C64 00001D24 7F E3 FB 78 */ mr r3, r31 -/* 00001C68 00001D28 3C 80 00 00 */ lis r4, lbl_2_rodata_10@ha -/* 00001C6C 00001D2C 38 84 00 00 */ addi r4, r4, lbl_2_rodata_10@l -/* 00001C70 00001D30 C0 24 00 00 */ lfs f1, 0x0(r4) -/* 00001C74 00001D34 3C 80 00 00 */ lis r4, lbl_2_rodata_10@ha -/* 00001C78 00001D38 38 84 00 00 */ addi r4, r4, lbl_2_rodata_10@l -/* 00001C7C 00001D3C C0 44 00 00 */ lfs f2, 0x0(r4) -/* 00001C80 00001D40 3C 80 00 00 */ lis r4, lbl_2_rodata_24@ha -/* 00001C84 00001D44 38 84 00 00 */ addi r4, r4, lbl_2_rodata_24@l -/* 00001C88 00001D48 C0 64 00 00 */ lfs f3, 0x0(r4) -/* 00001C8C 00001D4C 48 00 00 01 */ bl fn_8002FB30 -/* 00001C90 00001D50 80 7F 00 4C */ lwz r3, 0x4c(r31) -/* 00001C94 00001D54 3C 80 00 00 */ lis r4, lbl_2_rodata_98@ha -/* 00001C98 00001D58 38 84 00 00 */ addi r4, r4, lbl_2_rodata_98@l -/* 00001C9C 00001D5C C0 24 00 00 */ lfs f1, 0x0(r4) -/* 00001CA0 00001D60 3C 80 00 00 */ lis r4, lbl_2_rodata_9C@ha -/* 00001CA4 00001D64 38 84 00 00 */ addi r4, r4, lbl_2_rodata_9C@l -/* 00001CA8 00001D68 C0 44 00 00 */ lfs f2, 0x0(r4) -/* 00001CAC 00001D6C 3C 80 00 00 */ lis r4, lbl_2_rodata_A0@ha -/* 00001CB0 00001D70 38 84 00 00 */ addi r4, r4, lbl_2_rodata_A0@l -/* 00001CB4 00001D74 C0 64 00 00 */ lfs f3, 0x0(r4) -/* 00001CB8 00001D78 3C 80 00 00 */ lis r4, lbl_2_rodata_A4@ha -/* 00001CBC 00001D7C 38 84 00 00 */ addi r4, r4, lbl_2_rodata_A4@l -/* 00001CC0 00001D80 C0 84 00 00 */ lfs f4, 0x0(r4) -/* 00001CC4 00001D84 3C 80 00 00 */ lis r4, lbl_2_rodata_1C@ha -/* 00001CC8 00001D88 38 84 00 00 */ addi r4, r4, lbl_2_rodata_1C@l -/* 00001CCC 00001D8C C0 A4 00 00 */ lfs f5, 0x0(r4) -/* 00001CD0 00001D90 48 00 C9 ED */ bl fn_2_E6BC -/* 00001CD4 00001D94 83 E1 00 2C */ lwz r31, 0x2c(r1) -/* 00001CD8 00001D98 83 C1 00 28 */ lwz r30, 0x28(r1) -/* 00001CDC 00001D9C 83 A1 00 24 */ lwz r29, 0x24(r1) -/* 00001CE0 00001DA0 80 01 00 34 */ lwz r0, 0x34(r1) -/* 00001CE4 00001DA4 7C 08 03 A6 */ mtlr r0 -/* 00001CE8 00001DA8 38 21 00 30 */ addi r1, r1, 0x30 -/* 00001CEC 00001DAC 4E 80 00 20 */ blr -.endfn fn_2_1B80 - -.fn fn_2_1CF0, global -/* 00001CF0 00001DB0 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 00001CF4 00001DB4 7C 08 02 A6 */ mflr r0 -/* 00001CF8 00001DB8 90 01 00 44 */ stw r0, 0x44(r1) -/* 00001CFC 00001DBC 93 E1 00 3C */ stw r31, 0x3c(r1) -/* 00001D00 00001DC0 93 C1 00 38 */ stw r30, 0x38(r1) -/* 00001D04 00001DC4 7C 7E 1B 78 */ mr r30, r3 -/* 00001D08 00001DC8 80 7E 00 40 */ lwz r3, 0x40(r30) -/* 00001D0C 00001DCC A8 63 00 00 */ lha r3, 0x0(r3) -/* 00001D10 00001DD0 3C 80 00 00 */ lis r4, lbl_2_data_124@ha -/* 00001D14 00001DD4 38 84 00 00 */ addi r4, r4, lbl_2_data_124@l -/* 00001D18 00001DD8 80 84 00 08 */ lwz r4, 0x8(r4) -/* 00001D1C 00001DDC 48 00 00 01 */ bl fn_80021444 -/* 00001D20 00001DE0 7C 7F 1B 78 */ mr r31, r3 -/* 00001D24 00001DE4 38 00 00 02 */ li r0, 0x2 -/* 00001D28 00001DE8 90 1F 00 04 */ stw r0, 0x4(r31) -/* 00001D2C 00001DEC 3C 60 00 00 */ lis r3, lbl_2_rodata_40@ha -/* 00001D30 00001DF0 38 63 00 00 */ addi r3, r3, lbl_2_rodata_40@l -/* 00001D34 00001DF4 C0 03 00 00 */ lfs f0, 0x0(r3) -/* 00001D38 00001DF8 D0 01 00 20 */ stfs f0, 0x20(r1) -/* 00001D3C 00001DFC 3C 60 00 00 */ lis r3, lbl_2_rodata_10@ha -/* 00001D40 00001E00 38 63 00 00 */ addi r3, r3, lbl_2_rodata_10@l -/* 00001D44 00001E04 C0 03 00 00 */ lfs f0, 0x0(r3) -/* 00001D48 00001E08 D0 01 00 24 */ stfs f0, 0x24(r1) -/* 00001D4C 00001E0C 3C 60 00 00 */ lis r3, lbl_2_rodata_A8@ha -/* 00001D50 00001E10 38 63 00 00 */ addi r3, r3, lbl_2_rodata_A8@l -/* 00001D54 00001E14 C0 03 00 00 */ lfs f0, 0x0(r3) -/* 00001D58 00001E18 D0 01 00 28 */ stfs f0, 0x28(r1) -/* 00001D5C 00001E1C 3C 60 00 00 */ lis r3, lbl_2_rodata_AC@ha -/* 00001D60 00001E20 38 63 00 00 */ addi r3, r3, lbl_2_rodata_AC@l -/* 00001D64 00001E24 C0 03 00 00 */ lfs f0, 0x0(r3) -/* 00001D68 00001E28 D0 01 00 14 */ stfs f0, 0x14(r1) -/* 00001D6C 00001E2C 3C 60 00 00 */ lis r3, lbl_2_rodata_94@ha -/* 00001D70 00001E30 38 63 00 00 */ addi r3, r3, lbl_2_rodata_94@l -/* 00001D74 00001E34 C0 03 00 00 */ lfs f0, 0x0(r3) -/* 00001D78 00001E38 D0 01 00 18 */ stfs f0, 0x18(r1) -/* 00001D7C 00001E3C 3C 60 00 00 */ lis r3, lbl_2_rodata_94@ha -/* 00001D80 00001E40 38 63 00 00 */ addi r3, r3, lbl_2_rodata_94@l -/* 00001D84 00001E44 C0 03 00 00 */ lfs f0, 0x0(r3) -/* 00001D88 00001E48 D0 01 00 1C */ stfs f0, 0x1c(r1) -/* 00001D8C 00001E4C 3C 60 00 00 */ lis r3, lbl_2_rodata_B0@ha -/* 00001D90 00001E50 38 63 00 00 */ addi r3, r3, lbl_2_rodata_B0@l -/* 00001D94 00001E54 C0 03 00 00 */ lfs f0, 0x0(r3) -/* 00001D98 00001E58 D0 01 00 08 */ stfs f0, 0x8(r1) -/* 00001D9C 00001E5C 3C 60 00 00 */ lis r3, lbl_2_rodata_10@ha -/* 00001DA0 00001E60 38 63 00 00 */ addi r3, r3, lbl_2_rodata_10@l -/* 00001DA4 00001E64 C0 03 00 00 */ lfs f0, 0x0(r3) -/* 00001DA8 00001E68 D0 01 00 0C */ stfs f0, 0xc(r1) -/* 00001DAC 00001E6C 3C 60 00 00 */ lis r3, lbl_2_rodata_B4@ha -/* 00001DB0 00001E70 38 63 00 00 */ addi r3, r3, lbl_2_rodata_B4@l -/* 00001DB4 00001E74 C0 03 00 00 */ lfs f0, 0x0(r3) -/* 00001DB8 00001E78 D0 01 00 10 */ stfs f0, 0x10(r1) -/* 00001DBC 00001E7C 38 60 00 28 */ li r3, 0x28 -/* 00001DC0 00001E80 38 81 00 20 */ addi r4, r1, 0x20 -/* 00001DC4 00001E84 38 A1 00 14 */ addi r5, r1, 0x14 -/* 00001DC8 00001E88 38 C1 00 08 */ addi r6, r1, 0x8 -/* 00001DCC 00001E8C 48 00 DE 75 */ bl fn_2_FC40 -/* 00001DD0 00001E90 83 E1 00 3C */ lwz r31, 0x3c(r1) -/* 00001DD4 00001E94 83 C1 00 38 */ lwz r30, 0x38(r1) -/* 00001DD8 00001E98 80 01 00 44 */ lwz r0, 0x44(r1) -/* 00001DDC 00001E9C 7C 08 03 A6 */ mtlr r0 -/* 00001DE0 00001EA0 38 21 00 40 */ addi r1, r1, 0x40 -/* 00001DE4 00001EA4 4E 80 00 20 */ blr -.endfn fn_2_1CF0 - .fn fn_2_1DE8, global /* 00001DE8 00001EA8 94 21 FF A0 */ stwu r1, -0x60(r1) /* 00001DEC 00001EAC 7C 08 02 A6 */ mflr r0 @@ -2457,75 +1439,6 @@ /* 000033B0 00003470 4E 80 00 20 */ blr .endfn fn_2_2FA4 -.fn fn_2_33B4, global -/* 000033B4 00003474 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 000033B8 00003478 7C 08 02 A6 */ mflr r0 -/* 000033BC 0000347C 90 01 00 14 */ stw r0, 0x14(r1) -/* 000033C0 00003480 93 E1 00 0C */ stw r31, 0xc(r1) -/* 000033C4 00003484 7C 7F 1B 78 */ mr r31, r3 -/* 000033C8 00003488 3C 60 00 00 */ lis r3, lbl_2_rodata_170@ha -/* 000033CC 0000348C 38 63 00 00 */ addi r3, r3, lbl_2_rodata_170@l -/* 000033D0 00003490 C8 23 00 00 */ lfd f1, 0x0(r3) -/* 000033D4 00003494 3C 60 00 00 */ lis r3, lbl_2_bss_10@ha -/* 000033D8 00003498 38 63 00 00 */ addi r3, r3, lbl_2_bss_10@l -/* 000033DC 0000349C C0 03 00 00 */ lfs f0, 0x0(r3) -/* 000033E0 000034A0 FC 21 00 32 */ fmul f1, f1, f0 -/* 000033E4 000034A4 3C 60 00 00 */ lis r3, lbl_2_rodata_178@ha -/* 000033E8 000034A8 38 63 00 00 */ addi r3, r3, lbl_2_rodata_178@l -/* 000033EC 000034AC C8 03 00 00 */ lfd f0, 0x0(r3) -/* 000033F0 000034B0 FC 21 00 24 */ fdiv f1, f1, f0 -/* 000033F4 000034B4 48 00 00 01 */ bl fn_800EB910 -/* 000033F8 000034B8 3C 60 00 00 */ lis r3, lbl_2_rodata_168@ha -/* 000033FC 000034BC 38 63 00 00 */ addi r3, r3, lbl_2_rodata_168@l -/* 00003400 000034C0 C8 03 00 00 */ lfd f0, 0x0(r3) -/* 00003404 000034C4 FC 00 00 72 */ fmul f0, f0, f1 -/* 00003408 000034C8 FC 40 00 18 */ frsp f2, f0 -/* 0000340C 000034CC 80 7F 00 40 */ lwz r3, 0x40(r31) -/* 00003410 000034D0 A8 63 00 06 */ lha r3, 0x6(r3) -/* 00003414 000034D4 3C 80 00 00 */ lis r4, lbl_2_rodata_164@ha -/* 00003418 000034D8 38 84 00 00 */ addi r4, r4, lbl_2_rodata_164@l -/* 0000341C 000034DC C0 24 00 00 */ lfs f1, 0x0(r4) -/* 00003420 000034E0 3C 80 00 00 */ lis r4, lbl_2_rodata_D4@ha -/* 00003424 000034E4 38 84 00 00 */ addi r4, r4, lbl_2_rodata_D4@l -/* 00003428 000034E8 C0 64 00 00 */ lfs f3, 0x0(r4) -/* 0000342C 000034EC 48 00 00 01 */ bl fn_800210CC -/* 00003430 000034F0 3C 60 00 00 */ lis r3, lbl_2_bss_10@ha -/* 00003434 000034F4 38 63 00 00 */ addi r3, r3, lbl_2_bss_10@l -/* 00003438 000034F8 C0 23 00 00 */ lfs f1, 0x0(r3) -/* 0000343C 000034FC 3C 60 00 00 */ lis r3, lbl_2_rodata_180@ha -/* 00003440 00003500 38 63 00 00 */ addi r3, r3, lbl_2_rodata_180@l -/* 00003444 00003504 C0 03 00 00 */ lfs f0, 0x0(r3) -/* 00003448 00003508 EC 01 00 2A */ fadds f0, f1, f0 -/* 0000344C 0000350C 3C 60 00 00 */ lis r3, lbl_2_bss_10@ha -/* 00003450 00003510 38 63 00 00 */ addi r3, r3, lbl_2_bss_10@l -/* 00003454 00003514 D0 03 00 00 */ stfs f0, 0x0(r3) -/* 00003458 00003518 3C 60 00 00 */ lis r3, lbl_2_bss_10@ha -/* 0000345C 0000351C 38 63 00 00 */ addi r3, r3, lbl_2_bss_10@l -/* 00003460 00003520 C0 23 00 00 */ lfs f1, 0x0(r3) -/* 00003464 00003524 3C 60 00 00 */ lis r3, lbl_2_rodata_184@ha -/* 00003468 00003528 38 63 00 00 */ addi r3, r3, lbl_2_rodata_184@l -/* 0000346C 0000352C C0 03 00 00 */ lfs f0, 0x0(r3) -/* 00003470 00003530 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 00003474 00003534 4C 41 13 82 */ cror eq, gt, eq -/* 00003478 00003538 40 82 00 2C */ bne .L_000034A4 -/* 0000347C 0000353C 3C 60 00 00 */ lis r3, lbl_2_bss_10@ha -/* 00003480 00003540 38 63 00 00 */ addi r3, r3, lbl_2_bss_10@l -/* 00003484 00003544 C0 23 00 00 */ lfs f1, 0x0(r3) -/* 00003488 00003548 3C 60 00 00 */ lis r3, lbl_2_rodata_184@ha -/* 0000348C 0000354C 38 63 00 00 */ addi r3, r3, lbl_2_rodata_184@l -/* 00003490 00003550 C0 03 00 00 */ lfs f0, 0x0(r3) -/* 00003494 00003554 EC 01 00 28 */ fsubs f0, f1, f0 -/* 00003498 00003558 3C 60 00 00 */ lis r3, lbl_2_bss_10@ha -/* 0000349C 0000355C 38 63 00 00 */ addi r3, r3, lbl_2_bss_10@l -/* 000034A0 00003560 D0 03 00 00 */ stfs f0, 0x0(r3) -.L_000034A4: -/* 000034A4 00003564 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 000034A8 00003568 80 01 00 14 */ lwz r0, 0x14(r1) -/* 000034AC 0000356C 7C 08 03 A6 */ mtlr r0 -/* 000034B0 00003570 38 21 00 10 */ addi r1, r1, 0x10 -/* 000034B4 00003574 4E 80 00 20 */ blr -.endfn fn_2_33B4 - .fn fn_2_34B8, global /* 000034B8 00003578 94 21 FF B0 */ stwu r1, -0x50(r1) /* 000034BC 0000357C 7C 08 02 A6 */ mflr r0 diff --git a/src/REL/m401Dll/m401Dll.c b/src/REL/m401Dll/m401Dll.c index b19fc50a..39e01845 100644 --- a/src/REL/m401Dll/m401Dll.c +++ b/src/REL/m401Dll/m401Dll.c @@ -65,7 +65,59 @@ void fn_2_A0(void) { lbl_2_bss_11C = fn_80032A94(0x50A); } -// fn_2_70C +void fn_2_70C(unkStructBSS114* arg0) { + s16 var_r29; + unkSubstructBSS114* temp_r30_2; + s32 i; + + switch (lbl_2_bss_120) { + case 0: + break; + case 1: + if (lbl_2_bss_BE == 1) { + lbl_2_bss_120 = 2; + lbl_2_bss_C0 = fn_80035794(3, 1); + fn_80033140(lbl_2_bss_A4, 0x64); + } + break; + case 2: + if (lbl_2_bss_114 == NULL) { + lbl_2_bss_114 = fn_8002F454(HuPrcCurrentGet(), 0x3E8, 0, 0, -1, &fn_2_C130); + lbl_2_bss_114->unk_4C = 0; + var_r29 = 0; + lbl_2_bss_BA = 0; + for (i = 0; i < 4; i++) { + temp_r30_2 = lbl_2_bss_118[i]->unk_5C; + lbl_2_bss_118[i]->unk_14 = &fn_2_48A0; + temp_r30_2->unk_00[0] = 5; + temp_r30_2->unk_68[0][0] = 0; + if (temp_r30_2->unk_68[1][2] > var_r29) { + var_r29 = temp_r30_2->unk_68[1][2]; + } + lbl_2_bss_B2[i] = -1; + lbl_2_bss_AA[i] = -1; + } + if ((s16) var_r29 > 0) { + for (i = 0; i < 4; i++) { + temp_r30_2 = lbl_2_bss_118[i]->unk_5C; + if (temp_r30_2->unk_68[1][2] == var_r29) { + lbl_2_bss_AA[lbl_2_bss_BA] = lbl_8018FC10[i].unk_00; + lbl_2_bss_B2[lbl_2_bss_BA++] = i; + temp_r30_2->unk_68[0][0] = 1; + } + } + } + OSReport(lbl_2_data_6F, lbl_2_bss_BA); + } + break; + } + if (lbl_801D3CC2 != 0) { + fn_800414AC(2, 0, 0x3C); + fn_80033140(lbl_2_bss_A4, 0x64); + fn_80032BC4(lbl_2_bss_11C); + arg0->unk_14 = &fn_2_A10; + } +} void fn_2_A10(void) { s32 i; @@ -166,10 +218,203 @@ void fn_2_C1C(unkStructBSS114* arg0) { arg0->unk_14 = &fn_2_11D0; } +void fn_2_11D0(unkStructBSS114* arg0) { + unkStructBSS114* sp1C; + Vec3f sp18; + Vec3f spC; + unkSubstructBSS114* sp8; + unkSubstructBSS114* temp_r31; + s32 i; + s32 j; + unkStructBSS114* temp_r28; + s16 temp; + + temp_r31 = arg0->unk_5C; + + for (i = 0; i < 4; i++) { + sp8 = lbl_2_bss_118[i]->unk_5C; + if (temp_r31->unk_130[i] != 0) { + temp_r28 = lbl_2_bss_118[i]; + sp18.x = temp_r28->unk_18.x; + sp18.y = temp_r28->unk_18.y; + sp18.z = temp_r28->unk_18.z; + fn_2_10240(&sp18, &spC); + + for (j = 0; j < 3; j++) { + fn_8003FCC0(temp_r31->unk_50[i][j], -20.0f + spC.x + temp_r31->unk_F0[i] + (f32) (j * 0x10), 20.0f + spC.y + temp_r31->unk_100[i]); + fn_8003FDA8(temp_r31->unk_50[i][j], temp_r31->unk_90[i]); + } + + temp_r31->unk_C0[i] -= 0.5f; + temp_r31->unk_100[i] -= 1.0f; + if (temp_r31->unk_130[i] < 15) { + temp_r31->unk_90[i] -= 2.0f / 30.0f; + } + + if (--temp_r31->unk_130[i] == 0) { + fn_8003FBEC(temp_r31->unk_50[i][0]); + fn_8003FBEC(temp_r31->unk_50[i][1]); + } + } + if (temp_r31->unk_138[i] != 0) { + temp_r28 = lbl_2_bss_118[i]; + sp18.x = temp_r28->unk_18.x; + sp18.y = temp_r28->unk_18.y; + sp18.z = temp_r28->unk_18.z; + fn_2_10240(&sp18, &spC); + + for (j = 0; j < 2; j++) { + fn_8003FCC0(temp_r31->unk_68[i][j], -20.0f + spC.x + temp_r31->unk_110[i] + (f32) (j * 0x10), -20.0f + spC.y + temp_r31->unk_120[i]); + fn_8003FDA8(temp_r31->unk_68[i][j], temp_r31->unk_A0[i]); + } + + temp_r31->unk_E0[i] += 0.5f; + temp_r31->unk_120[i] += 1.0f; + if (temp_r31->unk_138[i] < 0xF) { + temp_r31->unk_A0[i] -= 2.0f / 30.0f; + } + + if (--temp_r31->unk_138[i] == 0) { + fn_8003FBEC(temp_r31->unk_68[i][0]); + fn_8003FBEC(temp_r31->unk_68[i][1]); + } + } + fn_2_15C4(i); + } +} + +void fn_2_15C4(s16 arg0) { + s32 temp_r30; + unkSubstructBSS114* temp_r31; + unkSubstructBSS114* temp_r29; + + temp_r31 = lbl_2_bss_E0->unk_5C; + temp_r29 = lbl_2_bss_118[arg0]->unk_5C; + temp_r30 = temp_r29->unk_68[1][2]; + fn_8003FE90(temp_r31->unk_08[arg0][0], temp_r30 / 10); + fn_8003FE90(temp_r31->unk_08[arg0][1], temp_r30 % 10); +} + +void fn_2_169C(s16 arg0) { + s32 i; + unkSubstructBSS114* temp_r28; + unkSubstructBSS114* temp_r31; + + temp_r31 = lbl_2_bss_E0->unk_5C; + temp_r28 = lbl_2_bss_118[arg0]->unk_5C; + for (i = 0; i < 2; i++) { + fn_8003FBA8(temp_r31->unk_50[arg0][i]); + } + temp_r31->unk_90[arg0] = 1.0f; + temp_r31->unk_C0[arg0] = ((arg0 > 1) * 0x18E) + 0x34; + temp_r31->unk_B0[arg0] = ((arg0 & 1) * 0x1BA) + 0x29; + temp_r31->unk_100[arg0] = 0.0f; + temp_r31->unk_F0[arg0] = 0.0f; + fn_8003FE90(temp_r31->unk_50[arg0][1], temp_r28->unk_68[2][0]); + temp_r31->unk_130[arg0] = 0x2D; +} + +void fn_2_1858(s16 arg0, s16 arg1) { + s16 temp_r4; + s32 temp_r0; + s32 var_r28; + unkSubstructBSS114* temp_r29; + unkSubstructBSS114* temp_r31; + + temp_r31 = lbl_2_bss_E0->unk_5C; + temp_r29 = lbl_2_bss_118[arg0]->unk_5C; + for (var_r28 = 0; var_r28 < 2; var_r28++) { + fn_8003FBA8(temp_r31->unk_68[arg0][var_r28]); + } + temp_r31->unk_A0[arg0] = 1.0f; + temp_r31->unk_E0[arg0] = ((arg0 > 1) * 0x18E) + 0x14; + temp_r31->unk_D0[arg0] = ((arg0 & 1) * 0x1BA) + 0x29; + temp_r31->unk_120[arg0] = 0.0f; + temp_r31->unk_110[arg0] = 0.0f; + fn_8003FE90(temp_r31->unk_68[arg0][1], arg1); + temp_r31->unk_138[arg0] = 0x2D; + temp_r31->unk_140[arg0] = arg1; + temp_r29->unk_68[1][2] -= arg1; + if (temp_r29->unk_68[1][2] < 0) { + temp_r29->unk_68[1][2] = 0; + } +} + +void fn_2_1A38(unkStructBSS114* arg0) { + Vec3f sp20; + Vec3f sp14; + Vec3f sp8; + unkStructBSS114 *temp; + unkStructBSS114 *temp2; + + temp = fn_80021444(arg0->unk_40->unk_00[0], lbl_2_data_124); + temp->unk_04 = 2; + + sp20.x = -2500.0f; + sp20.y = 150.0f; + sp20.z = -6800.0f; + sp14.x = 50.0f; + sp14.y = 50.0f; + sp14.z = 50.0f; + sp8.x = 1500.0f; + sp8.y = 150.0f; + sp8.z = -4800.0f; + temp2 = fn_2_FC40(0x12, &sp20, &sp14, &sp8); + fn_2_E6BC(temp2->unk_4C, 5.0f, 1.5f, 0.2f, 0.8f, 3.0f); +} + +void fn_2_1B80(unkStructBSS114* arg0) { + Vec3f sp14; + Vec3f sp8; + unkStructBSS114* temp; + unkStructBSS114* temp2; + + temp = fn_80021444(arg0->unk_40->unk_00[0], lbl_2_data_124[1]); + temp->unk_04 = 2; + sp14.x = -1000.0f; + sp14.y = 0.0f; + sp14.z = -9100.0f; + sp8.x = 150.0f; + sp8.y = 100.0f; + sp8.z = 100.0f; + temp2 = fn_2_FC40(0xE, &sp14, &sp8, &sp14); + fn_8002FB20(temp2, 3.0f, 0.0f, 0.0f); + fn_8002FB30(temp2, 0.0f, 0.0f, 50.0f); + fn_2_E6BC(temp2->unk_4C, 4.5f, 2.5f, 0.08f, 0.9f, 1.0f); +} + +void fn_2_1CF0(unkStructBSS114* arg0) { + Vec3f sp20; + Vec3f sp14; + Vec3f sp8; + unkStructBSS114 *temp; + + temp = fn_80021444(arg0->unk_40->unk_00[0], lbl_2_data_124[2]); + temp->unk_04 = 2; + sp20.x = 500.0f; + sp20.y = 0.0f; + sp20.z = -24300.0f; + sp14.x = 200.0f; + sp14.y = 100.0f; + sp14.z = 100.0f; + sp8.x = 1000.0f; + sp8.y = 0.0f; + sp8.z = -16300.0f; + fn_2_FC40(0x28, &sp20, &sp14, &sp8); +} + +void fn_2_33B4(unkStructBSS114* arg0) { + fn_800210CC(arg0->unk_40->unk_00[3], 110.0f, 5.0 * fn_800EB910(M_PI * (f64) lbl_2_bss_10 / 180.0), -1500.0); + lbl_2_bss_10 += 2.0f; + if (lbl_2_bss_10 >= 360.0f) { + lbl_2_bss_10 -= 360.0f; + } +} + void fn_2_14738(unkStructBSS114* arg0) { fn_8002FB10(arg0, lbl_2_bss_6C.x, lbl_2_bss_6C.y, lbl_2_bss_6C.z); if (arg0->unk_4C == 1U) { - fn_80021228(*arg0->unk_40, 1); + fn_80021228(arg0->unk_40->unk_00[0], 1); fn_8002F7AC(HuPrcCurrentGet(), arg0); } } diff --git a/src/REL/m401Dll/m401Dll.h b/src/REL/m401Dll/m401Dll.h index 3f155931..345ceef9 100644 --- a/src/REL/m401Dll/m401Dll.h +++ b/src/REL/m401Dll/m401Dll.h @@ -16,15 +16,26 @@ typedef struct unkSubstructBSS114 { s16 unk_88[4]; f32 unk_90[4]; f32 unk_A0[4]; - char unk_B0[0x80]; + char unk_B0[0x10]; + f32 unk_C0[4]; + f32 unk_D0[4]; + f32 unk_E0[4]; + f32 unk_F0[4]; + f32 unk_100[4]; + f32 unk_110[4]; + f32 unk_120[4]; s16 unk_130[4]; s16 unk_138[4]; + s16 unk_140[4]; } unkSubstructBSS114; typedef struct unkStructBSS114 { - char unk_00[0x14]; + char unk_00[4]; + s32 unk_04; + char unk_08[0xC]; void *unk_14; - char unk_18[0x28]; - s16 *unk_40; + Vec3f unk_18; + char unk_24[0x1C]; + unkSubstructBSS114 *unk_40; char unk_44[0x8]; s32 unk_4C; u32 unk_50; @@ -43,14 +54,23 @@ typedef struct unkStruct18C8FC { extern unkStruct18FC10 lbl_8018FC10[]; extern unkStruct18BFC0 lbl_8018BFC0; extern unkStruct18C8FC lbl_8018C8FC[]; +extern s16 lbl_801D3CC2; +void fn_80021228(s16, s32); +unkStructBSS114* fn_80021444(s16, s32); void fn_800240EC(f32, f32, u8, u8, u8); void fn_8002EF20(s16, s16); -void fn_80032F7C(void); -u8 fn_80041600(void); -void fn_80021228(s16, s32); +unkStructBSS114* fn_8002F454(void*, s16, s16, s16, s16, void*); void fn_8002F7AC(s32*, unkStructBSS114*); void fn_8002FB10(void*, f32, f32, f32); +void fn_8002FB20(unkStructBSS114*, f32, f32, f32); +void fn_8002FB30(unkStructBSS114*, f32, f32, f32); +u8 fn_800325F4(void); +void fn_80032BC4(s32); +s32 fn_80032EAC(s32, Vec3f*); +void fn_80032F7C(void); +void fn_80033140(s32, s32); +s16 fn_80035794(s32, ...); s16 fn_8003F958(s32, s16, s16); void fn_8003FBA8(s16); void fn_8003FBEC(s16); @@ -60,7 +80,9 @@ void fn_8003FDA8(s16, f32); void fn_8003FDF0(s16, s8, s8, s8); void fn_8003FE90(s16, s16); void fn_8003FED8(s16, s16); -s16 fn_80022ADC(s32*, s32*, s32*); +void fn_800414AC(s16, s16, s16); +u8 fn_80041600(void); +s16 fn_80022ADC(Vec3f*, Vec3f*, s32*); void fn_80022EB4(s16); void fn_800240E4(s16); void fn_800241C0(f32, f32, f32); @@ -81,60 +103,83 @@ typedef struct unkStructBSS100 { void *unk_04; } unkStructBSS100; -s16 lbl_2_data_4[8]; -s32 lbl_2_data_14; -s32 lbl_2_data_20; -s32 lbl_2_data_2C; -Vec3f lbl_2_data_30; -Vec3f lbl_2_data_3C; -Vec3f lbl_2_data_48; -s32 lbl_2_data_80[8]; +extern f32 lbl_2_data_0 = -7.1875f; +extern s16 lbl_2_data_4[8] = { 0, 1, 2, 3, 4, 5, 6, 7 }; +extern Vec3f lbl_2_data_14 = { 1500.0f, 2500.0f, 1500.0f }; +extern Vec3f lbl_2_data_20 = { 0.0f, -1.0f, 0.0f }; +extern s32 lbl_2_data_2C = -1; +extern Vec3f lbl_2_data_30 = { 0.0f, 2500.0f, 0.0f }; +extern Vec3f lbl_2_data_3C = { 0.0f, 1.0f, -1.0f }; +extern Vec3f lbl_2_data_48 = { 0.0f, 0.0f, 0.0f }; +extern char lbl_2_data_6F[] = "winnercnt:%d"; +extern s32 lbl_2_data_80[8] = { 0x610000, 0x610001, 0x610002, 0x610003, 0x610004, 0x610005, 0x610006, 0x610007 }; +extern s32 lbl_2_data_124[5]; -unkStruct18FC10* lbl_2_bss_1C; -f32 lbl_2_bss_50; -unkStructBSS54 lbl_2_bss_54; -Vec3f lbl_2_bss_60; -Vec3f lbl_2_bss_6C; -f32 lbl_2_bss_84; -f32 lbl_2_bss_88; -s16 lbl_2_bss_A8; -s16 lbl_2_bss_BA; -s16 lbl_2_bss_BE; -void* lbl_2_bss_C8; -unkStructBSS114* lbl_2_bss_E0; -s32 lbl_2_bss_F4; -void* lbl_2_bss_F8; -void* lbl_2_bss_FC; -unkStructBSS100 lbl_2_bss_100; -unkStructBSS114* lbl_2_bss_108; -unkStructBSS114* lbl_2_bss_10C; -unkStructBSS114* lbl_2_bss_110; -unkStructBSS114* lbl_2_bss_114; -unkStructBSS114* lbl_2_bss_118[]; -s32 lbl_2_bss_11C; -s16 lbl_2_bss_120; -f32 lbl_2_bss_124; -f32 lbl_2_bss_128; -f32 lbl_2_bss_12C; +extern f32 lbl_2_bss_10; +extern unkStruct18FC10* lbl_2_bss_1C; +extern f32 lbl_2_bss_50; +extern unkStructBSS54 lbl_2_bss_54; +extern Vec3f lbl_2_bss_60; +extern Vec3f lbl_2_bss_6C; +extern f32 lbl_2_bss_84; +extern f32 lbl_2_bss_88; +extern s32 lbl_2_bss_90; +extern s32 lbl_2_bss_A4; +extern s16 lbl_2_bss_A8; +extern s16 lbl_2_bss_AA[]; +extern s16 lbl_2_bss_B2[]; +extern s16 lbl_2_bss_BA; +extern s16 lbl_2_bss_BE; +extern s16 lbl_2_bss_C0; +extern void* lbl_2_bss_C8; +extern s32 lbl_2_bss_D0; +extern unkStructBSS114* lbl_2_bss_E0; +extern s32 lbl_2_bss_F4; +extern void* lbl_2_bss_F8; +extern void* lbl_2_bss_FC; +extern unkStructBSS100 lbl_2_bss_100; +extern unkStructBSS114* lbl_2_bss_108; +extern unkStructBSS114* lbl_2_bss_10C; +extern unkStructBSS114* lbl_2_bss_110; +extern unkStructBSS114* lbl_2_bss_114; +extern unkStructBSS114** lbl_2_bss_118; +extern s32 lbl_2_bss_11C; +extern s16 lbl_2_bss_120; +extern f32 lbl_2_bss_124; +extern f32 lbl_2_bss_128; +extern f32 lbl_2_bss_12C; void fn_2_A0(void); -void fn_2_70C(void*); +void fn_2_70C(unkStructBSS114*); void fn_2_A10(void); void fn_2_A98(void); void fn_2_AEC(s16); void fn_2_C1C(unkStructBSS114*); -void fn_2_11D0(void*); +void fn_2_11D0(unkStructBSS114*); +void fn_2_15C4(s16); +void fn_2_169C(s16); +void fn_2_1858(s16, s16); +void fn_2_1A38(unkStructBSS114*); +void fn_2_1B80(unkStructBSS114*); +void fn_2_1CF0(unkStructBSS114*); void fn_2_2FA4(void*); void fn_2_3B24(void*); +void fn_2_48A0(void*); void fn_2_7CB4(void*); void fn_2_8E74(void*); void fn_2_95E4(void*); +void fn_2_91AC(void*, Vec3f*); void fn_2_9D00(void*); void fn_2_BD90(void*); void fn_2_C6DC(void*); +void fn_2_C130(void); void fn_2_D088(void*); void fn_2_DBCC(s16); -void fn_2_10710(void); +void fn_2_E6BC(s32, f32, f32, f32, f32, f32); +unkStructBSS114* fn_2_FC40(s32, Vec3f*, Vec3f*, Vec3f*); +void fn_2_10240(Vec3f*, Vec3f*); void fn_2_1041C(void); -s16 fn_2_1079C(void); s32 fn_2_14640(void*); +void fn_2_10710(void); +s16 fn_2_1079C(void); +s32 fn_2_10A88(Vec3f*, s16);