diff --git a/src/REL/m401Dll/asm/auto_00_00000000_text.s b/src/REL/m401Dll/asm/auto_00_00000000_text.s index e38b966a..6a656938 100644 --- a/src/REL/m401Dll/asm/auto_00_00000000_text.s +++ b/src/REL/m401Dll/asm/auto_00_00000000_text.s @@ -206,469 +206,6 @@ /* 00000A0C 00000ACC 4E 80 00 20 */ blr .endfn fn_2_70C -.fn fn_2_AEC, global -/* 00000AEC 00000BAC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 00000AF0 00000BB0 7C 08 02 A6 */ mflr r0 -/* 00000AF4 00000BB4 90 01 00 24 */ stw r0, 0x24(r1) -/* 00000AF8 00000BB8 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 00000AFC 00000BBC 93 C1 00 18 */ stw r30, 0x18(r1) -/* 00000B00 00000BC0 93 A1 00 14 */ stw r29, 0x14(r1) -/* 00000B04 00000BC4 B0 61 00 08 */ sth r3, 0x8(r1) -/* 00000B08 00000BC8 3C 60 00 00 */ lis r3, lbl_2_bss_E0@ha -/* 00000B0C 00000BCC 38 63 00 00 */ addi r3, r3, lbl_2_bss_E0@l -/* 00000B10 00000BD0 80 63 00 00 */ lwz r3, 0x0(r3) -/* 00000B14 00000BD4 83 E3 00 5C */ lwz r31, 0x5c(r3) -/* 00000B18 00000BD8 A8 01 00 08 */ lha r0, 0x8(r1) -/* 00000B1C 00000BDC 2C 00 00 00 */ cmpwi r0, 0x0 -/* 00000B20 00000BE0 41 82 00 74 */ beq .L_00000B94 -/* 00000B24 00000BE4 3B C0 00 00 */ li r30, 0x0 -/* 00000B28 00000BE8 48 00 00 60 */ b .L_00000B88 -.L_00000B2C: -/* 00000B2C 00000BEC 57 C0 08 3C */ slwi r0, r30, 1 -/* 00000B30 00000BF0 7C 7F 02 AE */ lhax r3, r31, r0 -/* 00000B34 00000BF4 48 00 00 01 */ bl fn_8003FBA8 -/* 00000B38 00000BF8 57 C3 08 3C */ slwi r3, r30, 1 -/* 00000B3C 00000BFC 38 03 00 80 */ addi r0, r3, 0x80 -/* 00000B40 00000C00 7C 7F 02 AE */ lhax r3, r31, r0 -/* 00000B44 00000C04 48 00 00 01 */ bl fn_8003FBA8 -/* 00000B48 00000C08 57 C3 08 3C */ slwi r3, r30, 1 -/* 00000B4C 00000C0C 38 03 00 88 */ addi r0, r3, 0x88 -/* 00000B50 00000C10 7C 7F 02 AE */ lhax r3, r31, r0 -/* 00000B54 00000C14 48 00 00 01 */ bl fn_8003FBA8 -/* 00000B58 00000C18 3B A0 00 00 */ li r29, 0x0 -/* 00000B5C 00000C1C 48 00 00 20 */ b .L_00000B7C -.L_00000B60: -/* 00000B60 00000C20 1C 7E 00 06 */ mulli r3, r30, 0x6 -/* 00000B64 00000C24 57 A0 08 3C */ slwi r0, r29, 1 -/* 00000B68 00000C28 7C 63 02 14 */ add r3, r3, r0 -/* 00000B6C 00000C2C 38 03 00 08 */ addi r0, r3, 0x8 -/* 00000B70 00000C30 7C 7F 02 AE */ lhax r3, r31, r0 -/* 00000B74 00000C34 48 00 00 01 */ bl fn_8003FBA8 -/* 00000B78 00000C38 3B BD 00 01 */ addi r29, r29, 0x1 -.L_00000B7C: -/* 00000B7C 00000C3C 2C 1D 00 02 */ cmpwi r29, 0x2 -/* 00000B80 00000C40 41 80 FF E0 */ blt .L_00000B60 -/* 00000B84 00000C44 3B DE 00 01 */ addi r30, r30, 0x1 -.L_00000B88: -/* 00000B88 00000C48 2C 1E 00 04 */ cmpwi r30, 0x4 -/* 00000B8C 00000C4C 41 80 FF A0 */ blt .L_00000B2C -/* 00000B90 00000C50 48 00 00 70 */ b .L_00000C00 -.L_00000B94: -/* 00000B94 00000C54 3B C0 00 00 */ li r30, 0x0 -/* 00000B98 00000C58 48 00 00 60 */ b .L_00000BF8 -.L_00000B9C: -/* 00000B9C 00000C5C 57 C0 08 3C */ slwi r0, r30, 1 -/* 00000BA0 00000C60 7C 7F 02 AE */ lhax r3, r31, r0 -/* 00000BA4 00000C64 48 00 00 01 */ bl fn_8003FBEC -/* 00000BA8 00000C68 57 C3 08 3C */ slwi r3, r30, 1 -/* 00000BAC 00000C6C 38 03 00 80 */ addi r0, r3, 0x80 -/* 00000BB0 00000C70 7C 7F 02 AE */ lhax r3, r31, r0 -/* 00000BB4 00000C74 48 00 00 01 */ bl fn_8003FBEC -/* 00000BB8 00000C78 57 C3 08 3C */ slwi r3, r30, 1 -/* 00000BBC 00000C7C 38 03 00 88 */ addi r0, r3, 0x88 -/* 00000BC0 00000C80 7C 7F 02 AE */ lhax r3, r31, r0 -/* 00000BC4 00000C84 48 00 00 01 */ bl fn_8003FBEC -/* 00000BC8 00000C88 3B A0 00 00 */ li r29, 0x0 -/* 00000BCC 00000C8C 48 00 00 20 */ b .L_00000BEC -.L_00000BD0: -/* 00000BD0 00000C90 1C 7E 00 06 */ mulli r3, r30, 0x6 -/* 00000BD4 00000C94 57 A0 08 3C */ slwi r0, r29, 1 -/* 00000BD8 00000C98 7C 63 02 14 */ add r3, r3, r0 -/* 00000BDC 00000C9C 38 03 00 08 */ addi r0, r3, 0x8 -/* 00000BE0 00000CA0 7C 7F 02 AE */ lhax r3, r31, r0 -/* 00000BE4 00000CA4 48 00 00 01 */ bl fn_8003FBEC -/* 00000BE8 00000CA8 3B BD 00 01 */ addi r29, r29, 0x1 -.L_00000BEC: -/* 00000BEC 00000CAC 2C 1D 00 02 */ cmpwi r29, 0x2 -/* 00000BF0 00000CB0 41 80 FF E0 */ blt .L_00000BD0 -/* 00000BF4 00000CB4 3B DE 00 01 */ addi r30, r30, 0x1 -.L_00000BF8: -/* 00000BF8 00000CB8 2C 1E 00 04 */ cmpwi r30, 0x4 -/* 00000BFC 00000CBC 41 80 FF A0 */ blt .L_00000B9C -.L_00000C00: -/* 00000C00 00000CC0 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 00000C04 00000CC4 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 00000C08 00000CC8 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 00000C0C 00000CCC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 00000C10 00000CD0 7C 08 03 A6 */ mtlr r0 -/* 00000C14 00000CD4 38 21 00 20 */ addi r1, r1, 0x20 -/* 00000C18 00000CD8 4E 80 00 20 */ blr -.endfn fn_2_AEC - -.fn fn_2_C1C, global -/* 00000C1C 00000CDC 94 21 FF B0 */ stwu r1, -0x50(r1) -/* 00000C20 00000CE0 7C 08 02 A6 */ mflr r0 -/* 00000C24 00000CE4 90 01 00 54 */ stw r0, 0x54(r1) -/* 00000C28 00000CE8 93 E1 00 4C */ stw r31, 0x4c(r1) -/* 00000C2C 00000CEC 93 C1 00 48 */ stw r30, 0x48(r1) -/* 00000C30 00000CF0 93 A1 00 44 */ stw r29, 0x44(r1) -/* 00000C34 00000CF4 93 81 00 40 */ stw r28, 0x40(r1) -/* 00000C38 00000CF8 7C 7C 1B 78 */ mr r28, r3 -/* 00000C3C 00000CFC 38 60 00 00 */ li r3, 0x0 -/* 00000C40 00000D00 38 80 01 48 */ li r4, 0x148 -/* 00000C44 00000D04 3C A0 10 00 */ lis r5, 0x1000 -/* 00000C48 00000D08 48 00 00 01 */ bl HuMemDirectMallocNum -/* 00000C4C 00000D0C 90 7C 00 5C */ stw r3, 0x5c(r28) -/* 00000C50 00000D10 83 FC 00 5C */ lwz r31, 0x5c(r28) -/* 00000C54 00000D14 3B C0 00 00 */ li r30, 0x0 -/* 00000C58 00000D18 48 00 05 44 */ b .L_0000119C -.L_00000C5C: -/* 00000C5C 00000D1C 1C 9E 00 0A */ mulli r4, r30, 0xa -/* 00000C60 00000D20 3C 60 00 00 */ lis r3, lbl_8018FC10@ha -/* 00000C64 00000D24 38 03 00 00 */ addi r0, r3, lbl_8018FC10@l -/* 00000C68 00000D28 7C 60 22 14 */ add r3, r0, r4 -/* 00000C6C 00000D2C A8 03 00 00 */ lha r0, 0x0(r3) -/* 00000C70 00000D30 54 04 10 3A */ slwi r4, r0, 2 -/* 00000C74 00000D34 3C 60 00 00 */ lis r3, lbl_2_data_80@ha -/* 00000C78 00000D38 38 03 00 00 */ addi r0, r3, lbl_2_data_80@l -/* 00000C7C 00000D3C 7C 60 22 14 */ add r3, r0, r4 -/* 00000C80 00000D40 80 63 00 00 */ lwz r3, 0x0(r3) -/* 00000C84 00000D44 38 80 00 02 */ li r4, 0x2 -/* 00000C88 00000D48 38 A0 00 00 */ li r5, 0x0 -/* 00000C8C 00000D4C 48 00 00 01 */ bl fn_8003F958 -/* 00000C90 00000D50 57 C0 08 3C */ slwi r0, r30, 1 -/* 00000C94 00000D54 7C 7F 03 2E */ sthx r3, r31, r0 -/* 00000C98 00000D58 57 C0 08 3C */ slwi r0, r30, 1 -/* 00000C9C 00000D5C 7C 7F 02 AE */ lhax r3, r31, r0 -/* 00000CA0 00000D60 48 00 00 01 */ bl fn_8003FBEC -/* 00000CA4 00000D64 57 C0 08 3C */ slwi r0, r30, 1 -/* 00000CA8 00000D68 7C 7F 02 AE */ lhax r3, r31, r0 -/* 00000CAC 00000D6C 38 80 00 00 */ li r4, 0x0 -/* 00000CB0 00000D70 48 00 00 01 */ bl fn_8003FED8 -/* 00000CB4 00000D74 57 C0 08 3C */ slwi r0, r30, 1 -/* 00000CB8 00000D78 7C 7F 02 AE */ lhax r3, r31, r0 -/* 00000CBC 00000D7C 57 C0 07 FE */ clrlwi r0, r30, 31 -/* 00000CC0 00000D80 1C 80 01 B6 */ mulli r4, r0, 0x1b6 -/* 00000CC4 00000D84 38 04 00 25 */ addi r0, r4, 0x25 -/* 00000CC8 00000D88 3C 80 00 00 */ lis r4, lbl_2_rodata_58@ha -/* 00000CCC 00000D8C 38 84 00 00 */ addi r4, r4, lbl_2_rodata_58@l -/* 00000CD0 00000D90 C8 24 00 00 */ lfd f1, 0x0(r4) -/* 00000CD4 00000D94 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 00000CD8 00000D98 90 01 00 0C */ stw r0, 0xc(r1) -/* 00000CDC 00000D9C 3C 00 43 30 */ lis r0, 0x4330 -/* 00000CE0 00000DA0 90 01 00 08 */ stw r0, 0x8(r1) -/* 00000CE4 00000DA4 C8 01 00 08 */ lfd f0, 0x8(r1) -/* 00000CE8 00000DA8 EC 20 08 28 */ fsubs f1, f0, f1 -/* 00000CEC 00000DAC 38 00 00 01 */ li r0, 0x1 -/* 00000CF0 00000DB0 7F C0 02 78 */ xor r0, r30, r0 -/* 00000CF4 00000DB4 7C 04 0E 70 */ srawi r4, r0, 1 -/* 00000CF8 00000DB8 7C 00 F0 38 */ and r0, r0, r30 -/* 00000CFC 00000DBC 7C 00 20 50 */ subf r0, r0, r4 -/* 00000D00 00000DC0 54 00 0F FE */ srwi r0, r0, 31 -/* 00000D04 00000DC4 1C 80 01 66 */ mulli r4, r0, 0x166 -/* 00000D08 00000DC8 38 04 00 3B */ addi r0, r4, 0x3b -/* 00000D0C 00000DCC 3C 80 00 00 */ lis r4, lbl_2_rodata_58@ha -/* 00000D10 00000DD0 38 84 00 00 */ addi r4, r4, lbl_2_rodata_58@l -/* 00000D14 00000DD4 C8 44 00 00 */ lfd f2, 0x0(r4) -/* 00000D18 00000DD8 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 00000D1C 00000DDC 90 01 00 14 */ stw r0, 0x14(r1) -/* 00000D20 00000DE0 3C 00 43 30 */ lis r0, 0x4330 -/* 00000D24 00000DE4 90 01 00 10 */ stw r0, 0x10(r1) -/* 00000D28 00000DE8 C8 01 00 10 */ lfd f0, 0x10(r1) -/* 00000D2C 00000DEC EC 40 10 28 */ fsubs f2, f0, f2 -/* 00000D30 00000DF0 48 00 00 01 */ bl fn_8003FCC0 -/* 00000D34 00000DF4 3C 60 00 20 */ lis r3, 0x20 -/* 00000D38 00000DF8 38 63 00 2F */ addi r3, r3, 0x2f -/* 00000D3C 00000DFC 38 80 00 03 */ li r4, 0x3 -/* 00000D40 00000E00 38 A0 00 00 */ li r5, 0x0 -/* 00000D44 00000E04 48 00 00 01 */ bl fn_8003F958 -/* 00000D48 00000E08 57 C4 08 3C */ slwi r4, r30, 1 -/* 00000D4C 00000E0C 38 04 00 80 */ addi r0, r4, 0x80 -/* 00000D50 00000E10 7C 7F 03 2E */ sthx r3, r31, r0 -/* 00000D54 00000E14 57 C3 08 3C */ slwi r3, r30, 1 -/* 00000D58 00000E18 38 03 00 80 */ addi r0, r3, 0x80 -/* 00000D5C 00000E1C 7C 7F 02 AE */ lhax r3, r31, r0 -/* 00000D60 00000E20 48 00 00 01 */ bl fn_8003FBEC -/* 00000D64 00000E24 57 C3 08 3C */ slwi r3, r30, 1 -/* 00000D68 00000E28 38 03 00 80 */ addi r0, r3, 0x80 -/* 00000D6C 00000E2C 7C 7F 02 AE */ lhax r3, r31, r0 -/* 00000D70 00000E30 38 80 00 00 */ li r4, 0x0 -/* 00000D74 00000E34 48 00 00 01 */ bl fn_8003FED8 -/* 00000D78 00000E38 57 C3 08 3C */ slwi r3, r30, 1 -/* 00000D7C 00000E3C 38 03 00 80 */ addi r0, r3, 0x80 -/* 00000D80 00000E40 7C 7F 02 AE */ lhax r3, r31, r0 -/* 00000D84 00000E44 57 C0 07 FE */ clrlwi r0, r30, 31 -/* 00000D88 00000E48 1C 80 01 B6 */ mulli r4, r0, 0x1b6 -/* 00000D8C 00000E4C 38 04 00 49 */ addi r0, r4, 0x49 -/* 00000D90 00000E50 3C 80 00 00 */ lis r4, lbl_2_rodata_58@ha -/* 00000D94 00000E54 38 84 00 00 */ addi r4, r4, lbl_2_rodata_58@l -/* 00000D98 00000E58 C8 24 00 00 */ lfd f1, 0x0(r4) -/* 00000D9C 00000E5C 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 00000DA0 00000E60 90 01 00 1C */ stw r0, 0x1c(r1) -/* 00000DA4 00000E64 3C 00 43 30 */ lis r0, 0x4330 -/* 00000DA8 00000E68 90 01 00 18 */ stw r0, 0x18(r1) -/* 00000DAC 00000E6C C8 01 00 18 */ lfd f0, 0x18(r1) -/* 00000DB0 00000E70 EC 20 08 28 */ fsubs f1, f0, f1 -/* 00000DB4 00000E74 38 00 00 01 */ li r0, 0x1 -/* 00000DB8 00000E78 7F C0 02 78 */ xor r0, r30, r0 -/* 00000DBC 00000E7C 7C 04 0E 70 */ srawi r4, r0, 1 -/* 00000DC0 00000E80 7C 00 F0 38 */ and r0, r0, r30 -/* 00000DC4 00000E84 7C 00 20 50 */ subf r0, r0, r4 -/* 00000DC8 00000E88 54 00 0F FE */ srwi r0, r0, 31 -/* 00000DCC 00000E8C 1C 80 01 66 */ mulli r4, r0, 0x166 -/* 00000DD0 00000E90 38 04 00 3D */ addi r0, r4, 0x3d -/* 00000DD4 00000E94 3C 80 00 00 */ lis r4, lbl_2_rodata_58@ha -/* 00000DD8 00000E98 38 84 00 00 */ addi r4, r4, lbl_2_rodata_58@l -/* 00000DDC 00000E9C C8 44 00 00 */ lfd f2, 0x0(r4) -/* 00000DE0 00000EA0 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 00000DE4 00000EA4 90 01 00 24 */ stw r0, 0x24(r1) -/* 00000DE8 00000EA8 3C 00 43 30 */ lis r0, 0x4330 -/* 00000DEC 00000EAC 90 01 00 20 */ stw r0, 0x20(r1) -/* 00000DF0 00000EB0 C8 01 00 20 */ lfd f0, 0x20(r1) -/* 00000DF4 00000EB4 EC 40 10 28 */ fsubs f2, f0, f2 -/* 00000DF8 00000EB8 48 00 00 01 */ bl fn_8003FCC0 -/* 00000DFC 00000EBC 3C 60 00 20 */ lis r3, 0x20 -/* 00000E00 00000EC0 38 63 00 30 */ addi r3, r3, 0x30 -/* 00000E04 00000EC4 38 80 00 04 */ li r4, 0x4 -/* 00000E08 00000EC8 38 A0 00 00 */ li r5, 0x0 -/* 00000E0C 00000ECC 48 00 00 01 */ bl fn_8003F958 -/* 00000E10 00000ED0 57 C4 08 3C */ slwi r4, r30, 1 -/* 00000E14 00000ED4 38 04 00 88 */ addi r0, r4, 0x88 -/* 00000E18 00000ED8 7C 7F 03 2E */ sthx r3, r31, r0 -/* 00000E1C 00000EDC 57 C3 08 3C */ slwi r3, r30, 1 -/* 00000E20 00000EE0 38 03 00 88 */ addi r0, r3, 0x88 -/* 00000E24 00000EE4 7C 7F 02 AE */ lhax r3, r31, r0 -/* 00000E28 00000EE8 48 00 00 01 */ bl fn_8003FBEC -/* 00000E2C 00000EEC 57 C3 08 3C */ slwi r3, r30, 1 -/* 00000E30 00000EF0 38 03 00 88 */ addi r0, r3, 0x88 -/* 00000E34 00000EF4 7C 7F 02 AE */ lhax r3, r31, r0 -/* 00000E38 00000EF8 38 80 00 00 */ li r4, 0x0 -/* 00000E3C 00000EFC 48 00 00 01 */ bl fn_8003FED8 -/* 00000E40 00000F00 57 C3 08 3C */ slwi r3, r30, 1 -/* 00000E44 00000F04 38 03 00 88 */ addi r0, r3, 0x88 -/* 00000E48 00000F08 7C 7F 02 AE */ lhax r3, r31, r0 -/* 00000E4C 00000F0C 57 C0 07 FE */ clrlwi r0, r30, 31 -/* 00000E50 00000F10 1C 80 01 B6 */ mulli r4, r0, 0x1b6 -/* 00000E54 00000F14 38 04 00 49 */ addi r0, r4, 0x49 -/* 00000E58 00000F18 3C 80 00 00 */ lis r4, lbl_2_rodata_58@ha -/* 00000E5C 00000F1C 38 84 00 00 */ addi r4, r4, lbl_2_rodata_58@l -/* 00000E60 00000F20 C8 24 00 00 */ lfd f1, 0x0(r4) -/* 00000E64 00000F24 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 00000E68 00000F28 90 01 00 2C */ stw r0, 0x2c(r1) -/* 00000E6C 00000F2C 3C 00 43 30 */ lis r0, 0x4330 -/* 00000E70 00000F30 90 01 00 28 */ stw r0, 0x28(r1) -/* 00000E74 00000F34 C8 01 00 28 */ lfd f0, 0x28(r1) -/* 00000E78 00000F38 EC 20 08 28 */ fsubs f1, f0, f1 -/* 00000E7C 00000F3C 38 00 00 01 */ li r0, 0x1 -/* 00000E80 00000F40 7F C0 02 78 */ xor r0, r30, r0 -/* 00000E84 00000F44 7C 04 0E 70 */ srawi r4, r0, 1 -/* 00000E88 00000F48 7C 00 F0 38 */ and r0, r0, r30 -/* 00000E8C 00000F4C 7C 00 20 50 */ subf r0, r0, r4 -/* 00000E90 00000F50 54 00 0F FE */ srwi r0, r0, 31 -/* 00000E94 00000F54 1C 80 01 66 */ mulli r4, r0, 0x166 -/* 00000E98 00000F58 38 04 00 3D */ addi r0, r4, 0x3d -/* 00000E9C 00000F5C 3C 80 00 00 */ lis r4, lbl_2_rodata_58@ha -/* 00000EA0 00000F60 38 84 00 00 */ addi r4, r4, lbl_2_rodata_58@l -/* 00000EA4 00000F64 C8 44 00 00 */ lfd f2, 0x0(r4) -/* 00000EA8 00000F68 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 00000EAC 00000F6C 90 01 00 34 */ stw r0, 0x34(r1) -/* 00000EB0 00000F70 3C 00 43 30 */ lis r0, 0x4330 -/* 00000EB4 00000F74 90 01 00 30 */ stw r0, 0x30(r1) -/* 00000EB8 00000F78 C8 01 00 30 */ lfd f0, 0x30(r1) -/* 00000EBC 00000F7C EC 40 10 28 */ fsubs f2, f0, f2 -/* 00000EC0 00000F80 48 00 00 01 */ bl fn_8003FCC0 -/* 00000EC4 00000F84 57 C3 08 3C */ slwi r3, r30, 1 -/* 00000EC8 00000F88 38 03 00 88 */ addi r0, r3, 0x88 -/* 00000ECC 00000F8C 7C 7F 02 AE */ lhax r3, r31, r0 -/* 00000ED0 00000F90 38 80 00 00 */ li r4, 0x0 -/* 00000ED4 00000F94 38 A0 00 00 */ li r5, 0x0 -/* 00000ED8 00000F98 38 C0 00 00 */ li r6, 0x0 -/* 00000EDC 00000F9C 48 00 00 01 */ bl fn_8003FDF0 -/* 00000EE0 00000FA0 57 C3 08 3C */ slwi r3, r30, 1 -/* 00000EE4 00000FA4 38 03 00 88 */ addi r0, r3, 0x88 -/* 00000EE8 00000FA8 7C 7F 02 AE */ lhax r3, r31, r0 -/* 00000EEC 00000FAC 3C 80 00 00 */ lis r4, lbl_2_rodata_50@ha -/* 00000EF0 00000FB0 38 84 00 00 */ addi r4, r4, lbl_2_rodata_50@l -/* 00000EF4 00000FB4 C0 24 00 00 */ lfs f1, 0x0(r4) -/* 00000EF8 00000FB8 48 00 00 01 */ bl fn_8003FDA8 -/* 00000EFC 00000FBC 3B A0 00 00 */ li r29, 0x0 -/* 00000F00 00000FC0 48 00 01 14 */ b .L_00001014 -.L_00000F04: -/* 00000F04 00000FC4 3C 60 00 20 */ lis r3, 0x20 -/* 00000F08 00000FC8 38 63 00 2E */ addi r3, r3, 0x2e -/* 00000F0C 00000FCC 38 80 00 01 */ li r4, 0x1 -/* 00000F10 00000FD0 38 A0 00 00 */ li r5, 0x0 -/* 00000F14 00000FD4 48 00 00 01 */ bl fn_8003F958 -/* 00000F18 00000FD8 1C 9E 00 06 */ mulli r4, r30, 0x6 -/* 00000F1C 00000FDC 57 A0 08 3C */ slwi r0, r29, 1 -/* 00000F20 00000FE0 7C 84 02 14 */ add r4, r4, r0 -/* 00000F24 00000FE4 38 04 00 08 */ addi r0, r4, 0x8 -/* 00000F28 00000FE8 7C 7F 03 2E */ sthx r3, r31, r0 -/* 00000F2C 00000FEC 1C 7E 00 06 */ mulli r3, r30, 0x6 -/* 00000F30 00000FF0 57 A0 08 3C */ slwi r0, r29, 1 -/* 00000F34 00000FF4 7C 63 02 14 */ add r3, r3, r0 -/* 00000F38 00000FF8 38 03 00 08 */ addi r0, r3, 0x8 -/* 00000F3C 00000FFC 7C 7F 02 AE */ lhax r3, r31, r0 -/* 00000F40 00001000 48 00 00 01 */ bl fn_8003FBEC -/* 00000F44 00001004 1C 7E 00 06 */ mulli r3, r30, 0x6 -/* 00000F48 00001008 57 A0 08 3C */ slwi r0, r29, 1 -/* 00000F4C 0000100C 7C 63 02 14 */ add r3, r3, r0 -/* 00000F50 00001010 38 03 00 08 */ addi r0, r3, 0x8 -/* 00000F54 00001014 7C 7F 02 AE */ lhax r3, r31, r0 -/* 00000F58 00001018 38 80 00 00 */ li r4, 0x0 -/* 00000F5C 0000101C 48 00 00 01 */ bl fn_8003FED8 -/* 00000F60 00001020 1C 7E 00 06 */ mulli r3, r30, 0x6 -/* 00000F64 00001024 57 A0 08 3C */ slwi r0, r29, 1 -/* 00000F68 00001028 7C 63 02 14 */ add r3, r3, r0 -/* 00000F6C 0000102C 38 03 00 08 */ addi r0, r3, 0x8 -/* 00000F70 00001030 7C 7F 02 AE */ lhax r3, r31, r0 -/* 00000F74 00001034 57 C0 07 FE */ clrlwi r0, r30, 31 -/* 00000F78 00001038 1C 80 01 B6 */ mulli r4, r0, 0x1b6 -/* 00000F7C 0000103C 1C 1D 00 14 */ mulli r0, r29, 0x14 -/* 00000F80 00001040 7C 84 02 14 */ add r4, r4, r0 -/* 00000F84 00001044 38 04 00 45 */ addi r0, r4, 0x45 -/* 00000F88 00001048 3C 80 00 00 */ lis r4, lbl_2_rodata_58@ha -/* 00000F8C 0000104C 38 84 00 00 */ addi r4, r4, lbl_2_rodata_58@l -/* 00000F90 00001050 C8 24 00 00 */ lfd f1, 0x0(r4) -/* 00000F94 00001054 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 00000F98 00001058 90 01 00 34 */ stw r0, 0x34(r1) -/* 00000F9C 0000105C 3C 00 43 30 */ lis r0, 0x4330 -/* 00000FA0 00001060 90 01 00 30 */ stw r0, 0x30(r1) -/* 00000FA4 00001064 C8 01 00 30 */ lfd f0, 0x30(r1) -/* 00000FA8 00001068 EC 20 08 28 */ fsubs f1, f0, f1 -/* 00000FAC 0000106C 38 00 00 01 */ li r0, 0x1 -/* 00000FB0 00001070 7F C0 02 78 */ xor r0, r30, r0 -/* 00000FB4 00001074 7C 04 0E 70 */ srawi r4, r0, 1 -/* 00000FB8 00001078 7C 00 F0 38 */ and r0, r0, r30 -/* 00000FBC 0000107C 7C 00 20 50 */ subf r0, r0, r4 -/* 00000FC0 00001080 54 00 0F FE */ srwi r0, r0, 31 -/* 00000FC4 00001084 1C 80 01 66 */ mulli r4, r0, 0x166 -/* 00000FC8 00001088 38 04 00 3F */ addi r0, r4, 0x3f -/* 00000FCC 0000108C 3C 80 00 00 */ lis r4, lbl_2_rodata_58@ha -/* 00000FD0 00001090 38 84 00 00 */ addi r4, r4, lbl_2_rodata_58@l -/* 00000FD4 00001094 C8 44 00 00 */ lfd f2, 0x0(r4) -/* 00000FD8 00001098 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 00000FDC 0000109C 90 01 00 2C */ stw r0, 0x2c(r1) -/* 00000FE0 000010A0 3C 00 43 30 */ lis r0, 0x4330 -/* 00000FE4 000010A4 90 01 00 28 */ stw r0, 0x28(r1) -/* 00000FE8 000010A8 C8 01 00 28 */ lfd f0, 0x28(r1) -/* 00000FEC 000010AC EC 40 10 28 */ fsubs f2, f0, f2 -/* 00000FF0 000010B0 48 00 00 01 */ bl fn_8003FCC0 -/* 00000FF4 000010B4 1C 7E 00 06 */ mulli r3, r30, 0x6 -/* 00000FF8 000010B8 57 A0 08 3C */ slwi r0, r29, 1 -/* 00000FFC 000010BC 7C 63 02 14 */ add r3, r3, r0 -/* 00001000 000010C0 38 03 00 08 */ addi r0, r3, 0x8 -/* 00001004 000010C4 7C 7F 02 AE */ lhax r3, r31, r0 -/* 00001008 000010C8 38 80 00 01 */ li r4, 0x1 -/* 0000100C 000010CC 48 00 00 01 */ bl fn_8003FC30 -/* 00001010 000010D0 3B BD 00 01 */ addi r29, r29, 0x1 -.L_00001014: -/* 00001014 000010D4 2C 1D 00 02 */ cmpwi r29, 0x2 -/* 00001018 000010D8 41 80 FE EC */ blt .L_00000F04 -/* 0000101C 000010DC 3B A0 00 00 */ li r29, 0x0 -/* 00001020 000010E0 48 00 00 F8 */ b .L_00001118 -.L_00001024: -/* 00001024 000010E4 3C 60 00 20 */ lis r3, 0x20 -/* 00001028 000010E8 38 63 00 2D */ addi r3, r3, 0x2d -/* 0000102C 000010EC 38 80 00 00 */ li r4, 0x0 -/* 00001030 000010F0 38 A0 00 00 */ li r5, 0x0 -/* 00001034 000010F4 48 00 00 01 */ bl fn_8003F958 -/* 00001038 000010F8 1C 9E 00 06 */ mulli r4, r30, 0x6 -/* 0000103C 000010FC 57 A0 08 3C */ slwi r0, r29, 1 -/* 00001040 00001100 7C 84 02 14 */ add r4, r4, r0 -/* 00001044 00001104 38 04 00 50 */ addi r0, r4, 0x50 -/* 00001048 00001108 7C 7F 03 2E */ sthx r3, r31, r0 -/* 0000104C 0000110C 1C 7E 00 06 */ mulli r3, r30, 0x6 -/* 00001050 00001110 57 A0 08 3C */ slwi r0, r29, 1 -/* 00001054 00001114 7C 63 02 14 */ add r3, r3, r0 -/* 00001058 00001118 38 03 00 50 */ addi r0, r3, 0x50 -/* 0000105C 0000111C 7C 7F 02 AE */ lhax r3, r31, r0 -/* 00001060 00001120 48 00 00 01 */ bl fn_8003FBEC -/* 00001064 00001124 1C 7E 00 06 */ mulli r3, r30, 0x6 -/* 00001068 00001128 57 A0 08 3C */ slwi r0, r29, 1 -/* 0000106C 0000112C 7C 63 02 14 */ add r3, r3, r0 -/* 00001070 00001130 38 03 00 50 */ addi r0, r3, 0x50 -/* 00001074 00001134 7C 7F 02 AE */ lhax r3, r31, r0 -/* 00001078 00001138 38 80 00 00 */ li r4, 0x0 -/* 0000107C 0000113C 48 00 00 01 */ bl fn_8003FED8 -/* 00001080 00001140 1C 7E 00 06 */ mulli r3, r30, 0x6 -/* 00001084 00001144 57 A0 08 3C */ slwi r0, r29, 1 -/* 00001088 00001148 7C 63 02 14 */ add r3, r3, r0 -/* 0000108C 0000114C 38 03 00 50 */ addi r0, r3, 0x50 -/* 00001090 00001150 7C 7F 02 AE */ lhax r3, r31, r0 -/* 00001094 00001154 38 80 00 01 */ li r4, 0x1 -/* 00001098 00001158 48 00 00 01 */ bl fn_8003FC30 -/* 0000109C 0000115C 3C 60 00 20 */ lis r3, 0x20 -/* 000010A0 00001160 38 63 00 2D */ addi r3, r3, 0x2d -/* 000010A4 00001164 38 80 00 00 */ li r4, 0x0 -/* 000010A8 00001168 38 A0 00 00 */ li r5, 0x0 -/* 000010AC 0000116C 48 00 00 01 */ bl fn_8003F958 -/* 000010B0 00001170 1C 9E 00 06 */ mulli r4, r30, 0x6 -/* 000010B4 00001174 57 A0 08 3C */ slwi r0, r29, 1 -/* 000010B8 00001178 7C 84 02 14 */ add r4, r4, r0 -/* 000010BC 0000117C 38 04 00 68 */ addi r0, r4, 0x68 -/* 000010C0 00001180 7C 7F 03 2E */ sthx r3, r31, r0 -/* 000010C4 00001184 1C 7E 00 06 */ mulli r3, r30, 0x6 -/* 000010C8 00001188 57 A0 08 3C */ slwi r0, r29, 1 -/* 000010CC 0000118C 7C 63 02 14 */ add r3, r3, r0 -/* 000010D0 00001190 38 03 00 68 */ addi r0, r3, 0x68 -/* 000010D4 00001194 7C 7F 02 AE */ lhax r3, r31, r0 -/* 000010D8 00001198 48 00 00 01 */ bl fn_8003FBEC -/* 000010DC 0000119C 1C 7E 00 06 */ mulli r3, r30, 0x6 -/* 000010E0 000011A0 57 A0 08 3C */ slwi r0, r29, 1 -/* 000010E4 000011A4 7C 63 02 14 */ add r3, r3, r0 -/* 000010E8 000011A8 38 03 00 68 */ addi r0, r3, 0x68 -/* 000010EC 000011AC 7C 7F 02 AE */ lhax r3, r31, r0 -/* 000010F0 000011B0 38 80 00 00 */ li r4, 0x0 -/* 000010F4 000011B4 48 00 00 01 */ bl fn_8003FED8 -/* 000010F8 000011B8 1C 7E 00 06 */ mulli r3, r30, 0x6 -/* 000010FC 000011BC 57 A0 08 3C */ slwi r0, r29, 1 -/* 00001100 000011C0 7C 63 02 14 */ add r3, r3, r0 -/* 00001104 000011C4 38 03 00 68 */ addi r0, r3, 0x68 -/* 00001108 000011C8 7C 7F 02 AE */ lhax r3, r31, r0 -/* 0000110C 000011CC 38 80 00 01 */ li r4, 0x1 -/* 00001110 000011D0 48 00 00 01 */ bl fn_8003FC30 -/* 00001114 000011D4 3B BD 00 01 */ addi r29, r29, 0x1 -.L_00001118: -/* 00001118 000011D8 2C 1D 00 03 */ cmpwi r29, 0x3 -/* 0000111C 000011DC 41 80 FF 08 */ blt .L_00001024 -/* 00001120 000011E0 1C 7E 00 06 */ mulli r3, r30, 0x6 -/* 00001124 000011E4 38 03 00 50 */ addi r0, r3, 0x50 -/* 00001128 000011E8 7C 7F 02 AE */ lhax r3, r31, r0 -/* 0000112C 000011EC 38 80 00 0A */ li r4, 0xa -/* 00001130 000011F0 48 00 00 01 */ bl fn_8003FE90 -/* 00001134 000011F4 1C 7E 00 06 */ mulli r3, r30, 0x6 -/* 00001138 000011F8 38 03 00 68 */ addi r0, r3, 0x68 -/* 0000113C 000011FC 7C 7F 02 AE */ lhax r3, r31, r0 -/* 00001140 00001200 38 80 00 0B */ li r4, 0xb -/* 00001144 00001204 48 00 00 01 */ bl fn_8003FE90 -/* 00001148 00001208 3C 60 00 00 */ lis r3, lbl_2_rodata_1C@ha -/* 0000114C 0000120C 38 63 00 00 */ addi r3, r3, lbl_2_rodata_1C@l -/* 00001150 00001210 C0 03 00 00 */ lfs f0, 0x0(r3) -/* 00001154 00001214 57 C3 10 3A */ slwi r3, r30, 2 -/* 00001158 00001218 38 03 00 90 */ addi r0, r3, 0x90 -/* 0000115C 0000121C 7C 1F 05 2E */ stfsx f0, r31, r0 -/* 00001160 00001220 3C 60 00 00 */ lis r3, lbl_2_rodata_1C@ha -/* 00001164 00001224 38 63 00 00 */ addi r3, r3, lbl_2_rodata_1C@l -/* 00001168 00001228 C0 03 00 00 */ lfs f0, 0x0(r3) -/* 0000116C 0000122C 57 C3 10 3A */ slwi r3, r30, 2 -/* 00001170 00001230 38 03 00 A0 */ addi r0, r3, 0xa0 -/* 00001174 00001234 7C 1F 05 2E */ stfsx f0, r31, r0 -/* 00001178 00001238 38 80 00 00 */ li r4, 0x0 -/* 0000117C 0000123C 57 C3 08 3C */ slwi r3, r30, 1 -/* 00001180 00001240 38 03 01 30 */ addi r0, r3, 0x130 -/* 00001184 00001244 7C 9F 03 2E */ sthx r4, r31, r0 -/* 00001188 00001248 38 80 00 00 */ li r4, 0x0 -/* 0000118C 0000124C 57 C3 08 3C */ slwi r3, r30, 1 -/* 00001190 00001250 38 03 01 38 */ addi r0, r3, 0x138 -/* 00001194 00001254 7C 9F 03 2E */ sthx r4, r31, r0 -/* 00001198 00001258 3B DE 00 01 */ addi r30, r30, 0x1 -.L_0000119C: -/* 0000119C 0000125C 2C 1E 00 04 */ cmpwi r30, 0x4 -/* 000011A0 00001260 41 80 FA BC */ blt .L_00000C5C -/* 000011A4 00001264 3C 60 00 00 */ lis r3, fn_2_11D0@ha -/* 000011A8 00001268 38 03 00 00 */ addi r0, r3, fn_2_11D0@l -/* 000011AC 0000126C 90 1C 00 14 */ stw r0, 0x14(r28) -/* 000011B0 00001270 83 E1 00 4C */ lwz r31, 0x4c(r1) -/* 000011B4 00001274 83 C1 00 48 */ lwz r30, 0x48(r1) -/* 000011B8 00001278 83 A1 00 44 */ lwz r29, 0x44(r1) -/* 000011BC 0000127C 83 81 00 40 */ lwz r28, 0x40(r1) -/* 000011C0 00001280 80 01 00 54 */ lwz r0, 0x54(r1) -/* 000011C4 00001284 7C 08 03 A6 */ mtlr r0 -/* 000011C8 00001288 38 21 00 50 */ addi r1, r1, 0x50 -/* 000011CC 0000128C 4E 80 00 20 */ blr -.endfn fn_2_C1C - .fn fn_2_11D0, global /* 000011D0 00001290 94 21 FF B0 */ stwu r1, -0x50(r1) /* 000011D4 00001294 7C 08 02 A6 */ mflr r0 @@ -21862,422 +21399,3 @@ /* 00014E0C 00014ECC 38 21 00 70 */ addi r1, r1, 0x70 /* 00014E10 00014ED0 4E 80 00 20 */ blr .endfn fn_2_147B4 - - -// to do later - -.fn fn_2_A0, global -/* 000000A0 00000160 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 000000A4 00000164 7C 08 02 A6 */ mflr r0 -/* 000000A8 00000168 90 01 00 24 */ stw r0, 0x24(r1) -/* 000000AC 0000016C 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 000000B0 00000170 93 C1 00 18 */ stw r30, 0x18(r1) -/* 000000B4 00000174 93 A1 00 14 */ stw r29, 0x14(r1) -/* 000000B8 00000178 93 81 00 10 */ stw r28, 0x10(r1) -/* 000000BC 0000017C 3C 60 00 00 */ lis r3, lbl_2_data_54@ha -/* 000000C0 00000180 38 63 00 00 */ addi r3, r3, lbl_2_data_54@l -/* 000000C4 00000184 4C C6 31 82 */ crclr cr1eq -/* 000000C8 00000188 48 00 00 01 */ bl OSReport -/* 000000CC 0000018C 38 60 00 00 */ li r3, 0x0 -/* 000000D0 00000190 48 00 00 01 */ bl HuMemHeapPtrGet -/* 000000D4 00000194 38 80 FF FF */ li r4, -0x1 -/* 000000D8 00000198 48 00 00 01 */ bl HuMemHeapDump -/* 000000DC 0000019C 38 60 00 02 */ li r3, 0x2 -/* 000000E0 000001A0 48 00 00 01 */ bl HuMemHeapPtrGet -/* 000000E4 000001A4 38 80 FF FF */ li r4, -0x1 -/* 000000E8 000001A8 48 00 00 01 */ bl HuMemHeapDump -/* 000000EC 000001AC 38 60 00 03 */ li r3, 0x3 -/* 000000F0 000001B0 48 00 00 01 */ bl HuMemHeapPtrGet -/* 000000F4 000001B4 38 80 FF FF */ li r4, -0x1 -/* 000000F8 000001B8 48 00 00 01 */ bl HuMemHeapDump -/* 000000FC 000001BC 38 60 00 3C */ li r3, 0x3c -/* 00000100 000001C0 38 80 20 00 */ li r4, 0x2000 -/* 00000104 000001C4 48 00 00 01 */ bl omInitObjMan -/* 00000108 000001C8 3C 80 00 00 */ lis r4, lbl_2_bss_1C@ha -/* 0000010C 000001CC 38 84 00 00 */ addi r4, r4, lbl_2_bss_1C@l -/* 00000110 000001D0 90 64 00 00 */ stw r3, 0x0(r4) -/* 00000114 000001D4 3C 60 00 00 */ lis r3, lbl_2_bss_1C@ha -/* 00000118 000001D8 38 63 00 00 */ addi r3, r3, lbl_2_bss_1C@l -/* 0000011C 000001DC 80 63 00 00 */ lwz r3, 0x0(r3) -/* 00000120 000001E0 48 00 00 01 */ bl fn_80057E80 -/* 00000124 000001E4 3C 60 00 00 */ lis r3, lbl_2_data_14@ha -/* 00000128 000001E8 38 63 00 00 */ addi r3, r3, lbl_2_data_14@l -/* 0000012C 000001EC 3C 80 00 00 */ lis r4, lbl_2_data_20@ha -/* 00000130 000001F0 38 84 00 00 */ addi r4, r4, lbl_2_data_20@l -/* 00000134 000001F4 3C A0 00 00 */ lis r5, lbl_2_data_2C@ha -/* 00000138 000001F8 38 A5 00 00 */ addi r5, r5, lbl_2_data_2C@l -/* 0000013C 000001FC 48 00 00 01 */ bl fn_80022ADC -/* 00000140 00000200 3C 80 00 00 */ lis r4, lbl_2_bss_A8@ha -/* 00000144 00000204 38 84 00 00 */ addi r4, r4, lbl_2_bss_A8@l -/* 00000148 00000208 B0 64 00 00 */ sth r3, 0x0(r4) -/* 0000014C 0000020C 3C 60 00 00 */ lis r3, lbl_2_bss_A8@ha -/* 00000150 00000210 38 63 00 00 */ addi r3, r3, lbl_2_bss_A8@l -/* 00000154 00000214 A8 63 00 00 */ lha r3, 0x0(r3) -/* 00000158 00000218 48 00 00 01 */ bl fn_80022EB4 -/* 0000015C 0000021C 3C 60 00 00 */ lis r3, lbl_2_bss_A8@ha -/* 00000160 00000220 38 63 00 00 */ addi r3, r3, lbl_2_bss_A8@l -/* 00000164 00000224 A8 03 00 00 */ lha r0, 0x0(r3) -/* 00000168 00000228 1C 80 00 44 */ mulli r4, r0, 0x44 -/* 0000016C 0000022C 3C 60 00 00 */ lis r3, lbl_8018C8FC@ha -/* 00000170 00000230 38 03 00 00 */ addi r0, r3, lbl_8018C8FC@l -/* 00000174 00000234 7F 80 22 14 */ add r28, r0, r4 -/* 00000178 00000238 A8 1C 00 00 */ lha r0, 0x0(r28) -/* 0000017C 0000023C 60 00 80 00 */ ori r0, r0, 0x8000 -/* 00000180 00000240 7C 00 07 34 */ extsh r0, r0 -/* 00000184 00000244 B0 1C 00 00 */ sth r0, 0x0(r28) -/* 00000188 00000248 38 60 00 01 */ li r3, 0x1 -/* 0000018C 0000024C 48 00 00 01 */ bl Hu3DCameraCreate -/* 00000190 00000250 3C 60 00 00 */ lis r3, lbl_8018BFC0@ha -/* 00000194 00000254 3B A3 00 00 */ addi r29, r3, lbl_8018BFC0@l -/* 00000198 00000258 38 60 00 01 */ li r3, 0x1 -/* 0000019C 0000025C 3C 80 00 00 */ lis r4, lbl_2_rodata_10@ha -/* 000001A0 00000260 38 84 00 00 */ addi r4, r4, lbl_2_rodata_10@l -/* 000001A4 00000264 C0 24 00 00 */ lfs f1, 0x0(r4) -/* 000001A8 00000268 3C 80 00 00 */ lis r4, lbl_2_rodata_10@ha -/* 000001AC 0000026C 38 84 00 00 */ addi r4, r4, lbl_2_rodata_10@l -/* 000001B0 00000270 C0 44 00 00 */ lfs f2, 0x0(r4) -/* 000001B4 00000274 3C 80 00 00 */ lis r4, lbl_2_rodata_14@ha -/* 000001B8 00000278 38 84 00 00 */ addi r4, r4, lbl_2_rodata_14@l -/* 000001BC 0000027C C0 64 00 00 */ lfs f3, 0x0(r4) -/* 000001C0 00000280 3C 80 00 00 */ lis r4, lbl_2_rodata_18@ha -/* 000001C4 00000284 38 84 00 00 */ addi r4, r4, lbl_2_rodata_18@l -/* 000001C8 00000288 C0 84 00 00 */ lfs f4, 0x0(r4) -/* 000001CC 0000028C 3C 80 00 00 */ lis r4, lbl_2_rodata_10@ha -/* 000001D0 00000290 38 84 00 00 */ addi r4, r4, lbl_2_rodata_10@l -/* 000001D4 00000294 C0 A4 00 00 */ lfs f5, 0x0(r4) -/* 000001D8 00000298 3C 80 00 00 */ lis r4, lbl_2_rodata_1C@ha -/* 000001DC 0000029C 38 84 00 00 */ addi r4, r4, lbl_2_rodata_1C@l -/* 000001E0 000002A0 C0 C4 00 00 */ lfs f6, 0x0(r4) -/* 000001E4 000002A4 48 00 00 01 */ bl Hu3DCameraViewportSet -/* 000001E8 000002A8 3C 60 00 00 */ lis r3, lbl_2_bss_1C@ha -/* 000001EC 000002AC 38 63 00 00 */ addi r3, r3, lbl_2_bss_1C@l -/* 000001F0 000002B0 80 63 00 00 */ lwz r3, 0x0(r3) -/* 000001F4 000002B4 38 80 03 E8 */ li r4, 0x3e8 -/* 000001F8 000002B8 38 A0 00 03 */ li r5, 0x3 -/* 000001FC 000002BC 38 C0 00 00 */ li r6, 0x0 -/* 00000200 000002C0 38 E0 FF FF */ li r7, -0x1 -/* 00000204 000002C4 3D 00 00 00 */ lis r8, fn_2_BD90@ha -/* 00000208 000002C8 39 08 00 00 */ addi r8, r8, fn_2_BD90@l -/* 0000020C 000002CC 48 00 00 01 */ bl fn_8002F454 -/* 00000210 000002D0 3C 80 00 00 */ lis r4, lbl_2_bss_114@ha -/* 00000214 000002D4 38 84 00 00 */ addi r4, r4, lbl_2_bss_114@l -/* 00000218 000002D8 90 64 00 00 */ stw r3, 0x0(r4) -/* 0000021C 000002DC 38 00 00 00 */ li r0, 0x0 -/* 00000220 000002E0 3C 60 00 00 */ lis r3, lbl_2_bss_114@ha -/* 00000224 000002E4 38 63 00 00 */ addi r3, r3, lbl_2_bss_114@l -/* 00000228 000002E8 80 63 00 00 */ lwz r3, 0x0(r3) -/* 0000022C 000002EC 90 03 00 4C */ stw r0, 0x4c(r3) -/* 00000230 000002F0 3C 60 00 00 */ lis r3, lbl_2_bss_1C@ha -/* 00000234 000002F4 38 63 00 00 */ addi r3, r3, lbl_2_bss_1C@l -/* 00000238 000002F8 80 63 00 00 */ lwz r3, 0x0(r3) -/* 0000023C 000002FC 38 80 00 0A */ li r4, 0xa -/* 00000240 00000300 38 A0 00 00 */ li r5, 0x0 -/* 00000244 00000304 38 C0 00 00 */ li r6, 0x0 -/* 00000248 00000308 38 E0 FF FF */ li r7, -0x1 -/* 0000024C 0000030C 3D 00 00 00 */ lis r8, fn_2_70C@ha -/* 00000250 00000310 39 08 00 00 */ addi r8, r8, fn_2_70C@l -/* 00000254 00000314 48 00 00 01 */ bl fn_8002F454 -/* 00000258 00000318 3C 80 00 00 */ lis r4, lbl_2_bss_110@ha -/* 0000025C 0000031C 38 84 00 00 */ addi r4, r4, lbl_2_bss_110@l -/* 00000260 00000320 90 64 00 00 */ stw r3, 0x0(r4) -/* 00000264 00000324 3C 60 00 00 */ lis r3, lbl_2_bss_1C@ha -/* 00000268 00000328 38 63 00 00 */ addi r3, r3, lbl_2_bss_1C@l -/* 0000026C 0000032C 80 63 00 00 */ lwz r3, 0x0(r3) -/* 00000270 00000330 38 80 00 00 */ li r4, 0x0 -/* 00000274 00000334 38 A0 00 04 */ li r5, 0x4 -/* 00000278 00000338 48 00 00 01 */ bl fn_8002F9C4 -/* 0000027C 0000033C 3C 60 00 00 */ lis r3, lbl_2_bss_1C@ha -/* 00000280 00000340 38 63 00 00 */ addi r3, r3, lbl_2_bss_1C@l -/* 00000284 00000344 80 63 00 00 */ lwz r3, 0x0(r3) -/* 00000288 00000348 38 80 00 00 */ li r4, 0x0 -/* 0000028C 0000034C 48 00 00 01 */ bl fn_8002FAC0 -/* 00000290 00000350 3C 80 00 00 */ lis r4, lbl_2_bss_118@ha -/* 00000294 00000354 38 84 00 00 */ addi r4, r4, lbl_2_bss_118@l -/* 00000298 00000358 90 64 00 00 */ stw r3, 0x0(r4) -/* 0000029C 0000035C 3C 60 00 00 */ lis r3, lbl_2_bss_1C@ha -/* 000002A0 00000360 38 63 00 00 */ addi r3, r3, lbl_2_bss_1C@l -/* 000002A4 00000364 80 63 00 00 */ lwz r3, 0x0(r3) -/* 000002A8 00000368 38 80 00 01 */ li r4, 0x1 -/* 000002AC 0000036C 38 A0 00 1C */ li r5, 0x1c -/* 000002B0 00000370 48 00 00 01 */ bl fn_8002F9C4 -/* 000002B4 00000374 3B E0 00 00 */ li r31, 0x0 -/* 000002B8 00000378 48 00 00 38 */ b .L_000002F0 -.L_000002BC: -/* 000002BC 0000037C 3C 60 00 00 */ lis r3, lbl_2_bss_1C@ha -/* 000002C0 00000380 38 63 00 00 */ addi r3, r3, lbl_2_bss_1C@l -/* 000002C4 00000384 80 63 00 00 */ lwz r3, 0x0(r3) -/* 000002C8 00000388 38 80 04 B0 */ li r4, 0x4b0 -/* 000002CC 0000038C 38 A0 00 04 */ li r5, 0x4 -/* 000002D0 00000390 38 C0 00 0A */ li r6, 0xa -/* 000002D4 00000394 38 E0 00 00 */ li r7, 0x0 -/* 000002D8 00000398 3D 00 00 00 */ lis r8, fn_2_3B24@ha -/* 000002DC 0000039C 39 08 00 00 */ addi r8, r8, fn_2_3B24@l -/* 000002E0 000003A0 48 00 00 01 */ bl fn_8002F454 -/* 000002E4 000003A4 7C 7E 1B 78 */ mr r30, r3 -/* 000002E8 000003A8 93 FE 00 4C */ stw r31, 0x4c(r30) -/* 000002EC 000003AC 3B FF 00 01 */ addi r31, r31, 0x1 -.L_000002F0: -/* 000002F0 000003B0 2C 1F 00 04 */ cmpwi r31, 0x4 -/* 000002F4 000003B4 41 80 FF C8 */ blt .L_000002BC -/* 000002F8 000003B8 3C 60 00 00 */ lis r3, lbl_2_rodata_20@ha -/* 000002FC 000003BC 38 63 00 00 */ addi r3, r3, lbl_2_rodata_20@l -/* 00000300 000003C0 C0 03 00 00 */ lfs f0, 0x0(r3) -/* 00000304 000003C4 3C 60 00 00 */ lis r3, lbl_2_bss_12C@ha -/* 00000308 000003C8 38 63 00 00 */ addi r3, r3, lbl_2_bss_12C@l -/* 0000030C 000003CC D0 03 00 00 */ stfs f0, 0x0(r3) -/* 00000310 000003D0 3C 60 00 00 */ lis r3, lbl_2_rodata_24@ha -/* 00000314 000003D4 38 63 00 00 */ addi r3, r3, lbl_2_rodata_24@l -/* 00000318 000003D8 C0 03 00 00 */ lfs f0, 0x0(r3) -/* 0000031C 000003DC 3C 60 00 00 */ lis r3, lbl_2_bss_128@ha -/* 00000320 000003E0 38 63 00 00 */ addi r3, r3, lbl_2_bss_128@l -/* 00000324 000003E4 D0 03 00 00 */ stfs f0, 0x0(r3) -/* 00000328 000003E8 3C 60 00 00 */ lis r3, lbl_2_rodata_28@ha -/* 0000032C 000003EC 38 63 00 00 */ addi r3, r3, lbl_2_rodata_28@l -/* 00000330 000003F0 C0 03 00 00 */ lfs f0, 0x0(r3) -/* 00000334 000003F4 3C 60 00 00 */ lis r3, lbl_2_bss_124@ha -/* 00000338 000003F8 38 63 00 00 */ addi r3, r3, lbl_2_bss_124@l -/* 0000033C 000003FC D0 03 00 00 */ stfs f0, 0x0(r3) -/* 00000340 00000400 3C 60 00 00 */ lis r3, lbl_2_rodata_2C@ha -/* 00000344 00000404 38 63 00 00 */ addi r3, r3, lbl_2_rodata_2C@l -/* 00000348 00000408 C0 23 00 00 */ lfs f1, 0x0(r3) -/* 0000034C 0000040C 3C 60 00 00 */ lis r3, lbl_2_rodata_30@ha -/* 00000350 00000410 38 63 00 00 */ addi r3, r3, lbl_2_rodata_30@l -/* 00000354 00000414 C0 43 00 00 */ lfs f2, 0x0(r3) -/* 00000358 00000418 3C 60 00 00 */ lis r3, lbl_2_rodata_34@ha -/* 0000035C 0000041C 38 63 00 00 */ addi r3, r3, lbl_2_rodata_34@l -/* 00000360 00000420 C0 63 00 00 */ lfs f3, 0x0(r3) -/* 00000364 00000424 48 00 00 01 */ bl fn_800241C0 -/* 00000368 00000428 3C 60 00 00 */ lis r3, lbl_2_rodata_38@ha -/* 0000036C 0000042C 38 63 00 00 */ addi r3, r3, lbl_2_rodata_38@l -/* 00000370 00000430 C0 23 00 00 */ lfs f1, 0x0(r3) -/* 00000374 00000434 48 00 00 01 */ bl fn_800243AC -/* 00000378 00000438 3C 60 00 00 */ lis r3, lbl_2_rodata_3C@ha -/* 0000037C 0000043C 38 63 00 00 */ addi r3, r3, lbl_2_rodata_3C@l -/* 00000380 00000440 C0 23 00 00 */ lfs f1, 0x0(r3) -/* 00000384 00000444 3C 60 00 00 */ lis r3, lbl_2_bss_60@ha -/* 00000388 00000448 38 63 00 00 */ addi r3, r3, lbl_2_bss_60@l -/* 0000038C 0000044C C0 03 00 04 */ lfs f0, 0x4(r3) -/* 00000390 00000450 EC 01 00 2A */ fadds f0, f1, f0 -/* 00000394 00000454 3C 60 00 00 */ lis r3, lbl_2_data_30@ha -/* 00000398 00000458 38 63 00 00 */ addi r3, r3, lbl_2_data_30@l -/* 0000039C 0000045C D0 03 00 04 */ stfs f0, 0x4(r3) -/* 000003A0 00000460 3C 60 00 00 */ lis r3, lbl_2_rodata_40@ha -/* 000003A4 00000464 38 63 00 00 */ addi r3, r3, lbl_2_rodata_40@l -/* 000003A8 00000468 C0 23 00 00 */ lfs f1, 0x0(r3) -/* 000003AC 0000046C 3C 60 00 00 */ lis r3, lbl_2_bss_60@ha -/* 000003B0 00000470 38 63 00 00 */ addi r3, r3, lbl_2_bss_60@l -/* 000003B4 00000474 C0 03 00 08 */ lfs f0, 0x8(r3) -/* 000003B8 00000478 EC 01 00 2A */ fadds f0, f1, f0 -/* 000003BC 0000047C 3C 60 00 00 */ lis r3, lbl_2_data_30@ha -/* 000003C0 00000480 38 63 00 00 */ addi r3, r3, lbl_2_data_30@l -/* 000003C4 00000484 D0 03 00 08 */ stfs f0, 0x8(r3) -/* 000003C8 00000488 3C 60 00 00 */ lis r3, lbl_2_bss_60@ha -/* 000003CC 0000048C 38 63 00 00 */ addi r3, r3, lbl_2_bss_60@l -/* 000003D0 00000490 C0 03 00 04 */ lfs f0, 0x4(r3) -/* 000003D4 00000494 3C 60 00 00 */ lis r3, lbl_2_data_48@ha -/* 000003D8 00000498 38 63 00 00 */ addi r3, r3, lbl_2_data_48@l -/* 000003DC 0000049C D0 03 00 04 */ stfs f0, 0x4(r3) -/* 000003E0 000004A0 3C 60 00 00 */ lis r3, lbl_2_rodata_40@ha -/* 000003E4 000004A4 38 63 00 00 */ addi r3, r3, lbl_2_rodata_40@l -/* 000003E8 000004A8 C0 23 00 00 */ lfs f1, 0x0(r3) -/* 000003EC 000004AC 3C 60 00 00 */ lis r3, lbl_2_bss_60@ha -/* 000003F0 000004B0 38 63 00 00 */ addi r3, r3, lbl_2_bss_60@l -/* 000003F4 000004B4 C0 03 00 08 */ lfs f0, 0x8(r3) -/* 000003F8 000004B8 EC 01 00 2A */ fadds f0, f1, f0 -/* 000003FC 000004BC 3C 60 00 00 */ lis r3, lbl_2_data_48@ha -/* 00000400 000004C0 38 63 00 00 */ addi r3, r3, lbl_2_data_48@l -/* 00000404 000004C4 D0 03 00 08 */ stfs f0, 0x8(r3) -/* 00000408 000004C8 3C 60 00 00 */ lis r3, lbl_2_data_30@ha -/* 0000040C 000004CC 38 63 00 00 */ addi r3, r3, lbl_2_data_30@l -/* 00000410 000004D0 3C 80 00 00 */ lis r4, lbl_2_data_3C@ha -/* 00000414 000004D4 38 84 00 00 */ addi r4, r4, lbl_2_data_3C@l -/* 00000418 000004D8 3C A0 00 00 */ lis r5, lbl_2_data_48@ha -/* 0000041C 000004DC 38 A5 00 00 */ addi r5, r5, lbl_2_data_48@l -/* 00000420 000004E0 48 00 00 01 */ bl fn_80024348 -/* 00000424 000004E4 3C 60 00 00 */ lis r3, lbl_2_bss_1C@ha -/* 00000428 000004E8 38 63 00 00 */ addi r3, r3, lbl_2_bss_1C@l -/* 0000042C 000004EC 80 63 00 00 */ lwz r3, 0x0(r3) -/* 00000430 000004F0 38 80 01 F4 */ li r4, 0x1f4 -/* 00000434 000004F4 38 A0 00 0C */ li r5, 0xc -/* 00000438 000004F8 38 C0 00 03 */ li r6, 0x3 -/* 0000043C 000004FC 38 E0 FF FF */ li r7, -0x1 -/* 00000440 00000500 3D 00 00 00 */ lis r8, fn_2_2FA4@ha -/* 00000444 00000504 39 08 00 00 */ addi r8, r8, fn_2_2FA4@l -/* 00000448 00000508 48 00 00 01 */ bl fn_8002F454 -/* 0000044C 0000050C 3C 80 00 00 */ lis r4, lbl_2_bss_10C@ha -/* 00000450 00000510 38 84 00 00 */ addi r4, r4, lbl_2_bss_10C@l -/* 00000454 00000514 90 64 00 00 */ stw r3, 0x0(r4) -/* 00000458 00000518 3C 60 00 00 */ lis r3, lbl_2_bss_1C@ha -/* 0000045C 0000051C 38 63 00 00 */ addi r3, r3, lbl_2_bss_1C@l -/* 00000460 00000520 80 63 00 00 */ lwz r3, 0x0(r3) -/* 00000464 00000524 38 80 04 4C */ li r4, 0x44c -/* 00000468 00000528 38 A0 00 01 */ li r5, 0x1 -/* 0000046C 0000052C 38 C0 00 01 */ li r6, 0x1 -/* 00000470 00000530 38 E0 FF FF */ li r7, -0x1 -/* 00000474 00000534 3D 00 00 00 */ lis r8, fn_2_7CB4@ha -/* 00000478 00000538 39 08 00 00 */ addi r8, r8, fn_2_7CB4@l -/* 0000047C 0000053C 48 00 00 01 */ bl fn_8002F454 -/* 00000480 00000540 3C 80 00 00 */ lis r4, lbl_2_bss_108@ha -/* 00000484 00000544 38 84 00 00 */ addi r4, r4, lbl_2_bss_108@l -/* 00000488 00000548 90 64 00 00 */ stw r3, 0x0(r4) -/* 0000048C 0000054C 3C 60 00 00 */ lis r3, lbl_2_bss_1C@ha -/* 00000490 00000550 38 63 00 00 */ addi r3, r3, lbl_2_bss_1C@l -/* 00000494 00000554 80 63 00 00 */ lwz r3, 0x0(r3) -/* 00000498 00000558 38 80 04 56 */ li r4, 0x456 -/* 0000049C 0000055C 38 A0 00 01 */ li r5, 0x1 -/* 000004A0 00000560 38 C0 00 01 */ li r6, 0x1 -/* 000004A4 00000564 38 E0 FF FF */ li r7, -0x1 -/* 000004A8 00000568 3D 00 00 00 */ lis r8, fn_2_8E74@ha -/* 000004AC 0000056C 39 08 00 00 */ addi r8, r8, fn_2_8E74@l -/* 000004B0 00000570 48 00 00 01 */ bl fn_8002F454 -/* 000004B4 00000574 3C 80 00 00 */ lis r4, lbl_2_bss_100@ha -/* 000004B8 00000578 38 84 00 00 */ addi r4, r4, lbl_2_bss_100@l -/* 000004BC 0000057C 90 64 00 00 */ stw r3, 0x0(r4) -/* 000004C0 00000580 3C 60 00 00 */ lis r3, lbl_2_bss_1C@ha -/* 000004C4 00000584 38 63 00 00 */ addi r3, r3, lbl_2_bss_1C@l -/* 000004C8 00000588 80 63 00 00 */ lwz r3, 0x0(r3) -/* 000004CC 0000058C 38 80 04 56 */ li r4, 0x456 -/* 000004D0 00000590 38 A0 00 01 */ li r5, 0x1 -/* 000004D4 00000594 38 C0 00 01 */ li r6, 0x1 -/* 000004D8 00000598 38 E0 FF FF */ li r7, -0x1 -/* 000004DC 0000059C 3D 00 00 00 */ lis r8, fn_2_8E74@ha -/* 000004E0 000005A0 39 08 00 00 */ addi r8, r8, fn_2_8E74@l -/* 000004E4 000005A4 48 00 00 01 */ bl fn_8002F454 -/* 000004E8 000005A8 3C 80 00 00 */ lis r4, lbl_2_bss_100@ha -/* 000004EC 000005AC 38 84 00 00 */ addi r4, r4, lbl_2_bss_100@l -/* 000004F0 000005B0 90 64 00 04 */ stw r3, 0x4(r4) -/* 000004F4 000005B4 3C 60 00 00 */ lis r3, lbl_2_bss_1C@ha -/* 000004F8 000005B8 38 63 00 00 */ addi r3, r3, lbl_2_bss_1C@l -/* 000004FC 000005BC 80 63 00 00 */ lwz r3, 0x0(r3) -/* 00000500 000005C0 38 80 04 60 */ li r4, 0x460 -/* 00000504 000005C4 38 A0 00 01 */ li r5, 0x1 -/* 00000508 000005C8 38 C0 00 02 */ li r6, 0x2 -/* 0000050C 000005CC 38 E0 FF FF */ li r7, -0x1 -/* 00000510 000005D0 3D 00 00 00 */ lis r8, fn_2_95E4@ha -/* 00000514 000005D4 39 08 00 00 */ addi r8, r8, fn_2_95E4@l -/* 00000518 000005D8 48 00 00 01 */ bl fn_8002F454 -/* 0000051C 000005DC 3C 80 00 00 */ lis r4, lbl_2_bss_FC@ha -/* 00000520 000005E0 38 84 00 00 */ addi r4, r4, lbl_2_bss_FC@l -/* 00000524 000005E4 90 64 00 00 */ stw r3, 0x0(r4) -/* 00000528 000005E8 3C 60 00 00 */ lis r3, lbl_2_bss_1C@ha -/* 0000052C 000005EC 38 63 00 00 */ addi r3, r3, lbl_2_bss_1C@l -/* 00000530 000005F0 80 63 00 00 */ lwz r3, 0x0(r3) -/* 00000534 000005F4 38 80 00 64 */ li r4, 0x64 -/* 00000538 000005F8 38 A0 00 00 */ li r5, 0x0 -/* 0000053C 000005FC 38 C0 00 00 */ li r6, 0x0 -/* 00000540 00000600 38 E0 FF FF */ li r7, -0x1 -/* 00000544 00000604 3D 00 00 00 */ lis r8, fn_2_D088@ha -/* 00000548 00000608 39 08 00 00 */ addi r8, r8, fn_2_D088@l -/* 0000054C 0000060C 48 00 00 01 */ bl fn_8002F454 -/* 00000550 00000610 3C 80 00 00 */ lis r4, lbl_2_bss_C8@ha -/* 00000554 00000614 38 84 00 00 */ addi r4, r4, lbl_2_bss_C8@l -/* 00000558 00000618 90 64 00 00 */ stw r3, 0x0(r4) -/* 0000055C 0000061C 3C 60 00 00 */ lis r3, lbl_2_bss_1C@ha -/* 00000560 00000620 38 63 00 00 */ addi r3, r3, lbl_2_bss_1C@l -/* 00000564 00000624 80 63 00 00 */ lwz r3, 0x0(r3) -/* 00000568 00000628 38 80 05 DC */ li r4, 0x5dc -/* 0000056C 0000062C 38 A0 00 00 */ li r5, 0x0 -/* 00000570 00000630 38 C0 00 00 */ li r6, 0x0 -/* 00000574 00000634 38 E0 FF FF */ li r7, -0x1 -/* 00000578 00000638 3D 00 00 00 */ lis r8, fn_2_C1C@ha -/* 0000057C 0000063C 39 08 00 00 */ addi r8, r8, fn_2_C1C@l -/* 00000580 00000640 48 00 00 01 */ bl fn_8002F454 -/* 00000584 00000644 3C 80 00 00 */ lis r4, lbl_2_bss_E0@ha -/* 00000588 00000648 38 84 00 00 */ addi r4, r4, lbl_2_bss_E0@l -/* 0000058C 0000064C 90 64 00 00 */ stw r3, 0x0(r4) -/* 00000590 00000650 38 60 00 5A */ li r3, 0x5a -/* 00000594 00000654 48 00 D6 39 */ bl fn_2_DBCC -/* 00000598 00000658 3C 60 00 00 */ lis r3, lbl_2_bss_1C@ha -/* 0000059C 0000065C 38 63 00 00 */ addi r3, r3, lbl_2_bss_1C@l -/* 000005A0 00000660 80 63 00 00 */ lwz r3, 0x0(r3) -/* 000005A4 00000664 38 80 01 F4 */ li r4, 0x1f4 -/* 000005A8 00000668 38 A0 00 09 */ li r5, 0x9 -/* 000005AC 0000066C 38 C0 00 00 */ li r6, 0x0 -/* 000005B0 00000670 38 E0 FF FF */ li r7, -0x1 -/* 000005B4 00000674 3D 00 00 00 */ lis r8, fn_2_C6DC@ha -/* 000005B8 00000678 39 08 00 00 */ addi r8, r8, fn_2_C6DC@l -/* 000005BC 0000067C 48 00 00 01 */ bl fn_8002F454 -/* 000005C0 00000680 3C 80 00 00 */ lis r4, lbl_2_bss_F8@ha -/* 000005C4 00000684 38 84 00 00 */ addi r4, r4, lbl_2_bss_F8@l -/* 000005C8 00000688 90 64 00 00 */ stw r3, 0x0(r4) -/* 000005CC 0000068C 3C 60 00 00 */ lis r3, lbl_2_bss_1C@ha -/* 000005D0 00000690 38 63 00 00 */ addi r3, r3, lbl_2_bss_1C@l -/* 000005D4 00000694 80 63 00 00 */ lwz r3, 0x0(r3) -/* 000005D8 00000698 48 00 97 29 */ bl fn_2_9D00 -/* 000005DC 0000069C 48 00 FE 41 */ bl fn_2_1041C -/* 000005E0 000006A0 48 01 01 BD */ bl fn_2_1079C -/* 000005E4 000006A4 3C 60 00 00 */ lis r3, lbl_2_bss_1C@ha -/* 000005E8 000006A8 38 63 00 00 */ addi r3, r3, lbl_2_bss_1C@l -/* 000005EC 000006AC 80 63 00 00 */ lwz r3, 0x0(r3) -/* 000005F0 000006B0 48 01 40 51 */ bl fn_2_14640 -/* 000005F4 000006B4 3C 80 00 00 */ lis r4, lbl_2_bss_F4@ha -/* 000005F8 000006B8 38 84 00 00 */ addi r4, r4, lbl_2_bss_F4@l -/* 000005FC 000006BC 90 64 00 00 */ stw r3, 0x0(r4) -/* 00000600 000006C0 3C 60 00 00 */ lis r3, lbl_2_rodata_10@ha -/* 00000604 000006C4 38 63 00 00 */ addi r3, r3, lbl_2_rodata_10@l -/* 00000608 000006C8 C0 03 00 00 */ lfs f0, 0x0(r3) -/* 0000060C 000006CC 3C 60 00 00 */ lis r3, lbl_2_bss_50@ha -/* 00000610 000006D0 38 63 00 00 */ addi r3, r3, lbl_2_bss_50@l -/* 00000614 000006D4 D0 03 00 00 */ stfs f0, 0x0(r3) -/* 00000618 000006D8 3C 60 00 00 */ lis r3, lbl_2_bss_54@ha -/* 0000061C 000006DC 38 83 00 00 */ addi r4, r3, lbl_2_bss_54@l -/* 00000620 000006E0 80 7D 00 14 */ lwz r3, 0x14(r29) -/* 00000624 000006E4 80 1D 00 18 */ lwz r0, 0x18(r29) -/* 00000628 000006E8 90 64 00 00 */ stw r3, 0x0(r4) -/* 0000062C 000006EC 90 04 00 04 */ stw r0, 0x4(r4) -/* 00000630 000006F0 80 1D 00 1C */ lwz r0, 0x1c(r29) -/* 00000634 000006F4 90 04 00 08 */ stw r0, 0x8(r4) -/* 00000638 000006F8 38 60 00 00 */ li r3, 0x0 -/* 0000063C 000006FC 48 00 00 01 */ bl fn_800240E4 -/* 00000640 00000700 38 00 00 00 */ li r0, 0x0 -/* 00000644 00000704 3C 60 00 00 */ lis r3, lbl_2_bss_120@ha -/* 00000648 00000708 38 63 00 00 */ addi r3, r3, lbl_2_bss_120@l -/* 0000064C 0000070C B0 03 00 00 */ sth r0, 0x0(r3) -/* 00000650 00000710 38 00 00 00 */ li r0, 0x0 -/* 00000654 00000714 3C 60 00 00 */ lis r3, lbl_2_bss_BE@ha -/* 00000658 00000718 38 63 00 00 */ addi r3, r3, lbl_2_bss_BE@l -/* 0000065C 0000071C B0 03 00 00 */ sth r0, 0x0(r3) -/* 00000660 00000720 38 00 00 00 */ li r0, 0x0 -/* 00000664 00000724 3C 60 00 00 */ lis r3, lbl_2_bss_BA@ha -/* 00000668 00000728 38 63 00 00 */ addi r3, r3, lbl_2_bss_BA@l -/* 0000066C 0000072C B0 03 00 00 */ sth r0, 0x0(r3) -/* 00000670 00000730 3C 60 00 00 */ lis r3, lbl_2_rodata_44@ha -/* 00000674 00000734 38 63 00 00 */ addi r3, r3, lbl_2_rodata_44@l -/* 00000678 00000738 C0 23 00 00 */ lfs f1, 0x0(r3) -/* 0000067C 0000073C 3C 60 00 00 */ lis r3, lbl_2_rodata_48@ha -/* 00000680 00000740 38 63 00 00 */ addi r3, r3, lbl_2_rodata_48@l -/* 00000684 00000744 C0 43 00 00 */ lfs f2, 0x0(r3) -/* 00000688 00000748 38 60 00 0A */ li r3, 0xa -/* 0000068C 0000074C 38 80 00 3C */ li r4, 0x3c -/* 00000690 00000750 38 A0 00 A0 */ li r5, 0xa0 -/* 00000694 00000754 48 00 00 01 */ bl fn_800240EC -/* 00000698 00000758 38 60 00 0A */ li r3, 0xa -/* 0000069C 0000075C 38 80 00 3C */ li r4, 0x3c -/* 000006A0 00000760 38 A0 00 A0 */ li r5, 0xa0 -/* 000006A4 00000764 48 00 00 01 */ bl Hu3DBGColorSet -/* 000006A8 00000768 3C 60 00 00 */ lis r3, lbl_2_rodata_44@ha -/* 000006AC 0000076C 38 63 00 00 */ addi r3, r3, lbl_2_rodata_44@l -/* 000006B0 00000770 C0 03 00 00 */ lfs f0, 0x0(r3) -/* 000006B4 00000774 3C 60 00 00 */ lis r3, lbl_2_bss_88@ha -/* 000006B8 00000778 38 63 00 00 */ addi r3, r3, lbl_2_bss_88@l -/* 000006BC 0000077C D0 03 00 00 */ stfs f0, 0x0(r3) -/* 000006C0 00000780 3C 60 00 00 */ lis r3, lbl_2_rodata_4C@ha -/* 000006C4 00000784 38 63 00 00 */ addi r3, r3, lbl_2_rodata_4C@l -/* 000006C8 00000788 C0 03 00 00 */ lfs f0, 0x0(r3) -/* 000006CC 0000078C 3C 60 00 00 */ lis r3, lbl_2_bss_84@ha -/* 000006D0 00000790 38 63 00 00 */ addi r3, r3, lbl_2_bss_84@l -/* 000006D4 00000794 D0 03 00 00 */ stfs f0, 0x0(r3) -/* 000006D8 00000798 38 60 05 0A */ li r3, 0x50a -/* 000006DC 0000079C 48 00 00 01 */ bl fn_80032A94 -/* 000006E0 000007A0 3C 80 00 00 */ lis r4, lbl_2_bss_11C@ha -/* 000006E4 000007A4 38 84 00 00 */ addi r4, r4, lbl_2_bss_11C@l -/* 000006E8 000007A8 90 64 00 00 */ stw r3, 0x0(r4) -/* 000006EC 000007AC 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 000006F0 000007B0 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 000006F4 000007B4 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 000006F8 000007B8 83 81 00 10 */ lwz r28, 0x10(r1) -/* 000006FC 000007BC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 00000700 000007C0 7C 08 03 A6 */ mtlr r0 -/* 00000704 000007C4 38 21 00 20 */ addi r1, r1, 0x20 -/* 00000708 000007C8 4E 80 00 20 */ blr -.endfn fn_2_A0 diff --git a/src/REL/m401Dll/m401Dll.c b/src/REL/m401Dll/m401Dll.c index 44a7d477..b19fc50a 100644 --- a/src/REL/m401Dll/m401Dll.c +++ b/src/REL/m401Dll/m401Dll.c @@ -1,35 +1,69 @@ -#include "common.h" -#include "REL/executor.h" +#include "m401Dll.h" -// global data -typedef struct unkStruct18FC10 { - s16 unk_00; - char unk_02[8]; -} unkStruct18FC10; -typedef struct unkStructBSS114 { - char unk_00[0x40]; - s16 *unk_40; - char unk_44[0x8]; - s32 unk_4C; - u32 unk_50; -} unkStructBSS114; - -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); -void fn_8002F7AC(s32*, unkStructBSS114*); -void fn_8002FB10(void*, f32, f32, f32); -extern unkStruct18FC10 lbl_8018FC10[]; - -// local data -void fn_2_10710(void); -extern s16 lbl_2_data_4[8]; -extern Vec3f lbl_2_bss_6C; - - -// fn_2_A0 +void fn_2_A0(void) { + s32 i; + unkStructBSS114 *temp_r30; + unkStruct18BFC0 *temp_r29; + s16* temp_r28; + + OSReport("**** M401ObjectSetup ****\n"); + HuMemHeapDump(HuMemHeapPtrGet(0), -1); + HuMemHeapDump(HuMemHeapPtrGet(2), -1); + HuMemHeapDump(HuMemHeapPtrGet(3), -1); + lbl_2_bss_1C = omInitObjMan(0x3C, 0x2000); + fn_80057E80(lbl_2_bss_1C); + lbl_2_bss_A8 = fn_80022ADC(&lbl_2_data_14, &lbl_2_data_20, &lbl_2_data_2C); + fn_80022EB4(lbl_2_bss_A8); + temp_r28 = &lbl_8018C8FC[lbl_2_bss_A8].unk_00; + *temp_r28 |= 0x8000; + Hu3DCameraCreate(1); + temp_r29 = &lbl_8018BFC0; + Hu3DCameraViewportSet(1, 0.0f, 0.0f, 640.0, 480.0, 0.0f, 1.0f); + lbl_2_bss_114 = fn_8002F454(lbl_2_bss_1C, 0x3E8, 3, 0, -1, &fn_2_BD90); + lbl_2_bss_114->unk_4C = 0; + lbl_2_bss_110 = fn_8002F454(lbl_2_bss_1C, 0xA, 0, 0, -1, &fn_2_70C); + fn_8002F9C4(lbl_2_bss_1C, 0, 4); + lbl_2_bss_118[0] = fn_8002FAC0(lbl_2_bss_1C, 0); + fn_8002F9C4(lbl_2_bss_1C, 1, 0x1C); + for (i = 0; i < 4; i++) { + temp_r30 = fn_8002F454(lbl_2_bss_1C, 0x4B0, 4, 0xA, 0, &fn_2_3B24); + temp_r30->unk_4C = i; + } + lbl_2_bss_12C = 60.0f; + lbl_2_bss_128 = 50.0f; + lbl_2_bss_124 = 25000.0f; + fn_800241C0(30.0f, 30.0f, 20.0f); + fn_800243AC(0.35f); + lbl_2_data_30.y = (f32) (1500.0f + lbl_2_bss_60.y); + lbl_2_data_30.z = (f32) (500.0f + lbl_2_bss_60.z); + lbl_2_data_48.y = (f32) lbl_2_bss_60.y; + lbl_2_data_48.z = (f32) (500.0f + lbl_2_bss_60.z); + fn_80024348(&lbl_2_data_30, &lbl_2_data_3C, &lbl_2_data_48); + lbl_2_bss_10C = fn_8002F454(lbl_2_bss_1C, 0x1F4, 0xC, 3, -1, &fn_2_2FA4); + lbl_2_bss_108 = fn_8002F454(lbl_2_bss_1C, 0x44C, 1, 1, -1, &fn_2_7CB4); + lbl_2_bss_100.unk_00 = fn_8002F454(lbl_2_bss_1C, 0x456, 1, 1, -1, &fn_2_8E74); + lbl_2_bss_100.unk_04 = fn_8002F454(lbl_2_bss_1C, 0x456, 1, 1, -1, &fn_2_8E74); + lbl_2_bss_FC = fn_8002F454(lbl_2_bss_1C, 0x460, 1, 2, -1, &fn_2_95E4); + lbl_2_bss_C8 = fn_8002F454(lbl_2_bss_1C, 0x64, 0, 0, -1, &fn_2_D088); + lbl_2_bss_E0 = fn_8002F454(lbl_2_bss_1C, 0x5DC, 0, 0, -1, &fn_2_C1C); + fn_2_DBCC(0x5A); + lbl_2_bss_F8 = fn_8002F454(lbl_2_bss_1C, 0x1F4, 9, 0, -1, &fn_2_C6DC); + fn_2_9D00(lbl_2_bss_1C); + fn_2_1041C(); + fn_2_1079C(); + lbl_2_bss_F4 = fn_2_14640(lbl_2_bss_1C); + lbl_2_bss_50 = 0.0f; + lbl_2_bss_54.unk_00 = temp_r29->unk_14; + fn_800240E4(0); + lbl_2_bss_120 = 0; + lbl_2_bss_BE = 0; + lbl_2_bss_BA = 0; + fn_800240EC(3000.0f, 10000.0f, 0xAU, 0x3CU, 0xA0U); + Hu3DBGColorSet(0xAU, 0x3CU, 0xA0U); + lbl_2_bss_88 = 3000.0f; + lbl_2_bss_84 = 142000.0f; + lbl_2_bss_11C = fn_80032A94(0x50A); +} // fn_2_70C @@ -52,6 +86,86 @@ void fn_2_A98(void) { Hu3DBGColorSet(0xAU, 0x3CU, 0xA0U); } +void fn_2_AEC(s16 arg0) { + s32 j; + s32 i; + unkSubstructBSS114* temp_r31; + + temp_r31 = lbl_2_bss_E0->unk_5C; + if (arg0 != 0) { + for (i = 0; i < 4; i++) { + fn_8003FBA8(temp_r31->unk_00[i]); + fn_8003FBA8(temp_r31->unk_80[i]); + fn_8003FBA8(temp_r31->unk_88[i]); + for (j = 0; j < 2; j++) { + fn_8003FBA8(temp_r31->unk_08[i][j]); + } + } + return; + } + for (i = 0; i < 4; i++) { + fn_8003FBEC(temp_r31->unk_00[i]); + fn_8003FBEC(temp_r31->unk_80[i]); + fn_8003FBEC(temp_r31->unk_88[i]); + for (j = 0; j < 2; j++) { + fn_8003FBEC(temp_r31->unk_08[i][j]); + } + } +} + +void fn_2_C1C(unkStructBSS114* arg0) { + s16 temp_r0; + s32 temp_r0_2; + s32 temp_r0_3; + s32 temp_r0_4; + s32 j; + s32 i; + unkSubstructBSS114* temp_r31; + + arg0->unk_5C = HuMemDirectMallocNum(0, 0x148, 0x10000000U); + temp_r31 = arg0->unk_5C; + for (i = 0; i < 4; i++) { + temp_r31->unk_00[i] = fn_8003F958(lbl_2_data_80[lbl_8018FC10[i].unk_00], 2, 0); + fn_8003FBEC(temp_r31->unk_00[i]); + fn_8003FED8(temp_r31->unk_00[i], 0); + fn_8003FCC0(temp_r31->unk_00[i], (f32) ((i & 1) * 0x1B6 + 0x25), ((i>1)*0x166)+0x3B); + temp_r31->unk_80[i] = fn_8003F958(0x20002F, 3, 0); + fn_8003FBEC(temp_r31->unk_80[i]); + fn_8003FED8(temp_r31->unk_80[i], 0); + fn_8003FCC0(temp_r31->unk_80[i], (f32) (((i & 1) * 0x1B6) + 0x49), (((i>1) * 0x166) + 0x3D)); + temp_r31->unk_88[i] = fn_8003F958(0x200030, 4, 0); + fn_8003FBEC(temp_r31->unk_88[i]); + fn_8003FED8(temp_r31->unk_88[i], 0); + fn_8003FCC0(temp_r31->unk_88[i], (f32) (((i & 1) * 0x1B6) + 0x49), (((i>1) * 0x166) + 0x3D)); + fn_8003FDF0(temp_r31->unk_88[i], 0, 0, 0); + fn_8003FDA8(temp_r31->unk_88[i], 0.5f); + for (j = 0; j < 2; j++) { + temp_r31->unk_08[i][j] = fn_8003F958(0x20002E, 1, 0); + fn_8003FBEC(temp_r31->unk_08[i][j]); + fn_8003FED8(temp_r31->unk_08[i][j], 0); + fn_8003FCC0(temp_r31->unk_08[i][j], 0x45 + ((i & 1) * 0x1B6) + (j * 0x14), ((i>1) * 0x166) + 0x3F); + fn_8003FC30(temp_r31->unk_08[i][j], 1); + } + for (j = 0; j < 3; j++) { + temp_r31->unk_50[i][j] = fn_8003F958(0x20002D, 0, 0); + fn_8003FBEC(temp_r31->unk_50[i][j]); + fn_8003FED8(temp_r31->unk_50[i][j], 0); + fn_8003FC30(temp_r31->unk_50[i][j], 1); + temp_r31->unk_68[i][j] = fn_8003F958(0x20002D, 0, 0); + fn_8003FBEC(temp_r31->unk_68[i][j]); + fn_8003FED8(temp_r31->unk_68[i][j], 0); + fn_8003FC30(temp_r31->unk_68[i][j], 1); + } + fn_8003FE90(temp_r31->unk_50[i][0], 0xA); + fn_8003FE90(temp_r31->unk_68[i][0], 0xB); + temp_r31->unk_90[i] = 1.0f; + temp_r31->unk_A0[i] = 1.0f; + temp_r31->unk_130[i] = 0; + temp_r31->unk_138[i] = 0; + } + arg0->unk_14 = &fn_2_11D0; +} + 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) { diff --git a/src/REL/m401Dll/m401Dll.h b/src/REL/m401Dll/m401Dll.h new file mode 100644 index 00000000..3f155931 --- /dev/null +++ b/src/REL/m401Dll/m401Dll.h @@ -0,0 +1,140 @@ +#include "common.h" +#include "REL/executor.h" + +// global data // +typedef struct unkStruct18FC10 { + s16 unk_00; + char unk_02[8]; +} unkStruct18FC10; +typedef struct unkSubstructBSS114 { + s16 unk_00[4]; + s16 unk_08[4][3]; + char unk_20[0x30]; + s16 unk_50[4][3]; + s16 unk_68[4][3]; + s16 unk_80[4]; + s16 unk_88[4]; + f32 unk_90[4]; + f32 unk_A0[4]; + char unk_B0[0x80]; + s16 unk_130[4]; + s16 unk_138[4]; +} unkSubstructBSS114; +typedef struct unkStructBSS114 { + char unk_00[0x14]; + void *unk_14; + char unk_18[0x28]; + s16 *unk_40; + char unk_44[0x8]; + s32 unk_4C; + u32 unk_50; + char unk_54[0x8]; + unkSubstructBSS114 *unk_5C; +} unkStructBSS114; +typedef struct unkStruct18BFC0 { + char unk_00[0x14]; + Vec3f unk_14; +} unkStruct18BFC0; +typedef struct unkStruct18C8FC { + s16 unk_00; + char unk_02[0x42]; +} unkStruct18C8FC; + +extern unkStruct18FC10 lbl_8018FC10[]; +extern unkStruct18BFC0 lbl_8018BFC0; +extern unkStruct18C8FC lbl_8018C8FC[]; + +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); +void fn_8002F7AC(s32*, unkStructBSS114*); +void fn_8002FB10(void*, f32, f32, f32); +s16 fn_8003F958(s32, s16, s16); +void fn_8003FBA8(s16); +void fn_8003FBEC(s16); +void fn_8003FC30(s16, s16); +void fn_8003FCC0(s16, f32, f32); +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_80022EB4(s16); +void fn_800240E4(s16); +void fn_800241C0(f32, f32, f32); +void fn_80024348(Vec3f*, Vec3f*, Vec3f*); +void fn_800243AC(f32); +unkStructBSS114* fn_8002F454(void*, s16, s16, s16, s16, void*); +void fn_8002F9C4(void*, s16, s16); +unkStructBSS114* fn_8002FAC0(void*, s16); +s32 fn_80032A94(s32); +void fn_80057E80(unkStruct18FC10*); + +// local data // +typedef struct unkStructBSS54 { + Vec3f unk_00; +} unkStructBSS54; +typedef struct unkStructBSS100 { + void *unk_00; + 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]; + +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; + +void fn_2_A0(void); +void fn_2_70C(void*); +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_2FA4(void*); +void fn_2_3B24(void*); +void fn_2_7CB4(void*); +void fn_2_8E74(void*); +void fn_2_95E4(void*); +void fn_2_9D00(void*); +void fn_2_BD90(void*); +void fn_2_C6DC(void*); +void fn_2_D088(void*); +void fn_2_DBCC(s16); +void fn_2_10710(void); +void fn_2_1041C(void); +s16 fn_2_1079C(void); +s32 fn_2_14640(void*);