From f1924e91f4a1ea1dea62b4fb0a1342f94a55ccfe Mon Sep 17 00:00:00 2001 From: jdflyer Date: Sun, 31 Jan 2021 18:03:38 -0700 Subject: [PATCH] d_kyeff, d_kyeff2, m_Do_printf, and m_Do_graphic (#109) * Split d_kyeff * Partially matched d_kyeff * split d_kyeff2 * Match d_kyeff2 * split m_Do_printf * m_Do_printf partially matched * hotfix and clang-format * split m_Do_graphic * rename symbols in m_Do_graphic * Match a few functions in m_Do_graphic * Fix Merge Errors * Delete sh.exe.stackdump * Update OSReportInit --- asm/clib.s | 8 +- asm/d/d_demo.s | 2 +- asm/d/d_drawlist.s | 4 +- asm/d/d_event.s | 4 +- asm/d/d_kyeff.s | 100 - asm/d/d_kyeff2.s | 55 - asm/d/error/d_error_msg.s | 6 +- asm/d/event/d_event_data.s | 4 +- asm/d/msg/d_msg_flow.s | 4 +- asm/d/s/d_s_play.s | 2 +- asm/m/Do/m_Do_graphic.s | 3517 ----------------- asm/m/Do/m_Do_printf.s | 606 --- include/JSystem/JUtility/JUTTexture.h | 28 +- include/SComponent/c_lib.h | 4 + include/SComponent/c_xyz.h | 6 +- include/Z2AudioLib/Z2EnvSeMgr/Z2EnvSeMgr.h | 9 + include/d/d_a/d_a_player/d_a_player.h | 2 +- include/d/d_camera/asm/func_80180D24.s | 2 +- include/d/d_camera/asm/func_80181280.s | 2 +- .../d/d_com/d_com_inf_game/d_com_inf_game.h | 10 +- include/d/d_drawlist/d_drawlist.h | 1 + include/d/d_kankyo/asm/func_801A5C1C.s | 2 +- include/d/d_kankyo/asm/func_801ADCA4.s | 2 +- include/d/d_kankyo/d_kankyo.h | 27 + .../d_kankyo_wether/d_kankyo_wether.h | 14 + include/d/d_ky/d_kyeff/asm/func_801ADD5C.s | 23 + include/d/d_ky/d_kyeff/asm/func_801ADE00.s | 41 + include/d/d_ky/d_kyeff/d_kyeff.h | 30 + include/d/d_ky/d_kyeff2/d_kyeff2.h | 16 + include/d/d_stage/d_stage.h | 1 + include/gx/GX.h | 89 +- include/m_Do/m_Do_audio/m_Do_audio.h | 8 +- include/m_Do/m_Do_ext/m_Do_ext.h | 2 + include/m_Do/m_Do_graphic/asm/func_80007D9C.s | 44 + include/m_Do/m_Do_graphic/asm/func_80007E44.s | 84 + include/m_Do/m_Do_graphic/asm/func_80007F90.s | 19 + include/m_Do/m_Do_graphic/asm/func_80007FD8.s | 22 + include/m_Do/m_Do_graphic/asm/func_80008028.s | 22 + include/m_Do/m_Do_graphic/asm/func_80008078.s | 10 + include/m_Do/m_Do_graphic/asm/func_800080A0.s | 12 + include/m_Do/m_Do_graphic/asm/func_800080D0.s | 9 + include/m_Do/m_Do_graphic/asm/func_800080F4.s | 143 + include/m_Do/m_Do_graphic/asm/func_80008330.s | 65 + include/m_Do/m_Do_graphic/asm/func_8000841C.s | 1 + include/m_Do/m_Do_graphic/asm/func_80008420.s | 1 + include/m_Do/m_Do_graphic/asm/func_80008424.s | 11 + include/m_Do/m_Do_graphic/asm/func_80008450.s | 9 + include/m_Do/m_Do_graphic/asm/func_80008474.s | 116 + include/m_Do/m_Do_graphic/asm/func_80008630.s | 754 ++++ include/m_Do/m_Do_graphic/asm/func_80009184.s | 16 + include/m_Do/m_Do_graphic/asm/func_800091C0.s | 191 + include/m_Do/m_Do_graphic/asm/func_800094B4.s | 36 + include/m_Do/m_Do_graphic/asm/func_80009544.s | 46 + include/m_Do/m_Do_graphic/asm/func_800095F8.s | 23 + include/m_Do/m_Do_graphic/asm/func_80009650.s | 715 ++++ include/m_Do/m_Do_graphic/asm/func_8000A160.s | 78 + include/m_Do/m_Do_graphic/asm/func_8000A290.s | 160 + include/m_Do/m_Do_graphic/asm/func_8000A504.s | 34 + include/m_Do/m_Do_graphic/asm/func_8000A58C.s | 30 + include/m_Do/m_Do_graphic/asm/func_8000A604.s | 740 ++++ include/m_Do/m_Do_graphic/asm/func_8000B118.s | 25 + include/m_Do/m_Do_graphic/asm/func_8000B174.s | 23 + include/m_Do/m_Do_graphic/asm/func_8000B1D0.s | 5 + include/m_Do/m_Do_graphic/asm/func_8000B1E4.s | 2 + include/m_Do/m_Do_graphic/m_Do_graphic.h | 205 + include/m_Do/m_Do_main/asm/func_8000628C.s | 2 +- include/m_Do/m_Do_main/asm/func_80006454.s | 2 +- include/m_Do/m_Do_printf/asm/func_80006798.s | 12 + include/m_Do/m_Do_printf/asm/func_800067C8.s | 11 + include/m_Do/m_Do_printf/asm/func_800067F4.s | 8 + include/m_Do/m_Do_printf/asm/func_80006814.s | 33 + include/m_Do/m_Do_printf/asm/func_80006894.s | 3 + include/m_Do/m_Do_printf/asm/func_800068A0.s | 3 + include/m_Do/m_Do_printf/asm/func_800068AC.s | 3 + include/m_Do/m_Do_printf/asm/func_800068B8.s | 3 + include/m_Do/m_Do_printf/asm/func_800068C4.s | 6 + include/m_Do/m_Do_printf/asm/func_800068DC.s | 35 + include/m_Do/m_Do_printf/asm/func_80006964.s | 8 + include/m_Do/m_Do_printf/asm/func_80006984.s | 39 + include/m_Do/m_Do_printf/asm/func_80006A10.s | 39 + include/m_Do/m_Do_printf/asm/func_80006A9C.s | 8 + include/m_Do/m_Do_printf/asm/func_80006ABC.s | 33 + include/m_Do/m_Do_printf/asm/func_80006B3C.s | 53 + include/m_Do/m_Do_printf/asm/func_80006C0C.s | 58 + include/m_Do/m_Do_printf/asm/func_80006CEC.s | 58 + include/m_Do/m_Do_printf/asm/func_80006DCC.s | 46 + include/m_Do/m_Do_printf/asm/func_80006E7C.s | 82 + include/m_Do/m_Do_printf/m_Do_printf.h | 83 + include/os/OS.h | 19 +- include/variables.h | 7 +- ldscript.lcf | 19 + libs/Z2AudioLib/Z2AudioMgr.cpp | 1 + libs/Z2AudioLib/Z2EnvSeMgr.cpp | 10 +- obj_files.mk | 9 +- src/d/d_a/d_a_alink.cpp | 2 + src/d/d_camera.cpp | 1 + src/d/d_com/d_com_inf_game.cpp | 1 + src/d/d_kankyo.cpp | 6 +- src/d/d_kankyo/d_kankyo_data.cpp | 1 + src/d/d_kankyo/d_kankyo_rain.cpp | 1 + src/d/d_kankyo/d_kankyo_wether.cpp | 18 +- src/d/d_ky/d_kyeff.cpp | 82 +- src/d/d_ky/d_kyeff2.cpp | 31 +- src/m_Do/m_Do_ext.cpp | 7 +- src/m_Do/m_Do_graphic.cpp | 224 +- src/m_Do/m_Do_printf.cpp | 132 +- tools/splitter/{parser.py => asm_parser.py} | 0 tools/splitter/split.py | 2 +- 108 files changed, 5134 insertions(+), 4349 deletions(-) delete mode 100644 asm/d/d_kyeff.s delete mode 100644 asm/d/d_kyeff2.s delete mode 100644 asm/m/Do/m_Do_graphic.s delete mode 100644 asm/m/Do/m_Do_printf.s create mode 100644 include/d/d_kankyo/d_kankyo.h create mode 100644 include/d/d_kankyo/d_kankyo_wether/d_kankyo_wether.h create mode 100644 include/d/d_ky/d_kyeff/asm/func_801ADD5C.s create mode 100644 include/d/d_ky/d_kyeff/asm/func_801ADE00.s create mode 100644 include/d/d_ky/d_kyeff/d_kyeff.h create mode 100644 include/d/d_ky/d_kyeff2/d_kyeff2.h create mode 100644 include/m_Do/m_Do_graphic/asm/func_80007D9C.s create mode 100644 include/m_Do/m_Do_graphic/asm/func_80007E44.s create mode 100644 include/m_Do/m_Do_graphic/asm/func_80007F90.s create mode 100644 include/m_Do/m_Do_graphic/asm/func_80007FD8.s create mode 100644 include/m_Do/m_Do_graphic/asm/func_80008028.s create mode 100644 include/m_Do/m_Do_graphic/asm/func_80008078.s create mode 100644 include/m_Do/m_Do_graphic/asm/func_800080A0.s create mode 100644 include/m_Do/m_Do_graphic/asm/func_800080D0.s create mode 100644 include/m_Do/m_Do_graphic/asm/func_800080F4.s create mode 100644 include/m_Do/m_Do_graphic/asm/func_80008330.s create mode 100644 include/m_Do/m_Do_graphic/asm/func_8000841C.s create mode 100644 include/m_Do/m_Do_graphic/asm/func_80008420.s create mode 100644 include/m_Do/m_Do_graphic/asm/func_80008424.s create mode 100644 include/m_Do/m_Do_graphic/asm/func_80008450.s create mode 100644 include/m_Do/m_Do_graphic/asm/func_80008474.s create mode 100644 include/m_Do/m_Do_graphic/asm/func_80008630.s create mode 100644 include/m_Do/m_Do_graphic/asm/func_80009184.s create mode 100644 include/m_Do/m_Do_graphic/asm/func_800091C0.s create mode 100644 include/m_Do/m_Do_graphic/asm/func_800094B4.s create mode 100644 include/m_Do/m_Do_graphic/asm/func_80009544.s create mode 100644 include/m_Do/m_Do_graphic/asm/func_800095F8.s create mode 100644 include/m_Do/m_Do_graphic/asm/func_80009650.s create mode 100644 include/m_Do/m_Do_graphic/asm/func_8000A160.s create mode 100644 include/m_Do/m_Do_graphic/asm/func_8000A290.s create mode 100644 include/m_Do/m_Do_graphic/asm/func_8000A504.s create mode 100644 include/m_Do/m_Do_graphic/asm/func_8000A58C.s create mode 100644 include/m_Do/m_Do_graphic/asm/func_8000A604.s create mode 100644 include/m_Do/m_Do_graphic/asm/func_8000B118.s create mode 100644 include/m_Do/m_Do_graphic/asm/func_8000B174.s create mode 100644 include/m_Do/m_Do_graphic/asm/func_8000B1D0.s create mode 100644 include/m_Do/m_Do_graphic/asm/func_8000B1E4.s create mode 100644 include/m_Do/m_Do_printf/asm/func_80006798.s create mode 100644 include/m_Do/m_Do_printf/asm/func_800067C8.s create mode 100644 include/m_Do/m_Do_printf/asm/func_800067F4.s create mode 100644 include/m_Do/m_Do_printf/asm/func_80006814.s create mode 100644 include/m_Do/m_Do_printf/asm/func_80006894.s create mode 100644 include/m_Do/m_Do_printf/asm/func_800068A0.s create mode 100644 include/m_Do/m_Do_printf/asm/func_800068AC.s create mode 100644 include/m_Do/m_Do_printf/asm/func_800068B8.s create mode 100644 include/m_Do/m_Do_printf/asm/func_800068C4.s create mode 100644 include/m_Do/m_Do_printf/asm/func_800068DC.s create mode 100644 include/m_Do/m_Do_printf/asm/func_80006964.s create mode 100644 include/m_Do/m_Do_printf/asm/func_80006984.s create mode 100644 include/m_Do/m_Do_printf/asm/func_80006A10.s create mode 100644 include/m_Do/m_Do_printf/asm/func_80006A9C.s create mode 100644 include/m_Do/m_Do_printf/asm/func_80006ABC.s create mode 100644 include/m_Do/m_Do_printf/asm/func_80006B3C.s create mode 100644 include/m_Do/m_Do_printf/asm/func_80006C0C.s create mode 100644 include/m_Do/m_Do_printf/asm/func_80006CEC.s create mode 100644 include/m_Do/m_Do_printf/asm/func_80006DCC.s create mode 100644 include/m_Do/m_Do_printf/asm/func_80006E7C.s create mode 100644 include/m_Do/m_Do_printf/m_Do_printf.h rename tools/splitter/{parser.py => asm_parser.py} (100%) diff --git a/asm/clib.s b/asm/clib.s index fb1772f1d93..8f79197f1eb 100644 --- a/asm/clib.s +++ b/asm/clib.s @@ -4173,8 +4173,8 @@ func_803651A4: /* 803651D0 00362110 90 03 00 34 */ stw r0, 0x34(r3) /* 803651D4 00362114 4E 80 00 20 */ blr -.global func_803651D8 -func_803651D8: +.global fputs +fputs: /* 803651D8 00362118 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803651DC 0036211C 7C 08 02 A6 */ mflr r0 /* 803651E0 00362120 90 01 00 24 */ stw r0, 0x24(r1) @@ -5778,8 +5778,8 @@ lbl_803666EC: /* 803666FC 0036363C 38 21 00 20 */ addi r1, r1, 0x20 /* 80366700 00363640 4E 80 00 20 */ blr -.global func_80366704 -func_80366704: +.global vprintf +vprintf: /* 80366704 00363644 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80366708 00363648 7C 08 02 A6 */ mflr r0 /* 8036670C 0036364C 3C A0 80 3D */ lis r5, lbl_803D29B0@ha diff --git a/asm/d/d_demo.s b/asm/d/d_demo.s index 4f629dd7cf1..a5fc3a23b11 100644 --- a/asm/d/d_demo.s +++ b/asm/d/d_demo.s @@ -2347,7 +2347,7 @@ lbl_80039E9C: /* 80039EA8 00036DE8 40 82 00 10 */ bne lbl_80039EB8 /* 80039EAC 00036DEC C0 22 83 E8 */ lfs f1, lbl_80451DE8-_SDA2_BASE_(r2) /* 80039EB0 00036DF0 38 6D 80 84 */ addi r3, r13, lbl_80450604-_SDA_BASE_ -/* 80039EB4 00036DF4 4B FC E1 25 */ bl mDoGph_gInf_c_NS_fadeOut +/* 80039EB4 00036DF4 4B FC E1 25 */ bl fadeOut__13mDoGph_gInf_cFfR8_GXColor lbl_80039EB8: /* 80039EB8 00036DF8 88 7F 13 0C */ lbz r3, 0x130c(r31) /* 80039EBC 00036DFC 38 03 00 01 */ addi r0, r3, 1 diff --git a/asm/d/d_drawlist.s b/asm/d/d_drawlist.s index 865a000f99a..527c7bc2336 100644 --- a/asm/d/d_drawlist.s +++ b/asm/d/d_drawlist.s @@ -5106,8 +5106,8 @@ lbl_8005651C: /* 80056530 00053470 38 21 00 20 */ addi r1, r1, 0x20 /* 80056534 00053474 4E 80 00 20 */ blr -.global dDlst_list_c_NS_reset -dDlst_list_c_NS_reset: +.global reset__12dDlst_list_cFv +reset__12dDlst_list_cFv: /* 80056538 00053478 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8005653C 0005347C 7C 08 02 A6 */ mflr r0 /* 80056540 00053480 90 01 00 24 */ stw r0, 0x24(r1) diff --git a/asm/d/d_event.s b/asm/d/d_event.s index d3ff037083b..a90ce415bf5 100644 --- a/asm/d/d_event.s +++ b/asm/d/d_event.s @@ -1607,7 +1607,7 @@ lbl_80042A1C: /* 80042A50 0003F990 2C 00 00 00 */ cmpwi r0, 0 /* 80042A54 0003F994 41 82 00 1C */ beq lbl_80042A70 /* 80042A58 0003F998 C0 22 84 C4 */ lfs f1, lbl_80451EC4-_SDA2_BASE_(r2) -/* 80042A5C 0003F99C 4B FC 56 75 */ bl mDoGph_gInf_c_NS_fadeOut_X1_ +/* 80042A5C 0003F99C 4B FC 56 75 */ bl fadeOut__13mDoGph_gInf_cFf /* 80042A60 0003F9A0 48 00 00 10 */ b lbl_80042A70 lbl_80042A64: /* 80042A64 0003F9A4 40 82 00 0C */ bne lbl_80042A70 @@ -1799,7 +1799,7 @@ lbl_80042CF8: /* 80042CFC 0003FC3C 2C 00 00 00 */ cmpwi r0, 0 /* 80042D00 0003FC40 41 82 00 0C */ beq lbl_80042D0C /* 80042D04 0003FC44 C0 22 84 C8 */ lfs f1, lbl_80451EC8-_SDA2_BASE_(r2) -/* 80042D08 0003FC48 4B FC 53 C9 */ bl mDoGph_gInf_c_NS_fadeOut_X1_ +/* 80042D08 0003FC48 4B FC 53 C9 */ bl fadeOut__13mDoGph_gInf_cFf lbl_80042D0C: /* 80042D0C 0003FC4C A0 1D 00 DA */ lhz r0, 0xda(r29) /* 80042D10 0003FC50 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d diff --git a/asm/d/d_kyeff.s b/asm/d/d_kyeff.s deleted file mode 100644 index f473a35823c..00000000000 --- a/asm/d/d_kyeff.s +++ /dev/null @@ -1,100 +0,0 @@ -.include "macros.inc" - -.section .text, "ax" # 801add38 - - -/* 801ADD38 001AAC78 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801ADD3C 001AAC7C 7C 08 02 A6 */ mflr r0 -/* 801ADD40 001AAC80 90 01 00 14 */ stw r0, 0x14(r1) -/* 801ADD44 001AAC84 4B EA C4 31 */ bl dKyw_wether_draw -/* 801ADD48 001AAC88 38 60 00 01 */ li r3, 1 -/* 801ADD4C 001AAC8C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801ADD50 001AAC90 7C 08 03 A6 */ mtlr r0 -/* 801ADD54 001AAC94 38 21 00 10 */ addi r1, r1, 0x10 -/* 801ADD58 001AAC98 4E 80 00 20 */ blr - -.global dKyeff_c_NS_execute -dKyeff_c_NS_execute: -/* 801ADD5C 001AAC9C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801ADD60 001AACA0 7C 08 02 A6 */ mflr r0 -/* 801ADD64 001AACA4 90 01 00 14 */ stw r0, 0x14(r1) -/* 801ADD68 001AACA8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha -/* 801ADD6C 001AACAC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l -/* 801ADD70 001AACB0 38 63 4E 00 */ addi r3, r3, 0x4e00 -/* 801ADD74 001AACB4 3C 80 80 39 */ lis r4, lbl_80394F38@ha -/* 801ADD78 001AACB8 38 84 4F 38 */ addi r4, r4, lbl_80394F38@l -/* 801ADD7C 001AACBC 48 1B AC 19 */ bl strcmp -/* 801ADD80 001AACC0 2C 03 00 00 */ cmpwi r3, 0 -/* 801ADD84 001AACC4 41 82 00 08 */ beq lbl_801ADD8C -/* 801ADD88 001AACC8 4B EA A5 71 */ bl dKyw_wether_move -lbl_801ADD8C: -/* 801ADD8C 001AACCC 4B EA C3 2D */ bl dKyw_wether_move_draw -/* 801ADD90 001AACD0 4B FE FF BD */ bl dKy_FiveSenses_fullthrottle_dark -/* 801ADD94 001AACD4 3C 60 80 43 */ lis r3, lbl_8042DD70@ha -/* 801ADD98 001AACD8 38 63 DD 70 */ addi r3, r3, lbl_8042DD70@l -/* 801ADD9C 001AACDC 48 11 89 15 */ bl Z2EnvSeMgr_NS_framework -/* 801ADDA0 001AACE0 38 60 00 01 */ li r3, 1 -/* 801ADDA4 001AACE4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801ADDA8 001AACE8 7C 08 03 A6 */ mtlr r0 -/* 801ADDAC 001AACEC 38 21 00 10 */ addi r1, r1, 0x10 -/* 801ADDB0 001AACF0 4E 80 00 20 */ blr -/* 801ADDB4 001AACF4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801ADDB8 001AACF8 7C 08 02 A6 */ mflr r0 -/* 801ADDBC 001AACFC 90 01 00 14 */ stw r0, 0x14(r1) -/* 801ADDC0 001AAD00 4B FF FF 9D */ bl dKyeff_c_NS_execute -/* 801ADDC4 001AAD04 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801ADDC8 001AAD08 7C 08 03 A6 */ mtlr r0 -/* 801ADDCC 001AAD0C 38 21 00 10 */ addi r1, r1, 0x10 -/* 801ADDD0 001AAD10 4E 80 00 20 */ blr -/* 801ADDD4 001AAD14 38 60 00 01 */ li r3, 1 -/* 801ADDD8 001AAD18 4E 80 00 20 */ blr -/* 801ADDDC 001AAD1C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801ADDE0 001AAD20 7C 08 02 A6 */ mflr r0 -/* 801ADDE4 001AAD24 90 01 00 14 */ stw r0, 0x14(r1) -/* 801ADDE8 001AAD28 4B EA 9C 1D */ bl dKyw_wether_delete -/* 801ADDEC 001AAD2C 38 60 00 01 */ li r3, 1 -/* 801ADDF0 001AAD30 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801ADDF4 001AAD34 7C 08 03 A6 */ mtlr r0 -/* 801ADDF8 001AAD38 38 21 00 10 */ addi r1, r1, 0x10 -/* 801ADDFC 001AAD3C 4E 80 00 20 */ blr -/* 801ADE00 001AAD40 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 801ADE04 001AAD44 7C 08 02 A6 */ mflr r0 -/* 801ADE08 001AAD48 90 01 00 44 */ stw r0, 0x44(r1) -/* 801ADE0C 001AAD4C 4B EA 96 D5 */ bl dKyw_wether_init -/* 801ADE10 001AAD50 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha -/* 801ADE14 001AAD54 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l -/* 801ADE18 001AAD58 38 63 4E 00 */ addi r3, r3, 0x4e00 -/* 801ADE1C 001AAD5C 3C 80 80 39 */ lis r4, lbl_80394F38@ha -/* 801ADE20 001AAD60 38 84 4F 38 */ addi r4, r4, lbl_80394F38@l -/* 801ADE24 001AAD64 48 1B AB 71 */ bl strcmp -/* 801ADE28 001AAD68 2C 03 00 00 */ cmpwi r3, 0 -/* 801ADE2C 001AAD6C 40 82 00 60 */ bne lbl_801ADE8C -/* 801ADE30 001AAD70 48 19 48 CD */ bl OSGetTime -/* 801ADE34 001AAD74 38 A1 00 08 */ addi r5, r1, 8 -/* 801ADE38 001AAD78 48 19 4B 3D */ bl OSTicksToCalendarTime -/* 801ADE3C 001AAD7C C0 02 A4 5C */ lfs f0, lbl_80453E5C-_SDA2_BASE_(r2) -/* 801ADE40 001AAD80 3C 60 80 43 */ lis r3, lbl_8042CA54@ha -/* 801ADE44 001AAD84 38 63 CA 54 */ addi r3, r3, lbl_8042CA54@l -/* 801ADE48 001AAD88 D0 03 0E 48 */ stfs f0, 0xe48(r3) -/* 801ADE4C 001AAD8C C0 02 A4 58 */ lfs f0, lbl_80453E58-_SDA2_BASE_(r2) -/* 801ADE50 001AAD90 D0 03 0E 4C */ stfs f0, 0xe4c(r3) -/* 801ADE54 001AAD94 D0 03 0E 50 */ stfs f0, 0xe50(r3) -/* 801ADE58 001AAD98 C0 02 A4 68 */ lfs f0, lbl_80453E68-_SDA2_BASE_(r2) -/* 801ADE5C 001AAD9C D0 03 0E 58 */ stfs f0, 0xe58(r3) -/* 801ADE60 001AADA0 C0 42 A4 6C */ lfs f2, lbl_80453E6C-_SDA2_BASE_(r2) -/* 801ADE64 001AADA4 80 01 00 10 */ lwz r0, 0x10(r1) -/* 801ADE68 001AADA8 C8 22 A4 60 */ lfd f1, lbl_80453E60-_SDA2_BASE_(r2) -/* 801ADE6C 001AADAC 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 801ADE70 001AADB0 90 01 00 34 */ stw r0, 0x34(r1) -/* 801ADE74 001AADB4 3C 00 43 30 */ lis r0, 0x4330 -/* 801ADE78 001AADB8 90 01 00 30 */ stw r0, 0x30(r1) -/* 801ADE7C 001AADBC C8 01 00 30 */ lfd f0, 0x30(r1) -/* 801ADE80 001AADC0 EC 00 08 28 */ fsubs f0, f0, f1 -/* 801ADE84 001AADC4 EC 02 00 32 */ fmuls f0, f2, f0 -/* 801ADE88 001AADC8 D0 03 12 44 */ stfs f0, 0x1244(r3) -lbl_801ADE8C: -/* 801ADE8C 001AADCC 38 60 00 04 */ li r3, 4 -/* 801ADE90 001AADD0 80 01 00 44 */ lwz r0, 0x44(r1) -/* 801ADE94 001AADD4 7C 08 03 A6 */ mtlr r0 -/* 801ADE98 001AADD8 38 21 00 40 */ addi r1, r1, 0x40 -/* 801ADE9C 001AADDC 4E 80 00 20 */ blr diff --git a/asm/d/d_kyeff2.s b/asm/d/d_kyeff2.s deleted file mode 100644 index d3ad333503a..00000000000 --- a/asm/d/d_kyeff2.s +++ /dev/null @@ -1,55 +0,0 @@ -.include "macros.inc" - -.section .text, "ax" # 801adea0 - - -/* 801ADEA0 001AADE0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801ADEA4 001AADE4 7C 08 02 A6 */ mflr r0 -/* 801ADEA8 001AADE8 90 01 00 14 */ stw r0, 0x14(r1) -/* 801ADEAC 001AADEC 4B EA C4 59 */ bl dKyw_wether_draw2 -/* 801ADEB0 001AADF0 38 60 00 01 */ li r3, 1 -/* 801ADEB4 001AADF4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801ADEB8 001AADF8 7C 08 03 A6 */ mtlr r0 -/* 801ADEBC 001AADFC 38 21 00 10 */ addi r1, r1, 0x10 -/* 801ADEC0 001AAE00 4E 80 00 20 */ blr - -.global dKyeff2_c_NS_execute -dKyeff2_c_NS_execute: -/* 801ADEC4 001AAE04 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801ADEC8 001AAE08 7C 08 02 A6 */ mflr r0 -/* 801ADECC 001AAE0C 90 01 00 14 */ stw r0, 0x14(r1) -/* 801ADED0 001AAE10 4B EA C2 85 */ bl dKyw_wether_move_draw2 -/* 801ADED4 001AAE14 38 60 00 01 */ li r3, 1 -/* 801ADED8 001AAE18 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801ADEDC 001AAE1C 7C 08 03 A6 */ mtlr r0 -/* 801ADEE0 001AAE20 38 21 00 10 */ addi r1, r1, 0x10 -/* 801ADEE4 001AAE24 4E 80 00 20 */ blr -/* 801ADEE8 001AAE28 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801ADEEC 001AAE2C 7C 08 02 A6 */ mflr r0 -/* 801ADEF0 001AAE30 90 01 00 14 */ stw r0, 0x14(r1) -/* 801ADEF4 001AAE34 4B FF FF D1 */ bl dKyeff2_c_NS_execute -/* 801ADEF8 001AAE38 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801ADEFC 001AAE3C 7C 08 03 A6 */ mtlr r0 -/* 801ADF00 001AAE40 38 21 00 10 */ addi r1, r1, 0x10 -/* 801ADF04 001AAE44 4E 80 00 20 */ blr -/* 801ADF08 001AAE48 38 60 00 01 */ li r3, 1 -/* 801ADF0C 001AAE4C 4E 80 00 20 */ blr -/* 801ADF10 001AAE50 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801ADF14 001AAE54 7C 08 02 A6 */ mflr r0 -/* 801ADF18 001AAE58 90 01 00 14 */ stw r0, 0x14(r1) -/* 801ADF1C 001AAE5C 4B EA A2 91 */ bl dKyw_wether_delete2 -/* 801ADF20 001AAE60 38 60 00 01 */ li r3, 1 -/* 801ADF24 001AAE64 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801ADF28 001AAE68 7C 08 03 A6 */ mtlr r0 -/* 801ADF2C 001AAE6C 38 21 00 10 */ addi r1, r1, 0x10 -/* 801ADF30 001AAE70 4E 80 00 20 */ blr -/* 801ADF34 001AAE74 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801ADF38 001AAE78 7C 08 02 A6 */ mflr r0 -/* 801ADF3C 001AAE7C 90 01 00 14 */ stw r0, 0x14(r1) -/* 801ADF40 001AAE80 4B EA 9A AD */ bl dKyw_wether_init2 -/* 801ADF44 001AAE84 38 60 00 04 */ li r3, 4 -/* 801ADF48 001AAE88 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801ADF4C 001AAE8C 7C 08 03 A6 */ mtlr r0 -/* 801ADF50 001AAE90 38 21 00 10 */ addi r1, r1, 0x10 -/* 801ADF54 001AAE94 4E 80 00 20 */ blr - diff --git a/asm/d/error/d_error_msg.s b/asm/d/error/d_error_msg.s index 684b61f05e1..65b5000947d 100644 --- a/asm/d/error/d_error_msg.s +++ b/asm/d/error/d_error_msg.s @@ -441,7 +441,7 @@ dDvdErrorMsg_c_NS_draw: /* 8009D1F0 0009A130 98 03 00 0A */ stb r0, 0xa(r3) /* 8009D1F4 0009A134 88 01 00 0F */ lbz r0, 0xf(r1) /* 8009D1F8 0009A138 98 03 00 0B */ stb r0, 0xb(r3) -/* 8009D1FC 0009A13C 4B F6 AD 95 */ bl mDoGph_gInf_c_NS_beginRender +/* 8009D1FC 0009A13C 4B F6 AD 95 */ bl beginRender__13mDoGph_gInf_cFv /* 8009D200 0009A140 38 60 00 00 */ li r3, 0 /* 8009D204 0009A144 48 2C 2A 6D */ bl GXSetAlphaUpdate /* 8009D208 0009A148 3C 60 80 43 */ lis r3, lbl_80434AC8@ha @@ -645,7 +645,7 @@ lbl_8009D48C: /* 8009D4D4 0009A414 98 03 00 0A */ stb r0, 0xa(r3) /* 8009D4D8 0009A418 88 01 00 0F */ lbz r0, 0xf(r1) /* 8009D4DC 0009A41C 98 03 00 0B */ stb r0, 0xb(r3) -/* 8009D4E0 0009A420 4B F6 AA B1 */ bl mDoGph_gInf_c_NS_beginRender +/* 8009D4E0 0009A420 4B F6 AA B1 */ bl beginRender__13mDoGph_gInf_cFv /* 8009D4E4 0009A424 38 60 00 00 */ li r3, 0 /* 8009D4E8 0009A428 48 2C 27 89 */ bl GXSetAlphaUpdate /* 8009D4EC 0009A42C 3C 60 80 43 */ lis r3, lbl_80434AC8@ha @@ -803,7 +803,7 @@ lbl_8009D48C: /* 8009D74C 0009A68C 48 2B DE 79 */ bl GXSetVtxAttrFmt /* 8009D750 0009A690 38 60 00 01 */ li r3, 1 /* 8009D754 0009A694 38 80 00 01 */ li r4, 1 -/* 8009D758 0009A698 4B F6 BD 5D */ bl mDoGph_drawFilterQuad +/* 8009D758 0009A698 4B F6 BD 5D */ bl mDoGph_drawFilterQuad__FScSc /* 8009D75C 0009A69C 80 6D 8C 40 */ lwz r3, lbl_804511C0-_SDA_BASE_(r13) /* 8009D760 0009A6A0 81 83 00 00 */ lwz r12, 0(r3) /* 8009D764 0009A6A4 81 8C 00 0C */ lwz r12, 0xc(r12) diff --git a/asm/d/event/d_event_data.s b/asm/d/event/d_event_data.s index 08ea9fdf788..22eed6ca812 100644 --- a/asm/d/event/d_event_data.s +++ b/asm/d/event/d_event_data.s @@ -2026,11 +2026,11 @@ lbl_80045330: /* 80045354 00042294 98 01 00 0F */ stb r0, 0xf(r1) /* 80045358 00042298 C0 39 00 00 */ lfs f1, 0(r25) /* 8004535C 0004229C 38 61 00 0C */ addi r3, r1, 0xc -/* 80045360 000422A0 4B FC 2C 79 */ bl mDoGph_gInf_c_NS_fadeOut +/* 80045360 000422A0 4B FC 2C 79 */ bl fadeOut__13mDoGph_gInf_cFfR8_GXColor /* 80045364 000422A4 48 00 03 40 */ b lbl_800456A4 lbl_80045368: /* 80045368 000422A8 C0 39 00 00 */ lfs f1, 0(r25) -/* 8004536C 000422AC 4B FC 2D 65 */ bl mDoGph_gInf_c_NS_fadeOut_X1_ +/* 8004536C 000422AC 4B FC 2D 65 */ bl fadeOut__13mDoGph_gInf_cFf /* 80045370 000422B0 48 00 03 34 */ b lbl_800456A4 lbl_80045374: /* 80045374 000422B4 7F A3 EB 78 */ mr r3, r29 diff --git a/asm/d/msg/d_msg_flow.s b/asm/d/msg/d_msg_flow.s index b070316684e..3aaf7250ace 100644 --- a/asm/d/msg/d_msg_flow.s +++ b/asm/d/msg/d_msg_flow.s @@ -3863,7 +3863,7 @@ lbl_8024D670: /* 8024D68C 0024A5CC EC 02 00 24 */ fdivs f0, f2, f0 /* 8024D690 0024A5D0 FC 20 00 50 */ fneg f1, f0 /* 8024D694 0024A5D4 38 61 00 0C */ addi r3, r1, 0xc -/* 8024D698 0024A5D8 4B DB A9 41 */ bl mDoGph_gInf_c_NS_fadeOut +/* 8024D698 0024A5D8 4B DB A9 41 */ bl fadeOut__13mDoGph_gInf_cFfR8_GXColor lbl_8024D69C: /* 8024D69C 0024A5DC 38 7F 00 3C */ addi r3, r31, 0x3c /* 8024D6A0 0024A5E0 48 00 04 11 */ bl cLib_calcTimer_X3_ @@ -3917,7 +3917,7 @@ lbl_8024D740: /* 8024D758 0024A698 EC 00 08 28 */ fsubs f0, f0, f1 /* 8024D75C 0024A69C EC 22 00 24 */ fdivs f1, f2, f0 /* 8024D760 0024A6A0 38 61 00 0C */ addi r3, r1, 0xc -/* 8024D764 0024A6A4 4B DB A8 75 */ bl mDoGph_gInf_c_NS_fadeOut +/* 8024D764 0024A6A4 4B DB A8 75 */ bl fadeOut__13mDoGph_gInf_cFfR8_GXColor lbl_8024D768: /* 8024D768 0024A6A8 38 7F 00 3C */ addi r3, r31, 0x3c /* 8024D76C 0024A6AC 48 00 03 45 */ bl cLib_calcTimer_X3_ diff --git a/asm/d/s/d_s_play.s b/asm/d/s/d_s_play.s index 014fe7b2e44..adc10a6f1ea 100644 --- a/asm/d/s/d_s_play.s +++ b/asm/d/s/d_s_play.s @@ -396,7 +396,7 @@ lbl_80259868: /* 8025999C 002568DC 4B E4 2E C9 */ bl dMdl_mng_c_NS_remove /* 802599A0 002568E0 3C 60 80 3E */ lis r3, lbl_803DD428@ha /* 802599A4 002568E4 38 63 D4 28 */ addi r3, r3, lbl_803DD428@l -/* 802599A8 002568E8 4B DA FC 51 */ bl mDoGph_gInf_c_NS_bloom_c_NS_remove +/* 802599A8 002568E8 4B DA FC 51 */ bl remove__Q213mDoGph_gInf_c7bloom_cFv /* 802599AC 002568EC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 802599B0 002568F0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 802599B4 002568F4 3B C0 00 00 */ li r30, 0 diff --git a/asm/m/Do/m_Do_graphic.s b/asm/m/Do/m_Do_graphic.s deleted file mode 100644 index 865d99c6c9c..00000000000 --- a/asm/m/Do/m_Do_graphic.s +++ /dev/null @@ -1,3517 +0,0 @@ -.include "macros.inc" - -.section .text, "ax" # 80007d9c - - -.global createTimg -createTimg: -/* 80007D9C 00004CDC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80007DA0 00004CE0 7C 08 02 A6 */ mflr r0 -/* 80007DA4 00004CE4 90 01 00 24 */ stw r0, 0x24(r1) -/* 80007DA8 00004CE8 39 61 00 20 */ addi r11, r1, 0x20 -/* 80007DAC 00004CEC 48 35 A4 29 */ bl _savegpr_27 -/* 80007DB0 00004CF0 7C 7B 1B 78 */ mr r27, r3 -/* 80007DB4 00004CF4 7C 9C 23 78 */ mr r28, r4 -/* 80007DB8 00004CF8 7C BD 2B 78 */ mr r29, r5 -/* 80007DBC 00004CFC 38 C0 00 00 */ li r6, 0 -/* 80007DC0 00004D00 38 E0 00 00 */ li r7, 0 -/* 80007DC4 00004D04 48 35 5E 59 */ bl GXGetTexBufferSize -/* 80007DC8 00004D08 3B E3 00 20 */ addi r31, r3, 0x20 -/* 80007DCC 00004D0C 7F E3 FB 78 */ mr r3, r31 -/* 80007DD0 00004D10 38 80 00 20 */ li r4, 0x20 -/* 80007DD4 00004D14 38 A0 00 00 */ li r5, 0 -/* 80007DD8 00004D18 48 2C 66 9D */ bl alloc__7JKRHeapFUliP7JKRHeap -/* 80007DDC 00004D1C 7C 60 1B 78 */ mr r0, r3 -/* 80007DE0 00004D20 7C 1E 03 79 */ or. r30, r0, r0 -/* 80007DE4 00004D24 40 82 00 0C */ bne lbl_80007DF0 -/* 80007DE8 00004D28 38 60 00 00 */ li r3, 0 -/* 80007DEC 00004D2C 48 00 00 40 */ b lbl_80007E2C -lbl_80007DF0: -/* 80007DF0 00004D30 38 80 00 00 */ li r4, 0 -/* 80007DF4 00004D34 7F E5 FB 78 */ mr r5, r31 -/* 80007DF8 00004D38 48 26 7B 65 */ bl cLib_memSet__FPviUl -/* 80007DFC 00004D3C 9B BE 00 00 */ stb r29, 0(r30) -/* 80007E00 00004D40 38 00 00 00 */ li r0, 0 -/* 80007E04 00004D44 98 1E 00 01 */ stb r0, 1(r30) -/* 80007E08 00004D48 B3 7E 00 02 */ sth r27, 2(r30) -/* 80007E0C 00004D4C B3 9E 00 04 */ sth r28, 4(r30) -/* 80007E10 00004D50 38 00 00 01 */ li r0, 1 -/* 80007E14 00004D54 98 1E 00 14 */ stb r0, 0x14(r30) -/* 80007E18 00004D58 98 1E 00 15 */ stb r0, 0x15(r30) -/* 80007E1C 00004D5C 98 1E 00 18 */ stb r0, 0x18(r30) -/* 80007E20 00004D60 38 00 00 20 */ li r0, 0x20 -/* 80007E24 00004D64 90 1E 00 1C */ stw r0, 0x1c(r30) -/* 80007E28 00004D68 7F C3 F3 78 */ mr r3, r30 -lbl_80007E2C: -/* 80007E2C 00004D6C 39 61 00 20 */ addi r11, r1, 0x20 -/* 80007E30 00004D70 48 35 A3 F1 */ bl _restgpr_27 -/* 80007E34 00004D74 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80007E38 00004D78 7C 08 03 A6 */ mtlr r0 -/* 80007E3C 00004D7C 38 21 00 20 */ addi r1, r1, 0x20 -/* 80007E40 00004D80 4E 80 00 20 */ blr - -.global mDoGph_gInf_c_NS_create -mDoGph_gInf_c_NS_create: -/* 80007E44 00004D84 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80007E48 00004D88 7C 08 02 A6 */ mflr r0 -/* 80007E4C 00004D8C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80007E50 00004D90 38 60 00 00 */ li r3, 0 -/* 80007E54 00004D94 80 8D 8D F4 */ lwz r4, sCurrentHeap__7JKRHeap-_SDA_BASE_(r13) -/* 80007E58 00004D98 38 A0 00 02 */ li r5, 2 -/* 80007E5C 00004D9C 38 C0 00 01 */ li r6, 1 -/* 80007E60 00004DA0 48 26 A3 7D */ bl JFWDisplay_NS_createManager -/* 80007E64 00004DA4 38 00 00 01 */ li r0, 1 -/* 80007E68 00004DA8 80 6D 8C 40 */ lwz r3, lbl_804511C0-_SDA_BASE_(r13) -/* 80007E6C 00004DAC 90 03 00 18 */ stw r0, 0x18(r3) -/* 80007E70 00004DB0 38 60 00 28 */ li r3, 0x28 -/* 80007E74 00004DB4 48 2C 6D D9 */ bl __nw__FUl -/* 80007E78 00004DB8 7C 60 1B 79 */ or. r0, r3, r3 -/* 80007E7C 00004DBC 41 82 00 44 */ beq lbl_80007EC0 -/* 80007E80 00004DC0 38 00 00 00 */ li r0, 0 -/* 80007E84 00004DC4 98 01 00 08 */ stb r0, 8(r1) -/* 80007E88 00004DC8 98 01 00 09 */ stb r0, 9(r1) -/* 80007E8C 00004DCC 98 01 00 0A */ stb r0, 0xa(r1) -/* 80007E90 00004DD0 98 01 00 0B */ stb r0, 0xb(r1) -/* 80007E94 00004DD4 80 01 00 08 */ lwz r0, 8(r1) -/* 80007E98 00004DD8 90 01 00 0C */ stw r0, 0xc(r1) -/* 80007E9C 00004DDC 80 8D 8F B8 */ lwz r4, lbl_80451538-_SDA_BASE_(r13) -/* 80007EA0 00004DE0 80 E4 00 04 */ lwz r7, 4(r4) -/* 80007EA4 00004DE4 38 80 00 00 */ li r4, 0 -/* 80007EA8 00004DE8 38 A0 00 00 */ li r5, 0 -/* 80007EAC 00004DEC A0 C7 00 04 */ lhz r6, 4(r7) -/* 80007EB0 00004DF0 A0 E7 00 06 */ lhz r7, 6(r7) -/* 80007EB4 00004DF4 39 01 00 0C */ addi r8, r1, 0xc -/* 80007EB8 00004DF8 48 2D D6 79 */ bl JUTFader -/* 80007EBC 00004DFC 7C 60 1B 78 */ mr r0, r3 -lbl_80007EC0: -/* 80007EC0 00004E00 80 6D 8C 40 */ lwz r3, lbl_804511C0-_SDA_BASE_(r13) -/* 80007EC4 00004E04 90 03 00 04 */ stw r0, 4(r3) -/* 80007EC8 00004E08 90 0D 86 48 */ stw r0, lbl_80450BC8-_SDA_BASE_(r13) -/* 80007ECC 00004E0C 80 6D 8C 40 */ lwz r3, lbl_804511C0-_SDA_BASE_(r13) -/* 80007ED0 00004E10 90 03 00 04 */ stw r0, 4(r3) -/* 80007ED4 00004E14 38 00 00 00 */ li r0, 0 -/* 80007ED8 00004E18 80 6D 8F D8 */ lwz r3, lbl_80451558-_SDA_BASE_(r13) -/* 80007EDC 00004E1C 98 03 01 30 */ stb r0, 0x130(r3) -/* 80007EE0 00004E20 80 6D 8F D8 */ lwz r3, lbl_80451558-_SDA_BASE_(r13) -/* 80007EE4 00004E24 98 03 01 0C */ stb r0, 0x10c(r3) -/* 80007EE8 00004E28 80 6D 8F 48 */ lwz r3, lbl_804514C8-_SDA_BASE_(r13) -/* 80007EEC 00004E2C 98 03 00 0C */ stb r0, 0xc(r3) -/* 80007EF0 00004E30 38 60 01 30 */ li r3, 0x130 -/* 80007EF4 00004E34 38 80 00 E0 */ li r4, 0xe0 -/* 80007EF8 00004E38 38 A0 00 06 */ li r5, 6 -/* 80007EFC 00004E3C 4B FF FE A1 */ bl createTimg -/* 80007F00 00004E40 90 6D 86 4C */ stw r3, lbl_80450BCC-_SDA_BASE_(r13) -/* 80007F04 00004E44 38 03 00 20 */ addi r0, r3, 0x20 -/* 80007F08 00004E48 90 0D 86 50 */ stw r0, lbl_80450BD0-_SDA_BASE_(r13) -/* 80007F0C 00004E4C 38 60 01 30 */ li r3, 0x130 -/* 80007F10 00004E50 38 80 00 E0 */ li r4, 0xe0 -/* 80007F14 00004E54 38 A0 00 03 */ li r5, 3 -/* 80007F18 00004E58 4B FF FE 85 */ bl createTimg -/* 80007F1C 00004E5C 90 6D 86 54 */ stw r3, lbl_80450BD4-_SDA_BASE_(r13) -/* 80007F20 00004E60 38 03 00 20 */ addi r0, r3, 0x20 -/* 80007F24 00004E64 90 0D 86 58 */ stw r0, lbl_80450BD8-_SDA_BASE_(r13) -/* 80007F28 00004E68 38 60 04 00 */ li r3, 0x400 -/* 80007F2C 00004E6C 48 2E C7 2D */ bl J2DPrint_NS_setBuffer -/* 80007F30 00004E70 38 00 00 00 */ li r0, 0 -/* 80007F34 00004E74 98 0D 86 64 */ stb r0, lbl_80450BE4-_SDA_BASE_(r13) -/* 80007F38 00004E78 98 0D 86 66 */ stb r0, lbl_80450BE6-_SDA_BASE_(r13) -/* 80007F3C 00004E7C 88 0D 80 80 */ lbz r0, lbl_80450600-_SDA_BASE_(r13) -/* 80007F40 00004E80 98 0D 80 10 */ stb r0, lbl_80450590-_SDA_BASE_(r13) -/* 80007F44 00004E84 38 8D 80 80 */ addi r4, r13, lbl_80450600-_SDA_BASE_ -/* 80007F48 00004E88 88 A4 00 01 */ lbz r5, 1(r4) -/* 80007F4C 00004E8C 38 6D 80 10 */ addi r3, r13, lbl_80450590-_SDA_BASE_ -/* 80007F50 00004E90 98 A3 00 01 */ stb r5, 1(r3) -/* 80007F54 00004E94 88 C4 00 02 */ lbz r6, 2(r4) -/* 80007F58 00004E98 98 C3 00 02 */ stb r6, 2(r3) -/* 80007F5C 00004E9C 88 84 00 03 */ lbz r4, 3(r4) -/* 80007F60 00004EA0 98 83 00 03 */ stb r4, 3(r3) -/* 80007F64 00004EA4 98 0D 80 14 */ stb r0, lbl_80450594-_SDA_BASE_(r13) -/* 80007F68 00004EA8 38 6D 80 14 */ addi r3, r13, lbl_80450594-_SDA_BASE_ -/* 80007F6C 00004EAC 98 A3 00 01 */ stb r5, 1(r3) -/* 80007F70 00004EB0 98 C3 00 02 */ stb r6, 2(r3) -/* 80007F74 00004EB4 98 83 00 03 */ stb r4, 3(r3) -/* 80007F78 00004EB8 38 60 00 01 */ li r3, 1 -/* 80007F7C 00004EBC 48 34 58 C5 */ bl VISetBlack -/* 80007F80 00004EC0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80007F84 00004EC4 7C 08 03 A6 */ mtlr r0 -/* 80007F88 00004EC8 38 21 00 10 */ addi r1, r1, 0x10 -/* 80007F8C 00004ECC 4E 80 00 20 */ blr - -.global mDoGph_gInf_c_NS_beginRender -mDoGph_gInf_c_NS_beginRender: -/* 80007F90 00004ED0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80007F94 00004ED4 7C 08 02 A6 */ mflr r0 -/* 80007F98 00004ED8 90 01 00 14 */ stw r0, 0x14(r1) -/* 80007F9C 00004EDC 88 0D 86 68 */ lbz r0, lbl_80450BE8-_SDA_BASE_(r13) -/* 80007FA0 00004EE0 28 00 00 00 */ cmplwi r0, 0 -/* 80007FA4 00004EE4 41 82 00 10 */ beq lbl_80007FB4 -/* 80007FA8 00004EE8 38 00 FF FF */ li r0, -1 -/* 80007FAC 00004EEC 80 6D 8F D0 */ lwz r3, lbl_80451550-_SDA_BASE_(r13) -/* 80007FB0 00004EF0 B0 03 00 14 */ sth r0, 0x14(r3) -lbl_80007FB4: -/* 80007FB4 00004EF4 80 6D 8C 40 */ lwz r3, lbl_804511C0-_SDA_BASE_(r13) -/* 80007FB8 00004EF8 81 83 00 00 */ lwz r12, 0(r3) -/* 80007FBC 00004EFC 81 8C 00 08 */ lwz r12, 8(r12) -/* 80007FC0 00004F00 7D 89 03 A6 */ mtctr r12 -/* 80007FC4 00004F04 4E 80 04 21 */ bctrl -/* 80007FC8 00004F08 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80007FCC 00004F0C 7C 08 03 A6 */ mtlr r0 -/* 80007FD0 00004F10 38 21 00 10 */ addi r1, r1, 0x10 -/* 80007FD4 00004F14 4E 80 00 20 */ blr - -.global mDoGph_gInf_c_NS_fadeOut -mDoGph_gInf_c_NS_fadeOut: -/* 80007FD8 00004F18 38 00 00 01 */ li r0, 1 -/* 80007FDC 00004F1C 98 0D 86 66 */ stb r0, lbl_80450BE6-_SDA_BASE_(r13) -/* 80007FE0 00004F20 D0 2D 86 60 */ stfs f1, lbl_80450BE0-_SDA_BASE_(r13) -/* 80007FE4 00004F24 88 03 00 00 */ lbz r0, 0(r3) -/* 80007FE8 00004F28 98 0D 80 14 */ stb r0, lbl_80450594-_SDA_BASE_(r13) -/* 80007FEC 00004F2C 88 03 00 01 */ lbz r0, 1(r3) -/* 80007FF0 00004F30 38 8D 80 14 */ addi r4, r13, lbl_80450594-_SDA_BASE_ -/* 80007FF4 00004F34 98 04 00 01 */ stb r0, 1(r4) -/* 80007FF8 00004F38 88 03 00 02 */ lbz r0, 2(r3) -/* 80007FFC 00004F3C 98 04 00 02 */ stb r0, 2(r4) -/* 80008000 00004F40 88 03 00 03 */ lbz r0, 3(r3) -/* 80008004 00004F44 98 04 00 03 */ stb r0, 3(r4) -/* 80008008 00004F48 C0 02 80 38 */ lfs f0, lbl_80451A38-_SDA2_BASE_(r2) -/* 8000800C 00004F4C FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80008010 00004F50 4C 41 13 82 */ cror 2, 1, 2 -/* 80008014 00004F54 40 82 00 08 */ bne lbl_8000801C -/* 80008018 00004F58 48 00 00 08 */ b lbl_80008020 -lbl_8000801C: -/* 8000801C 00004F5C C0 02 80 3C */ lfs f0, lbl_80451A3C-_SDA2_BASE_(r2) -lbl_80008020: -/* 80008020 00004F60 D0 0D 86 5C */ stfs f0, lbl_80450BDC-_SDA_BASE_(r13) -/* 80008024 00004F64 4E 80 00 20 */ blr -/* 80008028 00004F68 38 00 00 81 */ li r0, 0x81 -/* 8000802C 00004F6C 98 0D 86 66 */ stb r0, lbl_80450BE6-_SDA_BASE_(r13) -/* 80008030 00004F70 D0 2D 86 60 */ stfs f1, lbl_80450BE0-_SDA_BASE_(r13) -/* 80008034 00004F74 88 03 00 00 */ lbz r0, 0(r3) -/* 80008038 00004F78 98 0D 80 14 */ stb r0, lbl_80450594-_SDA_BASE_(r13) -/* 8000803C 00004F7C 88 03 00 01 */ lbz r0, 1(r3) -/* 80008040 00004F80 38 8D 80 14 */ addi r4, r13, lbl_80450594-_SDA_BASE_ -/* 80008044 00004F84 98 04 00 01 */ stb r0, 1(r4) -/* 80008048 00004F88 88 03 00 02 */ lbz r0, 2(r3) -/* 8000804C 00004F8C 98 04 00 02 */ stb r0, 2(r4) -/* 80008050 00004F90 88 03 00 03 */ lbz r0, 3(r3) -/* 80008054 00004F94 98 04 00 03 */ stb r0, 3(r4) -/* 80008058 00004F98 C0 02 80 38 */ lfs f0, lbl_80451A38-_SDA2_BASE_(r2) -/* 8000805C 00004F9C FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80008060 00004FA0 4C 41 13 82 */ cror 2, 1, 2 -/* 80008064 00004FA4 40 82 00 08 */ bne lbl_8000806C -/* 80008068 00004FA8 48 00 00 08 */ b lbl_80008070 -lbl_8000806C: -/* 8000806C 00004FAC C0 02 80 3C */ lfs f0, lbl_80451A3C-_SDA2_BASE_(r2) -lbl_80008070: -/* 80008070 00004FB0 D0 0D 86 5C */ stfs f0, lbl_80450BDC-_SDA_BASE_(r13) -/* 80008074 00004FB4 4E 80 00 20 */ blr - -.global mDoGph_gInf_c_NS_onBlure -mDoGph_gInf_c_NS_onBlure: -/* 80008078 00004FB8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8000807C 00004FBC 7C 08 02 A6 */ mflr r0 -/* 80008080 00004FC0 90 01 00 14 */ stw r0, 0x14(r1) -/* 80008084 00004FC4 3C 60 80 3A */ lis r3, lbl_803A2FD8@ha -/* 80008088 00004FC8 38 63 2F D8 */ addi r3, r3, lbl_803A2FD8@l -/* 8000808C 00004FCC 48 00 00 15 */ bl mDoGph_gInf_c_NS_onBlure_X1_ -/* 80008090 00004FD0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80008094 00004FD4 7C 08 03 A6 */ mtlr r0 -/* 80008098 00004FD8 38 21 00 10 */ addi r1, r1, 0x10 -/* 8000809C 00004FDC 4E 80 00 20 */ blr - -.global mDoGph_gInf_c_NS_onBlure_X1_ -mDoGph_gInf_c_NS_onBlure_X1_: -/* 800080A0 00004FE0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800080A4 00004FE4 7C 08 02 A6 */ mflr r0 -/* 800080A8 00004FE8 90 01 00 14 */ stw r0, 0x14(r1) -/* 800080AC 00004FEC 38 00 00 01 */ li r0, 1 -/* 800080B0 00004FF0 98 0D 86 64 */ stb r0, lbl_80450BE4-_SDA_BASE_(r13) -/* 800080B4 00004FF4 3C 80 80 3E */ lis r4, lbl_803DD43C@ha -/* 800080B8 00004FF8 38 84 D4 3C */ addi r4, r4, lbl_803DD43C@l -/* 800080BC 00004FFC 48 33 E3 F5 */ bl PSMTXCopy -/* 800080C0 00005000 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800080C4 00005004 7C 08 03 A6 */ mtlr r0 -/* 800080C8 00005008 38 21 00 10 */ addi r1, r1, 0x10 -/* 800080CC 0000500C 4E 80 00 20 */ blr - -.global mDoGph_gInf_c_NS_fadeOut_X1_ -mDoGph_gInf_c_NS_fadeOut_X1_: -/* 800080D0 00005010 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800080D4 00005014 7C 08 02 A6 */ mflr r0 -/* 800080D8 00005018 90 01 00 14 */ stw r0, 0x14(r1) -/* 800080DC 0000501C 38 6D 80 80 */ addi r3, r13, lbl_80450600-_SDA_BASE_ -/* 800080E0 00005020 4B FF FE F9 */ bl mDoGph_gInf_c_NS_fadeOut -/* 800080E4 00005024 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800080E8 00005028 7C 08 03 A6 */ mtlr r0 -/* 800080EC 0000502C 38 21 00 10 */ addi r1, r1, 0x10 -/* 800080F0 00005030 4E 80 00 20 */ blr - -.global darwFilter -darwFilter: -/* 800080F4 00005034 94 21 FF A0 */ stwu r1, -0x60(r1) -/* 800080F8 00005038 7C 08 02 A6 */ mflr r0 -/* 800080FC 0000503C 90 01 00 64 */ stw r0, 0x64(r1) -/* 80008100 00005040 93 E1 00 5C */ stw r31, 0x5c(r1) -/* 80008104 00005044 7C 7F 1B 78 */ mr r31, r3 -/* 80008108 00005048 38 60 00 01 */ li r3, 1 -/* 8000810C 0000504C 48 35 5A 25 */ bl GXSetNumChans -/* 80008110 00005050 38 60 00 04 */ li r3, 4 -/* 80008114 00005054 38 80 00 00 */ li r4, 0 -/* 80008118 00005058 38 A0 00 00 */ li r5, 0 -/* 8000811C 0000505C 38 C0 00 00 */ li r6, 0 -/* 80008120 00005060 38 E0 00 00 */ li r7, 0 -/* 80008124 00005064 39 00 00 00 */ li r8, 0 -/* 80008128 00005068 39 20 00 02 */ li r9, 2 -/* 8000812C 0000506C 48 35 5A 41 */ bl GXSetChanCtrl -/* 80008130 00005070 38 60 00 00 */ li r3, 0 -/* 80008134 00005074 48 35 3C C9 */ bl GXSetNumTexGens -/* 80008138 00005078 38 60 00 01 */ li r3, 1 -/* 8000813C 0000507C 48 35 77 55 */ bl GXSetNumTevStages -/* 80008140 00005080 38 60 00 00 */ li r3, 0 -/* 80008144 00005084 38 80 00 FF */ li r4, 0xff -/* 80008148 00005088 38 A0 00 FF */ li r5, 0xff -/* 8000814C 0000508C 38 C0 00 04 */ li r6, 4 -/* 80008150 00005090 48 35 75 A5 */ bl GXSetTevOrder -/* 80008154 00005094 38 60 00 00 */ li r3, 0 -/* 80008158 00005098 38 80 00 0F */ li r4, 0xf -/* 8000815C 0000509C 38 A0 00 0F */ li r5, 0xf -/* 80008160 000050A0 38 C0 00 0F */ li r6, 0xf -/* 80008164 000050A4 38 E0 00 0A */ li r7, 0xa -/* 80008168 000050A8 48 35 70 BD */ bl GXSetTevColorIn -/* 8000816C 000050AC 38 60 00 00 */ li r3, 0 -/* 80008170 000050B0 38 80 00 00 */ li r4, 0 -/* 80008174 000050B4 38 A0 00 00 */ li r5, 0 -/* 80008178 000050B8 38 C0 00 00 */ li r6, 0 -/* 8000817C 000050BC 38 E0 00 01 */ li r7, 1 -/* 80008180 000050C0 39 00 00 00 */ li r8, 0 -/* 80008184 000050C4 48 35 71 29 */ bl GXSetTevColorOp -/* 80008188 000050C8 38 60 00 00 */ li r3, 0 -/* 8000818C 000050CC 38 80 00 07 */ li r4, 7 -/* 80008190 000050D0 38 A0 00 07 */ li r5, 7 -/* 80008194 000050D4 38 C0 00 07 */ li r6, 7 -/* 80008198 000050D8 38 E0 00 05 */ li r7, 5 -/* 8000819C 000050DC 48 35 70 CD */ bl GXSetTevAlphaIn -/* 800081A0 000050E0 38 60 00 00 */ li r3, 0 -/* 800081A4 000050E4 38 80 00 00 */ li r4, 0 -/* 800081A8 000050E8 38 A0 00 00 */ li r5, 0 -/* 800081AC 000050EC 38 C0 00 00 */ li r6, 0 -/* 800081B0 000050F0 38 E0 00 01 */ li r7, 1 -/* 800081B4 000050F4 39 00 00 00 */ li r8, 0 -/* 800081B8 000050F8 48 35 71 5D */ bl GXSetTevAlphaOp -/* 800081BC 000050FC 38 60 00 01 */ li r3, 1 -/* 800081C0 00005100 48 35 7B 11 */ bl GXSetZCompLoc -/* 800081C4 00005104 38 60 00 00 */ li r3, 0 -/* 800081C8 00005108 38 80 00 07 */ li r4, 7 -/* 800081CC 0000510C 38 A0 00 00 */ li r5, 0 -/* 800081D0 00005110 48 35 7A CD */ bl GXSetZMode -/* 800081D4 00005114 38 60 00 01 */ li r3, 1 -/* 800081D8 00005118 38 80 00 04 */ li r4, 4 -/* 800081DC 0000511C 38 A0 00 05 */ li r5, 5 -/* 800081E0 00005120 38 C0 00 07 */ li r6, 7 -/* 800081E4 00005124 48 35 7A 0D */ bl GXSetBlendMode -/* 800081E8 00005128 38 60 00 07 */ li r3, 7 -/* 800081EC 0000512C 38 80 00 00 */ li r4, 0 -/* 800081F0 00005130 38 A0 00 01 */ li r5, 1 -/* 800081F4 00005134 38 C0 00 07 */ li r6, 7 -/* 800081F8 00005138 38 E0 00 00 */ li r7, 0 -/* 800081FC 0000513C 48 35 74 29 */ bl GXSetAlphaCompare -/* 80008200 00005140 80 0D 80 80 */ lwz r0, lbl_80450600-_SDA_BASE_(r13) -/* 80008204 00005144 90 01 00 0C */ stw r0, 0xc(r1) -/* 80008208 00005148 38 60 00 00 */ li r3, 0 -/* 8000820C 0000514C C0 22 80 38 */ lfs f1, lbl_80451A38-_SDA2_BASE_(r2) -/* 80008210 00005150 FC 40 08 90 */ fmr f2, f1 -/* 80008214 00005154 FC 60 08 90 */ fmr f3, f1 -/* 80008218 00005158 FC 80 08 90 */ fmr f4, f1 -/* 8000821C 0000515C 38 81 00 0C */ addi r4, r1, 0xc -/* 80008220 00005160 48 35 76 99 */ bl GXSetFog -/* 80008224 00005164 38 60 00 00 */ li r3, 0 -/* 80008228 00005168 38 80 00 00 */ li r4, 0 -/* 8000822C 0000516C 38 A0 00 00 */ li r5, 0 -/* 80008230 00005170 48 35 78 9D */ bl GXSetFogRangeAdj -/* 80008234 00005174 38 60 00 00 */ li r3, 0 -/* 80008238 00005178 48 35 47 4D */ bl GXSetCullMode -/* 8000823C 0000517C 38 60 00 01 */ li r3, 1 -/* 80008240 00005180 48 35 7B 99 */ bl GXSetDither -/* 80008244 00005184 38 60 00 00 */ li r3, 0 -/* 80008248 00005188 48 35 6E 8D */ bl GXSetNumIndStages -/* 8000824C 0000518C 38 61 00 10 */ addi r3, r1, 0x10 -/* 80008250 00005190 C0 22 80 38 */ lfs f1, lbl_80451A38-_SDA2_BASE_(r2) -/* 80008254 00005194 C0 42 80 3C */ lfs f2, lbl_80451A3C-_SDA2_BASE_(r2) -/* 80008258 00005198 FC 60 08 90 */ fmr f3, f1 -/* 8000825C 0000519C FC 80 10 90 */ fmr f4, f2 -/* 80008260 000051A0 FC A0 08 90 */ fmr f5, f1 -/* 80008264 000051A4 C0 C2 80 40 */ lfs f6, lbl_80451A40-_SDA2_BASE_(r2) -/* 80008268 000051A8 48 33 ED 91 */ bl C_MTXOrtho -/* 8000826C 000051AC 38 61 00 10 */ addi r3, r1, 0x10 -/* 80008270 000051B0 38 80 00 01 */ li r4, 1 -/* 80008274 000051B4 48 35 7E 61 */ bl GXSetProjection -/* 80008278 000051B8 3C 60 80 3A */ lis r3, lbl_803A2FD8@ha -/* 8000827C 000051BC 38 63 2F D8 */ addi r3, r3, lbl_803A2FD8@l -/* 80008280 000051C0 38 80 00 00 */ li r4, 0 -/* 80008284 000051C4 48 35 7F C9 */ bl GXLoadPosMtxImm -/* 80008288 000051C8 80 1F 00 00 */ lwz r0, 0(r31) -/* 8000828C 000051CC 90 01 00 08 */ stw r0, 8(r1) -/* 80008290 000051D0 38 60 00 04 */ li r3, 4 -/* 80008294 000051D4 38 81 00 08 */ addi r4, r1, 8 -/* 80008298 000051D8 48 35 57 B1 */ bl GXSetChanMatColor -/* 8000829C 000051DC 38 60 00 00 */ li r3, 0 -/* 800082A0 000051E0 48 35 80 4D */ bl GXSetCurrentMtx -/* 800082A4 000051E4 48 35 32 E9 */ bl GXClearVtxDesc -/* 800082A8 000051E8 38 60 00 09 */ li r3, 9 -/* 800082AC 000051EC 38 80 00 01 */ li r4, 1 -/* 800082B0 000051F0 48 35 2C 09 */ bl GXSetVtxDesc -/* 800082B4 000051F4 38 60 00 00 */ li r3, 0 -/* 800082B8 000051F8 38 80 00 09 */ li r4, 9 -/* 800082BC 000051FC 38 A0 00 01 */ li r5, 1 -/* 800082C0 00005200 38 C0 00 01 */ li r6, 1 -/* 800082C4 00005204 38 E0 00 00 */ li r7, 0 -/* 800082C8 00005208 48 35 32 FD */ bl GXSetVtxAttrFmt -/* 800082CC 0000520C 38 60 00 80 */ li r3, 0x80 -/* 800082D0 00005210 38 80 00 00 */ li r4, 0 -/* 800082D4 00005214 38 A0 00 04 */ li r5, 4 -/* 800082D8 00005218 48 35 44 8D */ bl GXBegin -/* 800082DC 0000521C 38 A0 00 00 */ li r5, 0 -/* 800082E0 00005220 3C 80 CC 01 */ lis r4, 0xCC008000@ha -/* 800082E4 00005224 98 A4 80 00 */ stb r5, 0xCC008000@l(r4) -/* 800082E8 00005228 98 A4 80 00 */ stb r5, -0x8000(r4) -/* 800082EC 0000522C 38 60 FF FB */ li r3, -5 -/* 800082F0 00005230 98 64 80 00 */ stb r3, -0x8000(r4) -/* 800082F4 00005234 38 00 00 01 */ li r0, 1 -/* 800082F8 00005238 98 04 80 00 */ stb r0, -0x8000(r4) -/* 800082FC 0000523C 98 A4 80 00 */ stb r5, -0x8000(r4) -/* 80008300 00005240 98 64 80 00 */ stb r3, -0x8000(r4) -/* 80008304 00005244 98 04 80 00 */ stb r0, -0x8000(r4) -/* 80008308 00005248 98 04 80 00 */ stb r0, -0x8000(r4) -/* 8000830C 0000524C 98 64 80 00 */ stb r3, -0x8000(r4) -/* 80008310 00005250 98 A4 80 00 */ stb r5, -0x8000(r4) -/* 80008314 00005254 98 04 80 00 */ stb r0, -0x8000(r4) -/* 80008318 00005258 98 64 80 00 */ stb r3, -0x8000(r4) -/* 8000831C 0000525C 83 E1 00 5C */ lwz r31, 0x5c(r1) -/* 80008320 00005260 80 01 00 64 */ lwz r0, 0x64(r1) -/* 80008324 00005264 7C 08 03 A6 */ mtlr r0 -/* 80008328 00005268 38 21 00 60 */ addi r1, r1, 0x60 -/* 8000832C 0000526C 4E 80 00 20 */ blr - -.global mDoGph_gInf_c_NS_calcFade -mDoGph_gInf_c_NS_calcFade: -/* 80008330 00005270 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80008334 00005274 7C 08 02 A6 */ mflr r0 -/* 80008338 00005278 90 01 00 24 */ stw r0, 0x24(r1) -/* 8000833C 0000527C 88 0D 86 66 */ lbz r0, lbl_80450BE6-_SDA_BASE_(r13) -/* 80008340 00005280 28 00 00 00 */ cmplwi r0, 0 -/* 80008344 00005284 41 82 00 64 */ beq lbl_800083A8 -/* 80008348 00005288 C0 2D 86 5C */ lfs f1, lbl_80450BDC-_SDA_BASE_(r13) -/* 8000834C 0000528C C0 0D 86 60 */ lfs f0, lbl_80450BE0-_SDA_BASE_(r13) -/* 80008350 00005290 EC 21 00 2A */ fadds f1, f1, f0 -/* 80008354 00005294 D0 2D 86 5C */ stfs f1, lbl_80450BDC-_SDA_BASE_(r13) -/* 80008358 00005298 C0 02 80 38 */ lfs f0, lbl_80451A38-_SDA2_BASE_(r2) -/* 8000835C 0000529C FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80008360 000052A0 40 80 00 14 */ bge lbl_80008374 -/* 80008364 000052A4 D0 0D 86 5C */ stfs f0, lbl_80450BDC-_SDA_BASE_(r13) -/* 80008368 000052A8 38 00 00 00 */ li r0, 0 -/* 8000836C 000052AC 98 0D 86 66 */ stb r0, lbl_80450BE6-_SDA_BASE_(r13) -/* 80008370 000052B0 48 00 00 14 */ b lbl_80008384 -lbl_80008374: -/* 80008374 000052B4 C0 02 80 3C */ lfs f0, lbl_80451A3C-_SDA2_BASE_(r2) -/* 80008378 000052B8 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8000837C 000052BC 40 81 00 08 */ ble lbl_80008384 -/* 80008380 000052C0 D0 0D 86 5C */ stfs f0, lbl_80450BDC-_SDA_BASE_(r13) -lbl_80008384: -/* 80008384 000052C4 C0 22 80 44 */ lfs f1, lbl_80451A44-_SDA2_BASE_(r2) -/* 80008388 000052C8 C0 0D 86 5C */ lfs f0, lbl_80450BDC-_SDA_BASE_(r13) -/* 8000838C 000052CC EC 01 00 32 */ fmuls f0, f1, f0 -/* 80008390 000052D0 FC 00 00 1E */ fctiwz f0, f0 -/* 80008394 000052D4 D8 01 00 10 */ stfd f0, 0x10(r1) -/* 80008398 000052D8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8000839C 000052DC 38 6D 80 14 */ addi r3, r13, lbl_80450594-_SDA_BASE_ -/* 800083A0 000052E0 98 03 00 03 */ stb r0, 3(r3) -/* 800083A4 000052E4 48 00 00 48 */ b lbl_800083EC -lbl_800083A8: -/* 800083A8 000052E8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha -/* 800083AC 000052EC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l -/* 800083B0 000052F0 3C 63 00 02 */ addis r3, r3, 2 -/* 800083B4 000052F4 88 83 DD F8 */ lbz r4, -0x2208(r3) -/* 800083B8 000052F8 28 04 00 FF */ cmplwi r4, 0xff -/* 800083BC 000052FC 41 82 00 24 */ beq lbl_800083E0 -/* 800083C0 00005300 38 00 00 00 */ li r0, 0 -/* 800083C4 00005304 98 0D 80 14 */ stb r0, lbl_80450594-_SDA_BASE_(r13) -/* 800083C8 00005308 38 6D 80 14 */ addi r3, r13, lbl_80450594-_SDA_BASE_ -/* 800083CC 0000530C 98 03 00 01 */ stb r0, 1(r3) -/* 800083D0 00005310 98 03 00 02 */ stb r0, 2(r3) -/* 800083D4 00005314 20 04 00 FF */ subfic r0, r4, 0xff -/* 800083D8 00005318 98 03 00 03 */ stb r0, 3(r3) -/* 800083DC 0000531C 48 00 00 10 */ b lbl_800083EC -lbl_800083E0: -/* 800083E0 00005320 38 00 00 00 */ li r0, 0 -/* 800083E4 00005324 38 6D 80 14 */ addi r3, r13, lbl_80450594-_SDA_BASE_ -/* 800083E8 00005328 98 03 00 03 */ stb r0, 3(r3) -lbl_800083EC: -/* 800083EC 0000532C 38 6D 80 14 */ addi r3, r13, lbl_80450594-_SDA_BASE_ -/* 800083F0 00005330 88 03 00 03 */ lbz r0, 3(r3) -/* 800083F4 00005334 28 00 00 00 */ cmplwi r0, 0 -/* 800083F8 00005338 41 82 00 14 */ beq lbl_8000840C -/* 800083FC 0000533C 80 0D 80 14 */ lwz r0, lbl_80450594-_SDA_BASE_(r13) -/* 80008400 00005340 90 01 00 08 */ stw r0, 8(r1) -/* 80008404 00005344 38 61 00 08 */ addi r3, r1, 8 -/* 80008408 00005348 4B FF FC ED */ bl darwFilter -lbl_8000840C: -/* 8000840C 0000534C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80008410 00005350 7C 08 03 A6 */ mtlr r0 -/* 80008414 00005354 38 21 00 20 */ addi r1, r1, 0x20 -/* 80008418 00005358 4E 80 00 20 */ blr -/* 8000841C 0000535C 4E 80 00 20 */ blr -/* 80008420 00005360 4E 80 00 20 */ blr - -.global dScnPly_BeforeOfPaint -dScnPly_BeforeOfPaint: -/* 80008424 00005364 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80008428 00005368 7C 08 02 A6 */ mflr r0 -/* 8000842C 0000536C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80008430 00005370 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha -/* 80008434 00005374 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l -/* 80008438 00005378 38 63 5F 64 */ addi r3, r3, 0x5f64 -/* 8000843C 0000537C 48 04 E0 FD */ bl dDlst_list_c_NS_reset -/* 80008440 00005380 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80008444 00005384 7C 08 03 A6 */ mtlr r0 -/* 80008448 00005388 38 21 00 10 */ addi r1, r1, 0x10 -/* 8000844C 0000538C 4E 80 00 20 */ blr -/* 80008450 00005390 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80008454 00005394 7C 08 02 A6 */ mflr r0 -/* 80008458 00005398 90 01 00 14 */ stw r0, 0x14(r1) -/* 8000845C 0000539C 4B FF FF C9 */ bl dScnPly_BeforeOfPaint -/* 80008460 000053A0 38 60 00 01 */ li r3, 1 -/* 80008464 000053A4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80008468 000053A8 7C 08 03 A6 */ mtlr r0 -/* 8000846C 000053AC 38 21 00 10 */ addi r1, r1, 0x10 -/* 80008470 000053B0 4E 80 00 20 */ blr -/* 80008474 000053B4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80008478 000053B8 7C 08 02 A6 */ mflr r0 -/* 8000847C 000053BC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80008480 000053C0 3C 60 80 3F */ lis r3, g_HIO@ha -/* 80008484 000053C4 38 A3 1B BC */ addi r5, r3, g_HIO@l -/* 80008488 000053C8 88 C5 00 16 */ lbz r6, 0x16(r5) -/* 8000848C 000053CC 54 C0 07 BD */ rlwinm. r0, r6, 0, 0x1e, 0x1e -/* 80008490 000053D0 41 82 00 28 */ beq lbl_800084B8 -/* 80008494 000053D4 38 00 00 00 */ li r0, 0 -/* 80008498 000053D8 80 6D 8F D8 */ lwz r3, lbl_80451558-_SDA_BASE_(r13) -/* 8000849C 000053DC 98 03 01 0C */ stb r0, 0x10c(r3) -/* 800084A0 000053E0 80 6D 8F D8 */ lwz r3, lbl_80451558-_SDA_BASE_(r13) -/* 800084A4 000053E4 98 03 01 30 */ stb r0, 0x130(r3) -/* 800084A8 000053E8 38 00 00 01 */ li r0, 1 -/* 800084AC 000053EC 80 6D 8F 48 */ lwz r3, lbl_804514C8-_SDA_BASE_(r13) -/* 800084B0 000053F0 98 03 00 0C */ stb r0, 0xc(r3) -/* 800084B4 000053F4 48 00 00 A0 */ b lbl_80008554 -lbl_800084B8: -/* 800084B8 000053F8 80 6D 8C 38 */ lwz r3, lbl_804511B8-_SDA_BASE_(r13) -/* 800084BC 000053FC 88 83 00 68 */ lbz r4, 0x68(r3) -/* 800084C0 00005400 3C 60 80 43 */ lis r3, lbl_804343F0@ha -/* 800084C4 00005404 38 63 43 F0 */ addi r3, r3, lbl_804343F0@l -/* 800084C8 00005408 88 03 00 22 */ lbz r0, 0x22(r3) -/* 800084CC 0000540C 7C 00 07 74 */ extsb r0, r0 -/* 800084D0 00005410 7C 00 00 34 */ cntlzw r0, r0 -/* 800084D4 00005414 54 07 DE 3F */ rlwinm. r7, r0, 0x1b, 0x18, 0x1f -/* 800084D8 00005418 38 60 00 00 */ li r3, 0 -/* 800084DC 0000541C 41 82 00 1C */ beq lbl_800084F8 -/* 800084E0 00005420 88 05 00 15 */ lbz r0, 0x15(r5) -/* 800084E4 00005424 28 00 00 00 */ cmplwi r0, 0 -/* 800084E8 00005428 41 82 00 10 */ beq lbl_800084F8 -/* 800084EC 0000542C 2C 04 00 00 */ cmpwi r4, 0 -/* 800084F0 00005430 40 82 00 08 */ bne lbl_800084F8 -/* 800084F4 00005434 38 60 00 01 */ li r3, 1 -lbl_800084F8: -/* 800084F8 00005438 54 64 06 3E */ clrlwi r4, r3, 0x18 -/* 800084FC 0000543C 38 60 00 00 */ li r3, 0 -/* 80008500 00005440 2C 07 00 00 */ cmpwi r7, 0 -/* 80008504 00005444 41 82 00 10 */ beq lbl_80008514 -/* 80008508 00005448 54 C0 07 FF */ clrlwi. r0, r6, 0x1f -/* 8000850C 0000544C 41 82 00 08 */ beq lbl_80008514 -/* 80008510 00005450 38 60 00 01 */ li r3, 1 -lbl_80008514: -/* 80008514 00005454 54 65 06 3E */ clrlwi r5, r3, 0x18 -/* 80008518 00005458 88 0D 80 00 */ lbz r0, lbl_80450580-_SDA_BASE_(r13) -/* 8000851C 0000545C 7C 00 07 75 */ extsb. r0, r0 -/* 80008520 00005460 40 82 00 0C */ bne lbl_8000852C -/* 80008524 00005464 38 80 00 00 */ li r4, 0 -/* 80008528 00005468 38 A0 00 00 */ li r5, 0 -lbl_8000852C: -/* 8000852C 0000546C 30 04 FF FF */ addic r0, r4, -1 -/* 80008530 00005470 7C 00 21 10 */ subfe r0, r0, r4 -/* 80008534 00005474 80 6D 8F D8 */ lwz r3, lbl_80451558-_SDA_BASE_(r13) -/* 80008538 00005478 98 03 01 0C */ stb r0, 0x10c(r3) -/* 8000853C 0000547C 80 6D 8F D8 */ lwz r3, lbl_80451558-_SDA_BASE_(r13) -/* 80008540 00005480 98 03 01 30 */ stb r0, 0x130(r3) -/* 80008544 00005484 30 05 FF FF */ addic r0, r5, -1 -/* 80008548 00005488 7C 00 29 10 */ subfe r0, r0, r5 -/* 8000854C 0000548C 80 6D 8F 48 */ lwz r3, lbl_804514C8-_SDA_BASE_(r13) -/* 80008550 00005490 98 03 00 0C */ stb r0, 0xc(r3) -lbl_80008554: -/* 80008554 00005494 38 60 00 01 */ li r3, 1 -/* 80008558 00005498 48 35 77 79 */ bl GXSetZCompLoc -/* 8000855C 0000549C 38 60 00 00 */ li r3, 0 -/* 80008560 000054A0 38 80 00 07 */ li r4, 7 -/* 80008564 000054A4 38 A0 00 00 */ li r5, 0 -/* 80008568 000054A8 48 35 77 35 */ bl GXSetZMode -/* 8000856C 000054AC 38 60 00 01 */ li r3, 1 -/* 80008570 000054B0 38 80 00 04 */ li r4, 4 -/* 80008574 000054B4 38 A0 00 05 */ li r5, 5 -/* 80008578 000054B8 38 C0 00 00 */ li r6, 0 -/* 8000857C 000054BC 48 35 76 75 */ bl GXSetBlendMode -/* 80008580 000054C0 38 60 00 04 */ li r3, 4 -/* 80008584 000054C4 38 80 00 00 */ li r4, 0 -/* 80008588 000054C8 38 A0 00 01 */ li r5, 1 -/* 8000858C 000054CC 38 C0 00 04 */ li r6, 4 -/* 80008590 000054D0 38 E0 00 00 */ li r7, 0 -/* 80008594 000054D4 48 35 70 91 */ bl GXSetAlphaCompare -/* 80008598 000054D8 80 0D 80 80 */ lwz r0, lbl_80450600-_SDA_BASE_(r13) -/* 8000859C 000054DC 90 01 00 08 */ stw r0, 8(r1) -/* 800085A0 000054E0 38 60 00 00 */ li r3, 0 -/* 800085A4 000054E4 C0 22 80 38 */ lfs f1, lbl_80451A38-_SDA2_BASE_(r2) -/* 800085A8 000054E8 FC 40 08 90 */ fmr f2, f1 -/* 800085AC 000054EC FC 60 08 90 */ fmr f3, f1 -/* 800085B0 000054F0 FC 80 08 90 */ fmr f4, f1 -/* 800085B4 000054F4 38 81 00 08 */ addi r4, r1, 8 -/* 800085B8 000054F8 48 35 73 01 */ bl GXSetFog -/* 800085BC 000054FC 38 60 00 00 */ li r3, 0 -/* 800085C0 00005500 38 80 00 00 */ li r4, 0 -/* 800085C4 00005504 38 A0 00 00 */ li r5, 0 -/* 800085C8 00005508 48 35 75 05 */ bl GXSetFogRangeAdj -/* 800085CC 0000550C 38 60 00 00 */ li r3, 0 -/* 800085D0 00005510 48 35 43 DD */ bl GXSetCoPlanar -/* 800085D4 00005514 38 60 00 00 */ li r3, 0 -/* 800085D8 00005518 38 80 00 11 */ li r4, 0x11 -/* 800085DC 0000551C 38 A0 00 00 */ li r5, 0 -/* 800085E0 00005520 48 35 70 89 */ bl GXSetZTexture -/* 800085E4 00005524 38 60 00 01 */ li r3, 1 -/* 800085E8 00005528 48 35 77 F1 */ bl GXSetDither -/* 800085EC 0000552C 38 60 00 00 */ li r3, 0 -/* 800085F0 00005530 48 35 7F E1 */ bl GXSetClipMode -/* 800085F4 00005534 38 60 00 00 */ li r3, 0 -/* 800085F8 00005538 48 35 43 8D */ bl GXSetCullMode -/* 800085FC 0000553C 80 6D 8F B8 */ lwz r3, lbl_80451538-_SDA_BASE_(r13) -/* 80008600 00005540 80 8D 80 20 */ lwz r4, lbl_804505A0-_SDA_BASE_(r13) -/* 80008604 00005544 48 2D CB 95 */ bl JUTVideo_NS_setRenderMode -/* 80008608 00005548 80 6D 8C 40 */ lwz r3, lbl_804511C0-_SDA_BASE_(r13) -/* 8000860C 0000554C 81 83 00 00 */ lwz r12, 0(r3) -/* 80008610 00005550 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 80008614 00005554 7D 89 03 A6 */ mtctr r12 -/* 80008618 00005558 4E 80 04 21 */ bctrl -/* 8000861C 0000555C 38 60 00 01 */ li r3, 1 -/* 80008620 00005560 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80008624 00005564 7C 08 03 A6 */ mtlr r0 -/* 80008628 00005568 38 21 00 10 */ addi r1, r1, 0x10 -/* 8000862C 0000556C 4E 80 00 20 */ blr - -.global drawDepth2 -drawDepth2: -/* 80008630 00005570 94 21 FE D0 */ stwu r1, -0x130(r1) -/* 80008634 00005574 7C 08 02 A6 */ mflr r0 -/* 80008638 00005578 90 01 01 34 */ stw r0, 0x134(r1) -/* 8000863C 0000557C DB E1 01 20 */ stfd f31, 0x120(r1) -/* 80008640 00005580 F3 E1 01 28 */ psq_st f31, 296(r1), 0, qr0 -/* 80008644 00005584 DB C1 01 10 */ stfd f30, 0x110(r1) -/* 80008648 00005588 F3 C1 01 18 */ psq_st f30, 280(r1), 0, qr0 -/* 8000864C 0000558C 39 61 01 10 */ addi r11, r1, 0x110 -/* 80008650 00005590 48 35 9B 5D */ bl _savegpr_17 -/* 80008654 00005594 7C 7F 1B 78 */ mr r31, r3 -/* 80008658 00005598 7C 99 23 78 */ mr r25, r4 -/* 8000865C 0000559C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha -/* 80008660 000055A0 3A C3 61 C0 */ addi r22, r3, g_dComIfG_gameInfo@l -/* 80008664 000055A4 80 16 5D B4 */ lwz r0, 0x5db4(r22) -/* 80008668 000055A8 28 00 00 00 */ cmplwi r0, 0 -/* 8000866C 000055AC 41 82 0A F0 */ beq lbl_8000915C -/* 80008670 000055B0 88 0D 86 67 */ lbz r0, lbl_80450BE7-_SDA_BASE_(r13) -/* 80008674 000055B4 2C 00 00 00 */ cmpwi r0, 0 -/* 80008678 000055B8 41 82 00 3C */ beq lbl_800086B4 -/* 8000867C 000055BC 38 61 00 4C */ addi r3, r1, 0x4c -/* 80008680 000055C0 48 35 7B 85 */ bl GXGetProjectionv -/* 80008684 000055C4 38 61 00 34 */ addi r3, r1, 0x34 -/* 80008688 000055C8 48 35 7E 25 */ bl GXGetViewportv -/* 8000868C 000055CC C0 3F 00 E4 */ lfs f1, 0xe4(r31) -/* 80008690 000055D0 C0 5F 00 E8 */ lfs f2, 0xe8(r31) -/* 80008694 000055D4 C0 7F 00 EC */ lfs f3, 0xec(r31) -/* 80008698 000055D8 38 7F 01 40 */ addi r3, r31, 0x140 -/* 8000869C 000055DC 38 81 00 4C */ addi r4, r1, 0x4c -/* 800086A0 000055E0 38 A1 00 34 */ addi r5, r1, 0x34 -/* 800086A4 000055E4 38 C1 00 1C */ addi r6, r1, 0x1c -/* 800086A8 000055E8 38 E1 00 18 */ addi r7, r1, 0x18 -/* 800086AC 000055EC 39 01 00 14 */ addi r8, r1, 0x14 -/* 800086B0 000055F0 48 35 78 B1 */ bl GXProject -lbl_800086B4: -/* 800086B4 000055F4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha -/* 800086B8 000055F8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l -/* 800086BC 000055FC 3A E3 5D 74 */ addi r23, r3, 0x5d74 -/* 800086C0 00005600 82 23 5D 74 */ lwz r17, 0x5d74(r3) -/* 800086C4 00005604 C3 C2 80 48 */ lfs f30, lbl_80451A48-_SDA2_BASE_(r2) -/* 800086C8 00005608 48 17 8F 79 */ bl dCam_getBody -/* 800086CC 0000560C 80 03 01 A4 */ lwz r0, 0x1a4(r3) -/* 800086D0 00005610 2C 00 00 04 */ cmpwi r0, 4 -/* 800086D4 00005614 41 82 02 74 */ beq lbl_80008948 -/* 800086D8 00005618 48 17 8F 69 */ bl dCam_getBody -/* 800086DC 0000561C 80 03 01 A4 */ lwz r0, 0x1a4(r3) -/* 800086E0 00005620 2C 00 00 07 */ cmpwi r0, 7 -/* 800086E4 00005624 41 82 02 64 */ beq lbl_80008948 -/* 800086E8 00005628 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha -/* 800086EC 0000562C 3A A3 61 C0 */ addi r21, r3, g_dComIfG_gameInfo@l -/* 800086F0 00005630 88 15 5D B0 */ lbz r0, 0x5db0(r21) -/* 800086F4 00005634 7C 00 07 74 */ extsb r0, r0 -/* 800086F8 00005638 1C 00 00 38 */ mulli r0, r0, 0x38 -/* 800086FC 0000563C 7C 97 00 2E */ lwzx r4, r23, r0 -/* 80008700 00005640 38 75 56 B8 */ addi r3, r21, 0x56b8 -/* 80008704 00005644 C0 22 80 4C */ lfs f1, lbl_80451A4C-_SDA2_BASE_(r2) -/* 80008708 00005648 28 04 00 00 */ cmplwi r4, 0 -/* 8000870C 0000564C 41 82 00 0C */ beq lbl_80008718 -/* 80008710 00005650 C0 04 00 D0 */ lfs f0, 0xd0(r4) -/* 80008714 00005654 48 00 00 08 */ b lbl_8000871C -lbl_80008718: -/* 80008718 00005658 C0 02 80 50 */ lfs f0, lbl_80451A50-_SDA2_BASE_(r2) -lbl_8000871C: -/* 8000871C 0000565C EF E1 00 24 */ fdivs f31, f1, f0 -/* 80008720 00005660 48 06 B0 C5 */ bl dAttention_c_NS_LockonTruth -/* 80008724 00005664 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80008728 00005668 41 82 01 A8 */ beq lbl_800088D0 -/* 8000872C 0000566C 80 76 5D B4 */ lwz r3, 0x5db4(r22) -/* 80008730 00005670 81 83 06 28 */ lwz r12, 0x628(r3) -/* 80008734 00005674 81 8C 00 F4 */ lwz r12, 0xf4(r12) -/* 80008738 00005678 7D 89 03 A6 */ mtctr r12 -/* 8000873C 0000567C 4E 80 04 21 */ bctrl -/* 80008740 00005680 90 61 00 0C */ stw r3, 0xc(r1) -.global fpcSch_JudgeByID -/* 80008744 00005684 3C 60 80 02 */ lis r3, fpcSch_JudgeByID@ha -.global fpcSch_JudgeByID -/* 80008748 00005688 38 63 35 90 */ addi r3, r3, fpcSch_JudgeByID@l -/* 8000874C 0000568C 38 81 00 0C */ addi r4, r1, 0xc -/* 80008750 00005690 48 01 10 A9 */ bl fopAcIt_Judge -/* 80008754 00005694 28 03 00 00 */ cmplwi r3, 0 -/* 80008758 00005698 41 82 01 F0 */ beq lbl_80008948 -/* 8000875C 0000569C C0 03 05 38 */ lfs f0, 0x538(r3) -/* 80008760 000056A0 D0 01 00 28 */ stfs f0, 0x28(r1) -/* 80008764 000056A4 C0 43 05 3C */ lfs f2, 0x53c(r3) -/* 80008768 000056A8 D0 41 00 2C */ stfs f2, 0x2c(r1) -/* 8000876C 000056AC C0 03 05 40 */ lfs f0, 0x540(r3) -/* 80008770 000056B0 D0 01 00 30 */ stfs f0, 0x30(r1) -/* 80008774 000056B4 C0 31 00 DC */ lfs f1, 0xdc(r17) -/* 80008778 000056B8 EC 02 08 28 */ fsubs f0, f2, f1 -/* 8000877C 000056BC FC 00 02 10 */ fabs f0, f0 -/* 80008780 000056C0 FC 40 00 18 */ frsp f2, f0 -/* 80008784 000056C4 C0 02 80 54 */ lfs f0, lbl_80451A54-_SDA2_BASE_(r2) -/* 80008788 000056C8 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8000878C 000056CC 40 80 00 08 */ bge lbl_80008794 -/* 80008790 000056D0 D0 21 00 2C */ stfs f1, 0x2c(r1) -lbl_80008794: -/* 80008794 000056D4 38 63 04 D0 */ addi r3, r3, 0x4d0 -/* 80008798 000056D8 38 91 00 D8 */ addi r4, r17, 0xd8 -/* 8000879C 000056DC 48 33 EC 01 */ bl PSVECSquareDistance -/* 800087A0 000056E0 C0 02 80 38 */ lfs f0, lbl_80451A38-_SDA2_BASE_(r2) -/* 800087A4 000056E4 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800087A8 000056E8 40 81 00 58 */ ble lbl_80008800 -/* 800087AC 000056EC FC 00 08 34 */ frsqrte f0, f1 -/* 800087B0 000056F0 C8 82 80 58 */ lfd f4, lbl_80451A58-_SDA2_BASE_(r2) -/* 800087B4 000056F4 FC 44 00 32 */ fmul f2, f4, f0 -/* 800087B8 000056F8 C8 62 80 60 */ lfd f3, lbl_80451A60-_SDA2_BASE_(r2) -/* 800087BC 000056FC FC 00 00 32 */ fmul f0, f0, f0 -/* 800087C0 00005700 FC 01 00 32 */ fmul f0, f1, f0 -/* 800087C4 00005704 FC 03 00 28 */ fsub f0, f3, f0 -/* 800087C8 00005708 FC 02 00 32 */ fmul f0, f2, f0 -/* 800087CC 0000570C FC 44 00 32 */ fmul f2, f4, f0 -/* 800087D0 00005710 FC 00 00 32 */ fmul f0, f0, f0 -/* 800087D4 00005714 FC 01 00 32 */ fmul f0, f1, f0 -/* 800087D8 00005718 FC 03 00 28 */ fsub f0, f3, f0 -/* 800087DC 0000571C FC 02 00 32 */ fmul f0, f2, f0 -/* 800087E0 00005720 FC 44 00 32 */ fmul f2, f4, f0 -/* 800087E4 00005724 FC 00 00 32 */ fmul f0, f0, f0 -/* 800087E8 00005728 FC 01 00 32 */ fmul f0, f1, f0 -/* 800087EC 0000572C FC 03 00 28 */ fsub f0, f3, f0 -/* 800087F0 00005730 FC 02 00 32 */ fmul f0, f2, f0 -/* 800087F4 00005734 FC 21 00 32 */ fmul f1, f1, f0 -/* 800087F8 00005738 FC 20 08 18 */ frsp f1, f1 -/* 800087FC 0000573C 48 00 00 88 */ b lbl_80008884 -lbl_80008800: -/* 80008800 00005740 C8 02 80 68 */ lfd f0, lbl_80451A68-_SDA2_BASE_(r2) -/* 80008804 00005744 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80008808 00005748 40 80 00 10 */ bge lbl_80008818 -/* 8000880C 0000574C 3C 60 80 45 */ lis r3, lbl_80450AE0@ha -/* 80008810 00005750 C0 23 0A E0 */ lfs f1, lbl_80450AE0@l(r3) -/* 80008814 00005754 48 00 00 70 */ b lbl_80008884 -lbl_80008818: -/* 80008818 00005758 D0 21 00 08 */ stfs f1, 8(r1) -/* 8000881C 0000575C 80 81 00 08 */ lwz r4, 8(r1) -/* 80008820 00005760 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8 -/* 80008824 00005764 3C 00 7F 80 */ lis r0, 0x7f80 -/* 80008828 00005768 7C 03 00 00 */ cmpw r3, r0 -/* 8000882C 0000576C 41 82 00 14 */ beq lbl_80008840 -/* 80008830 00005770 40 80 00 40 */ bge lbl_80008870 -/* 80008834 00005774 2C 03 00 00 */ cmpwi r3, 0 -/* 80008838 00005778 41 82 00 20 */ beq lbl_80008858 -/* 8000883C 0000577C 48 00 00 34 */ b lbl_80008870 -lbl_80008840: -/* 80008840 00005780 54 80 02 7F */ clrlwi. r0, r4, 9 -/* 80008844 00005784 41 82 00 0C */ beq lbl_80008850 -/* 80008848 00005788 38 00 00 01 */ li r0, 1 -/* 8000884C 0000578C 48 00 00 28 */ b lbl_80008874 -lbl_80008850: -/* 80008850 00005790 38 00 00 02 */ li r0, 2 -/* 80008854 00005794 48 00 00 20 */ b lbl_80008874 -lbl_80008858: -/* 80008858 00005798 54 80 02 7F */ clrlwi. r0, r4, 9 -/* 8000885C 0000579C 41 82 00 0C */ beq lbl_80008868 -/* 80008860 000057A0 38 00 00 05 */ li r0, 5 -/* 80008864 000057A4 48 00 00 10 */ b lbl_80008874 -lbl_80008868: -/* 80008868 000057A8 38 00 00 03 */ li r0, 3 -/* 8000886C 000057AC 48 00 00 08 */ b lbl_80008874 -lbl_80008870: -/* 80008870 000057B0 38 00 00 04 */ li r0, 4 -lbl_80008874: -/* 80008874 000057B4 2C 00 00 01 */ cmpwi r0, 1 -/* 80008878 000057B8 40 82 00 0C */ bne lbl_80008884 -/* 8000887C 000057BC 3C 60 80 45 */ lis r3, lbl_80450AE0@ha -/* 80008880 000057C0 C0 23 0A E0 */ lfs f1, lbl_80450AE0@l(r3) -lbl_80008884: -/* 80008884 000057C4 C0 02 80 70 */ lfs f0, lbl_80451A70-_SDA2_BASE_(r2) -/* 80008888 000057C8 EC 00 07 F2 */ fmuls f0, f0, f31 -/* 8000888C 000057CC EC 41 00 24 */ fdivs f2, f1, f0 -/* 80008890 000057D0 C0 02 80 74 */ lfs f0, lbl_80451A74-_SDA2_BASE_(r2) -/* 80008894 000057D4 EC 42 00 28 */ fsubs f2, f2, f0 -/* 80008898 000057D8 C0 02 80 38 */ lfs f0, lbl_80451A38-_SDA2_BASE_(r2) -/* 8000889C 000057DC FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 800088A0 000057E0 40 80 00 0C */ bge lbl_800088AC -/* 800088A4 000057E4 FC 40 00 90 */ fmr f2, f0 -/* 800088A8 000057E8 48 00 00 14 */ b lbl_800088BC -lbl_800088AC: -/* 800088AC 000057EC C0 02 80 3C */ lfs f0, lbl_80451A3C-_SDA2_BASE_(r2) -/* 800088B0 000057F0 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 800088B4 000057F4 40 81 00 08 */ ble lbl_800088BC -/* 800088B8 000057F8 FC 40 00 90 */ fmr f2, f0 -lbl_800088BC: -/* 800088BC 000057FC C0 22 80 78 */ lfs f1, lbl_80451A78-_SDA2_BASE_(r2) -/* 800088C0 00005800 C0 02 80 7C */ lfs f0, lbl_80451A7C-_SDA2_BASE_(r2) -/* 800088C4 00005804 EC 00 00 B2 */ fmuls f0, f0, f2 -/* 800088C8 00005808 EF C1 00 28 */ fsubs f30, f1, f0 -/* 800088CC 0000580C 48 00 00 7C */ b lbl_80008948 -lbl_800088D0: -/* 800088D0 00005810 88 15 4F AD */ lbz r0, 0x4fad(r21) -/* 800088D4 00005814 28 00 00 00 */ cmplwi r0, 0 -/* 800088D8 00005818 41 82 00 70 */ beq lbl_80008948 -/* 800088DC 0000581C C0 02 80 80 */ lfs f0, lbl_80451A80-_SDA2_BASE_(r2) -/* 800088E0 00005820 FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 800088E4 00005824 40 80 00 64 */ bge lbl_80008948 -/* 800088E8 00005828 3C 60 80 43 */ lis r3, lbl_8042CA54@ha -/* 800088EC 0000582C 38 63 CA 54 */ addi r3, r3, lbl_8042CA54@l -/* 800088F0 00005830 C0 23 12 6C */ lfs f1, 0x126c(r3) -/* 800088F4 00005834 C0 02 80 84 */ lfs f0, lbl_80451A84-_SDA2_BASE_(r2) -/* 800088F8 00005838 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800088FC 0000583C 40 80 00 4C */ bge lbl_80008948 -/* 80008900 00005840 C0 02 80 88 */ lfs f0, lbl_80451A88-_SDA2_BASE_(r2) -/* 80008904 00005844 EC 00 07 F2 */ fmuls f0, f0, f31 -/* 80008908 00005848 EC 41 00 24 */ fdivs f2, f1, f0 -/* 8000890C 0000584C C0 02 80 74 */ lfs f0, lbl_80451A74-_SDA2_BASE_(r2) -/* 80008910 00005850 EC 42 00 28 */ fsubs f2, f2, f0 -/* 80008914 00005854 C0 02 80 38 */ lfs f0, lbl_80451A38-_SDA2_BASE_(r2) -/* 80008918 00005858 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8000891C 0000585C 40 80 00 0C */ bge lbl_80008928 -/* 80008920 00005860 FC 40 00 90 */ fmr f2, f0 -/* 80008924 00005864 48 00 00 14 */ b lbl_80008938 -lbl_80008928: -/* 80008928 00005868 C0 02 80 3C */ lfs f0, lbl_80451A3C-_SDA2_BASE_(r2) -/* 8000892C 0000586C FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 80008930 00005870 40 81 00 08 */ ble lbl_80008938 -/* 80008934 00005874 FC 40 00 90 */ fmr f2, f0 -lbl_80008938: -/* 80008938 00005878 C0 22 80 78 */ lfs f1, lbl_80451A78-_SDA2_BASE_(r2) -/* 8000893C 0000587C C0 02 80 7C */ lfs f0, lbl_80451A7C-_SDA2_BASE_(r2) -/* 80008940 00005880 EC 00 00 B2 */ fmuls f0, f0, f2 -/* 80008944 00005884 EF C1 00 28 */ fsubs f30, f1, f0 -lbl_80008948: -/* 80008948 00005888 3C 60 80 43 */ lis r3, lbl_8042CA54@ha -/* 8000894C 0000588C 38 63 CA 54 */ addi r3, r3, lbl_8042CA54@l -/* 80008950 00005890 3A A3 12 64 */ addi r21, r3, 0x1264 -/* 80008954 00005894 7E A3 AB 78 */ mr r3, r21 -/* 80008958 00005898 FC 20 F0 90 */ fmr f1, f30 -/* 8000895C 0000589C C0 42 80 8C */ lfs f2, lbl_80451A8C-_SDA2_BASE_(r2) -/* 80008960 000058A0 C0 62 80 90 */ lfs f3, lbl_80451A90-_SDA2_BASE_(r2) -/* 80008964 000058A4 C0 82 80 94 */ lfs f4, lbl_80451A94-_SDA2_BASE_(r2) -/* 80008968 000058A8 48 26 70 15 */ bl cLib_addCalc__FPfffff -/* 8000896C 000058AC C0 15 00 00 */ lfs f0, 0(r21) -/* 80008970 000058B0 FC 00 00 1E */ fctiwz f0, f0 -/* 80008974 000058B4 D8 01 00 A8 */ stfd f0, 0xa8(r1) -/* 80008978 000058B8 80 01 00 AC */ lwz r0, 0xac(r1) -/* 8000897C 000058BC 3B CD 80 18 */ addi r30, r13, lbl_80450598-_SDA_BASE_ -/* 80008980 000058C0 B0 1E 00 06 */ sth r0, 6(r30) -/* 80008984 000058C4 7C 00 07 34 */ extsh r0, r0 -/* 80008988 000058C8 2C 00 FF 02 */ cmpwi r0, -254 -/* 8000898C 000058CC 41 81 00 0C */ bgt lbl_80008998 -/* 80008990 000058D0 38 00 FF 01 */ li r0, -255 -/* 80008994 000058D4 B0 1E 00 06 */ sth r0, 6(r30) -lbl_80008998: -/* 80008998 000058D8 C0 19 00 00 */ lfs f0, 0(r25) -/* 8000899C 000058DC FC 00 00 1E */ fctiwz f0, f0 -/* 800089A0 000058E0 D8 01 00 A8 */ stfd f0, 0xa8(r1) -/* 800089A4 000058E4 80 01 00 AC */ lwz r0, 0xac(r1) -/* 800089A8 000058E8 54 00 00 38 */ rlwinm r0, r0, 0, 0, 0x1c -/* 800089AC 000058EC 7C 1D 07 34 */ extsh r29, r0 -/* 800089B0 000058F0 C0 19 00 04 */ lfs f0, 4(r25) -/* 800089B4 000058F4 FC 00 00 1E */ fctiwz f0, f0 -/* 800089B8 000058F8 D8 01 00 B0 */ stfd f0, 0xb0(r1) -/* 800089BC 000058FC 80 01 00 B4 */ lwz r0, 0xb4(r1) -/* 800089C0 00005900 54 00 00 38 */ rlwinm r0, r0, 0, 0, 0x1c -/* 800089C4 00005904 7C 03 07 35 */ extsh. r3, r0 -/* 800089C8 00005908 7C 60 FE 70 */ srawi r0, r3, 0x1f -/* 800089CC 0000590C 7C 60 00 78 */ andc r0, r3, r0 -/* 800089D0 00005910 7C 1C 07 34 */ extsh r28, r0 -/* 800089D4 00005914 C0 19 00 08 */ lfs f0, 8(r25) -/* 800089D8 00005918 FC 00 00 1E */ fctiwz f0, f0 -/* 800089DC 0000591C D8 01 00 B8 */ stfd f0, 0xb8(r1) -/* 800089E0 00005920 80 01 00 BC */ lwz r0, 0xbc(r1) -/* 800089E4 00005924 54 00 00 38 */ rlwinm r0, r0, 0, 0, 0x1c -/* 800089E8 00005928 7C 1B 07 34 */ extsh r27, r0 -/* 800089EC 0000592C C0 19 00 0C */ lfs f0, 0xc(r25) -/* 800089F0 00005930 FC 00 00 1E */ fctiwz f0, f0 -/* 800089F4 00005934 D8 01 00 C0 */ stfd f0, 0xc0(r1) -/* 800089F8 00005938 80 01 00 C4 */ lwz r0, 0xc4(r1) -/* 800089FC 0000593C 54 00 00 38 */ rlwinm r0, r0, 0, 0, 0x1c -/* 80008A00 00005940 7C 1A 07 34 */ extsh r26, r0 -/* 80008A04 00005944 83 0D 86 58 */ lwz r24, lbl_80450BD8-_SDA_BASE_(r13) -/* 80008A08 00005948 82 ED 86 50 */ lwz r23, lbl_80450BD0-_SDA_BASE_(r13) -/* 80008A0C 0000594C 40 80 00 50 */ bge lbl_80008A5C -/* 80008A10 00005950 7F 5A 1A 14 */ add r26, r26, r3 -/* 80008A14 00005954 7C 03 00 D0 */ neg r0, r3 -/* 80008A18 00005958 7C 00 0E 70 */ srawi r0, r0, 1 -/* 80008A1C 0000595C 38 60 01 30 */ li r3, 0x130 -/* 80008A20 00005960 54 15 04 3E */ clrlwi r21, r0, 0x10 -/* 80008A24 00005964 7E A4 AB 78 */ mr r4, r21 -/* 80008A28 00005968 38 A0 00 03 */ li r5, 3 -/* 80008A2C 0000596C 38 C0 00 00 */ li r6, 0 -/* 80008A30 00005970 38 E0 00 00 */ li r7, 0 -/* 80008A34 00005974 48 35 51 E9 */ bl GXGetTexBufferSize -/* 80008A38 00005978 7F 18 1A 14 */ add r24, r24, r3 -/* 80008A3C 0000597C 38 60 01 30 */ li r3, 0x130 -/* 80008A40 00005980 7E A4 AB 78 */ mr r4, r21 -/* 80008A44 00005984 80 AD 86 4C */ lwz r5, lbl_80450BCC-_SDA_BASE_(r13) -/* 80008A48 00005988 88 A5 00 00 */ lbz r5, 0(r5) -/* 80008A4C 0000598C 38 C0 00 00 */ li r6, 0 -/* 80008A50 00005990 38 E0 00 00 */ li r7, 0 -/* 80008A54 00005994 48 35 51 C9 */ bl GXGetTexBufferSize -/* 80008A58 00005998 7E F7 1A 14 */ add r23, r23, r3 -lbl_80008A5C: -/* 80008A5C 0000599C 7F 60 0E 70 */ srawi r0, r27, 1 -/* 80008A60 000059A0 54 16 04 3E */ clrlwi r22, r0, 0x10 -/* 80008A64 000059A4 7F 40 07 34 */ extsh r0, r26 -/* 80008A68 000059A8 7C 00 0E 70 */ srawi r0, r0, 1 -/* 80008A6C 000059AC 54 15 04 3E */ clrlwi r21, r0, 0x10 -/* 80008A70 000059B0 80 6D 8F B8 */ lwz r3, lbl_80451538-_SDA_BASE_(r13) -/* 80008A74 000059B4 80 C3 00 04 */ lwz r6, 4(r3) -/* 80008A78 000059B8 38 60 00 00 */ li r3, 0 -/* 80008A7C 000059BC 38 80 00 00 */ li r4, 0 -/* 80008A80 000059C0 38 A0 00 01 */ li r5, 1 -/* 80008A84 000059C4 38 C6 00 32 */ addi r6, r6, 0x32 -/* 80008A88 000059C8 48 35 46 61 */ bl GXSetCopyFilter -/* 80008A8C 000059CC 57 B1 04 3E */ clrlwi r17, r29, 0x10 -/* 80008A90 000059D0 7E 23 8B 78 */ mr r3, r17 -/* 80008A94 000059D4 57 92 04 3E */ clrlwi r18, r28, 0x10 -/* 80008A98 000059D8 7E 44 93 78 */ mr r4, r18 -/* 80008A9C 000059DC 57 73 04 3E */ clrlwi r19, r27, 0x10 -/* 80008AA0 000059E0 7E 65 9B 78 */ mr r5, r19 -/* 80008AA4 000059E4 57 54 04 3E */ clrlwi r20, r26, 0x10 -/* 80008AA8 000059E8 7E 86 A3 78 */ mr r6, r20 -/* 80008AAC 000059EC 48 35 3F D5 */ bl GXSetTexCopySrc -/* 80008AB0 000059F0 7E C3 B3 78 */ mr r3, r22 -/* 80008AB4 000059F4 7E A4 AB 78 */ mr r4, r21 -/* 80008AB8 000059F8 38 A0 00 13 */ li r5, 0x13 -/* 80008ABC 000059FC 38 C0 00 01 */ li r6, 1 -/* 80008AC0 00005A00 48 35 40 71 */ bl GXSetTexCopyDst -/* 80008AC4 00005A04 7F 03 C3 78 */ mr r3, r24 -/* 80008AC8 00005A08 38 80 00 00 */ li r4, 0 -/* 80008ACC 00005A0C 48 35 49 A1 */ bl GXCopyTex -/* 80008AD0 00005A10 7E 23 8B 78 */ mr r3, r17 -/* 80008AD4 00005A14 7E 44 93 78 */ mr r4, r18 -/* 80008AD8 00005A18 7E 65 9B 78 */ mr r5, r19 -/* 80008ADC 00005A1C 7E 86 A3 78 */ mr r6, r20 -/* 80008AE0 00005A20 48 35 3F A1 */ bl GXSetTexCopySrc -/* 80008AE4 00005A24 7E C3 B3 78 */ mr r3, r22 -/* 80008AE8 00005A28 7E A4 AB 78 */ mr r4, r21 -/* 80008AEC 00005A2C 80 AD 86 4C */ lwz r5, lbl_80450BCC-_SDA_BASE_(r13) -/* 80008AF0 00005A30 88 A5 00 00 */ lbz r5, 0(r5) -/* 80008AF4 00005A34 38 C0 00 01 */ li r6, 1 -/* 80008AF8 00005A38 48 35 40 39 */ bl GXSetTexCopyDst -/* 80008AFC 00005A3C 7E E3 BB 78 */ mr r3, r23 -/* 80008B00 00005A40 38 80 00 00 */ li r4, 0 -/* 80008B04 00005A44 48 35 49 69 */ bl GXCopyTex -/* 80008B08 00005A48 3C 60 80 3E */ lis r3, lbl_803DD408@ha -/* 80008B0C 00005A4C 38 63 D4 08 */ addi r3, r3, lbl_803DD408@l -/* 80008B10 00005A50 7F 04 C3 78 */ mr r4, r24 -/* 80008B14 00005A54 7E C5 B3 78 */ mr r5, r22 -/* 80008B18 00005A58 7E A6 AB 78 */ mr r6, r21 -/* 80008B1C 00005A5C 38 E0 00 03 */ li r7, 3 -/* 80008B20 00005A60 39 00 00 00 */ li r8, 0 -/* 80008B24 00005A64 39 20 00 00 */ li r9, 0 -/* 80008B28 00005A68 39 40 00 00 */ li r10, 0 -/* 80008B2C 00005A6C 48 35 53 15 */ bl GXInitTexObj -/* 80008B30 00005A70 3C 60 80 3E */ lis r3, lbl_803DD408@ha -/* 80008B34 00005A74 38 63 D4 08 */ addi r3, r3, lbl_803DD408@l -/* 80008B38 00005A78 38 80 00 00 */ li r4, 0 -/* 80008B3C 00005A7C 38 A0 00 00 */ li r5, 0 -/* 80008B40 00005A80 C0 22 80 38 */ lfs f1, lbl_80451A38-_SDA2_BASE_(r2) -/* 80008B44 00005A84 FC 40 08 90 */ fmr f2, f1 -/* 80008B48 00005A88 FC 60 08 90 */ fmr f3, f1 -/* 80008B4C 00005A8C 38 C0 00 00 */ li r6, 0 -/* 80008B50 00005A90 38 E0 00 00 */ li r7, 0 -/* 80008B54 00005A94 39 00 00 00 */ li r8, 0 -/* 80008B58 00005A98 48 35 55 7D */ bl GXInitTexObjLOD -/* 80008B5C 00005A9C 3C 60 80 3E */ lis r3, lbl_803DD3E8@ha -/* 80008B60 00005AA0 38 63 D3 E8 */ addi r3, r3, lbl_803DD3E8@l -/* 80008B64 00005AA4 7E E4 BB 78 */ mr r4, r23 -/* 80008B68 00005AA8 7E C5 B3 78 */ mr r5, r22 -/* 80008B6C 00005AAC 7E A6 AB 78 */ mr r6, r21 -/* 80008B70 00005AB0 80 ED 86 4C */ lwz r7, lbl_80450BCC-_SDA_BASE_(r13) -/* 80008B74 00005AB4 88 E7 00 00 */ lbz r7, 0(r7) -/* 80008B78 00005AB8 39 00 00 00 */ li r8, 0 -/* 80008B7C 00005ABC 39 20 00 00 */ li r9, 0 -/* 80008B80 00005AC0 39 40 00 00 */ li r10, 0 -/* 80008B84 00005AC4 48 35 52 BD */ bl GXInitTexObj -/* 80008B88 00005AC8 3C 60 80 3E */ lis r3, lbl_803DD3E8@ha -/* 80008B8C 00005ACC 38 63 D3 E8 */ addi r3, r3, lbl_803DD3E8@l -/* 80008B90 00005AD0 38 80 00 01 */ li r4, 1 -/* 80008B94 00005AD4 38 A0 00 01 */ li r5, 1 -/* 80008B98 00005AD8 C0 22 80 38 */ lfs f1, lbl_80451A38-_SDA2_BASE_(r2) -/* 80008B9C 00005ADC FC 40 08 90 */ fmr f2, f1 -/* 80008BA0 00005AE0 FC 60 08 90 */ fmr f3, f1 -/* 80008BA4 00005AE4 38 C0 00 00 */ li r6, 0 -/* 80008BA8 00005AE8 38 E0 00 00 */ li r7, 0 -/* 80008BAC 00005AEC 39 00 00 00 */ li r8, 0 -/* 80008BB0 00005AF0 48 35 55 25 */ bl GXInitTexObjLOD -/* 80008BB4 00005AF4 48 35 37 C1 */ bl GXPixModeSync -/* 80008BB8 00005AF8 48 35 5A AD */ bl GXInvalidateTexAll -/* 80008BBC 00005AFC 3C 60 80 3E */ lis r3, lbl_803DD3E8@ha -/* 80008BC0 00005B00 38 63 D3 E8 */ addi r3, r3, lbl_803DD3E8@l -/* 80008BC4 00005B04 38 80 00 01 */ li r4, 1 -/* 80008BC8 00005B08 48 35 58 4D */ bl GXLoadTexObj -/* 80008BCC 00005B0C 3C 60 80 3E */ lis r3, lbl_803DD408@ha -/* 80008BD0 00005B10 38 63 D4 08 */ addi r3, r3, lbl_803DD408@l -/* 80008BD4 00005B14 38 80 00 00 */ li r4, 0 -/* 80008BD8 00005B18 48 35 58 3D */ bl GXLoadTexObj -/* 80008BDC 00005B1C C0 02 80 38 */ lfs f0, lbl_80451A38-_SDA2_BASE_(r2) -/* 80008BE0 00005B20 3C 60 80 43 */ lis r3, lbl_8042CA54@ha -/* 80008BE4 00005B24 3A A3 CA 54 */ addi r21, r3, lbl_8042CA54@l -/* 80008BE8 00005B28 C0 75 12 70 */ lfs f3, 0x1270(r21) -/* 80008BEC 00005B2C FC 00 18 00 */ fcmpu cr0, f0, f3 -/* 80008BF0 00005B30 41 82 00 5C */ beq lbl_80008C4C -/* 80008BF4 00005B34 FC 03 00 40 */ fcmpo cr0, f3, f0 -/* 80008BF8 00005B38 4C 41 13 82 */ cror 2, 1, 2 -/* 80008BFC 00005B3C 40 82 00 28 */ bne lbl_80008C24 -/* 80008C00 00005B40 C0 22 80 98 */ lfs f1, lbl_80451A98-_SDA2_BASE_(r2) -/* 80008C04 00005B44 C0 02 80 9C */ lfs f0, lbl_80451A9C-_SDA2_BASE_(r2) -/* 80008C08 00005B48 EC 00 00 F2 */ fmuls f0, f0, f3 -/* 80008C0C 00005B4C EC 01 00 2A */ fadds f0, f1, f0 -/* 80008C10 00005B50 FC 00 00 1E */ fctiwz f0, f0 -/* 80008C14 00005B54 D8 01 00 C0 */ stfd f0, 0xc0(r1) -/* 80008C18 00005B58 80 01 00 C4 */ lwz r0, 0xc4(r1) -/* 80008C1C 00005B5C B0 1E 00 06 */ sth r0, 6(r30) -/* 80008C20 00005B60 48 00 00 2C */ b lbl_80008C4C -lbl_80008C24: -/* 80008C24 00005B64 C0 42 80 98 */ lfs f2, lbl_80451A98-_SDA2_BASE_(r2) -/* 80008C28 00005B68 C0 22 80 9C */ lfs f1, lbl_80451A9C-_SDA2_BASE_(r2) -/* 80008C2C 00005B6C C0 02 80 3C */ lfs f0, lbl_80451A3C-_SDA2_BASE_(r2) -/* 80008C30 00005B70 EC 00 18 2A */ fadds f0, f0, f3 -/* 80008C34 00005B74 EC 01 00 32 */ fmuls f0, f1, f0 -/* 80008C38 00005B78 EC 02 00 2A */ fadds f0, f2, f0 -/* 80008C3C 00005B7C FC 00 00 1E */ fctiwz f0, f0 -/* 80008C40 00005B80 D8 01 00 C0 */ stfd f0, 0xc0(r1) -/* 80008C44 00005B84 80 01 00 C4 */ lwz r0, 0xc4(r1) -/* 80008C48 00005B88 B0 1E 00 06 */ sth r0, 6(r30) -lbl_80008C4C: -/* 80008C4C 00005B8C 80 6D 80 18 */ lwz r3, lbl_80450598-_SDA_BASE_(r13) -/* 80008C50 00005B90 80 0D 80 1C */ lwz r0, lbl_8045059C-_SDA_BASE_(r13) -/* 80008C54 00005B94 90 61 00 20 */ stw r3, 0x20(r1) -/* 80008C58 00005B98 90 01 00 24 */ stw r0, 0x24(r1) -/* 80008C5C 00005B9C 38 60 00 01 */ li r3, 1 -/* 80008C60 00005BA0 38 81 00 20 */ addi r4, r1, 0x20 -/* 80008C64 00005BA4 48 35 67 79 */ bl GXSetTevColorS10 -/* 80008C68 00005BA8 38 60 00 03 */ li r3, 3 -/* 80008C6C 00005BAC 38 80 00 03 */ li r4, 3 -/* 80008C70 00005BB0 38 A0 00 01 */ li r5, 1 -/* 80008C74 00005BB4 38 C0 00 02 */ li r6, 2 -/* 80008C78 00005BB8 38 E0 00 00 */ li r7, 0 -/* 80008C7C 00005BBC 48 35 69 29 */ bl GXSetTevSwapModeTable -/* 80008C80 00005BC0 38 60 00 00 */ li r3, 0 -/* 80008C84 00005BC4 38 80 00 00 */ li r4, 0 -/* 80008C88 00005BC8 38 A0 00 03 */ li r5, 3 -/* 80008C8C 00005BCC 48 35 68 D1 */ bl GXSetTevSwapMode -/* 80008C90 00005BD0 38 60 00 00 */ li r3, 0 -/* 80008C94 00005BD4 38 80 00 00 */ li r4, 0 -/* 80008C98 00005BD8 48 35 68 69 */ bl GXSetTevKAlphaSel -/* 80008C9C 00005BDC 38 60 00 00 */ li r3, 0 -/* 80008CA0 00005BE0 38 80 00 00 */ li r4, 0 -/* 80008CA4 00005BE4 38 A0 00 00 */ li r5, 0 -/* 80008CA8 00005BE8 38 C0 00 FF */ li r6, 0xff -/* 80008CAC 00005BEC 48 35 6A 49 */ bl GXSetTevOrder -/* 80008CB0 00005BF0 38 60 00 00 */ li r3, 0 -/* 80008CB4 00005BF4 38 80 00 0F */ li r4, 0xf -/* 80008CB8 00005BF8 38 A0 00 0F */ li r5, 0xf -/* 80008CBC 00005BFC 38 C0 00 0F */ li r6, 0xf -/* 80008CC0 00005C00 38 E0 00 0F */ li r7, 0xf -/* 80008CC4 00005C04 48 35 65 61 */ bl GXSetTevColorIn -/* 80008CC8 00005C08 38 60 00 00 */ li r3, 0 -/* 80008CCC 00005C0C 38 80 00 00 */ li r4, 0 -/* 80008CD0 00005C10 38 A0 00 00 */ li r5, 0 -/* 80008CD4 00005C14 38 C0 00 00 */ li r6, 0 -/* 80008CD8 00005C18 38 E0 00 01 */ li r7, 1 -/* 80008CDC 00005C1C 39 00 00 00 */ li r8, 0 -/* 80008CE0 00005C20 48 35 65 CD */ bl GXSetTevColorOp -/* 80008CE4 00005C24 38 60 00 00 */ li r3, 0 -/* 80008CE8 00005C28 38 80 00 06 */ li r4, 6 -/* 80008CEC 00005C2C 38 A0 00 04 */ li r5, 4 -/* 80008CF0 00005C30 38 C0 00 06 */ li r6, 6 -/* 80008CF4 00005C34 38 E0 00 07 */ li r7, 7 -/* 80008CF8 00005C38 48 35 65 71 */ bl GXSetTevAlphaIn -/* 80008CFC 00005C3C 38 60 00 00 */ li r3, 0 -/* 80008D00 00005C40 38 80 00 0F */ li r4, 0xf -/* 80008D04 00005C44 38 A0 00 00 */ li r5, 0 -/* 80008D08 00005C48 38 C0 00 00 */ li r6, 0 -/* 80008D0C 00005C4C 38 E0 00 01 */ li r7, 1 -/* 80008D10 00005C50 39 00 00 00 */ li r8, 0 -/* 80008D14 00005C54 48 35 66 01 */ bl GXSetTevAlphaOp -/* 80008D18 00005C58 38 60 00 01 */ li r3, 1 -/* 80008D1C 00005C5C 38 80 00 00 */ li r4, 0 -/* 80008D20 00005C60 38 A0 00 00 */ li r5, 0 -/* 80008D24 00005C64 38 C0 00 FF */ li r6, 0xff -/* 80008D28 00005C68 48 35 69 CD */ bl GXSetTevOrder -/* 80008D2C 00005C6C 38 60 00 01 */ li r3, 1 -/* 80008D30 00005C70 38 80 00 0F */ li r4, 0xf -/* 80008D34 00005C74 38 A0 00 0F */ li r5, 0xf -/* 80008D38 00005C78 38 C0 00 0F */ li r6, 0xf -/* 80008D3C 00005C7C 38 E0 00 0F */ li r7, 0xf -/* 80008D40 00005C80 48 35 64 E5 */ bl GXSetTevColorIn -/* 80008D44 00005C84 38 60 00 01 */ li r3, 1 -/* 80008D48 00005C88 38 80 00 00 */ li r4, 0 -/* 80008D4C 00005C8C 38 A0 00 00 */ li r5, 0 -/* 80008D50 00005C90 38 C0 00 00 */ li r6, 0 -/* 80008D54 00005C94 38 E0 00 01 */ li r7, 1 -/* 80008D58 00005C98 39 00 00 00 */ li r8, 0 -/* 80008D5C 00005C9C 48 35 65 51 */ bl GXSetTevColorOp -/* 80008D60 00005CA0 38 60 00 01 */ li r3, 1 -/* 80008D64 00005CA4 38 80 00 07 */ li r4, 7 -/* 80008D68 00005CA8 38 A0 00 00 */ li r5, 0 -/* 80008D6C 00005CAC 38 C0 00 04 */ li r6, 4 -/* 80008D70 00005CB0 38 E0 00 01 */ li r7, 1 -/* 80008D74 00005CB4 48 35 64 F5 */ bl GXSetTevAlphaIn -/* 80008D78 00005CB8 38 60 00 01 */ li r3, 1 -/* 80008D7C 00005CBC 38 80 00 00 */ li r4, 0 -/* 80008D80 00005CC0 38 A0 00 00 */ li r5, 0 -/* 80008D84 00005CC4 38 C0 00 02 */ li r6, 2 -/* 80008D88 00005CC8 38 E0 00 01 */ li r7, 1 -/* 80008D8C 00005CCC 39 00 00 00 */ li r8, 0 -/* 80008D90 00005CD0 48 35 65 85 */ bl GXSetTevAlphaOp -/* 80008D94 00005CD4 38 60 00 02 */ li r3, 2 -/* 80008D98 00005CD8 38 80 00 01 */ li r4, 1 -/* 80008D9C 00005CDC 38 A0 00 01 */ li r5, 1 -/* 80008DA0 00005CE0 38 C0 00 FF */ li r6, 0xff -/* 80008DA4 00005CE4 48 35 69 51 */ bl GXSetTevOrder -/* 80008DA8 00005CE8 38 60 00 02 */ li r3, 2 -/* 80008DAC 00005CEC 38 80 00 0F */ li r4, 0xf -/* 80008DB0 00005CF0 38 A0 00 0F */ li r5, 0xf -/* 80008DB4 00005CF4 38 C0 00 0F */ li r6, 0xf -/* 80008DB8 00005CF8 38 E0 00 08 */ li r7, 8 -/* 80008DBC 00005CFC 48 35 64 69 */ bl GXSetTevColorIn -/* 80008DC0 00005D00 38 60 00 02 */ li r3, 2 -/* 80008DC4 00005D04 38 80 00 00 */ li r4, 0 -/* 80008DC8 00005D08 38 A0 00 00 */ li r5, 0 -/* 80008DCC 00005D0C 38 C0 00 00 */ li r6, 0 -/* 80008DD0 00005D10 38 E0 00 01 */ li r7, 1 -/* 80008DD4 00005D14 39 00 00 00 */ li r8, 0 -/* 80008DD8 00005D18 48 35 64 D5 */ bl GXSetTevColorOp -/* 80008DDC 00005D1C 38 60 00 02 */ li r3, 2 -/* 80008DE0 00005D20 38 80 00 07 */ li r4, 7 -/* 80008DE4 00005D24 38 A0 00 07 */ li r5, 7 -/* 80008DE8 00005D28 38 C0 00 07 */ li r6, 7 -/* 80008DEC 00005D2C 38 E0 00 00 */ li r7, 0 -/* 80008DF0 00005D30 48 35 64 79 */ bl GXSetTevAlphaIn -/* 80008DF4 00005D34 38 60 00 02 */ li r3, 2 -/* 80008DF8 00005D38 38 80 00 00 */ li r4, 0 -/* 80008DFC 00005D3C 38 A0 00 00 */ li r5, 0 -/* 80008E00 00005D40 38 C0 00 00 */ li r6, 0 -/* 80008E04 00005D44 38 E0 00 01 */ li r7, 1 -/* 80008E08 00005D48 39 00 00 00 */ li r8, 0 -/* 80008E0C 00005D4C 48 35 65 09 */ bl GXSetTevAlphaOp -/* 80008E10 00005D50 38 60 00 03 */ li r3, 3 -/* 80008E14 00005D54 38 80 00 02 */ li r4, 2 -/* 80008E18 00005D58 38 A0 00 01 */ li r5, 1 -/* 80008E1C 00005D5C 38 C0 00 FF */ li r6, 0xff -/* 80008E20 00005D60 48 35 68 D5 */ bl GXSetTevOrder -/* 80008E24 00005D64 38 60 00 03 */ li r3, 3 -/* 80008E28 00005D68 38 80 00 00 */ li r4, 0 -/* 80008E2C 00005D6C 38 A0 00 08 */ li r5, 8 -/* 80008E30 00005D70 38 C0 00 0D */ li r6, 0xd -/* 80008E34 00005D74 38 E0 00 0F */ li r7, 0xf -/* 80008E38 00005D78 48 35 63 ED */ bl GXSetTevColorIn -/* 80008E3C 00005D7C 38 60 00 03 */ li r3, 3 -/* 80008E40 00005D80 38 80 00 00 */ li r4, 0 -/* 80008E44 00005D84 38 A0 00 00 */ li r5, 0 -/* 80008E48 00005D88 38 C0 00 00 */ li r6, 0 -/* 80008E4C 00005D8C 38 E0 00 01 */ li r7, 1 -/* 80008E50 00005D90 39 00 00 00 */ li r8, 0 -/* 80008E54 00005D94 48 35 64 59 */ bl GXSetTevColorOp -/* 80008E58 00005D98 38 60 00 03 */ li r3, 3 -/* 80008E5C 00005D9C 38 80 00 07 */ li r4, 7 -/* 80008E60 00005DA0 38 A0 00 07 */ li r5, 7 -/* 80008E64 00005DA4 38 C0 00 07 */ li r6, 7 -/* 80008E68 00005DA8 38 E0 00 00 */ li r7, 0 -/* 80008E6C 00005DAC 48 35 63 FD */ bl GXSetTevAlphaIn -/* 80008E70 00005DB0 38 60 00 03 */ li r3, 3 -/* 80008E74 00005DB4 38 80 00 00 */ li r4, 0 -/* 80008E78 00005DB8 38 A0 00 00 */ li r5, 0 -/* 80008E7C 00005DBC 38 C0 00 00 */ li r6, 0 -/* 80008E80 00005DC0 38 E0 00 01 */ li r7, 1 -/* 80008E84 00005DC4 39 00 00 00 */ li r8, 0 -/* 80008E88 00005DC8 48 35 64 8D */ bl GXSetTevAlphaOp -/* 80008E8C 00005DCC 38 60 00 01 */ li r3, 1 -/* 80008E90 00005DD0 48 35 6E 41 */ bl GXSetZCompLoc -/* 80008E94 00005DD4 38 60 00 00 */ li r3, 0 -/* 80008E98 00005DD8 38 80 00 07 */ li r4, 7 -/* 80008E9C 00005DDC 38 A0 00 00 */ li r5, 0 -/* 80008EA0 00005DE0 48 35 6D FD */ bl GXSetZMode -/* 80008EA4 00005DE4 C0 35 12 70 */ lfs f1, 0x1270(r21) -/* 80008EA8 00005DE8 C0 02 80 38 */ lfs f0, lbl_80451A38-_SDA2_BASE_(r2) -/* 80008EAC 00005DEC FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80008EB0 00005DF0 4C 41 13 82 */ cror 2, 1, 2 -/* 80008EB4 00005DF4 40 82 00 34 */ bne lbl_80008EE8 -/* 80008EB8 00005DF8 38 60 00 01 */ li r3, 1 -/* 80008EBC 00005DFC 38 80 00 04 */ li r4, 4 -/* 80008EC0 00005E00 38 A0 00 05 */ li r5, 5 -/* 80008EC4 00005E04 38 C0 00 00 */ li r6, 0 -/* 80008EC8 00005E08 48 35 6D 29 */ bl GXSetBlendMode -/* 80008ECC 00005E0C 38 60 00 04 */ li r3, 4 -/* 80008ED0 00005E10 38 80 00 00 */ li r4, 0 -/* 80008ED4 00005E14 38 A0 00 01 */ li r5, 1 -/* 80008ED8 00005E18 38 C0 00 04 */ li r6, 4 -/* 80008EDC 00005E1C 38 E0 00 00 */ li r7, 0 -/* 80008EE0 00005E20 48 35 67 45 */ bl GXSetAlphaCompare -/* 80008EE4 00005E24 48 00 00 30 */ b lbl_80008F14 -lbl_80008EE8: -/* 80008EE8 00005E28 38 60 00 01 */ li r3, 1 -/* 80008EEC 00005E2C 38 80 00 05 */ li r4, 5 -/* 80008EF0 00005E30 38 A0 00 04 */ li r5, 4 -/* 80008EF4 00005E34 38 C0 00 00 */ li r6, 0 -/* 80008EF8 00005E38 48 35 6C F9 */ bl GXSetBlendMode -/* 80008EFC 00005E3C 38 60 00 01 */ li r3, 1 -/* 80008F00 00005E40 38 80 00 FF */ li r4, 0xff -/* 80008F04 00005E44 38 A0 00 01 */ li r5, 1 -/* 80008F08 00005E48 38 C0 00 01 */ li r6, 1 -/* 80008F0C 00005E4C 38 E0 00 FF */ li r7, 0xff -/* 80008F10 00005E50 48 35 67 15 */ bl GXSetAlphaCompare -lbl_80008F14: -/* 80008F14 00005E54 80 0D 80 80 */ lwz r0, lbl_80450600-_SDA_BASE_(r13) -/* 80008F18 00005E58 90 01 00 10 */ stw r0, 0x10(r1) -/* 80008F1C 00005E5C 38 60 00 00 */ li r3, 0 -/* 80008F20 00005E60 C0 22 80 38 */ lfs f1, lbl_80451A38-_SDA2_BASE_(r2) -/* 80008F24 00005E64 FC 40 08 90 */ fmr f2, f1 -/* 80008F28 00005E68 FC 60 08 90 */ fmr f3, f1 -/* 80008F2C 00005E6C FC 80 08 90 */ fmr f4, f1 -/* 80008F30 00005E70 38 81 00 10 */ addi r4, r1, 0x10 -/* 80008F34 00005E74 48 35 69 85 */ bl GXSetFog -/* 80008F38 00005E78 38 60 00 00 */ li r3, 0 -/* 80008F3C 00005E7C 48 35 3A 49 */ bl GXSetCullMode -/* 80008F40 00005E80 38 60 00 01 */ li r3, 1 -/* 80008F44 00005E84 48 35 6E 95 */ bl GXSetDither -/* 80008F48 00005E88 38 60 00 00 */ li r3, 0 -/* 80008F4C 00005E8C 48 35 61 89 */ bl GXSetNumIndStages -/* 80008F50 00005E90 C0 79 00 00 */ lfs f3, 0(r25) -/* 80008F54 00005E94 C0 39 00 04 */ lfs f1, 4(r25) -/* 80008F58 00005E98 38 61 00 68 */ addi r3, r1, 0x68 -/* 80008F5C 00005E9C C0 19 00 0C */ lfs f0, 0xc(r25) -/* 80008F60 00005EA0 EC 41 00 2A */ fadds f2, f1, f0 -/* 80008F64 00005EA4 C0 19 00 08 */ lfs f0, 8(r25) -/* 80008F68 00005EA8 EC 83 00 2A */ fadds f4, f3, f0 -/* 80008F6C 00005EAC C0 A2 80 38 */ lfs f5, lbl_80451A38-_SDA2_BASE_(r2) -/* 80008F70 00005EB0 C0 C2 80 40 */ lfs f6, lbl_80451A40-_SDA2_BASE_(r2) -/* 80008F74 00005EB4 48 33 E0 85 */ bl C_MTXOrtho -/* 80008F78 00005EB8 3C 60 80 3A */ lis r3, lbl_803A2FD8@ha -/* 80008F7C 00005EBC 38 63 2F D8 */ addi r3, r3, lbl_803A2FD8@l -/* 80008F80 00005EC0 38 80 00 00 */ li r4, 0 -/* 80008F84 00005EC4 48 35 72 C9 */ bl GXLoadPosMtxImm -/* 80008F88 00005EC8 3C 60 80 3E */ lis r3, lbl_803DD470@ha -/* 80008F8C 00005ECC 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l -/* 80008F90 00005ED0 C0 22 80 A0 */ lfs f1, lbl_80451AA0-_SDA2_BASE_(r2) -/* 80008F94 00005ED4 FC 40 08 90 */ fmr f2, f1 -/* 80008F98 00005ED8 C0 62 80 38 */ lfs f3, lbl_80451A38-_SDA2_BASE_(r2) -/* 80008F9C 00005EDC 48 33 D9 4D */ bl PSMTXTrans -/* 80008FA0 00005EE0 3C 60 80 3E */ lis r3, lbl_803DD470@ha -/* 80008FA4 00005EE4 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l -/* 80008FA8 00005EE8 38 80 00 1E */ li r4, 0x1e -/* 80008FAC 00005EEC 38 A0 00 01 */ li r5, 1 -/* 80008FB0 00005EF0 48 35 73 71 */ bl GXLoadTexMtxImm -/* 80008FB4 00005EF4 3C 60 80 3E */ lis r3, lbl_803DD470@ha -/* 80008FB8 00005EF8 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l -/* 80008FBC 00005EFC C0 22 80 A4 */ lfs f1, lbl_80451AA4-_SDA2_BASE_(r2) -/* 80008FC0 00005F00 FC 40 08 90 */ fmr f2, f1 -/* 80008FC4 00005F04 C0 62 80 38 */ lfs f3, lbl_80451A38-_SDA2_BASE_(r2) -/* 80008FC8 00005F08 48 33 D9 21 */ bl PSMTXTrans -/* 80008FCC 00005F0C 3C 60 80 3E */ lis r3, lbl_803DD470@ha -/* 80008FD0 00005F10 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l -/* 80008FD4 00005F14 38 80 00 21 */ li r4, 0x21 -/* 80008FD8 00005F18 38 A0 00 01 */ li r5, 1 -/* 80008FDC 00005F1C 48 35 73 45 */ bl GXLoadTexMtxImm -/* 80008FE0 00005F20 48 35 25 AD */ bl GXClearVtxDesc -/* 80008FE4 00005F24 38 60 00 09 */ li r3, 9 -/* 80008FE8 00005F28 38 80 00 01 */ li r4, 1 -/* 80008FEC 00005F2C 48 35 1E CD */ bl GXSetVtxDesc -/* 80008FF0 00005F30 38 60 00 0D */ li r3, 0xd -/* 80008FF4 00005F34 38 80 00 01 */ li r4, 1 -/* 80008FF8 00005F38 48 35 1E C1 */ bl GXSetVtxDesc -/* 80008FFC 00005F3C 38 60 00 00 */ li r3, 0 -/* 80009000 00005F40 38 80 00 09 */ li r4, 9 -/* 80009004 00005F44 38 A0 00 01 */ li r5, 1 -/* 80009008 00005F48 38 C0 00 03 */ li r6, 3 -/* 8000900C 00005F4C 38 E0 00 00 */ li r7, 0 -/* 80009010 00005F50 48 35 25 B5 */ bl GXSetVtxAttrFmt -/* 80009014 00005F54 38 60 00 00 */ li r3, 0 -/* 80009018 00005F58 38 80 00 0D */ li r4, 0xd -/* 8000901C 00005F5C 38 A0 00 01 */ li r5, 1 -/* 80009020 00005F60 38 C0 00 01 */ li r6, 1 -/* 80009024 00005F64 38 E0 00 00 */ li r7, 0 -/* 80009028 00005F68 48 35 25 9D */ bl GXSetVtxAttrFmt -/* 8000902C 00005F6C 38 60 00 00 */ li r3, 0 -/* 80009030 00005F70 38 80 00 01 */ li r4, 1 -/* 80009034 00005F74 38 A0 00 04 */ li r5, 4 -/* 80009038 00005F78 38 C0 00 3C */ li r6, 0x3c -/* 8000903C 00005F7C 38 E0 00 00 */ li r7, 0 -/* 80009040 00005F80 39 00 00 7D */ li r8, 0x7d -/* 80009044 00005F84 48 35 2B 39 */ bl GXSetTexCoordGen2 -/* 80009048 00005F88 38 60 00 01 */ li r3, 1 -/* 8000904C 00005F8C 38 80 00 01 */ li r4, 1 -/* 80009050 00005F90 38 A0 00 04 */ li r5, 4 -/* 80009054 00005F94 38 C0 00 1E */ li r6, 0x1e -/* 80009058 00005F98 38 E0 00 00 */ li r7, 0 -/* 8000905C 00005F9C 39 00 00 7D */ li r8, 0x7d -/* 80009060 00005FA0 48 35 2B 1D */ bl GXSetTexCoordGen2 -/* 80009064 00005FA4 38 60 00 02 */ li r3, 2 -/* 80009068 00005FA8 38 80 00 01 */ li r4, 1 -/* 8000906C 00005FAC 38 A0 00 04 */ li r5, 4 -/* 80009070 00005FB0 38 C0 00 21 */ li r6, 0x21 -/* 80009074 00005FB4 38 E0 00 00 */ li r7, 0 -/* 80009078 00005FB8 39 00 00 7D */ li r8, 0x7d -/* 8000907C 00005FBC 48 35 2B 01 */ bl GXSetTexCoordGen2 -/* 80009080 00005FC0 38 60 00 00 */ li r3, 0 -/* 80009084 00005FC4 48 35 4A AD */ bl GXSetNumChans -/* 80009088 00005FC8 38 60 00 03 */ li r3, 3 -/* 8000908C 00005FCC 48 35 2D 71 */ bl GXSetNumTexGens -/* 80009090 00005FD0 38 60 00 04 */ li r3, 4 -/* 80009094 00005FD4 48 35 67 FD */ bl GXSetNumTevStages -/* 80009098 00005FD8 38 61 00 68 */ addi r3, r1, 0x68 -/* 8000909C 00005FDC 38 80 00 01 */ li r4, 1 -/* 800090A0 00005FE0 48 35 70 35 */ bl GXSetProjection -/* 800090A4 00005FE4 38 60 00 00 */ li r3, 0 -/* 800090A8 00005FE8 48 35 72 45 */ bl GXSetCurrentMtx -/* 800090AC 00005FEC A8 1E 00 06 */ lha r0, 6(r30) -/* 800090B0 00005FF0 2C 00 FF 01 */ cmpwi r0, -255 -/* 800090B4 00005FF4 40 81 00 74 */ ble lbl_80009128 -/* 800090B8 00005FF8 38 60 00 80 */ li r3, 0x80 -/* 800090BC 00005FFC 38 80 00 00 */ li r4, 0 -/* 800090C0 00006000 38 A0 00 04 */ li r5, 4 -/* 800090C4 00006004 48 35 36 A1 */ bl GXBegin -/* 800090C8 00006008 3C A0 CC 01 */ lis r5, 0xCC008000@ha -/* 800090CC 0000600C B3 A5 80 00 */ sth r29, 0xCC008000@l(r5) -/* 800090D0 00006010 B3 85 80 00 */ sth r28, -0x8000(r5) -/* 800090D4 00006014 38 80 FF FB */ li r4, -5 -/* 800090D8 00006018 B0 85 80 00 */ sth r4, -0x8000(r5) -/* 800090DC 0000601C 38 60 00 00 */ li r3, 0 -/* 800090E0 00006020 98 65 80 00 */ stb r3, -0x8000(r5) -/* 800090E4 00006024 98 65 80 00 */ stb r3, -0x8000(r5) -/* 800090E8 00006028 B3 65 80 00 */ sth r27, -0x8000(r5) -/* 800090EC 0000602C B3 85 80 00 */ sth r28, -0x8000(r5) -/* 800090F0 00006030 B0 85 80 00 */ sth r4, -0x8000(r5) -/* 800090F4 00006034 38 00 00 01 */ li r0, 1 -/* 800090F8 00006038 98 05 80 00 */ stb r0, -0x8000(r5) -/* 800090FC 0000603C 98 65 80 00 */ stb r3, -0x8000(r5) -/* 80009100 00006040 B3 65 80 00 */ sth r27, -0x8000(r5) -/* 80009104 00006044 B3 45 80 00 */ sth r26, -0x8000(r5) -/* 80009108 00006048 B0 85 80 00 */ sth r4, -0x8000(r5) -/* 8000910C 0000604C 98 05 80 00 */ stb r0, -0x8000(r5) -/* 80009110 00006050 98 05 80 00 */ stb r0, -0x8000(r5) -/* 80009114 00006054 B3 A5 80 00 */ sth r29, -0x8000(r5) -/* 80009118 00006058 B3 45 80 00 */ sth r26, -0x8000(r5) -/* 8000911C 0000605C B0 85 80 00 */ sth r4, -0x8000(r5) -/* 80009120 00006060 98 65 80 00 */ stb r3, -0x8000(r5) -/* 80009124 00006064 98 05 80 00 */ stb r0, -0x8000(r5) -lbl_80009128: -/* 80009128 00006068 38 60 00 03 */ li r3, 3 -/* 8000912C 0000606C 38 80 00 02 */ li r4, 2 -/* 80009130 00006070 38 A0 00 02 */ li r5, 2 -/* 80009134 00006074 38 C0 00 02 */ li r6, 2 -/* 80009138 00006078 38 E0 00 03 */ li r7, 3 -/* 8000913C 0000607C 48 35 64 69 */ bl GXSetTevSwapModeTable -/* 80009140 00006080 38 60 00 00 */ li r3, 0 -/* 80009144 00006084 38 80 00 00 */ li r4, 0 -/* 80009148 00006088 38 A0 00 00 */ li r5, 0 -/* 8000914C 0000608C 48 35 64 11 */ bl GXSetTevSwapMode -/* 80009150 00006090 38 7F 01 00 */ addi r3, r31, 0x100 -/* 80009154 00006094 38 80 00 00 */ li r4, 0 -/* 80009158 00006098 48 35 6F 7D */ bl GXSetProjection -lbl_8000915C: -/* 8000915C 0000609C E3 E1 01 28 */ psq_l f31, 296(r1), 0, qr0 -/* 80009160 000060A0 CB E1 01 20 */ lfd f31, 0x120(r1) -/* 80009164 000060A4 E3 C1 01 18 */ psq_l f30, 280(r1), 0, qr0 -/* 80009168 000060A8 CB C1 01 10 */ lfd f30, 0x110(r1) -/* 8000916C 000060AC 39 61 01 10 */ addi r11, r1, 0x110 -/* 80009170 000060B0 48 35 90 89 */ bl _restgpr_17 -/* 80009174 000060B4 80 01 01 34 */ lwz r0, 0x134(r1) -/* 80009178 000060B8 7C 08 03 A6 */ mtlr r0 -/* 8000917C 000060BC 38 21 01 30 */ addi r1, r1, 0x130 -/* 80009180 000060C0 4E 80 00 20 */ blr - -.global cXyz_NS_dtor -cXyz_NS_dtor: -/* 80009184 000060C4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80009188 000060C8 7C 08 02 A6 */ mflr r0 -/* 8000918C 000060CC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80009190 000060D0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80009194 000060D4 7C 7F 1B 79 */ or. r31, r3, r3 -/* 80009198 000060D8 41 82 00 10 */ beq lbl_800091A8 -/* 8000919C 000060DC 7C 80 07 35 */ extsh. r0, r4 -/* 800091A0 000060E0 40 81 00 08 */ ble lbl_800091A8 -/* 800091A4 000060E4 48 2C 5B 99 */ bl __dl__FPv -lbl_800091A8: -/* 800091A8 000060E8 7F E3 FB 78 */ mr r3, r31 -/* 800091AC 000060EC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800091B0 000060F0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800091B4 000060F4 7C 08 03 A6 */ mtlr r0 -/* 800091B8 000060F8 38 21 00 10 */ addi r1, r1, 0x10 -/* 800091BC 000060FC 4E 80 00 20 */ blr - -.global trimming -trimming: -/* 800091C0 00006100 94 21 FF 90 */ stwu r1, -0x70(r1) -/* 800091C4 00006104 7C 08 02 A6 */ mflr r0 -/* 800091C8 00006108 90 01 00 74 */ stw r0, 0x74(r1) -/* 800091CC 0000610C 39 61 00 70 */ addi r11, r1, 0x70 -/* 800091D0 00006110 48 35 90 09 */ bl _savegpr_28 -/* 800091D4 00006114 7C 9F 23 78 */ mr r31, r4 -/* 800091D8 00006118 C0 24 00 04 */ lfs f1, 4(r4) -/* 800091DC 0000611C FC 00 08 1E */ fctiwz f0, f1 -/* 800091E0 00006120 D8 01 00 50 */ stfd f0, 0x50(r1) -/* 800091E4 00006124 80 01 00 54 */ lwz r0, 0x54(r1) -/* 800091E8 00006128 54 00 00 38 */ rlwinm r0, r0, 0, 0, 0x1c -/* 800091EC 0000612C 7C 03 07 34 */ extsh r3, r0 -/* 800091F0 00006130 7C 60 FE 70 */ srawi r0, r3, 0x1f -/* 800091F4 00006134 7C 60 00 78 */ andc r0, r3, r0 -/* 800091F8 00006138 7C 00 07 35 */ extsh. r0, r0 -/* 800091FC 0000613C 40 82 02 64 */ bne lbl_80009460 -/* 80009200 00006140 C0 5F 00 1C */ lfs f2, 0x1c(r31) -/* 80009204 00006144 FC 02 08 00 */ fcmpu cr0, f2, f1 -/* 80009208 00006148 40 82 00 14 */ bne lbl_8000921C -/* 8000920C 0000614C C0 3F 00 24 */ lfs f1, 0x24(r31) -/* 80009210 00006150 C0 1F 00 0C */ lfs f0, 0xc(r31) -/* 80009214 00006154 FC 01 00 00 */ fcmpu cr0, f1, f0 -/* 80009218 00006158 41 82 02 48 */ beq lbl_80009460 -lbl_8000921C: -/* 8000921C 0000615C FC 00 10 1E */ fctiwz f0, f2 -/* 80009220 00006160 D8 01 00 50 */ stfd f0, 0x50(r1) -/* 80009224 00006164 83 81 00 54 */ lwz r28, 0x54(r1) -/* 80009228 00006168 C0 1F 00 24 */ lfs f0, 0x24(r31) -/* 8000922C 0000616C EC 02 00 2A */ fadds f0, f2, f0 -/* 80009230 00006170 FC 00 00 1E */ fctiwz f0, f0 -/* 80009234 00006174 D8 01 00 58 */ stfd f0, 0x58(r1) -/* 80009238 00006178 83 A1 00 5C */ lwz r29, 0x5c(r1) -/* 8000923C 0000617C 38 60 00 01 */ li r3, 1 -/* 80009240 00006180 48 35 48 F1 */ bl GXSetNumChans -/* 80009244 00006184 38 60 00 02 */ li r3, 2 -/* 80009248 00006188 38 80 00 00 */ li r4, 0 -/* 8000924C 0000618C 38 A0 00 00 */ li r5, 0 -/* 80009250 00006190 38 C0 00 00 */ li r6, 0 -/* 80009254 00006194 38 E0 00 00 */ li r7, 0 -/* 80009258 00006198 39 00 00 00 */ li r8, 0 -/* 8000925C 0000619C 39 20 00 02 */ li r9, 2 -/* 80009260 000061A0 48 35 49 0D */ bl GXSetChanCtrl -/* 80009264 000061A4 38 60 00 00 */ li r3, 0 -/* 80009268 000061A8 48 35 2B 95 */ bl GXSetNumTexGens -/* 8000926C 000061AC 38 60 00 01 */ li r3, 1 -/* 80009270 000061B0 48 35 66 21 */ bl GXSetNumTevStages -/* 80009274 000061B4 38 60 00 00 */ li r3, 0 -/* 80009278 000061B8 38 80 00 FF */ li r4, 0xff -/* 8000927C 000061BC 38 A0 00 FF */ li r5, 0xff -/* 80009280 000061C0 38 C0 00 04 */ li r6, 4 -/* 80009284 000061C4 48 35 64 71 */ bl GXSetTevOrder -/* 80009288 000061C8 38 60 00 00 */ li r3, 0 -/* 8000928C 000061CC 38 80 00 0F */ li r4, 0xf -/* 80009290 000061D0 38 A0 00 0F */ li r5, 0xf -/* 80009294 000061D4 38 C0 00 0F */ li r6, 0xf -/* 80009298 000061D8 38 E0 00 0F */ li r7, 0xf -/* 8000929C 000061DC 48 35 5F 89 */ bl GXSetTevColorIn -/* 800092A0 000061E0 38 60 00 00 */ li r3, 0 -/* 800092A4 000061E4 38 80 00 00 */ li r4, 0 -/* 800092A8 000061E8 38 A0 00 00 */ li r5, 0 -/* 800092AC 000061EC 38 C0 00 00 */ li r6, 0 -/* 800092B0 000061F0 38 E0 00 01 */ li r7, 1 -/* 800092B4 000061F4 39 00 00 00 */ li r8, 0 -/* 800092B8 000061F8 48 35 5F F5 */ bl GXSetTevColorOp -/* 800092BC 000061FC 38 60 00 00 */ li r3, 0 -/* 800092C0 00006200 38 80 00 07 */ li r4, 7 -/* 800092C4 00006204 38 A0 00 07 */ li r5, 7 -/* 800092C8 00006208 38 C0 00 07 */ li r6, 7 -/* 800092CC 0000620C 38 E0 00 07 */ li r7, 7 -/* 800092D0 00006210 48 35 5F 99 */ bl GXSetTevAlphaIn -/* 800092D4 00006214 38 60 00 00 */ li r3, 0 -/* 800092D8 00006218 38 80 00 00 */ li r4, 0 -/* 800092DC 0000621C 38 A0 00 00 */ li r5, 0 -/* 800092E0 00006220 38 C0 00 00 */ li r6, 0 -/* 800092E4 00006224 38 E0 00 01 */ li r7, 1 -/* 800092E8 00006228 39 00 00 00 */ li r8, 0 -/* 800092EC 0000622C 48 35 60 29 */ bl GXSetTevAlphaOp -/* 800092F0 00006230 38 60 00 01 */ li r3, 1 -/* 800092F4 00006234 48 35 69 DD */ bl GXSetZCompLoc -/* 800092F8 00006238 38 60 00 00 */ li r3, 0 -/* 800092FC 0000623C 38 80 00 07 */ li r4, 7 -/* 80009300 00006240 38 A0 00 00 */ li r5, 0 -/* 80009304 00006244 48 35 69 99 */ bl GXSetZMode -/* 80009308 00006248 38 60 00 00 */ li r3, 0 -/* 8000930C 0000624C 38 80 00 04 */ li r4, 4 -/* 80009310 00006250 38 A0 00 05 */ li r5, 5 -/* 80009314 00006254 38 C0 00 00 */ li r6, 0 -/* 80009318 00006258 48 35 68 D9 */ bl GXSetBlendMode -/* 8000931C 0000625C 38 60 00 07 */ li r3, 7 -/* 80009320 00006260 38 80 00 00 */ li r4, 0 -/* 80009324 00006264 38 A0 00 01 */ li r5, 1 -/* 80009328 00006268 38 C0 00 07 */ li r6, 7 -/* 8000932C 0000626C 38 E0 00 00 */ li r7, 0 -/* 80009330 00006270 48 35 62 F5 */ bl GXSetAlphaCompare -/* 80009334 00006274 80 0D 80 80 */ lwz r0, lbl_80450600-_SDA_BASE_(r13) -/* 80009338 00006278 90 01 00 08 */ stw r0, 8(r1) -/* 8000933C 0000627C 38 60 00 00 */ li r3, 0 -/* 80009340 00006280 C0 22 80 38 */ lfs f1, lbl_80451A38-_SDA2_BASE_(r2) -/* 80009344 00006284 FC 40 08 90 */ fmr f2, f1 -/* 80009348 00006288 FC 60 08 90 */ fmr f3, f1 -/* 8000934C 0000628C FC 80 08 90 */ fmr f4, f1 -/* 80009350 00006290 38 81 00 08 */ addi r4, r1, 8 -/* 80009354 00006294 48 35 65 65 */ bl GXSetFog -/* 80009358 00006298 38 60 00 00 */ li r3, 0 -/* 8000935C 0000629C 48 35 36 29 */ bl GXSetCullMode -/* 80009360 000062A0 38 60 00 01 */ li r3, 1 -/* 80009364 000062A4 48 35 6A 75 */ bl GXSetDither -/* 80009368 000062A8 38 60 00 00 */ li r3, 0 -/* 8000936C 000062AC 48 35 5D 69 */ bl GXSetNumIndStages -/* 80009370 000062B0 38 61 00 0C */ addi r3, r1, 0xc -/* 80009374 000062B4 C0 22 80 38 */ lfs f1, lbl_80451A38-_SDA2_BASE_(r2) -/* 80009378 000062B8 C0 42 80 A8 */ lfs f2, lbl_80451AA8-_SDA2_BASE_(r2) -/* 8000937C 000062BC FC 60 08 90 */ fmr f3, f1 -/* 80009380 000062C0 C0 82 80 AC */ lfs f4, lbl_80451AAC-_SDA2_BASE_(r2) -/* 80009384 000062C4 FC A0 08 90 */ fmr f5, f1 -/* 80009388 000062C8 C0 C2 80 40 */ lfs f6, lbl_80451A40-_SDA2_BASE_(r2) -/* 8000938C 000062CC 48 33 DC 6D */ bl C_MTXOrtho -/* 80009390 000062D0 3C 60 80 3A */ lis r3, lbl_803A2FD8@ha -/* 80009394 000062D4 38 63 2F D8 */ addi r3, r3, lbl_803A2FD8@l -/* 80009398 000062D8 38 80 00 00 */ li r4, 0 -/* 8000939C 000062DC 48 35 6E B1 */ bl GXLoadPosMtxImm -/* 800093A0 000062E0 48 35 21 ED */ bl GXClearVtxDesc -/* 800093A4 000062E4 38 60 00 09 */ li r3, 9 -/* 800093A8 000062E8 38 80 00 01 */ li r4, 1 -/* 800093AC 000062EC 48 35 1B 0D */ bl GXSetVtxDesc -/* 800093B0 000062F0 38 60 00 00 */ li r3, 0 -/* 800093B4 000062F4 38 80 00 09 */ li r4, 9 -/* 800093B8 000062F8 38 A0 00 01 */ li r5, 1 -/* 800093BC 000062FC 38 C0 00 03 */ li r6, 3 -/* 800093C0 00006300 38 E0 00 00 */ li r7, 0 -/* 800093C4 00006304 48 35 22 01 */ bl GXSetVtxAttrFmt -/* 800093C8 00006308 38 61 00 0C */ addi r3, r1, 0xc -/* 800093CC 0000630C 38 80 00 01 */ li r4, 1 -/* 800093D0 00006310 48 35 6D 05 */ bl GXSetProjection -/* 800093D4 00006314 38 60 00 00 */ li r3, 0 -/* 800093D8 00006318 48 35 6F 15 */ bl GXSetCurrentMtx -/* 800093DC 0000631C 38 60 00 80 */ li r3, 0x80 -/* 800093E0 00006320 38 80 00 00 */ li r4, 0 -/* 800093E4 00006324 38 A0 00 08 */ li r5, 8 -/* 800093E8 00006328 48 35 33 7D */ bl GXBegin -/* 800093EC 0000632C 38 A0 00 00 */ li r5, 0 -/* 800093F0 00006330 3C 80 CC 01 */ lis r4, 0xCC008000@ha -/* 800093F4 00006334 B0 A4 80 00 */ sth r5, 0xCC008000@l(r4) -/* 800093F8 00006338 B0 A4 80 00 */ sth r5, -0x8000(r4) -/* 800093FC 0000633C 38 60 FF FB */ li r3, -5 -/* 80009400 00006340 B0 64 80 00 */ sth r3, -0x8000(r4) -/* 80009404 00006344 38 00 02 60 */ li r0, 0x260 -/* 80009408 00006348 B0 04 80 00 */ sth r0, -0x8000(r4) -/* 8000940C 0000634C B0 A4 80 00 */ sth r5, -0x8000(r4) -/* 80009410 00006350 B0 64 80 00 */ sth r3, -0x8000(r4) -/* 80009414 00006354 B0 04 80 00 */ sth r0, -0x8000(r4) -/* 80009418 00006358 B3 84 80 00 */ sth r28, -0x8000(r4) -/* 8000941C 0000635C B0 64 80 00 */ sth r3, -0x8000(r4) -/* 80009420 00006360 B0 A4 80 00 */ sth r5, -0x8000(r4) -/* 80009424 00006364 B3 84 80 00 */ sth r28, -0x8000(r4) -/* 80009428 00006368 B0 64 80 00 */ sth r3, -0x8000(r4) -/* 8000942C 0000636C B0 A4 80 00 */ sth r5, -0x8000(r4) -/* 80009430 00006370 B3 A4 80 00 */ sth r29, -0x8000(r4) -/* 80009434 00006374 B0 64 80 00 */ sth r3, -0x8000(r4) -/* 80009438 00006378 B0 04 80 00 */ sth r0, -0x8000(r4) -/* 8000943C 0000637C B3 A4 80 00 */ sth r29, -0x8000(r4) -/* 80009440 00006380 B0 64 80 00 */ sth r3, -0x8000(r4) -/* 80009444 00006384 B0 04 80 00 */ sth r0, -0x8000(r4) -/* 80009448 00006388 38 00 01 C0 */ li r0, 0x1c0 -/* 8000944C 0000638C B0 04 80 00 */ sth r0, -0x8000(r4) -/* 80009450 00006390 B0 64 80 00 */ sth r3, -0x8000(r4) -/* 80009454 00006394 B0 A4 80 00 */ sth r5, -0x8000(r4) -/* 80009458 00006398 B0 04 80 00 */ sth r0, -0x8000(r4) -/* 8000945C 0000639C B0 64 80 00 */ sth r3, -0x8000(r4) -lbl_80009460: -/* 80009460 000063A0 C0 3F 00 24 */ lfs f1, 0x24(r31) -/* 80009464 000063A4 48 35 8C 49 */ bl func_803620AC -/* 80009468 000063A8 7C 7C 1B 78 */ mr r28, r3 -/* 8000946C 000063AC C0 3F 00 20 */ lfs f1, 0x20(r31) -/* 80009470 000063B0 48 35 8C 3D */ bl func_803620AC -/* 80009474 000063B4 7C 7D 1B 78 */ mr r29, r3 -/* 80009478 000063B8 C0 3F 00 1C */ lfs f1, 0x1c(r31) -/* 8000947C 000063BC 48 35 8C 31 */ bl func_803620AC -/* 80009480 000063C0 7C 7E 1B 78 */ mr r30, r3 -/* 80009484 000063C4 C0 3F 00 18 */ lfs f1, 0x18(r31) -/* 80009488 000063C8 48 35 8C 25 */ bl func_803620AC -/* 8000948C 000063CC 7F C4 F3 78 */ mr r4, r30 -/* 80009490 000063D0 7F A5 EB 78 */ mr r5, r29 -/* 80009494 000063D4 7F 86 E3 78 */ mr r6, r28 -/* 80009498 000063D8 48 35 70 39 */ bl GXSetScissor -/* 8000949C 000063DC 39 61 00 70 */ addi r11, r1, 0x70 -/* 800094A0 000063E0 48 35 8D 85 */ bl _restgpr_28 -/* 800094A4 000063E4 80 01 00 74 */ lwz r0, 0x74(r1) -/* 800094A8 000063E8 7C 08 03 A6 */ mtlr r0 -/* 800094AC 000063EC 38 21 00 70 */ addi r1, r1, 0x70 -/* 800094B0 000063F0 4E 80 00 20 */ blr - -.global mDoGph_drawFilterQuad -mDoGph_drawFilterQuad: -/* 800094B4 000063F4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800094B8 000063F8 7C 08 02 A6 */ mflr r0 -/* 800094BC 000063FC 90 01 00 14 */ stw r0, 0x14(r1) -/* 800094C0 00006400 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800094C4 00006404 93 C1 00 08 */ stw r30, 8(r1) -/* 800094C8 00006408 7C 7E 1B 78 */ mr r30, r3 -/* 800094CC 0000640C 7C 9F 23 78 */ mr r31, r4 -/* 800094D0 00006410 38 60 00 80 */ li r3, 0x80 -/* 800094D4 00006414 38 80 00 00 */ li r4, 0 -/* 800094D8 00006418 38 A0 00 04 */ li r5, 4 -/* 800094DC 0000641C 48 35 32 89 */ bl GXBegin -/* 800094E0 00006420 38 80 00 00 */ li r4, 0 -/* 800094E4 00006424 3C 60 CC 01 */ lis r3, 0xCC008000@ha -/* 800094E8 00006428 98 83 80 00 */ stb r4, 0xCC008000@l(r3) -/* 800094EC 0000642C 98 83 80 00 */ stb r4, -0x8000(r3) -/* 800094F0 00006430 98 83 80 00 */ stb r4, -0x8000(r3) -/* 800094F4 00006434 98 83 80 00 */ stb r4, -0x8000(r3) -/* 800094F8 00006438 9B C3 80 00 */ stb r30, -0x8000(r3) -/* 800094FC 0000643C 98 83 80 00 */ stb r4, -0x8000(r3) -/* 80009500 00006440 38 00 00 01 */ li r0, 1 -/* 80009504 00006444 98 03 80 00 */ stb r0, -0x8000(r3) -/* 80009508 00006448 98 83 80 00 */ stb r4, -0x8000(r3) -/* 8000950C 0000644C 9B C3 80 00 */ stb r30, -0x8000(r3) -/* 80009510 00006450 9B E3 80 00 */ stb r31, -0x8000(r3) -/* 80009514 00006454 98 03 80 00 */ stb r0, -0x8000(r3) -/* 80009518 00006458 98 03 80 00 */ stb r0, -0x8000(r3) -/* 8000951C 0000645C 98 83 80 00 */ stb r4, -0x8000(r3) -/* 80009520 00006460 9B E3 80 00 */ stb r31, -0x8000(r3) -/* 80009524 00006464 98 83 80 00 */ stb r4, -0x8000(r3) -/* 80009528 00006468 98 03 80 00 */ stb r0, -0x8000(r3) -/* 8000952C 0000646C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80009530 00006470 83 C1 00 08 */ lwz r30, 8(r1) -/* 80009534 00006474 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80009538 00006478 7C 08 03 A6 */ mtlr r0 -/* 8000953C 0000647C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80009540 00006480 4E 80 00 20 */ blr - -.global mDoGph_gInf_c_NS_bloom_c_NS_create -mDoGph_gInf_c_NS_bloom_c_NS_create: -/* 80009544 00006484 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80009548 00006488 7C 08 02 A6 */ mflr r0 -/* 8000954C 0000648C 90 01 00 24 */ stw r0, 0x24(r1) -/* 80009550 00006490 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 80009554 00006494 93 C1 00 18 */ stw r30, 0x18(r1) -/* 80009558 00006498 7C 7E 1B 78 */ mr r30, r3 -/* 8000955C 0000649C 80 03 00 10 */ lwz r0, 0x10(r3) -/* 80009560 000064A0 28 00 00 00 */ cmplwi r0, 0 -/* 80009564 000064A4 40 82 00 7C */ bne lbl_800095E0 -/* 80009568 000064A8 38 60 01 30 */ li r3, 0x130 -/* 8000956C 000064AC 38 80 00 E0 */ li r4, 0xe0 -/* 80009570 000064B0 38 A0 00 06 */ li r5, 6 -/* 80009574 000064B4 38 C0 00 00 */ li r6, 0 -/* 80009578 000064B8 38 E0 00 00 */ li r7, 0 -/* 8000957C 000064BC 48 35 46 A1 */ bl GXGetTexBufferSize -/* 80009580 000064C0 7C 7F 1B 78 */ mr r31, r3 -/* 80009584 000064C4 48 00 58 69 */ bl mDoExt_getArchiveHeap -/* 80009588 000064C8 7F E4 FB 78 */ mr r4, r31 -/* 8000958C 000064CC 38 A0 FF E0 */ li r5, -32 -/* 80009590 000064D0 48 2C 4F 45 */ bl alloc__7JKRHeapFUli -/* 80009594 000064D4 90 7E 00 10 */ stw r3, 0x10(r30) -/* 80009598 000064D8 38 00 00 00 */ li r0, 0 -/* 8000959C 000064DC 98 1E 00 08 */ stb r0, 8(r30) -/* 800095A0 000064E0 98 1E 00 09 */ stb r0, 9(r30) -/* 800095A4 000064E4 38 60 00 80 */ li r3, 0x80 -/* 800095A8 000064E8 98 7E 00 0A */ stb r3, 0xa(r30) -/* 800095AC 000064EC 38 00 00 40 */ li r0, 0x40 -/* 800095B0 000064F0 98 1E 00 0B */ stb r0, 0xb(r30) -/* 800095B4 000064F4 98 7E 00 0C */ stb r3, 0xc(r30) -/* 800095B8 000064F8 80 02 80 B0 */ lwz r0, lbl_80451AB0-_SDA2_BASE_(r2) -/* 800095BC 000064FC 90 01 00 08 */ stw r0, 8(r1) -/* 800095C0 00006500 88 01 00 08 */ lbz r0, 8(r1) -/* 800095C4 00006504 98 1E 00 00 */ stb r0, 0(r30) -/* 800095C8 00006508 88 01 00 09 */ lbz r0, 9(r1) -/* 800095CC 0000650C 98 1E 00 01 */ stb r0, 1(r30) -/* 800095D0 00006510 88 01 00 0A */ lbz r0, 0xa(r1) -/* 800095D4 00006514 98 1E 00 02 */ stb r0, 2(r30) -/* 800095D8 00006518 88 01 00 0B */ lbz r0, 0xb(r1) -/* 800095DC 0000651C 98 1E 00 03 */ stb r0, 3(r30) -lbl_800095E0: -/* 800095E0 00006520 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 800095E4 00006524 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 800095E8 00006528 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800095EC 0000652C 7C 08 03 A6 */ mtlr r0 -/* 800095F0 00006530 38 21 00 20 */ addi r1, r1, 0x20 -/* 800095F4 00006534 4E 80 00 20 */ blr - -.global mDoGph_gInf_c_NS_bloom_c_NS_remove -mDoGph_gInf_c_NS_bloom_c_NS_remove: -/* 800095F8 00006538 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800095FC 0000653C 7C 08 02 A6 */ mflr r0 -/* 80009600 00006540 90 01 00 14 */ stw r0, 0x14(r1) -/* 80009604 00006544 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80009608 00006548 93 C1 00 08 */ stw r30, 8(r1) -/* 8000960C 0000654C 7C 7E 1B 78 */ mr r30, r3 -/* 80009610 00006550 83 E3 00 10 */ lwz r31, 0x10(r3) -/* 80009614 00006554 28 1F 00 00 */ cmplwi r31, 0 -/* 80009618 00006558 41 82 00 18 */ beq lbl_80009630 -/* 8000961C 0000655C 48 00 57 D1 */ bl mDoExt_getArchiveHeap -/* 80009620 00006560 7F E4 FB 78 */ mr r4, r31 -/* 80009624 00006564 48 2C 4F 25 */ bl free__7JKRHeapFPv -/* 80009628 00006568 38 00 00 00 */ li r0, 0 -/* 8000962C 0000656C 90 1E 00 10 */ stw r0, 0x10(r30) -lbl_80009630: -/* 80009630 00006570 38 00 00 00 */ li r0, 0 -/* 80009634 00006574 98 1E 00 07 */ stb r0, 7(r30) -/* 80009638 00006578 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8000963C 0000657C 83 C1 00 08 */ lwz r30, 8(r1) -/* 80009640 00006580 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80009644 00006584 7C 08 03 A6 */ mtlr r0 -/* 80009648 00006588 38 21 00 10 */ addi r1, r1, 0x10 -/* 8000964C 0000658C 4E 80 00 20 */ blr - -.global mDoGph_gInf_c_NS_bloom_c_NS_draw -mDoGph_gInf_c_NS_bloom_c_NS_draw: -/* 80009650 00006590 94 21 FE F0 */ stwu r1, -0x110(r1) -/* 80009654 00006594 7C 08 02 A6 */ mflr r0 -/* 80009658 00006598 90 01 01 14 */ stw r0, 0x114(r1) -/* 8000965C 0000659C DB E1 01 00 */ stfd f31, 0x100(r1) -/* 80009660 000065A0 F3 E1 01 08 */ psq_st f31, 264(r1), 0, qr0 -/* 80009664 000065A4 DB C1 00 F0 */ stfd f30, 0xf0(r1) -/* 80009668 000065A8 F3 C1 00 F8 */ psq_st f30, 248(r1), 0, qr0 -/* 8000966C 000065AC DB A1 00 E0 */ stfd f29, 0xe0(r1) -/* 80009670 000065B0 F3 A1 00 E8 */ psq_st f29, 232(r1), 0, qr0 -/* 80009674 000065B4 39 61 00 E0 */ addi r11, r1, 0xe0 -/* 80009678 000065B8 48 35 8B 51 */ bl _savegpr_24 -/* 8000967C 000065BC 7C 7F 1B 78 */ mr r31, r3 -/* 80009680 000065C0 3B 80 00 00 */ li r28, 0 -/* 80009684 000065C4 88 03 00 08 */ lbz r0, 8(r3) -/* 80009688 000065C8 28 00 00 00 */ cmplwi r0, 0 -/* 8000968C 000065CC 41 82 00 14 */ beq lbl_800096A0 -/* 80009690 000065D0 80 1F 00 10 */ lwz r0, 0x10(r31) -/* 80009694 000065D4 28 00 00 00 */ cmplwi r0, 0 -/* 80009698 000065D8 41 82 00 08 */ beq lbl_800096A0 -/* 8000969C 000065DC 3B 80 00 01 */ li r28, 1 -lbl_800096A0: -/* 800096A0 000065E0 88 1F 00 07 */ lbz r0, 7(r31) -/* 800096A4 000065E4 28 00 00 00 */ cmplwi r0, 0 -/* 800096A8 000065E8 40 82 00 0C */ bne lbl_800096B4 -/* 800096AC 000065EC 57 80 06 3F */ clrlwi. r0, r28, 0x18 -/* 800096B0 000065F0 41 82 0A 80 */ beq lbl_8000A130 -lbl_800096B4: -/* 800096B4 000065F4 C0 22 80 38 */ lfs f1, lbl_80451A38-_SDA2_BASE_(r2) -/* 800096B8 000065F8 FC 40 08 90 */ fmr f2, f1 -/* 800096BC 000065FC C0 62 80 AC */ lfs f3, lbl_80451AAC-_SDA2_BASE_(r2) -/* 800096C0 00006600 C0 82 80 A8 */ lfs f4, lbl_80451AA8-_SDA2_BASE_(r2) -/* 800096C4 00006604 FC A0 08 90 */ fmr f5, f1 -/* 800096C8 00006608 C0 C2 80 3C */ lfs f6, lbl_80451A3C-_SDA2_BASE_(r2) -/* 800096CC 0000660C 48 35 6D 99 */ bl GXSetViewport -/* 800096D0 00006610 38 60 00 00 */ li r3, 0 -/* 800096D4 00006614 38 80 00 00 */ li r4, 0 -/* 800096D8 00006618 38 A0 02 60 */ li r5, 0x260 -/* 800096DC 0000661C 38 C0 01 C0 */ li r6, 0x1c0 -/* 800096E0 00006620 48 35 6D F1 */ bl GXSetScissor -/* 800096E4 00006624 3C 60 80 3E */ lis r3, lbl_803DD3E8@ha -/* 800096E8 00006628 38 63 D3 E8 */ addi r3, r3, lbl_803DD3E8@l -/* 800096EC 0000662C 38 80 00 00 */ li r4, 0 -/* 800096F0 00006630 48 35 4D 25 */ bl GXLoadTexObj -/* 800096F4 00006634 38 60 00 00 */ li r3, 0 -/* 800096F8 00006638 48 35 44 39 */ bl GXSetNumChans -/* 800096FC 0000663C 38 60 00 01 */ li r3, 1 -/* 80009700 00006640 48 35 26 FD */ bl GXSetNumTexGens -/* 80009704 00006644 38 60 00 00 */ li r3, 0 -/* 80009708 00006648 38 80 00 01 */ li r4, 1 -/* 8000970C 0000664C 38 A0 00 04 */ li r5, 4 -/* 80009710 00006650 38 C0 00 3C */ li r6, 0x3c -/* 80009714 00006654 38 E0 00 00 */ li r7, 0 -/* 80009718 00006658 39 00 00 7D */ li r8, 0x7d -/* 8000971C 0000665C 48 35 24 61 */ bl GXSetTexCoordGen2 -/* 80009720 00006660 38 60 00 01 */ li r3, 1 -/* 80009724 00006664 38 80 00 00 */ li r4, 0 -/* 80009728 00006668 38 A0 00 00 */ li r5, 0 -/* 8000972C 0000666C 38 C0 00 00 */ li r6, 0 -/* 80009730 00006670 38 E0 00 01 */ li r7, 1 -/* 80009734 00006674 48 35 5E 71 */ bl GXSetTevSwapModeTable -/* 80009738 00006678 38 60 00 03 */ li r3, 3 -/* 8000973C 0000667C 38 80 00 02 */ li r4, 2 -/* 80009740 00006680 38 A0 00 02 */ li r5, 2 -/* 80009744 00006684 38 C0 00 02 */ li r6, 2 -/* 80009748 00006688 38 E0 00 03 */ li r7, 3 -/* 8000974C 0000668C 48 35 5E 59 */ bl GXSetTevSwapModeTable -/* 80009750 00006690 38 60 00 01 */ li r3, 1 -/* 80009754 00006694 48 35 65 7D */ bl GXSetZCompLoc -/* 80009758 00006698 38 60 00 00 */ li r3, 0 -/* 8000975C 0000669C 38 80 00 07 */ li r4, 7 -/* 80009760 000066A0 38 A0 00 00 */ li r5, 0 -/* 80009764 000066A4 48 35 65 39 */ bl GXSetZMode -/* 80009768 000066A8 38 60 00 07 */ li r3, 7 -/* 8000976C 000066AC 38 80 00 00 */ li r4, 0 -/* 80009770 000066B0 38 A0 00 01 */ li r5, 1 -/* 80009774 000066B4 38 C0 00 07 */ li r6, 7 -/* 80009778 000066B8 38 E0 00 00 */ li r7, 0 -/* 8000977C 000066BC 48 35 5E A9 */ bl GXSetAlphaCompare -/* 80009780 000066C0 80 0D 80 80 */ lwz r0, lbl_80450600-_SDA_BASE_(r13) -/* 80009784 000066C4 90 01 00 14 */ stw r0, 0x14(r1) -/* 80009788 000066C8 38 60 00 00 */ li r3, 0 -/* 8000978C 000066CC C0 22 80 38 */ lfs f1, lbl_80451A38-_SDA2_BASE_(r2) -/* 80009790 000066D0 FC 40 08 90 */ fmr f2, f1 -/* 80009794 000066D4 FC 60 08 90 */ fmr f3, f1 -/* 80009798 000066D8 FC 80 08 90 */ fmr f4, f1 -/* 8000979C 000066DC 38 81 00 14 */ addi r4, r1, 0x14 -/* 800097A0 000066E0 48 35 61 19 */ bl GXSetFog -/* 800097A4 000066E4 38 60 00 00 */ li r3, 0 -/* 800097A8 000066E8 38 80 00 00 */ li r4, 0 -/* 800097AC 000066EC 38 A0 00 00 */ li r5, 0 -/* 800097B0 000066F0 48 35 63 1D */ bl GXSetFogRangeAdj -/* 800097B4 000066F4 38 60 00 00 */ li r3, 0 -/* 800097B8 000066F8 48 35 31 CD */ bl GXSetCullMode -/* 800097BC 000066FC 38 60 00 01 */ li r3, 1 -/* 800097C0 00006700 48 35 66 19 */ bl GXSetDither -/* 800097C4 00006704 38 61 00 6C */ addi r3, r1, 0x6c -/* 800097C8 00006708 C0 22 80 38 */ lfs f1, lbl_80451A38-_SDA2_BASE_(r2) -/* 800097CC 0000670C C0 42 80 BC */ lfs f2, lbl_80451ABC-_SDA2_BASE_(r2) -/* 800097D0 00006710 FC 60 08 90 */ fmr f3, f1 -/* 800097D4 00006714 FC 80 10 90 */ fmr f4, f2 -/* 800097D8 00006718 FC A0 08 90 */ fmr f5, f1 -/* 800097DC 0000671C C0 C2 80 40 */ lfs f6, lbl_80451A40-_SDA2_BASE_(r2) -/* 800097E0 00006720 48 33 D8 19 */ bl C_MTXOrtho -/* 800097E4 00006724 3C 60 80 3A */ lis r3, lbl_803A2FD8@ha -/* 800097E8 00006728 38 63 2F D8 */ addi r3, r3, lbl_803A2FD8@l -/* 800097EC 0000672C 38 80 00 00 */ li r4, 0 -/* 800097F0 00006730 48 35 6A 5D */ bl GXLoadPosMtxImm -/* 800097F4 00006734 38 61 00 6C */ addi r3, r1, 0x6c -/* 800097F8 00006738 38 80 00 01 */ li r4, 1 -/* 800097FC 0000673C 48 35 68 D9 */ bl GXSetProjection -/* 80009800 00006740 38 60 00 00 */ li r3, 0 -/* 80009804 00006744 48 35 6A E9 */ bl GXSetCurrentMtx -/* 80009808 00006748 48 35 1D 85 */ bl GXClearVtxDesc -/* 8000980C 0000674C 38 60 00 09 */ li r3, 9 -/* 80009810 00006750 38 80 00 01 */ li r4, 1 -/* 80009814 00006754 48 35 16 A5 */ bl GXSetVtxDesc -/* 80009818 00006758 38 60 00 0D */ li r3, 0xd -/* 8000981C 0000675C 38 80 00 01 */ li r4, 1 -/* 80009820 00006760 48 35 16 99 */ bl GXSetVtxDesc -/* 80009824 00006764 38 60 00 00 */ li r3, 0 -/* 80009828 00006768 38 80 00 09 */ li r4, 9 -/* 8000982C 0000676C 38 A0 00 00 */ li r5, 0 -/* 80009830 00006770 38 C0 00 01 */ li r6, 1 -/* 80009834 00006774 38 E0 00 00 */ li r7, 0 -/* 80009838 00006778 48 35 1D 8D */ bl GXSetVtxAttrFmt -/* 8000983C 0000677C 38 60 00 00 */ li r3, 0 -/* 80009840 00006780 38 80 00 0D */ li r4, 0xd -/* 80009844 00006784 38 A0 00 01 */ li r5, 1 -/* 80009848 00006788 38 C0 00 01 */ li r6, 1 -/* 8000984C 0000678C 38 E0 00 00 */ li r7, 0 -/* 80009850 00006790 48 35 1D 75 */ bl GXSetVtxAttrFmt -/* 80009854 00006794 88 1F 00 07 */ lbz r0, 7(r31) -/* 80009858 00006798 28 00 00 00 */ cmplwi r0, 0 -/* 8000985C 0000679C 41 82 00 CC */ beq lbl_80009928 -/* 80009860 000067A0 38 60 00 01 */ li r3, 1 -/* 80009864 000067A4 48 35 60 2D */ bl GXSetNumTevStages -/* 80009868 000067A8 38 60 00 00 */ li r3, 0 -/* 8000986C 000067AC 38 80 00 00 */ li r4, 0 -/* 80009870 000067B0 38 A0 00 00 */ li r5, 0 -/* 80009874 000067B4 38 C0 00 FF */ li r6, 0xff -/* 80009878 000067B8 48 35 5E 7D */ bl GXSetTevOrder -/* 8000987C 000067BC 38 60 00 00 */ li r3, 0 -/* 80009880 000067C0 38 80 00 0F */ li r4, 0xf -/* 80009884 000067C4 38 A0 00 08 */ li r5, 8 -/* 80009888 000067C8 38 C0 00 06 */ li r6, 6 -/* 8000988C 000067CC 38 E0 00 0F */ li r7, 0xf -/* 80009890 000067D0 48 35 59 95 */ bl GXSetTevColorIn -/* 80009894 000067D4 38 60 00 00 */ li r3, 0 -/* 80009898 000067D8 38 80 00 00 */ li r4, 0 -/* 8000989C 000067DC 38 A0 00 00 */ li r5, 0 -/* 800098A0 000067E0 38 C0 00 00 */ li r6, 0 -/* 800098A4 000067E4 38 E0 00 01 */ li r7, 1 -/* 800098A8 000067E8 39 00 00 00 */ li r8, 0 -/* 800098AC 000067EC 48 35 5A 01 */ bl GXSetTevColorOp -/* 800098B0 000067F0 38 60 00 00 */ li r3, 0 -/* 800098B4 000067F4 38 80 00 07 */ li r4, 7 -/* 800098B8 000067F8 38 A0 00 07 */ li r5, 7 -/* 800098BC 000067FC 38 C0 00 07 */ li r6, 7 -/* 800098C0 00006800 38 E0 00 03 */ li r7, 3 -/* 800098C4 00006804 48 35 59 A5 */ bl GXSetTevAlphaIn -/* 800098C8 00006808 38 60 00 00 */ li r3, 0 -/* 800098CC 0000680C 38 80 00 00 */ li r4, 0 -/* 800098D0 00006810 38 A0 00 00 */ li r5, 0 -/* 800098D4 00006814 38 C0 00 00 */ li r6, 0 -/* 800098D8 00006818 38 E0 00 01 */ li r7, 1 -/* 800098DC 0000681C 39 00 00 00 */ li r8, 0 -/* 800098E0 00006820 48 35 5A 35 */ bl GXSetTevAlphaOp -/* 800098E4 00006824 38 60 00 00 */ li r3, 0 -/* 800098E8 00006828 38 80 00 01 */ li r4, 1 -/* 800098EC 0000682C 38 A0 00 01 */ li r5, 1 -/* 800098F0 00006830 48 35 5C 6D */ bl GXSetTevSwapMode -/* 800098F4 00006834 80 1F 00 04 */ lwz r0, 4(r31) -/* 800098F8 00006838 90 01 00 10 */ stw r0, 0x10(r1) -/* 800098FC 0000683C 38 60 00 03 */ li r3, 3 -/* 80009900 00006840 38 81 00 10 */ addi r4, r1, 0x10 -/* 80009904 00006844 48 35 5A 79 */ bl GXSetTevColor -/* 80009908 00006848 38 60 00 01 */ li r3, 1 -/* 8000990C 0000684C 38 80 00 04 */ li r4, 4 -/* 80009910 00006850 38 A0 00 05 */ li r5, 5 -/* 80009914 00006854 38 C0 00 07 */ li r6, 7 -/* 80009918 00006858 48 35 62 D9 */ bl GXSetBlendMode -/* 8000991C 0000685C 38 60 00 04 */ li r3, 4 -/* 80009920 00006860 38 80 00 04 */ li r4, 4 -/* 80009924 00006864 4B FF FB 91 */ bl mDoGph_drawFilterQuad -lbl_80009928: -/* 80009928 00006868 57 80 06 3F */ clrlwi. r0, r28, 0x18 -/* 8000992C 0000686C 41 82 08 04 */ beq lbl_8000A130 -/* 80009930 00006870 38 60 00 00 */ li r3, 0 -/* 80009934 00006874 38 80 00 00 */ li r4, 0 -/* 80009938 00006878 38 A0 01 30 */ li r5, 0x130 -/* 8000993C 0000687C 38 C0 00 E0 */ li r6, 0xe0 -/* 80009940 00006880 48 35 31 41 */ bl GXSetTexCopySrc -/* 80009944 00006884 38 60 01 30 */ li r3, 0x130 -/* 80009948 00006888 38 80 00 E0 */ li r4, 0xe0 -/* 8000994C 0000688C 38 A0 00 06 */ li r5, 6 -/* 80009950 00006890 38 C0 00 00 */ li r6, 0 -/* 80009954 00006894 48 35 31 DD */ bl GXSetTexCopyDst -/* 80009958 00006898 80 7F 00 10 */ lwz r3, 0x10(r31) -/* 8000995C 0000689C 38 80 00 00 */ li r4, 0 -/* 80009960 000068A0 48 35 3B 0D */ bl GXCopyTex -/* 80009964 000068A4 38 60 00 03 */ li r3, 3 -/* 80009968 000068A8 48 35 5F 29 */ bl GXSetNumTevStages -/* 8000996C 000068AC 38 60 00 00 */ li r3, 0 -/* 80009970 000068B0 38 80 00 00 */ li r4, 0 -/* 80009974 000068B4 38 A0 00 00 */ li r5, 0 -/* 80009978 000068B8 38 C0 00 FF */ li r6, 0xff -/* 8000997C 000068BC 48 35 5D 79 */ bl GXSetTevOrder -/* 80009980 000068C0 38 60 00 00 */ li r3, 0 -/* 80009984 000068C4 38 80 00 08 */ li r4, 8 -/* 80009988 000068C8 38 A0 00 09 */ li r5, 9 -/* 8000998C 000068CC 38 C0 00 0D */ li r6, 0xd -/* 80009990 000068D0 38 E0 00 0F */ li r7, 0xf -/* 80009994 000068D4 48 35 58 91 */ bl GXSetTevColorIn -/* 80009998 000068D8 38 60 00 00 */ li r3, 0 -/* 8000999C 000068DC 38 80 00 00 */ li r4, 0 -/* 800099A0 000068E0 38 A0 00 00 */ li r5, 0 -/* 800099A4 000068E4 38 C0 00 00 */ li r6, 0 -/* 800099A8 000068E8 38 E0 00 01 */ li r7, 1 -/* 800099AC 000068EC 39 00 00 00 */ li r8, 0 -/* 800099B0 000068F0 48 35 58 FD */ bl GXSetTevColorOp -/* 800099B4 000068F4 38 60 00 00 */ li r3, 0 -/* 800099B8 000068F8 38 80 00 07 */ li r4, 7 -/* 800099BC 000068FC 38 A0 00 07 */ li r5, 7 -/* 800099C0 00006900 38 C0 00 07 */ li r6, 7 -/* 800099C4 00006904 38 E0 00 07 */ li r7, 7 -/* 800099C8 00006908 48 35 58 A1 */ bl GXSetTevAlphaIn -/* 800099CC 0000690C 38 60 00 00 */ li r3, 0 -/* 800099D0 00006910 38 80 00 00 */ li r4, 0 -/* 800099D4 00006914 38 A0 00 00 */ li r5, 0 -/* 800099D8 00006918 38 C0 00 00 */ li r6, 0 -/* 800099DC 0000691C 38 E0 00 01 */ li r7, 1 -/* 800099E0 00006920 39 00 00 00 */ li r8, 0 -/* 800099E4 00006924 48 35 59 31 */ bl GXSetTevAlphaOp -/* 800099E8 00006928 38 60 00 00 */ li r3, 0 -/* 800099EC 0000692C 38 80 00 01 */ li r4, 1 -/* 800099F0 00006930 38 A0 00 01 */ li r5, 1 -/* 800099F4 00006934 48 35 5B 69 */ bl GXSetTevSwapMode -/* 800099F8 00006938 38 60 00 01 */ li r3, 1 -/* 800099FC 0000693C 38 80 00 00 */ li r4, 0 -/* 80009A00 00006940 38 A0 00 00 */ li r5, 0 -/* 80009A04 00006944 38 C0 00 FF */ li r6, 0xff -/* 80009A08 00006948 48 35 5C ED */ bl GXSetTevOrder -/* 80009A0C 0000694C 38 60 00 01 */ li r3, 1 -/* 80009A10 00006950 38 80 00 08 */ li r4, 8 -/* 80009A14 00006954 38 A0 00 00 */ li r5, 0 -/* 80009A18 00006958 38 C0 00 0D */ li r6, 0xd -/* 80009A1C 0000695C 38 E0 00 02 */ li r7, 2 -/* 80009A20 00006960 48 35 58 05 */ bl GXSetTevColorIn -/* 80009A24 00006964 38 60 00 01 */ li r3, 1 -/* 80009A28 00006968 38 80 00 00 */ li r4, 0 -/* 80009A2C 0000696C 38 A0 00 00 */ li r5, 0 -/* 80009A30 00006970 38 C0 00 00 */ li r6, 0 -/* 80009A34 00006974 38 E0 00 01 */ li r7, 1 -/* 80009A38 00006978 39 00 00 00 */ li r8, 0 -/* 80009A3C 0000697C 48 35 58 71 */ bl GXSetTevColorOp -/* 80009A40 00006980 38 60 00 01 */ li r3, 1 -/* 80009A44 00006984 38 80 00 07 */ li r4, 7 -/* 80009A48 00006988 38 A0 00 07 */ li r5, 7 -/* 80009A4C 0000698C 38 C0 00 07 */ li r6, 7 -/* 80009A50 00006990 38 E0 00 07 */ li r7, 7 -/* 80009A54 00006994 48 35 58 15 */ bl GXSetTevAlphaIn -/* 80009A58 00006998 38 60 00 01 */ li r3, 1 -/* 80009A5C 0000699C 38 80 00 00 */ li r4, 0 -/* 80009A60 000069A0 38 A0 00 00 */ li r5, 0 -/* 80009A64 000069A4 38 C0 00 00 */ li r6, 0 -/* 80009A68 000069A8 38 E0 00 01 */ li r7, 1 -/* 80009A6C 000069AC 39 00 00 00 */ li r8, 0 -/* 80009A70 000069B0 48 35 58 A5 */ bl GXSetTevAlphaOp -/* 80009A74 000069B4 38 60 00 01 */ li r3, 1 -/* 80009A78 000069B8 38 80 00 03 */ li r4, 3 -/* 80009A7C 000069BC 38 A0 00 03 */ li r5, 3 -/* 80009A80 000069C0 48 35 5A DD */ bl GXSetTevSwapMode -/* 80009A84 000069C4 38 60 00 02 */ li r3, 2 -/* 80009A88 000069C8 38 80 00 00 */ li r4, 0 -/* 80009A8C 000069CC 38 A0 00 00 */ li r5, 0 -/* 80009A90 000069D0 38 C0 00 FF */ li r6, 0xff -/* 80009A94 000069D4 48 35 5C 61 */ bl GXSetTevOrder -/* 80009A98 000069D8 38 60 00 02 */ li r3, 2 -/* 80009A9C 000069DC 38 80 00 0F */ li r4, 0xf -/* 80009AA0 000069E0 38 A0 00 08 */ li r5, 8 -/* 80009AA4 000069E4 38 C0 00 00 */ li r6, 0 -/* 80009AA8 000069E8 38 E0 00 0F */ li r7, 0xf -/* 80009AAC 000069EC 48 35 57 79 */ bl GXSetTevColorIn -/* 80009AB0 000069F0 38 60 00 02 */ li r3, 2 -/* 80009AB4 000069F4 38 80 00 00 */ li r4, 0 -/* 80009AB8 000069F8 38 A0 00 00 */ li r5, 0 -/* 80009ABC 000069FC 38 C0 00 00 */ li r6, 0 -/* 80009AC0 00006A00 38 E0 00 01 */ li r7, 1 -/* 80009AC4 00006A04 39 00 00 00 */ li r8, 0 -/* 80009AC8 00006A08 48 35 57 E5 */ bl GXSetTevColorOp -/* 80009ACC 00006A0C 38 60 00 02 */ li r3, 2 -/* 80009AD0 00006A10 38 80 00 07 */ li r4, 7 -/* 80009AD4 00006A14 38 A0 00 07 */ li r5, 7 -/* 80009AD8 00006A18 38 C0 00 07 */ li r6, 7 -/* 80009ADC 00006A1C 38 E0 00 07 */ li r7, 7 -/* 80009AE0 00006A20 48 35 57 89 */ bl GXSetTevAlphaIn -/* 80009AE4 00006A24 38 60 00 02 */ li r3, 2 -/* 80009AE8 00006A28 38 80 00 00 */ li r4, 0 -/* 80009AEC 00006A2C 38 A0 00 00 */ li r5, 0 -/* 80009AF0 00006A30 38 C0 00 00 */ li r6, 0 -/* 80009AF4 00006A34 38 E0 00 01 */ li r7, 1 -/* 80009AF8 00006A38 39 00 00 00 */ li r8, 0 -/* 80009AFC 00006A3C 48 35 58 19 */ bl GXSetTevAlphaOp -/* 80009B00 00006A40 38 60 00 00 */ li r3, 0 -/* 80009B04 00006A44 38 80 00 00 */ li r4, 0 -/* 80009B08 00006A48 38 A0 00 00 */ li r5, 0 -/* 80009B0C 00006A4C 38 C0 00 07 */ li r6, 7 -/* 80009B10 00006A50 48 35 60 E1 */ bl GXSetBlendMode -/* 80009B14 00006A54 80 62 80 B4 */ lwz r3, lbl_80451AB4-_SDA2_BASE_(r2) -/* 80009B18 00006A58 80 02 80 B8 */ lwz r0, lbl_80451AB8-_SDA2_BASE_(r2) -/* 80009B1C 00006A5C 90 61 00 24 */ stw r3, 0x24(r1) -/* 80009B20 00006A60 90 01 00 28 */ stw r0, 0x28(r1) -/* 80009B24 00006A64 88 1F 00 0A */ lbz r0, 0xa(r31) -/* 80009B28 00006A68 7C 00 00 D0 */ neg r0, r0 -/* 80009B2C 00006A6C B0 01 00 24 */ sth r0, 0x24(r1) -/* 80009B30 00006A70 B0 01 00 26 */ sth r0, 0x26(r1) -/* 80009B34 00006A74 B0 01 00 28 */ sth r0, 0x28(r1) -/* 80009B38 00006A78 80 61 00 24 */ lwz r3, 0x24(r1) -/* 80009B3C 00006A7C 80 01 00 28 */ lwz r0, 0x28(r1) -/* 80009B40 00006A80 90 61 00 1C */ stw r3, 0x1c(r1) -/* 80009B44 00006A84 90 01 00 20 */ stw r0, 0x20(r1) -/* 80009B48 00006A88 38 60 00 01 */ li r3, 1 -/* 80009B4C 00006A8C 38 81 00 1C */ addi r4, r1, 0x1c -/* 80009B50 00006A90 48 35 58 8D */ bl GXSetTevColorS10 -/* 80009B54 00006A94 80 02 D1 60 */ lwz r0, lbl_80456B60-_SDA2_BASE_(r2) -/* 80009B58 00006A98 90 01 00 18 */ stw r0, 0x18(r1) -/* 80009B5C 00006A9C 88 1F 00 0C */ lbz r0, 0xc(r31) -/* 80009B60 00006AA0 98 01 00 18 */ stb r0, 0x18(r1) -/* 80009B64 00006AA4 98 01 00 19 */ stb r0, 0x19(r1) -/* 80009B68 00006AA8 98 01 00 1A */ stb r0, 0x1a(r1) -/* 80009B6C 00006AAC 98 01 00 1B */ stb r0, 0x1b(r1) -/* 80009B70 00006AB0 80 01 00 18 */ lwz r0, 0x18(r1) -/* 80009B74 00006AB4 90 01 00 0C */ stw r0, 0xc(r1) -/* 80009B78 00006AB8 38 60 00 02 */ li r3, 2 -/* 80009B7C 00006ABC 38 81 00 0C */ addi r4, r1, 0xc -/* 80009B80 00006AC0 48 35 57 FD */ bl GXSetTevColor -/* 80009B84 00006AC4 48 35 27 F1 */ bl GXPixModeSync -/* 80009B88 00006AC8 38 60 00 02 */ li r3, 2 -/* 80009B8C 00006ACC 38 80 00 02 */ li r4, 2 -/* 80009B90 00006AD0 4B FF F9 25 */ bl mDoGph_drawFilterQuad -/* 80009B94 00006AD4 38 60 00 01 */ li r3, 1 -/* 80009B98 00006AD8 38 80 00 00 */ li r4, 0 -/* 80009B9C 00006ADC 38 A0 00 00 */ li r5, 0 -/* 80009BA0 00006AE0 38 C0 00 00 */ li r6, 0 -/* 80009BA4 00006AE4 38 E0 00 03 */ li r7, 3 -/* 80009BA8 00006AE8 48 35 59 FD */ bl GXSetTevSwapModeTable -/* 80009BAC 00006AEC 38 60 00 00 */ li r3, 0 -/* 80009BB0 00006AF0 38 80 00 00 */ li r4, 0 -/* 80009BB4 00006AF4 38 A0 00 00 */ li r5, 0 -/* 80009BB8 00006AF8 48 35 59 A5 */ bl GXSetTevSwapMode -/* 80009BBC 00006AFC 38 60 00 01 */ li r3, 1 -/* 80009BC0 00006B00 38 80 00 00 */ li r4, 0 -/* 80009BC4 00006B04 38 A0 00 00 */ li r5, 0 -/* 80009BC8 00006B08 48 35 59 95 */ bl GXSetTevSwapMode -/* 80009BCC 00006B0C 83 6D 86 58 */ lwz r27, lbl_80450BD8-_SDA_BASE_(r13) -/* 80009BD0 00006B10 38 60 00 00 */ li r3, 0 -/* 80009BD4 00006B14 38 80 00 00 */ li r4, 0 -/* 80009BD8 00006B18 38 A0 01 30 */ li r5, 0x130 -/* 80009BDC 00006B1C 38 C0 00 E0 */ li r6, 0xe0 -/* 80009BE0 00006B20 48 35 2E A1 */ bl GXSetTexCopySrc -/* 80009BE4 00006B24 38 60 00 98 */ li r3, 0x98 -/* 80009BE8 00006B28 38 80 00 70 */ li r4, 0x70 -/* 80009BEC 00006B2C 38 A0 00 06 */ li r5, 6 -/* 80009BF0 00006B30 38 C0 00 01 */ li r6, 1 -/* 80009BF4 00006B34 48 35 2F 3D */ bl GXSetTexCopyDst -/* 80009BF8 00006B38 7F 63 DB 78 */ mr r3, r27 -/* 80009BFC 00006B3C 38 80 00 00 */ li r4, 0 -/* 80009C00 00006B40 48 35 38 6D */ bl GXCopyTex -/* 80009C04 00006B44 38 61 00 4C */ addi r3, r1, 0x4c -/* 80009C08 00006B48 7F 64 DB 78 */ mr r4, r27 -/* 80009C0C 00006B4C 38 A0 00 98 */ li r5, 0x98 -/* 80009C10 00006B50 38 C0 00 70 */ li r6, 0x70 -/* 80009C14 00006B54 38 E0 00 06 */ li r7, 6 -/* 80009C18 00006B58 39 00 00 00 */ li r8, 0 -/* 80009C1C 00006B5C 39 20 00 00 */ li r9, 0 -/* 80009C20 00006B60 39 40 00 00 */ li r10, 0 -/* 80009C24 00006B64 48 35 42 1D */ bl GXInitTexObj -/* 80009C28 00006B68 38 61 00 4C */ addi r3, r1, 0x4c -/* 80009C2C 00006B6C 38 80 00 01 */ li r4, 1 -/* 80009C30 00006B70 38 A0 00 01 */ li r5, 1 -/* 80009C34 00006B74 C0 22 80 38 */ lfs f1, lbl_80451A38-_SDA2_BASE_(r2) -/* 80009C38 00006B78 FC 40 08 90 */ fmr f2, f1 -/* 80009C3C 00006B7C FC 60 08 90 */ fmr f3, f1 -/* 80009C40 00006B80 38 C0 00 00 */ li r6, 0 -/* 80009C44 00006B84 38 E0 00 00 */ li r7, 0 -/* 80009C48 00006B88 39 00 00 00 */ li r8, 0 -/* 80009C4C 00006B8C 48 35 44 89 */ bl GXInitTexObjLOD -/* 80009C50 00006B90 38 61 00 4C */ addi r3, r1, 0x4c -/* 80009C54 00006B94 38 80 00 00 */ li r4, 0 -/* 80009C58 00006B98 48 35 47 BD */ bl GXLoadTexObj -/* 80009C5C 00006B9C 38 60 00 08 */ li r3, 8 -/* 80009C60 00006BA0 48 35 21 9D */ bl GXSetNumTexGens -/* 80009C64 00006BA4 3B 40 00 1E */ li r26, 0x1e -/* 80009C68 00006BA8 3B 20 00 00 */ li r25, 0 -/* 80009C6C 00006BAC 38 60 00 00 */ li r3, 0 -/* 80009C70 00006BB0 38 80 00 01 */ li r4, 1 -/* 80009C74 00006BB4 38 A0 00 04 */ li r5, 4 -/* 80009C78 00006BB8 38 C0 00 3C */ li r6, 0x3c -/* 80009C7C 00006BBC 38 E0 00 00 */ li r7, 0 -/* 80009C80 00006BC0 39 00 00 7D */ li r8, 0x7d -/* 80009C84 00006BC4 48 35 1E F9 */ bl GXSetTexCoordGen2 -/* 80009C88 00006BC8 3B 00 00 01 */ li r24, 1 -/* 80009C8C 00006BCC C3 A2 80 C0 */ lfs f29, lbl_80451AC0-_SDA2_BASE_(r2) -/* 80009C90 00006BD0 CB C2 80 C8 */ lfd f30, lbl_80451AC8-_SDA2_BASE_(r2) -/* 80009C94 00006BD4 3F 80 43 30 */ lis r28, 0x4330 -/* 80009C98 00006BD8 3C 60 80 44 */ lis r3, lbl_80439A20@ha -/* 80009C9C 00006BDC 3B A3 9A 20 */ addi r29, r3, lbl_80439A20@l -/* 80009CA0 00006BE0 3C 60 80 3E */ lis r3, lbl_803DD470@ha -/* 80009CA4 00006BE4 3B C3 D4 70 */ addi r30, r3, lbl_803DD470@l -/* 80009CA8 00006BE8 C3 E2 80 3C */ lfs f31, lbl_80451A3C-_SDA2_BASE_(r2) -lbl_80009CAC: -/* 80009CAC 00006BEC 7F 03 C3 78 */ mr r3, r24 -/* 80009CB0 00006BF0 38 80 00 01 */ li r4, 1 -/* 80009CB4 00006BF4 38 A0 00 04 */ li r5, 4 -/* 80009CB8 00006BF8 7F 46 D3 78 */ mr r6, r26 -/* 80009CBC 00006BFC 38 E0 00 00 */ li r7, 0 -/* 80009CC0 00006C00 39 00 00 7D */ li r8, 0x7d -/* 80009CC4 00006C04 48 35 1E B9 */ bl GXSetTexCoordGen2 -/* 80009CC8 00006C08 88 1F 00 0B */ lbz r0, 0xb(r31) -/* 80009CCC 00006C0C 90 01 00 B4 */ stw r0, 0xb4(r1) -/* 80009CD0 00006C10 93 81 00 B0 */ stw r28, 0xb0(r1) -/* 80009CD4 00006C14 C8 01 00 B0 */ lfd f0, 0xb0(r1) -/* 80009CD8 00006C18 EC 00 F0 28 */ fsubs f0, f0, f30 -/* 80009CDC 00006C1C EC 5D 00 32 */ fmuls f2, f29, f0 -/* 80009CE0 00006C20 57 20 04 38 */ rlwinm r0, r25, 0, 0x10, 0x1c -/* 80009CE4 00006C24 7C 9D 02 14 */ add r4, r29, r0 -/* 80009CE8 00006C28 7F C3 F3 78 */ mr r3, r30 -/* 80009CEC 00006C2C C0 04 00 04 */ lfs f0, 4(r4) -/* 80009CF0 00006C30 EC 02 00 32 */ fmuls f0, f2, f0 -/* 80009CF4 00006C34 EC 20 07 F2 */ fmuls f1, f0, f31 -/* 80009CF8 00006C38 C0 04 00 00 */ lfs f0, 0(r4) -/* 80009CFC 00006C3C EC 42 00 32 */ fmuls f2, f2, f0 -/* 80009D00 00006C40 C0 62 80 38 */ lfs f3, lbl_80451A38-_SDA2_BASE_(r2) -/* 80009D04 00006C44 48 33 CB E5 */ bl PSMTXTrans -/* 80009D08 00006C48 7F C3 F3 78 */ mr r3, r30 -/* 80009D0C 00006C4C 7F 44 D3 78 */ mr r4, r26 -/* 80009D10 00006C50 38 A0 00 01 */ li r5, 1 -/* 80009D14 00006C54 48 35 66 0D */ bl GXLoadTexMtxImm -/* 80009D18 00006C58 3B 18 00 01 */ addi r24, r24, 1 -/* 80009D1C 00006C5C 2C 18 00 08 */ cmpwi r24, 8 -/* 80009D20 00006C60 3B 5A 00 03 */ addi r26, r26, 3 -/* 80009D24 00006C64 3B 39 24 92 */ addi r25, r25, 0x2492 -/* 80009D28 00006C68 41 80 FF 84 */ blt lbl_80009CAC -/* 80009D2C 00006C6C 38 60 00 08 */ li r3, 8 -/* 80009D30 00006C70 48 35 5B 61 */ bl GXSetNumTevStages -/* 80009D34 00006C74 38 60 00 00 */ li r3, 0 -/* 80009D38 00006C78 38 80 00 00 */ li r4, 0 -/* 80009D3C 00006C7C 38 A0 00 00 */ li r5, 0 -/* 80009D40 00006C80 38 C0 00 FF */ li r6, 0xff -/* 80009D44 00006C84 48 35 59 B1 */ bl GXSetTevOrder -/* 80009D48 00006C88 38 60 00 00 */ li r3, 0 -/* 80009D4C 00006C8C 38 80 00 0F */ li r4, 0xf -/* 80009D50 00006C90 38 A0 00 08 */ li r5, 8 -/* 80009D54 00006C94 38 C0 00 05 */ li r6, 5 -/* 80009D58 00006C98 38 E0 00 0F */ li r7, 0xf -/* 80009D5C 00006C9C 48 35 54 C9 */ bl GXSetTevColorIn -/* 80009D60 00006CA0 38 60 00 00 */ li r3, 0 -/* 80009D64 00006CA4 38 80 00 00 */ li r4, 0 -/* 80009D68 00006CA8 38 A0 00 00 */ li r5, 0 -/* 80009D6C 00006CAC 38 C0 00 00 */ li r6, 0 -/* 80009D70 00006CB0 38 E0 00 01 */ li r7, 1 -/* 80009D74 00006CB4 39 00 00 00 */ li r8, 0 -/* 80009D78 00006CB8 48 35 55 35 */ bl GXSetTevColorOp -/* 80009D7C 00006CBC 38 60 00 00 */ li r3, 0 -/* 80009D80 00006CC0 38 80 00 07 */ li r4, 7 -/* 80009D84 00006CC4 38 A0 00 07 */ li r5, 7 -/* 80009D88 00006CC8 38 C0 00 07 */ li r6, 7 -/* 80009D8C 00006CCC 38 E0 00 07 */ li r7, 7 -/* 80009D90 00006CD0 48 35 54 D9 */ bl GXSetTevAlphaIn -/* 80009D94 00006CD4 38 60 00 00 */ li r3, 0 -/* 80009D98 00006CD8 38 80 00 00 */ li r4, 0 -/* 80009D9C 00006CDC 38 A0 00 00 */ li r5, 0 -/* 80009DA0 00006CE0 38 C0 00 00 */ li r6, 0 -/* 80009DA4 00006CE4 38 E0 00 01 */ li r7, 1 -/* 80009DA8 00006CE8 39 00 00 00 */ li r8, 0 -/* 80009DAC 00006CEC 48 35 55 69 */ bl GXSetTevAlphaOp -/* 80009DB0 00006CF0 3B 00 00 01 */ li r24, 1 -lbl_80009DB4: -/* 80009DB4 00006CF4 7F 03 C3 78 */ mr r3, r24 -/* 80009DB8 00006CF8 7F 04 C3 78 */ mr r4, r24 -/* 80009DBC 00006CFC 38 A0 00 00 */ li r5, 0 -/* 80009DC0 00006D00 38 C0 00 FF */ li r6, 0xff -/* 80009DC4 00006D04 48 35 59 31 */ bl GXSetTevOrder -/* 80009DC8 00006D08 7F 03 C3 78 */ mr r3, r24 -/* 80009DCC 00006D0C 38 80 00 0F */ li r4, 0xf -/* 80009DD0 00006D10 38 A0 00 08 */ li r5, 8 -/* 80009DD4 00006D14 38 C0 00 05 */ li r6, 5 -/* 80009DD8 00006D18 38 E0 00 00 */ li r7, 0 -/* 80009DDC 00006D1C 48 35 54 49 */ bl GXSetTevColorIn -/* 80009DE0 00006D20 7F 03 C3 78 */ mr r3, r24 -/* 80009DE4 00006D24 38 80 00 00 */ li r4, 0 -/* 80009DE8 00006D28 38 A0 00 00 */ li r5, 0 -/* 80009DEC 00006D2C 38 C0 00 00 */ li r6, 0 -/* 80009DF0 00006D30 38 E0 00 01 */ li r7, 1 -/* 80009DF4 00006D34 39 00 00 00 */ li r8, 0 -/* 80009DF8 00006D38 48 35 54 B5 */ bl GXSetTevColorOp -/* 80009DFC 00006D3C 7F 03 C3 78 */ mr r3, r24 -/* 80009E00 00006D40 38 80 00 07 */ li r4, 7 -/* 80009E04 00006D44 38 A0 00 07 */ li r5, 7 -/* 80009E08 00006D48 38 C0 00 07 */ li r6, 7 -/* 80009E0C 00006D4C 38 E0 00 01 */ li r7, 1 -/* 80009E10 00006D50 48 35 54 59 */ bl GXSetTevAlphaIn -/* 80009E14 00006D54 7F 03 C3 78 */ mr r3, r24 -/* 80009E18 00006D58 38 80 00 00 */ li r4, 0 -/* 80009E1C 00006D5C 38 A0 00 00 */ li r5, 0 -/* 80009E20 00006D60 38 C0 00 00 */ li r6, 0 -/* 80009E24 00006D64 38 E0 00 01 */ li r7, 1 -/* 80009E28 00006D68 39 00 00 00 */ li r8, 0 -/* 80009E2C 00006D6C 48 35 54 E9 */ bl GXSetTevAlphaOp -/* 80009E30 00006D70 3B 18 00 01 */ addi r24, r24, 1 -/* 80009E34 00006D74 2C 18 00 08 */ cmpwi r24, 8 -/* 80009E38 00006D78 41 80 FF 7C */ blt lbl_80009DB4 -/* 80009E3C 00006D7C 48 35 25 39 */ bl GXPixModeSync -/* 80009E40 00006D80 38 60 00 01 */ li r3, 1 -/* 80009E44 00006D84 38 80 00 01 */ li r4, 1 -/* 80009E48 00006D88 4B FF F6 6D */ bl mDoGph_drawFilterQuad -/* 80009E4C 00006D8C 38 60 00 00 */ li r3, 0 -/* 80009E50 00006D90 38 80 00 00 */ li r4, 0 -/* 80009E54 00006D94 38 A0 00 98 */ li r5, 0x98 -/* 80009E58 00006D98 38 C0 00 70 */ li r6, 0x70 -/* 80009E5C 00006D9C 48 35 2C 25 */ bl GXSetTexCopySrc -/* 80009E60 00006DA0 38 60 00 4C */ li r3, 0x4c -/* 80009E64 00006DA4 38 80 00 38 */ li r4, 0x38 -/* 80009E68 00006DA8 38 A0 00 06 */ li r5, 6 -/* 80009E6C 00006DAC 38 C0 00 01 */ li r6, 1 -/* 80009E70 00006DB0 48 35 2C C1 */ bl GXSetTexCopyDst -/* 80009E74 00006DB4 7F 63 DB 78 */ mr r3, r27 -/* 80009E78 00006DB8 38 80 00 00 */ li r4, 0 -/* 80009E7C 00006DBC 48 35 35 F1 */ bl GXCopyTex -/* 80009E80 00006DC0 38 61 00 2C */ addi r3, r1, 0x2c -/* 80009E84 00006DC4 7F 64 DB 78 */ mr r4, r27 -/* 80009E88 00006DC8 38 A0 00 4C */ li r5, 0x4c -/* 80009E8C 00006DCC 38 C0 00 38 */ li r6, 0x38 -/* 80009E90 00006DD0 38 E0 00 06 */ li r7, 6 -/* 80009E94 00006DD4 39 00 00 00 */ li r8, 0 -/* 80009E98 00006DD8 39 20 00 00 */ li r9, 0 -/* 80009E9C 00006DDC 39 40 00 00 */ li r10, 0 -/* 80009EA0 00006DE0 48 35 3F A1 */ bl GXInitTexObj -/* 80009EA4 00006DE4 38 61 00 4C */ addi r3, r1, 0x4c -/* 80009EA8 00006DE8 38 80 00 01 */ li r4, 1 -/* 80009EAC 00006DEC 38 A0 00 01 */ li r5, 1 -/* 80009EB0 00006DF0 C0 22 80 38 */ lfs f1, lbl_80451A38-_SDA2_BASE_(r2) -/* 80009EB4 00006DF4 FC 40 08 90 */ fmr f2, f1 -/* 80009EB8 00006DF8 FC 60 08 90 */ fmr f3, f1 -/* 80009EBC 00006DFC 38 C0 00 00 */ li r6, 0 -/* 80009EC0 00006E00 38 E0 00 00 */ li r7, 0 -/* 80009EC4 00006E04 39 00 00 00 */ li r8, 0 -/* 80009EC8 00006E08 48 35 42 0D */ bl GXInitTexObjLOD -/* 80009ECC 00006E0C 38 61 00 2C */ addi r3, r1, 0x2c -/* 80009ED0 00006E10 38 80 00 00 */ li r4, 0 -/* 80009ED4 00006E14 48 35 45 41 */ bl GXLoadTexObj -/* 80009ED8 00006E18 38 60 00 01 */ li r3, 1 -/* 80009EDC 00006E1C 38 80 00 04 */ li r4, 4 -/* 80009EE0 00006E20 38 A0 00 05 */ li r5, 5 -/* 80009EE4 00006E24 38 C0 00 07 */ li r6, 7 -/* 80009EE8 00006E28 48 35 5D 09 */ bl GXSetBlendMode -/* 80009EEC 00006E2C 48 35 24 89 */ bl GXPixModeSync -/* 80009EF0 00006E30 48 35 47 75 */ bl GXInvalidateTexAll -/* 80009EF4 00006E34 38 60 00 01 */ li r3, 1 -/* 80009EF8 00006E38 38 80 00 01 */ li r4, 1 -/* 80009EFC 00006E3C 4B FF F5 B9 */ bl mDoGph_drawFilterQuad -/* 80009F00 00006E40 38 60 00 00 */ li r3, 0 -/* 80009F04 00006E44 38 80 00 00 */ li r4, 0 -/* 80009F08 00006E48 38 A0 00 98 */ li r5, 0x98 -/* 80009F0C 00006E4C 38 C0 00 70 */ li r6, 0x70 -/* 80009F10 00006E50 48 35 2B 71 */ bl GXSetTexCopySrc -/* 80009F14 00006E54 38 60 00 98 */ li r3, 0x98 -/* 80009F18 00006E58 38 80 00 70 */ li r4, 0x70 -/* 80009F1C 00006E5C 38 A0 00 06 */ li r5, 6 -/* 80009F20 00006E60 38 C0 00 00 */ li r6, 0 -/* 80009F24 00006E64 48 35 2C 0D */ bl GXSetTexCopyDst -/* 80009F28 00006E68 7F 63 DB 78 */ mr r3, r27 -/* 80009F2C 00006E6C 38 80 00 00 */ li r4, 0 -/* 80009F30 00006E70 48 35 35 3D */ bl GXCopyTex -/* 80009F34 00006E74 38 61 00 2C */ addi r3, r1, 0x2c -/* 80009F38 00006E78 80 9F 00 10 */ lwz r4, 0x10(r31) -/* 80009F3C 00006E7C 38 A0 01 30 */ li r5, 0x130 -/* 80009F40 00006E80 38 C0 00 E0 */ li r6, 0xe0 -/* 80009F44 00006E84 38 E0 00 06 */ li r7, 6 -/* 80009F48 00006E88 39 00 00 00 */ li r8, 0 -/* 80009F4C 00006E8C 39 20 00 00 */ li r9, 0 -/* 80009F50 00006E90 39 40 00 00 */ li r10, 0 -/* 80009F54 00006E94 48 35 3E ED */ bl GXInitTexObj -/* 80009F58 00006E98 38 61 00 2C */ addi r3, r1, 0x2c -/* 80009F5C 00006E9C 38 80 00 01 */ li r4, 1 -/* 80009F60 00006EA0 38 A0 00 01 */ li r5, 1 -/* 80009F64 00006EA4 C0 22 80 38 */ lfs f1, lbl_80451A38-_SDA2_BASE_(r2) -/* 80009F68 00006EA8 FC 40 08 90 */ fmr f2, f1 -/* 80009F6C 00006EAC FC 60 08 90 */ fmr f3, f1 -/* 80009F70 00006EB0 38 C0 00 00 */ li r6, 0 -/* 80009F74 00006EB4 38 E0 00 00 */ li r7, 0 -/* 80009F78 00006EB8 39 00 00 00 */ li r8, 0 -/* 80009F7C 00006EBC 48 35 41 59 */ bl GXInitTexObjLOD -/* 80009F80 00006EC0 38 61 00 2C */ addi r3, r1, 0x2c -/* 80009F84 00006EC4 38 80 00 00 */ li r4, 0 -/* 80009F88 00006EC8 48 35 44 8D */ bl GXLoadTexObj -/* 80009F8C 00006ECC 38 60 00 01 */ li r3, 1 -/* 80009F90 00006ED0 48 35 1E 6D */ bl GXSetNumTexGens -/* 80009F94 00006ED4 38 60 00 00 */ li r3, 0 -/* 80009F98 00006ED8 38 80 00 01 */ li r4, 1 -/* 80009F9C 00006EDC 38 A0 00 04 */ li r5, 4 -/* 80009FA0 00006EE0 38 C0 00 3C */ li r6, 0x3c -/* 80009FA4 00006EE4 38 E0 00 00 */ li r7, 0 -/* 80009FA8 00006EE8 39 00 00 7D */ li r8, 0x7d -/* 80009FAC 00006EEC 48 35 1B D1 */ bl GXSetTexCoordGen2 -/* 80009FB0 00006EF0 38 60 00 01 */ li r3, 1 -/* 80009FB4 00006EF4 48 35 58 DD */ bl GXSetNumTevStages -/* 80009FB8 00006EF8 38 60 00 00 */ li r3, 0 -/* 80009FBC 00006EFC 38 80 00 00 */ li r4, 0 -/* 80009FC0 00006F00 38 A0 00 00 */ li r5, 0 -/* 80009FC4 00006F04 38 C0 00 FF */ li r6, 0xff -/* 80009FC8 00006F08 48 35 57 2D */ bl GXSetTevOrder -/* 80009FCC 00006F0C 38 60 00 00 */ li r3, 0 -/* 80009FD0 00006F10 38 80 00 0F */ li r4, 0xf -/* 80009FD4 00006F14 38 A0 00 0F */ li r5, 0xf -/* 80009FD8 00006F18 38 C0 00 0F */ li r6, 0xf -/* 80009FDC 00006F1C 38 E0 00 08 */ li r7, 8 -/* 80009FE0 00006F20 48 35 52 45 */ bl GXSetTevColorIn -/* 80009FE4 00006F24 38 60 00 00 */ li r3, 0 -/* 80009FE8 00006F28 38 80 00 00 */ li r4, 0 -/* 80009FEC 00006F2C 38 A0 00 00 */ li r5, 0 -/* 80009FF0 00006F30 38 C0 00 00 */ li r6, 0 -/* 80009FF4 00006F34 38 E0 00 01 */ li r7, 1 -/* 80009FF8 00006F38 39 00 00 00 */ li r8, 0 -/* 80009FFC 00006F3C 48 35 52 B1 */ bl GXSetTevColorOp -/* 8000A000 00006F40 38 60 00 00 */ li r3, 0 -/* 8000A004 00006F44 38 80 00 07 */ li r4, 7 -/* 8000A008 00006F48 38 A0 00 07 */ li r5, 7 -/* 8000A00C 00006F4C 38 C0 00 07 */ li r6, 7 -/* 8000A010 00006F50 38 E0 00 07 */ li r7, 7 -/* 8000A014 00006F54 48 35 52 55 */ bl GXSetTevAlphaIn -/* 8000A018 00006F58 38 60 00 00 */ li r3, 0 -/* 8000A01C 00006F5C 38 80 00 00 */ li r4, 0 -/* 8000A020 00006F60 38 A0 00 00 */ li r5, 0 -/* 8000A024 00006F64 38 C0 00 00 */ li r6, 0 -/* 8000A028 00006F68 38 E0 00 01 */ li r7, 1 -/* 8000A02C 00006F6C 39 00 00 00 */ li r8, 0 -/* 8000A030 00006F70 48 35 52 E5 */ bl GXSetTevAlphaOp -/* 8000A034 00006F74 38 60 00 00 */ li r3, 0 -/* 8000A038 00006F78 38 80 00 01 */ li r4, 1 -/* 8000A03C 00006F7C 38 A0 00 01 */ li r5, 1 -/* 8000A040 00006F80 38 C0 00 07 */ li r6, 7 -/* 8000A044 00006F84 48 35 5B AD */ bl GXSetBlendMode -/* 8000A048 00006F88 38 60 00 02 */ li r3, 2 -/* 8000A04C 00006F8C 38 80 00 02 */ li r4, 2 -/* 8000A050 00006F90 4B FF F4 65 */ bl mDoGph_drawFilterQuad -/* 8000A054 00006F94 38 61 00 4C */ addi r3, r1, 0x4c -/* 8000A058 00006F98 38 80 00 00 */ li r4, 0 -/* 8000A05C 00006F9C 48 35 43 B9 */ bl GXLoadTexObj -/* 8000A060 00006FA0 80 1F 00 00 */ lwz r0, 0(r31) -/* 8000A064 00006FA4 90 01 00 08 */ stw r0, 8(r1) -/* 8000A068 00006FA8 38 60 00 01 */ li r3, 1 -/* 8000A06C 00006FAC 38 81 00 08 */ addi r4, r1, 8 -/* 8000A070 00006FB0 48 35 53 0D */ bl GXSetTevColor -/* 8000A074 00006FB4 38 60 00 01 */ li r3, 1 -/* 8000A078 00006FB8 48 35 58 19 */ bl GXSetNumTevStages -/* 8000A07C 00006FBC 38 60 00 00 */ li r3, 0 -/* 8000A080 00006FC0 38 80 00 00 */ li r4, 0 -/* 8000A084 00006FC4 38 A0 00 00 */ li r5, 0 -/* 8000A088 00006FC8 38 C0 00 FF */ li r6, 0xff -/* 8000A08C 00006FCC 48 35 56 69 */ bl GXSetTevOrder -/* 8000A090 00006FD0 38 60 00 00 */ li r3, 0 -/* 8000A094 00006FD4 38 80 00 0F */ li r4, 0xf -/* 8000A098 00006FD8 38 A0 00 08 */ li r5, 8 -/* 8000A09C 00006FDC 38 C0 00 02 */ li r6, 2 -/* 8000A0A0 00006FE0 38 E0 00 0F */ li r7, 0xf -/* 8000A0A4 00006FE4 48 35 51 81 */ bl GXSetTevColorIn -/* 8000A0A8 00006FE8 38 60 00 00 */ li r3, 0 -/* 8000A0AC 00006FEC 38 80 00 00 */ li r4, 0 -/* 8000A0B0 00006FF0 38 A0 00 00 */ li r5, 0 -/* 8000A0B4 00006FF4 38 C0 00 00 */ li r6, 0 -/* 8000A0B8 00006FF8 38 E0 00 01 */ li r7, 1 -/* 8000A0BC 00006FFC 39 00 00 00 */ li r8, 0 -/* 8000A0C0 00007000 48 35 51 ED */ bl GXSetTevColorOp -/* 8000A0C4 00007004 38 60 00 00 */ li r3, 0 -/* 8000A0C8 00007008 38 80 00 07 */ li r4, 7 -/* 8000A0CC 0000700C 38 A0 00 07 */ li r5, 7 -/* 8000A0D0 00007010 38 C0 00 07 */ li r6, 7 -/* 8000A0D4 00007014 38 E0 00 01 */ li r7, 1 -/* 8000A0D8 00007018 48 35 51 91 */ bl GXSetTevAlphaIn -/* 8000A0DC 0000701C 38 60 00 00 */ li r3, 0 -/* 8000A0E0 00007020 38 80 00 00 */ li r4, 0 -/* 8000A0E4 00007024 38 A0 00 00 */ li r5, 0 -/* 8000A0E8 00007028 38 C0 00 00 */ li r6, 0 -/* 8000A0EC 0000702C 38 E0 00 01 */ li r7, 1 -/* 8000A0F0 00007030 39 00 00 00 */ li r8, 0 -/* 8000A0F4 00007034 48 35 52 21 */ bl GXSetTevAlphaOp -/* 8000A0F8 00007038 38 60 00 01 */ li r3, 1 -/* 8000A0FC 0000703C 88 1F 00 09 */ lbz r0, 9(r31) -/* 8000A100 00007040 28 00 00 01 */ cmplwi r0, 1 -/* 8000A104 00007044 38 80 00 01 */ li r4, 1 -/* 8000A108 00007048 40 82 00 08 */ bne lbl_8000A110 -/* 8000A10C 0000704C 38 80 00 03 */ li r4, 3 -lbl_8000A110: -/* 8000A110 00007050 38 A0 00 04 */ li r5, 4 -/* 8000A114 00007054 38 C0 00 07 */ li r6, 7 -/* 8000A118 00007058 48 35 5A D9 */ bl GXSetBlendMode -/* 8000A11C 0000705C 48 35 22 59 */ bl GXPixModeSync -/* 8000A120 00007060 48 35 45 45 */ bl GXInvalidateTexAll -/* 8000A124 00007064 38 60 00 04 */ li r3, 4 -/* 8000A128 00007068 38 80 00 04 */ li r4, 4 -/* 8000A12C 0000706C 4B FF F3 89 */ bl mDoGph_drawFilterQuad -lbl_8000A130: -/* 8000A130 00007070 E3 E1 01 08 */ psq_l f31, 264(r1), 0, qr0 -/* 8000A134 00007074 CB E1 01 00 */ lfd f31, 0x100(r1) -/* 8000A138 00007078 E3 C1 00 F8 */ psq_l f30, 248(r1), 0, qr0 -/* 8000A13C 0000707C CB C1 00 F0 */ lfd f30, 0xf0(r1) -/* 8000A140 00007080 E3 A1 00 E8 */ psq_l f29, 232(r1), 0, qr0 -/* 8000A144 00007084 CB A1 00 E0 */ lfd f29, 0xe0(r1) -/* 8000A148 00007088 39 61 00 E0 */ addi r11, r1, 0xe0 -/* 8000A14C 0000708C 48 35 80 C9 */ bl _restgpr_24 -/* 8000A150 00007090 80 01 01 14 */ lwz r0, 0x114(r1) -/* 8000A154 00007094 7C 08 03 A6 */ mtlr r0 -/* 8000A158 00007098 38 21 01 10 */ addi r1, r1, 0x110 -/* 8000A15C 0000709C 4E 80 00 20 */ blr - -.global retry_captue_frame -retry_captue_frame: -/* 8000A160 000070A0 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 8000A164 000070A4 7C 08 02 A6 */ mflr r0 -/* 8000A168 000070A8 90 01 00 44 */ stw r0, 0x44(r1) -/* 8000A16C 000070AC 39 61 00 40 */ addi r11, r1, 0x40 -/* 8000A170 000070B0 48 35 80 65 */ bl _savegpr_27 -/* 8000A174 000070B4 C0 04 00 00 */ lfs f0, 0(r4) -/* 8000A178 000070B8 FC 00 00 1E */ fctiwz f0, f0 -/* 8000A17C 000070BC D8 01 00 08 */ stfd f0, 8(r1) -/* 8000A180 000070C0 80 01 00 0C */ lwz r0, 0xc(r1) -/* 8000A184 000070C4 54 00 00 38 */ rlwinm r0, r0, 0, 0, 0x1c -/* 8000A188 000070C8 7C 1F 07 34 */ extsh r31, r0 -/* 8000A18C 000070CC C0 04 00 04 */ lfs f0, 4(r4) -/* 8000A190 000070D0 FC 00 00 1E */ fctiwz f0, f0 -/* 8000A194 000070D4 D8 01 00 10 */ stfd f0, 0x10(r1) -/* 8000A198 000070D8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8000A19C 000070DC 54 00 00 38 */ rlwinm r0, r0, 0, 0, 0x1c -/* 8000A1A0 000070E0 7C 05 07 34 */ extsh r5, r0 -/* 8000A1A4 000070E4 7C A0 FE 70 */ srawi r0, r5, 0x1f -/* 8000A1A8 000070E8 7C A0 00 78 */ andc r0, r5, r0 -/* 8000A1AC 000070EC 7C 1E 07 34 */ extsh r30, r0 -/* 8000A1B0 000070F0 C0 04 00 08 */ lfs f0, 8(r4) -/* 8000A1B4 000070F4 FC 00 00 1E */ fctiwz f0, f0 -/* 8000A1B8 000070F8 D8 01 00 18 */ stfd f0, 0x18(r1) -/* 8000A1BC 000070FC 80 01 00 1C */ lwz r0, 0x1c(r1) -/* 8000A1C0 00007100 54 00 00 38 */ rlwinm r0, r0, 0, 0, 0x1c -/* 8000A1C4 00007104 7C 1D 07 34 */ extsh r29, r0 -/* 8000A1C8 00007108 C0 04 00 0C */ lfs f0, 0xc(r4) -/* 8000A1CC 0000710C FC 00 00 1E */ fctiwz f0, f0 -/* 8000A1D0 00007110 D8 01 00 20 */ stfd f0, 0x20(r1) -/* 8000A1D4 00007114 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8000A1D8 00007118 54 00 00 38 */ rlwinm r0, r0, 0, 0, 0x1c -/* 8000A1DC 0000711C 7C 1C 07 34 */ extsh r28, r0 -/* 8000A1E0 00007120 83 6D 86 50 */ lwz r27, lbl_80450BD0-_SDA_BASE_(r13) -/* 8000A1E4 00007124 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha -/* 8000A1E8 00007128 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l -/* 8000A1EC 0000712C 88 03 5E B5 */ lbz r0, 0x5eb5(r3) -/* 8000A1F0 00007130 28 00 00 00 */ cmplwi r0, 0 -/* 8000A1F4 00007134 40 82 00 84 */ bne lbl_8000A278 -/* 8000A1F8 00007138 7C A0 07 35 */ extsh. r0, r5 -/* 8000A1FC 0000713C 40 80 00 30 */ bge lbl_8000A22C -/* 8000A200 00007140 7F 9C 2A 14 */ add r28, r28, r5 -/* 8000A204 00007144 7C 05 00 D0 */ neg r0, r5 -/* 8000A208 00007148 7C 00 0E 70 */ srawi r0, r0, 1 -/* 8000A20C 0000714C 38 60 01 30 */ li r3, 0x130 -/* 8000A210 00007150 54 04 04 3E */ clrlwi r4, r0, 0x10 -/* 8000A214 00007154 80 AD 86 4C */ lwz r5, lbl_80450BCC-_SDA_BASE_(r13) -/* 8000A218 00007158 88 A5 00 00 */ lbz r5, 0(r5) -/* 8000A21C 0000715C 38 C0 00 00 */ li r6, 0 -/* 8000A220 00007160 38 E0 00 00 */ li r7, 0 -/* 8000A224 00007164 48 35 39 F9 */ bl GXGetTexBufferSize -/* 8000A228 00007168 7F 7B 1A 14 */ add r27, r27, r3 -lbl_8000A22C: -/* 8000A22C 0000716C 57 E3 04 3E */ clrlwi r3, r31, 0x10 -/* 8000A230 00007170 57 C4 04 3E */ clrlwi r4, r30, 0x10 -/* 8000A234 00007174 57 A5 04 3E */ clrlwi r5, r29, 0x10 -/* 8000A238 00007178 57 86 04 3E */ clrlwi r6, r28, 0x10 -/* 8000A23C 0000717C 48 35 28 45 */ bl GXSetTexCopySrc -/* 8000A240 00007180 7F A0 0E 70 */ srawi r0, r29, 1 -/* 8000A244 00007184 54 03 04 3E */ clrlwi r3, r0, 0x10 -/* 8000A248 00007188 7F 80 07 34 */ extsh r0, r28 -/* 8000A24C 0000718C 7C 00 0E 70 */ srawi r0, r0, 1 -/* 8000A250 00007190 54 04 04 3E */ clrlwi r4, r0, 0x10 -/* 8000A254 00007194 80 AD 86 4C */ lwz r5, lbl_80450BCC-_SDA_BASE_(r13) -/* 8000A258 00007198 88 A5 00 00 */ lbz r5, 0(r5) -/* 8000A25C 0000719C 38 C0 00 01 */ li r6, 1 -/* 8000A260 000071A0 48 35 28 D1 */ bl GXSetTexCopyDst -/* 8000A264 000071A4 7F 63 DB 78 */ mr r3, r27 -/* 8000A268 000071A8 38 80 00 00 */ li r4, 0 -/* 8000A26C 000071AC 48 35 32 01 */ bl GXCopyTex -/* 8000A270 000071B0 48 35 21 05 */ bl GXPixModeSync -/* 8000A274 000071B4 48 35 43 F1 */ bl GXInvalidateTexAll -lbl_8000A278: -/* 8000A278 000071B8 39 61 00 40 */ addi r11, r1, 0x40 -/* 8000A27C 000071BC 48 35 7F A5 */ bl _restgpr_27 -/* 8000A280 000071C0 80 01 00 44 */ lwz r0, 0x44(r1) -/* 8000A284 000071C4 7C 08 03 A6 */ mtlr r0 -/* 8000A288 000071C8 38 21 00 40 */ addi r1, r1, 0x40 -/* 8000A28C 000071CC 4E 80 00 20 */ blr - -.global motionBlure -motionBlure: -/* 8000A290 000071D0 94 21 FF A0 */ stwu r1, -0x60(r1) -/* 8000A294 000071D4 7C 08 02 A6 */ mflr r0 -/* 8000A298 000071D8 90 01 00 64 */ stw r0, 0x64(r1) -/* 8000A29C 000071DC 93 E1 00 5C */ stw r31, 0x5c(r1) -/* 8000A2A0 000071E0 93 C1 00 58 */ stw r30, 0x58(r1) -/* 8000A2A4 000071E4 7C 7E 1B 78 */ mr r30, r3 -/* 8000A2A8 000071E8 3C 60 80 43 */ lis r3, lbl_8042CA54@ha -/* 8000A2AC 000071EC 3B E3 CA 54 */ addi r31, r3, lbl_8042CA54@l -/* 8000A2B0 000071F0 88 1F 12 FA */ lbz r0, 0x12fa(r31) -/* 8000A2B4 000071F4 28 00 00 00 */ cmplwi r0, 0 -/* 8000A2B8 000071F8 41 82 02 14 */ beq lbl_8000A4CC -/* 8000A2BC 000071FC 3C 60 80 3E */ lis r3, lbl_803DD3E8@ha -/* 8000A2C0 00007200 38 63 D3 E8 */ addi r3, r3, lbl_803DD3E8@l -/* 8000A2C4 00007204 38 80 00 00 */ li r4, 0 -/* 8000A2C8 00007208 48 35 41 4D */ bl GXLoadTexObj -/* 8000A2CC 0000720C 88 0D 86 65 */ lbz r0, lbl_80450BE5-_SDA_BASE_(r13) -/* 8000A2D0 00007210 98 01 00 13 */ stb r0, 0x13(r1) -/* 8000A2D4 00007214 38 60 00 00 */ li r3, 0 -/* 8000A2D8 00007218 48 35 38 59 */ bl GXSetNumChans -/* 8000A2DC 0000721C 38 60 00 01 */ li r3, 1 -/* 8000A2E0 00007220 48 35 1B 1D */ bl GXSetNumTexGens -/* 8000A2E4 00007224 38 60 00 00 */ li r3, 0 -/* 8000A2E8 00007228 38 80 00 01 */ li r4, 1 -/* 8000A2EC 0000722C 38 A0 00 04 */ li r5, 4 -/* 8000A2F0 00007230 38 C0 00 1E */ li r6, 0x1e -/* 8000A2F4 00007234 38 E0 00 00 */ li r7, 0 -/* 8000A2F8 00007238 39 00 00 7D */ li r8, 0x7d -/* 8000A2FC 0000723C 48 35 18 81 */ bl GXSetTexCoordGen2 -/* 8000A300 00007240 38 60 00 01 */ li r3, 1 -/* 8000A304 00007244 48 35 55 8D */ bl GXSetNumTevStages -/* 8000A308 00007248 80 01 00 10 */ lwz r0, 0x10(r1) -/* 8000A30C 0000724C 90 01 00 0C */ stw r0, 0xc(r1) -/* 8000A310 00007250 38 60 00 01 */ li r3, 1 -/* 8000A314 00007254 38 81 00 0C */ addi r4, r1, 0xc -/* 8000A318 00007258 48 35 50 65 */ bl GXSetTevColor -/* 8000A31C 0000725C 38 60 00 00 */ li r3, 0 -/* 8000A320 00007260 38 80 00 00 */ li r4, 0 -/* 8000A324 00007264 38 A0 00 00 */ li r5, 0 -/* 8000A328 00007268 38 C0 00 FF */ li r6, 0xff -/* 8000A32C 0000726C 48 35 53 C9 */ bl GXSetTevOrder -/* 8000A330 00007270 38 60 00 00 */ li r3, 0 -/* 8000A334 00007274 38 80 00 0F */ li r4, 0xf -/* 8000A338 00007278 38 A0 00 0F */ li r5, 0xf -/* 8000A33C 0000727C 38 C0 00 0F */ li r6, 0xf -/* 8000A340 00007280 38 E0 00 08 */ li r7, 8 -/* 8000A344 00007284 48 35 4E E1 */ bl GXSetTevColorIn -/* 8000A348 00007288 38 60 00 00 */ li r3, 0 -/* 8000A34C 0000728C 38 80 00 00 */ li r4, 0 -/* 8000A350 00007290 38 A0 00 00 */ li r5, 0 -/* 8000A354 00007294 38 C0 00 00 */ li r6, 0 -/* 8000A358 00007298 38 E0 00 01 */ li r7, 1 -/* 8000A35C 0000729C 39 00 00 00 */ li r8, 0 -/* 8000A360 000072A0 48 35 4F 4D */ bl GXSetTevColorOp -/* 8000A364 000072A4 38 60 00 00 */ li r3, 0 -/* 8000A368 000072A8 38 80 00 07 */ li r4, 7 -/* 8000A36C 000072AC 38 A0 00 07 */ li r5, 7 -/* 8000A370 000072B0 38 C0 00 07 */ li r6, 7 -/* 8000A374 000072B4 38 E0 00 01 */ li r7, 1 -/* 8000A378 000072B8 48 35 4E F1 */ bl GXSetTevAlphaIn -/* 8000A37C 000072BC 38 60 00 00 */ li r3, 0 -/* 8000A380 000072C0 38 80 00 00 */ li r4, 0 -/* 8000A384 000072C4 38 A0 00 00 */ li r5, 0 -/* 8000A388 000072C8 38 C0 00 00 */ li r6, 0 -/* 8000A38C 000072CC 38 E0 00 01 */ li r7, 1 -/* 8000A390 000072D0 39 00 00 00 */ li r8, 0 -/* 8000A394 000072D4 48 35 4F 81 */ bl GXSetTevAlphaOp -/* 8000A398 000072D8 38 60 00 01 */ li r3, 1 -/* 8000A39C 000072DC 48 35 59 35 */ bl GXSetZCompLoc -/* 8000A3A0 000072E0 38 60 00 00 */ li r3, 0 -/* 8000A3A4 000072E4 38 80 00 07 */ li r4, 7 -/* 8000A3A8 000072E8 38 A0 00 00 */ li r5, 0 -/* 8000A3AC 000072EC 48 35 58 F1 */ bl GXSetZMode -/* 8000A3B0 000072F0 38 60 00 01 */ li r3, 1 -/* 8000A3B4 000072F4 38 80 00 04 */ li r4, 4 -/* 8000A3B8 000072F8 38 A0 00 05 */ li r5, 5 -/* 8000A3BC 000072FC 38 C0 00 00 */ li r6, 0 -/* 8000A3C0 00007300 48 35 58 31 */ bl GXSetBlendMode -/* 8000A3C4 00007304 38 60 00 07 */ li r3, 7 -/* 8000A3C8 00007308 38 80 00 00 */ li r4, 0 -/* 8000A3CC 0000730C 38 A0 00 01 */ li r5, 1 -/* 8000A3D0 00007310 38 C0 00 07 */ li r6, 7 -/* 8000A3D4 00007314 38 E0 00 00 */ li r7, 0 -/* 8000A3D8 00007318 48 35 52 4D */ bl GXSetAlphaCompare -/* 8000A3DC 0000731C 80 0D 80 80 */ lwz r0, lbl_80450600-_SDA_BASE_(r13) -/* 8000A3E0 00007320 90 01 00 08 */ stw r0, 8(r1) -/* 8000A3E4 00007324 38 60 00 00 */ li r3, 0 -/* 8000A3E8 00007328 C0 22 80 38 */ lfs f1, lbl_80451A38-_SDA2_BASE_(r2) -/* 8000A3EC 0000732C FC 40 08 90 */ fmr f2, f1 -/* 8000A3F0 00007330 FC 60 08 90 */ fmr f3, f1 -/* 8000A3F4 00007334 FC 80 08 90 */ fmr f4, f1 -/* 8000A3F8 00007338 38 81 00 08 */ addi r4, r1, 8 -/* 8000A3FC 0000733C 48 35 54 BD */ bl GXSetFog -/* 8000A400 00007340 38 60 00 00 */ li r3, 0 -/* 8000A404 00007344 48 35 25 81 */ bl GXSetCullMode -/* 8000A408 00007348 38 60 00 01 */ li r3, 1 -/* 8000A40C 0000734C 48 35 59 CD */ bl GXSetDither -/* 8000A410 00007350 38 61 00 14 */ addi r3, r1, 0x14 -/* 8000A414 00007354 C0 22 80 38 */ lfs f1, lbl_80451A38-_SDA2_BASE_(r2) -/* 8000A418 00007358 C0 42 80 3C */ lfs f2, lbl_80451A3C-_SDA2_BASE_(r2) -/* 8000A41C 0000735C FC 60 08 90 */ fmr f3, f1 -/* 8000A420 00007360 FC 80 10 90 */ fmr f4, f2 -/* 8000A424 00007364 FC A0 08 90 */ fmr f5, f1 -/* 8000A428 00007368 C0 C2 80 40 */ lfs f6, lbl_80451A40-_SDA2_BASE_(r2) -/* 8000A42C 0000736C 48 33 CB CD */ bl C_MTXOrtho -/* 8000A430 00007370 3C 60 80 3A */ lis r3, lbl_803A2FD8@ha -/* 8000A434 00007374 38 63 2F D8 */ addi r3, r3, lbl_803A2FD8@l -/* 8000A438 00007378 38 80 00 00 */ li r4, 0 -/* 8000A43C 0000737C 48 35 5E 11 */ bl GXLoadPosMtxImm -/* 8000A440 00007380 3C 60 80 3E */ lis r3, lbl_803DD43C@ha -/* 8000A444 00007384 38 63 D4 3C */ addi r3, r3, lbl_803DD43C@l -/* 8000A448 00007388 38 80 00 1E */ li r4, 0x1e -/* 8000A44C 0000738C 38 A0 00 01 */ li r5, 1 -/* 8000A450 00007390 48 35 5E D1 */ bl GXLoadTexMtxImm -/* 8000A454 00007394 38 61 00 14 */ addi r3, r1, 0x14 -/* 8000A458 00007398 38 80 00 01 */ li r4, 1 -/* 8000A45C 0000739C 48 35 5C 79 */ bl GXSetProjection -/* 8000A460 000073A0 38 60 00 00 */ li r3, 0 -/* 8000A464 000073A4 48 35 5E 89 */ bl GXSetCurrentMtx -/* 8000A468 000073A8 48 35 11 25 */ bl GXClearVtxDesc -/* 8000A46C 000073AC 38 60 00 09 */ li r3, 9 -/* 8000A470 000073B0 38 80 00 01 */ li r4, 1 -/* 8000A474 000073B4 48 35 0A 45 */ bl GXSetVtxDesc -/* 8000A478 000073B8 38 60 00 0D */ li r3, 0xd -/* 8000A47C 000073BC 38 80 00 01 */ li r4, 1 -/* 8000A480 000073C0 48 35 0A 39 */ bl GXSetVtxDesc -/* 8000A484 000073C4 38 60 00 00 */ li r3, 0 -/* 8000A488 000073C8 38 80 00 09 */ li r4, 9 -/* 8000A48C 000073CC 38 A0 00 00 */ li r5, 0 -/* 8000A490 000073D0 38 C0 00 01 */ li r6, 1 -/* 8000A494 000073D4 38 E0 00 00 */ li r7, 0 -/* 8000A498 000073D8 48 35 11 2D */ bl GXSetVtxAttrFmt -/* 8000A49C 000073DC 38 60 00 00 */ li r3, 0 -/* 8000A4A0 000073E0 38 80 00 0D */ li r4, 0xd -/* 8000A4A4 000073E4 38 A0 00 01 */ li r5, 1 -/* 8000A4A8 000073E8 38 C0 00 01 */ li r6, 1 -/* 8000A4AC 000073EC 38 E0 00 00 */ li r7, 0 -/* 8000A4B0 000073F0 48 35 11 15 */ bl GXSetVtxAttrFmt -/* 8000A4B4 000073F4 38 60 00 01 */ li r3, 1 -/* 8000A4B8 000073F8 38 80 00 01 */ li r4, 1 -/* 8000A4BC 000073FC 4B FF EF F9 */ bl mDoGph_drawFilterQuad -/* 8000A4C0 00007400 38 7E 01 00 */ addi r3, r30, 0x100 -/* 8000A4C4 00007404 38 80 00 00 */ li r4, 0 -/* 8000A4C8 00007408 48 35 5C 0D */ bl GXSetProjection -lbl_8000A4CC: -/* 8000A4CC 0000740C 88 0D 86 64 */ lbz r0, lbl_80450BE4-_SDA_BASE_(r13) -/* 8000A4D0 00007410 28 00 00 00 */ cmplwi r0, 0 -/* 8000A4D4 00007414 41 82 00 10 */ beq lbl_8000A4E4 -/* 8000A4D8 00007418 38 00 00 01 */ li r0, 1 -/* 8000A4DC 0000741C 98 1F 12 FA */ stb r0, 0x12fa(r31) -/* 8000A4E0 00007420 48 00 00 0C */ b lbl_8000A4EC -lbl_8000A4E4: -/* 8000A4E4 00007424 38 00 00 00 */ li r0, 0 -/* 8000A4E8 00007428 98 1F 12 FA */ stb r0, 0x12fa(r31) -lbl_8000A4EC: -/* 8000A4EC 0000742C 83 E1 00 5C */ lwz r31, 0x5c(r1) -/* 8000A4F0 00007430 83 C1 00 58 */ lwz r30, 0x58(r1) -/* 8000A4F4 00007434 80 01 00 64 */ lwz r0, 0x64(r1) -/* 8000A4F8 00007438 7C 08 03 A6 */ mtlr r0 -/* 8000A4FC 0000743C 38 21 00 60 */ addi r1, r1, 0x60 -/* 8000A500 00007440 4E 80 00 20 */ blr - -.global setLight -setLight: -/* 8000A504 00007444 94 21 FF B0 */ stwu r1, -0x50(r1) -/* 8000A508 00007448 7C 08 02 A6 */ mflr r0 -/* 8000A50C 0000744C 90 01 00 54 */ stw r0, 0x54(r1) -/* 8000A510 00007450 38 61 00 0C */ addi r3, r1, 0xc -/* 8000A514 00007454 C0 22 80 D0 */ lfs f1, lbl_80451AD0-_SDA2_BASE_(r2) -/* 8000A518 00007458 C0 42 80 38 */ lfs f2, lbl_80451A38-_SDA2_BASE_(r2) -/* 8000A51C 0000745C C0 62 80 D4 */ lfs f3, lbl_80451AD4-_SDA2_BASE_(r2) -/* 8000A520 00007460 48 35 33 8D */ bl GXInitLightPos -/* 8000A524 00007464 38 61 00 0C */ addi r3, r1, 0xc -/* 8000A528 00007468 C0 22 80 38 */ lfs f1, lbl_80451A38-_SDA2_BASE_(r2) -/* 8000A52C 0000746C FC 40 08 90 */ fmr f2, f1 -/* 8000A530 00007470 FC 60 08 90 */ fmr f3, f1 -/* 8000A534 00007474 48 35 33 89 */ bl GXInitLightDir -/* 8000A538 00007478 80 0D 80 88 */ lwz r0, lbl_80450608-_SDA_BASE_(r13) -/* 8000A53C 0000747C 90 01 00 08 */ stw r0, 8(r1) -/* 8000A540 00007480 38 61 00 0C */ addi r3, r1, 0xc -/* 8000A544 00007484 38 81 00 08 */ addi r4, r1, 8 -/* 8000A548 00007488 48 35 33 91 */ bl GXInitLightColor -/* 8000A54C 0000748C 38 61 00 0C */ addi r3, r1, 0xc -/* 8000A550 00007490 C0 22 80 38 */ lfs f1, lbl_80451A38-_SDA2_BASE_(r2) -/* 8000A554 00007494 FC 40 08 90 */ fmr f2, f1 -/* 8000A558 00007498 38 80 00 01 */ li r4, 1 -/* 8000A55C 0000749C 48 35 32 81 */ bl GXInitLightDistAttn -/* 8000A560 000074A0 38 61 00 0C */ addi r3, r1, 0xc -/* 8000A564 000074A4 C0 22 80 38 */ lfs f1, lbl_80451A38-_SDA2_BASE_(r2) -/* 8000A568 000074A8 38 80 00 01 */ li r4, 1 -/* 8000A56C 000074AC 48 35 30 E1 */ bl GXInitLightSpot -/* 8000A570 000074B0 38 61 00 0C */ addi r3, r1, 0xc -/* 8000A574 000074B4 38 80 00 01 */ li r4, 1 -/* 8000A578 000074B8 48 35 33 6D */ bl GXLoadLightObjImm -/* 8000A57C 000074BC 80 01 00 54 */ lwz r0, 0x54(r1) -/* 8000A580 000074C0 7C 08 03 A6 */ mtlr r0 -/* 8000A584 000074C4 38 21 00 50 */ addi r1, r1, 0x50 -/* 8000A588 000074C8 4E 80 00 20 */ blr - -.global drawItem3D -drawItem3D: -/* 8000A58C 000074CC 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 8000A590 000074D0 7C 08 02 A6 */ mflr r0 -/* 8000A594 000074D4 90 01 00 44 */ stw r0, 0x44(r1) -/* 8000A598 000074D8 93 E1 00 3C */ stw r31, 0x3c(r1) -/* 8000A59C 000074DC 38 61 00 08 */ addi r3, r1, 8 -/* 8000A5A0 000074E0 48 1A D0 49 */ bl dMenu_Collect3D_c_NS_setupItem3D -/* 8000A5A4 000074E4 4B FF FF 61 */ bl setLight -/* 8000A5A8 000074E8 38 61 00 08 */ addi r3, r1, 8 -/* 8000A5AC 000074EC 3C 80 80 43 */ lis r4, lbl_80434AC8@ha -/* 8000A5B0 000074F0 38 84 4A C8 */ addi r4, r4, lbl_80434AC8@l -/* 8000A5B4 000074F4 48 33 BE FD */ bl PSMTXCopy -/* 8000A5B8 000074F8 38 60 00 01 */ li r3, 1 -/* 8000A5BC 000074FC 48 35 60 15 */ bl GXSetClipMode -/* 8000A5C0 00007500 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha -/* 8000A5C4 00007504 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l -/* 8000A5C8 00007508 3B E3 5F 64 */ addi r31, r3, 0x5f64 -/* 8000A5CC 0000750C 7F E3 FB 78 */ mr r3, r31 -/* 8000A5D0 00007510 48 04 C1 7D */ bl dDlst_list_c_NS_drawOpaListItem3d -/* 8000A5D4 00007514 7F E3 FB 78 */ mr r3, r31 -/* 8000A5D8 00007518 48 04 C1 99 */ bl dDlst_list_c_NS_drawXluListItem3d -/* 8000A5DC 0000751C 38 60 00 00 */ li r3, 0 -/* 8000A5E0 00007520 48 35 5F F1 */ bl GXSetClipMode -/* 8000A5E4 00007524 3C 60 80 43 */ lis r3, lbl_80434AC8@ha -/* 8000A5E8 00007528 38 63 4A C8 */ addi r3, r3, lbl_80434AC8@l -/* 8000A5EC 0000752C 48 30 61 51 */ bl J3DSys_NS_reinitGX -/* 8000A5F0 00007530 83 E1 00 3C */ lwz r31, 0x3c(r1) -/* 8000A5F4 00007534 80 01 00 44 */ lwz r0, 0x44(r1) -/* 8000A5F8 00007538 7C 08 03 A6 */ mtlr r0 -/* 8000A5FC 0000753C 38 21 00 40 */ addi r1, r1, 0x40 -/* 8000A600 00007540 4E 80 00 20 */ blr -/* 8000A604 00007544 94 21 FC 20 */ stwu r1, -0x3e0(r1) -/* 8000A608 00007548 7C 08 02 A6 */ mflr r0 -/* 8000A60C 0000754C 90 01 03 E4 */ stw r0, 0x3e4(r1) -/* 8000A610 00007550 DB E1 03 D0 */ stfd f31, 0x3d0(r1) -/* 8000A614 00007554 F3 E1 03 D8 */ psq_st f31, 984(r1), 0, qr0 -/* 8000A618 00007558 DB C1 03 C0 */ stfd f30, 0x3c0(r1) -/* 8000A61C 0000755C F3 C1 03 C8 */ psq_st f30, 968(r1), 0, qr0 -/* 8000A620 00007560 39 61 03 C0 */ addi r11, r1, 0x3c0 -/* 8000A624 00007564 48 35 7B 99 */ bl _savegpr_21 -/* 8000A628 00007568 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha -/* 8000A62C 0000756C 3B 83 61 C0 */ addi r28, r3, g_dComIfG_gameInfo@l -/* 8000A630 00007570 80 7C 5D 3C */ lwz r3, 0x5d3c(r28) -/* 8000A634 00007574 28 03 00 00 */ cmplwi r3, 0 -/* 8000A638 00007578 41 82 00 08 */ beq lbl_8000A640 -/* 8000A63C 0000757C 48 04 1A F9 */ bl dPa_control_c_NS_calcMenu -lbl_8000A640: -/* 8000A640 00007580 80 0D 86 48 */ lwz r0, lbl_80450BC8-_SDA_BASE_(r13) -/* 8000A644 00007584 80 6D 8C 40 */ lwz r3, lbl_804511C0-_SDA_BASE_(r13) -/* 8000A648 00007588 90 03 00 04 */ stw r0, 4(r3) -/* 8000A64C 0000758C 80 0D 80 10 */ lwz r0, lbl_80450590-_SDA_BASE_(r13) -/* 8000A650 00007590 90 01 00 08 */ stw r0, 8(r1) -/* 8000A654 00007594 88 01 00 08 */ lbz r0, 8(r1) -/* 8000A658 00007598 98 01 00 10 */ stb r0, 0x10(r1) -/* 8000A65C 0000759C 88 01 00 09 */ lbz r0, 9(r1) -/* 8000A660 000075A0 98 01 00 11 */ stb r0, 0x11(r1) -/* 8000A664 000075A4 88 01 00 0A */ lbz r0, 0xa(r1) -/* 8000A668 000075A8 98 01 00 12 */ stb r0, 0x12(r1) -/* 8000A66C 000075AC 88 01 00 0B */ lbz r0, 0xb(r1) -/* 8000A670 000075B0 98 01 00 13 */ stb r0, 0x13(r1) -/* 8000A674 000075B4 80 01 00 10 */ lwz r0, 0x10(r1) -/* 8000A678 000075B8 90 01 00 0C */ stw r0, 0xc(r1) -/* 8000A67C 000075BC 80 6D 8C 40 */ lwz r3, lbl_804511C0-_SDA_BASE_(r13) -/* 8000A680 000075C0 88 01 00 0C */ lbz r0, 0xc(r1) -/* 8000A684 000075C4 98 03 00 08 */ stb r0, 8(r3) -/* 8000A688 000075C8 88 01 00 0D */ lbz r0, 0xd(r1) -/* 8000A68C 000075CC 98 03 00 09 */ stb r0, 9(r3) -/* 8000A690 000075D0 88 01 00 0E */ lbz r0, 0xe(r1) -/* 8000A694 000075D4 98 03 00 0A */ stb r0, 0xa(r3) -/* 8000A698 000075D8 88 01 00 0F */ lbz r0, 0xf(r1) -/* 8000A69C 000075DC 98 03 00 0B */ stb r0, 0xb(r3) -/* 8000A6A0 000075E0 4B FF D8 F1 */ bl mDoGph_gInf_c_NS_beginRender -/* 8000A6A4 000075E4 38 60 00 00 */ li r3, 0 -/* 8000A6A8 000075E8 48 35 55 C9 */ bl GXSetAlphaUpdate -/* 8000A6AC 000075EC 88 0D 80 80 */ lbz r0, lbl_80450600-_SDA_BASE_(r13) -/* 8000A6B0 000075F0 98 0D 80 10 */ stb r0, lbl_80450590-_SDA_BASE_(r13) -/* 8000A6B4 000075F4 38 8D 80 80 */ addi r4, r13, lbl_80450600-_SDA_BASE_ -/* 8000A6B8 000075F8 88 04 00 01 */ lbz r0, 1(r4) -/* 8000A6BC 000075FC 38 6D 80 10 */ addi r3, r13, lbl_80450590-_SDA_BASE_ -/* 8000A6C0 00007600 98 03 00 01 */ stb r0, 1(r3) -/* 8000A6C4 00007604 88 04 00 02 */ lbz r0, 2(r4) -/* 8000A6C8 00007608 98 03 00 02 */ stb r0, 2(r3) -/* 8000A6CC 0000760C 88 04 00 03 */ lbz r0, 3(r4) -/* 8000A6D0 00007610 98 03 00 03 */ stb r0, 3(r3) -/* 8000A6D4 00007614 3C 60 80 43 */ lis r3, lbl_80434AC8@ha -/* 8000A6D8 00007618 38 63 4A C8 */ addi r3, r3, lbl_80434AC8@l -/* 8000A6DC 0000761C 48 30 59 E1 */ bl J3DSys_NS_drawInit -/* 8000A6E0 00007620 38 60 00 01 */ li r3, 1 -/* 8000A6E4 00007624 48 35 56 F5 */ bl GXSetDither -/* 8000A6E8 00007628 38 61 02 A8 */ addi r3, r1, 0x2a8 -/* 8000A6EC 0000762C C0 22 80 38 */ lfs f1, lbl_80451A38-_SDA2_BASE_(r2) -/* 8000A6F0 00007630 FC 40 08 90 */ fmr f2, f1 -/* 8000A6F4 00007634 C0 62 80 AC */ lfs f3, lbl_80451AAC-_SDA2_BASE_(r2) -/* 8000A6F8 00007638 C0 82 80 A8 */ lfs f4, lbl_80451AA8-_SDA2_BASE_(r2) -/* 8000A6FC 0000763C C0 A2 80 D8 */ lfs f5, lbl_80451AD8-_SDA2_BASE_(r2) -/* 8000A700 00007640 C0 C2 80 3C */ lfs f6, lbl_80451A3C-_SDA2_BASE_(r2) -/* 8000A704 00007644 48 2D EF CD */ bl J2DOrthoGraph_X1_ -/* 8000A708 00007648 C0 02 80 38 */ lfs f0, lbl_80451A38-_SDA2_BASE_(r2) -/* 8000A70C 0000764C D0 01 00 38 */ stfs f0, 0x38(r1) -/* 8000A710 00007650 D0 01 00 3C */ stfs f0, 0x3c(r1) -/* 8000A714 00007654 C0 02 80 AC */ lfs f0, lbl_80451AAC-_SDA2_BASE_(r2) -/* 8000A718 00007658 D0 01 00 40 */ stfs f0, 0x40(r1) -/* 8000A71C 0000765C C0 02 80 A8 */ lfs f0, lbl_80451AA8-_SDA2_BASE_(r2) -/* 8000A720 00007660 D0 01 00 44 */ stfs f0, 0x44(r1) -/* 8000A724 00007664 38 61 02 A8 */ addi r3, r1, 0x2a8 -/* 8000A728 00007668 38 81 00 38 */ addi r4, r1, 0x38 -/* 8000A72C 0000766C C0 22 80 D8 */ lfs f1, lbl_80451AD8-_SDA2_BASE_(r2) -/* 8000A730 00007670 C0 42 80 3C */ lfs f2, lbl_80451A3C-_SDA2_BASE_(r2) -/* 8000A734 00007674 48 2D F0 D9 */ bl J2DOrthoGraph_NS_setOrtho -/* 8000A738 00007678 38 61 02 A8 */ addi r3, r1, 0x2a8 -/* 8000A73C 0000767C 48 2D F0 79 */ bl J2DOrthoGraph_NS_setPort -/* 8000A740 00007680 38 01 02 A8 */ addi r0, r1, 0x2a8 -/* 8000A744 00007684 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha -/* 8000A748 00007688 38 A3 61 C0 */ addi r5, r3, g_dComIfG_gameInfo@l -/* 8000A74C 0000768C 90 05 5F 50 */ stw r0, 0x5f50(r5) -/* 8000A750 00007690 3B E5 5F 64 */ addi r31, r5, 0x5f64 -/* 8000A754 00007694 7F E3 FB 78 */ mr r3, r31 -/* 8000A758 00007698 38 9F 00 54 */ addi r4, r31, 0x54 -/* 8000A75C 0000769C 80 A5 5F C8 */ lwz r5, 0x5fc8(r5) -/* 8000A760 000076A0 48 04 C0 65 */ bl dDlst_list_c_NS_draw -/* 8000A764 000076A4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha -/* 8000A768 000076A8 3B 43 61 C0 */ addi r26, r3, g_dComIfG_gameInfo@l -/* 8000A76C 000076AC 88 1A 5D 44 */ lbz r0, 0x5d44(r26) -/* 8000A770 000076B0 2C 00 00 00 */ cmpwi r0, 0 -/* 8000A774 000076B4 41 82 07 84 */ beq lbl_8000AEF8 -/* 8000A778 000076B8 3A BA 5D 48 */ addi r21, r26, 0x5d48 -/* 8000A77C 000076BC 88 1A 5D 70 */ lbz r0, 0x5d70(r26) -/* 8000A780 000076C0 7C 00 07 74 */ extsb r0, r0 -/* 8000A784 000076C4 1F 60 00 38 */ mulli r27, r0, 0x38 -/* 8000A788 000076C8 7C 7A DA 14 */ add r3, r26, r27 -/* 8000A78C 000076CC 83 C3 5D 74 */ lwz r30, 0x5d74(r3) -/* 8000A790 000076D0 28 1E 00 00 */ cmplwi r30, 0 -/* 8000A794 000076D4 41 82 07 64 */ beq lbl_8000AEF8 -/* 8000A798 000076D8 3B 3A 61 C0 */ addi r25, r26, 0x61c0 -/* 8000A79C 000076DC 7F 23 CB 78 */ mr r3, r25 -/* 8000A7A0 000076E0 38 9E 01 40 */ addi r4, r30, 0x140 -/* 8000A7A4 000076E4 48 04 B0 25 */ bl dDlst_shadowControl_c_NS_imageDraw -/* 8000A7A8 000076E8 7E BD AB 78 */ mr r29, r21 -/* 8000A7AC 000076EC C0 22 80 38 */ lfs f1, lbl_80451A38-_SDA2_BASE_(r2) -/* 8000A7B0 000076F0 C0 15 00 00 */ lfs f0, 0(r21) -/* 8000A7B4 000076F4 FC 01 00 00 */ fcmpu cr0, f1, f0 -/* 8000A7B8 000076F8 40 82 00 10 */ bne lbl_8000A7C8 -/* 8000A7BC 000076FC C0 15 00 04 */ lfs f0, 4(r21) -/* 8000A7C0 00007700 FC 01 00 00 */ fcmpu cr0, f1, f0 -/* 8000A7C4 00007704 41 82 00 54 */ beq lbl_8000A818 -lbl_8000A7C8: -/* 8000A7C8 00007708 C0 02 80 38 */ lfs f0, lbl_80451A38-_SDA2_BASE_(r2) -/* 8000A7CC 0000770C D0 01 01 60 */ stfs f0, 0x160(r1) -/* 8000A7D0 00007710 D0 01 01 64 */ stfs f0, 0x164(r1) -/* 8000A7D4 00007714 C0 02 80 AC */ lfs f0, lbl_80451AAC-_SDA2_BASE_(r2) -/* 8000A7D8 00007718 D0 01 01 68 */ stfs f0, 0x168(r1) -/* 8000A7DC 0000771C C0 02 80 A8 */ lfs f0, lbl_80451AA8-_SDA2_BASE_(r2) -/* 8000A7E0 00007720 D0 01 01 6C */ stfs f0, 0x16c(r1) -/* 8000A7E4 00007724 C0 15 00 10 */ lfs f0, 0x10(r21) -/* 8000A7E8 00007728 D0 01 01 70 */ stfs f0, 0x170(r1) -/* 8000A7EC 0000772C C0 15 00 14 */ lfs f0, 0x14(r21) -/* 8000A7F0 00007730 D0 01 01 74 */ stfs f0, 0x174(r1) -/* 8000A7F4 00007734 C0 15 00 18 */ lfs f0, 0x18(r21) -/* 8000A7F8 00007738 D0 01 01 78 */ stfs f0, 0x178(r1) -/* 8000A7FC 0000773C C0 15 00 1C */ lfs f0, 0x1c(r21) -/* 8000A800 00007740 D0 01 01 7C */ stfs f0, 0x17c(r1) -/* 8000A804 00007744 C0 15 00 20 */ lfs f0, 0x20(r21) -/* 8000A808 00007748 D0 01 01 80 */ stfs f0, 0x180(r1) -/* 8000A80C 0000774C C0 15 00 24 */ lfs f0, 0x24(r21) -/* 8000A810 00007750 D0 01 01 84 */ stfs f0, 0x184(r1) -/* 8000A814 00007754 3B A1 01 60 */ addi r29, r1, 0x160 -lbl_8000A818: -/* 8000A818 00007758 C0 3D 00 00 */ lfs f1, 0(r29) -/* 8000A81C 0000775C C0 5D 00 04 */ lfs f2, 4(r29) -/* 8000A820 00007760 C0 7D 00 08 */ lfs f3, 8(r29) -/* 8000A824 00007764 C0 9D 00 0C */ lfs f4, 0xc(r29) -/* 8000A828 00007768 C0 BD 00 10 */ lfs f5, 0x10(r29) -/* 8000A82C 0000776C C0 DD 00 14 */ lfs f6, 0x14(r29) -/* 8000A830 00007770 48 35 5C 35 */ bl GXSetViewport -/* 8000A834 00007774 C0 3D 00 0C */ lfs f1, 0xc(r29) -/* 8000A838 00007778 48 35 78 75 */ bl func_803620AC -/* 8000A83C 0000777C 7C 76 1B 78 */ mr r22, r3 -/* 8000A840 00007780 C0 3D 00 08 */ lfs f1, 8(r29) -/* 8000A844 00007784 48 35 78 69 */ bl func_803620AC -/* 8000A848 00007788 7C 77 1B 78 */ mr r23, r3 -/* 8000A84C 0000778C C0 3D 00 04 */ lfs f1, 4(r29) -/* 8000A850 00007790 48 35 78 5D */ bl func_803620AC -/* 8000A854 00007794 7C 78 1B 78 */ mr r24, r3 -/* 8000A858 00007798 C0 3D 00 00 */ lfs f1, 0(r29) -/* 8000A85C 0000779C 48 35 78 51 */ bl func_803620AC -/* 8000A860 000077A0 7F 04 C3 78 */ mr r4, r24 -/* 8000A864 000077A4 7E E5 BB 78 */ mr r5, r23 -/* 8000A868 000077A8 7E C6 B3 78 */ mr r6, r22 -/* 8000A86C 000077AC 48 35 5C 65 */ bl GXSetScissor -/* 8000A870 000077B0 C3 DE 00 D4 */ lfs f30, 0xd4(r30) -/* 8000A874 000077B4 C3 FE 00 D0 */ lfs f31, 0xd0(r30) -/* 8000A878 000077B8 38 7E 01 40 */ addi r3, r30, 0x140 -/* 8000A87C 000077BC 38 81 02 48 */ addi r4, r1, 0x248 -/* 8000A880 000077C0 48 33 BC 31 */ bl PSMTXCopy -/* 8000A884 000077C4 38 61 02 78 */ addi r3, r1, 0x278 -/* 8000A888 000077C8 FC 20 F8 90 */ fmr f1, f31 -/* 8000A88C 000077CC FC 40 F0 90 */ fmr f2, f30 -/* 8000A890 000077D0 C0 62 80 DC */ lfs f3, lbl_80451ADC-_SDA2_BASE_(r2) -/* 8000A894 000077D4 C0 82 80 E0 */ lfs f4, lbl_80451AE0-_SDA2_BASE_(r2) -/* 8000A898 000077D8 FC A0 18 90 */ fmr f5, f3 -/* 8000A89C 000077DC FC C0 18 90 */ fmr f6, f3 -/* 8000A8A0 000077E0 48 33 C3 79 */ bl C_MTXLightPerspective -/* 8000A8A4 000077E4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha -/* 8000A8A8 000077E8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l -/* 8000A8AC 000077EC 92 A3 5F 44 */ stw r21, 0x5f44(r3) -/* 8000A8B0 000077F0 93 C3 5F 48 */ stw r30, 0x5f48(r3) -/* 8000A8B4 000077F4 93 A3 5F 4C */ stw r29, 0x5f4c(r3) -/* 8000A8B8 000077F8 38 7E 01 00 */ addi r3, r30, 0x100 -/* 8000A8BC 000077FC 38 80 00 00 */ li r4, 0 -/* 8000A8C0 00007800 48 35 58 15 */ bl GXSetProjection -/* 8000A8C4 00007804 48 32 F4 35 */ bl PPCSync -/* 8000A8C8 00007808 38 7E 01 40 */ addi r3, r30, 0x140 -/* 8000A8CC 0000780C 3C 80 80 43 */ lis r4, lbl_80434AC8@ha -/* 8000A8D0 00007810 38 84 4A C8 */ addi r4, r4, lbl_80434AC8@l -/* 8000A8D4 00007814 48 33 BB DD */ bl PSMTXCopy -/* 8000A8D8 00007818 48 19 B7 E5 */ bl dKy_setLight -/* 8000A8DC 0000781C 7F E3 FB 78 */ mr r3, r31 -/* 8000A8E0 00007820 80 9F 00 00 */ lwz r4, 0(r31) -/* 8000A8E4 00007824 48 04 BD F1 */ bl dDlst_list_c_NS_drawOpaDrawList -/* 8000A8E8 00007828 7F E3 FB 78 */ mr r3, r31 -/* 8000A8EC 0000782C 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha -/* 8000A8F0 00007830 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l -/* 8000A8F4 00007834 80 84 5F 68 */ lwz r4, 0x5f68(r4) -/* 8000A8F8 00007838 48 04 BE 19 */ bl dDlst_list_c_NS_drawXluDrawList -/* 8000A8FC 0000783C 38 60 00 00 */ li r3, 0 -/* 8000A900 00007840 48 35 5C D1 */ bl GXSetClipMode -/* 8000A904 00007844 7F E3 FB 78 */ mr r3, r31 -/* 8000A908 00007848 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha -/* 8000A90C 0000784C 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l -/* 8000A910 00007850 80 84 5F 70 */ lwz r4, 0x5f70(r4) -/* 8000A914 00007854 48 04 BD C1 */ bl dDlst_list_c_NS_drawOpaDrawList -/* 8000A918 00007858 7F E3 FB 78 */ mr r3, r31 -/* 8000A91C 0000785C 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha -/* 8000A920 00007860 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l -/* 8000A924 00007864 80 84 5F 78 */ lwz r4, 0x5f78(r4) -/* 8000A928 00007868 48 04 BD AD */ bl dDlst_list_c_NS_drawOpaDrawList -/* 8000A92C 0000786C 7F E3 FB 78 */ mr r3, r31 -/* 8000A930 00007870 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha -/* 8000A934 00007874 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l -/* 8000A938 00007878 80 84 5F B0 */ lwz r4, 0x5fb0(r4) -/* 8000A93C 0000787C 48 04 BD 99 */ bl dDlst_list_c_NS_drawOpaDrawList -/* 8000A940 00007880 80 7C 5D 3C */ lwz r3, 0x5d3c(r28) -/* 8000A944 00007884 28 03 00 00 */ cmplwi r3, 0 -/* 8000A948 00007888 41 82 00 10 */ beq lbl_8000A958 -/* 8000A94C 0000788C 38 81 02 48 */ addi r4, r1, 0x248 -/* 8000A950 00007890 38 A0 00 07 */ li r5, 7 -/* 8000A954 00007894 48 04 18 35 */ bl dPa_control_c_NS_draw -lbl_8000A958: -/* 8000A958 00007898 80 7C 5D 3C */ lwz r3, 0x5d3c(r28) -/* 8000A95C 0000789C 28 03 00 00 */ cmplwi r3, 0 -/* 8000A960 000078A0 41 82 00 10 */ beq lbl_8000A970 -/* 8000A964 000078A4 38 81 02 48 */ addi r4, r1, 0x248 -/* 8000A968 000078A8 38 A0 00 05 */ li r5, 5 -/* 8000A96C 000078AC 48 04 18 1D */ bl dPa_control_c_NS_draw -lbl_8000A970: -/* 8000A970 000078B0 7F 23 CB 78 */ mr r3, r25 -/* 8000A974 000078B4 38 9E 01 40 */ addi r4, r30, 0x140 -/* 8000A978 000078B8 48 04 B0 9D */ bl dDlst_shadowControl_c_NS_draw -/* 8000A97C 000078BC 7F E3 FB 78 */ mr r3, r31 -/* 8000A980 000078C0 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha -/* 8000A984 000078C4 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l -/* 8000A988 000078C8 80 84 5F 80 */ lwz r4, 0x5f80(r4) -/* 8000A98C 000078CC 48 04 BD 49 */ bl dDlst_list_c_NS_drawOpaDrawList -/* 8000A990 000078D0 7F E3 FB 78 */ mr r3, r31 -/* 8000A994 000078D4 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha -/* 8000A998 000078D8 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l -/* 8000A99C 000078DC 80 84 5F 88 */ lwz r4, 0x5f88(r4) -/* 8000A9A0 000078E0 48 04 BD 35 */ bl dDlst_list_c_NS_drawOpaDrawList -/* 8000A9A4 000078E4 7F E3 FB 78 */ mr r3, r31 -/* 8000A9A8 000078E8 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha -/* 8000A9AC 000078EC 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l -/* 8000A9B0 000078F0 80 84 5F 90 */ lwz r4, 0x5f90(r4) -/* 8000A9B4 000078F4 48 04 BD 21 */ bl dDlst_list_c_NS_drawOpaDrawList -/* 8000A9B8 000078F8 7F E3 FB 78 */ mr r3, r31 -/* 8000A9BC 000078FC 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha -/* 8000A9C0 00007900 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l -/* 8000A9C4 00007904 80 84 5F 74 */ lwz r4, 0x5f74(r4) -/* 8000A9C8 00007908 48 04 BD 49 */ bl dDlst_list_c_NS_drawXluDrawList -/* 8000A9CC 0000790C 7F E3 FB 78 */ mr r3, r31 -/* 8000A9D0 00007910 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha -/* 8000A9D4 00007914 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l -/* 8000A9D8 00007918 80 84 5F 7C */ lwz r4, 0x5f7c(r4) -/* 8000A9DC 0000791C 48 04 BD 35 */ bl dDlst_list_c_NS_drawXluDrawList -/* 8000A9E0 00007920 80 7C 5D 3C */ lwz r3, 0x5d3c(r28) -/* 8000A9E4 00007924 28 03 00 00 */ cmplwi r3, 0 -/* 8000A9E8 00007928 41 82 00 10 */ beq lbl_8000A9F8 -/* 8000A9EC 0000792C 38 81 02 48 */ addi r4, r1, 0x248 -/* 8000A9F0 00007930 38 A0 00 06 */ li r5, 6 -/* 8000A9F4 00007934 48 04 17 95 */ bl dPa_control_c_NS_draw -lbl_8000A9F8: -/* 8000A9F8 00007938 80 7C 5D 3C */ lwz r3, 0x5d3c(r28) -/* 8000A9FC 0000793C 28 03 00 00 */ cmplwi r3, 0 -/* 8000AA00 00007940 41 82 00 10 */ beq lbl_8000AA10 -/* 8000AA04 00007944 38 81 02 48 */ addi r4, r1, 0x248 -/* 8000AA08 00007948 38 A0 00 04 */ li r5, 4 -/* 8000AA0C 0000794C 48 04 17 7D */ bl dPa_control_c_NS_draw -lbl_8000AA10: -/* 8000AA10 00007950 7F E3 FB 78 */ mr r3, r31 -/* 8000AA14 00007954 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha -/* 8000AA18 00007958 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l -/* 8000AA1C 0000795C 80 84 5F 84 */ lwz r4, 0x5f84(r4) -/* 8000AA20 00007960 48 04 BC F1 */ bl dDlst_list_c_NS_drawXluDrawList -/* 8000AA24 00007964 7F E3 FB 78 */ mr r3, r31 -/* 8000AA28 00007968 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha -/* 8000AA2C 0000796C 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l -/* 8000AA30 00007970 80 84 5F 8C */ lwz r4, 0x5f8c(r4) -/* 8000AA34 00007974 48 04 BC DD */ bl dDlst_list_c_NS_drawXluDrawList -/* 8000AA38 00007978 3C 60 80 43 */ lis r3, lbl_80434AC8@ha -/* 8000AA3C 0000797C 38 63 4A C8 */ addi r3, r3, lbl_80434AC8@l -/* 8000AA40 00007980 48 30 5C FD */ bl J3DSys_NS_reinitGX -/* 8000AA44 00007984 38 60 00 00 */ li r3, 0 -/* 8000AA48 00007988 48 35 5B 89 */ bl GXSetClipMode -/* 8000AA4C 0000798C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha -/* 8000AA50 00007990 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l -/* 8000AA54 00007994 88 03 5E B5 */ lbz r0, 0x5eb5(r3) -/* 8000AA58 00007998 28 00 00 00 */ cmplwi r0, 0 -/* 8000AA5C 0000799C 40 82 04 9C */ bne lbl_8000AEF8 -/* 8000AA60 000079A0 7F C3 F3 78 */ mr r3, r30 -/* 8000AA64 000079A4 4B FF F8 2D */ bl motionBlure -/* 8000AA68 000079A8 7F C3 F3 78 */ mr r3, r30 -/* 8000AA6C 000079AC 7F A4 EB 78 */ mr r4, r29 -/* 8000AA70 000079B0 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha -/* 8000AA74 000079B4 38 05 61 C0 */ addi r0, r5, g_dComIfG_gameInfo@l -/* 8000AA78 000079B8 7F 60 DA 14 */ add r27, r0, r27 -/* 8000AA7C 000079BC C4 1B 5D 84 */ lfsu f0, 0x5d84(r27) -/* 8000AA80 000079C0 FC 00 00 1E */ fctiwz f0, f0 -/* 8000AA84 000079C4 D8 01 03 80 */ stfd f0, 0x380(r1) -/* 8000AA88 000079C8 80 A1 03 84 */ lwz r5, 0x384(r1) -/* 8000AA8C 000079CC 4B FF DB A5 */ bl drawDepth2 -/* 8000AA90 000079D0 48 35 3B D5 */ bl GXInvalidateTexAll -/* 8000AA94 000079D4 38 60 00 00 */ li r3, 0 -/* 8000AA98 000079D8 48 35 5B 39 */ bl GXSetClipMode -/* 8000AA9C 000079DC 3C 60 80 43 */ lis r3, lbl_8042CA54@ha -/* 8000AAA0 000079E0 3B 23 CA 54 */ addi r25, r3, lbl_8042CA54@l -/* 8000AAA4 000079E4 88 19 12 FA */ lbz r0, 0x12fa(r25) -/* 8000AAA8 000079E8 28 00 00 00 */ cmplwi r0, 0 -/* 8000AAAC 000079EC 40 82 00 2C */ bne lbl_8000AAD8 -/* 8000AAB0 000079F0 7F E3 FB 78 */ mr r3, r31 -/* 8000AAB4 000079F4 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha -/* 8000AAB8 000079F8 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l -/* 8000AABC 000079FC 80 84 5F A0 */ lwz r4, 0x5fa0(r4) -/* 8000AAC0 00007A00 48 04 BC 15 */ bl dDlst_list_c_NS_drawOpaDrawList -/* 8000AAC4 00007A04 7F E3 FB 78 */ mr r3, r31 -/* 8000AAC8 00007A08 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha -/* 8000AACC 00007A0C 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l -/* 8000AAD0 00007A10 80 84 5F A4 */ lwz r4, 0x5fa4(r4) -/* 8000AAD4 00007A14 48 04 BC 3D */ bl dDlst_list_c_NS_drawXluDrawList -lbl_8000AAD8: -/* 8000AAD8 00007A18 80 7C 5D 3C */ lwz r3, 0x5d3c(r28) -/* 8000AADC 00007A1C 28 03 00 00 */ cmplwi r3, 0 -/* 8000AAE0 00007A20 41 82 00 10 */ beq lbl_8000AAF0 -/* 8000AAE4 00007A24 38 81 02 48 */ addi r4, r1, 0x248 -/* 8000AAE8 00007A28 38 A0 00 0B */ li r5, 0xb -/* 8000AAEC 00007A2C 48 04 16 9D */ bl dPa_control_c_NS_draw -lbl_8000AAF0: -/* 8000AAF0 00007A30 80 7C 5D 3C */ lwz r3, 0x5d3c(r28) -/* 8000AAF4 00007A34 28 03 00 00 */ cmplwi r3, 0 -/* 8000AAF8 00007A38 41 82 00 10 */ beq lbl_8000AB08 -/* 8000AAFC 00007A3C 38 81 02 48 */ addi r4, r1, 0x248 -/* 8000AB00 00007A40 38 A0 00 03 */ li r5, 3 -/* 8000AB04 00007A44 48 04 16 85 */ bl dPa_control_c_NS_draw -lbl_8000AB08: -/* 8000AB08 00007A48 7F E3 FB 78 */ mr r3, r31 -/* 8000AB0C 00007A4C 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha -/* 8000AB10 00007A50 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l -/* 8000AB14 00007A54 80 84 5F A8 */ lwz r4, 0x5fa8(r4) -/* 8000AB18 00007A58 48 04 BB F9 */ bl dDlst_list_c_NS_drawXluDrawList -/* 8000AB1C 00007A5C 38 60 00 00 */ li r3, 0 -/* 8000AB20 00007A60 48 35 5A B1 */ bl GXSetClipMode -/* 8000AB24 00007A64 7F E3 FB 78 */ mr r3, r31 -/* 8000AB28 00007A68 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha -/* 8000AB2C 00007A6C 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l -/* 8000AB30 00007A70 80 84 5F 94 */ lwz r4, 0x5f94(r4) -/* 8000AB34 00007A74 48 04 BB A1 */ bl dDlst_list_c_NS_drawOpaDrawList -/* 8000AB38 00007A78 38 60 00 00 */ li r3, 0 -/* 8000AB3C 00007A7C 48 35 5A 95 */ bl GXSetClipMode -/* 8000AB40 00007A80 80 7C 5D 3C */ lwz r3, 0x5d3c(r28) -/* 8000AB44 00007A84 28 03 00 00 */ cmplwi r3, 0 -/* 8000AB48 00007A88 41 82 00 10 */ beq lbl_8000AB58 -/* 8000AB4C 00007A8C 38 81 02 48 */ addi r4, r1, 0x248 -/* 8000AB50 00007A90 38 A0 00 08 */ li r5, 8 -/* 8000AB54 00007A94 48 04 16 35 */ bl dPa_control_c_NS_draw -lbl_8000AB58: -/* 8000AB58 00007A98 80 7C 5D 3C */ lwz r3, 0x5d3c(r28) -/* 8000AB5C 00007A9C 28 03 00 00 */ cmplwi r3, 0 -/* 8000AB60 00007AA0 41 82 00 10 */ beq lbl_8000AB70 -/* 8000AB64 00007AA4 38 81 02 48 */ addi r4, r1, 0x248 -/* 8000AB68 00007AA8 38 A0 00 00 */ li r5, 0 -/* 8000AB6C 00007AAC 48 04 16 1D */ bl dPa_control_c_NS_draw -lbl_8000AB70: -/* 8000AB70 00007AB0 80 7C 5D 3C */ lwz r3, 0x5d3c(r28) -/* 8000AB74 00007AB4 28 03 00 00 */ cmplwi r3, 0 -/* 8000AB78 00007AB8 41 82 00 10 */ beq lbl_8000AB88 -/* 8000AB7C 00007ABC 38 81 02 48 */ addi r4, r1, 0x248 -/* 8000AB80 00007AC0 38 A0 00 09 */ li r5, 9 -/* 8000AB84 00007AC4 48 04 16 05 */ bl dPa_control_c_NS_draw -lbl_8000AB88: -/* 8000AB88 00007AC8 80 7C 5D 3C */ lwz r3, 0x5d3c(r28) -/* 8000AB8C 00007ACC 28 03 00 00 */ cmplwi r3, 0 -/* 8000AB90 00007AD0 41 82 00 10 */ beq lbl_8000ABA0 -/* 8000AB94 00007AD4 38 81 02 48 */ addi r4, r1, 0x248 -/* 8000AB98 00007AD8 38 A0 00 01 */ li r5, 1 -/* 8000AB9C 00007ADC 48 04 15 ED */ bl dPa_control_c_NS_draw -lbl_8000ABA0: -/* 8000ABA0 00007AE0 80 7C 5D 3C */ lwz r3, 0x5d3c(r28) -/* 8000ABA4 00007AE4 28 03 00 00 */ cmplwi r3, 0 -/* 8000ABA8 00007AE8 41 82 00 10 */ beq lbl_8000ABB8 -/* 8000ABAC 00007AEC 38 81 02 48 */ addi r4, r1, 0x248 -/* 8000ABB0 00007AF0 38 A0 00 0A */ li r5, 0xa -/* 8000ABB4 00007AF4 48 04 15 D5 */ bl dPa_control_c_NS_draw -lbl_8000ABB8: -/* 8000ABB8 00007AF8 80 7C 5D 3C */ lwz r3, 0x5d3c(r28) -/* 8000ABBC 00007AFC 28 03 00 00 */ cmplwi r3, 0 -/* 8000ABC0 00007B00 41 82 00 10 */ beq lbl_8000ABD0 -/* 8000ABC4 00007B04 38 81 02 48 */ addi r4, r1, 0x248 -/* 8000ABC8 00007B08 38 A0 00 02 */ li r5, 2 -/* 8000ABCC 00007B0C 48 04 15 BD */ bl dPa_control_c_NS_draw -lbl_8000ABD0: -/* 8000ABD0 00007B10 80 7C 5D 3C */ lwz r3, 0x5d3c(r28) -/* 8000ABD4 00007B14 28 03 00 00 */ cmplwi r3, 0 -/* 8000ABD8 00007B18 41 82 00 10 */ beq lbl_8000ABE8 -/* 8000ABDC 00007B1C 38 81 02 48 */ addi r4, r1, 0x248 -/* 8000ABE0 00007B20 38 A0 00 0C */ li r5, 0xc -/* 8000ABE4 00007B24 48 04 15 A5 */ bl dPa_control_c_NS_draw -lbl_8000ABE8: -/* 8000ABE8 00007B28 7F C3 F3 78 */ mr r3, r30 -/* 8000ABEC 00007B2C 7F A4 EB 78 */ mr r4, r29 -/* 8000ABF0 00007B30 C0 1B 00 00 */ lfs f0, 0(r27) -/* 8000ABF4 00007B34 FC 00 00 1E */ fctiwz f0, f0 -/* 8000ABF8 00007B38 D8 01 03 80 */ stfd f0, 0x380(r1) -/* 8000ABFC 00007B3C 80 A1 03 84 */ lwz r5, 0x384(r1) -/* 8000AC00 00007B40 4B FF F5 61 */ bl retry_captue_frame -/* 8000AC04 00007B44 38 60 00 00 */ li r3, 0 -/* 8000AC08 00007B48 48 35 59 C9 */ bl GXSetClipMode -/* 8000AC0C 00007B4C 88 19 12 FA */ lbz r0, 0x12fa(r25) -/* 8000AC10 00007B50 28 00 00 01 */ cmplwi r0, 1 -/* 8000AC14 00007B54 40 82 00 2C */ bne lbl_8000AC40 -/* 8000AC18 00007B58 7F E3 FB 78 */ mr r3, r31 -/* 8000AC1C 00007B5C 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha -/* 8000AC20 00007B60 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l -/* 8000AC24 00007B64 80 84 5F A0 */ lwz r4, 0x5fa0(r4) -/* 8000AC28 00007B68 48 04 BA AD */ bl dDlst_list_c_NS_drawOpaDrawList -/* 8000AC2C 00007B6C 7F E3 FB 78 */ mr r3, r31 -/* 8000AC30 00007B70 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha -/* 8000AC34 00007B74 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l -/* 8000AC38 00007B78 80 84 5F A4 */ lwz r4, 0x5fa4(r4) -/* 8000AC3C 00007B7C 48 04 BA D5 */ bl dDlst_list_c_NS_drawXluDrawList -lbl_8000AC40: -/* 8000AC40 00007B80 80 7C 5D 3C */ lwz r3, 0x5d3c(r28) -/* 8000AC44 00007B84 28 03 00 00 */ cmplwi r3, 0 -/* 8000AC48 00007B88 41 82 00 10 */ beq lbl_8000AC58 -/* 8000AC4C 00007B8C 38 81 02 48 */ addi r4, r1, 0x248 -/* 8000AC50 00007B90 38 A0 00 0D */ li r5, 0xd -/* 8000AC54 00007B94 48 04 15 35 */ bl dPa_control_c_NS_draw -lbl_8000AC58: -/* 8000AC58 00007B98 38 60 00 00 */ li r3, 0 -/* 8000AC5C 00007B9C 48 35 59 75 */ bl GXSetClipMode -/* 8000AC60 00007BA0 7F E3 FB 78 */ mr r3, r31 -/* 8000AC64 00007BA4 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha -/* 8000AC68 00007BA8 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l -/* 8000AC6C 00007BAC 80 84 5F 6C */ lwz r4, 0x5f6c(r4) -/* 8000AC70 00007BB0 48 04 BA 65 */ bl dDlst_list_c_NS_drawOpaDrawList -/* 8000AC74 00007BB4 3B 3A 4E 00 */ addi r25, r26, 0x4e00 -/* 8000AC78 00007BB8 7F 23 CB 78 */ mr r3, r25 -/* 8000AC7C 00007BBC 3C 80 80 37 */ lis r4, lbl_80373DD0@ha -/* 8000AC80 00007BC0 38 84 3D D0 */ addi r4, r4, lbl_80373DD0@l -/* 8000AC84 00007BC4 48 35 DD 11 */ bl strcmp -/* 8000AC88 00007BC8 2C 03 00 00 */ cmpwi r3, 0 -/* 8000AC8C 00007BCC 40 82 00 20 */ bne lbl_8000ACAC -/* 8000AC90 00007BD0 7F C3 F3 78 */ mr r3, r30 -/* 8000AC94 00007BD4 7F A4 EB 78 */ mr r4, r29 -/* 8000AC98 00007BD8 C0 1B 00 00 */ lfs f0, 0(r27) -/* 8000AC9C 00007BDC FC 00 00 1E */ fctiwz f0, f0 -/* 8000ACA0 00007BE0 D8 01 03 80 */ stfd f0, 0x380(r1) -/* 8000ACA4 00007BE4 80 A1 03 84 */ lwz r5, 0x384(r1) -/* 8000ACA8 00007BE8 4B FF F4 B9 */ bl retry_captue_frame -lbl_8000ACAC: -/* 8000ACAC 00007BEC C0 22 80 38 */ lfs f1, lbl_80451A38-_SDA2_BASE_(r2) -/* 8000ACB0 00007BF0 FC 40 08 90 */ fmr f2, f1 -/* 8000ACB4 00007BF4 C0 62 80 AC */ lfs f3, lbl_80451AAC-_SDA2_BASE_(r2) -/* 8000ACB8 00007BF8 C0 82 80 A8 */ lfs f4, lbl_80451AA8-_SDA2_BASE_(r2) -/* 8000ACBC 00007BFC FC A0 08 90 */ fmr f5, f1 -/* 8000ACC0 00007C00 C0 C2 80 3C */ lfs f6, lbl_80451A3C-_SDA2_BASE_(r2) -/* 8000ACC4 00007C04 48 35 57 A1 */ bl GXSetViewport -/* 8000ACC8 00007C08 38 61 00 F0 */ addi r3, r1, 0xf0 -/* 8000ACCC 00007C0C C0 22 80 4C */ lfs f1, lbl_80451A4C-_SDA2_BASE_(r2) -/* 8000ACD0 00007C10 C0 42 80 E4 */ lfs f2, lbl_80451AE4-_SDA2_BASE_(r2) -/* 8000ACD4 00007C14 C0 62 80 3C */ lfs f3, lbl_80451A3C-_SDA2_BASE_(r2) -/* 8000ACD8 00007C18 C0 82 80 E8 */ lfs f4, lbl_80451AE8-_SDA2_BASE_(r2) -/* 8000ACDC 00007C1C 48 33 C2 4D */ bl C_MTXPerspective -/* 8000ACE0 00007C20 38 61 00 F0 */ addi r3, r1, 0xf0 -/* 8000ACE4 00007C24 38 80 00 00 */ li r4, 0 -/* 8000ACE8 00007C28 48 35 53 ED */ bl GXSetProjection -/* 8000ACEC 00007C2C C0 22 80 38 */ lfs f1, lbl_80451A38-_SDA2_BASE_(r2) -/* 8000ACF0 00007C30 D0 21 00 54 */ stfs f1, 0x54(r1) -/* 8000ACF4 00007C34 D0 21 00 58 */ stfs f1, 0x58(r1) -/* 8000ACF8 00007C38 C0 02 80 EC */ lfs f0, lbl_80451AEC-_SDA2_BASE_(r2) -/* 8000ACFC 00007C3C D0 01 00 5C */ stfs f0, 0x5c(r1) -/* 8000AD00 00007C40 D0 21 00 48 */ stfs f1, 0x48(r1) -/* 8000AD04 00007C44 C0 02 80 3C */ lfs f0, lbl_80451A3C-_SDA2_BASE_(r2) -/* 8000AD08 00007C48 D0 01 00 4C */ stfs f0, 0x4c(r1) -/* 8000AD0C 00007C4C D0 21 00 50 */ stfs f1, 0x50(r1) -/* 8000AD10 00007C50 38 61 01 30 */ addi r3, r1, 0x130 -/* 8000AD14 00007C54 38 81 00 54 */ addi r4, r1, 0x54 -/* 8000AD18 00007C58 3C A0 80 43 */ lis r5, lbl_80430CF4@ha -/* 8000AD1C 00007C5C 38 A5 0C F4 */ addi r5, r5, lbl_80430CF4@l -/* 8000AD20 00007C60 38 C1 00 48 */ addi r6, r1, 0x48 -/* 8000AD24 00007C64 38 E0 00 00 */ li r7, 0 -/* 8000AD28 00007C68 48 00 19 E9 */ bl mDoMtx_lookAt_X1_ -/* 8000AD2C 00007C6C 38 61 01 30 */ addi r3, r1, 0x130 -/* 8000AD30 00007C70 3C 80 80 43 */ lis r4, lbl_80434AC8@ha -/* 8000AD34 00007C74 38 84 4A C8 */ addi r4, r4, lbl_80434AC8@l -/* 8000AD38 00007C78 48 33 B7 79 */ bl PSMTXCopy -/* 8000AD3C 00007C7C 7F E3 FB 78 */ mr r3, r31 -/* 8000AD40 00007C80 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha -/* 8000AD44 00007C84 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l -/* 8000AD48 00007C88 80 84 5F AC */ lwz r4, 0x5fac(r4) -/* 8000AD4C 00007C8C 48 04 B9 C5 */ bl dDlst_list_c_NS_drawXluDrawList -/* 8000AD50 00007C90 38 7E 01 40 */ addi r3, r30, 0x140 -/* 8000AD54 00007C94 3C 80 80 43 */ lis r4, lbl_80434AC8@ha -/* 8000AD58 00007C98 38 84 4A C8 */ addi r4, r4, lbl_80434AC8@l -/* 8000AD5C 00007C9C 48 33 B7 55 */ bl PSMTXCopy -/* 8000AD60 00007CA0 38 7E 01 00 */ addi r3, r30, 0x100 -/* 8000AD64 00007CA4 38 80 00 00 */ li r4, 0 -/* 8000AD68 00007CA8 48 35 53 6D */ bl GXSetProjection -/* 8000AD6C 00007CAC 3C 60 80 43 */ lis r3, lbl_80434AC8@ha -/* 8000AD70 00007CB0 38 63 4A C8 */ addi r3, r3, lbl_80434AC8@l -/* 8000AD74 00007CB4 48 30 59 C9 */ bl J3DSys_NS_reinitGX -/* 8000AD78 00007CB8 3C 60 80 43 */ lis r3, lbl_8042CA54@ha -/* 8000AD7C 00007CBC 38 63 CA 54 */ addi r3, r3, lbl_8042CA54@l -/* 8000AD80 00007CC0 88 03 12 D8 */ lbz r0, 0x12d8(r3) -/* 8000AD84 00007CC4 28 00 00 00 */ cmplwi r0, 0 -/* 8000AD88 00007CC8 40 82 00 20 */ bne lbl_8000ADA8 -/* 8000AD8C 00007CCC 7F 23 CB 78 */ mr r3, r25 -/* 8000AD90 00007CD0 3C 80 80 37 */ lis r4, lbl_80373DD0@ha -/* 8000AD94 00007CD4 38 84 3D D0 */ addi r4, r4, lbl_80373DD0@l -/* 8000AD98 00007CD8 38 84 00 08 */ addi r4, r4, 8 -/* 8000AD9C 00007CDC 48 35 DB F9 */ bl strcmp -/* 8000ADA0 00007CE0 2C 03 00 00 */ cmpwi r3, 0 -/* 8000ADA4 00007CE4 40 82 00 48 */ bne lbl_8000ADEC -lbl_8000ADA8: -/* 8000ADA8 00007CE8 3C 60 80 3E */ lis r3, lbl_803DD428@ha -/* 8000ADAC 00007CEC 38 63 D4 28 */ addi r3, r3, lbl_803DD428@l -/* 8000ADB0 00007CF0 88 83 00 08 */ lbz r4, 8(r3) -/* 8000ADB4 00007CF4 80 03 00 04 */ lwz r0, 4(r3) -/* 8000ADB8 00007CF8 90 01 00 14 */ stw r0, 0x14(r1) -/* 8000ADBC 00007CFC 88 01 00 17 */ lbz r0, 0x17(r1) -/* 8000ADC0 00007D00 28 00 00 00 */ cmplwi r0, 0 -/* 8000ADC4 00007D04 40 82 00 0C */ bne lbl_8000ADD0 -/* 8000ADC8 00007D08 28 04 00 00 */ cmplwi r4, 0 -/* 8000ADCC 00007D0C 41 82 00 20 */ beq lbl_8000ADEC -lbl_8000ADD0: -/* 8000ADD0 00007D10 7F C3 F3 78 */ mr r3, r30 -/* 8000ADD4 00007D14 7F A4 EB 78 */ mr r4, r29 -/* 8000ADD8 00007D18 C0 1B 00 00 */ lfs f0, 0(r27) -/* 8000ADDC 00007D1C FC 00 00 1E */ fctiwz f0, f0 -/* 8000ADE0 00007D20 D8 01 03 80 */ stfd f0, 0x380(r1) -/* 8000ADE4 00007D24 80 A1 03 84 */ lwz r5, 0x384(r1) -/* 8000ADE8 00007D28 4B FF F3 79 */ bl retry_captue_frame -lbl_8000ADEC: -/* 8000ADEC 00007D2C 3C 60 80 3E */ lis r3, lbl_803DD428@ha -/* 8000ADF0 00007D30 38 63 D4 28 */ addi r3, r3, lbl_803DD428@l -/* 8000ADF4 00007D34 4B FF E8 5D */ bl mDoGph_gInf_c_NS_bloom_c_NS_draw -/* 8000ADF8 00007D38 38 7E 01 40 */ addi r3, r30, 0x140 -/* 8000ADFC 00007D3C 3C 80 80 43 */ lis r4, lbl_80434AC8@ha -/* 8000AE00 00007D40 38 84 4A C8 */ addi r4, r4, lbl_80434AC8@l -/* 8000AE04 00007D44 48 33 B6 AD */ bl PSMTXCopy -/* 8000AE08 00007D48 38 7E 01 00 */ addi r3, r30, 0x100 -/* 8000AE0C 00007D4C 38 80 00 00 */ li r4, 0 -/* 8000AE10 00007D50 48 35 52 C5 */ bl GXSetProjection -/* 8000AE14 00007D54 7F E3 FB 78 */ mr r3, r31 -/* 8000AE18 00007D58 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha -/* 8000AE1C 00007D5C 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l -/* 8000AE20 00007D60 80 84 5F B4 */ lwz r4, 0x5fb4(r4) -/* 8000AE24 00007D64 48 04 B8 B1 */ bl dDlst_list_c_NS_drawOpaDrawList -/* 8000AE28 00007D68 C0 02 80 38 */ lfs f0, lbl_80451A38-_SDA2_BASE_(r2) -/* 8000AE2C 00007D6C D0 01 00 28 */ stfs f0, 0x28(r1) -/* 8000AE30 00007D70 D0 01 00 2C */ stfs f0, 0x2c(r1) -/* 8000AE34 00007D74 C0 02 80 AC */ lfs f0, lbl_80451AAC-_SDA2_BASE_(r2) -/* 8000AE38 00007D78 D0 01 00 30 */ stfs f0, 0x30(r1) -/* 8000AE3C 00007D7C C0 02 80 A8 */ lfs f0, lbl_80451AA8-_SDA2_BASE_(r2) -/* 8000AE40 00007D80 D0 01 00 34 */ stfs f0, 0x34(r1) -/* 8000AE44 00007D84 38 61 02 A8 */ addi r3, r1, 0x2a8 -/* 8000AE48 00007D88 38 81 00 28 */ addi r4, r1, 0x28 -/* 8000AE4C 00007D8C C0 22 80 E8 */ lfs f1, lbl_80451AE8-_SDA2_BASE_(r2) -/* 8000AE50 00007D90 C0 42 80 F0 */ lfs f2, lbl_80451AF0-_SDA2_BASE_(r2) -/* 8000AE54 00007D94 48 2D E9 B9 */ bl J2DOrthoGraph_NS_setOrtho -/* 8000AE58 00007D98 38 61 02 A8 */ addi r3, r1, 0x2a8 -/* 8000AE5C 00007D9C 48 2D E9 59 */ bl J2DOrthoGraph_NS_setPort -/* 8000AE60 00007DA0 38 61 00 C0 */ addi r3, r1, 0xc0 -/* 8000AE64 00007DA4 C0 22 80 F4 */ lfs f1, lbl_80451AF4-_SDA2_BASE_(r2) -/* 8000AE68 00007DA8 C0 42 80 F8 */ lfs f2, lbl_80451AF8-_SDA2_BASE_(r2) -/* 8000AE6C 00007DAC C0 62 80 38 */ lfs f3, lbl_80451A38-_SDA2_BASE_(r2) -/* 8000AE70 00007DB0 48 33 BA 79 */ bl PSMTXTrans -/* 8000AE74 00007DB4 38 61 00 C0 */ addi r3, r1, 0xc0 -/* 8000AE78 00007DB8 38 81 01 E8 */ addi r4, r1, 0x1e8 -/* 8000AE7C 00007DBC 48 33 B6 35 */ bl PSMTXCopy -/* 8000AE80 00007DC0 38 61 02 18 */ addi r3, r1, 0x218 -/* 8000AE84 00007DC4 C0 22 80 38 */ lfs f1, lbl_80451A38-_SDA2_BASE_(r2) -/* 8000AE88 00007DC8 C0 42 80 A8 */ lfs f2, lbl_80451AA8-_SDA2_BASE_(r2) -/* 8000AE8C 00007DCC FC 60 08 90 */ fmr f3, f1 -/* 8000AE90 00007DD0 C0 82 80 AC */ lfs f4, lbl_80451AAC-_SDA2_BASE_(r2) -/* 8000AE94 00007DD4 C0 A2 80 DC */ lfs f5, lbl_80451ADC-_SDA2_BASE_(r2) -/* 8000AE98 00007DD8 FC C0 28 90 */ fmr f6, f5 -/* 8000AE9C 00007DDC FC E0 28 90 */ fmr f7, f5 -/* 8000AEA0 00007DE0 FD 00 28 90 */ fmr f8, f5 -/* 8000AEA4 00007DE4 48 33 BE 41 */ bl C_MTXLightOrtho -/* 8000AEA8 00007DE8 80 7C 5D 3C */ lwz r3, 0x5d3c(r28) -/* 8000AEAC 00007DEC 28 03 00 00 */ cmplwi r3, 0 -/* 8000AEB0 00007DF0 41 82 00 10 */ beq lbl_8000AEC0 -/* 8000AEB4 00007DF4 38 81 01 E8 */ addi r4, r1, 0x1e8 -/* 8000AEB8 00007DF8 38 A0 00 0E */ li r5, 0xe -/* 8000AEBC 00007DFC 48 04 12 CD */ bl dPa_control_c_NS_draw -lbl_8000AEC0: -/* 8000AEC0 00007E00 7F C3 F3 78 */ mr r3, r30 -/* 8000AEC4 00007E04 7F A4 EB 78 */ mr r4, r29 -/* 8000AEC8 00007E08 4B FF E2 F9 */ bl trimming -/* 8000AECC 00007E0C 7F 23 CB 78 */ mr r3, r25 -/* 8000AED0 00007E10 3C 80 80 37 */ lis r4, lbl_80373DD0@ha -/* 8000AED4 00007E14 38 84 3D D0 */ addi r4, r4, lbl_80373DD0@l -/* 8000AED8 00007E18 38 84 00 0F */ addi r4, r4, 0xf -/* 8000AEDC 00007E1C 48 35 DA B9 */ bl strcmp -/* 8000AEE0 00007E20 2C 03 00 00 */ cmpwi r3, 0 -/* 8000AEE4 00007E24 41 82 00 14 */ beq lbl_8000AEF8 -/* 8000AEE8 00007E28 88 0D 86 66 */ lbz r0, lbl_80450BE6-_SDA_BASE_(r13) -/* 8000AEEC 00007E2C 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 -/* 8000AEF0 00007E30 40 82 00 08 */ bne lbl_8000AEF8 -/* 8000AEF4 00007E34 4B FF D4 3D */ bl mDoGph_gInf_c_NS_calcFade -lbl_8000AEF8: -/* 8000AEF8 00007E38 38 60 00 00 */ li r3, 0 -/* 8000AEFC 00007E3C 48 35 56 D5 */ bl GXSetClipMode -/* 8000AF00 00007E40 48 04 BA 01 */ bl dDlst_list_c_NS_calcWipe -/* 8000AF04 00007E44 3C 60 80 43 */ lis r3, lbl_80434AC8@ha -/* 8000AF08 00007E48 38 63 4A C8 */ addi r3, r3, lbl_80434AC8@l -/* 8000AF0C 00007E4C 48 30 58 31 */ bl J3DSys_NS_reinitGX -/* 8000AF10 00007E50 C0 02 80 38 */ lfs f0, lbl_80451A38-_SDA2_BASE_(r2) -/* 8000AF14 00007E54 D0 01 00 18 */ stfs f0, 0x18(r1) -/* 8000AF18 00007E58 D0 01 00 1C */ stfs f0, 0x1c(r1) -/* 8000AF1C 00007E5C C0 02 80 AC */ lfs f0, lbl_80451AAC-_SDA2_BASE_(r2) -/* 8000AF20 00007E60 D0 01 00 20 */ stfs f0, 0x20(r1) -/* 8000AF24 00007E64 C0 02 80 A8 */ lfs f0, lbl_80451AA8-_SDA2_BASE_(r2) -/* 8000AF28 00007E68 D0 01 00 24 */ stfs f0, 0x24(r1) -/* 8000AF2C 00007E6C 38 61 02 A8 */ addi r3, r1, 0x2a8 -/* 8000AF30 00007E70 38 81 00 18 */ addi r4, r1, 0x18 -/* 8000AF34 00007E74 C0 22 80 E8 */ lfs f1, lbl_80451AE8-_SDA2_BASE_(r2) -/* 8000AF38 00007E78 C0 42 80 F0 */ lfs f2, lbl_80451AF0-_SDA2_BASE_(r2) -/* 8000AF3C 00007E7C 48 2D E8 D1 */ bl J2DOrthoGraph_NS_setOrtho -/* 8000AF40 00007E80 38 61 02 A8 */ addi r3, r1, 0x2a8 -/* 8000AF44 00007E84 48 2D E8 71 */ bl J2DOrthoGraph_NS_setPort -/* 8000AF48 00007E88 3C 60 80 43 */ lis r3, lbl_80434AC8@ha -/* 8000AF4C 00007E8C 38 63 4A C8 */ addi r3, r3, lbl_80434AC8@l -/* 8000AF50 00007E90 38 81 00 90 */ addi r4, r1, 0x90 -/* 8000AF54 00007E94 48 33 B5 5D */ bl PSMTXCopy -/* 8000AF58 00007E98 38 61 00 60 */ addi r3, r1, 0x60 -/* 8000AF5C 00007E9C C0 22 80 F4 */ lfs f1, lbl_80451AF4-_SDA2_BASE_(r2) -/* 8000AF60 00007EA0 C0 42 80 F8 */ lfs f2, lbl_80451AF8-_SDA2_BASE_(r2) -/* 8000AF64 00007EA4 C0 62 80 38 */ lfs f3, lbl_80451A38-_SDA2_BASE_(r2) -/* 8000AF68 00007EA8 48 33 B9 81 */ bl PSMTXTrans -/* 8000AF6C 00007EAC 38 61 00 60 */ addi r3, r1, 0x60 -/* 8000AF70 00007EB0 38 81 01 88 */ addi r4, r1, 0x188 -/* 8000AF74 00007EB4 48 33 B5 3D */ bl PSMTXCopy -/* 8000AF78 00007EB8 38 61 01 B8 */ addi r3, r1, 0x1b8 -/* 8000AF7C 00007EBC C0 22 80 38 */ lfs f1, lbl_80451A38-_SDA2_BASE_(r2) -/* 8000AF80 00007EC0 C0 42 80 A8 */ lfs f2, lbl_80451AA8-_SDA2_BASE_(r2) -/* 8000AF84 00007EC4 FC 60 08 90 */ fmr f3, f1 -/* 8000AF88 00007EC8 C0 82 80 AC */ lfs f4, lbl_80451AAC-_SDA2_BASE_(r2) -/* 8000AF8C 00007ECC C0 A2 80 DC */ lfs f5, lbl_80451ADC-_SDA2_BASE_(r2) -/* 8000AF90 00007ED0 FC C0 28 90 */ fmr f6, f5 -/* 8000AF94 00007ED4 FC E0 28 90 */ fmr f7, f5 -/* 8000AF98 00007ED8 FD 00 28 90 */ fmr f8, f5 -/* 8000AF9C 00007EDC 48 33 BD 49 */ bl C_MTXLightOrtho -/* 8000AFA0 00007EE0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha -/* 8000AFA4 00007EE4 3B 23 61 C0 */ addi r25, r3, g_dComIfG_gameInfo@l -/* 8000AFA8 00007EE8 88 19 5E B5 */ lbz r0, 0x5eb5(r25) -/* 8000AFAC 00007EEC 28 00 00 00 */ cmplwi r0, 0 -/* 8000AFB0 00007EF0 40 82 00 1C */ bne lbl_8000AFCC -/* 8000AFB4 00007EF4 80 7C 5D 3C */ lwz r3, 0x5d3c(r28) -/* 8000AFB8 00007EF8 28 03 00 00 */ cmplwi r3, 0 -/* 8000AFBC 00007EFC 41 82 00 10 */ beq lbl_8000AFCC -/* 8000AFC0 00007F00 38 81 01 88 */ addi r4, r1, 0x188 -/* 8000AFC4 00007F04 38 A0 00 10 */ li r5, 0x10 -/* 8000AFC8 00007F08 48 04 11 C1 */ bl dPa_control_c_NS_draw -lbl_8000AFCC: -/* 8000AFCC 00007F0C 80 7C 5D 3C */ lwz r3, 0x5d3c(r28) -/* 8000AFD0 00007F10 28 03 00 00 */ cmplwi r3, 0 -/* 8000AFD4 00007F14 41 82 00 10 */ beq lbl_8000AFE4 -/* 8000AFD8 00007F18 38 81 01 88 */ addi r4, r1, 0x188 -/* 8000AFDC 00007F1C 38 A0 00 12 */ li r5, 0x12 -/* 8000AFE0 00007F20 48 04 11 A9 */ bl dPa_control_c_NS_draw -lbl_8000AFE4: -/* 8000AFE4 00007F24 38 61 02 A8 */ addi r3, r1, 0x2a8 -/* 8000AFE8 00007F28 48 2D E7 CD */ bl J2DOrthoGraph_NS_setPort -/* 8000AFEC 00007F2C 7F E3 FB 78 */ mr r3, r31 -/* 8000AFF0 00007F30 38 9F 00 B4 */ addi r4, r31, 0xb4 -/* 8000AFF4 00007F34 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha -/* 8000AFF8 00007F38 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l -/* 8000AFFC 00007F3C 80 A5 61 18 */ lwz r5, 0x6118(r5) -/* 8000B000 00007F40 48 04 B7 C5 */ bl dDlst_list_c_NS_draw -/* 8000B004 00007F44 4B FF F5 89 */ bl drawItem3D -/* 8000B008 00007F48 38 61 02 A8 */ addi r3, r1, 0x2a8 -/* 8000B00C 00007F4C 48 2D E7 A9 */ bl J2DOrthoGraph_NS_setPort -/* 8000B010 00007F50 7F E3 FB 78 */ mr r3, r31 -/* 8000B014 00007F54 38 9F 00 6C */ addi r4, r31, 0x6c -/* 8000B018 00007F58 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha -/* 8000B01C 00007F5C 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l -/* 8000B020 00007F60 80 A5 60 10 */ lwz r5, 0x6010(r5) -/* 8000B024 00007F64 48 04 B7 A1 */ bl dDlst_list_c_NS_draw -/* 8000B028 00007F68 7F E3 FB 78 */ mr r3, r31 -/* 8000B02C 00007F6C 38 9F 01 BC */ addi r4, r31, 0x1bc -/* 8000B030 00007F70 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha -/* 8000B034 00007F74 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l -/* 8000B038 00007F78 80 A5 61 A0 */ lwz r5, 0x61a0(r5) -/* 8000B03C 00007F7C 48 04 B7 89 */ bl dDlst_list_c_NS_draw -/* 8000B040 00007F80 88 19 5E B5 */ lbz r0, 0x5eb5(r25) -/* 8000B044 00007F84 28 00 00 00 */ cmplwi r0, 0 -/* 8000B048 00007F88 40 82 00 1C */ bne lbl_8000B064 -/* 8000B04C 00007F8C 80 7C 5D 3C */ lwz r3, 0x5d3c(r28) -/* 8000B050 00007F90 28 03 00 00 */ cmplwi r3, 0 -/* 8000B054 00007F94 41 82 00 10 */ beq lbl_8000B064 -/* 8000B058 00007F98 38 81 01 88 */ addi r4, r1, 0x188 -/* 8000B05C 00007F9C 38 A0 00 0F */ li r5, 0xf -/* 8000B060 00007FA0 48 04 11 29 */ bl dPa_control_c_NS_draw -lbl_8000B064: -/* 8000B064 00007FA4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha -/* 8000B068 00007FA8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l -/* 8000B06C 00007FAC 38 63 4E 00 */ addi r3, r3, 0x4e00 -/* 8000B070 00007FB0 3C 80 80 37 */ lis r4, lbl_80373DD0@ha -/* 8000B074 00007FB4 38 84 3D D0 */ addi r4, r4, lbl_80373DD0@l -/* 8000B078 00007FB8 38 84 00 0F */ addi r4, r4, 0xf -/* 8000B07C 00007FBC 48 35 D9 19 */ bl strcmp -/* 8000B080 00007FC0 2C 03 00 00 */ cmpwi r3, 0 -/* 8000B084 00007FC4 41 82 00 10 */ beq lbl_8000B094 -/* 8000B088 00007FC8 88 0D 86 66 */ lbz r0, lbl_80450BE6-_SDA_BASE_(r13) -/* 8000B08C 00007FCC 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 -/* 8000B090 00007FD0 41 82 00 08 */ beq lbl_8000B098 -lbl_8000B094: -/* 8000B094 00007FD4 4B FF D2 9D */ bl mDoGph_gInf_c_NS_calcFade -lbl_8000B098: -/* 8000B098 00007FD8 80 7C 5D 3C */ lwz r3, 0x5d3c(r28) -/* 8000B09C 00007FDC 28 03 00 00 */ cmplwi r3, 0 -/* 8000B0A0 00007FE0 41 82 00 10 */ beq lbl_8000B0B0 -/* 8000B0A4 00007FE4 38 81 01 88 */ addi r4, r1, 0x188 -/* 8000B0A8 00007FE8 38 A0 00 11 */ li r5, 0x11 -/* 8000B0AC 00007FEC 48 04 10 DD */ bl dPa_control_c_NS_draw -lbl_8000B0B0: -/* 8000B0B0 00007FF0 38 61 00 90 */ addi r3, r1, 0x90 -/* 8000B0B4 00007FF4 3C 80 80 43 */ lis r4, lbl_80434AC8@ha -/* 8000B0B8 00007FF8 38 84 4A C8 */ addi r4, r4, lbl_80434AC8@l -/* 8000B0BC 00007FFC 48 33 B3 F5 */ bl PSMTXCopy -/* 8000B0C0 00008000 80 6D 8C 40 */ lwz r3, lbl_804511C0-_SDA_BASE_(r13) -/* 8000B0C4 00008004 81 83 00 00 */ lwz r12, 0(r3) -/* 8000B0C8 00008008 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 8000B0CC 0000800C 7D 89 03 A6 */ mtctr r12 -/* 8000B0D0 00008010 4E 80 04 21 */ bctrl -/* 8000B0D4 00008014 3C 60 80 3D */ lis r3, lbl_803CC9E0@ha -/* 8000B0D8 00008018 38 03 C9 E0 */ addi r0, r3, lbl_803CC9E0@l -/* 8000B0DC 0000801C 90 01 02 A8 */ stw r0, 0x2a8(r1) -/* 8000B0E0 00008020 3C 60 80 3D */ lis r3, lbl_803CC9B8@ha -/* 8000B0E4 00008024 38 03 C9 B8 */ addi r0, r3, lbl_803CC9B8@l -/* 8000B0E8 00008028 90 01 02 A8 */ stw r0, 0x2a8(r1) -/* 8000B0EC 0000802C 38 60 00 01 */ li r3, 1 -/* 8000B0F0 00008030 E3 E1 03 D8 */ psq_l f31, 984(r1), 0, qr0 -/* 8000B0F4 00008034 CB E1 03 D0 */ lfd f31, 0x3d0(r1) -/* 8000B0F8 00008038 E3 C1 03 C8 */ psq_l f30, 968(r1), 0, qr0 -/* 8000B0FC 0000803C CB C1 03 C0 */ lfd f30, 0x3c0(r1) -/* 8000B100 00008040 39 61 03 C0 */ addi r11, r1, 0x3c0 -/* 8000B104 00008044 48 35 71 05 */ bl _restgpr_21 -/* 8000B108 00008048 80 01 03 E4 */ lwz r0, 0x3e4(r1) -/* 8000B10C 0000804C 7C 08 03 A6 */ mtlr r0 -/* 8000B110 00008050 38 21 03 E0 */ addi r1, r1, 0x3e0 -/* 8000B114 00008054 4E 80 00 20 */ blr -/* 8000B118 00008058 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8000B11C 0000805C 7C 08 02 A6 */ mflr r0 -/* 8000B120 00008060 90 01 00 14 */ stw r0, 0x14(r1) -/* 8000B124 00008064 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8000B128 00008068 7C 7F 1B 79 */ or. r31, r3, r3 -/* 8000B12C 0000806C 41 82 00 30 */ beq lbl_8000B15C -/* 8000B130 00008070 3C 60 80 3D */ lis r3, lbl_803CC9E0@ha -/* 8000B134 00008074 38 03 C9 E0 */ addi r0, r3, lbl_803CC9E0@l -/* 8000B138 00008078 90 1F 00 00 */ stw r0, 0(r31) -/* 8000B13C 0000807C 41 82 00 10 */ beq lbl_8000B14C -/* 8000B140 00008080 3C 60 80 3D */ lis r3, lbl_803CC9B8@ha -/* 8000B144 00008084 38 03 C9 B8 */ addi r0, r3, lbl_803CC9B8@l -/* 8000B148 00008088 90 1F 00 00 */ stw r0, 0(r31) -lbl_8000B14C: -/* 8000B14C 0000808C 7C 80 07 35 */ extsh. r0, r4 -/* 8000B150 00008090 40 81 00 0C */ ble lbl_8000B15C -/* 8000B154 00008094 7F E3 FB 78 */ mr r3, r31 -/* 8000B158 00008098 48 2C 3B E5 */ bl __dl__FPv -lbl_8000B15C: -/* 8000B15C 0000809C 7F E3 FB 78 */ mr r3, r31 -/* 8000B160 000080A0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8000B164 000080A4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8000B168 000080A8 7C 08 03 A6 */ mtlr r0 -/* 8000B16C 000080AC 38 21 00 10 */ addi r1, r1, 0x10 -/* 8000B170 000080B0 4E 80 00 20 */ blr - -.global mDoGph_Create__Fv -mDoGph_Create__Fv: -/* 8000B174 000080B4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8000B178 000080B8 7C 08 02 A6 */ mflr r0 -/* 8000B17C 000080BC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8000B180 000080C0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8000B184 000080C4 38 60 00 00 */ li r3, 0 -/* 8000B188 000080C8 38 80 00 00 */ li r4, 0 -/* 8000B18C 000080CC 38 A0 00 00 */ li r5, 0 -/* 8000B190 000080D0 48 00 3E 2D */ bl mDoExt_createSolidHeapToCurrent_X1_ -/* 8000B194 000080D4 7C 7F 1B 78 */ mr r31, r3 -/* 8000B198 000080D8 4B FF CC AD */ bl mDoGph_gInf_c_NS_create -/* 8000B19C 000080DC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha -/* 8000B1A0 000080E0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l -/* 8000B1A4 000080E4 38 63 5F 64 */ addi r3, r3, 0x5f64 -/* 8000B1A8 000080E8 48 04 B1 E9 */ bl dDlst_list_c_NS_init -/* 8000B1AC 000080EC 7F E3 FB 78 */ mr r3, r31 -/* 8000B1B0 000080F0 48 00 3E DD */ bl mDoExt_adjustSolidHeap -/* 8000B1B4 000080F4 48 00 40 41 */ bl mDoExt_restoreCurrentHeap -/* 8000B1B8 000080F8 38 60 00 01 */ li r3, 1 -/* 8000B1BC 000080FC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8000B1C0 00008100 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8000B1C4 00008104 7C 08 03 A6 */ mtlr r0 -/* 8000B1C8 00008108 38 21 00 10 */ addi r1, r1, 0x10 -/* 8000B1CC 0000810C 4E 80 00 20 */ blr -/* 8000B1D0 00008110 38 00 00 00 */ li r0, 0 -/* 8000B1D4 00008114 3C 60 80 3E */ lis r3, lbl_803DD428@ha -/* 8000B1D8 00008118 38 63 D4 28 */ addi r3, r3, lbl_803DD428@l -/* 8000B1DC 0000811C 90 03 00 10 */ stw r0, 0x10(r3) -/* 8000B1E0 00008120 4E 80 00 20 */ blr -/* 8000B1E4 00008124 38 60 FF FF */ li r3, -1 -/* 8000B1E8 00008128 4E 80 00 20 */ blr - diff --git a/asm/m/Do/m_Do_printf.s b/asm/m/Do/m_Do_printf.s deleted file mode 100644 index cb4adac1887..00000000000 --- a/asm/m/Do/m_Do_printf.s +++ /dev/null @@ -1,606 +0,0 @@ -.include "macros.inc" - -.section .text, "ax" # 80006798 - - -.global OSSwitchFiberEx -OSSwitchFiberEx: -/* 80006798 000036D8 7C 08 02 A6 */ mflr r0 -/* 8000679C 000036DC 7C 29 0B 78 */ mr r9, r1 -/* 800067A0 000036E0 95 28 FF F8 */ stwu r9, -8(r8) -/* 800067A4 000036E4 7D 01 43 78 */ mr r1, r8 -/* 800067A8 000036E8 90 09 00 04 */ stw r0, 4(r9) -/* 800067AC 000036EC 7C E8 03 A6 */ mtlr r7 -/* 800067B0 000036F0 4E 80 00 21 */ blrl -/* 800067B4 000036F4 80 A1 00 00 */ lwz r5, 0(r1) -/* 800067B8 000036F8 80 05 00 04 */ lwz r0, 4(r5) -/* 800067BC 000036FC 7C 08 03 A6 */ mtlr r0 -/* 800067C0 00003700 7C A1 2B 78 */ mr r1, r5 -/* 800067C4 00003704 4E 80 00 20 */ blr - -.global my_PutString -my_PutString: -/* 800067C8 00003708 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800067CC 0000370C 7C 08 02 A6 */ mflr r0 -/* 800067D0 00003710 90 01 00 14 */ stw r0, 0x14(r1) -/* 800067D4 00003714 3C 80 80 3D */ lis r4, lbl_803D29B0@ha -/* 800067D8 00003718 38 84 29 B0 */ addi r4, r4, lbl_803D29B0@l -/* 800067DC 0000371C 38 84 00 50 */ addi r4, r4, 0x50 -/* 800067E0 00003720 48 35 E9 F9 */ bl func_803651D8 -/* 800067E4 00003724 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800067E8 00003728 7C 08 03 A6 */ mtlr r0 -/* 800067EC 0000372C 38 21 00 10 */ addi r1, r1, 0x10 -/* 800067F0 00003730 4E 80 00 20 */ blr - -.global OSVAttention__FPCcP16__va_list_struct -OSVAttention__FPCcP16__va_list_struct: -/* 800067F4 00003734 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800067F8 00003738 7C 08 02 A6 */ mflr r0 -/* 800067FC 0000373C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80006800 00003740 48 00 01 85 */ bl mDoPrintf_vprintf__FPCcP16__va_list_struct -/* 80006804 00003744 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80006808 00003748 7C 08 03 A6 */ mtlr r0 -/* 8000680C 0000374C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80006810 00003750 4E 80 00 20 */ blr - -.global OSAttention -OSAttention: -/* 80006814 00003754 94 21 FF 80 */ stwu r1, -0x80(r1) -/* 80006818 00003758 7C 08 02 A6 */ mflr r0 -/* 8000681C 0000375C 90 01 00 84 */ stw r0, 0x84(r1) -/* 80006820 00003760 40 86 00 24 */ bne cr1, lbl_80006844 -/* 80006824 00003764 D8 21 00 28 */ stfd f1, 0x28(r1) -/* 80006828 00003768 D8 41 00 30 */ stfd f2, 0x30(r1) -/* 8000682C 0000376C D8 61 00 38 */ stfd f3, 0x38(r1) -/* 80006830 00003770 D8 81 00 40 */ stfd f4, 0x40(r1) -/* 80006834 00003774 D8 A1 00 48 */ stfd f5, 0x48(r1) -/* 80006838 00003778 D8 C1 00 50 */ stfd f6, 0x50(r1) -/* 8000683C 0000377C D8 E1 00 58 */ stfd f7, 0x58(r1) -/* 80006840 00003780 D9 01 00 60 */ stfd f8, 0x60(r1) -lbl_80006844: -/* 80006844 00003784 90 61 00 08 */ stw r3, 8(r1) -/* 80006848 00003788 90 81 00 0C */ stw r4, 0xc(r1) -/* 8000684C 0000378C 90 A1 00 10 */ stw r5, 0x10(r1) -/* 80006850 00003790 90 C1 00 14 */ stw r6, 0x14(r1) -/* 80006854 00003794 90 E1 00 18 */ stw r7, 0x18(r1) -/* 80006858 00003798 91 01 00 1C */ stw r8, 0x1c(r1) -/* 8000685C 0000379C 91 21 00 20 */ stw r9, 0x20(r1) -/* 80006860 000037A0 91 41 00 24 */ stw r10, 0x24(r1) -/* 80006864 000037A4 38 81 00 68 */ addi r4, r1, 0x68 -/* 80006868 000037A8 3C 00 01 00 */ lis r0, 0x100 -/* 8000686C 000037AC 90 01 00 68 */ stw r0, 0x68(r1) -/* 80006870 000037B0 38 01 00 88 */ addi r0, r1, 0x88 -/* 80006874 000037B4 90 01 00 6C */ stw r0, 0x6c(r1) -/* 80006878 000037B8 38 01 00 08 */ addi r0, r1, 8 -/* 8000687C 000037BC 90 01 00 70 */ stw r0, 0x70(r1) -/* 80006880 000037C0 48 00 01 05 */ bl mDoPrintf_vprintf__FPCcP16__va_list_struct -/* 80006884 000037C4 80 01 00 84 */ lwz r0, 0x84(r1) -/* 80006888 000037C8 7C 08 03 A6 */ mtlr r0 -/* 8000688C 000037CC 38 21 00 80 */ addi r1, r1, 0x80 -/* 80006890 000037D0 4E 80 00 20 */ blr - -.global OSReportDisable -OSReportDisable: -/* 80006894 000037D4 38 00 00 01 */ li r0, 1 -/* 80006898 000037D8 98 0D 86 18 */ stb r0, lbl_80450B98-_SDA_BASE_(r13) -/* 8000689C 000037DC 4E 80 00 20 */ blr - -.global OSReportEnable -OSReportEnable: -/* 800068A0 000037E0 38 00 00 00 */ li r0, 0 -/* 800068A4 000037E4 98 0D 86 18 */ stb r0, lbl_80450B98-_SDA_BASE_(r13) -/* 800068A8 000037E8 4E 80 00 20 */ blr - -.global OSReportForceEnableOn -OSReportForceEnableOn: -/* 800068AC 000037EC 38 00 00 01 */ li r0, 1 -/* 800068B0 000037F0 98 0D 86 1C */ stb r0, lbl_80450B9C-_SDA_BASE_(r13) -/* 800068B4 000037F4 4E 80 00 20 */ blr - -.global OSReportForceEnableOff -OSReportForceEnableOff: -/* 800068B8 000037F8 38 00 00 00 */ li r0, 0 -/* 800068BC 000037FC 98 0D 86 1C */ stb r0, lbl_80450B9C-_SDA_BASE_(r13) -/* 800068C0 00003800 4E 80 00 20 */ blr - -.global OSReportInit -OSReportInit: -/* 800068C4 00003804 88 0D 86 34 */ lbz r0, lbl_80450BB4-_SDA_BASE_(r13) -/* 800068C8 00003808 28 00 00 00 */ cmplwi r0, 0 -/* 800068CC 0000380C 4C 82 00 20 */ bnelr -/* 800068D0 00003810 38 00 00 01 */ li r0, 1 -/* 800068D4 00003814 98 0D 86 34 */ stb r0, lbl_80450BB4-_SDA_BASE_(r13) -/* 800068D8 00003818 4E 80 00 20 */ blr - -.global mDoPrintf_vprintf_Interrupt__FPCcP16__va_list_struct -mDoPrintf_vprintf_Interrupt__FPCcP16__va_list_struct: -/* 800068DC 0000381C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800068E0 00003820 7C 08 02 A6 */ mflr r0 -/* 800068E4 00003824 90 01 00 24 */ stw r0, 0x24(r1) -/* 800068E8 00003828 39 61 00 20 */ addi r11, r1, 0x20 -/* 800068EC 0000382C 48 35 B8 F1 */ bl _savegpr_29 -/* 800068F0 00003830 7C 7D 1B 78 */ mr r29, r3 -/* 800068F4 00003834 7C 9E 23 78 */ mr r30, r4 -/* 800068F8 00003838 48 33 6D FD */ bl __RAS_OSDisableInterrupts_begin -/* 800068FC 0000383C 7C 7F 1B 78 */ mr r31, r3 -/* 80006900 00003840 88 0D 86 35 */ lbz r0, lbl_80450BB5-_SDA_BASE_(r13) -/* 80006904 00003844 28 00 00 00 */ cmplwi r0, 0 -/* 80006908 00003848 40 82 00 3C */ bne lbl_80006944 -/* 8000690C 0000384C 38 00 00 01 */ li r0, 1 -/* 80006910 00003850 98 0D 86 35 */ stb r0, lbl_80450BB5-_SDA_BASE_(r13) -/* 80006914 00003854 7F A3 EB 78 */ mr r3, r29 -/* 80006918 00003858 7F C4 F3 78 */ mr r4, r30 -/* 8000691C 0000385C 38 A0 00 00 */ li r5, 0 -/* 80006920 00003860 38 C0 00 00 */ li r6, 0 -/* 80006924 00003864 3C E0 80 36 */ lis r7, func_80366704@ha -/* 80006928 00003868 38 E7 67 04 */ addi r7, r7, func_80366704@l -/* 8000692C 0000386C 3D 00 80 3E */ lis r8, lbl_803DB740@ha -/* 80006930 00003870 39 08 B7 40 */ addi r8, r8, lbl_803DB740@l -/* 80006934 00003874 39 08 08 00 */ addi r8, r8, 0x800 -/* 80006938 00003878 4B FF FE 61 */ bl OSSwitchFiberEx -/* 8000693C 0000387C 38 00 00 00 */ li r0, 0 -/* 80006940 00003880 98 0D 86 35 */ stb r0, lbl_80450BB5-_SDA_BASE_(r13) -lbl_80006944: -/* 80006944 00003884 7F E3 FB 78 */ mr r3, r31 -/* 80006948 00003888 48 33 6D D5 */ bl OSRestoreInterrupts -/* 8000694C 0000388C 39 61 00 20 */ addi r11, r1, 0x20 -/* 80006950 00003890 48 35 B8 D9 */ bl _restgpr_29 -/* 80006954 00003894 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80006958 00003898 7C 08 03 A6 */ mtlr r0 -/* 8000695C 0000389C 38 21 00 20 */ addi r1, r1, 0x20 -/* 80006960 000038A0 4E 80 00 20 */ blr - -.global mDoPrintf_vprintf_Thread__FPCcP16__va_list_struct -mDoPrintf_vprintf_Thread__FPCcP16__va_list_struct: -/* 80006964 000038A4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80006968 000038A8 7C 08 02 A6 */ mflr r0 -/* 8000696C 000038AC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80006970 000038B0 48 35 FD 95 */ bl func_80366704 -/* 80006974 000038B4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80006978 000038B8 7C 08 03 A6 */ mtlr r0 -/* 8000697C 000038BC 38 21 00 10 */ addi r1, r1, 0x10 -/* 80006980 000038C0 4E 80 00 20 */ blr - -.global mDoPrintf_vprintf__FPCcP16__va_list_struct -mDoPrintf_vprintf__FPCcP16__va_list_struct: -/* 80006984 000038C4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80006988 000038C8 7C 08 02 A6 */ mflr r0 -/* 8000698C 000038CC 90 01 00 24 */ stw r0, 0x24(r1) -/* 80006990 000038D0 39 61 00 20 */ addi r11, r1, 0x20 -/* 80006994 000038D4 48 35 B8 49 */ bl _savegpr_29 -/* 80006998 000038D8 7C 7D 1B 78 */ mr r29, r3 -/* 8000699C 000038DC 7C 9E 23 78 */ mr r30, r4 -/* 800069A0 000038E0 48 00 E3 C5 */ bl mDoExt_GetCurrentRunningThread -/* 800069A4 000038E4 7C 7F 1B 79 */ or. r31, r3, r3 -/* 800069A8 000038E8 40 82 00 14 */ bne lbl_800069BC -/* 800069AC 000038EC 7F A3 EB 78 */ mr r3, r29 -/* 800069B0 000038F0 7F C4 F3 78 */ mr r4, r30 -/* 800069B4 000038F4 4B FF FF 29 */ bl mDoPrintf_vprintf_Interrupt__FPCcP16__va_list_struct -/* 800069B8 000038F8 48 00 00 40 */ b lbl_800069F8 -lbl_800069BC: -/* 800069BC 000038FC 48 33 56 3D */ bl OSGetStackPointer -/* 800069C0 00003900 80 9F 03 08 */ lwz r4, 0x308(r31) -/* 800069C4 00003904 38 04 0A 00 */ addi r0, r4, 0xa00 -/* 800069C8 00003908 7C 03 00 40 */ cmplw r3, r0 -/* 800069CC 0000390C 41 80 00 10 */ blt lbl_800069DC -/* 800069D0 00003910 80 1F 03 04 */ lwz r0, 0x304(r31) -/* 800069D4 00003914 7C 03 00 40 */ cmplw r3, r0 -/* 800069D8 00003918 40 81 00 14 */ ble lbl_800069EC -lbl_800069DC: -/* 800069DC 0000391C 7F A3 EB 78 */ mr r3, r29 -/* 800069E0 00003920 7F C4 F3 78 */ mr r4, r30 -/* 800069E4 00003924 4B FF FE F9 */ bl mDoPrintf_vprintf_Interrupt__FPCcP16__va_list_struct -/* 800069E8 00003928 48 00 00 10 */ b lbl_800069F8 -lbl_800069EC: -/* 800069EC 0000392C 7F A3 EB 78 */ mr r3, r29 -/* 800069F0 00003930 7F C4 F3 78 */ mr r4, r30 -/* 800069F4 00003934 4B FF FF 71 */ bl mDoPrintf_vprintf_Thread__FPCcP16__va_list_struct -lbl_800069F8: -/* 800069F8 00003938 39 61 00 20 */ addi r11, r1, 0x20 -/* 800069FC 0000393C 48 35 B8 2D */ bl _restgpr_29 -/* 80006A00 00003940 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80006A04 00003944 7C 08 03 A6 */ mtlr r0 -/* 80006A08 00003948 38 21 00 20 */ addi r1, r1, 0x20 -/* 80006A0C 0000394C 4E 80 00 20 */ blr - -.global mDoPrintf_VReport -mDoPrintf_VReport: -/* 80006A10 00003950 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80006A14 00003954 7C 08 02 A6 */ mflr r0 -/* 80006A18 00003958 90 01 00 14 */ stw r0, 0x14(r1) -/* 80006A1C 0000395C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80006A20 00003960 93 C1 00 08 */ stw r30, 8(r1) -/* 80006A24 00003964 7C 7E 1B 78 */ mr r30, r3 -/* 80006A28 00003968 7C 9F 23 78 */ mr r31, r4 -/* 80006A2C 0000396C 88 0D 86 34 */ lbz r0, lbl_80450BB4-_SDA_BASE_(r13) -/* 80006A30 00003970 28 00 00 00 */ cmplwi r0, 0 -/* 80006A34 00003974 40 82 00 08 */ bne lbl_80006A3C -/* 80006A38 00003978 4B FF FE 8D */ bl OSReportInit -lbl_80006A3C: -/* 80006A3C 0000397C 88 0D 86 1C */ lbz r0, lbl_80450B9C-_SDA_BASE_(r13) -/* 80006A40 00003980 28 00 00 00 */ cmplwi r0, 0 -/* 80006A44 00003984 40 82 00 10 */ bne lbl_80006A54 -/* 80006A48 00003988 88 0D 86 18 */ lbz r0, lbl_80450B98-_SDA_BASE_(r13) -/* 80006A4C 0000398C 28 00 00 00 */ cmplwi r0, 0 -/* 80006A50 00003990 40 82 00 34 */ bne lbl_80006A84 -lbl_80006A54: -/* 80006A54 00003994 48 00 E3 11 */ bl mDoExt_GetCurrentRunningThread -/* 80006A58 00003998 80 0D 86 20 */ lwz r0, lbl_80450BA0-_SDA_BASE_(r13) -/* 80006A5C 0000399C 28 00 00 00 */ cmplwi r0, 0 -/* 80006A60 000039A0 41 82 00 0C */ beq lbl_80006A6C -/* 80006A64 000039A4 7C 00 18 40 */ cmplw r0, r3 -/* 80006A68 000039A8 40 82 00 1C */ bne lbl_80006A84 -lbl_80006A6C: -/* 80006A6C 000039AC 7F C3 F3 78 */ mr r3, r30 -/* 80006A70 000039B0 7F E4 FB 78 */ mr r4, r31 -/* 80006A74 000039B4 4B FF FF 11 */ bl mDoPrintf_vprintf__FPCcP16__va_list_struct -/* 80006A78 000039B8 80 6D 86 24 */ lwz r3, lbl_80450BA4-_SDA_BASE_(r13) -/* 80006A7C 000039BC 38 03 00 01 */ addi r0, r3, 1 -/* 80006A80 000039C0 90 0D 86 24 */ stw r0, lbl_80450BA4-_SDA_BASE_(r13) -lbl_80006A84: -/* 80006A84 000039C4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80006A88 000039C8 83 C1 00 08 */ lwz r30, 8(r1) -/* 80006A8C 000039CC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80006A90 000039D0 7C 08 03 A6 */ mtlr r0 -/* 80006A94 000039D4 38 21 00 10 */ addi r1, r1, 0x10 -/* 80006A98 000039D8 4E 80 00 20 */ blr - -.global OSVReport -OSVReport: -/* 80006A9C 000039DC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80006AA0 000039E0 7C 08 02 A6 */ mflr r0 -/* 80006AA4 000039E4 90 01 00 14 */ stw r0, 0x14(r1) -/* 80006AA8 000039E8 4B FF FF 69 */ bl mDoPrintf_VReport -/* 80006AAC 000039EC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80006AB0 000039F0 7C 08 03 A6 */ mtlr r0 -/* 80006AB4 000039F4 38 21 00 10 */ addi r1, r1, 0x10 -/* 80006AB8 000039F8 4E 80 00 20 */ blr - -.global OSReport -OSReport: -/* 80006ABC 000039FC 94 21 FF 80 */ stwu r1, -0x80(r1) -/* 80006AC0 00003A00 7C 08 02 A6 */ mflr r0 -/* 80006AC4 00003A04 90 01 00 84 */ stw r0, 0x84(r1) -/* 80006AC8 00003A08 40 86 00 24 */ bne cr1, lbl_80006AEC -/* 80006ACC 00003A0C D8 21 00 28 */ stfd f1, 0x28(r1) -/* 80006AD0 00003A10 D8 41 00 30 */ stfd f2, 0x30(r1) -/* 80006AD4 00003A14 D8 61 00 38 */ stfd f3, 0x38(r1) -/* 80006AD8 00003A18 D8 81 00 40 */ stfd f4, 0x40(r1) -/* 80006ADC 00003A1C D8 A1 00 48 */ stfd f5, 0x48(r1) -/* 80006AE0 00003A20 D8 C1 00 50 */ stfd f6, 0x50(r1) -/* 80006AE4 00003A24 D8 E1 00 58 */ stfd f7, 0x58(r1) -/* 80006AE8 00003A28 D9 01 00 60 */ stfd f8, 0x60(r1) -lbl_80006AEC: -/* 80006AEC 00003A2C 90 61 00 08 */ stw r3, 8(r1) -/* 80006AF0 00003A30 90 81 00 0C */ stw r4, 0xc(r1) -/* 80006AF4 00003A34 90 A1 00 10 */ stw r5, 0x10(r1) -/* 80006AF8 00003A38 90 C1 00 14 */ stw r6, 0x14(r1) -/* 80006AFC 00003A3C 90 E1 00 18 */ stw r7, 0x18(r1) -/* 80006B00 00003A40 91 01 00 1C */ stw r8, 0x1c(r1) -/* 80006B04 00003A44 91 21 00 20 */ stw r9, 0x20(r1) -/* 80006B08 00003A48 91 41 00 24 */ stw r10, 0x24(r1) -/* 80006B0C 00003A4C 38 81 00 68 */ addi r4, r1, 0x68 -/* 80006B10 00003A50 3C 00 01 00 */ lis r0, 0x100 -/* 80006B14 00003A54 90 01 00 68 */ stw r0, 0x68(r1) -/* 80006B18 00003A58 38 01 00 88 */ addi r0, r1, 0x88 -/* 80006B1C 00003A5C 90 01 00 6C */ stw r0, 0x6c(r1) -/* 80006B20 00003A60 38 01 00 08 */ addi r0, r1, 8 -/* 80006B24 00003A64 90 01 00 70 */ stw r0, 0x70(r1) -/* 80006B28 00003A68 4B FF FF 75 */ bl OSVReport -/* 80006B2C 00003A6C 80 01 00 84 */ lwz r0, 0x84(r1) -/* 80006B30 00003A70 7C 08 03 A6 */ mtlr r0 -/* 80006B34 00003A74 38 21 00 80 */ addi r1, r1, 0x80 -/* 80006B38 00003A78 4E 80 00 20 */ blr - -.global OSReport_FatalError -OSReport_FatalError: -/* 80006B3C 00003A7C 94 21 FF 80 */ stwu r1, -0x80(r1) -/* 80006B40 00003A80 7C 08 02 A6 */ mflr r0 -/* 80006B44 00003A84 90 01 00 84 */ stw r0, 0x84(r1) -/* 80006B48 00003A88 93 E1 00 7C */ stw r31, 0x7c(r1) -/* 80006B4C 00003A8C 7C 7F 1B 78 */ mr r31, r3 -/* 80006B50 00003A90 40 86 00 24 */ bne cr1, lbl_80006B74 -/* 80006B54 00003A94 D8 21 00 28 */ stfd f1, 0x28(r1) -/* 80006B58 00003A98 D8 41 00 30 */ stfd f2, 0x30(r1) -/* 80006B5C 00003A9C D8 61 00 38 */ stfd f3, 0x38(r1) -/* 80006B60 00003AA0 D8 81 00 40 */ stfd f4, 0x40(r1) -/* 80006B64 00003AA4 D8 A1 00 48 */ stfd f5, 0x48(r1) -/* 80006B68 00003AA8 D8 C1 00 50 */ stfd f6, 0x50(r1) -/* 80006B6C 00003AAC D8 E1 00 58 */ stfd f7, 0x58(r1) -/* 80006B70 00003AB0 D9 01 00 60 */ stfd f8, 0x60(r1) -lbl_80006B74: -/* 80006B74 00003AB4 90 61 00 08 */ stw r3, 8(r1) -/* 80006B78 00003AB8 90 81 00 0C */ stw r4, 0xc(r1) -/* 80006B7C 00003ABC 90 A1 00 10 */ stw r5, 0x10(r1) -/* 80006B80 00003AC0 90 C1 00 14 */ stw r6, 0x14(r1) -/* 80006B84 00003AC4 90 E1 00 18 */ stw r7, 0x18(r1) -/* 80006B88 00003AC8 91 01 00 1C */ stw r8, 0x1c(r1) -/* 80006B8C 00003ACC 91 21 00 20 */ stw r9, 0x20(r1) -/* 80006B90 00003AD0 91 41 00 24 */ stw r10, 0x24(r1) -/* 80006B94 00003AD4 3C 00 01 00 */ lis r0, 0x100 -/* 80006B98 00003AD8 90 01 00 68 */ stw r0, 0x68(r1) -/* 80006B9C 00003ADC 38 01 00 88 */ addi r0, r1, 0x88 -/* 80006BA0 00003AE0 90 01 00 6C */ stw r0, 0x6c(r1) -/* 80006BA4 00003AE4 38 01 00 08 */ addi r0, r1, 8 -/* 80006BA8 00003AE8 90 01 00 70 */ stw r0, 0x70(r1) -/* 80006BAC 00003AEC 4B FF FD 01 */ bl OSReportForceEnableOn -/* 80006BB0 00003AF0 3C 60 80 37 */ lis r3, lbl_80373CB0@ha -/* 80006BB4 00003AF4 38 63 3C B0 */ addi r3, r3, lbl_80373CB0@l -/* 80006BB8 00003AF8 4B FF FC 11 */ bl my_PutString -/* 80006BBC 00003AFC 7F E3 FB 78 */ mr r3, r31 -/* 80006BC0 00003B00 38 81 00 68 */ addi r4, r1, 0x68 -/* 80006BC4 00003B04 4B FF FC 31 */ bl OSVAttention__FPCcP16__va_list_struct -/* 80006BC8 00003B08 3C 60 80 37 */ lis r3, lbl_80373CB0@ha -/* 80006BCC 00003B0C 38 63 3C B0 */ addi r3, r3, lbl_80373CB0@l -/* 80006BD0 00003B10 38 63 00 21 */ addi r3, r3, 0x21 -/* 80006BD4 00003B14 4B FF FB F5 */ bl my_PutString -/* 80006BD8 00003B18 4B FF FC E1 */ bl OSReportForceEnableOff -/* 80006BDC 00003B1C 3C 60 80 3D */ lis r3, lbl_803D29B0@ha -/* 80006BE0 00003B20 38 63 29 B0 */ addi r3, r3, lbl_803D29B0@l -/* 80006BE4 00003B24 38 63 00 50 */ addi r3, r3, 0x50 -/* 80006BE8 00003B28 48 35 EC D9 */ bl func_803658C0 -/* 80006BEC 00003B2C 80 6D 86 28 */ lwz r3, lbl_80450BA8-_SDA_BASE_(r13) -/* 80006BF0 00003B30 38 03 00 01 */ addi r0, r3, 1 -/* 80006BF4 00003B34 90 0D 86 28 */ stw r0, lbl_80450BA8-_SDA_BASE_(r13) -/* 80006BF8 00003B38 83 E1 00 7C */ lwz r31, 0x7c(r1) -/* 80006BFC 00003B3C 80 01 00 84 */ lwz r0, 0x84(r1) -/* 80006C00 00003B40 7C 08 03 A6 */ mtlr r0 -/* 80006C04 00003B44 38 21 00 80 */ addi r1, r1, 0x80 -/* 80006C08 00003B48 4E 80 00 20 */ blr - -.global OSReport_Error -OSReport_Error: -/* 80006C0C 00003B4C 94 21 FF 80 */ stwu r1, -0x80(r1) -/* 80006C10 00003B50 7C 08 02 A6 */ mflr r0 -/* 80006C14 00003B54 90 01 00 84 */ stw r0, 0x84(r1) -/* 80006C18 00003B58 93 E1 00 7C */ stw r31, 0x7c(r1) -/* 80006C1C 00003B5C 7C 7F 1B 78 */ mr r31, r3 -/* 80006C20 00003B60 40 86 00 24 */ bne cr1, lbl_80006C44 -/* 80006C24 00003B64 D8 21 00 28 */ stfd f1, 0x28(r1) -/* 80006C28 00003B68 D8 41 00 30 */ stfd f2, 0x30(r1) -/* 80006C2C 00003B6C D8 61 00 38 */ stfd f3, 0x38(r1) -/* 80006C30 00003B70 D8 81 00 40 */ stfd f4, 0x40(r1) -/* 80006C34 00003B74 D8 A1 00 48 */ stfd f5, 0x48(r1) -/* 80006C38 00003B78 D8 C1 00 50 */ stfd f6, 0x50(r1) -/* 80006C3C 00003B7C D8 E1 00 58 */ stfd f7, 0x58(r1) -/* 80006C40 00003B80 D9 01 00 60 */ stfd f8, 0x60(r1) -lbl_80006C44: -/* 80006C44 00003B84 90 61 00 08 */ stw r3, 8(r1) -/* 80006C48 00003B88 90 81 00 0C */ stw r4, 0xc(r1) -/* 80006C4C 00003B8C 90 A1 00 10 */ stw r5, 0x10(r1) -/* 80006C50 00003B90 90 C1 00 14 */ stw r6, 0x14(r1) -/* 80006C54 00003B94 90 E1 00 18 */ stw r7, 0x18(r1) -/* 80006C58 00003B98 91 01 00 1C */ stw r8, 0x1c(r1) -/* 80006C5C 00003B9C 91 21 00 20 */ stw r9, 0x20(r1) -/* 80006C60 00003BA0 91 41 00 24 */ stw r10, 0x24(r1) -/* 80006C64 00003BA4 80 6D 86 28 */ lwz r3, lbl_80450BA8-_SDA_BASE_(r13) -/* 80006C68 00003BA8 38 03 00 01 */ addi r0, r3, 1 -/* 80006C6C 00003BAC 90 0D 86 28 */ stw r0, lbl_80450BA8-_SDA_BASE_(r13) -/* 80006C70 00003BB0 88 0D 86 19 */ lbz r0, lbl_80450B99-_SDA_BASE_(r13) -/* 80006C74 00003BB4 28 00 00 00 */ cmplwi r0, 0 -/* 80006C78 00003BB8 40 82 00 60 */ bne lbl_80006CD8 -/* 80006C7C 00003BBC 3C 00 01 00 */ lis r0, 0x100 -/* 80006C80 00003BC0 90 01 00 68 */ stw r0, 0x68(r1) -/* 80006C84 00003BC4 38 01 00 88 */ addi r0, r1, 0x88 -/* 80006C88 00003BC8 90 01 00 6C */ stw r0, 0x6c(r1) -/* 80006C8C 00003BCC 38 01 00 08 */ addi r0, r1, 8 -/* 80006C90 00003BD0 90 01 00 70 */ stw r0, 0x70(r1) -/* 80006C94 00003BD4 4B FF FC 19 */ bl OSReportForceEnableOn -/* 80006C98 00003BD8 3C 60 80 37 */ lis r3, lbl_80373CB0@ha -/* 80006C9C 00003BDC 38 63 3C B0 */ addi r3, r3, lbl_80373CB0@l -/* 80006CA0 00003BE0 38 63 00 3D */ addi r3, r3, 0x3d -/* 80006CA4 00003BE4 4B FF FB 25 */ bl my_PutString -/* 80006CA8 00003BE8 7F E3 FB 78 */ mr r3, r31 -/* 80006CAC 00003BEC 38 81 00 68 */ addi r4, r1, 0x68 -/* 80006CB0 00003BF0 4B FF FD ED */ bl OSVReport -/* 80006CB4 00003BF4 3C 60 80 37 */ lis r3, lbl_80373CB0@ha -/* 80006CB8 00003BF8 38 63 3C B0 */ addi r3, r3, lbl_80373CB0@l -/* 80006CBC 00003BFC 38 63 00 4D */ addi r3, r3, 0x4d -/* 80006CC0 00003C00 4B FF FB 09 */ bl my_PutString -/* 80006CC4 00003C04 4B FF FB F5 */ bl OSReportForceEnableOff -/* 80006CC8 00003C08 3C 60 80 3D */ lis r3, lbl_803D29B0@ha -/* 80006CCC 00003C0C 38 63 29 B0 */ addi r3, r3, lbl_803D29B0@l -/* 80006CD0 00003C10 38 63 00 50 */ addi r3, r3, 0x50 -/* 80006CD4 00003C14 48 35 EB ED */ bl func_803658C0 -lbl_80006CD8: -/* 80006CD8 00003C18 83 E1 00 7C */ lwz r31, 0x7c(r1) -/* 80006CDC 00003C1C 80 01 00 84 */ lwz r0, 0x84(r1) -/* 80006CE0 00003C20 7C 08 03 A6 */ mtlr r0 -/* 80006CE4 00003C24 38 21 00 80 */ addi r1, r1, 0x80 -/* 80006CE8 00003C28 4E 80 00 20 */ blr - -.global OSReport_Warning -OSReport_Warning: -/* 80006CEC 00003C2C 94 21 FF 80 */ stwu r1, -0x80(r1) -/* 80006CF0 00003C30 7C 08 02 A6 */ mflr r0 -/* 80006CF4 00003C34 90 01 00 84 */ stw r0, 0x84(r1) -/* 80006CF8 00003C38 93 E1 00 7C */ stw r31, 0x7c(r1) -/* 80006CFC 00003C3C 7C 7F 1B 78 */ mr r31, r3 -/* 80006D00 00003C40 40 86 00 24 */ bne cr1, lbl_80006D24 -/* 80006D04 00003C44 D8 21 00 28 */ stfd f1, 0x28(r1) -/* 80006D08 00003C48 D8 41 00 30 */ stfd f2, 0x30(r1) -/* 80006D0C 00003C4C D8 61 00 38 */ stfd f3, 0x38(r1) -/* 80006D10 00003C50 D8 81 00 40 */ stfd f4, 0x40(r1) -/* 80006D14 00003C54 D8 A1 00 48 */ stfd f5, 0x48(r1) -/* 80006D18 00003C58 D8 C1 00 50 */ stfd f6, 0x50(r1) -/* 80006D1C 00003C5C D8 E1 00 58 */ stfd f7, 0x58(r1) -/* 80006D20 00003C60 D9 01 00 60 */ stfd f8, 0x60(r1) -lbl_80006D24: -/* 80006D24 00003C64 90 61 00 08 */ stw r3, 8(r1) -/* 80006D28 00003C68 90 81 00 0C */ stw r4, 0xc(r1) -/* 80006D2C 00003C6C 90 A1 00 10 */ stw r5, 0x10(r1) -/* 80006D30 00003C70 90 C1 00 14 */ stw r6, 0x14(r1) -/* 80006D34 00003C74 90 E1 00 18 */ stw r7, 0x18(r1) -/* 80006D38 00003C78 91 01 00 1C */ stw r8, 0x1c(r1) -/* 80006D3C 00003C7C 91 21 00 20 */ stw r9, 0x20(r1) -/* 80006D40 00003C80 91 41 00 24 */ stw r10, 0x24(r1) -/* 80006D44 00003C84 80 6D 86 2C */ lwz r3, lbl_80450BAC-_SDA_BASE_(r13) -/* 80006D48 00003C88 38 03 00 01 */ addi r0, r3, 1 -/* 80006D4C 00003C8C 90 0D 86 2C */ stw r0, lbl_80450BAC-_SDA_BASE_(r13) -/* 80006D50 00003C90 88 0D 86 1A */ lbz r0, lbl_80450B9A-_SDA_BASE_(r13) -/* 80006D54 00003C94 28 00 00 00 */ cmplwi r0, 0 -/* 80006D58 00003C98 40 82 00 60 */ bne lbl_80006DB8 -/* 80006D5C 00003C9C 3C 00 01 00 */ lis r0, 0x100 -/* 80006D60 00003CA0 90 01 00 68 */ stw r0, 0x68(r1) -/* 80006D64 00003CA4 38 01 00 88 */ addi r0, r1, 0x88 -/* 80006D68 00003CA8 90 01 00 6C */ stw r0, 0x6c(r1) -/* 80006D6C 00003CAC 38 01 00 08 */ addi r0, r1, 8 -/* 80006D70 00003CB0 90 01 00 70 */ stw r0, 0x70(r1) -/* 80006D74 00003CB4 4B FF FB 39 */ bl OSReportForceEnableOn -/* 80006D78 00003CB8 3C 60 80 37 */ lis r3, lbl_80373CB0@ha -/* 80006D7C 00003CBC 38 63 3C B0 */ addi r3, r3, lbl_80373CB0@l -/* 80006D80 00003CC0 38 63 00 51 */ addi r3, r3, 0x51 -/* 80006D84 00003CC4 4B FF FA 45 */ bl my_PutString -/* 80006D88 00003CC8 7F E3 FB 78 */ mr r3, r31 -/* 80006D8C 00003CCC 38 81 00 68 */ addi r4, r1, 0x68 -/* 80006D90 00003CD0 4B FF FA 65 */ bl OSVAttention__FPCcP16__va_list_struct -/* 80006D94 00003CD4 3C 60 80 37 */ lis r3, lbl_80373CB0@ha -/* 80006D98 00003CD8 38 63 3C B0 */ addi r3, r3, lbl_80373CB0@l -/* 80006D9C 00003CDC 38 63 00 4D */ addi r3, r3, 0x4d -/* 80006DA0 00003CE0 4B FF FA 29 */ bl my_PutString -/* 80006DA4 00003CE4 4B FF FB 15 */ bl OSReportForceEnableOff -/* 80006DA8 00003CE8 3C 60 80 3D */ lis r3, lbl_803D29B0@ha -/* 80006DAC 00003CEC 38 63 29 B0 */ addi r3, r3, lbl_803D29B0@l -/* 80006DB0 00003CF0 38 63 00 50 */ addi r3, r3, 0x50 -/* 80006DB4 00003CF4 48 35 EB 0D */ bl func_803658C0 -lbl_80006DB8: -/* 80006DB8 00003CF8 83 E1 00 7C */ lwz r31, 0x7c(r1) -/* 80006DBC 00003CFC 80 01 00 84 */ lwz r0, 0x84(r1) -/* 80006DC0 00003D00 7C 08 03 A6 */ mtlr r0 -/* 80006DC4 00003D04 38 21 00 80 */ addi r1, r1, 0x80 -/* 80006DC8 00003D08 4E 80 00 20 */ blr - -.global OSReport_System -OSReport_System: -/* 80006DCC 00003D0C 94 21 FF 80 */ stwu r1, -0x80(r1) -/* 80006DD0 00003D10 7C 08 02 A6 */ mflr r0 -/* 80006DD4 00003D14 90 01 00 84 */ stw r0, 0x84(r1) -/* 80006DD8 00003D18 93 E1 00 7C */ stw r31, 0x7c(r1) -/* 80006DDC 00003D1C 7C 7F 1B 78 */ mr r31, r3 -/* 80006DE0 00003D20 40 86 00 24 */ bne cr1, lbl_80006E04 -/* 80006DE4 00003D24 D8 21 00 28 */ stfd f1, 0x28(r1) -/* 80006DE8 00003D28 D8 41 00 30 */ stfd f2, 0x30(r1) -/* 80006DEC 00003D2C D8 61 00 38 */ stfd f3, 0x38(r1) -/* 80006DF0 00003D30 D8 81 00 40 */ stfd f4, 0x40(r1) -/* 80006DF4 00003D34 D8 A1 00 48 */ stfd f5, 0x48(r1) -/* 80006DF8 00003D38 D8 C1 00 50 */ stfd f6, 0x50(r1) -/* 80006DFC 00003D3C D8 E1 00 58 */ stfd f7, 0x58(r1) -/* 80006E00 00003D40 D9 01 00 60 */ stfd f8, 0x60(r1) -lbl_80006E04: -/* 80006E04 00003D44 90 61 00 08 */ stw r3, 8(r1) -/* 80006E08 00003D48 90 81 00 0C */ stw r4, 0xc(r1) -/* 80006E0C 00003D4C 90 A1 00 10 */ stw r5, 0x10(r1) -/* 80006E10 00003D50 90 C1 00 14 */ stw r6, 0x14(r1) -/* 80006E14 00003D54 90 E1 00 18 */ stw r7, 0x18(r1) -/* 80006E18 00003D58 91 01 00 1C */ stw r8, 0x1c(r1) -/* 80006E1C 00003D5C 91 21 00 20 */ stw r9, 0x20(r1) -/* 80006E20 00003D60 91 41 00 24 */ stw r10, 0x24(r1) -/* 80006E24 00003D64 80 6D 86 30 */ lwz r3, lbl_80450BB0-_SDA_BASE_(r13) -/* 80006E28 00003D68 38 03 00 01 */ addi r0, r3, 1 -/* 80006E2C 00003D6C 90 0D 86 30 */ stw r0, lbl_80450BB0-_SDA_BASE_(r13) -/* 80006E30 00003D70 88 0D 86 1B */ lbz r0, lbl_80450B9B-_SDA_BASE_(r13) -/* 80006E34 00003D74 28 00 00 00 */ cmplwi r0, 0 -/* 80006E38 00003D78 40 82 00 30 */ bne lbl_80006E68 -/* 80006E3C 00003D7C 3C 00 01 00 */ lis r0, 0x100 -/* 80006E40 00003D80 90 01 00 68 */ stw r0, 0x68(r1) -/* 80006E44 00003D84 38 01 00 88 */ addi r0, r1, 0x88 -/* 80006E48 00003D88 90 01 00 6C */ stw r0, 0x6c(r1) -/* 80006E4C 00003D8C 38 01 00 08 */ addi r0, r1, 8 -/* 80006E50 00003D90 90 01 00 70 */ stw r0, 0x70(r1) -/* 80006E54 00003D94 4B FF FA 59 */ bl OSReportForceEnableOn -/* 80006E58 00003D98 7F E3 FB 78 */ mr r3, r31 -/* 80006E5C 00003D9C 38 81 00 68 */ addi r4, r1, 0x68 -/* 80006E60 00003DA0 4B FF F9 95 */ bl OSVAttention__FPCcP16__va_list_struct -/* 80006E64 00003DA4 4B FF FA 55 */ bl OSReportForceEnableOff -lbl_80006E68: -/* 80006E68 00003DA8 83 E1 00 7C */ lwz r31, 0x7c(r1) -/* 80006E6C 00003DAC 80 01 00 84 */ lwz r0, 0x84(r1) -/* 80006E70 00003DB0 7C 08 03 A6 */ mtlr r0 -/* 80006E74 00003DB4 38 21 00 80 */ addi r1, r1, 0x80 -/* 80006E78 00003DB8 4E 80 00 20 */ blr - -.global OSPanic -OSPanic: -/* 80006E7C 00003DBC 94 21 FF 70 */ stwu r1, -0x90(r1) -/* 80006E80 00003DC0 7C 08 02 A6 */ mflr r0 -/* 80006E84 00003DC4 90 01 00 94 */ stw r0, 0x94(r1) -/* 80006E88 00003DC8 39 61 00 90 */ addi r11, r1, 0x90 -/* 80006E8C 00003DCC 48 35 B3 51 */ bl _savegpr_29 -/* 80006E90 00003DD0 7C 7F 1B 78 */ mr r31, r3 -/* 80006E94 00003DD4 7C 9E 23 78 */ mr r30, r4 -/* 80006E98 00003DD8 7C BD 2B 78 */ mr r29, r5 -/* 80006E9C 00003DDC 40 86 00 24 */ bne cr1, lbl_80006EC0 -/* 80006EA0 00003DE0 D8 21 00 28 */ stfd f1, 0x28(r1) -/* 80006EA4 00003DE4 D8 41 00 30 */ stfd f2, 0x30(r1) -/* 80006EA8 00003DE8 D8 61 00 38 */ stfd f3, 0x38(r1) -/* 80006EAC 00003DEC D8 81 00 40 */ stfd f4, 0x40(r1) -/* 80006EB0 00003DF0 D8 A1 00 48 */ stfd f5, 0x48(r1) -/* 80006EB4 00003DF4 D8 C1 00 50 */ stfd f6, 0x50(r1) -/* 80006EB8 00003DF8 D8 E1 00 58 */ stfd f7, 0x58(r1) -/* 80006EBC 00003DFC D9 01 00 60 */ stfd f8, 0x60(r1) -lbl_80006EC0: -/* 80006EC0 00003E00 90 61 00 08 */ stw r3, 8(r1) -/* 80006EC4 00003E04 90 81 00 0C */ stw r4, 0xc(r1) -/* 80006EC8 00003E08 90 A1 00 10 */ stw r5, 0x10(r1) -/* 80006ECC 00003E0C 90 C1 00 14 */ stw r6, 0x14(r1) -/* 80006ED0 00003E10 90 E1 00 18 */ stw r7, 0x18(r1) -/* 80006ED4 00003E14 91 01 00 1C */ stw r8, 0x1c(r1) -/* 80006ED8 00003E18 91 21 00 20 */ stw r9, 0x20(r1) -/* 80006EDC 00003E1C 91 41 00 24 */ stw r10, 0x24(r1) -/* 80006EE0 00003E20 48 33 68 15 */ bl __RAS_OSDisableInterrupts_begin -/* 80006EE4 00003E24 38 81 00 68 */ addi r4, r1, 0x68 -/* 80006EE8 00003E28 3C 00 03 00 */ lis r0, 0x300 -/* 80006EEC 00003E2C 90 01 00 68 */ stw r0, 0x68(r1) -/* 80006EF0 00003E30 38 01 00 98 */ addi r0, r1, 0x98 -/* 80006EF4 00003E34 90 01 00 6C */ stw r0, 0x6c(r1) -/* 80006EF8 00003E38 38 01 00 08 */ addi r0, r1, 8 -/* 80006EFC 00003E3C 90 01 00 70 */ stw r0, 0x70(r1) -/* 80006F00 00003E40 7F A3 EB 78 */ mr r3, r29 -/* 80006F04 00003E44 4B FF FA 81 */ bl mDoPrintf_vprintf__FPCcP16__va_list_struct -/* 80006F08 00003E48 3C 60 80 37 */ lis r3, lbl_80373CB0@ha -/* 80006F0C 00003E4C 38 63 3C B0 */ addi r3, r3, lbl_80373CB0@l -/* 80006F10 00003E50 38 63 00 60 */ addi r3, r3, 0x60 -/* 80006F14 00003E54 7F E4 FB 78 */ mr r4, r31 -/* 80006F18 00003E58 7F C5 F3 78 */ mr r5, r30 -/* 80006F1C 00003E5C 4C C6 31 82 */ crclr 6 -/* 80006F20 00003E60 4B FF F8 F5 */ bl OSAttention -/* 80006F24 00003E64 3C 60 80 37 */ lis r3, lbl_80373CB0@ha -/* 80006F28 00003E68 38 63 3C B0 */ addi r3, r3, lbl_80373CB0@l -/* 80006F2C 00003E6C 38 63 00 76 */ addi r3, r3, 0x76 -/* 80006F30 00003E70 4C C6 31 82 */ crclr 6 -/* 80006F34 00003E74 4B FF F8 E1 */ bl OSAttention -/* 80006F38 00003E78 3B C0 00 00 */ li r30, 0 -/* 80006F3C 00003E7C 48 33 50 BD */ bl OSGetStackPointer -/* 80006F40 00003E80 7C 7D 1B 78 */ mr r29, r3 -/* 80006F44 00003E84 3C 60 80 37 */ lis r3, lbl_80373CB0@ha -/* 80006F48 00003E88 3B E3 3C B0 */ addi r31, r3, lbl_80373CB0@l -/* 80006F4C 00003E8C 48 00 00 20 */ b lbl_80006F6C -lbl_80006F50: -/* 80006F50 00003E90 38 7F 00 9C */ addi r3, r31, 0x9c -/* 80006F54 00003E94 7F A4 EB 78 */ mr r4, r29 -/* 80006F58 00003E98 80 BD 00 00 */ lwz r5, 0(r29) -/* 80006F5C 00003E9C 80 DD 00 04 */ lwz r6, 4(r29) -/* 80006F60 00003EA0 4C C6 31 82 */ crclr 6 -/* 80006F64 00003EA4 4B FF F8 B1 */ bl OSAttention -/* 80006F68 00003EA8 83 BD 00 00 */ lwz r29, 0(r29) -lbl_80006F6C: -/* 80006F6C 00003EAC 28 1D 00 00 */ cmplwi r29, 0 -/* 80006F70 00003EB0 41 82 00 1C */ beq lbl_80006F8C -/* 80006F74 00003EB4 3C 1D 00 01 */ addis r0, r29, 1 -/* 80006F78 00003EB8 28 00 FF FF */ cmplwi r0, 0xffff -/* 80006F7C 00003EBC 41 82 00 10 */ beq lbl_80006F8C -/* 80006F80 00003EC0 28 1E 00 10 */ cmplwi r30, 0x10 -/* 80006F84 00003EC4 3B DE 00 01 */ addi r30, r30, 1 -/* 80006F88 00003EC8 41 80 FF C8 */ blt lbl_80006F50 -lbl_80006F8C: -/* 80006F8C 00003ECC 3C 60 01 23 */ lis r3, 0x01234567@ha -/* 80006F90 00003ED0 38 03 45 67 */ addi r0, r3, 0x01234567@l -/* 80006F94 00003ED4 90 03 45 67 */ stw r0, 0x4567(r3) -/* 80006F98 00003ED8 48 33 2D 69 */ bl PPCHalt -/* 80006F9C 00003EDC 39 61 00 90 */ addi r11, r1, 0x90 -/* 80006FA0 00003EE0 48 35 B2 89 */ bl _restgpr_29 -/* 80006FA4 00003EE4 80 01 00 94 */ lwz r0, 0x94(r1) -/* 80006FA8 00003EE8 7C 08 03 A6 */ mtlr r0 -/* 80006FAC 00003EEC 38 21 00 90 */ addi r1, r1, 0x90 -/* 80006FB0 00003EF0 4E 80 00 20 */ blr - diff --git a/include/JSystem/JUtility/JUTTexture.h b/include/JSystem/JUtility/JUTTexture.h index 71ff5905528..9b763874f79 100644 --- a/include/JSystem/JUtility/JUTTexture.h +++ b/include/JSystem/JUtility/JUTTexture.h @@ -1,6 +1,32 @@ #ifndef JSYSTEM_JUTILITY_TEXTURE_H #define JSYSTEM_JUTILITY_TEXTURE_H +#include "global.h" -struct ResTIMG {}; +struct ResTIMG { /* Acts as the header to image data. Usually texture data immediately follows it, + so any pointer arithmetic to go past the end of this structure is so that a + variable sized allocated buffer can be accessed. */ + u8 texture_format; + bool is_alpha_enabled; + u16 texture_width; + u16 texture_height; + u8 wrap_s; + u8 wrap_t; + bool is_palettes_enabled; + u8 palette_format; + u16 palette_count; + u32 palette_offset; + bool is_mip_map_enabled; + bool do_edge_lod; + bool bias_clamp; + u8 max_anisotropy; + u8 min_filter; + u8 mag_filter; + u8 min_lod; + u8 max_lod; + u8 num_mipmaps; + u8 unknown; + u16 lod_bias; + u32 texture_data_offset; +}; #endif // JSYSTEM_JUTILITY_TEXTURE_H \ No newline at end of file diff --git a/include/SComponent/c_lib.h b/include/SComponent/c_lib.h index 459a12ad9e1..32bea17d900 100644 --- a/include/SComponent/c_lib.h +++ b/include/SComponent/c_lib.h @@ -38,4 +38,8 @@ void MtxPosition(cXyz*, cXyz*); void MtxPush(void); Mtx* MtxPull(void); +extern "C" { +int strcmp(const char*, const char*); +}; + #endif \ No newline at end of file diff --git a/include/SComponent/c_xyz.h b/include/SComponent/c_xyz.h index 1893872f891..f8c62769d96 100644 --- a/include/SComponent/c_xyz.h +++ b/include/SComponent/c_xyz.h @@ -18,7 +18,7 @@ extern u8 lbl_80430CE8; class cXyz : public Vec { public: - ~cXyz(){}; + ~cXyz() {} cXyz() {} cXyz(f32 x, f32 y, f32 z) { this->x = x; @@ -106,4 +106,8 @@ extern cXyz lbl_80430CF4; // SComponent::cXyz::Zero extern cXyz lbl_80430D0C; // SComponent::cXyz::BaseX extern cXyz lbl_80430D24; // SComponent::cXyz::BaseY +extern "C" { // needed for inline asm +void cXyz_NS_dtor(void); +} + #endif \ No newline at end of file diff --git a/include/Z2AudioLib/Z2EnvSeMgr/Z2EnvSeMgr.h b/include/Z2AudioLib/Z2EnvSeMgr/Z2EnvSeMgr.h index 398dd625b2a..8e2d0fb9ebf 100644 --- a/include/Z2AudioLib/Z2EnvSeMgr/Z2EnvSeMgr.h +++ b/include/Z2AudioLib/Z2EnvSeMgr/Z2EnvSeMgr.h @@ -1,9 +1,18 @@ #ifndef Z2ENVSEMGR_H_ #define Z2ENVSEMGR_H_ +#include "global.h" + +struct Z2EnvSeMgr { + Z2EnvSeMgr(); + void framework(); + u8 unk_1[0x30C]; +}; extern void* lbl_80450B3C; // Z2EnvSeMgr sInstance extern "C" { +void __ct__10Z2EnvSeMgrFv(void); +void framework__10Z2EnvSeMgrFv(void); void Z2EnvSeAutoPan(void); void Z2EnvSeAutoPan_NS_calcPan(void); void Z2EnvSeAutoPan_NS_dtor(void); diff --git a/include/d/d_a/d_a_player/d_a_player.h b/include/d/d_a/d_a_player/d_a_player.h index 8506e63c72d..e83a5d48c34 100644 --- a/include/d/d_a/d_a_player/d_a_player.h +++ b/include/d/d_a/d_a_player/d_a_player.h @@ -3,7 +3,6 @@ #include "SComponent/c_bg_s_poly_info.h" #include "SComponent/c_xyz.h" -#include "d/d_a/d_a_alink/d_a_alink.h" #include "f/f_op/f_op_actor.h" #include "global.h" @@ -187,6 +186,7 @@ public: int checkCopyRodTopUse(void); int checkCopyRodEquip(void) const; int checkCutJumpMode(void) const; + int getAtnActorID(void) const; // might not be int private: u8 unk[0x4e6]; diff --git a/include/d/d_camera/asm/func_80180D24.s b/include/d/d_camera/asm/func_80180D24.s index 728260ce267..4bbc8470af7 100644 --- a/include/d/d_camera/asm/func_80180D24.s +++ b/include/d/d_camera/asm/func_80180D24.s @@ -150,7 +150,7 @@ lbl_80180F40: /* 80180F58 0017DE98 D8 01 00 58 */ stfd f0, 0x58(r1) /* 80180F5C 0017DE9C 80 01 00 5C */ lwz r0, 0x5c(r1) /* 80180F60 0017DEA0 98 0D 86 65 */ stb r0, lbl_80450BE5-_SDA_BASE_(r13) -/* 80180F64 0017DEA4 4B E8 71 15 */ bl mDoGph_gInf_c_NS_onBlure +/* 80180F64 0017DEA4 4B E8 71 15 */ bl onBlure__13mDoGph_gInf_cFv /* 80180F68 0017DEA8 48 00 00 70 */ b lbl_80180FD8 lbl_80180F6C: /* 80180F6C 0017DEAC 38 61 00 1C */ addi r3, r1, 0x1c diff --git a/include/d/d_camera/asm/func_80181280.s b/include/d/d_camera/asm/func_80181280.s index 1084e5f89fd..c9556b37fb0 100644 --- a/include/d/d_camera/asm/func_80181280.s +++ b/include/d/d_camera/asm/func_80181280.s @@ -107,7 +107,7 @@ lbl_80181340: /* 80181424 0017E364 4B E8 B9 79 */ bl mDoMtx_stack_c_NS_transM /* 80181428 0017E368 3C 60 80 3E */ lis r3, lbl_803DD470@ha /* 8018142C 0017E36C 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l -/* 80181430 0017E370 4B E8 6C 71 */ bl mDoGph_gInf_c_NS_onBlure_X1_ +/* 80181430 0017E370 4B E8 6C 71 */ bl onBlure__13mDoGph_gInf_cFPA4_Cf /* 80181434 0017E374 C0 22 9F 18 */ lfs f1, lbl_80453918-_SDA2_BASE_(r2) /* 80181438 0017E378 C0 1F 07 30 */ lfs f0, 0x730(r31) /* 8018143C 0017E37C EC 01 00 32 */ fmuls f0, f1, f0 diff --git a/include/d/d_com/d_com_inf_game/d_com_inf_game.h b/include/d/d_com/d_com_inf_game/d_com_inf_game.h index e822d1d4d9c..97bb120e97e 100644 --- a/include/d/d_com/d_com_inf_game/d_com_inf_game.h +++ b/include/d/d_com/d_com_inf_game/d_com_inf_game.h @@ -144,8 +144,9 @@ public: void setMaxOxygen(long max) { give_item.max_oxygen = max; } u8 getDoStatus(void) { return mDoStatus; } u8 getRStatus(void) { return mRStatus; } + inline char* getStartStageName() { return mStartStage.getName(); } -private: +private: // NEEDS TO BE FIXED /* 0x00000 */ dBgS dbgs; /* 0x0143C */ u8 field_0x143c[0x2999]; /* 0x03EC8 */ dStage_startStage_c mStartStage; @@ -234,6 +235,7 @@ public: dSv_memory_c& getMemory() { return info.getMemory(); } dSv_event_c& getEvent() { return info.getEvent(); } dSv_info_c& getInfo() { return info; } + inline dDlst_list_c& getDrawlist() { return draw_list_list; } private: /* 0x00000 */ dSv_info_c info; @@ -479,6 +481,12 @@ inline void dComIfGp_setItem(u8 slot, u8 i_no) { inline u32 dComIfGp_getNowVibration(void) { return g_dComIfG_gameInfo.getPlay().getNowVibration(); } +inline char* dComIfGp_getStartStageName(void) { + return g_dComIfG_gameInfo.getPlay().getStartStageName(); +} +inline void dComIfGd_reset(void) { + g_dComIfG_gameInfo.getDrawlist().reset(); +} extern "C" { void dComIfGs_staffroll_next_go(void); diff --git a/include/d/d_drawlist/d_drawlist.h b/include/d/d_drawlist/d_drawlist.h index 96a9b3fe519..19a15fbb63f 100644 --- a/include/d/d_drawlist/d_drawlist.h +++ b/include/d/d_drawlist/d_drawlist.h @@ -21,6 +21,7 @@ class dDlst_peekZ_c { class dDlst_list_c { public: dDlst_list_c(void); + void reset(); static u32 mWipeColor; static u32 mWipeDlst; static u32 mWipeRate; diff --git a/include/d/d_kankyo/asm/func_801A5C1C.s b/include/d/d_kankyo/asm/func_801A5C1C.s index a356cba79c2..69b5c28be83 100644 --- a/include/d/d_kankyo/asm/func_801A5C1C.s +++ b/include/d/d_kankyo/asm/func_801A5C1C.s @@ -25,7 +25,7 @@ /* 801A5C7C 001A2BBC 41 82 00 10 */ beq lbl_801A5C8C /* 801A5C80 001A2BC0 3C 60 80 3E */ lis r3, lbl_803DD428@ha /* 801A5C84 001A2BC4 38 63 D4 28 */ addi r3, r3, lbl_803DD428@l -/* 801A5C88 001A2BC8 4B E6 38 BD */ bl mDoGph_gInf_c_NS_bloom_c_NS_create +/* 801A5C88 001A2BC8 4B E6 38 BD */ bl create__Q213mDoGph_gInf_c7bloom_cFv lbl_801A5C8C: /* 801A5C8C 001A2BCC 4B FF 90 0D */ bl envcolor_init /* 801A5C90 001A2BD0 38 00 00 00 */ li r0, 0 diff --git a/include/d/d_kankyo/asm/func_801ADCA4.s b/include/d/d_kankyo/asm/func_801ADCA4.s index 5792e9da98a..1368767ecb4 100644 --- a/include/d/d_kankyo/asm/func_801ADCA4.s +++ b/include/d/d_kankyo/asm/func_801ADCA4.s @@ -13,7 +13,7 @@ /* 801ADCCC 001AAC0C 38 BF 00 00 */ addi r5, r31, 0 /* 801ADCD0 001AAC10 48 1B 3F 55 */ bl func_80361C24 /* 801ADCD4 001AAC14 38 7F 13 28 */ addi r3, r31, 0x1328 -/* 801ADCD8 001AAC18 48 11 84 45 */ bl Z2EnvSeMgr +/* 801ADCD8 001AAC18 48 11 84 45 */ bl __ct__10Z2EnvSeMgrFv /*.global Z2EnvSeMgr_NS_dtor*/ /* 801ADCDC 001AAC1C 3C 80 80 2C */ lis r4, Z2EnvSeMgr_NS_dtor@ha /*.global Z2EnvSeMgr_NS_dtor*/ diff --git a/include/d/d_kankyo/d_kankyo.h b/include/d/d_kankyo/d_kankyo.h new file mode 100644 index 00000000000..cdca040931c --- /dev/null +++ b/include/d/d_kankyo/d_kankyo.h @@ -0,0 +1,27 @@ +#ifndef D_KANKYO_H_ +#define D_KANKYO_H_ +#include "Z2AudioLib/Z2EnvSeMgr/Z2EnvSeMgr.h" +#include "d/d_kankyo/d_kankyo_wether/d_kankyo_wether.h" + +class kankyo_class {}; + +extern Z2EnvSeMgr lbl_8042DD70; // g_mEnvSeMgr + +struct env_light { // Most likely not actual struct name + // u8 unk_1[0x131C]; + u8 unk_1[0xE48]; + f32 field_0xe48; + f32 field_0xe4c; + f32 field_0xe50; + u8 unk_2[0x4]; + f32 field_0xe58; + u8 unk_3[0x3E8]; + f32 field_0x1244; + u8 unk_4[0xD8]; +}; + +extern env_light lbl_8042CA54; // g_env_light + +void dKy_FiveSenses_fullthrottle_dark(); + +#endif \ No newline at end of file diff --git a/include/d/d_kankyo/d_kankyo_wether/d_kankyo_wether.h b/include/d/d_kankyo/d_kankyo_wether/d_kankyo_wether.h new file mode 100644 index 00000000000..0b745fac0e3 --- /dev/null +++ b/include/d/d_kankyo/d_kankyo_wether/d_kankyo_wether.h @@ -0,0 +1,14 @@ +#ifndef D_KANKYO_WETHER_H_ +#define D_KANKYO_WETHER_H_ + +void dKyw_wether_draw(void); +void dKyw_wether_delete(); +void dKyw_wether_move(); +void dKyw_wether_move_draw(void); +void dKyw_wether_init(void); +void dKyw_wether_draw2(void); +void dKyw_wether_move_draw2(void); +void dKyw_wether_delete2(void); +void dKyw_wether_init2(void); + +#endif \ No newline at end of file diff --git a/include/d/d_ky/d_kyeff/asm/func_801ADD5C.s b/include/d/d_ky/d_kyeff/asm/func_801ADD5C.s new file mode 100644 index 00000000000..8adfc739f37 --- /dev/null +++ b/include/d/d_ky/d_kyeff/asm/func_801ADD5C.s @@ -0,0 +1,23 @@ +/* 801ADD5C 001AAC9C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 801ADD60 001AACA0 7C 08 02 A6 */ mflr r0 +/* 801ADD64 001AACA4 90 01 00 14 */ stw r0, 0x14(r1) +/* 801ADD68 001AACA8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha +/* 801ADD6C 001AACAC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l +/* 801ADD70 001AACB0 38 63 4E 00 */ addi r3, r3, 0x4e00 +/* 801ADD74 001AACB4 3C 80 80 39 */ lis r4, lbl_80394F38@ha +/* 801ADD78 001AACB8 38 84 4F 38 */ addi r4, r4, lbl_80394F38@l +/* 801ADD7C 001AACBC 48 1B AC 19 */ bl strcmp +/* 801ADD80 001AACC0 2C 03 00 00 */ cmpwi r3, 0 +/* 801ADD84 001AACC4 41 82 00 08 */ beq lbl_801ADD8C +/* 801ADD88 001AACC8 4B EA A5 71 */ bl dKyw_wether_move__Fv +lbl_801ADD8C: +/* 801ADD8C 001AACCC 4B EA C3 2D */ bl dKyw_wether_move_draw__Fv +/* 801ADD90 001AACD0 4B FE FF BD */ bl dKy_FiveSenses_fullthrottle_dark__Fv +/* 801ADD94 001AACD4 3C 60 80 43 */ lis r3, lbl_8042DD70@ha +/* 801ADD98 001AACD8 38 63 DD 70 */ addi r3, r3, lbl_8042DD70@l +/* 801ADD9C 001AACDC 48 11 89 15 */ bl framework__10Z2EnvSeMgrFv +/* 801ADDA0 001AACE0 38 60 00 01 */ li r3, 1 +/* 801ADDA4 001AACE4 80 01 00 14 */ lwz r0, 0x14(r1) +/* 801ADDA8 001AACE8 7C 08 03 A6 */ mtlr r0 +/* 801ADDAC 001AACEC 38 21 00 10 */ addi r1, r1, 0x10 +/* 801ADDB0 001AACF0 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/d/d_ky/d_kyeff/asm/func_801ADE00.s b/include/d/d_ky/d_kyeff/asm/func_801ADE00.s new file mode 100644 index 00000000000..0e6e8fdb323 --- /dev/null +++ b/include/d/d_ky/d_kyeff/asm/func_801ADE00.s @@ -0,0 +1,41 @@ +/* 801ADE00 001AAD40 94 21 FF C0 */ stwu r1, -0x40(r1) +/* 801ADE04 001AAD44 7C 08 02 A6 */ mflr r0 +/* 801ADE08 001AAD48 90 01 00 44 */ stw r0, 0x44(r1) +/* 801ADE0C 001AAD4C 4B EA 96 D5 */ bl dKyw_wether_init__Fv +/* 801ADE10 001AAD50 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha +/* 801ADE14 001AAD54 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l +/* 801ADE18 001AAD58 38 63 4E 00 */ addi r3, r3, 0x4e00 +/* 801ADE1C 001AAD5C 3C 80 80 39 */ lis r4, lbl_80394F38@ha +/* 801ADE20 001AAD60 38 84 4F 38 */ addi r4, r4, lbl_80394F38@l +/* 801ADE24 001AAD64 48 1B AB 71 */ bl strcmp +/* 801ADE28 001AAD68 2C 03 00 00 */ cmpwi r3, 0 +/* 801ADE2C 001AAD6C 40 82 00 60 */ bne lbl_801ADE8C +/* 801ADE30 001AAD70 48 19 48 CD */ bl OSGetTime +/* 801ADE34 001AAD74 38 A1 00 08 */ addi r5, r1, 8 +/* 801ADE38 001AAD78 48 19 4B 3D */ bl OSTicksToCalendarTime +/* 801ADE3C 001AAD7C C0 02 A4 5C */ lfs f0, lbl_80453E5C-_SDA2_BASE_(r2) +/* 801ADE40 001AAD80 3C 60 80 43 */ lis r3, lbl_8042CA54@ha +/* 801ADE44 001AAD84 38 63 CA 54 */ addi r3, r3, lbl_8042CA54@l +/* 801ADE48 001AAD88 D0 03 0E 48 */ stfs f0, 0xe48(r3) +/* 801ADE4C 001AAD8C C0 02 A4 58 */ lfs f0, lbl_80453E58-_SDA2_BASE_(r2) +/* 801ADE50 001AAD90 D0 03 0E 4C */ stfs f0, 0xe4c(r3) +/* 801ADE54 001AAD94 D0 03 0E 50 */ stfs f0, 0xe50(r3) +/* 801ADE58 001AAD98 C0 02 A4 68 */ lfs f0, lbl_80453E68-_SDA2_BASE_(r2) +/* 801ADE5C 001AAD9C D0 03 0E 58 */ stfs f0, 0xe58(r3) +/* 801ADE60 001AADA0 C0 42 A4 6C */ lfs f2, lbl_80453E6C-_SDA2_BASE_(r2) +/* 801ADE64 001AADA4 80 01 00 10 */ lwz r0, 0x10(r1) +/* 801ADE68 001AADA8 C8 22 A4 60 */ lfd f1, lbl_80453E60-_SDA2_BASE_(r2) +/* 801ADE6C 001AADAC 6C 00 80 00 */ xoris r0, r0, 0x8000 +/* 801ADE70 001AADB0 90 01 00 34 */ stw r0, 0x34(r1) +/* 801ADE74 001AADB4 3C 00 43 30 */ lis r0, 0x4330 +/* 801ADE78 001AADB8 90 01 00 30 */ stw r0, 0x30(r1) +/* 801ADE7C 001AADBC C8 01 00 30 */ lfd f0, 0x30(r1) +/* 801ADE80 001AADC0 EC 00 08 28 */ fsubs f0, f0, f1 +/* 801ADE84 001AADC4 EC 02 00 32 */ fmuls f0, f2, f0 +/* 801ADE88 001AADC8 D0 03 12 44 */ stfs f0, 0x1244(r3) +lbl_801ADE8C: +/* 801ADE8C 001AADCC 38 60 00 04 */ li r3, 4 +/* 801ADE90 001AADD0 80 01 00 44 */ lwz r0, 0x44(r1) +/* 801ADE94 001AADD4 7C 08 03 A6 */ mtlr r0 +/* 801ADE98 001AADD8 38 21 00 40 */ addi r1, r1, 0x40 +/* 801ADE9C 001AADDC 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/d/d_ky/d_kyeff/d_kyeff.h b/include/d/d_ky/d_kyeff/d_kyeff.h new file mode 100644 index 00000000000..50f308173ac --- /dev/null +++ b/include/d/d_ky/d_kyeff/d_kyeff.h @@ -0,0 +1,30 @@ +#ifndef D_KYEFF_H_ +#define D_KYEFF_H_ +#include "d/d_kankyo/d_kankyo.h" +#include "global.h" + +class dKyeff_c { +public: + bool execute(); +}; + +bool dKyeff_Execute(dKyeff_c* dKyeff_c_ptr); +bool dKyeff_IsDelete(); +bool dKyeff_Delete(dKyeff_c* dKyeff_c_ptr); +u32 dKyeff_Create(kankyo_class* kankyo_class_ptr); + +extern u8 lbl_80394F38; +extern f32 lbl_80453E58; //@3804 0.0f +extern f32 lbl_80453E5C; //@3805 1.0f +extern f64 lbl_80453E60; //@3812 4.503601774854144E15f +extern f32 lbl_80453E68; //@3843 0.7f +extern f32 lbl_80453E6C; //@3844 15.0f + +extern "C" { +void dKy_FiveSenses_fullthrottle_dark__Fv(void); +void dKyw_wether_move__Fv(void); +void dKyw_wether_move_draw__Fv(void); +void dKyw_wether_init__Fv(void); +} + +#endif \ No newline at end of file diff --git a/include/d/d_ky/d_kyeff2/d_kyeff2.h b/include/d/d_ky/d_kyeff2/d_kyeff2.h new file mode 100644 index 00000000000..b945a84e710 --- /dev/null +++ b/include/d/d_ky/d_kyeff2/d_kyeff2.h @@ -0,0 +1,16 @@ +#ifndef _D_KYEFF2_H +#define _D_KYEFF2_H +#include "d/d_kankyo/d_kankyo.h" + +class dKyeff2_c { +public: + bool execute(void); +}; + +bool dKyeff2_Draw(dKyeff2_c* p_dKyeff2_c); +bool dKyeff2_Execute(dKyeff2_c* p_dKyeff2_c); +bool dKyeff2_IsDelete(dKyeff2_c* p_dKyeff2_c); +bool dKyeff2_Delete(dKyeff2_c* p_dKyeff2_c); +int dKyeff2_Create(kankyo_class* p_kankyo_class); + +#endif \ No newline at end of file diff --git a/include/d/d_stage/d_stage.h b/include/d/d_stage/d_stage.h index b1f79d00070..b9933b5aa9c 100644 --- a/include/d/d_stage/d_stage.h +++ b/include/d/d_stage/d_stage.h @@ -375,6 +375,7 @@ private: class dStage_startStage_c { public: void set(const char*, s8, s16, s8); + inline char* getName() { return this->mStage; } private: /* 0x0 */ char mStage[8]; diff --git a/include/gx/GX.h b/include/gx/GX.h index bc8bf6ae0c2..98a0af8447b 100644 --- a/include/gx/GX.h +++ b/include/gx/GX.h @@ -54,6 +54,50 @@ struct GXRenderModeObj { u8 vfilter[7]; }; +typedef enum GXTexFmt8 { /* 8-bit version of GXTexFmt for use in structures */ + GX_CTF_A8 = 39, + GX_CTF_B8 = 42, + GX_CTF_G8 = 41, + GX_CTF_GB8 = 44, + GX_CTF_R4 = 32, + GX_CTF_R8 = 40, + GX_CTF_RA4 = 34, + GX_CTF_RA8 = 35, + GX_CTF_RG8 = 43, + GX_CTF_YUVA8 = 38, + GX_CTF_Z16L = 60, + GX_CTF_Z4 = 48, + GX_CTF_Z8L = 58, + GX_CTF_Z8M = 57, + GX_TF_CMPR = 14, + GX_TF_I4 = 0, + GX_TF_I8 = 1, + GX_TF_IA4 = 2, + GX_TF_IA8 = 3, + GX_TF_RGB565 = 4, + GX_TF_RGB5A3 = 5, + GX_TF_RGBA8 = 6, + GX_TF_Z16 = 19, + GX_TF_Z24X8 = 22, + GX_TF_Z8 = 17 +} GXTexFmt8; + +typedef enum GXTexWrapMode8 { /* Same as GXTexWrapMode, but as 1 byte for use inside structures */ + GX_CLAMP = 0, + GX_MIRROR = 2, + GX_REPEAT = 1 +} GXTexWrapMode8; + +typedef enum GXTexFilter8 { /* Same as GXTexFilter, but as 1 byte for use within structures that + store the value as a byte */ + GX_LINEAR = 1, + GX_LIN_MIP_LIN = 5, + GX_LIN_MIP_NEAR = 3, + GX_NEAR = 0, + GX_NEAR_MIP_LIN = 4, + GX_NEAR_MIP_NEAR = 2 +} GXTexFilter8; + extern "C" { f32 GXGetYScaleFactor(u16 efb_height, u16 xfb_height); u16 GXGetNumXfbLines(u32 efb_height, f32 y_scale); @@ -87,6 +131,49 @@ void GXFlush(void); struct OSThread; OSThread* GXSetCurrentGXThread(void); OSThread* GXGetCurrentGXThread(void); -} + +// Below needs proper symbols +void GXClearVtxDesc(void); +void GXCopyTex(void); +void GXGetProjectionv(void); +u32 GXGetTexBufferSize(u16 width, u16 height, u32 format, s32 is_mip_map, u8 max_lod); +void GXGetViewportv(void); +void GXInitLightColor(void); +void GXInitLightDir(void); +void GXInitLightDistAttn(void); +void GXInitLightPos(void); +void GXInitLightSpot(void); +void GXInvalidateTexAll(void); +void GXLoadLightObjImm(void); +void GXLoadPosMtxImm(void); +void GXLoadTexMtxImm(void); +void GXPixModeSync(void); +void GXProject(void); +void GXSetAlphaCompare(void); +void GXSetAlphaUpdate(void); +void GXSetChanMatColor(void); +void GXSetClipMode(void); +void GXSetCoPlanar(void); +void GXSetCopyFilter(void); +void GXSetCullMode(void); +void GXSetCurrentMtx(void); +void GXSetDither(void); +void GXSetFog(void); +void GXSetFogRangeAdj(void); +void GXSetNumIndStages(void); +void GXSetProjection(void); +void GXSetScissor(void); +void GXSetTevColorS10(void); +void GXSetTevKAlphaSel(void); +void GXSetTevSwapMode(void); +void GXSetTevSwapModeTable(void); +void GXSetTexCoordGen2(void); +void GXSetTexCopyDst(void); +void GXSetTexCopySrc(void); +void GXSetViewport(void); +void GXSetZCompLoc(void); +void GXSetZMode(void); +void GXSetZTexture(void); +}; #endif \ No newline at end of file diff --git a/include/m_Do/m_Do_audio/m_Do_audio.h b/include/m_Do/m_Do_audio/m_Do_audio.h index 1a7524fc082..c5c1e32eecd 100644 --- a/include/m_Do/m_Do_audio/m_Do_audio.h +++ b/include/m_Do/m_Do_audio/m_Do_audio.h @@ -1,8 +1,14 @@ #ifndef __M_DO_AUDIO_H_ #define __M_DO_AUDIO_H_ #include "Z2AudioLib/Z2AudioMgr/Z2AudioMgr.h" +#include "Z2AudioLib/Z2EnvSeMgr/Z2EnvSeMgr.h" +#include "d/d_kankyo/d_kankyo.h" #include "global.h" +inline void mDoAud_mEnvse_framework(void) { + lbl_8042DD70.framework(); +} + class mDoAud_zelAudio_c { // Seems to be based on Z2AudioMgr; more research is needed public: void reset(void); @@ -84,4 +90,4 @@ void Z2AudioMgr_NS_setOutputMode__9JASDriverFUl(void); void init__10Z2AudioMgrFP12JKRSolidHeapUlPvP10JKRArchive(void); void mDoAud_resetProcess__Fv(void); } -#endif \ No newline at end of file +#endif diff --git a/include/m_Do/m_Do_ext/m_Do_ext.h b/include/m_Do/m_Do_ext/m_Do_ext.h index ac0913ce839..6257e0826fb 100644 --- a/include/m_Do/m_Do_ext/m_Do_ext.h +++ b/include/m_Do/m_Do_ext/m_Do_ext.h @@ -4,6 +4,7 @@ #include "JSystem/J3DGraphAnimator/J3DAnimation.h" #include "JSystem/JKernel/JKRExpHeap/JKRExpHeap.h" #include "global.h" +#include "os/OS.h" extern "C" { JKRExpHeap* mDoExt_getZeldaHeap(); @@ -13,6 +14,7 @@ JKRExpHeap* mDoExt_getJ2dHeap(); JKRExpHeap* mDoExt_getHostIOHeap(); JKRExpHeap* mDoExt_getCommandHeap(); } +OSThread* mDoExt_GetCurrentRunningThread(void); #pragma pack(push, 1) class mDoExt_baseAnm { diff --git a/include/m_Do/m_Do_graphic/asm/func_80007D9C.s b/include/m_Do/m_Do_graphic/asm/func_80007D9C.s new file mode 100644 index 00000000000..1cdcec0e282 --- /dev/null +++ b/include/m_Do/m_Do_graphic/asm/func_80007D9C.s @@ -0,0 +1,44 @@ +/* 80007D9C 00004CDC 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80007DA0 00004CE0 7C 08 02 A6 */ mflr r0 +/* 80007DA4 00004CE4 90 01 00 24 */ stw r0, 0x24(r1) +/* 80007DA8 00004CE8 39 61 00 20 */ addi r11, r1, 0x20 +/* 80007DAC 00004CEC 48 35 A4 29 */ bl _savegpr_27 +/* 80007DB0 00004CF0 7C 7B 1B 78 */ mr r27, r3 +/* 80007DB4 00004CF4 7C 9C 23 78 */ mr r28, r4 +/* 80007DB8 00004CF8 7C BD 2B 78 */ mr r29, r5 +/* 80007DBC 00004CFC 38 C0 00 00 */ li r6, 0 +/* 80007DC0 00004D00 38 E0 00 00 */ li r7, 0 +/* 80007DC4 00004D04 48 35 5E 59 */ bl GXGetTexBufferSize +/* 80007DC8 00004D08 3B E3 00 20 */ addi r31, r3, 0x20 +/* 80007DCC 00004D0C 7F E3 FB 78 */ mr r3, r31 +/* 80007DD0 00004D10 38 80 00 20 */ li r4, 0x20 +/* 80007DD4 00004D14 38 A0 00 00 */ li r5, 0 +/* 80007DD8 00004D18 48 2C 66 9D */ bl alloc__7JKRHeapFUliP7JKRHeap +/* 80007DDC 00004D1C 7C 60 1B 78 */ mr r0, r3 +/* 80007DE0 00004D20 7C 1E 03 79 */ or. r30, r0, r0 +/* 80007DE4 00004D24 40 82 00 0C */ bne lbl_80007DF0 +/* 80007DE8 00004D28 38 60 00 00 */ li r3, 0 +/* 80007DEC 00004D2C 48 00 00 40 */ b lbl_80007E2C +lbl_80007DF0: +/* 80007DF0 00004D30 38 80 00 00 */ li r4, 0 +/* 80007DF4 00004D34 7F E5 FB 78 */ mr r5, r31 +/* 80007DF8 00004D38 48 26 7B 65 */ bl cLib_memSet__FPviUl +/* 80007DFC 00004D3C 9B BE 00 00 */ stb r29, 0(r30) +/* 80007E00 00004D40 38 00 00 00 */ li r0, 0 +/* 80007E04 00004D44 98 1E 00 01 */ stb r0, 1(r30) +/* 80007E08 00004D48 B3 7E 00 02 */ sth r27, 2(r30) +/* 80007E0C 00004D4C B3 9E 00 04 */ sth r28, 4(r30) +/* 80007E10 00004D50 38 00 00 01 */ li r0, 1 +/* 80007E14 00004D54 98 1E 00 14 */ stb r0, 0x14(r30) +/* 80007E18 00004D58 98 1E 00 15 */ stb r0, 0x15(r30) +/* 80007E1C 00004D5C 98 1E 00 18 */ stb r0, 0x18(r30) +/* 80007E20 00004D60 38 00 00 20 */ li r0, 0x20 +/* 80007E24 00004D64 90 1E 00 1C */ stw r0, 0x1c(r30) +/* 80007E28 00004D68 7F C3 F3 78 */ mr r3, r30 +lbl_80007E2C: +/* 80007E2C 00004D6C 39 61 00 20 */ addi r11, r1, 0x20 +/* 80007E30 00004D70 48 35 A3 F1 */ bl _restgpr_27 +/* 80007E34 00004D74 80 01 00 24 */ lwz r0, 0x24(r1) +/* 80007E38 00004D78 7C 08 03 A6 */ mtlr r0 +/* 80007E3C 00004D7C 38 21 00 20 */ addi r1, r1, 0x20 +/* 80007E40 00004D80 4E 80 00 20 */ blr diff --git a/include/m_Do/m_Do_graphic/asm/func_80007E44.s b/include/m_Do/m_Do_graphic/asm/func_80007E44.s new file mode 100644 index 00000000000..11d42a8ecbe --- /dev/null +++ b/include/m_Do/m_Do_graphic/asm/func_80007E44.s @@ -0,0 +1,84 @@ +/* 80007E44 00004D84 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80007E48 00004D88 7C 08 02 A6 */ mflr r0 +/* 80007E4C 00004D8C 90 01 00 14 */ stw r0, 0x14(r1) +/* 80007E50 00004D90 38 60 00 00 */ li r3, 0 +/* 80007E54 00004D94 80 8D 8D F4 */ lwz r4, sCurrentHeap__7JKRHeap-_SDA_BASE_(r13) +/* 80007E58 00004D98 38 A0 00 02 */ li r5, 2 +/* 80007E5C 00004D9C 38 C0 00 01 */ li r6, 1 +/* 80007E60 00004DA0 48 26 A3 7D */ bl JFWDisplay_NS_createManager +/* 80007E64 00004DA4 38 00 00 01 */ li r0, 1 +/* 80007E68 00004DA8 80 6D 8C 40 */ lwz r3, lbl_804511C0-_SDA_BASE_(r13) +/* 80007E6C 00004DAC 90 03 00 18 */ stw r0, 0x18(r3) +/* 80007E70 00004DB0 38 60 00 28 */ li r3, 0x28 +/* 80007E74 00004DB4 48 2C 6D D9 */ bl __nw__FUl +/* 80007E78 00004DB8 7C 60 1B 79 */ or. r0, r3, r3 +/* 80007E7C 00004DBC 41 82 00 44 */ beq lbl_80007EC0 +/* 80007E80 00004DC0 38 00 00 00 */ li r0, 0 +/* 80007E84 00004DC4 98 01 00 08 */ stb r0, 8(r1) +/* 80007E88 00004DC8 98 01 00 09 */ stb r0, 9(r1) +/* 80007E8C 00004DCC 98 01 00 0A */ stb r0, 0xa(r1) +/* 80007E90 00004DD0 98 01 00 0B */ stb r0, 0xb(r1) +/* 80007E94 00004DD4 80 01 00 08 */ lwz r0, 8(r1) +/* 80007E98 00004DD8 90 01 00 0C */ stw r0, 0xc(r1) +/* 80007E9C 00004DDC 80 8D 8F B8 */ lwz r4, lbl_80451538-_SDA_BASE_(r13) +/* 80007EA0 00004DE0 80 E4 00 04 */ lwz r7, 4(r4) +/* 80007EA4 00004DE4 38 80 00 00 */ li r4, 0 +/* 80007EA8 00004DE8 38 A0 00 00 */ li r5, 0 +/* 80007EAC 00004DEC A0 C7 00 04 */ lhz r6, 4(r7) +/* 80007EB0 00004DF0 A0 E7 00 06 */ lhz r7, 6(r7) +/* 80007EB4 00004DF4 39 01 00 0C */ addi r8, r1, 0xc +/* 80007EB8 00004DF8 48 2D D6 79 */ bl JUTFader +/* 80007EBC 00004DFC 7C 60 1B 78 */ mr r0, r3 +lbl_80007EC0: +/* 80007EC0 00004E00 80 6D 8C 40 */ lwz r3, lbl_804511C0-_SDA_BASE_(r13) +/* 80007EC4 00004E04 90 03 00 04 */ stw r0, 4(r3) +/* 80007EC8 00004E08 90 0D 86 48 */ stw r0, lbl_80450BC8-_SDA_BASE_(r13) +/* 80007ECC 00004E0C 80 6D 8C 40 */ lwz r3, lbl_804511C0-_SDA_BASE_(r13) +/* 80007ED0 00004E10 90 03 00 04 */ stw r0, 4(r3) +/* 80007ED4 00004E14 38 00 00 00 */ li r0, 0 +/* 80007ED8 00004E18 80 6D 8F D8 */ lwz r3, lbl_80451558-_SDA_BASE_(r13) +/* 80007EDC 00004E1C 98 03 01 30 */ stb r0, 0x130(r3) +/* 80007EE0 00004E20 80 6D 8F D8 */ lwz r3, lbl_80451558-_SDA_BASE_(r13) +/* 80007EE4 00004E24 98 03 01 0C */ stb r0, 0x10c(r3) +/* 80007EE8 00004E28 80 6D 8F 48 */ lwz r3, lbl_804514C8-_SDA_BASE_(r13) +/* 80007EEC 00004E2C 98 03 00 0C */ stb r0, 0xc(r3) +/* 80007EF0 00004E30 38 60 01 30 */ li r3, 0x130 +/* 80007EF4 00004E34 38 80 00 E0 */ li r4, 0xe0 +/* 80007EF8 00004E38 38 A0 00 06 */ li r5, 6 +/* 80007EFC 00004E3C 4B FF FE A1 */ bl createTimg__FUsUsUl +/* 80007F00 00004E40 90 6D 86 4C */ stw r3, lbl_80450BCC-_SDA_BASE_(r13) +/* 80007F04 00004E44 38 03 00 20 */ addi r0, r3, 0x20 +/* 80007F08 00004E48 90 0D 86 50 */ stw r0, lbl_80450BD0-_SDA_BASE_(r13) +/* 80007F0C 00004E4C 38 60 01 30 */ li r3, 0x130 +/* 80007F10 00004E50 38 80 00 E0 */ li r4, 0xe0 +/* 80007F14 00004E54 38 A0 00 03 */ li r5, 3 +/* 80007F18 00004E58 4B FF FE 85 */ bl createTimg__FUsUsUl +/* 80007F1C 00004E5C 90 6D 86 54 */ stw r3, lbl_80450BD4-_SDA_BASE_(r13) +/* 80007F20 00004E60 38 03 00 20 */ addi r0, r3, 0x20 +/* 80007F24 00004E64 90 0D 86 58 */ stw r0, lbl_80450BD8-_SDA_BASE_(r13) +/* 80007F28 00004E68 38 60 04 00 */ li r3, 0x400 +/* 80007F2C 00004E6C 48 2E C7 2D */ bl J2DPrint_NS_setBuffer +/* 80007F30 00004E70 38 00 00 00 */ li r0, 0 +/* 80007F34 00004E74 98 0D 86 64 */ stb r0, lbl_80450BE4-_SDA_BASE_(r13) +/* 80007F38 00004E78 98 0D 86 66 */ stb r0, lbl_80450BE6-_SDA_BASE_(r13) +/* 80007F3C 00004E7C 88 0D 80 80 */ lbz r0, lbl_80450600-_SDA_BASE_(r13) +/* 80007F40 00004E80 98 0D 80 10 */ stb r0, lbl_80450590-_SDA_BASE_(r13) +/* 80007F44 00004E84 38 8D 80 80 */ addi r4, r13, 0x80450600 - 0x80458580 /*SDA HACK; original: lbl_80450600-_SDA_BASE_*/ +/* 80007F48 00004E88 88 A4 00 01 */ lbz r5, 1(r4) +/* 80007F4C 00004E8C 38 6D 80 10 */ addi r3, r13, 0x80450590 - 0x80458580 /*SDA HACK; original: lbl_80450590-_SDA_BASE_*/ +/* 80007F50 00004E90 98 A3 00 01 */ stb r5, 1(r3) +/* 80007F54 00004E94 88 C4 00 02 */ lbz r6, 2(r4) +/* 80007F58 00004E98 98 C3 00 02 */ stb r6, 2(r3) +/* 80007F5C 00004E9C 88 84 00 03 */ lbz r4, 3(r4) +/* 80007F60 00004EA0 98 83 00 03 */ stb r4, 3(r3) +/* 80007F64 00004EA4 98 0D 80 14 */ stb r0, lbl_80450594-_SDA_BASE_(r13) +/* 80007F68 00004EA8 38 6D 80 14 */ addi r3, r13, 0x80450594 - 0x80458580 /*SDA HACK; original: lbl_80450594-_SDA_BASE_*/ +/* 80007F6C 00004EAC 98 A3 00 01 */ stb r5, 1(r3) +/* 80007F70 00004EB0 98 C3 00 02 */ stb r6, 2(r3) +/* 80007F74 00004EB4 98 83 00 03 */ stb r4, 3(r3) +/* 80007F78 00004EB8 38 60 00 01 */ li r3, 1 +/* 80007F7C 00004EBC 48 34 58 C5 */ bl VISetBlack +/* 80007F80 00004EC0 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80007F84 00004EC4 7C 08 03 A6 */ mtlr r0 +/* 80007F88 00004EC8 38 21 00 10 */ addi r1, r1, 0x10 +/* 80007F8C 00004ECC 4E 80 00 20 */ blr diff --git a/include/m_Do/m_Do_graphic/asm/func_80007F90.s b/include/m_Do/m_Do_graphic/asm/func_80007F90.s new file mode 100644 index 00000000000..09526ad8c63 --- /dev/null +++ b/include/m_Do/m_Do_graphic/asm/func_80007F90.s @@ -0,0 +1,19 @@ +/* 80007F90 00004ED0 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80007F94 00004ED4 7C 08 02 A6 */ mflr r0 +/* 80007F98 00004ED8 90 01 00 14 */ stw r0, 0x14(r1) +/* 80007F9C 00004EDC 88 0D 86 68 */ lbz r0, lbl_80450BE8-_SDA_BASE_(r13) +/* 80007FA0 00004EE0 28 00 00 00 */ cmplwi r0, 0 +/* 80007FA4 00004EE4 41 82 00 10 */ beq lbl_80007FB4 +/* 80007FA8 00004EE8 38 00 FF FF */ li r0, -1 +/* 80007FAC 00004EEC 80 6D 8F D0 */ lwz r3, lbl_80451550-_SDA_BASE_(r13) +/* 80007FB0 00004EF0 B0 03 00 14 */ sth r0, 0x14(r3) +lbl_80007FB4: +/* 80007FB4 00004EF4 80 6D 8C 40 */ lwz r3, lbl_804511C0-_SDA_BASE_(r13) +/* 80007FB8 00004EF8 81 83 00 00 */ lwz r12, 0(r3) +/* 80007FBC 00004EFC 81 8C 00 08 */ lwz r12, 8(r12) +/* 80007FC0 00004F00 7D 89 03 A6 */ mtctr r12 +/* 80007FC4 00004F04 4E 80 04 21 */ bctrl +/* 80007FC8 00004F08 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80007FCC 00004F0C 7C 08 03 A6 */ mtlr r0 +/* 80007FD0 00004F10 38 21 00 10 */ addi r1, r1, 0x10 +/* 80007FD4 00004F14 4E 80 00 20 */ blr diff --git a/include/m_Do/m_Do_graphic/asm/func_80007FD8.s b/include/m_Do/m_Do_graphic/asm/func_80007FD8.s new file mode 100644 index 00000000000..95d7af6ba0a --- /dev/null +++ b/include/m_Do/m_Do_graphic/asm/func_80007FD8.s @@ -0,0 +1,22 @@ +/* 80007FD8 00004F18 38 00 00 01 */ li r0, 1 +/* 80007FDC 00004F1C 98 0D 86 66 */ stb r0, lbl_80450BE6-_SDA_BASE_(r13) +/* 80007FE0 00004F20 D0 2D 86 60 */ stfs f1, lbl_80450BE0-_SDA_BASE_(r13) +/* 80007FE4 00004F24 88 03 00 00 */ lbz r0, 0(r3) +/* 80007FE8 00004F28 98 0D 80 14 */ stb r0, lbl_80450594-_SDA_BASE_(r13) +/* 80007FEC 00004F2C 88 03 00 01 */ lbz r0, 1(r3) +/* 80007FF0 00004F30 38 8D 80 14 */ addi r4, r13, 0x80450594 - 0x80458580 /*SDA HACK; original: lbl_80450594-_SDA_BASE_*/ +/* 80007FF4 00004F34 98 04 00 01 */ stb r0, 1(r4) +/* 80007FF8 00004F38 88 03 00 02 */ lbz r0, 2(r3) +/* 80007FFC 00004F3C 98 04 00 02 */ stb r0, 2(r4) +/* 80008000 00004F40 88 03 00 03 */ lbz r0, 3(r3) +/* 80008004 00004F44 98 04 00 03 */ stb r0, 3(r4) +/* 80008008 00004F48 C0 02 80 38 */ lfs f0, lbl_80451A38-_SDA2_BASE_(r2) +/* 8000800C 00004F4C FC 01 00 40 */ fcmpo cr0, f1, f0 +/* 80008010 00004F50 4C 41 13 82 */ cror 2, 1, 2 +/* 80008014 00004F54 40 82 00 08 */ bne lbl_8000801C +/* 80008018 00004F58 48 00 00 08 */ b lbl_80008020 +lbl_8000801C: +/* 8000801C 00004F5C C0 02 80 3C */ lfs f0, lbl_80451A3C-_SDA2_BASE_(r2) +lbl_80008020: +/* 80008020 00004F60 D0 0D 86 5C */ stfs f0, lbl_80450BDC-_SDA_BASE_(r13) +/* 80008024 00004F64 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/m_Do/m_Do_graphic/asm/func_80008028.s b/include/m_Do/m_Do_graphic/asm/func_80008028.s new file mode 100644 index 00000000000..17b2ba84eef --- /dev/null +++ b/include/m_Do/m_Do_graphic/asm/func_80008028.s @@ -0,0 +1,22 @@ +/* 80008028 00004F68 38 00 00 81 */ li r0, 0x81 +/* 8000802C 00004F6C 98 0D 86 66 */ stb r0, lbl_80450BE6-_SDA_BASE_(r13) +/* 80008030 00004F70 D0 2D 86 60 */ stfs f1, lbl_80450BE0-_SDA_BASE_(r13) +/* 80008034 00004F74 88 03 00 00 */ lbz r0, 0(r3) +/* 80008038 00004F78 98 0D 80 14 */ stb r0, lbl_80450594-_SDA_BASE_(r13) +/* 8000803C 00004F7C 88 03 00 01 */ lbz r0, 1(r3) +/* 80008040 00004F80 38 8D 80 14 */ addi r4, r13, 0x80450594 - 0x80458580 /*SDA HACK; original: lbl_80450594-_SDA_BASE_*/ +/* 80008044 00004F84 98 04 00 01 */ stb r0, 1(r4) +/* 80008048 00004F88 88 03 00 02 */ lbz r0, 2(r3) +/* 8000804C 00004F8C 98 04 00 02 */ stb r0, 2(r4) +/* 80008050 00004F90 88 03 00 03 */ lbz r0, 3(r3) +/* 80008054 00004F94 98 04 00 03 */ stb r0, 3(r4) +/* 80008058 00004F98 C0 02 80 38 */ lfs f0, lbl_80451A38-_SDA2_BASE_(r2) +/* 8000805C 00004F9C FC 01 00 40 */ fcmpo cr0, f1, f0 +/* 80008060 00004FA0 4C 41 13 82 */ cror 2, 1, 2 +/* 80008064 00004FA4 40 82 00 08 */ bne lbl_8000806C +/* 80008068 00004FA8 48 00 00 08 */ b lbl_80008070 +lbl_8000806C: +/* 8000806C 00004FAC C0 02 80 3C */ lfs f0, lbl_80451A3C-_SDA2_BASE_(r2) +lbl_80008070: +/* 80008070 00004FB0 D0 0D 86 5C */ stfs f0, lbl_80450BDC-_SDA_BASE_(r13) +/* 80008074 00004FB4 4E 80 00 20 */ blr diff --git a/include/m_Do/m_Do_graphic/asm/func_80008078.s b/include/m_Do/m_Do_graphic/asm/func_80008078.s new file mode 100644 index 00000000000..6f99819da5f --- /dev/null +++ b/include/m_Do/m_Do_graphic/asm/func_80008078.s @@ -0,0 +1,10 @@ +/* 80008078 00004FB8 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8000807C 00004FBC 7C 08 02 A6 */ mflr r0 +/* 80008080 00004FC0 90 01 00 14 */ stw r0, 0x14(r1) +/* 80008084 00004FC4 3C 60 80 3A */ lis r3, lbl_803A2FD8@ha +/* 80008088 00004FC8 38 63 2F D8 */ addi r3, r3, lbl_803A2FD8@l +/* 8000808C 00004FCC 48 00 00 15 */ bl onBlure__13mDoGph_gInf_cFPA4_Cf +/* 80008090 00004FD0 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80008094 00004FD4 7C 08 03 A6 */ mtlr r0 +/* 80008098 00004FD8 38 21 00 10 */ addi r1, r1, 0x10 +/* 8000809C 00004FDC 4E 80 00 20 */ blr diff --git a/include/m_Do/m_Do_graphic/asm/func_800080A0.s b/include/m_Do/m_Do_graphic/asm/func_800080A0.s new file mode 100644 index 00000000000..6c0079e945b --- /dev/null +++ b/include/m_Do/m_Do_graphic/asm/func_800080A0.s @@ -0,0 +1,12 @@ +/* 800080A0 00004FE0 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 800080A4 00004FE4 7C 08 02 A6 */ mflr r0 +/* 800080A8 00004FE8 90 01 00 14 */ stw r0, 0x14(r1) +/* 800080AC 00004FEC 38 00 00 01 */ li r0, 1 +/* 800080B0 00004FF0 98 0D 86 64 */ stb r0, lbl_80450BE4-_SDA_BASE_(r13) +/* 800080B4 00004FF4 3C 80 80 3E */ lis r4, lbl_803DD43C@ha +/* 800080B8 00004FF8 38 84 D4 3C */ addi r4, r4, lbl_803DD43C@l +/* 800080BC 00004FFC 48 33 E3 F5 */ bl PSMTXCopy +/* 800080C0 00005000 80 01 00 14 */ lwz r0, 0x14(r1) +/* 800080C4 00005004 7C 08 03 A6 */ mtlr r0 +/* 800080C8 00005008 38 21 00 10 */ addi r1, r1, 0x10 +/* 800080CC 0000500C 4E 80 00 20 */ blr diff --git a/include/m_Do/m_Do_graphic/asm/func_800080D0.s b/include/m_Do/m_Do_graphic/asm/func_800080D0.s new file mode 100644 index 00000000000..4cc2c0d4cf6 --- /dev/null +++ b/include/m_Do/m_Do_graphic/asm/func_800080D0.s @@ -0,0 +1,9 @@ +/* 800080D0 00005010 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 800080D4 00005014 7C 08 02 A6 */ mflr r0 +/* 800080D8 00005018 90 01 00 14 */ stw r0, 0x14(r1) +/* 800080DC 0000501C 38 6D 80 80 */ addi r3, r13, 0x80450600 - 0x80458580 /*SDA HACK; original: lbl_80450600-_SDA_BASE_*/ +/* 800080E0 00005020 4B FF FE F9 */ bl fadeOut__13mDoGph_gInf_cFfR8_GXColor +/* 800080E4 00005024 80 01 00 14 */ lwz r0, 0x14(r1) +/* 800080E8 00005028 7C 08 03 A6 */ mtlr r0 +/* 800080EC 0000502C 38 21 00 10 */ addi r1, r1, 0x10 +/* 800080F0 00005030 4E 80 00 20 */ blr diff --git a/include/m_Do/m_Do_graphic/asm/func_800080F4.s b/include/m_Do/m_Do_graphic/asm/func_800080F4.s new file mode 100644 index 00000000000..8b9c7fd43e2 --- /dev/null +++ b/include/m_Do/m_Do_graphic/asm/func_800080F4.s @@ -0,0 +1,143 @@ +/* 800080F4 00005034 94 21 FF A0 */ stwu r1, -0x60(r1) +/* 800080F8 00005038 7C 08 02 A6 */ mflr r0 +/* 800080FC 0000503C 90 01 00 64 */ stw r0, 0x64(r1) +/* 80008100 00005040 93 E1 00 5C */ stw r31, 0x5c(r1) +/* 80008104 00005044 7C 7F 1B 78 */ mr r31, r3 +/* 80008108 00005048 38 60 00 01 */ li r3, 1 +/* 8000810C 0000504C 48 35 5A 25 */ bl GXSetNumChans +/* 80008110 00005050 38 60 00 04 */ li r3, 4 +/* 80008114 00005054 38 80 00 00 */ li r4, 0 +/* 80008118 00005058 38 A0 00 00 */ li r5, 0 +/* 8000811C 0000505C 38 C0 00 00 */ li r6, 0 +/* 80008120 00005060 38 E0 00 00 */ li r7, 0 +/* 80008124 00005064 39 00 00 00 */ li r8, 0 +/* 80008128 00005068 39 20 00 02 */ li r9, 2 +/* 8000812C 0000506C 48 35 5A 41 */ bl GXSetChanCtrl +/* 80008130 00005070 38 60 00 00 */ li r3, 0 +/* 80008134 00005074 48 35 3C C9 */ bl GXSetNumTexGens +/* 80008138 00005078 38 60 00 01 */ li r3, 1 +/* 8000813C 0000507C 48 35 77 55 */ bl GXSetNumTevStages +/* 80008140 00005080 38 60 00 00 */ li r3, 0 +/* 80008144 00005084 38 80 00 FF */ li r4, 0xff +/* 80008148 00005088 38 A0 00 FF */ li r5, 0xff +/* 8000814C 0000508C 38 C0 00 04 */ li r6, 4 +/* 80008150 00005090 48 35 75 A5 */ bl GXSetTevOrder +/* 80008154 00005094 38 60 00 00 */ li r3, 0 +/* 80008158 00005098 38 80 00 0F */ li r4, 0xf +/* 8000815C 0000509C 38 A0 00 0F */ li r5, 0xf +/* 80008160 000050A0 38 C0 00 0F */ li r6, 0xf +/* 80008164 000050A4 38 E0 00 0A */ li r7, 0xa +/* 80008168 000050A8 48 35 70 BD */ bl GXSetTevColorIn +/* 8000816C 000050AC 38 60 00 00 */ li r3, 0 +/* 80008170 000050B0 38 80 00 00 */ li r4, 0 +/* 80008174 000050B4 38 A0 00 00 */ li r5, 0 +/* 80008178 000050B8 38 C0 00 00 */ li r6, 0 +/* 8000817C 000050BC 38 E0 00 01 */ li r7, 1 +/* 80008180 000050C0 39 00 00 00 */ li r8, 0 +/* 80008184 000050C4 48 35 71 29 */ bl GXSetTevColorOp +/* 80008188 000050C8 38 60 00 00 */ li r3, 0 +/* 8000818C 000050CC 38 80 00 07 */ li r4, 7 +/* 80008190 000050D0 38 A0 00 07 */ li r5, 7 +/* 80008194 000050D4 38 C0 00 07 */ li r6, 7 +/* 80008198 000050D8 38 E0 00 05 */ li r7, 5 +/* 8000819C 000050DC 48 35 70 CD */ bl GXSetTevAlphaIn +/* 800081A0 000050E0 38 60 00 00 */ li r3, 0 +/* 800081A4 000050E4 38 80 00 00 */ li r4, 0 +/* 800081A8 000050E8 38 A0 00 00 */ li r5, 0 +/* 800081AC 000050EC 38 C0 00 00 */ li r6, 0 +/* 800081B0 000050F0 38 E0 00 01 */ li r7, 1 +/* 800081B4 000050F4 39 00 00 00 */ li r8, 0 +/* 800081B8 000050F8 48 35 71 5D */ bl GXSetTevAlphaOp +/* 800081BC 000050FC 38 60 00 01 */ li r3, 1 +/* 800081C0 00005100 48 35 7B 11 */ bl GXSetZCompLoc +/* 800081C4 00005104 38 60 00 00 */ li r3, 0 +/* 800081C8 00005108 38 80 00 07 */ li r4, 7 +/* 800081CC 0000510C 38 A0 00 00 */ li r5, 0 +/* 800081D0 00005110 48 35 7A CD */ bl GXSetZMode +/* 800081D4 00005114 38 60 00 01 */ li r3, 1 +/* 800081D8 00005118 38 80 00 04 */ li r4, 4 +/* 800081DC 0000511C 38 A0 00 05 */ li r5, 5 +/* 800081E0 00005120 38 C0 00 07 */ li r6, 7 +/* 800081E4 00005124 48 35 7A 0D */ bl GXSetBlendMode +/* 800081E8 00005128 38 60 00 07 */ li r3, 7 +/* 800081EC 0000512C 38 80 00 00 */ li r4, 0 +/* 800081F0 00005130 38 A0 00 01 */ li r5, 1 +/* 800081F4 00005134 38 C0 00 07 */ li r6, 7 +/* 800081F8 00005138 38 E0 00 00 */ li r7, 0 +/* 800081FC 0000513C 48 35 74 29 */ bl GXSetAlphaCompare +/* 80008200 00005140 80 0D 80 80 */ lwz r0, lbl_80450600-_SDA_BASE_(r13) +/* 80008204 00005144 90 01 00 0C */ stw r0, 0xc(r1) +/* 80008208 00005148 38 60 00 00 */ li r3, 0 +/* 8000820C 0000514C C0 22 80 38 */ lfs f1, lbl_80451A38-_SDA2_BASE_(r2) +/* 80008210 00005150 FC 40 08 90 */ fmr f2, f1 +/* 80008214 00005154 FC 60 08 90 */ fmr f3, f1 +/* 80008218 00005158 FC 80 08 90 */ fmr f4, f1 +/* 8000821C 0000515C 38 81 00 0C */ addi r4, r1, 0xc +/* 80008220 00005160 48 35 76 99 */ bl GXSetFog +/* 80008224 00005164 38 60 00 00 */ li r3, 0 +/* 80008228 00005168 38 80 00 00 */ li r4, 0 +/* 8000822C 0000516C 38 A0 00 00 */ li r5, 0 +/* 80008230 00005170 48 35 78 9D */ bl GXSetFogRangeAdj +/* 80008234 00005174 38 60 00 00 */ li r3, 0 +/* 80008238 00005178 48 35 47 4D */ bl GXSetCullMode +/* 8000823C 0000517C 38 60 00 01 */ li r3, 1 +/* 80008240 00005180 48 35 7B 99 */ bl GXSetDither +/* 80008244 00005184 38 60 00 00 */ li r3, 0 +/* 80008248 00005188 48 35 6E 8D */ bl GXSetNumIndStages +/* 8000824C 0000518C 38 61 00 10 */ addi r3, r1, 0x10 +/* 80008250 00005190 C0 22 80 38 */ lfs f1, lbl_80451A38-_SDA2_BASE_(r2) +/* 80008254 00005194 C0 42 80 3C */ lfs f2, lbl_80451A3C-_SDA2_BASE_(r2) +/* 80008258 00005198 FC 60 08 90 */ fmr f3, f1 +/* 8000825C 0000519C FC 80 10 90 */ fmr f4, f2 +/* 80008260 000051A0 FC A0 08 90 */ fmr f5, f1 +/* 80008264 000051A4 C0 C2 80 40 */ lfs f6, lbl_80451A40-_SDA2_BASE_(r2) +/* 80008268 000051A8 48 33 ED 91 */ bl C_MTXOrtho +/* 8000826C 000051AC 38 61 00 10 */ addi r3, r1, 0x10 +/* 80008270 000051B0 38 80 00 01 */ li r4, 1 +/* 80008274 000051B4 48 35 7E 61 */ bl GXSetProjection +/* 80008278 000051B8 3C 60 80 3A */ lis r3, lbl_803A2FD8@ha +/* 8000827C 000051BC 38 63 2F D8 */ addi r3, r3, lbl_803A2FD8@l +/* 80008280 000051C0 38 80 00 00 */ li r4, 0 +/* 80008284 000051C4 48 35 7F C9 */ bl GXLoadPosMtxImm +/* 80008288 000051C8 80 1F 00 00 */ lwz r0, 0(r31) +/* 8000828C 000051CC 90 01 00 08 */ stw r0, 8(r1) +/* 80008290 000051D0 38 60 00 04 */ li r3, 4 +/* 80008294 000051D4 38 81 00 08 */ addi r4, r1, 8 +/* 80008298 000051D8 48 35 57 B1 */ bl GXSetChanMatColor +/* 8000829C 000051DC 38 60 00 00 */ li r3, 0 +/* 800082A0 000051E0 48 35 80 4D */ bl GXSetCurrentMtx +/* 800082A4 000051E4 48 35 32 E9 */ bl GXClearVtxDesc +/* 800082A8 000051E8 38 60 00 09 */ li r3, 9 +/* 800082AC 000051EC 38 80 00 01 */ li r4, 1 +/* 800082B0 000051F0 48 35 2C 09 */ bl GXSetVtxDesc +/* 800082B4 000051F4 38 60 00 00 */ li r3, 0 +/* 800082B8 000051F8 38 80 00 09 */ li r4, 9 +/* 800082BC 000051FC 38 A0 00 01 */ li r5, 1 +/* 800082C0 00005200 38 C0 00 01 */ li r6, 1 +/* 800082C4 00005204 38 E0 00 00 */ li r7, 0 +/* 800082C8 00005208 48 35 32 FD */ bl GXSetVtxAttrFmt +/* 800082CC 0000520C 38 60 00 80 */ li r3, 0x80 +/* 800082D0 00005210 38 80 00 00 */ li r4, 0 +/* 800082D4 00005214 38 A0 00 04 */ li r5, 4 +/* 800082D8 00005218 48 35 44 8D */ bl GXBegin +/* 800082DC 0000521C 38 A0 00 00 */ li r5, 0 +/* 800082E0 00005220 3C 80 CC 01 */ lis r4, 0xCC008000@ha +/* 800082E4 00005224 98 A4 80 00 */ stb r5, 0xCC008000@l(r4) +/* 800082E8 00005228 98 A4 80 00 */ stb r5, -0x8000(r4) +/* 800082EC 0000522C 38 60 FF FB */ li r3, -5 +/* 800082F0 00005230 98 64 80 00 */ stb r3, -0x8000(r4) +/* 800082F4 00005234 38 00 00 01 */ li r0, 1 +/* 800082F8 00005238 98 04 80 00 */ stb r0, -0x8000(r4) +/* 800082FC 0000523C 98 A4 80 00 */ stb r5, -0x8000(r4) +/* 80008300 00005240 98 64 80 00 */ stb r3, -0x8000(r4) +/* 80008304 00005244 98 04 80 00 */ stb r0, -0x8000(r4) +/* 80008308 00005248 98 04 80 00 */ stb r0, -0x8000(r4) +/* 8000830C 0000524C 98 64 80 00 */ stb r3, -0x8000(r4) +/* 80008310 00005250 98 A4 80 00 */ stb r5, -0x8000(r4) +/* 80008314 00005254 98 04 80 00 */ stb r0, -0x8000(r4) +/* 80008318 00005258 98 64 80 00 */ stb r3, -0x8000(r4) +/* 8000831C 0000525C 83 E1 00 5C */ lwz r31, 0x5c(r1) +/* 80008320 00005260 80 01 00 64 */ lwz r0, 0x64(r1) +/* 80008324 00005264 7C 08 03 A6 */ mtlr r0 +/* 80008328 00005268 38 21 00 60 */ addi r1, r1, 0x60 +/* 8000832C 0000526C 4E 80 00 20 */ blr diff --git a/include/m_Do/m_Do_graphic/asm/func_80008330.s b/include/m_Do/m_Do_graphic/asm/func_80008330.s new file mode 100644 index 00000000000..a6432747afb --- /dev/null +++ b/include/m_Do/m_Do_graphic/asm/func_80008330.s @@ -0,0 +1,65 @@ +/* 80008330 00005270 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80008334 00005274 7C 08 02 A6 */ mflr r0 +/* 80008338 00005278 90 01 00 24 */ stw r0, 0x24(r1) +/* 8000833C 0000527C 88 0D 86 66 */ lbz r0, lbl_80450BE6-_SDA_BASE_(r13) +/* 80008340 00005280 28 00 00 00 */ cmplwi r0, 0 +/* 80008344 00005284 41 82 00 64 */ beq lbl_800083A8 +/* 80008348 00005288 C0 2D 86 5C */ lfs f1, lbl_80450BDC-_SDA_BASE_(r13) +/* 8000834C 0000528C C0 0D 86 60 */ lfs f0, lbl_80450BE0-_SDA_BASE_(r13) +/* 80008350 00005290 EC 21 00 2A */ fadds f1, f1, f0 +/* 80008354 00005294 D0 2D 86 5C */ stfs f1, lbl_80450BDC-_SDA_BASE_(r13) +/* 80008358 00005298 C0 02 80 38 */ lfs f0, lbl_80451A38-_SDA2_BASE_(r2) +/* 8000835C 0000529C FC 01 00 40 */ fcmpo cr0, f1, f0 +/* 80008360 000052A0 40 80 00 14 */ bge lbl_80008374 +/* 80008364 000052A4 D0 0D 86 5C */ stfs f0, lbl_80450BDC-_SDA_BASE_(r13) +/* 80008368 000052A8 38 00 00 00 */ li r0, 0 +/* 8000836C 000052AC 98 0D 86 66 */ stb r0, lbl_80450BE6-_SDA_BASE_(r13) +/* 80008370 000052B0 48 00 00 14 */ b lbl_80008384 +lbl_80008374: +/* 80008374 000052B4 C0 02 80 3C */ lfs f0, lbl_80451A3C-_SDA2_BASE_(r2) +/* 80008378 000052B8 FC 01 00 40 */ fcmpo cr0, f1, f0 +/* 8000837C 000052BC 40 81 00 08 */ ble lbl_80008384 +/* 80008380 000052C0 D0 0D 86 5C */ stfs f0, lbl_80450BDC-_SDA_BASE_(r13) +lbl_80008384: +/* 80008384 000052C4 C0 22 80 44 */ lfs f1, lbl_80451A44-_SDA2_BASE_(r2) +/* 80008388 000052C8 C0 0D 86 5C */ lfs f0, lbl_80450BDC-_SDA_BASE_(r13) +/* 8000838C 000052CC EC 01 00 32 */ fmuls f0, f1, f0 +/* 80008390 000052D0 FC 00 00 1E */ fctiwz f0, f0 +/* 80008394 000052D4 D8 01 00 10 */ stfd f0, 0x10(r1) +/* 80008398 000052D8 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8000839C 000052DC 38 6D 80 14 */ addi r3, r13, 0x80450594 - 0x80458580 /*SDA HACK; original: lbl_80450594-_SDA_BASE_*/ +/* 800083A0 000052E0 98 03 00 03 */ stb r0, 3(r3) +/* 800083A4 000052E4 48 00 00 48 */ b lbl_800083EC +lbl_800083A8: +/* 800083A8 000052E8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha +/* 800083AC 000052EC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l +/* 800083B0 000052F0 3C 63 00 02 */ addis r3, r3, 2 +/* 800083B4 000052F4 88 83 DD F8 */ lbz r4, -0x2208(r3) +/* 800083B8 000052F8 28 04 00 FF */ cmplwi r4, 0xff +/* 800083BC 000052FC 41 82 00 24 */ beq lbl_800083E0 +/* 800083C0 00005300 38 00 00 00 */ li r0, 0 +/* 800083C4 00005304 98 0D 80 14 */ stb r0, lbl_80450594-_SDA_BASE_(r13) +/* 800083C8 00005308 38 6D 80 14 */ addi r3, r13, 0x80450594 - 0x80458580 /*SDA HACK; original: lbl_80450594-_SDA_BASE_*/ +/* 800083CC 0000530C 98 03 00 01 */ stb r0, 1(r3) +/* 800083D0 00005310 98 03 00 02 */ stb r0, 2(r3) +/* 800083D4 00005314 20 04 00 FF */ subfic r0, r4, 0xff +/* 800083D8 00005318 98 03 00 03 */ stb r0, 3(r3) +/* 800083DC 0000531C 48 00 00 10 */ b lbl_800083EC +lbl_800083E0: +/* 800083E0 00005320 38 00 00 00 */ li r0, 0 +/* 800083E4 00005324 38 6D 80 14 */ addi r3, r13, 0x80450594 - 0x80458580 /*SDA HACK; original: lbl_80450594-_SDA_BASE_*/ +/* 800083E8 00005328 98 03 00 03 */ stb r0, 3(r3) +lbl_800083EC: +/* 800083EC 0000532C 38 6D 80 14 */ addi r3, r13, 0x80450594 - 0x80458580 /*SDA HACK; original: lbl_80450594-_SDA_BASE_*/ +/* 800083F0 00005330 88 03 00 03 */ lbz r0, 3(r3) +/* 800083F4 00005334 28 00 00 00 */ cmplwi r0, 0 +/* 800083F8 00005338 41 82 00 14 */ beq lbl_8000840C +/* 800083FC 0000533C 80 0D 80 14 */ lwz r0, lbl_80450594-_SDA_BASE_(r13) +/* 80008400 00005340 90 01 00 08 */ stw r0, 8(r1) +/* 80008404 00005344 38 61 00 08 */ addi r3, r1, 8 +/* 80008408 00005348 4B FF FC ED */ bl darwFilter__F8_GXColor +lbl_8000840C: +/* 8000840C 0000534C 80 01 00 24 */ lwz r0, 0x24(r1) +/* 80008410 00005350 7C 08 03 A6 */ mtlr r0 +/* 80008414 00005354 38 21 00 20 */ addi r1, r1, 0x20 +/* 80008418 00005358 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/m_Do/m_Do_graphic/asm/func_8000841C.s b/include/m_Do/m_Do_graphic/asm/func_8000841C.s new file mode 100644 index 00000000000..df6ccd6e85e --- /dev/null +++ b/include/m_Do/m_Do_graphic/asm/func_8000841C.s @@ -0,0 +1 @@ +/* 8000841C 0000535C 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/m_Do/m_Do_graphic/asm/func_80008420.s b/include/m_Do/m_Do_graphic/asm/func_80008420.s new file mode 100644 index 00000000000..9a4d2646149 --- /dev/null +++ b/include/m_Do/m_Do_graphic/asm/func_80008420.s @@ -0,0 +1 @@ +/* 80008420 00005360 4E 80 00 20 */ blr diff --git a/include/m_Do/m_Do_graphic/asm/func_80008424.s b/include/m_Do/m_Do_graphic/asm/func_80008424.s new file mode 100644 index 00000000000..077c1e7429e --- /dev/null +++ b/include/m_Do/m_Do_graphic/asm/func_80008424.s @@ -0,0 +1,11 @@ +/* 80008424 00005364 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80008428 00005368 7C 08 02 A6 */ mflr r0 +/* 8000842C 0000536C 90 01 00 14 */ stw r0, 0x14(r1) +/* 80008430 00005370 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha +/* 80008434 00005374 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l +/* 80008438 00005378 38 63 5F 64 */ addi r3, r3, 0x5f64 +/* 8000843C 0000537C 48 04 E0 FD */ bl reset__12dDlst_list_cFv +/* 80008440 00005380 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80008444 00005384 7C 08 03 A6 */ mtlr r0 +/* 80008448 00005388 38 21 00 10 */ addi r1, r1, 0x10 +/* 8000844C 0000538C 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/m_Do/m_Do_graphic/asm/func_80008450.s b/include/m_Do/m_Do_graphic/asm/func_80008450.s new file mode 100644 index 00000000000..bf523a89b15 --- /dev/null +++ b/include/m_Do/m_Do_graphic/asm/func_80008450.s @@ -0,0 +1,9 @@ +/* 80008450 00005390 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80008454 00005394 7C 08 02 A6 */ mflr r0 +/* 80008458 00005398 90 01 00 14 */ stw r0, 0x14(r1) +/* 8000845C 0000539C 4B FF FF C9 */ bl dScnPly_BeforeOfPaint__Fv +/* 80008460 000053A0 38 60 00 01 */ li r3, 1 +/* 80008464 000053A4 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80008468 000053A8 7C 08 03 A6 */ mtlr r0 +/* 8000846C 000053AC 38 21 00 10 */ addi r1, r1, 0x10 +/* 80008470 000053B0 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/m_Do/m_Do_graphic/asm/func_80008474.s b/include/m_Do/m_Do_graphic/asm/func_80008474.s new file mode 100644 index 00000000000..9ce80b5ebf7 --- /dev/null +++ b/include/m_Do/m_Do_graphic/asm/func_80008474.s @@ -0,0 +1,116 @@ +/* 80008474 000053B4 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80008478 000053B8 7C 08 02 A6 */ mflr r0 +/* 8000847C 000053BC 90 01 00 14 */ stw r0, 0x14(r1) +/* 80008480 000053C0 3C 60 80 3F */ lis r3, g_HIO@ha +/* 80008484 000053C4 38 A3 1B BC */ addi r5, r3, g_HIO@l +/* 80008488 000053C8 88 C5 00 16 */ lbz r6, 0x16(r5) +/* 8000848C 000053CC 54 C0 07 BD */ rlwinm. r0, r6, 0, 0x1e, 0x1e +/* 80008490 000053D0 41 82 00 28 */ beq lbl_800084B8 +/* 80008494 000053D4 38 00 00 00 */ li r0, 0 +/* 80008498 000053D8 80 6D 8F D8 */ lwz r3, lbl_80451558-_SDA_BASE_(r13) +/* 8000849C 000053DC 98 03 01 0C */ stb r0, 0x10c(r3) +/* 800084A0 000053E0 80 6D 8F D8 */ lwz r3, lbl_80451558-_SDA_BASE_(r13) +/* 800084A4 000053E4 98 03 01 30 */ stb r0, 0x130(r3) +/* 800084A8 000053E8 38 00 00 01 */ li r0, 1 +/* 800084AC 000053EC 80 6D 8F 48 */ lwz r3, lbl_804514C8-_SDA_BASE_(r13) +/* 800084B0 000053F0 98 03 00 0C */ stb r0, 0xc(r3) +/* 800084B4 000053F4 48 00 00 A0 */ b lbl_80008554 +lbl_800084B8: +/* 800084B8 000053F8 80 6D 8C 38 */ lwz r3, lbl_804511B8-_SDA_BASE_(r13) +/* 800084BC 000053FC 88 83 00 68 */ lbz r4, 0x68(r3) +/* 800084C0 00005400 3C 60 80 43 */ lis r3, lbl_804343F0@ha +/* 800084C4 00005404 38 63 43 F0 */ addi r3, r3, lbl_804343F0@l +/* 800084C8 00005408 88 03 00 22 */ lbz r0, 0x22(r3) +/* 800084CC 0000540C 7C 00 07 74 */ extsb r0, r0 +/* 800084D0 00005410 7C 00 00 34 */ cntlzw r0, r0 +/* 800084D4 00005414 54 07 DE 3F */ rlwinm. r7, r0, 0x1b, 0x18, 0x1f +/* 800084D8 00005418 38 60 00 00 */ li r3, 0 +/* 800084DC 0000541C 41 82 00 1C */ beq lbl_800084F8 +/* 800084E0 00005420 88 05 00 15 */ lbz r0, 0x15(r5) +/* 800084E4 00005424 28 00 00 00 */ cmplwi r0, 0 +/* 800084E8 00005428 41 82 00 10 */ beq lbl_800084F8 +/* 800084EC 0000542C 2C 04 00 00 */ cmpwi r4, 0 +/* 800084F0 00005430 40 82 00 08 */ bne lbl_800084F8 +/* 800084F4 00005434 38 60 00 01 */ li r3, 1 +lbl_800084F8: +/* 800084F8 00005438 54 64 06 3E */ clrlwi r4, r3, 0x18 +/* 800084FC 0000543C 38 60 00 00 */ li r3, 0 +/* 80008500 00005440 2C 07 00 00 */ cmpwi r7, 0 +/* 80008504 00005444 41 82 00 10 */ beq lbl_80008514 +/* 80008508 00005448 54 C0 07 FF */ clrlwi. r0, r6, 0x1f +/* 8000850C 0000544C 41 82 00 08 */ beq lbl_80008514 +/* 80008510 00005450 38 60 00 01 */ li r3, 1 +lbl_80008514: +/* 80008514 00005454 54 65 06 3E */ clrlwi r5, r3, 0x18 +/* 80008518 00005458 88 0D 80 00 */ lbz r0, lbl_80450580-_SDA_BASE_(r13) +/* 8000851C 0000545C 7C 00 07 75 */ extsb. r0, r0 +/* 80008520 00005460 40 82 00 0C */ bne lbl_8000852C +/* 80008524 00005464 38 80 00 00 */ li r4, 0 +/* 80008528 00005468 38 A0 00 00 */ li r5, 0 +lbl_8000852C: +/* 8000852C 0000546C 30 04 FF FF */ addic r0, r4, -1 +/* 80008530 00005470 7C 00 21 10 */ subfe r0, r0, r4 +/* 80008534 00005474 80 6D 8F D8 */ lwz r3, lbl_80451558-_SDA_BASE_(r13) +/* 80008538 00005478 98 03 01 0C */ stb r0, 0x10c(r3) +/* 8000853C 0000547C 80 6D 8F D8 */ lwz r3, lbl_80451558-_SDA_BASE_(r13) +/* 80008540 00005480 98 03 01 30 */ stb r0, 0x130(r3) +/* 80008544 00005484 30 05 FF FF */ addic r0, r5, -1 +/* 80008548 00005488 7C 00 29 10 */ subfe r0, r0, r5 +/* 8000854C 0000548C 80 6D 8F 48 */ lwz r3, lbl_804514C8-_SDA_BASE_(r13) +/* 80008550 00005490 98 03 00 0C */ stb r0, 0xc(r3) +lbl_80008554: +/* 80008554 00005494 38 60 00 01 */ li r3, 1 +/* 80008558 00005498 48 35 77 79 */ bl GXSetZCompLoc +/* 8000855C 0000549C 38 60 00 00 */ li r3, 0 +/* 80008560 000054A0 38 80 00 07 */ li r4, 7 +/* 80008564 000054A4 38 A0 00 00 */ li r5, 0 +/* 80008568 000054A8 48 35 77 35 */ bl GXSetZMode +/* 8000856C 000054AC 38 60 00 01 */ li r3, 1 +/* 80008570 000054B0 38 80 00 04 */ li r4, 4 +/* 80008574 000054B4 38 A0 00 05 */ li r5, 5 +/* 80008578 000054B8 38 C0 00 00 */ li r6, 0 +/* 8000857C 000054BC 48 35 76 75 */ bl GXSetBlendMode +/* 80008580 000054C0 38 60 00 04 */ li r3, 4 +/* 80008584 000054C4 38 80 00 00 */ li r4, 0 +/* 80008588 000054C8 38 A0 00 01 */ li r5, 1 +/* 8000858C 000054CC 38 C0 00 04 */ li r6, 4 +/* 80008590 000054D0 38 E0 00 00 */ li r7, 0 +/* 80008594 000054D4 48 35 70 91 */ bl GXSetAlphaCompare +/* 80008598 000054D8 80 0D 80 80 */ lwz r0, lbl_80450600-_SDA_BASE_(r13) +/* 8000859C 000054DC 90 01 00 08 */ stw r0, 8(r1) +/* 800085A0 000054E0 38 60 00 00 */ li r3, 0 +/* 800085A4 000054E4 C0 22 80 38 */ lfs f1, lbl_80451A38-_SDA2_BASE_(r2) +/* 800085A8 000054E8 FC 40 08 90 */ fmr f2, f1 +/* 800085AC 000054EC FC 60 08 90 */ fmr f3, f1 +/* 800085B0 000054F0 FC 80 08 90 */ fmr f4, f1 +/* 800085B4 000054F4 38 81 00 08 */ addi r4, r1, 8 +/* 800085B8 000054F8 48 35 73 01 */ bl GXSetFog +/* 800085BC 000054FC 38 60 00 00 */ li r3, 0 +/* 800085C0 00005500 38 80 00 00 */ li r4, 0 +/* 800085C4 00005504 38 A0 00 00 */ li r5, 0 +/* 800085C8 00005508 48 35 75 05 */ bl GXSetFogRangeAdj +/* 800085CC 0000550C 38 60 00 00 */ li r3, 0 +/* 800085D0 00005510 48 35 43 DD */ bl GXSetCoPlanar +/* 800085D4 00005514 38 60 00 00 */ li r3, 0 +/* 800085D8 00005518 38 80 00 11 */ li r4, 0x11 +/* 800085DC 0000551C 38 A0 00 00 */ li r5, 0 +/* 800085E0 00005520 48 35 70 89 */ bl GXSetZTexture +/* 800085E4 00005524 38 60 00 01 */ li r3, 1 +/* 800085E8 00005528 48 35 77 F1 */ bl GXSetDither +/* 800085EC 0000552C 38 60 00 00 */ li r3, 0 +/* 800085F0 00005530 48 35 7F E1 */ bl GXSetClipMode +/* 800085F4 00005534 38 60 00 00 */ li r3, 0 +/* 800085F8 00005538 48 35 43 8D */ bl GXSetCullMode +/* 800085FC 0000553C 80 6D 8F B8 */ lwz r3, lbl_80451538-_SDA_BASE_(r13) +/* 80008600 00005540 80 8D 80 20 */ lwz r4, lbl_804505A0-_SDA_BASE_(r13) +/* 80008604 00005544 48 2D CB 95 */ bl JUTVideo_NS_setRenderMode +/* 80008608 00005548 80 6D 8C 40 */ lwz r3, lbl_804511C0-_SDA_BASE_(r13) +/* 8000860C 0000554C 81 83 00 00 */ lwz r12, 0(r3) +/* 80008610 00005550 81 8C 00 10 */ lwz r12, 0x10(r12) +/* 80008614 00005554 7D 89 03 A6 */ mtctr r12 +/* 80008618 00005558 4E 80 04 21 */ bctrl +/* 8000861C 0000555C 38 60 00 01 */ li r3, 1 +/* 80008620 00005560 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80008624 00005564 7C 08 03 A6 */ mtlr r0 +/* 80008628 00005568 38 21 00 10 */ addi r1, r1, 0x10 +/* 8000862C 0000556C 4E 80 00 20 */ blr diff --git a/include/m_Do/m_Do_graphic/asm/func_80008630.s b/include/m_Do/m_Do_graphic/asm/func_80008630.s new file mode 100644 index 00000000000..79debe26626 --- /dev/null +++ b/include/m_Do/m_Do_graphic/asm/func_80008630.s @@ -0,0 +1,754 @@ +/* 80008630 00005570 94 21 FE D0 */ stwu r1, -0x130(r1) +/* 80008634 00005574 7C 08 02 A6 */ mflr r0 +/* 80008638 00005578 90 01 01 34 */ stw r0, 0x134(r1) +/* 8000863C 0000557C DB E1 01 20 */ stfd f31, 0x120(r1) +/* 80008640 00005580 F3 E1 01 28 */ psq_st f31, 296(r1), 0, 0 +/* 80008644 00005584 DB C1 01 10 */ stfd f30, 0x110(r1) +/* 80008648 00005588 F3 C1 01 18 */ psq_st f30, 280(r1), 0, 0 +/* 8000864C 0000558C 39 61 01 10 */ addi r11, r1, 0x110 +/* 80008650 00005590 48 35 9B 5D */ bl _savegpr_17 +/* 80008654 00005594 7C 7F 1B 78 */ mr r31, r3 +/* 80008658 00005598 7C 99 23 78 */ mr r25, r4 +/* 8000865C 0000559C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha +/* 80008660 000055A0 3A C3 61 C0 */ addi r22, r3, g_dComIfG_gameInfo@l +/* 80008664 000055A4 80 16 5D B4 */ lwz r0, 0x5db4(r22) +/* 80008668 000055A8 28 00 00 00 */ cmplwi r0, 0 +/* 8000866C 000055AC 41 82 0A F0 */ beq lbl_8000915C +/* 80008670 000055B0 88 0D 86 67 */ lbz r0, lbl_80450BE7-_SDA_BASE_(r13) +/* 80008674 000055B4 2C 00 00 00 */ cmpwi r0, 0 +/* 80008678 000055B8 41 82 00 3C */ beq lbl_800086B4 +/* 8000867C 000055BC 38 61 00 4C */ addi r3, r1, 0x4c +/* 80008680 000055C0 48 35 7B 85 */ bl GXGetProjectionv +/* 80008684 000055C4 38 61 00 34 */ addi r3, r1, 0x34 +/* 80008688 000055C8 48 35 7E 25 */ bl GXGetViewportv +/* 8000868C 000055CC C0 3F 00 E4 */ lfs f1, 0xe4(r31) +/* 80008690 000055D0 C0 5F 00 E8 */ lfs f2, 0xe8(r31) +/* 80008694 000055D4 C0 7F 00 EC */ lfs f3, 0xec(r31) +/* 80008698 000055D8 38 7F 01 40 */ addi r3, r31, 0x140 +/* 8000869C 000055DC 38 81 00 4C */ addi r4, r1, 0x4c +/* 800086A0 000055E0 38 A1 00 34 */ addi r5, r1, 0x34 +/* 800086A4 000055E4 38 C1 00 1C */ addi r6, r1, 0x1c +/* 800086A8 000055E8 38 E1 00 18 */ addi r7, r1, 0x18 +/* 800086AC 000055EC 39 01 00 14 */ addi r8, r1, 0x14 +/* 800086B0 000055F0 48 35 78 B1 */ bl GXProject +lbl_800086B4: +/* 800086B4 000055F4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha +/* 800086B8 000055F8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l +/* 800086BC 000055FC 3A E3 5D 74 */ addi r23, r3, 0x5d74 +/* 800086C0 00005600 82 23 5D 74 */ lwz r17, 0x5d74(r3) +/* 800086C4 00005604 C3 C2 80 48 */ lfs f30, lbl_80451A48-_SDA2_BASE_(r2) +/* 800086C8 00005608 48 17 8F 79 */ bl dCam_getBody +/* 800086CC 0000560C 80 03 01 A4 */ lwz r0, 0x1a4(r3) +/* 800086D0 00005610 2C 00 00 04 */ cmpwi r0, 4 +/* 800086D4 00005614 41 82 02 74 */ beq lbl_80008948 +/* 800086D8 00005618 48 17 8F 69 */ bl dCam_getBody +/* 800086DC 0000561C 80 03 01 A4 */ lwz r0, 0x1a4(r3) +/* 800086E0 00005620 2C 00 00 07 */ cmpwi r0, 7 +/* 800086E4 00005624 41 82 02 64 */ beq lbl_80008948 +/* 800086E8 00005628 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha +/* 800086EC 0000562C 3A A3 61 C0 */ addi r21, r3, g_dComIfG_gameInfo@l +/* 800086F0 00005630 88 15 5D B0 */ lbz r0, 0x5db0(r21) +/* 800086F4 00005634 7C 00 07 74 */ extsb r0, r0 +/* 800086F8 00005638 1C 00 00 38 */ mulli r0, r0, 0x38 +/* 800086FC 0000563C 7C 97 00 2E */ lwzx r4, r23, r0 +/* 80008700 00005640 38 75 56 B8 */ addi r3, r21, 0x56b8 +/* 80008704 00005644 C0 22 80 4C */ lfs f1, lbl_80451A4C-_SDA2_BASE_(r2) +/* 80008708 00005648 28 04 00 00 */ cmplwi r4, 0 +/* 8000870C 0000564C 41 82 00 0C */ beq lbl_80008718 +/* 80008710 00005650 C0 04 00 D0 */ lfs f0, 0xd0(r4) +/* 80008714 00005654 48 00 00 08 */ b lbl_8000871C +lbl_80008718: +/* 80008718 00005658 C0 02 80 50 */ lfs f0, lbl_80451A50-_SDA2_BASE_(r2) +lbl_8000871C: +/* 8000871C 0000565C EF E1 00 24 */ fdivs f31, f1, f0 +/* 80008720 00005660 48 06 B0 C5 */ bl dAttention_c_NS_LockonTruth +/* 80008724 00005664 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 80008728 00005668 41 82 01 A8 */ beq lbl_800088D0 +/* 8000872C 0000566C 80 76 5D B4 */ lwz r3, 0x5db4(r22) +/* 80008730 00005670 81 83 06 28 */ lwz r12, 0x628(r3) +/* 80008734 00005674 81 8C 00 F4 */ lwz r12, 0xf4(r12) +/* 80008738 00005678 7D 89 03 A6 */ mtctr r12 +/* 8000873C 0000567C 4E 80 04 21 */ bctrl +/* 80008740 00005680 90 61 00 0C */ stw r3, 0xc(r1) +/*.global fpcSch_JudgeByID*/ +/* 80008744 00005684 3C 60 80 02 */ lis r3, fpcSch_JudgeByID@ha +/*.global fpcSch_JudgeByID*/ +/* 80008748 00005688 38 63 35 90 */ addi r3, r3, fpcSch_JudgeByID@l +/* 8000874C 0000568C 38 81 00 0C */ addi r4, r1, 0xc +/* 80008750 00005690 48 01 10 A9 */ bl fopAcIt_Judge +/* 80008754 00005694 28 03 00 00 */ cmplwi r3, 0 +/* 80008758 00005698 41 82 01 F0 */ beq lbl_80008948 +/* 8000875C 0000569C C0 03 05 38 */ lfs f0, 0x538(r3) +/* 80008760 000056A0 D0 01 00 28 */ stfs f0, 0x28(r1) +/* 80008764 000056A4 C0 43 05 3C */ lfs f2, 0x53c(r3) +/* 80008768 000056A8 D0 41 00 2C */ stfs f2, 0x2c(r1) +/* 8000876C 000056AC C0 03 05 40 */ lfs f0, 0x540(r3) +/* 80008770 000056B0 D0 01 00 30 */ stfs f0, 0x30(r1) +/* 80008774 000056B4 C0 31 00 DC */ lfs f1, 0xdc(r17) +/* 80008778 000056B8 EC 02 08 28 */ fsubs f0, f2, f1 +/* 8000877C 000056BC FC 00 02 10 */ fabs f0, f0 +/* 80008780 000056C0 FC 40 00 18 */ frsp f2, f0 +/* 80008784 000056C4 C0 02 80 54 */ lfs f0, lbl_80451A54-_SDA2_BASE_(r2) +/* 80008788 000056C8 FC 02 00 40 */ fcmpo cr0, f2, f0 +/* 8000878C 000056CC 40 80 00 08 */ bge lbl_80008794 +/* 80008790 000056D0 D0 21 00 2C */ stfs f1, 0x2c(r1) +lbl_80008794: +/* 80008794 000056D4 38 63 04 D0 */ addi r3, r3, 0x4d0 +/* 80008798 000056D8 38 91 00 D8 */ addi r4, r17, 0xd8 +/* 8000879C 000056DC 48 33 EC 01 */ bl PSVECSquareDistance +/* 800087A0 000056E0 C0 02 80 38 */ lfs f0, lbl_80451A38-_SDA2_BASE_(r2) +/* 800087A4 000056E4 FC 01 00 40 */ fcmpo cr0, f1, f0 +/* 800087A8 000056E8 40 81 00 58 */ ble lbl_80008800 +/* 800087AC 000056EC FC 00 08 34 */ frsqrte f0, f1 +/* 800087B0 000056F0 C8 82 80 58 */ lfd f4, lbl_80451A58-_SDA2_BASE_(r2) +/* 800087B4 000056F4 FC 44 00 32 */ fmul f2, f4, f0 +/* 800087B8 000056F8 C8 62 80 60 */ lfd f3, lbl_80451A60-_SDA2_BASE_(r2) +/* 800087BC 000056FC FC 00 00 32 */ fmul f0, f0, f0 +/* 800087C0 00005700 FC 01 00 32 */ fmul f0, f1, f0 +/* 800087C4 00005704 FC 03 00 28 */ fsub f0, f3, f0 +/* 800087C8 00005708 FC 02 00 32 */ fmul f0, f2, f0 +/* 800087CC 0000570C FC 44 00 32 */ fmul f2, f4, f0 +/* 800087D0 00005710 FC 00 00 32 */ fmul f0, f0, f0 +/* 800087D4 00005714 FC 01 00 32 */ fmul f0, f1, f0 +/* 800087D8 00005718 FC 03 00 28 */ fsub f0, f3, f0 +/* 800087DC 0000571C FC 02 00 32 */ fmul f0, f2, f0 +/* 800087E0 00005720 FC 44 00 32 */ fmul f2, f4, f0 +/* 800087E4 00005724 FC 00 00 32 */ fmul f0, f0, f0 +/* 800087E8 00005728 FC 01 00 32 */ fmul f0, f1, f0 +/* 800087EC 0000572C FC 03 00 28 */ fsub f0, f3, f0 +/* 800087F0 00005730 FC 02 00 32 */ fmul f0, f2, f0 +/* 800087F4 00005734 FC 21 00 32 */ fmul f1, f1, f0 +/* 800087F8 00005738 FC 20 08 18 */ frsp f1, f1 +/* 800087FC 0000573C 48 00 00 88 */ b lbl_80008884 +lbl_80008800: +/* 80008800 00005740 C8 02 80 68 */ lfd f0, lbl_80451A68-_SDA2_BASE_(r2) +/* 80008804 00005744 FC 01 00 40 */ fcmpo cr0, f1, f0 +/* 80008808 00005748 40 80 00 10 */ bge lbl_80008818 +/* 8000880C 0000574C 3C 60 80 45 */ lis r3, lbl_80450AE0@ha +/* 80008810 00005750 C0 23 0A E0 */ lfs f1, lbl_80450AE0@l(r3) +/* 80008814 00005754 48 00 00 70 */ b lbl_80008884 +lbl_80008818: +/* 80008818 00005758 D0 21 00 08 */ stfs f1, 8(r1) +/* 8000881C 0000575C 80 81 00 08 */ lwz r4, 8(r1) +/* 80008820 00005760 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8 +/* 80008824 00005764 3C 00 7F 80 */ lis r0, 0x7f80 +/* 80008828 00005768 7C 03 00 00 */ cmpw r3, r0 +/* 8000882C 0000576C 41 82 00 14 */ beq lbl_80008840 +/* 80008830 00005770 40 80 00 40 */ bge lbl_80008870 +/* 80008834 00005774 2C 03 00 00 */ cmpwi r3, 0 +/* 80008838 00005778 41 82 00 20 */ beq lbl_80008858 +/* 8000883C 0000577C 48 00 00 34 */ b lbl_80008870 +lbl_80008840: +/* 80008840 00005780 54 80 02 7F */ clrlwi. r0, r4, 9 +/* 80008844 00005784 41 82 00 0C */ beq lbl_80008850 +/* 80008848 00005788 38 00 00 01 */ li r0, 1 +/* 8000884C 0000578C 48 00 00 28 */ b lbl_80008874 +lbl_80008850: +/* 80008850 00005790 38 00 00 02 */ li r0, 2 +/* 80008854 00005794 48 00 00 20 */ b lbl_80008874 +lbl_80008858: +/* 80008858 00005798 54 80 02 7F */ clrlwi. r0, r4, 9 +/* 8000885C 0000579C 41 82 00 0C */ beq lbl_80008868 +/* 80008860 000057A0 38 00 00 05 */ li r0, 5 +/* 80008864 000057A4 48 00 00 10 */ b lbl_80008874 +lbl_80008868: +/* 80008868 000057A8 38 00 00 03 */ li r0, 3 +/* 8000886C 000057AC 48 00 00 08 */ b lbl_80008874 +lbl_80008870: +/* 80008870 000057B0 38 00 00 04 */ li r0, 4 +lbl_80008874: +/* 80008874 000057B4 2C 00 00 01 */ cmpwi r0, 1 +/* 80008878 000057B8 40 82 00 0C */ bne lbl_80008884 +/* 8000887C 000057BC 3C 60 80 45 */ lis r3, lbl_80450AE0@ha +/* 80008880 000057C0 C0 23 0A E0 */ lfs f1, lbl_80450AE0@l(r3) +lbl_80008884: +/* 80008884 000057C4 C0 02 80 70 */ lfs f0, lbl_80451A70-_SDA2_BASE_(r2) +/* 80008888 000057C8 EC 00 07 F2 */ fmuls f0, f0, f31 +/* 8000888C 000057CC EC 41 00 24 */ fdivs f2, f1, f0 +/* 80008890 000057D0 C0 02 80 74 */ lfs f0, lbl_80451A74-_SDA2_BASE_(r2) +/* 80008894 000057D4 EC 42 00 28 */ fsubs f2, f2, f0 +/* 80008898 000057D8 C0 02 80 38 */ lfs f0, lbl_80451A38-_SDA2_BASE_(r2) +/* 8000889C 000057DC FC 02 00 40 */ fcmpo cr0, f2, f0 +/* 800088A0 000057E0 40 80 00 0C */ bge lbl_800088AC +/* 800088A4 000057E4 FC 40 00 90 */ fmr f2, f0 +/* 800088A8 000057E8 48 00 00 14 */ b lbl_800088BC +lbl_800088AC: +/* 800088AC 000057EC C0 02 80 3C */ lfs f0, lbl_80451A3C-_SDA2_BASE_(r2) +/* 800088B0 000057F0 FC 02 00 40 */ fcmpo cr0, f2, f0 +/* 800088B4 000057F4 40 81 00 08 */ ble lbl_800088BC +/* 800088B8 000057F8 FC 40 00 90 */ fmr f2, f0 +lbl_800088BC: +/* 800088BC 000057FC C0 22 80 78 */ lfs f1, lbl_80451A78-_SDA2_BASE_(r2) +/* 800088C0 00005800 C0 02 80 7C */ lfs f0, lbl_80451A7C-_SDA2_BASE_(r2) +/* 800088C4 00005804 EC 00 00 B2 */ fmuls f0, f0, f2 +/* 800088C8 00005808 EF C1 00 28 */ fsubs f30, f1, f0 +/* 800088CC 0000580C 48 00 00 7C */ b lbl_80008948 +lbl_800088D0: +/* 800088D0 00005810 88 15 4F AD */ lbz r0, 0x4fad(r21) +/* 800088D4 00005814 28 00 00 00 */ cmplwi r0, 0 +/* 800088D8 00005818 41 82 00 70 */ beq lbl_80008948 +/* 800088DC 0000581C C0 02 80 80 */ lfs f0, lbl_80451A80-_SDA2_BASE_(r2) +/* 800088E0 00005820 FC 1F 00 40 */ fcmpo cr0, f31, f0 +/* 800088E4 00005824 40 80 00 64 */ bge lbl_80008948 +/* 800088E8 00005828 3C 60 80 43 */ lis r3, lbl_8042CA54@ha +/* 800088EC 0000582C 38 63 CA 54 */ addi r3, r3, lbl_8042CA54@l +/* 800088F0 00005830 C0 23 12 6C */ lfs f1, 0x126c(r3) +/* 800088F4 00005834 C0 02 80 84 */ lfs f0, lbl_80451A84-_SDA2_BASE_(r2) +/* 800088F8 00005838 FC 01 00 40 */ fcmpo cr0, f1, f0 +/* 800088FC 0000583C 40 80 00 4C */ bge lbl_80008948 +/* 80008900 00005840 C0 02 80 88 */ lfs f0, lbl_80451A88-_SDA2_BASE_(r2) +/* 80008904 00005844 EC 00 07 F2 */ fmuls f0, f0, f31 +/* 80008908 00005848 EC 41 00 24 */ fdivs f2, f1, f0 +/* 8000890C 0000584C C0 02 80 74 */ lfs f0, lbl_80451A74-_SDA2_BASE_(r2) +/* 80008910 00005850 EC 42 00 28 */ fsubs f2, f2, f0 +/* 80008914 00005854 C0 02 80 38 */ lfs f0, lbl_80451A38-_SDA2_BASE_(r2) +/* 80008918 00005858 FC 02 00 40 */ fcmpo cr0, f2, f0 +/* 8000891C 0000585C 40 80 00 0C */ bge lbl_80008928 +/* 80008920 00005860 FC 40 00 90 */ fmr f2, f0 +/* 80008924 00005864 48 00 00 14 */ b lbl_80008938 +lbl_80008928: +/* 80008928 00005868 C0 02 80 3C */ lfs f0, lbl_80451A3C-_SDA2_BASE_(r2) +/* 8000892C 0000586C FC 02 00 40 */ fcmpo cr0, f2, f0 +/* 80008930 00005870 40 81 00 08 */ ble lbl_80008938 +/* 80008934 00005874 FC 40 00 90 */ fmr f2, f0 +lbl_80008938: +/* 80008938 00005878 C0 22 80 78 */ lfs f1, lbl_80451A78-_SDA2_BASE_(r2) +/* 8000893C 0000587C C0 02 80 7C */ lfs f0, lbl_80451A7C-_SDA2_BASE_(r2) +/* 80008940 00005880 EC 00 00 B2 */ fmuls f0, f0, f2 +/* 80008944 00005884 EF C1 00 28 */ fsubs f30, f1, f0 +lbl_80008948: +/* 80008948 00005888 3C 60 80 43 */ lis r3, lbl_8042CA54@ha +/* 8000894C 0000588C 38 63 CA 54 */ addi r3, r3, lbl_8042CA54@l +/* 80008950 00005890 3A A3 12 64 */ addi r21, r3, 0x1264 +/* 80008954 00005894 7E A3 AB 78 */ mr r3, r21 +/* 80008958 00005898 FC 20 F0 90 */ fmr f1, f30 +/* 8000895C 0000589C C0 42 80 8C */ lfs f2, lbl_80451A8C-_SDA2_BASE_(r2) +/* 80008960 000058A0 C0 62 80 90 */ lfs f3, lbl_80451A90-_SDA2_BASE_(r2) +/* 80008964 000058A4 C0 82 80 94 */ lfs f4, lbl_80451A94-_SDA2_BASE_(r2) +/* 80008968 000058A8 48 26 70 15 */ bl cLib_addCalc__FPfffff +/* 8000896C 000058AC C0 15 00 00 */ lfs f0, 0(r21) +/* 80008970 000058B0 FC 00 00 1E */ fctiwz f0, f0 +/* 80008974 000058B4 D8 01 00 A8 */ stfd f0, 0xa8(r1) +/* 80008978 000058B8 80 01 00 AC */ lwz r0, 0xac(r1) +/* 8000897C 000058BC 3B CD 80 18 */ addi r30, r13, 0x80450598 - 0x80458580 /*SDA HACK; original: lbl_80450598-_SDA_BASE_*/ +/* 80008980 000058C0 B0 1E 00 06 */ sth r0, 6(r30) +/* 80008984 000058C4 7C 00 07 34 */ extsh r0, r0 +/* 80008988 000058C8 2C 00 FF 02 */ cmpwi r0, -254 +/* 8000898C 000058CC 41 81 00 0C */ bgt lbl_80008998 +/* 80008990 000058D0 38 00 FF 01 */ li r0, -255 +/* 80008994 000058D4 B0 1E 00 06 */ sth r0, 6(r30) +lbl_80008998: +/* 80008998 000058D8 C0 19 00 00 */ lfs f0, 0(r25) +/* 8000899C 000058DC FC 00 00 1E */ fctiwz f0, f0 +/* 800089A0 000058E0 D8 01 00 A8 */ stfd f0, 0xa8(r1) +/* 800089A4 000058E4 80 01 00 AC */ lwz r0, 0xac(r1) +/* 800089A8 000058E8 54 00 00 38 */ rlwinm r0, r0, 0, 0, 0x1c +/* 800089AC 000058EC 7C 1D 07 34 */ extsh r29, r0 +/* 800089B0 000058F0 C0 19 00 04 */ lfs f0, 4(r25) +/* 800089B4 000058F4 FC 00 00 1E */ fctiwz f0, f0 +/* 800089B8 000058F8 D8 01 00 B0 */ stfd f0, 0xb0(r1) +/* 800089BC 000058FC 80 01 00 B4 */ lwz r0, 0xb4(r1) +/* 800089C0 00005900 54 00 00 38 */ rlwinm r0, r0, 0, 0, 0x1c +/* 800089C4 00005904 7C 03 07 35 */ extsh. r3, r0 +/* 800089C8 00005908 7C 60 FE 70 */ srawi r0, r3, 0x1f +/* 800089CC 0000590C 7C 60 00 78 */ andc r0, r3, r0 +/* 800089D0 00005910 7C 1C 07 34 */ extsh r28, r0 +/* 800089D4 00005914 C0 19 00 08 */ lfs f0, 8(r25) +/* 800089D8 00005918 FC 00 00 1E */ fctiwz f0, f0 +/* 800089DC 0000591C D8 01 00 B8 */ stfd f0, 0xb8(r1) +/* 800089E0 00005920 80 01 00 BC */ lwz r0, 0xbc(r1) +/* 800089E4 00005924 54 00 00 38 */ rlwinm r0, r0, 0, 0, 0x1c +/* 800089E8 00005928 7C 1B 07 34 */ extsh r27, r0 +/* 800089EC 0000592C C0 19 00 0C */ lfs f0, 0xc(r25) +/* 800089F0 00005930 FC 00 00 1E */ fctiwz f0, f0 +/* 800089F4 00005934 D8 01 00 C0 */ stfd f0, 0xc0(r1) +/* 800089F8 00005938 80 01 00 C4 */ lwz r0, 0xc4(r1) +/* 800089FC 0000593C 54 00 00 38 */ rlwinm r0, r0, 0, 0, 0x1c +/* 80008A00 00005940 7C 1A 07 34 */ extsh r26, r0 +/* 80008A04 00005944 83 0D 86 58 */ lwz r24, lbl_80450BD8-_SDA_BASE_(r13) +/* 80008A08 00005948 82 ED 86 50 */ lwz r23, lbl_80450BD0-_SDA_BASE_(r13) +/* 80008A0C 0000594C 40 80 00 50 */ bge lbl_80008A5C +/* 80008A10 00005950 7F 5A 1A 14 */ add r26, r26, r3 +/* 80008A14 00005954 7C 03 00 D0 */ neg r0, r3 +/* 80008A18 00005958 7C 00 0E 70 */ srawi r0, r0, 1 +/* 80008A1C 0000595C 38 60 01 30 */ li r3, 0x130 +/* 80008A20 00005960 54 15 04 3E */ clrlwi r21, r0, 0x10 +/* 80008A24 00005964 7E A4 AB 78 */ mr r4, r21 +/* 80008A28 00005968 38 A0 00 03 */ li r5, 3 +/* 80008A2C 0000596C 38 C0 00 00 */ li r6, 0 +/* 80008A30 00005970 38 E0 00 00 */ li r7, 0 +/* 80008A34 00005974 48 35 51 E9 */ bl GXGetTexBufferSize +/* 80008A38 00005978 7F 18 1A 14 */ add r24, r24, r3 +/* 80008A3C 0000597C 38 60 01 30 */ li r3, 0x130 +/* 80008A40 00005980 7E A4 AB 78 */ mr r4, r21 +/* 80008A44 00005984 80 AD 86 4C */ lwz r5, lbl_80450BCC-_SDA_BASE_(r13) +/* 80008A48 00005988 88 A5 00 00 */ lbz r5, 0(r5) +/* 80008A4C 0000598C 38 C0 00 00 */ li r6, 0 +/* 80008A50 00005990 38 E0 00 00 */ li r7, 0 +/* 80008A54 00005994 48 35 51 C9 */ bl GXGetTexBufferSize +/* 80008A58 00005998 7E F7 1A 14 */ add r23, r23, r3 +lbl_80008A5C: +/* 80008A5C 0000599C 7F 60 0E 70 */ srawi r0, r27, 1 +/* 80008A60 000059A0 54 16 04 3E */ clrlwi r22, r0, 0x10 +/* 80008A64 000059A4 7F 40 07 34 */ extsh r0, r26 +/* 80008A68 000059A8 7C 00 0E 70 */ srawi r0, r0, 1 +/* 80008A6C 000059AC 54 15 04 3E */ clrlwi r21, r0, 0x10 +/* 80008A70 000059B0 80 6D 8F B8 */ lwz r3, lbl_80451538-_SDA_BASE_(r13) +/* 80008A74 000059B4 80 C3 00 04 */ lwz r6, 4(r3) +/* 80008A78 000059B8 38 60 00 00 */ li r3, 0 +/* 80008A7C 000059BC 38 80 00 00 */ li r4, 0 +/* 80008A80 000059C0 38 A0 00 01 */ li r5, 1 +/* 80008A84 000059C4 38 C6 00 32 */ addi r6, r6, 0x32 +/* 80008A88 000059C8 48 35 46 61 */ bl GXSetCopyFilter +/* 80008A8C 000059CC 57 B1 04 3E */ clrlwi r17, r29, 0x10 +/* 80008A90 000059D0 7E 23 8B 78 */ mr r3, r17 +/* 80008A94 000059D4 57 92 04 3E */ clrlwi r18, r28, 0x10 +/* 80008A98 000059D8 7E 44 93 78 */ mr r4, r18 +/* 80008A9C 000059DC 57 73 04 3E */ clrlwi r19, r27, 0x10 +/* 80008AA0 000059E0 7E 65 9B 78 */ mr r5, r19 +/* 80008AA4 000059E4 57 54 04 3E */ clrlwi r20, r26, 0x10 +/* 80008AA8 000059E8 7E 86 A3 78 */ mr r6, r20 +/* 80008AAC 000059EC 48 35 3F D5 */ bl GXSetTexCopySrc +/* 80008AB0 000059F0 7E C3 B3 78 */ mr r3, r22 +/* 80008AB4 000059F4 7E A4 AB 78 */ mr r4, r21 +/* 80008AB8 000059F8 38 A0 00 13 */ li r5, 0x13 +/* 80008ABC 000059FC 38 C0 00 01 */ li r6, 1 +/* 80008AC0 00005A00 48 35 40 71 */ bl GXSetTexCopyDst +/* 80008AC4 00005A04 7F 03 C3 78 */ mr r3, r24 +/* 80008AC8 00005A08 38 80 00 00 */ li r4, 0 +/* 80008ACC 00005A0C 48 35 49 A1 */ bl GXCopyTex +/* 80008AD0 00005A10 7E 23 8B 78 */ mr r3, r17 +/* 80008AD4 00005A14 7E 44 93 78 */ mr r4, r18 +/* 80008AD8 00005A18 7E 65 9B 78 */ mr r5, r19 +/* 80008ADC 00005A1C 7E 86 A3 78 */ mr r6, r20 +/* 80008AE0 00005A20 48 35 3F A1 */ bl GXSetTexCopySrc +/* 80008AE4 00005A24 7E C3 B3 78 */ mr r3, r22 +/* 80008AE8 00005A28 7E A4 AB 78 */ mr r4, r21 +/* 80008AEC 00005A2C 80 AD 86 4C */ lwz r5, lbl_80450BCC-_SDA_BASE_(r13) +/* 80008AF0 00005A30 88 A5 00 00 */ lbz r5, 0(r5) +/* 80008AF4 00005A34 38 C0 00 01 */ li r6, 1 +/* 80008AF8 00005A38 48 35 40 39 */ bl GXSetTexCopyDst +/* 80008AFC 00005A3C 7E E3 BB 78 */ mr r3, r23 +/* 80008B00 00005A40 38 80 00 00 */ li r4, 0 +/* 80008B04 00005A44 48 35 49 69 */ bl GXCopyTex +/* 80008B08 00005A48 3C 60 80 3E */ lis r3, lbl_803DD408@ha +/* 80008B0C 00005A4C 38 63 D4 08 */ addi r3, r3, lbl_803DD408@l +/* 80008B10 00005A50 7F 04 C3 78 */ mr r4, r24 +/* 80008B14 00005A54 7E C5 B3 78 */ mr r5, r22 +/* 80008B18 00005A58 7E A6 AB 78 */ mr r6, r21 +/* 80008B1C 00005A5C 38 E0 00 03 */ li r7, 3 +/* 80008B20 00005A60 39 00 00 00 */ li r8, 0 +/* 80008B24 00005A64 39 20 00 00 */ li r9, 0 +/* 80008B28 00005A68 39 40 00 00 */ li r10, 0 +/* 80008B2C 00005A6C 48 35 53 15 */ bl GXInitTexObj +/* 80008B30 00005A70 3C 60 80 3E */ lis r3, lbl_803DD408@ha +/* 80008B34 00005A74 38 63 D4 08 */ addi r3, r3, lbl_803DD408@l +/* 80008B38 00005A78 38 80 00 00 */ li r4, 0 +/* 80008B3C 00005A7C 38 A0 00 00 */ li r5, 0 +/* 80008B40 00005A80 C0 22 80 38 */ lfs f1, lbl_80451A38-_SDA2_BASE_(r2) +/* 80008B44 00005A84 FC 40 08 90 */ fmr f2, f1 +/* 80008B48 00005A88 FC 60 08 90 */ fmr f3, f1 +/* 80008B4C 00005A8C 38 C0 00 00 */ li r6, 0 +/* 80008B50 00005A90 38 E0 00 00 */ li r7, 0 +/* 80008B54 00005A94 39 00 00 00 */ li r8, 0 +/* 80008B58 00005A98 48 35 55 7D */ bl GXInitTexObjLOD +/* 80008B5C 00005A9C 3C 60 80 3E */ lis r3, lbl_803DD3E8@ha +/* 80008B60 00005AA0 38 63 D3 E8 */ addi r3, r3, lbl_803DD3E8@l +/* 80008B64 00005AA4 7E E4 BB 78 */ mr r4, r23 +/* 80008B68 00005AA8 7E C5 B3 78 */ mr r5, r22 +/* 80008B6C 00005AAC 7E A6 AB 78 */ mr r6, r21 +/* 80008B70 00005AB0 80 ED 86 4C */ lwz r7, lbl_80450BCC-_SDA_BASE_(r13) +/* 80008B74 00005AB4 88 E7 00 00 */ lbz r7, 0(r7) +/* 80008B78 00005AB8 39 00 00 00 */ li r8, 0 +/* 80008B7C 00005ABC 39 20 00 00 */ li r9, 0 +/* 80008B80 00005AC0 39 40 00 00 */ li r10, 0 +/* 80008B84 00005AC4 48 35 52 BD */ bl GXInitTexObj +/* 80008B88 00005AC8 3C 60 80 3E */ lis r3, lbl_803DD3E8@ha +/* 80008B8C 00005ACC 38 63 D3 E8 */ addi r3, r3, lbl_803DD3E8@l +/* 80008B90 00005AD0 38 80 00 01 */ li r4, 1 +/* 80008B94 00005AD4 38 A0 00 01 */ li r5, 1 +/* 80008B98 00005AD8 C0 22 80 38 */ lfs f1, lbl_80451A38-_SDA2_BASE_(r2) +/* 80008B9C 00005ADC FC 40 08 90 */ fmr f2, f1 +/* 80008BA0 00005AE0 FC 60 08 90 */ fmr f3, f1 +/* 80008BA4 00005AE4 38 C0 00 00 */ li r6, 0 +/* 80008BA8 00005AE8 38 E0 00 00 */ li r7, 0 +/* 80008BAC 00005AEC 39 00 00 00 */ li r8, 0 +/* 80008BB0 00005AF0 48 35 55 25 */ bl GXInitTexObjLOD +/* 80008BB4 00005AF4 48 35 37 C1 */ bl GXPixModeSync +/* 80008BB8 00005AF8 48 35 5A AD */ bl GXInvalidateTexAll +/* 80008BBC 00005AFC 3C 60 80 3E */ lis r3, lbl_803DD3E8@ha +/* 80008BC0 00005B00 38 63 D3 E8 */ addi r3, r3, lbl_803DD3E8@l +/* 80008BC4 00005B04 38 80 00 01 */ li r4, 1 +/* 80008BC8 00005B08 48 35 58 4D */ bl GXLoadTexObj +/* 80008BCC 00005B0C 3C 60 80 3E */ lis r3, lbl_803DD408@ha +/* 80008BD0 00005B10 38 63 D4 08 */ addi r3, r3, lbl_803DD408@l +/* 80008BD4 00005B14 38 80 00 00 */ li r4, 0 +/* 80008BD8 00005B18 48 35 58 3D */ bl GXLoadTexObj +/* 80008BDC 00005B1C C0 02 80 38 */ lfs f0, lbl_80451A38-_SDA2_BASE_(r2) +/* 80008BE0 00005B20 3C 60 80 43 */ lis r3, lbl_8042CA54@ha +/* 80008BE4 00005B24 3A A3 CA 54 */ addi r21, r3, lbl_8042CA54@l +/* 80008BE8 00005B28 C0 75 12 70 */ lfs f3, 0x1270(r21) +/* 80008BEC 00005B2C FC 00 18 00 */ fcmpu cr0, f0, f3 +/* 80008BF0 00005B30 41 82 00 5C */ beq lbl_80008C4C +/* 80008BF4 00005B34 FC 03 00 40 */ fcmpo cr0, f3, f0 +/* 80008BF8 00005B38 4C 41 13 82 */ cror 2, 1, 2 +/* 80008BFC 00005B3C 40 82 00 28 */ bne lbl_80008C24 +/* 80008C00 00005B40 C0 22 80 98 */ lfs f1, lbl_80451A98-_SDA2_BASE_(r2) +/* 80008C04 00005B44 C0 02 80 9C */ lfs f0, lbl_80451A9C-_SDA2_BASE_(r2) +/* 80008C08 00005B48 EC 00 00 F2 */ fmuls f0, f0, f3 +/* 80008C0C 00005B4C EC 01 00 2A */ fadds f0, f1, f0 +/* 80008C10 00005B50 FC 00 00 1E */ fctiwz f0, f0 +/* 80008C14 00005B54 D8 01 00 C0 */ stfd f0, 0xc0(r1) +/* 80008C18 00005B58 80 01 00 C4 */ lwz r0, 0xc4(r1) +/* 80008C1C 00005B5C B0 1E 00 06 */ sth r0, 6(r30) +/* 80008C20 00005B60 48 00 00 2C */ b lbl_80008C4C +lbl_80008C24: +/* 80008C24 00005B64 C0 42 80 98 */ lfs f2, lbl_80451A98-_SDA2_BASE_(r2) +/* 80008C28 00005B68 C0 22 80 9C */ lfs f1, lbl_80451A9C-_SDA2_BASE_(r2) +/* 80008C2C 00005B6C C0 02 80 3C */ lfs f0, lbl_80451A3C-_SDA2_BASE_(r2) +/* 80008C30 00005B70 EC 00 18 2A */ fadds f0, f0, f3 +/* 80008C34 00005B74 EC 01 00 32 */ fmuls f0, f1, f0 +/* 80008C38 00005B78 EC 02 00 2A */ fadds f0, f2, f0 +/* 80008C3C 00005B7C FC 00 00 1E */ fctiwz f0, f0 +/* 80008C40 00005B80 D8 01 00 C0 */ stfd f0, 0xc0(r1) +/* 80008C44 00005B84 80 01 00 C4 */ lwz r0, 0xc4(r1) +/* 80008C48 00005B88 B0 1E 00 06 */ sth r0, 6(r30) +lbl_80008C4C: +/* 80008C4C 00005B8C 80 6D 80 18 */ lwz r3, lbl_80450598-_SDA_BASE_(r13) +/* 80008C50 00005B90 80 0D 80 1C */ lwz r0, lbl_8045059C-_SDA_BASE_(r13) +/* 80008C54 00005B94 90 61 00 20 */ stw r3, 0x20(r1) +/* 80008C58 00005B98 90 01 00 24 */ stw r0, 0x24(r1) +/* 80008C5C 00005B9C 38 60 00 01 */ li r3, 1 +/* 80008C60 00005BA0 38 81 00 20 */ addi r4, r1, 0x20 +/* 80008C64 00005BA4 48 35 67 79 */ bl GXSetTevColorS10 +/* 80008C68 00005BA8 38 60 00 03 */ li r3, 3 +/* 80008C6C 00005BAC 38 80 00 03 */ li r4, 3 +/* 80008C70 00005BB0 38 A0 00 01 */ li r5, 1 +/* 80008C74 00005BB4 38 C0 00 02 */ li r6, 2 +/* 80008C78 00005BB8 38 E0 00 00 */ li r7, 0 +/* 80008C7C 00005BBC 48 35 69 29 */ bl GXSetTevSwapModeTable +/* 80008C80 00005BC0 38 60 00 00 */ li r3, 0 +/* 80008C84 00005BC4 38 80 00 00 */ li r4, 0 +/* 80008C88 00005BC8 38 A0 00 03 */ li r5, 3 +/* 80008C8C 00005BCC 48 35 68 D1 */ bl GXSetTevSwapMode +/* 80008C90 00005BD0 38 60 00 00 */ li r3, 0 +/* 80008C94 00005BD4 38 80 00 00 */ li r4, 0 +/* 80008C98 00005BD8 48 35 68 69 */ bl GXSetTevKAlphaSel +/* 80008C9C 00005BDC 38 60 00 00 */ li r3, 0 +/* 80008CA0 00005BE0 38 80 00 00 */ li r4, 0 +/* 80008CA4 00005BE4 38 A0 00 00 */ li r5, 0 +/* 80008CA8 00005BE8 38 C0 00 FF */ li r6, 0xff +/* 80008CAC 00005BEC 48 35 6A 49 */ bl GXSetTevOrder +/* 80008CB0 00005BF0 38 60 00 00 */ li r3, 0 +/* 80008CB4 00005BF4 38 80 00 0F */ li r4, 0xf +/* 80008CB8 00005BF8 38 A0 00 0F */ li r5, 0xf +/* 80008CBC 00005BFC 38 C0 00 0F */ li r6, 0xf +/* 80008CC0 00005C00 38 E0 00 0F */ li r7, 0xf +/* 80008CC4 00005C04 48 35 65 61 */ bl GXSetTevColorIn +/* 80008CC8 00005C08 38 60 00 00 */ li r3, 0 +/* 80008CCC 00005C0C 38 80 00 00 */ li r4, 0 +/* 80008CD0 00005C10 38 A0 00 00 */ li r5, 0 +/* 80008CD4 00005C14 38 C0 00 00 */ li r6, 0 +/* 80008CD8 00005C18 38 E0 00 01 */ li r7, 1 +/* 80008CDC 00005C1C 39 00 00 00 */ li r8, 0 +/* 80008CE0 00005C20 48 35 65 CD */ bl GXSetTevColorOp +/* 80008CE4 00005C24 38 60 00 00 */ li r3, 0 +/* 80008CE8 00005C28 38 80 00 06 */ li r4, 6 +/* 80008CEC 00005C2C 38 A0 00 04 */ li r5, 4 +/* 80008CF0 00005C30 38 C0 00 06 */ li r6, 6 +/* 80008CF4 00005C34 38 E0 00 07 */ li r7, 7 +/* 80008CF8 00005C38 48 35 65 71 */ bl GXSetTevAlphaIn +/* 80008CFC 00005C3C 38 60 00 00 */ li r3, 0 +/* 80008D00 00005C40 38 80 00 0F */ li r4, 0xf +/* 80008D04 00005C44 38 A0 00 00 */ li r5, 0 +/* 80008D08 00005C48 38 C0 00 00 */ li r6, 0 +/* 80008D0C 00005C4C 38 E0 00 01 */ li r7, 1 +/* 80008D10 00005C50 39 00 00 00 */ li r8, 0 +/* 80008D14 00005C54 48 35 66 01 */ bl GXSetTevAlphaOp +/* 80008D18 00005C58 38 60 00 01 */ li r3, 1 +/* 80008D1C 00005C5C 38 80 00 00 */ li r4, 0 +/* 80008D20 00005C60 38 A0 00 00 */ li r5, 0 +/* 80008D24 00005C64 38 C0 00 FF */ li r6, 0xff +/* 80008D28 00005C68 48 35 69 CD */ bl GXSetTevOrder +/* 80008D2C 00005C6C 38 60 00 01 */ li r3, 1 +/* 80008D30 00005C70 38 80 00 0F */ li r4, 0xf +/* 80008D34 00005C74 38 A0 00 0F */ li r5, 0xf +/* 80008D38 00005C78 38 C0 00 0F */ li r6, 0xf +/* 80008D3C 00005C7C 38 E0 00 0F */ li r7, 0xf +/* 80008D40 00005C80 48 35 64 E5 */ bl GXSetTevColorIn +/* 80008D44 00005C84 38 60 00 01 */ li r3, 1 +/* 80008D48 00005C88 38 80 00 00 */ li r4, 0 +/* 80008D4C 00005C8C 38 A0 00 00 */ li r5, 0 +/* 80008D50 00005C90 38 C0 00 00 */ li r6, 0 +/* 80008D54 00005C94 38 E0 00 01 */ li r7, 1 +/* 80008D58 00005C98 39 00 00 00 */ li r8, 0 +/* 80008D5C 00005C9C 48 35 65 51 */ bl GXSetTevColorOp +/* 80008D60 00005CA0 38 60 00 01 */ li r3, 1 +/* 80008D64 00005CA4 38 80 00 07 */ li r4, 7 +/* 80008D68 00005CA8 38 A0 00 00 */ li r5, 0 +/* 80008D6C 00005CAC 38 C0 00 04 */ li r6, 4 +/* 80008D70 00005CB0 38 E0 00 01 */ li r7, 1 +/* 80008D74 00005CB4 48 35 64 F5 */ bl GXSetTevAlphaIn +/* 80008D78 00005CB8 38 60 00 01 */ li r3, 1 +/* 80008D7C 00005CBC 38 80 00 00 */ li r4, 0 +/* 80008D80 00005CC0 38 A0 00 00 */ li r5, 0 +/* 80008D84 00005CC4 38 C0 00 02 */ li r6, 2 +/* 80008D88 00005CC8 38 E0 00 01 */ li r7, 1 +/* 80008D8C 00005CCC 39 00 00 00 */ li r8, 0 +/* 80008D90 00005CD0 48 35 65 85 */ bl GXSetTevAlphaOp +/* 80008D94 00005CD4 38 60 00 02 */ li r3, 2 +/* 80008D98 00005CD8 38 80 00 01 */ li r4, 1 +/* 80008D9C 00005CDC 38 A0 00 01 */ li r5, 1 +/* 80008DA0 00005CE0 38 C0 00 FF */ li r6, 0xff +/* 80008DA4 00005CE4 48 35 69 51 */ bl GXSetTevOrder +/* 80008DA8 00005CE8 38 60 00 02 */ li r3, 2 +/* 80008DAC 00005CEC 38 80 00 0F */ li r4, 0xf +/* 80008DB0 00005CF0 38 A0 00 0F */ li r5, 0xf +/* 80008DB4 00005CF4 38 C0 00 0F */ li r6, 0xf +/* 80008DB8 00005CF8 38 E0 00 08 */ li r7, 8 +/* 80008DBC 00005CFC 48 35 64 69 */ bl GXSetTevColorIn +/* 80008DC0 00005D00 38 60 00 02 */ li r3, 2 +/* 80008DC4 00005D04 38 80 00 00 */ li r4, 0 +/* 80008DC8 00005D08 38 A0 00 00 */ li r5, 0 +/* 80008DCC 00005D0C 38 C0 00 00 */ li r6, 0 +/* 80008DD0 00005D10 38 E0 00 01 */ li r7, 1 +/* 80008DD4 00005D14 39 00 00 00 */ li r8, 0 +/* 80008DD8 00005D18 48 35 64 D5 */ bl GXSetTevColorOp +/* 80008DDC 00005D1C 38 60 00 02 */ li r3, 2 +/* 80008DE0 00005D20 38 80 00 07 */ li r4, 7 +/* 80008DE4 00005D24 38 A0 00 07 */ li r5, 7 +/* 80008DE8 00005D28 38 C0 00 07 */ li r6, 7 +/* 80008DEC 00005D2C 38 E0 00 00 */ li r7, 0 +/* 80008DF0 00005D30 48 35 64 79 */ bl GXSetTevAlphaIn +/* 80008DF4 00005D34 38 60 00 02 */ li r3, 2 +/* 80008DF8 00005D38 38 80 00 00 */ li r4, 0 +/* 80008DFC 00005D3C 38 A0 00 00 */ li r5, 0 +/* 80008E00 00005D40 38 C0 00 00 */ li r6, 0 +/* 80008E04 00005D44 38 E0 00 01 */ li r7, 1 +/* 80008E08 00005D48 39 00 00 00 */ li r8, 0 +/* 80008E0C 00005D4C 48 35 65 09 */ bl GXSetTevAlphaOp +/* 80008E10 00005D50 38 60 00 03 */ li r3, 3 +/* 80008E14 00005D54 38 80 00 02 */ li r4, 2 +/* 80008E18 00005D58 38 A0 00 01 */ li r5, 1 +/* 80008E1C 00005D5C 38 C0 00 FF */ li r6, 0xff +/* 80008E20 00005D60 48 35 68 D5 */ bl GXSetTevOrder +/* 80008E24 00005D64 38 60 00 03 */ li r3, 3 +/* 80008E28 00005D68 38 80 00 00 */ li r4, 0 +/* 80008E2C 00005D6C 38 A0 00 08 */ li r5, 8 +/* 80008E30 00005D70 38 C0 00 0D */ li r6, 0xd +/* 80008E34 00005D74 38 E0 00 0F */ li r7, 0xf +/* 80008E38 00005D78 48 35 63 ED */ bl GXSetTevColorIn +/* 80008E3C 00005D7C 38 60 00 03 */ li r3, 3 +/* 80008E40 00005D80 38 80 00 00 */ li r4, 0 +/* 80008E44 00005D84 38 A0 00 00 */ li r5, 0 +/* 80008E48 00005D88 38 C0 00 00 */ li r6, 0 +/* 80008E4C 00005D8C 38 E0 00 01 */ li r7, 1 +/* 80008E50 00005D90 39 00 00 00 */ li r8, 0 +/* 80008E54 00005D94 48 35 64 59 */ bl GXSetTevColorOp +/* 80008E58 00005D98 38 60 00 03 */ li r3, 3 +/* 80008E5C 00005D9C 38 80 00 07 */ li r4, 7 +/* 80008E60 00005DA0 38 A0 00 07 */ li r5, 7 +/* 80008E64 00005DA4 38 C0 00 07 */ li r6, 7 +/* 80008E68 00005DA8 38 E0 00 00 */ li r7, 0 +/* 80008E6C 00005DAC 48 35 63 FD */ bl GXSetTevAlphaIn +/* 80008E70 00005DB0 38 60 00 03 */ li r3, 3 +/* 80008E74 00005DB4 38 80 00 00 */ li r4, 0 +/* 80008E78 00005DB8 38 A0 00 00 */ li r5, 0 +/* 80008E7C 00005DBC 38 C0 00 00 */ li r6, 0 +/* 80008E80 00005DC0 38 E0 00 01 */ li r7, 1 +/* 80008E84 00005DC4 39 00 00 00 */ li r8, 0 +/* 80008E88 00005DC8 48 35 64 8D */ bl GXSetTevAlphaOp +/* 80008E8C 00005DCC 38 60 00 01 */ li r3, 1 +/* 80008E90 00005DD0 48 35 6E 41 */ bl GXSetZCompLoc +/* 80008E94 00005DD4 38 60 00 00 */ li r3, 0 +/* 80008E98 00005DD8 38 80 00 07 */ li r4, 7 +/* 80008E9C 00005DDC 38 A0 00 00 */ li r5, 0 +/* 80008EA0 00005DE0 48 35 6D FD */ bl GXSetZMode +/* 80008EA4 00005DE4 C0 35 12 70 */ lfs f1, 0x1270(r21) +/* 80008EA8 00005DE8 C0 02 80 38 */ lfs f0, lbl_80451A38-_SDA2_BASE_(r2) +/* 80008EAC 00005DEC FC 01 00 40 */ fcmpo cr0, f1, f0 +/* 80008EB0 00005DF0 4C 41 13 82 */ cror 2, 1, 2 +/* 80008EB4 00005DF4 40 82 00 34 */ bne lbl_80008EE8 +/* 80008EB8 00005DF8 38 60 00 01 */ li r3, 1 +/* 80008EBC 00005DFC 38 80 00 04 */ li r4, 4 +/* 80008EC0 00005E00 38 A0 00 05 */ li r5, 5 +/* 80008EC4 00005E04 38 C0 00 00 */ li r6, 0 +/* 80008EC8 00005E08 48 35 6D 29 */ bl GXSetBlendMode +/* 80008ECC 00005E0C 38 60 00 04 */ li r3, 4 +/* 80008ED0 00005E10 38 80 00 00 */ li r4, 0 +/* 80008ED4 00005E14 38 A0 00 01 */ li r5, 1 +/* 80008ED8 00005E18 38 C0 00 04 */ li r6, 4 +/* 80008EDC 00005E1C 38 E0 00 00 */ li r7, 0 +/* 80008EE0 00005E20 48 35 67 45 */ bl GXSetAlphaCompare +/* 80008EE4 00005E24 48 00 00 30 */ b lbl_80008F14 +lbl_80008EE8: +/* 80008EE8 00005E28 38 60 00 01 */ li r3, 1 +/* 80008EEC 00005E2C 38 80 00 05 */ li r4, 5 +/* 80008EF0 00005E30 38 A0 00 04 */ li r5, 4 +/* 80008EF4 00005E34 38 C0 00 00 */ li r6, 0 +/* 80008EF8 00005E38 48 35 6C F9 */ bl GXSetBlendMode +/* 80008EFC 00005E3C 38 60 00 01 */ li r3, 1 +/* 80008F00 00005E40 38 80 00 FF */ li r4, 0xff +/* 80008F04 00005E44 38 A0 00 01 */ li r5, 1 +/* 80008F08 00005E48 38 C0 00 01 */ li r6, 1 +/* 80008F0C 00005E4C 38 E0 00 FF */ li r7, 0xff +/* 80008F10 00005E50 48 35 67 15 */ bl GXSetAlphaCompare +lbl_80008F14: +/* 80008F14 00005E54 80 0D 80 80 */ lwz r0, lbl_80450600-_SDA_BASE_(r13) +/* 80008F18 00005E58 90 01 00 10 */ stw r0, 0x10(r1) +/* 80008F1C 00005E5C 38 60 00 00 */ li r3, 0 +/* 80008F20 00005E60 C0 22 80 38 */ lfs f1, lbl_80451A38-_SDA2_BASE_(r2) +/* 80008F24 00005E64 FC 40 08 90 */ fmr f2, f1 +/* 80008F28 00005E68 FC 60 08 90 */ fmr f3, f1 +/* 80008F2C 00005E6C FC 80 08 90 */ fmr f4, f1 +/* 80008F30 00005E70 38 81 00 10 */ addi r4, r1, 0x10 +/* 80008F34 00005E74 48 35 69 85 */ bl GXSetFog +/* 80008F38 00005E78 38 60 00 00 */ li r3, 0 +/* 80008F3C 00005E7C 48 35 3A 49 */ bl GXSetCullMode +/* 80008F40 00005E80 38 60 00 01 */ li r3, 1 +/* 80008F44 00005E84 48 35 6E 95 */ bl GXSetDither +/* 80008F48 00005E88 38 60 00 00 */ li r3, 0 +/* 80008F4C 00005E8C 48 35 61 89 */ bl GXSetNumIndStages +/* 80008F50 00005E90 C0 79 00 00 */ lfs f3, 0(r25) +/* 80008F54 00005E94 C0 39 00 04 */ lfs f1, 4(r25) +/* 80008F58 00005E98 38 61 00 68 */ addi r3, r1, 0x68 +/* 80008F5C 00005E9C C0 19 00 0C */ lfs f0, 0xc(r25) +/* 80008F60 00005EA0 EC 41 00 2A */ fadds f2, f1, f0 +/* 80008F64 00005EA4 C0 19 00 08 */ lfs f0, 8(r25) +/* 80008F68 00005EA8 EC 83 00 2A */ fadds f4, f3, f0 +/* 80008F6C 00005EAC C0 A2 80 38 */ lfs f5, lbl_80451A38-_SDA2_BASE_(r2) +/* 80008F70 00005EB0 C0 C2 80 40 */ lfs f6, lbl_80451A40-_SDA2_BASE_(r2) +/* 80008F74 00005EB4 48 33 E0 85 */ bl C_MTXOrtho +/* 80008F78 00005EB8 3C 60 80 3A */ lis r3, lbl_803A2FD8@ha +/* 80008F7C 00005EBC 38 63 2F D8 */ addi r3, r3, lbl_803A2FD8@l +/* 80008F80 00005EC0 38 80 00 00 */ li r4, 0 +/* 80008F84 00005EC4 48 35 72 C9 */ bl GXLoadPosMtxImm +/* 80008F88 00005EC8 3C 60 80 3E */ lis r3, lbl_803DD470@ha +/* 80008F8C 00005ECC 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l +/* 80008F90 00005ED0 C0 22 80 A0 */ lfs f1, lbl_80451AA0-_SDA2_BASE_(r2) +/* 80008F94 00005ED4 FC 40 08 90 */ fmr f2, f1 +/* 80008F98 00005ED8 C0 62 80 38 */ lfs f3, lbl_80451A38-_SDA2_BASE_(r2) +/* 80008F9C 00005EDC 48 33 D9 4D */ bl PSMTXTrans +/* 80008FA0 00005EE0 3C 60 80 3E */ lis r3, lbl_803DD470@ha +/* 80008FA4 00005EE4 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l +/* 80008FA8 00005EE8 38 80 00 1E */ li r4, 0x1e +/* 80008FAC 00005EEC 38 A0 00 01 */ li r5, 1 +/* 80008FB0 00005EF0 48 35 73 71 */ bl GXLoadTexMtxImm +/* 80008FB4 00005EF4 3C 60 80 3E */ lis r3, lbl_803DD470@ha +/* 80008FB8 00005EF8 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l +/* 80008FBC 00005EFC C0 22 80 A4 */ lfs f1, lbl_80451AA4-_SDA2_BASE_(r2) +/* 80008FC0 00005F00 FC 40 08 90 */ fmr f2, f1 +/* 80008FC4 00005F04 C0 62 80 38 */ lfs f3, lbl_80451A38-_SDA2_BASE_(r2) +/* 80008FC8 00005F08 48 33 D9 21 */ bl PSMTXTrans +/* 80008FCC 00005F0C 3C 60 80 3E */ lis r3, lbl_803DD470@ha +/* 80008FD0 00005F10 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l +/* 80008FD4 00005F14 38 80 00 21 */ li r4, 0x21 +/* 80008FD8 00005F18 38 A0 00 01 */ li r5, 1 +/* 80008FDC 00005F1C 48 35 73 45 */ bl GXLoadTexMtxImm +/* 80008FE0 00005F20 48 35 25 AD */ bl GXClearVtxDesc +/* 80008FE4 00005F24 38 60 00 09 */ li r3, 9 +/* 80008FE8 00005F28 38 80 00 01 */ li r4, 1 +/* 80008FEC 00005F2C 48 35 1E CD */ bl GXSetVtxDesc +/* 80008FF0 00005F30 38 60 00 0D */ li r3, 0xd +/* 80008FF4 00005F34 38 80 00 01 */ li r4, 1 +/* 80008FF8 00005F38 48 35 1E C1 */ bl GXSetVtxDesc +/* 80008FFC 00005F3C 38 60 00 00 */ li r3, 0 +/* 80009000 00005F40 38 80 00 09 */ li r4, 9 +/* 80009004 00005F44 38 A0 00 01 */ li r5, 1 +/* 80009008 00005F48 38 C0 00 03 */ li r6, 3 +/* 8000900C 00005F4C 38 E0 00 00 */ li r7, 0 +/* 80009010 00005F50 48 35 25 B5 */ bl GXSetVtxAttrFmt +/* 80009014 00005F54 38 60 00 00 */ li r3, 0 +/* 80009018 00005F58 38 80 00 0D */ li r4, 0xd +/* 8000901C 00005F5C 38 A0 00 01 */ li r5, 1 +/* 80009020 00005F60 38 C0 00 01 */ li r6, 1 +/* 80009024 00005F64 38 E0 00 00 */ li r7, 0 +/* 80009028 00005F68 48 35 25 9D */ bl GXSetVtxAttrFmt +/* 8000902C 00005F6C 38 60 00 00 */ li r3, 0 +/* 80009030 00005F70 38 80 00 01 */ li r4, 1 +/* 80009034 00005F74 38 A0 00 04 */ li r5, 4 +/* 80009038 00005F78 38 C0 00 3C */ li r6, 0x3c +/* 8000903C 00005F7C 38 E0 00 00 */ li r7, 0 +/* 80009040 00005F80 39 00 00 7D */ li r8, 0x7d +/* 80009044 00005F84 48 35 2B 39 */ bl GXSetTexCoordGen2 +/* 80009048 00005F88 38 60 00 01 */ li r3, 1 +/* 8000904C 00005F8C 38 80 00 01 */ li r4, 1 +/* 80009050 00005F90 38 A0 00 04 */ li r5, 4 +/* 80009054 00005F94 38 C0 00 1E */ li r6, 0x1e +/* 80009058 00005F98 38 E0 00 00 */ li r7, 0 +/* 8000905C 00005F9C 39 00 00 7D */ li r8, 0x7d +/* 80009060 00005FA0 48 35 2B 1D */ bl GXSetTexCoordGen2 +/* 80009064 00005FA4 38 60 00 02 */ li r3, 2 +/* 80009068 00005FA8 38 80 00 01 */ li r4, 1 +/* 8000906C 00005FAC 38 A0 00 04 */ li r5, 4 +/* 80009070 00005FB0 38 C0 00 21 */ li r6, 0x21 +/* 80009074 00005FB4 38 E0 00 00 */ li r7, 0 +/* 80009078 00005FB8 39 00 00 7D */ li r8, 0x7d +/* 8000907C 00005FBC 48 35 2B 01 */ bl GXSetTexCoordGen2 +/* 80009080 00005FC0 38 60 00 00 */ li r3, 0 +/* 80009084 00005FC4 48 35 4A AD */ bl GXSetNumChans +/* 80009088 00005FC8 38 60 00 03 */ li r3, 3 +/* 8000908C 00005FCC 48 35 2D 71 */ bl GXSetNumTexGens +/* 80009090 00005FD0 38 60 00 04 */ li r3, 4 +/* 80009094 00005FD4 48 35 67 FD */ bl GXSetNumTevStages +/* 80009098 00005FD8 38 61 00 68 */ addi r3, r1, 0x68 +/* 8000909C 00005FDC 38 80 00 01 */ li r4, 1 +/* 800090A0 00005FE0 48 35 70 35 */ bl GXSetProjection +/* 800090A4 00005FE4 38 60 00 00 */ li r3, 0 +/* 800090A8 00005FE8 48 35 72 45 */ bl GXSetCurrentMtx +/* 800090AC 00005FEC A8 1E 00 06 */ lha r0, 6(r30) +/* 800090B0 00005FF0 2C 00 FF 01 */ cmpwi r0, -255 +/* 800090B4 00005FF4 40 81 00 74 */ ble lbl_80009128 +/* 800090B8 00005FF8 38 60 00 80 */ li r3, 0x80 +/* 800090BC 00005FFC 38 80 00 00 */ li r4, 0 +/* 800090C0 00006000 38 A0 00 04 */ li r5, 4 +/* 800090C4 00006004 48 35 36 A1 */ bl GXBegin +/* 800090C8 00006008 3C A0 CC 01 */ lis r5, 0xCC008000@ha +/* 800090CC 0000600C B3 A5 80 00 */ sth r29, 0xCC008000@l(r5) +/* 800090D0 00006010 B3 85 80 00 */ sth r28, -0x8000(r5) +/* 800090D4 00006014 38 80 FF FB */ li r4, -5 +/* 800090D8 00006018 B0 85 80 00 */ sth r4, -0x8000(r5) +/* 800090DC 0000601C 38 60 00 00 */ li r3, 0 +/* 800090E0 00006020 98 65 80 00 */ stb r3, -0x8000(r5) +/* 800090E4 00006024 98 65 80 00 */ stb r3, -0x8000(r5) +/* 800090E8 00006028 B3 65 80 00 */ sth r27, -0x8000(r5) +/* 800090EC 0000602C B3 85 80 00 */ sth r28, -0x8000(r5) +/* 800090F0 00006030 B0 85 80 00 */ sth r4, -0x8000(r5) +/* 800090F4 00006034 38 00 00 01 */ li r0, 1 +/* 800090F8 00006038 98 05 80 00 */ stb r0, -0x8000(r5) +/* 800090FC 0000603C 98 65 80 00 */ stb r3, -0x8000(r5) +/* 80009100 00006040 B3 65 80 00 */ sth r27, -0x8000(r5) +/* 80009104 00006044 B3 45 80 00 */ sth r26, -0x8000(r5) +/* 80009108 00006048 B0 85 80 00 */ sth r4, -0x8000(r5) +/* 8000910C 0000604C 98 05 80 00 */ stb r0, -0x8000(r5) +/* 80009110 00006050 98 05 80 00 */ stb r0, -0x8000(r5) +/* 80009114 00006054 B3 A5 80 00 */ sth r29, -0x8000(r5) +/* 80009118 00006058 B3 45 80 00 */ sth r26, -0x8000(r5) +/* 8000911C 0000605C B0 85 80 00 */ sth r4, -0x8000(r5) +/* 80009120 00006060 98 65 80 00 */ stb r3, -0x8000(r5) +/* 80009124 00006064 98 05 80 00 */ stb r0, -0x8000(r5) +lbl_80009128: +/* 80009128 00006068 38 60 00 03 */ li r3, 3 +/* 8000912C 0000606C 38 80 00 02 */ li r4, 2 +/* 80009130 00006070 38 A0 00 02 */ li r5, 2 +/* 80009134 00006074 38 C0 00 02 */ li r6, 2 +/* 80009138 00006078 38 E0 00 03 */ li r7, 3 +/* 8000913C 0000607C 48 35 64 69 */ bl GXSetTevSwapModeTable +/* 80009140 00006080 38 60 00 00 */ li r3, 0 +/* 80009144 00006084 38 80 00 00 */ li r4, 0 +/* 80009148 00006088 38 A0 00 00 */ li r5, 0 +/* 8000914C 0000608C 48 35 64 11 */ bl GXSetTevSwapMode +/* 80009150 00006090 38 7F 01 00 */ addi r3, r31, 0x100 +/* 80009154 00006094 38 80 00 00 */ li r4, 0 +/* 80009158 00006098 48 35 6F 7D */ bl GXSetProjection +lbl_8000915C: +/* 8000915C 0000609C E3 E1 01 28 */ psq_l f31, 296(r1), 0, 0 +/* 80009160 000060A0 CB E1 01 20 */ lfd f31, 0x120(r1) +/* 80009164 000060A4 E3 C1 01 18 */ psq_l f30, 280(r1), 0, 0 +/* 80009168 000060A8 CB C1 01 10 */ lfd f30, 0x110(r1) +/* 8000916C 000060AC 39 61 01 10 */ addi r11, r1, 0x110 +/* 80009170 000060B0 48 35 90 89 */ bl _restgpr_17 +/* 80009174 000060B4 80 01 01 34 */ lwz r0, 0x134(r1) +/* 80009178 000060B8 7C 08 03 A6 */ mtlr r0 +/* 8000917C 000060BC 38 21 01 30 */ addi r1, r1, 0x130 +/* 80009180 000060C0 4E 80 00 20 */ blr diff --git a/include/m_Do/m_Do_graphic/asm/func_80009184.s b/include/m_Do/m_Do_graphic/asm/func_80009184.s new file mode 100644 index 00000000000..6de831fb705 --- /dev/null +++ b/include/m_Do/m_Do_graphic/asm/func_80009184.s @@ -0,0 +1,16 @@ +/* 80009184 000060C4 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80009188 000060C8 7C 08 02 A6 */ mflr r0 +/* 8000918C 000060CC 90 01 00 14 */ stw r0, 0x14(r1) +/* 80009190 000060D0 93 E1 00 0C */ stw r31, 0xc(r1) +/* 80009194 000060D4 7C 7F 1B 79 */ or. r31, r3, r3 +/* 80009198 000060D8 41 82 00 10 */ beq lbl_800091A8 +/* 8000919C 000060DC 7C 80 07 35 */ extsh. r0, r4 +/* 800091A0 000060E0 40 81 00 08 */ ble lbl_800091A8 +/* 800091A4 000060E4 48 2C 5B 99 */ bl __dl__FPv +lbl_800091A8: +/* 800091A8 000060E8 7F E3 FB 78 */ mr r3, r31 +/* 800091AC 000060EC 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 800091B0 000060F0 80 01 00 14 */ lwz r0, 0x14(r1) +/* 800091B4 000060F4 7C 08 03 A6 */ mtlr r0 +/* 800091B8 000060F8 38 21 00 10 */ addi r1, r1, 0x10 +/* 800091BC 000060FC 4E 80 00 20 */ blr diff --git a/include/m_Do/m_Do_graphic/asm/func_800091C0.s b/include/m_Do/m_Do_graphic/asm/func_800091C0.s new file mode 100644 index 00000000000..176a0b8d8c1 --- /dev/null +++ b/include/m_Do/m_Do_graphic/asm/func_800091C0.s @@ -0,0 +1,191 @@ +/* 800091C0 00006100 94 21 FF 90 */ stwu r1, -0x70(r1) +/* 800091C4 00006104 7C 08 02 A6 */ mflr r0 +/* 800091C8 00006108 90 01 00 74 */ stw r0, 0x74(r1) +/* 800091CC 0000610C 39 61 00 70 */ addi r11, r1, 0x70 +/* 800091D0 00006110 48 35 90 09 */ bl _savegpr_28 +/* 800091D4 00006114 7C 9F 23 78 */ mr r31, r4 +/* 800091D8 00006118 C0 24 00 04 */ lfs f1, 4(r4) +/* 800091DC 0000611C FC 00 08 1E */ fctiwz f0, f1 +/* 800091E0 00006120 D8 01 00 50 */ stfd f0, 0x50(r1) +/* 800091E4 00006124 80 01 00 54 */ lwz r0, 0x54(r1) +/* 800091E8 00006128 54 00 00 38 */ rlwinm r0, r0, 0, 0, 0x1c +/* 800091EC 0000612C 7C 03 07 34 */ extsh r3, r0 +/* 800091F0 00006130 7C 60 FE 70 */ srawi r0, r3, 0x1f +/* 800091F4 00006134 7C 60 00 78 */ andc r0, r3, r0 +/* 800091F8 00006138 7C 00 07 35 */ extsh. r0, r0 +/* 800091FC 0000613C 40 82 02 64 */ bne lbl_80009460 +/* 80009200 00006140 C0 5F 00 1C */ lfs f2, 0x1c(r31) +/* 80009204 00006144 FC 02 08 00 */ fcmpu cr0, f2, f1 +/* 80009208 00006148 40 82 00 14 */ bne lbl_8000921C +/* 8000920C 0000614C C0 3F 00 24 */ lfs f1, 0x24(r31) +/* 80009210 00006150 C0 1F 00 0C */ lfs f0, 0xc(r31) +/* 80009214 00006154 FC 01 00 00 */ fcmpu cr0, f1, f0 +/* 80009218 00006158 41 82 02 48 */ beq lbl_80009460 +lbl_8000921C: +/* 8000921C 0000615C FC 00 10 1E */ fctiwz f0, f2 +/* 80009220 00006160 D8 01 00 50 */ stfd f0, 0x50(r1) +/* 80009224 00006164 83 81 00 54 */ lwz r28, 0x54(r1) +/* 80009228 00006168 C0 1F 00 24 */ lfs f0, 0x24(r31) +/* 8000922C 0000616C EC 02 00 2A */ fadds f0, f2, f0 +/* 80009230 00006170 FC 00 00 1E */ fctiwz f0, f0 +/* 80009234 00006174 D8 01 00 58 */ stfd f0, 0x58(r1) +/* 80009238 00006178 83 A1 00 5C */ lwz r29, 0x5c(r1) +/* 8000923C 0000617C 38 60 00 01 */ li r3, 1 +/* 80009240 00006180 48 35 48 F1 */ bl GXSetNumChans +/* 80009244 00006184 38 60 00 02 */ li r3, 2 +/* 80009248 00006188 38 80 00 00 */ li r4, 0 +/* 8000924C 0000618C 38 A0 00 00 */ li r5, 0 +/* 80009250 00006190 38 C0 00 00 */ li r6, 0 +/* 80009254 00006194 38 E0 00 00 */ li r7, 0 +/* 80009258 00006198 39 00 00 00 */ li r8, 0 +/* 8000925C 0000619C 39 20 00 02 */ li r9, 2 +/* 80009260 000061A0 48 35 49 0D */ bl GXSetChanCtrl +/* 80009264 000061A4 38 60 00 00 */ li r3, 0 +/* 80009268 000061A8 48 35 2B 95 */ bl GXSetNumTexGens +/* 8000926C 000061AC 38 60 00 01 */ li r3, 1 +/* 80009270 000061B0 48 35 66 21 */ bl GXSetNumTevStages +/* 80009274 000061B4 38 60 00 00 */ li r3, 0 +/* 80009278 000061B8 38 80 00 FF */ li r4, 0xff +/* 8000927C 000061BC 38 A0 00 FF */ li r5, 0xff +/* 80009280 000061C0 38 C0 00 04 */ li r6, 4 +/* 80009284 000061C4 48 35 64 71 */ bl GXSetTevOrder +/* 80009288 000061C8 38 60 00 00 */ li r3, 0 +/* 8000928C 000061CC 38 80 00 0F */ li r4, 0xf +/* 80009290 000061D0 38 A0 00 0F */ li r5, 0xf +/* 80009294 000061D4 38 C0 00 0F */ li r6, 0xf +/* 80009298 000061D8 38 E0 00 0F */ li r7, 0xf +/* 8000929C 000061DC 48 35 5F 89 */ bl GXSetTevColorIn +/* 800092A0 000061E0 38 60 00 00 */ li r3, 0 +/* 800092A4 000061E4 38 80 00 00 */ li r4, 0 +/* 800092A8 000061E8 38 A0 00 00 */ li r5, 0 +/* 800092AC 000061EC 38 C0 00 00 */ li r6, 0 +/* 800092B0 000061F0 38 E0 00 01 */ li r7, 1 +/* 800092B4 000061F4 39 00 00 00 */ li r8, 0 +/* 800092B8 000061F8 48 35 5F F5 */ bl GXSetTevColorOp +/* 800092BC 000061FC 38 60 00 00 */ li r3, 0 +/* 800092C0 00006200 38 80 00 07 */ li r4, 7 +/* 800092C4 00006204 38 A0 00 07 */ li r5, 7 +/* 800092C8 00006208 38 C0 00 07 */ li r6, 7 +/* 800092CC 0000620C 38 E0 00 07 */ li r7, 7 +/* 800092D0 00006210 48 35 5F 99 */ bl GXSetTevAlphaIn +/* 800092D4 00006214 38 60 00 00 */ li r3, 0 +/* 800092D8 00006218 38 80 00 00 */ li r4, 0 +/* 800092DC 0000621C 38 A0 00 00 */ li r5, 0 +/* 800092E0 00006220 38 C0 00 00 */ li r6, 0 +/* 800092E4 00006224 38 E0 00 01 */ li r7, 1 +/* 800092E8 00006228 39 00 00 00 */ li r8, 0 +/* 800092EC 0000622C 48 35 60 29 */ bl GXSetTevAlphaOp +/* 800092F0 00006230 38 60 00 01 */ li r3, 1 +/* 800092F4 00006234 48 35 69 DD */ bl GXSetZCompLoc +/* 800092F8 00006238 38 60 00 00 */ li r3, 0 +/* 800092FC 0000623C 38 80 00 07 */ li r4, 7 +/* 80009300 00006240 38 A0 00 00 */ li r5, 0 +/* 80009304 00006244 48 35 69 99 */ bl GXSetZMode +/* 80009308 00006248 38 60 00 00 */ li r3, 0 +/* 8000930C 0000624C 38 80 00 04 */ li r4, 4 +/* 80009310 00006250 38 A0 00 05 */ li r5, 5 +/* 80009314 00006254 38 C0 00 00 */ li r6, 0 +/* 80009318 00006258 48 35 68 D9 */ bl GXSetBlendMode +/* 8000931C 0000625C 38 60 00 07 */ li r3, 7 +/* 80009320 00006260 38 80 00 00 */ li r4, 0 +/* 80009324 00006264 38 A0 00 01 */ li r5, 1 +/* 80009328 00006268 38 C0 00 07 */ li r6, 7 +/* 8000932C 0000626C 38 E0 00 00 */ li r7, 0 +/* 80009330 00006270 48 35 62 F5 */ bl GXSetAlphaCompare +/* 80009334 00006274 80 0D 80 80 */ lwz r0, lbl_80450600-_SDA_BASE_(r13) +/* 80009338 00006278 90 01 00 08 */ stw r0, 8(r1) +/* 8000933C 0000627C 38 60 00 00 */ li r3, 0 +/* 80009340 00006280 C0 22 80 38 */ lfs f1, lbl_80451A38-_SDA2_BASE_(r2) +/* 80009344 00006284 FC 40 08 90 */ fmr f2, f1 +/* 80009348 00006288 FC 60 08 90 */ fmr f3, f1 +/* 8000934C 0000628C FC 80 08 90 */ fmr f4, f1 +/* 80009350 00006290 38 81 00 08 */ addi r4, r1, 8 +/* 80009354 00006294 48 35 65 65 */ bl GXSetFog +/* 80009358 00006298 38 60 00 00 */ li r3, 0 +/* 8000935C 0000629C 48 35 36 29 */ bl GXSetCullMode +/* 80009360 000062A0 38 60 00 01 */ li r3, 1 +/* 80009364 000062A4 48 35 6A 75 */ bl GXSetDither +/* 80009368 000062A8 38 60 00 00 */ li r3, 0 +/* 8000936C 000062AC 48 35 5D 69 */ bl GXSetNumIndStages +/* 80009370 000062B0 38 61 00 0C */ addi r3, r1, 0xc +/* 80009374 000062B4 C0 22 80 38 */ lfs f1, lbl_80451A38-_SDA2_BASE_(r2) +/* 80009378 000062B8 C0 42 80 A8 */ lfs f2, lbl_80451AA8-_SDA2_BASE_(r2) +/* 8000937C 000062BC FC 60 08 90 */ fmr f3, f1 +/* 80009380 000062C0 C0 82 80 AC */ lfs f4, lbl_80451AAC-_SDA2_BASE_(r2) +/* 80009384 000062C4 FC A0 08 90 */ fmr f5, f1 +/* 80009388 000062C8 C0 C2 80 40 */ lfs f6, lbl_80451A40-_SDA2_BASE_(r2) +/* 8000938C 000062CC 48 33 DC 6D */ bl C_MTXOrtho +/* 80009390 000062D0 3C 60 80 3A */ lis r3, lbl_803A2FD8@ha +/* 80009394 000062D4 38 63 2F D8 */ addi r3, r3, lbl_803A2FD8@l +/* 80009398 000062D8 38 80 00 00 */ li r4, 0 +/* 8000939C 000062DC 48 35 6E B1 */ bl GXLoadPosMtxImm +/* 800093A0 000062E0 48 35 21 ED */ bl GXClearVtxDesc +/* 800093A4 000062E4 38 60 00 09 */ li r3, 9 +/* 800093A8 000062E8 38 80 00 01 */ li r4, 1 +/* 800093AC 000062EC 48 35 1B 0D */ bl GXSetVtxDesc +/* 800093B0 000062F0 38 60 00 00 */ li r3, 0 +/* 800093B4 000062F4 38 80 00 09 */ li r4, 9 +/* 800093B8 000062F8 38 A0 00 01 */ li r5, 1 +/* 800093BC 000062FC 38 C0 00 03 */ li r6, 3 +/* 800093C0 00006300 38 E0 00 00 */ li r7, 0 +/* 800093C4 00006304 48 35 22 01 */ bl GXSetVtxAttrFmt +/* 800093C8 00006308 38 61 00 0C */ addi r3, r1, 0xc +/* 800093CC 0000630C 38 80 00 01 */ li r4, 1 +/* 800093D0 00006310 48 35 6D 05 */ bl GXSetProjection +/* 800093D4 00006314 38 60 00 00 */ li r3, 0 +/* 800093D8 00006318 48 35 6F 15 */ bl GXSetCurrentMtx +/* 800093DC 0000631C 38 60 00 80 */ li r3, 0x80 +/* 800093E0 00006320 38 80 00 00 */ li r4, 0 +/* 800093E4 00006324 38 A0 00 08 */ li r5, 8 +/* 800093E8 00006328 48 35 33 7D */ bl GXBegin +/* 800093EC 0000632C 38 A0 00 00 */ li r5, 0 +/* 800093F0 00006330 3C 80 CC 01 */ lis r4, 0xCC008000@ha +/* 800093F4 00006334 B0 A4 80 00 */ sth r5, 0xCC008000@l(r4) +/* 800093F8 00006338 B0 A4 80 00 */ sth r5, -0x8000(r4) +/* 800093FC 0000633C 38 60 FF FB */ li r3, -5 +/* 80009400 00006340 B0 64 80 00 */ sth r3, -0x8000(r4) +/* 80009404 00006344 38 00 02 60 */ li r0, 0x260 +/* 80009408 00006348 B0 04 80 00 */ sth r0, -0x8000(r4) +/* 8000940C 0000634C B0 A4 80 00 */ sth r5, -0x8000(r4) +/* 80009410 00006350 B0 64 80 00 */ sth r3, -0x8000(r4) +/* 80009414 00006354 B0 04 80 00 */ sth r0, -0x8000(r4) +/* 80009418 00006358 B3 84 80 00 */ sth r28, -0x8000(r4) +/* 8000941C 0000635C B0 64 80 00 */ sth r3, -0x8000(r4) +/* 80009420 00006360 B0 A4 80 00 */ sth r5, -0x8000(r4) +/* 80009424 00006364 B3 84 80 00 */ sth r28, -0x8000(r4) +/* 80009428 00006368 B0 64 80 00 */ sth r3, -0x8000(r4) +/* 8000942C 0000636C B0 A4 80 00 */ sth r5, -0x8000(r4) +/* 80009430 00006370 B3 A4 80 00 */ sth r29, -0x8000(r4) +/* 80009434 00006374 B0 64 80 00 */ sth r3, -0x8000(r4) +/* 80009438 00006378 B0 04 80 00 */ sth r0, -0x8000(r4) +/* 8000943C 0000637C B3 A4 80 00 */ sth r29, -0x8000(r4) +/* 80009440 00006380 B0 64 80 00 */ sth r3, -0x8000(r4) +/* 80009444 00006384 B0 04 80 00 */ sth r0, -0x8000(r4) +/* 80009448 00006388 38 00 01 C0 */ li r0, 0x1c0 +/* 8000944C 0000638C B0 04 80 00 */ sth r0, -0x8000(r4) +/* 80009450 00006390 B0 64 80 00 */ sth r3, -0x8000(r4) +/* 80009454 00006394 B0 A4 80 00 */ sth r5, -0x8000(r4) +/* 80009458 00006398 B0 04 80 00 */ sth r0, -0x8000(r4) +/* 8000945C 0000639C B0 64 80 00 */ sth r3, -0x8000(r4) +lbl_80009460: +/* 80009460 000063A0 C0 3F 00 24 */ lfs f1, 0x24(r31) +/* 80009464 000063A4 48 35 8C 49 */ bl func_803620AC +/* 80009468 000063A8 7C 7C 1B 78 */ mr r28, r3 +/* 8000946C 000063AC C0 3F 00 20 */ lfs f1, 0x20(r31) +/* 80009470 000063B0 48 35 8C 3D */ bl func_803620AC +/* 80009474 000063B4 7C 7D 1B 78 */ mr r29, r3 +/* 80009478 000063B8 C0 3F 00 1C */ lfs f1, 0x1c(r31) +/* 8000947C 000063BC 48 35 8C 31 */ bl func_803620AC +/* 80009480 000063C0 7C 7E 1B 78 */ mr r30, r3 +/* 80009484 000063C4 C0 3F 00 18 */ lfs f1, 0x18(r31) +/* 80009488 000063C8 48 35 8C 25 */ bl func_803620AC +/* 8000948C 000063CC 7F C4 F3 78 */ mr r4, r30 +/* 80009490 000063D0 7F A5 EB 78 */ mr r5, r29 +/* 80009494 000063D4 7F 86 E3 78 */ mr r6, r28 +/* 80009498 000063D8 48 35 70 39 */ bl GXSetScissor +/* 8000949C 000063DC 39 61 00 70 */ addi r11, r1, 0x70 +/* 800094A0 000063E0 48 35 8D 85 */ bl _restgpr_28 +/* 800094A4 000063E4 80 01 00 74 */ lwz r0, 0x74(r1) +/* 800094A8 000063E8 7C 08 03 A6 */ mtlr r0 +/* 800094AC 000063EC 38 21 00 70 */ addi r1, r1, 0x70 +/* 800094B0 000063F0 4E 80 00 20 */ blr diff --git a/include/m_Do/m_Do_graphic/asm/func_800094B4.s b/include/m_Do/m_Do_graphic/asm/func_800094B4.s new file mode 100644 index 00000000000..486f9892ada --- /dev/null +++ b/include/m_Do/m_Do_graphic/asm/func_800094B4.s @@ -0,0 +1,36 @@ +/* 800094B4 000063F4 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 800094B8 000063F8 7C 08 02 A6 */ mflr r0 +/* 800094BC 000063FC 90 01 00 14 */ stw r0, 0x14(r1) +/* 800094C0 00006400 93 E1 00 0C */ stw r31, 0xc(r1) +/* 800094C4 00006404 93 C1 00 08 */ stw r30, 8(r1) +/* 800094C8 00006408 7C 7E 1B 78 */ mr r30, r3 +/* 800094CC 0000640C 7C 9F 23 78 */ mr r31, r4 +/* 800094D0 00006410 38 60 00 80 */ li r3, 0x80 +/* 800094D4 00006414 38 80 00 00 */ li r4, 0 +/* 800094D8 00006418 38 A0 00 04 */ li r5, 4 +/* 800094DC 0000641C 48 35 32 89 */ bl GXBegin +/* 800094E0 00006420 38 80 00 00 */ li r4, 0 +/* 800094E4 00006424 3C 60 CC 01 */ lis r3, 0xCC008000@ha +/* 800094E8 00006428 98 83 80 00 */ stb r4, 0xCC008000@l(r3) +/* 800094EC 0000642C 98 83 80 00 */ stb r4, -0x8000(r3) +/* 800094F0 00006430 98 83 80 00 */ stb r4, -0x8000(r3) +/* 800094F4 00006434 98 83 80 00 */ stb r4, -0x8000(r3) +/* 800094F8 00006438 9B C3 80 00 */ stb r30, -0x8000(r3) +/* 800094FC 0000643C 98 83 80 00 */ stb r4, -0x8000(r3) +/* 80009500 00006440 38 00 00 01 */ li r0, 1 +/* 80009504 00006444 98 03 80 00 */ stb r0, -0x8000(r3) +/* 80009508 00006448 98 83 80 00 */ stb r4, -0x8000(r3) +/* 8000950C 0000644C 9B C3 80 00 */ stb r30, -0x8000(r3) +/* 80009510 00006450 9B E3 80 00 */ stb r31, -0x8000(r3) +/* 80009514 00006454 98 03 80 00 */ stb r0, -0x8000(r3) +/* 80009518 00006458 98 03 80 00 */ stb r0, -0x8000(r3) +/* 8000951C 0000645C 98 83 80 00 */ stb r4, -0x8000(r3) +/* 80009520 00006460 9B E3 80 00 */ stb r31, -0x8000(r3) +/* 80009524 00006464 98 83 80 00 */ stb r4, -0x8000(r3) +/* 80009528 00006468 98 03 80 00 */ stb r0, -0x8000(r3) +/* 8000952C 0000646C 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 80009530 00006470 83 C1 00 08 */ lwz r30, 8(r1) +/* 80009534 00006474 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80009538 00006478 7C 08 03 A6 */ mtlr r0 +/* 8000953C 0000647C 38 21 00 10 */ addi r1, r1, 0x10 +/* 80009540 00006480 4E 80 00 20 */ blr diff --git a/include/m_Do/m_Do_graphic/asm/func_80009544.s b/include/m_Do/m_Do_graphic/asm/func_80009544.s new file mode 100644 index 00000000000..03e1757835e --- /dev/null +++ b/include/m_Do/m_Do_graphic/asm/func_80009544.s @@ -0,0 +1,46 @@ +/* 80009544 00006484 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80009548 00006488 7C 08 02 A6 */ mflr r0 +/* 8000954C 0000648C 90 01 00 24 */ stw r0, 0x24(r1) +/* 80009550 00006490 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 80009554 00006494 93 C1 00 18 */ stw r30, 0x18(r1) +/* 80009558 00006498 7C 7E 1B 78 */ mr r30, r3 +/* 8000955C 0000649C 80 03 00 10 */ lwz r0, 0x10(r3) +/* 80009560 000064A0 28 00 00 00 */ cmplwi r0, 0 +/* 80009564 000064A4 40 82 00 7C */ bne lbl_800095E0 +/* 80009568 000064A8 38 60 01 30 */ li r3, 0x130 +/* 8000956C 000064AC 38 80 00 E0 */ li r4, 0xe0 +/* 80009570 000064B0 38 A0 00 06 */ li r5, 6 +/* 80009574 000064B4 38 C0 00 00 */ li r6, 0 +/* 80009578 000064B8 38 E0 00 00 */ li r7, 0 +/* 8000957C 000064BC 48 35 46 A1 */ bl GXGetTexBufferSize +/* 80009580 000064C0 7C 7F 1B 78 */ mr r31, r3 +/* 80009584 000064C4 48 00 58 69 */ bl mDoExt_getArchiveHeap +/* 80009588 000064C8 7F E4 FB 78 */ mr r4, r31 +/* 8000958C 000064CC 38 A0 FF E0 */ li r5, -32 +/* 80009590 000064D0 48 2C 4F 45 */ bl alloc__7JKRHeapFUli +/* 80009594 000064D4 90 7E 00 10 */ stw r3, 0x10(r30) +/* 80009598 000064D8 38 00 00 00 */ li r0, 0 +/* 8000959C 000064DC 98 1E 00 08 */ stb r0, 8(r30) +/* 800095A0 000064E0 98 1E 00 09 */ stb r0, 9(r30) +/* 800095A4 000064E4 38 60 00 80 */ li r3, 0x80 +/* 800095A8 000064E8 98 7E 00 0A */ stb r3, 0xa(r30) +/* 800095AC 000064EC 38 00 00 40 */ li r0, 0x40 +/* 800095B0 000064F0 98 1E 00 0B */ stb r0, 0xb(r30) +/* 800095B4 000064F4 98 7E 00 0C */ stb r3, 0xc(r30) +/* 800095B8 000064F8 80 02 80 B0 */ lwz r0, lbl_80451AB0-_SDA2_BASE_(r2) +/* 800095BC 000064FC 90 01 00 08 */ stw r0, 8(r1) +/* 800095C0 00006500 88 01 00 08 */ lbz r0, 8(r1) +/* 800095C4 00006504 98 1E 00 00 */ stb r0, 0(r30) +/* 800095C8 00006508 88 01 00 09 */ lbz r0, 9(r1) +/* 800095CC 0000650C 98 1E 00 01 */ stb r0, 1(r30) +/* 800095D0 00006510 88 01 00 0A */ lbz r0, 0xa(r1) +/* 800095D4 00006514 98 1E 00 02 */ stb r0, 2(r30) +/* 800095D8 00006518 88 01 00 0B */ lbz r0, 0xb(r1) +/* 800095DC 0000651C 98 1E 00 03 */ stb r0, 3(r30) +lbl_800095E0: +/* 800095E0 00006520 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 800095E4 00006524 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 800095E8 00006528 80 01 00 24 */ lwz r0, 0x24(r1) +/* 800095EC 0000652C 7C 08 03 A6 */ mtlr r0 +/* 800095F0 00006530 38 21 00 20 */ addi r1, r1, 0x20 +/* 800095F4 00006534 4E 80 00 20 */ blr diff --git a/include/m_Do/m_Do_graphic/asm/func_800095F8.s b/include/m_Do/m_Do_graphic/asm/func_800095F8.s new file mode 100644 index 00000000000..b479c486f47 --- /dev/null +++ b/include/m_Do/m_Do_graphic/asm/func_800095F8.s @@ -0,0 +1,23 @@ +/* 800095F8 00006538 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 800095FC 0000653C 7C 08 02 A6 */ mflr r0 +/* 80009600 00006540 90 01 00 14 */ stw r0, 0x14(r1) +/* 80009604 00006544 93 E1 00 0C */ stw r31, 0xc(r1) +/* 80009608 00006548 93 C1 00 08 */ stw r30, 8(r1) +/* 8000960C 0000654C 7C 7E 1B 78 */ mr r30, r3 +/* 80009610 00006550 83 E3 00 10 */ lwz r31, 0x10(r3) +/* 80009614 00006554 28 1F 00 00 */ cmplwi r31, 0 +/* 80009618 00006558 41 82 00 18 */ beq lbl_80009630 +/* 8000961C 0000655C 48 00 57 D1 */ bl mDoExt_getArchiveHeap +/* 80009620 00006560 7F E4 FB 78 */ mr r4, r31 +/* 80009624 00006564 48 2C 4F 25 */ bl free__7JKRHeapFPv +/* 80009628 00006568 38 00 00 00 */ li r0, 0 +/* 8000962C 0000656C 90 1E 00 10 */ stw r0, 0x10(r30) +lbl_80009630: +/* 80009630 00006570 38 00 00 00 */ li r0, 0 +/* 80009634 00006574 98 1E 00 07 */ stb r0, 7(r30) +/* 80009638 00006578 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 8000963C 0000657C 83 C1 00 08 */ lwz r30, 8(r1) +/* 80009640 00006580 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80009644 00006584 7C 08 03 A6 */ mtlr r0 +/* 80009648 00006588 38 21 00 10 */ addi r1, r1, 0x10 +/* 8000964C 0000658C 4E 80 00 20 */ blr diff --git a/include/m_Do/m_Do_graphic/asm/func_80009650.s b/include/m_Do/m_Do_graphic/asm/func_80009650.s new file mode 100644 index 00000000000..340de856bcb --- /dev/null +++ b/include/m_Do/m_Do_graphic/asm/func_80009650.s @@ -0,0 +1,715 @@ +/* 80009650 00006590 94 21 FE F0 */ stwu r1, -0x110(r1) +/* 80009654 00006594 7C 08 02 A6 */ mflr r0 +/* 80009658 00006598 90 01 01 14 */ stw r0, 0x114(r1) +/* 8000965C 0000659C DB E1 01 00 */ stfd f31, 0x100(r1) +/* 80009660 000065A0 F3 E1 01 08 */ psq_st f31, 264(r1), 0, 0 +/* 80009664 000065A4 DB C1 00 F0 */ stfd f30, 0xf0(r1) +/* 80009668 000065A8 F3 C1 00 F8 */ psq_st f30, 248(r1), 0, 0 +/* 8000966C 000065AC DB A1 00 E0 */ stfd f29, 0xe0(r1) +/* 80009670 000065B0 F3 A1 00 E8 */ psq_st f29, 232(r1), 0, 0 +/* 80009674 000065B4 39 61 00 E0 */ addi r11, r1, 0xe0 +/* 80009678 000065B8 48 35 8B 51 */ bl _savegpr_24 +/* 8000967C 000065BC 7C 7F 1B 78 */ mr r31, r3 +/* 80009680 000065C0 3B 80 00 00 */ li r28, 0 +/* 80009684 000065C4 88 03 00 08 */ lbz r0, 8(r3) +/* 80009688 000065C8 28 00 00 00 */ cmplwi r0, 0 +/* 8000968C 000065CC 41 82 00 14 */ beq lbl_800096A0 +/* 80009690 000065D0 80 1F 00 10 */ lwz r0, 0x10(r31) +/* 80009694 000065D4 28 00 00 00 */ cmplwi r0, 0 +/* 80009698 000065D8 41 82 00 08 */ beq lbl_800096A0 +/* 8000969C 000065DC 3B 80 00 01 */ li r28, 1 +lbl_800096A0: +/* 800096A0 000065E0 88 1F 00 07 */ lbz r0, 7(r31) +/* 800096A4 000065E4 28 00 00 00 */ cmplwi r0, 0 +/* 800096A8 000065E8 40 82 00 0C */ bne lbl_800096B4 +/* 800096AC 000065EC 57 80 06 3F */ clrlwi. r0, r28, 0x18 +/* 800096B0 000065F0 41 82 0A 80 */ beq lbl_8000A130 +lbl_800096B4: +/* 800096B4 000065F4 C0 22 80 38 */ lfs f1, lbl_80451A38-_SDA2_BASE_(r2) +/* 800096B8 000065F8 FC 40 08 90 */ fmr f2, f1 +/* 800096BC 000065FC C0 62 80 AC */ lfs f3, lbl_80451AAC-_SDA2_BASE_(r2) +/* 800096C0 00006600 C0 82 80 A8 */ lfs f4, lbl_80451AA8-_SDA2_BASE_(r2) +/* 800096C4 00006604 FC A0 08 90 */ fmr f5, f1 +/* 800096C8 00006608 C0 C2 80 3C */ lfs f6, lbl_80451A3C-_SDA2_BASE_(r2) +/* 800096CC 0000660C 48 35 6D 99 */ bl GXSetViewport +/* 800096D0 00006610 38 60 00 00 */ li r3, 0 +/* 800096D4 00006614 38 80 00 00 */ li r4, 0 +/* 800096D8 00006618 38 A0 02 60 */ li r5, 0x260 +/* 800096DC 0000661C 38 C0 01 C0 */ li r6, 0x1c0 +/* 800096E0 00006620 48 35 6D F1 */ bl GXSetScissor +/* 800096E4 00006624 3C 60 80 3E */ lis r3, lbl_803DD3E8@ha +/* 800096E8 00006628 38 63 D3 E8 */ addi r3, r3, lbl_803DD3E8@l +/* 800096EC 0000662C 38 80 00 00 */ li r4, 0 +/* 800096F0 00006630 48 35 4D 25 */ bl GXLoadTexObj +/* 800096F4 00006634 38 60 00 00 */ li r3, 0 +/* 800096F8 00006638 48 35 44 39 */ bl GXSetNumChans +/* 800096FC 0000663C 38 60 00 01 */ li r3, 1 +/* 80009700 00006640 48 35 26 FD */ bl GXSetNumTexGens +/* 80009704 00006644 38 60 00 00 */ li r3, 0 +/* 80009708 00006648 38 80 00 01 */ li r4, 1 +/* 8000970C 0000664C 38 A0 00 04 */ li r5, 4 +/* 80009710 00006650 38 C0 00 3C */ li r6, 0x3c +/* 80009714 00006654 38 E0 00 00 */ li r7, 0 +/* 80009718 00006658 39 00 00 7D */ li r8, 0x7d +/* 8000971C 0000665C 48 35 24 61 */ bl GXSetTexCoordGen2 +/* 80009720 00006660 38 60 00 01 */ li r3, 1 +/* 80009724 00006664 38 80 00 00 */ li r4, 0 +/* 80009728 00006668 38 A0 00 00 */ li r5, 0 +/* 8000972C 0000666C 38 C0 00 00 */ li r6, 0 +/* 80009730 00006670 38 E0 00 01 */ li r7, 1 +/* 80009734 00006674 48 35 5E 71 */ bl GXSetTevSwapModeTable +/* 80009738 00006678 38 60 00 03 */ li r3, 3 +/* 8000973C 0000667C 38 80 00 02 */ li r4, 2 +/* 80009740 00006680 38 A0 00 02 */ li r5, 2 +/* 80009744 00006684 38 C0 00 02 */ li r6, 2 +/* 80009748 00006688 38 E0 00 03 */ li r7, 3 +/* 8000974C 0000668C 48 35 5E 59 */ bl GXSetTevSwapModeTable +/* 80009750 00006690 38 60 00 01 */ li r3, 1 +/* 80009754 00006694 48 35 65 7D */ bl GXSetZCompLoc +/* 80009758 00006698 38 60 00 00 */ li r3, 0 +/* 8000975C 0000669C 38 80 00 07 */ li r4, 7 +/* 80009760 000066A0 38 A0 00 00 */ li r5, 0 +/* 80009764 000066A4 48 35 65 39 */ bl GXSetZMode +/* 80009768 000066A8 38 60 00 07 */ li r3, 7 +/* 8000976C 000066AC 38 80 00 00 */ li r4, 0 +/* 80009770 000066B0 38 A0 00 01 */ li r5, 1 +/* 80009774 000066B4 38 C0 00 07 */ li r6, 7 +/* 80009778 000066B8 38 E0 00 00 */ li r7, 0 +/* 8000977C 000066BC 48 35 5E A9 */ bl GXSetAlphaCompare +/* 80009780 000066C0 80 0D 80 80 */ lwz r0, lbl_80450600-_SDA_BASE_(r13) +/* 80009784 000066C4 90 01 00 14 */ stw r0, 0x14(r1) +/* 80009788 000066C8 38 60 00 00 */ li r3, 0 +/* 8000978C 000066CC C0 22 80 38 */ lfs f1, lbl_80451A38-_SDA2_BASE_(r2) +/* 80009790 000066D0 FC 40 08 90 */ fmr f2, f1 +/* 80009794 000066D4 FC 60 08 90 */ fmr f3, f1 +/* 80009798 000066D8 FC 80 08 90 */ fmr f4, f1 +/* 8000979C 000066DC 38 81 00 14 */ addi r4, r1, 0x14 +/* 800097A0 000066E0 48 35 61 19 */ bl GXSetFog +/* 800097A4 000066E4 38 60 00 00 */ li r3, 0 +/* 800097A8 000066E8 38 80 00 00 */ li r4, 0 +/* 800097AC 000066EC 38 A0 00 00 */ li r5, 0 +/* 800097B0 000066F0 48 35 63 1D */ bl GXSetFogRangeAdj +/* 800097B4 000066F4 38 60 00 00 */ li r3, 0 +/* 800097B8 000066F8 48 35 31 CD */ bl GXSetCullMode +/* 800097BC 000066FC 38 60 00 01 */ li r3, 1 +/* 800097C0 00006700 48 35 66 19 */ bl GXSetDither +/* 800097C4 00006704 38 61 00 6C */ addi r3, r1, 0x6c +/* 800097C8 00006708 C0 22 80 38 */ lfs f1, lbl_80451A38-_SDA2_BASE_(r2) +/* 800097CC 0000670C C0 42 80 BC */ lfs f2, lbl_80451ABC-_SDA2_BASE_(r2) +/* 800097D0 00006710 FC 60 08 90 */ fmr f3, f1 +/* 800097D4 00006714 FC 80 10 90 */ fmr f4, f2 +/* 800097D8 00006718 FC A0 08 90 */ fmr f5, f1 +/* 800097DC 0000671C C0 C2 80 40 */ lfs f6, lbl_80451A40-_SDA2_BASE_(r2) +/* 800097E0 00006720 48 33 D8 19 */ bl C_MTXOrtho +/* 800097E4 00006724 3C 60 80 3A */ lis r3, lbl_803A2FD8@ha +/* 800097E8 00006728 38 63 2F D8 */ addi r3, r3, lbl_803A2FD8@l +/* 800097EC 0000672C 38 80 00 00 */ li r4, 0 +/* 800097F0 00006730 48 35 6A 5D */ bl GXLoadPosMtxImm +/* 800097F4 00006734 38 61 00 6C */ addi r3, r1, 0x6c +/* 800097F8 00006738 38 80 00 01 */ li r4, 1 +/* 800097FC 0000673C 48 35 68 D9 */ bl GXSetProjection +/* 80009800 00006740 38 60 00 00 */ li r3, 0 +/* 80009804 00006744 48 35 6A E9 */ bl GXSetCurrentMtx +/* 80009808 00006748 48 35 1D 85 */ bl GXClearVtxDesc +/* 8000980C 0000674C 38 60 00 09 */ li r3, 9 +/* 80009810 00006750 38 80 00 01 */ li r4, 1 +/* 80009814 00006754 48 35 16 A5 */ bl GXSetVtxDesc +/* 80009818 00006758 38 60 00 0D */ li r3, 0xd +/* 8000981C 0000675C 38 80 00 01 */ li r4, 1 +/* 80009820 00006760 48 35 16 99 */ bl GXSetVtxDesc +/* 80009824 00006764 38 60 00 00 */ li r3, 0 +/* 80009828 00006768 38 80 00 09 */ li r4, 9 +/* 8000982C 0000676C 38 A0 00 00 */ li r5, 0 +/* 80009830 00006770 38 C0 00 01 */ li r6, 1 +/* 80009834 00006774 38 E0 00 00 */ li r7, 0 +/* 80009838 00006778 48 35 1D 8D */ bl GXSetVtxAttrFmt +/* 8000983C 0000677C 38 60 00 00 */ li r3, 0 +/* 80009840 00006780 38 80 00 0D */ li r4, 0xd +/* 80009844 00006784 38 A0 00 01 */ li r5, 1 +/* 80009848 00006788 38 C0 00 01 */ li r6, 1 +/* 8000984C 0000678C 38 E0 00 00 */ li r7, 0 +/* 80009850 00006790 48 35 1D 75 */ bl GXSetVtxAttrFmt +/* 80009854 00006794 88 1F 00 07 */ lbz r0, 7(r31) +/* 80009858 00006798 28 00 00 00 */ cmplwi r0, 0 +/* 8000985C 0000679C 41 82 00 CC */ beq lbl_80009928 +/* 80009860 000067A0 38 60 00 01 */ li r3, 1 +/* 80009864 000067A4 48 35 60 2D */ bl GXSetNumTevStages +/* 80009868 000067A8 38 60 00 00 */ li r3, 0 +/* 8000986C 000067AC 38 80 00 00 */ li r4, 0 +/* 80009870 000067B0 38 A0 00 00 */ li r5, 0 +/* 80009874 000067B4 38 C0 00 FF */ li r6, 0xff +/* 80009878 000067B8 48 35 5E 7D */ bl GXSetTevOrder +/* 8000987C 000067BC 38 60 00 00 */ li r3, 0 +/* 80009880 000067C0 38 80 00 0F */ li r4, 0xf +/* 80009884 000067C4 38 A0 00 08 */ li r5, 8 +/* 80009888 000067C8 38 C0 00 06 */ li r6, 6 +/* 8000988C 000067CC 38 E0 00 0F */ li r7, 0xf +/* 80009890 000067D0 48 35 59 95 */ bl GXSetTevColorIn +/* 80009894 000067D4 38 60 00 00 */ li r3, 0 +/* 80009898 000067D8 38 80 00 00 */ li r4, 0 +/* 8000989C 000067DC 38 A0 00 00 */ li r5, 0 +/* 800098A0 000067E0 38 C0 00 00 */ li r6, 0 +/* 800098A4 000067E4 38 E0 00 01 */ li r7, 1 +/* 800098A8 000067E8 39 00 00 00 */ li r8, 0 +/* 800098AC 000067EC 48 35 5A 01 */ bl GXSetTevColorOp +/* 800098B0 000067F0 38 60 00 00 */ li r3, 0 +/* 800098B4 000067F4 38 80 00 07 */ li r4, 7 +/* 800098B8 000067F8 38 A0 00 07 */ li r5, 7 +/* 800098BC 000067FC 38 C0 00 07 */ li r6, 7 +/* 800098C0 00006800 38 E0 00 03 */ li r7, 3 +/* 800098C4 00006804 48 35 59 A5 */ bl GXSetTevAlphaIn +/* 800098C8 00006808 38 60 00 00 */ li r3, 0 +/* 800098CC 0000680C 38 80 00 00 */ li r4, 0 +/* 800098D0 00006810 38 A0 00 00 */ li r5, 0 +/* 800098D4 00006814 38 C0 00 00 */ li r6, 0 +/* 800098D8 00006818 38 E0 00 01 */ li r7, 1 +/* 800098DC 0000681C 39 00 00 00 */ li r8, 0 +/* 800098E0 00006820 48 35 5A 35 */ bl GXSetTevAlphaOp +/* 800098E4 00006824 38 60 00 00 */ li r3, 0 +/* 800098E8 00006828 38 80 00 01 */ li r4, 1 +/* 800098EC 0000682C 38 A0 00 01 */ li r5, 1 +/* 800098F0 00006830 48 35 5C 6D */ bl GXSetTevSwapMode +/* 800098F4 00006834 80 1F 00 04 */ lwz r0, 4(r31) +/* 800098F8 00006838 90 01 00 10 */ stw r0, 0x10(r1) +/* 800098FC 0000683C 38 60 00 03 */ li r3, 3 +/* 80009900 00006840 38 81 00 10 */ addi r4, r1, 0x10 +/* 80009904 00006844 48 35 5A 79 */ bl GXSetTevColor +/* 80009908 00006848 38 60 00 01 */ li r3, 1 +/* 8000990C 0000684C 38 80 00 04 */ li r4, 4 +/* 80009910 00006850 38 A0 00 05 */ li r5, 5 +/* 80009914 00006854 38 C0 00 07 */ li r6, 7 +/* 80009918 00006858 48 35 62 D9 */ bl GXSetBlendMode +/* 8000991C 0000685C 38 60 00 04 */ li r3, 4 +/* 80009920 00006860 38 80 00 04 */ li r4, 4 +/* 80009924 00006864 4B FF FB 91 */ bl mDoGph_drawFilterQuad__FScSc +lbl_80009928: +/* 80009928 00006868 57 80 06 3F */ clrlwi. r0, r28, 0x18 +/* 8000992C 0000686C 41 82 08 04 */ beq lbl_8000A130 +/* 80009930 00006870 38 60 00 00 */ li r3, 0 +/* 80009934 00006874 38 80 00 00 */ li r4, 0 +/* 80009938 00006878 38 A0 01 30 */ li r5, 0x130 +/* 8000993C 0000687C 38 C0 00 E0 */ li r6, 0xe0 +/* 80009940 00006880 48 35 31 41 */ bl GXSetTexCopySrc +/* 80009944 00006884 38 60 01 30 */ li r3, 0x130 +/* 80009948 00006888 38 80 00 E0 */ li r4, 0xe0 +/* 8000994C 0000688C 38 A0 00 06 */ li r5, 6 +/* 80009950 00006890 38 C0 00 00 */ li r6, 0 +/* 80009954 00006894 48 35 31 DD */ bl GXSetTexCopyDst +/* 80009958 00006898 80 7F 00 10 */ lwz r3, 0x10(r31) +/* 8000995C 0000689C 38 80 00 00 */ li r4, 0 +/* 80009960 000068A0 48 35 3B 0D */ bl GXCopyTex +/* 80009964 000068A4 38 60 00 03 */ li r3, 3 +/* 80009968 000068A8 48 35 5F 29 */ bl GXSetNumTevStages +/* 8000996C 000068AC 38 60 00 00 */ li r3, 0 +/* 80009970 000068B0 38 80 00 00 */ li r4, 0 +/* 80009974 000068B4 38 A0 00 00 */ li r5, 0 +/* 80009978 000068B8 38 C0 00 FF */ li r6, 0xff +/* 8000997C 000068BC 48 35 5D 79 */ bl GXSetTevOrder +/* 80009980 000068C0 38 60 00 00 */ li r3, 0 +/* 80009984 000068C4 38 80 00 08 */ li r4, 8 +/* 80009988 000068C8 38 A0 00 09 */ li r5, 9 +/* 8000998C 000068CC 38 C0 00 0D */ li r6, 0xd +/* 80009990 000068D0 38 E0 00 0F */ li r7, 0xf +/* 80009994 000068D4 48 35 58 91 */ bl GXSetTevColorIn +/* 80009998 000068D8 38 60 00 00 */ li r3, 0 +/* 8000999C 000068DC 38 80 00 00 */ li r4, 0 +/* 800099A0 000068E0 38 A0 00 00 */ li r5, 0 +/* 800099A4 000068E4 38 C0 00 00 */ li r6, 0 +/* 800099A8 000068E8 38 E0 00 01 */ li r7, 1 +/* 800099AC 000068EC 39 00 00 00 */ li r8, 0 +/* 800099B0 000068F0 48 35 58 FD */ bl GXSetTevColorOp +/* 800099B4 000068F4 38 60 00 00 */ li r3, 0 +/* 800099B8 000068F8 38 80 00 07 */ li r4, 7 +/* 800099BC 000068FC 38 A0 00 07 */ li r5, 7 +/* 800099C0 00006900 38 C0 00 07 */ li r6, 7 +/* 800099C4 00006904 38 E0 00 07 */ li r7, 7 +/* 800099C8 00006908 48 35 58 A1 */ bl GXSetTevAlphaIn +/* 800099CC 0000690C 38 60 00 00 */ li r3, 0 +/* 800099D0 00006910 38 80 00 00 */ li r4, 0 +/* 800099D4 00006914 38 A0 00 00 */ li r5, 0 +/* 800099D8 00006918 38 C0 00 00 */ li r6, 0 +/* 800099DC 0000691C 38 E0 00 01 */ li r7, 1 +/* 800099E0 00006920 39 00 00 00 */ li r8, 0 +/* 800099E4 00006924 48 35 59 31 */ bl GXSetTevAlphaOp +/* 800099E8 00006928 38 60 00 00 */ li r3, 0 +/* 800099EC 0000692C 38 80 00 01 */ li r4, 1 +/* 800099F0 00006930 38 A0 00 01 */ li r5, 1 +/* 800099F4 00006934 48 35 5B 69 */ bl GXSetTevSwapMode +/* 800099F8 00006938 38 60 00 01 */ li r3, 1 +/* 800099FC 0000693C 38 80 00 00 */ li r4, 0 +/* 80009A00 00006940 38 A0 00 00 */ li r5, 0 +/* 80009A04 00006944 38 C0 00 FF */ li r6, 0xff +/* 80009A08 00006948 48 35 5C ED */ bl GXSetTevOrder +/* 80009A0C 0000694C 38 60 00 01 */ li r3, 1 +/* 80009A10 00006950 38 80 00 08 */ li r4, 8 +/* 80009A14 00006954 38 A0 00 00 */ li r5, 0 +/* 80009A18 00006958 38 C0 00 0D */ li r6, 0xd +/* 80009A1C 0000695C 38 E0 00 02 */ li r7, 2 +/* 80009A20 00006960 48 35 58 05 */ bl GXSetTevColorIn +/* 80009A24 00006964 38 60 00 01 */ li r3, 1 +/* 80009A28 00006968 38 80 00 00 */ li r4, 0 +/* 80009A2C 0000696C 38 A0 00 00 */ li r5, 0 +/* 80009A30 00006970 38 C0 00 00 */ li r6, 0 +/* 80009A34 00006974 38 E0 00 01 */ li r7, 1 +/* 80009A38 00006978 39 00 00 00 */ li r8, 0 +/* 80009A3C 0000697C 48 35 58 71 */ bl GXSetTevColorOp +/* 80009A40 00006980 38 60 00 01 */ li r3, 1 +/* 80009A44 00006984 38 80 00 07 */ li r4, 7 +/* 80009A48 00006988 38 A0 00 07 */ li r5, 7 +/* 80009A4C 0000698C 38 C0 00 07 */ li r6, 7 +/* 80009A50 00006990 38 E0 00 07 */ li r7, 7 +/* 80009A54 00006994 48 35 58 15 */ bl GXSetTevAlphaIn +/* 80009A58 00006998 38 60 00 01 */ li r3, 1 +/* 80009A5C 0000699C 38 80 00 00 */ li r4, 0 +/* 80009A60 000069A0 38 A0 00 00 */ li r5, 0 +/* 80009A64 000069A4 38 C0 00 00 */ li r6, 0 +/* 80009A68 000069A8 38 E0 00 01 */ li r7, 1 +/* 80009A6C 000069AC 39 00 00 00 */ li r8, 0 +/* 80009A70 000069B0 48 35 58 A5 */ bl GXSetTevAlphaOp +/* 80009A74 000069B4 38 60 00 01 */ li r3, 1 +/* 80009A78 000069B8 38 80 00 03 */ li r4, 3 +/* 80009A7C 000069BC 38 A0 00 03 */ li r5, 3 +/* 80009A80 000069C0 48 35 5A DD */ bl GXSetTevSwapMode +/* 80009A84 000069C4 38 60 00 02 */ li r3, 2 +/* 80009A88 000069C8 38 80 00 00 */ li r4, 0 +/* 80009A8C 000069CC 38 A0 00 00 */ li r5, 0 +/* 80009A90 000069D0 38 C0 00 FF */ li r6, 0xff +/* 80009A94 000069D4 48 35 5C 61 */ bl GXSetTevOrder +/* 80009A98 000069D8 38 60 00 02 */ li r3, 2 +/* 80009A9C 000069DC 38 80 00 0F */ li r4, 0xf +/* 80009AA0 000069E0 38 A0 00 08 */ li r5, 8 +/* 80009AA4 000069E4 38 C0 00 00 */ li r6, 0 +/* 80009AA8 000069E8 38 E0 00 0F */ li r7, 0xf +/* 80009AAC 000069EC 48 35 57 79 */ bl GXSetTevColorIn +/* 80009AB0 000069F0 38 60 00 02 */ li r3, 2 +/* 80009AB4 000069F4 38 80 00 00 */ li r4, 0 +/* 80009AB8 000069F8 38 A0 00 00 */ li r5, 0 +/* 80009ABC 000069FC 38 C0 00 00 */ li r6, 0 +/* 80009AC0 00006A00 38 E0 00 01 */ li r7, 1 +/* 80009AC4 00006A04 39 00 00 00 */ li r8, 0 +/* 80009AC8 00006A08 48 35 57 E5 */ bl GXSetTevColorOp +/* 80009ACC 00006A0C 38 60 00 02 */ li r3, 2 +/* 80009AD0 00006A10 38 80 00 07 */ li r4, 7 +/* 80009AD4 00006A14 38 A0 00 07 */ li r5, 7 +/* 80009AD8 00006A18 38 C0 00 07 */ li r6, 7 +/* 80009ADC 00006A1C 38 E0 00 07 */ li r7, 7 +/* 80009AE0 00006A20 48 35 57 89 */ bl GXSetTevAlphaIn +/* 80009AE4 00006A24 38 60 00 02 */ li r3, 2 +/* 80009AE8 00006A28 38 80 00 00 */ li r4, 0 +/* 80009AEC 00006A2C 38 A0 00 00 */ li r5, 0 +/* 80009AF0 00006A30 38 C0 00 00 */ li r6, 0 +/* 80009AF4 00006A34 38 E0 00 01 */ li r7, 1 +/* 80009AF8 00006A38 39 00 00 00 */ li r8, 0 +/* 80009AFC 00006A3C 48 35 58 19 */ bl GXSetTevAlphaOp +/* 80009B00 00006A40 38 60 00 00 */ li r3, 0 +/* 80009B04 00006A44 38 80 00 00 */ li r4, 0 +/* 80009B08 00006A48 38 A0 00 00 */ li r5, 0 +/* 80009B0C 00006A4C 38 C0 00 07 */ li r6, 7 +/* 80009B10 00006A50 48 35 60 E1 */ bl GXSetBlendMode +/* 80009B14 00006A54 80 62 80 B4 */ lwz r3, lbl_80451AB4-_SDA2_BASE_(r2) +/* 80009B18 00006A58 80 02 80 B8 */ lwz r0, lbl_80451AB8-_SDA2_BASE_(r2) +/* 80009B1C 00006A5C 90 61 00 24 */ stw r3, 0x24(r1) +/* 80009B20 00006A60 90 01 00 28 */ stw r0, 0x28(r1) +/* 80009B24 00006A64 88 1F 00 0A */ lbz r0, 0xa(r31) +/* 80009B28 00006A68 7C 00 00 D0 */ neg r0, r0 +/* 80009B2C 00006A6C B0 01 00 24 */ sth r0, 0x24(r1) +/* 80009B30 00006A70 B0 01 00 26 */ sth r0, 0x26(r1) +/* 80009B34 00006A74 B0 01 00 28 */ sth r0, 0x28(r1) +/* 80009B38 00006A78 80 61 00 24 */ lwz r3, 0x24(r1) +/* 80009B3C 00006A7C 80 01 00 28 */ lwz r0, 0x28(r1) +/* 80009B40 00006A80 90 61 00 1C */ stw r3, 0x1c(r1) +/* 80009B44 00006A84 90 01 00 20 */ stw r0, 0x20(r1) +/* 80009B48 00006A88 38 60 00 01 */ li r3, 1 +/* 80009B4C 00006A8C 38 81 00 1C */ addi r4, r1, 0x1c +/* 80009B50 00006A90 48 35 58 8D */ bl GXSetTevColorS10 +/* 80009B54 00006A94 80 02 D1 60 */ lwz r0, lbl_80456B60-_SDA2_BASE_(r2) +/* 80009B58 00006A98 90 01 00 18 */ stw r0, 0x18(r1) +/* 80009B5C 00006A9C 88 1F 00 0C */ lbz r0, 0xc(r31) +/* 80009B60 00006AA0 98 01 00 18 */ stb r0, 0x18(r1) +/* 80009B64 00006AA4 98 01 00 19 */ stb r0, 0x19(r1) +/* 80009B68 00006AA8 98 01 00 1A */ stb r0, 0x1a(r1) +/* 80009B6C 00006AAC 98 01 00 1B */ stb r0, 0x1b(r1) +/* 80009B70 00006AB0 80 01 00 18 */ lwz r0, 0x18(r1) +/* 80009B74 00006AB4 90 01 00 0C */ stw r0, 0xc(r1) +/* 80009B78 00006AB8 38 60 00 02 */ li r3, 2 +/* 80009B7C 00006ABC 38 81 00 0C */ addi r4, r1, 0xc +/* 80009B80 00006AC0 48 35 57 FD */ bl GXSetTevColor +/* 80009B84 00006AC4 48 35 27 F1 */ bl GXPixModeSync +/* 80009B88 00006AC8 38 60 00 02 */ li r3, 2 +/* 80009B8C 00006ACC 38 80 00 02 */ li r4, 2 +/* 80009B90 00006AD0 4B FF F9 25 */ bl mDoGph_drawFilterQuad__FScSc +/* 80009B94 00006AD4 38 60 00 01 */ li r3, 1 +/* 80009B98 00006AD8 38 80 00 00 */ li r4, 0 +/* 80009B9C 00006ADC 38 A0 00 00 */ li r5, 0 +/* 80009BA0 00006AE0 38 C0 00 00 */ li r6, 0 +/* 80009BA4 00006AE4 38 E0 00 03 */ li r7, 3 +/* 80009BA8 00006AE8 48 35 59 FD */ bl GXSetTevSwapModeTable +/* 80009BAC 00006AEC 38 60 00 00 */ li r3, 0 +/* 80009BB0 00006AF0 38 80 00 00 */ li r4, 0 +/* 80009BB4 00006AF4 38 A0 00 00 */ li r5, 0 +/* 80009BB8 00006AF8 48 35 59 A5 */ bl GXSetTevSwapMode +/* 80009BBC 00006AFC 38 60 00 01 */ li r3, 1 +/* 80009BC0 00006B00 38 80 00 00 */ li r4, 0 +/* 80009BC4 00006B04 38 A0 00 00 */ li r5, 0 +/* 80009BC8 00006B08 48 35 59 95 */ bl GXSetTevSwapMode +/* 80009BCC 00006B0C 83 6D 86 58 */ lwz r27, lbl_80450BD8-_SDA_BASE_(r13) +/* 80009BD0 00006B10 38 60 00 00 */ li r3, 0 +/* 80009BD4 00006B14 38 80 00 00 */ li r4, 0 +/* 80009BD8 00006B18 38 A0 01 30 */ li r5, 0x130 +/* 80009BDC 00006B1C 38 C0 00 E0 */ li r6, 0xe0 +/* 80009BE0 00006B20 48 35 2E A1 */ bl GXSetTexCopySrc +/* 80009BE4 00006B24 38 60 00 98 */ li r3, 0x98 +/* 80009BE8 00006B28 38 80 00 70 */ li r4, 0x70 +/* 80009BEC 00006B2C 38 A0 00 06 */ li r5, 6 +/* 80009BF0 00006B30 38 C0 00 01 */ li r6, 1 +/* 80009BF4 00006B34 48 35 2F 3D */ bl GXSetTexCopyDst +/* 80009BF8 00006B38 7F 63 DB 78 */ mr r3, r27 +/* 80009BFC 00006B3C 38 80 00 00 */ li r4, 0 +/* 80009C00 00006B40 48 35 38 6D */ bl GXCopyTex +/* 80009C04 00006B44 38 61 00 4C */ addi r3, r1, 0x4c +/* 80009C08 00006B48 7F 64 DB 78 */ mr r4, r27 +/* 80009C0C 00006B4C 38 A0 00 98 */ li r5, 0x98 +/* 80009C10 00006B50 38 C0 00 70 */ li r6, 0x70 +/* 80009C14 00006B54 38 E0 00 06 */ li r7, 6 +/* 80009C18 00006B58 39 00 00 00 */ li r8, 0 +/* 80009C1C 00006B5C 39 20 00 00 */ li r9, 0 +/* 80009C20 00006B60 39 40 00 00 */ li r10, 0 +/* 80009C24 00006B64 48 35 42 1D */ bl GXInitTexObj +/* 80009C28 00006B68 38 61 00 4C */ addi r3, r1, 0x4c +/* 80009C2C 00006B6C 38 80 00 01 */ li r4, 1 +/* 80009C30 00006B70 38 A0 00 01 */ li r5, 1 +/* 80009C34 00006B74 C0 22 80 38 */ lfs f1, lbl_80451A38-_SDA2_BASE_(r2) +/* 80009C38 00006B78 FC 40 08 90 */ fmr f2, f1 +/* 80009C3C 00006B7C FC 60 08 90 */ fmr f3, f1 +/* 80009C40 00006B80 38 C0 00 00 */ li r6, 0 +/* 80009C44 00006B84 38 E0 00 00 */ li r7, 0 +/* 80009C48 00006B88 39 00 00 00 */ li r8, 0 +/* 80009C4C 00006B8C 48 35 44 89 */ bl GXInitTexObjLOD +/* 80009C50 00006B90 38 61 00 4C */ addi r3, r1, 0x4c +/* 80009C54 00006B94 38 80 00 00 */ li r4, 0 +/* 80009C58 00006B98 48 35 47 BD */ bl GXLoadTexObj +/* 80009C5C 00006B9C 38 60 00 08 */ li r3, 8 +/* 80009C60 00006BA0 48 35 21 9D */ bl GXSetNumTexGens +/* 80009C64 00006BA4 3B 40 00 1E */ li r26, 0x1e +/* 80009C68 00006BA8 3B 20 00 00 */ li r25, 0 +/* 80009C6C 00006BAC 38 60 00 00 */ li r3, 0 +/* 80009C70 00006BB0 38 80 00 01 */ li r4, 1 +/* 80009C74 00006BB4 38 A0 00 04 */ li r5, 4 +/* 80009C78 00006BB8 38 C0 00 3C */ li r6, 0x3c +/* 80009C7C 00006BBC 38 E0 00 00 */ li r7, 0 +/* 80009C80 00006BC0 39 00 00 7D */ li r8, 0x7d +/* 80009C84 00006BC4 48 35 1E F9 */ bl GXSetTexCoordGen2 +/* 80009C88 00006BC8 3B 00 00 01 */ li r24, 1 +/* 80009C8C 00006BCC C3 A2 80 C0 */ lfs f29, lbl_80451AC0-_SDA2_BASE_(r2) +/* 80009C90 00006BD0 CB C2 80 C8 */ lfd f30, lbl_80451AC8-_SDA2_BASE_(r2) +/* 80009C94 00006BD4 3F 80 43 30 */ lis r28, 0x4330 +/* 80009C98 00006BD8 3C 60 80 44 */ lis r3, lbl_80439A20@ha +/* 80009C9C 00006BDC 3B A3 9A 20 */ addi r29, r3, lbl_80439A20@l +/* 80009CA0 00006BE0 3C 60 80 3E */ lis r3, lbl_803DD470@ha +/* 80009CA4 00006BE4 3B C3 D4 70 */ addi r30, r3, lbl_803DD470@l +/* 80009CA8 00006BE8 C3 E2 80 3C */ lfs f31, lbl_80451A3C-_SDA2_BASE_(r2) +lbl_80009CAC: +/* 80009CAC 00006BEC 7F 03 C3 78 */ mr r3, r24 +/* 80009CB0 00006BF0 38 80 00 01 */ li r4, 1 +/* 80009CB4 00006BF4 38 A0 00 04 */ li r5, 4 +/* 80009CB8 00006BF8 7F 46 D3 78 */ mr r6, r26 +/* 80009CBC 00006BFC 38 E0 00 00 */ li r7, 0 +/* 80009CC0 00006C00 39 00 00 7D */ li r8, 0x7d +/* 80009CC4 00006C04 48 35 1E B9 */ bl GXSetTexCoordGen2 +/* 80009CC8 00006C08 88 1F 00 0B */ lbz r0, 0xb(r31) +/* 80009CCC 00006C0C 90 01 00 B4 */ stw r0, 0xb4(r1) +/* 80009CD0 00006C10 93 81 00 B0 */ stw r28, 0xb0(r1) +/* 80009CD4 00006C14 C8 01 00 B0 */ lfd f0, 0xb0(r1) +/* 80009CD8 00006C18 EC 00 F0 28 */ fsubs f0, f0, f30 +/* 80009CDC 00006C1C EC 5D 00 32 */ fmuls f2, f29, f0 +/* 80009CE0 00006C20 57 20 04 38 */ rlwinm r0, r25, 0, 0x10, 0x1c +/* 80009CE4 00006C24 7C 9D 02 14 */ add r4, r29, r0 +/* 80009CE8 00006C28 7F C3 F3 78 */ mr r3, r30 +/* 80009CEC 00006C2C C0 04 00 04 */ lfs f0, 4(r4) +/* 80009CF0 00006C30 EC 02 00 32 */ fmuls f0, f2, f0 +/* 80009CF4 00006C34 EC 20 07 F2 */ fmuls f1, f0, f31 +/* 80009CF8 00006C38 C0 04 00 00 */ lfs f0, 0(r4) +/* 80009CFC 00006C3C EC 42 00 32 */ fmuls f2, f2, f0 +/* 80009D00 00006C40 C0 62 80 38 */ lfs f3, lbl_80451A38-_SDA2_BASE_(r2) +/* 80009D04 00006C44 48 33 CB E5 */ bl PSMTXTrans +/* 80009D08 00006C48 7F C3 F3 78 */ mr r3, r30 +/* 80009D0C 00006C4C 7F 44 D3 78 */ mr r4, r26 +/* 80009D10 00006C50 38 A0 00 01 */ li r5, 1 +/* 80009D14 00006C54 48 35 66 0D */ bl GXLoadTexMtxImm +/* 80009D18 00006C58 3B 18 00 01 */ addi r24, r24, 1 +/* 80009D1C 00006C5C 2C 18 00 08 */ cmpwi r24, 8 +/* 80009D20 00006C60 3B 5A 00 03 */ addi r26, r26, 3 +/* 80009D24 00006C64 3B 39 24 92 */ addi r25, r25, 0x2492 +/* 80009D28 00006C68 41 80 FF 84 */ blt lbl_80009CAC +/* 80009D2C 00006C6C 38 60 00 08 */ li r3, 8 +/* 80009D30 00006C70 48 35 5B 61 */ bl GXSetNumTevStages +/* 80009D34 00006C74 38 60 00 00 */ li r3, 0 +/* 80009D38 00006C78 38 80 00 00 */ li r4, 0 +/* 80009D3C 00006C7C 38 A0 00 00 */ li r5, 0 +/* 80009D40 00006C80 38 C0 00 FF */ li r6, 0xff +/* 80009D44 00006C84 48 35 59 B1 */ bl GXSetTevOrder +/* 80009D48 00006C88 38 60 00 00 */ li r3, 0 +/* 80009D4C 00006C8C 38 80 00 0F */ li r4, 0xf +/* 80009D50 00006C90 38 A0 00 08 */ li r5, 8 +/* 80009D54 00006C94 38 C0 00 05 */ li r6, 5 +/* 80009D58 00006C98 38 E0 00 0F */ li r7, 0xf +/* 80009D5C 00006C9C 48 35 54 C9 */ bl GXSetTevColorIn +/* 80009D60 00006CA0 38 60 00 00 */ li r3, 0 +/* 80009D64 00006CA4 38 80 00 00 */ li r4, 0 +/* 80009D68 00006CA8 38 A0 00 00 */ li r5, 0 +/* 80009D6C 00006CAC 38 C0 00 00 */ li r6, 0 +/* 80009D70 00006CB0 38 E0 00 01 */ li r7, 1 +/* 80009D74 00006CB4 39 00 00 00 */ li r8, 0 +/* 80009D78 00006CB8 48 35 55 35 */ bl GXSetTevColorOp +/* 80009D7C 00006CBC 38 60 00 00 */ li r3, 0 +/* 80009D80 00006CC0 38 80 00 07 */ li r4, 7 +/* 80009D84 00006CC4 38 A0 00 07 */ li r5, 7 +/* 80009D88 00006CC8 38 C0 00 07 */ li r6, 7 +/* 80009D8C 00006CCC 38 E0 00 07 */ li r7, 7 +/* 80009D90 00006CD0 48 35 54 D9 */ bl GXSetTevAlphaIn +/* 80009D94 00006CD4 38 60 00 00 */ li r3, 0 +/* 80009D98 00006CD8 38 80 00 00 */ li r4, 0 +/* 80009D9C 00006CDC 38 A0 00 00 */ li r5, 0 +/* 80009DA0 00006CE0 38 C0 00 00 */ li r6, 0 +/* 80009DA4 00006CE4 38 E0 00 01 */ li r7, 1 +/* 80009DA8 00006CE8 39 00 00 00 */ li r8, 0 +/* 80009DAC 00006CEC 48 35 55 69 */ bl GXSetTevAlphaOp +/* 80009DB0 00006CF0 3B 00 00 01 */ li r24, 1 +lbl_80009DB4: +/* 80009DB4 00006CF4 7F 03 C3 78 */ mr r3, r24 +/* 80009DB8 00006CF8 7F 04 C3 78 */ mr r4, r24 +/* 80009DBC 00006CFC 38 A0 00 00 */ li r5, 0 +/* 80009DC0 00006D00 38 C0 00 FF */ li r6, 0xff +/* 80009DC4 00006D04 48 35 59 31 */ bl GXSetTevOrder +/* 80009DC8 00006D08 7F 03 C3 78 */ mr r3, r24 +/* 80009DCC 00006D0C 38 80 00 0F */ li r4, 0xf +/* 80009DD0 00006D10 38 A0 00 08 */ li r5, 8 +/* 80009DD4 00006D14 38 C0 00 05 */ li r6, 5 +/* 80009DD8 00006D18 38 E0 00 00 */ li r7, 0 +/* 80009DDC 00006D1C 48 35 54 49 */ bl GXSetTevColorIn +/* 80009DE0 00006D20 7F 03 C3 78 */ mr r3, r24 +/* 80009DE4 00006D24 38 80 00 00 */ li r4, 0 +/* 80009DE8 00006D28 38 A0 00 00 */ li r5, 0 +/* 80009DEC 00006D2C 38 C0 00 00 */ li r6, 0 +/* 80009DF0 00006D30 38 E0 00 01 */ li r7, 1 +/* 80009DF4 00006D34 39 00 00 00 */ li r8, 0 +/* 80009DF8 00006D38 48 35 54 B5 */ bl GXSetTevColorOp +/* 80009DFC 00006D3C 7F 03 C3 78 */ mr r3, r24 +/* 80009E00 00006D40 38 80 00 07 */ li r4, 7 +/* 80009E04 00006D44 38 A0 00 07 */ li r5, 7 +/* 80009E08 00006D48 38 C0 00 07 */ li r6, 7 +/* 80009E0C 00006D4C 38 E0 00 01 */ li r7, 1 +/* 80009E10 00006D50 48 35 54 59 */ bl GXSetTevAlphaIn +/* 80009E14 00006D54 7F 03 C3 78 */ mr r3, r24 +/* 80009E18 00006D58 38 80 00 00 */ li r4, 0 +/* 80009E1C 00006D5C 38 A0 00 00 */ li r5, 0 +/* 80009E20 00006D60 38 C0 00 00 */ li r6, 0 +/* 80009E24 00006D64 38 E0 00 01 */ li r7, 1 +/* 80009E28 00006D68 39 00 00 00 */ li r8, 0 +/* 80009E2C 00006D6C 48 35 54 E9 */ bl GXSetTevAlphaOp +/* 80009E30 00006D70 3B 18 00 01 */ addi r24, r24, 1 +/* 80009E34 00006D74 2C 18 00 08 */ cmpwi r24, 8 +/* 80009E38 00006D78 41 80 FF 7C */ blt lbl_80009DB4 +/* 80009E3C 00006D7C 48 35 25 39 */ bl GXPixModeSync +/* 80009E40 00006D80 38 60 00 01 */ li r3, 1 +/* 80009E44 00006D84 38 80 00 01 */ li r4, 1 +/* 80009E48 00006D88 4B FF F6 6D */ bl mDoGph_drawFilterQuad__FScSc +/* 80009E4C 00006D8C 38 60 00 00 */ li r3, 0 +/* 80009E50 00006D90 38 80 00 00 */ li r4, 0 +/* 80009E54 00006D94 38 A0 00 98 */ li r5, 0x98 +/* 80009E58 00006D98 38 C0 00 70 */ li r6, 0x70 +/* 80009E5C 00006D9C 48 35 2C 25 */ bl GXSetTexCopySrc +/* 80009E60 00006DA0 38 60 00 4C */ li r3, 0x4c +/* 80009E64 00006DA4 38 80 00 38 */ li r4, 0x38 +/* 80009E68 00006DA8 38 A0 00 06 */ li r5, 6 +/* 80009E6C 00006DAC 38 C0 00 01 */ li r6, 1 +/* 80009E70 00006DB0 48 35 2C C1 */ bl GXSetTexCopyDst +/* 80009E74 00006DB4 7F 63 DB 78 */ mr r3, r27 +/* 80009E78 00006DB8 38 80 00 00 */ li r4, 0 +/* 80009E7C 00006DBC 48 35 35 F1 */ bl GXCopyTex +/* 80009E80 00006DC0 38 61 00 2C */ addi r3, r1, 0x2c +/* 80009E84 00006DC4 7F 64 DB 78 */ mr r4, r27 +/* 80009E88 00006DC8 38 A0 00 4C */ li r5, 0x4c +/* 80009E8C 00006DCC 38 C0 00 38 */ li r6, 0x38 +/* 80009E90 00006DD0 38 E0 00 06 */ li r7, 6 +/* 80009E94 00006DD4 39 00 00 00 */ li r8, 0 +/* 80009E98 00006DD8 39 20 00 00 */ li r9, 0 +/* 80009E9C 00006DDC 39 40 00 00 */ li r10, 0 +/* 80009EA0 00006DE0 48 35 3F A1 */ bl GXInitTexObj +/* 80009EA4 00006DE4 38 61 00 4C */ addi r3, r1, 0x4c +/* 80009EA8 00006DE8 38 80 00 01 */ li r4, 1 +/* 80009EAC 00006DEC 38 A0 00 01 */ li r5, 1 +/* 80009EB0 00006DF0 C0 22 80 38 */ lfs f1, lbl_80451A38-_SDA2_BASE_(r2) +/* 80009EB4 00006DF4 FC 40 08 90 */ fmr f2, f1 +/* 80009EB8 00006DF8 FC 60 08 90 */ fmr f3, f1 +/* 80009EBC 00006DFC 38 C0 00 00 */ li r6, 0 +/* 80009EC0 00006E00 38 E0 00 00 */ li r7, 0 +/* 80009EC4 00006E04 39 00 00 00 */ li r8, 0 +/* 80009EC8 00006E08 48 35 42 0D */ bl GXInitTexObjLOD +/* 80009ECC 00006E0C 38 61 00 2C */ addi r3, r1, 0x2c +/* 80009ED0 00006E10 38 80 00 00 */ li r4, 0 +/* 80009ED4 00006E14 48 35 45 41 */ bl GXLoadTexObj +/* 80009ED8 00006E18 38 60 00 01 */ li r3, 1 +/* 80009EDC 00006E1C 38 80 00 04 */ li r4, 4 +/* 80009EE0 00006E20 38 A0 00 05 */ li r5, 5 +/* 80009EE4 00006E24 38 C0 00 07 */ li r6, 7 +/* 80009EE8 00006E28 48 35 5D 09 */ bl GXSetBlendMode +/* 80009EEC 00006E2C 48 35 24 89 */ bl GXPixModeSync +/* 80009EF0 00006E30 48 35 47 75 */ bl GXInvalidateTexAll +/* 80009EF4 00006E34 38 60 00 01 */ li r3, 1 +/* 80009EF8 00006E38 38 80 00 01 */ li r4, 1 +/* 80009EFC 00006E3C 4B FF F5 B9 */ bl mDoGph_drawFilterQuad__FScSc +/* 80009F00 00006E40 38 60 00 00 */ li r3, 0 +/* 80009F04 00006E44 38 80 00 00 */ li r4, 0 +/* 80009F08 00006E48 38 A0 00 98 */ li r5, 0x98 +/* 80009F0C 00006E4C 38 C0 00 70 */ li r6, 0x70 +/* 80009F10 00006E50 48 35 2B 71 */ bl GXSetTexCopySrc +/* 80009F14 00006E54 38 60 00 98 */ li r3, 0x98 +/* 80009F18 00006E58 38 80 00 70 */ li r4, 0x70 +/* 80009F1C 00006E5C 38 A0 00 06 */ li r5, 6 +/* 80009F20 00006E60 38 C0 00 00 */ li r6, 0 +/* 80009F24 00006E64 48 35 2C 0D */ bl GXSetTexCopyDst +/* 80009F28 00006E68 7F 63 DB 78 */ mr r3, r27 +/* 80009F2C 00006E6C 38 80 00 00 */ li r4, 0 +/* 80009F30 00006E70 48 35 35 3D */ bl GXCopyTex +/* 80009F34 00006E74 38 61 00 2C */ addi r3, r1, 0x2c +/* 80009F38 00006E78 80 9F 00 10 */ lwz r4, 0x10(r31) +/* 80009F3C 00006E7C 38 A0 01 30 */ li r5, 0x130 +/* 80009F40 00006E80 38 C0 00 E0 */ li r6, 0xe0 +/* 80009F44 00006E84 38 E0 00 06 */ li r7, 6 +/* 80009F48 00006E88 39 00 00 00 */ li r8, 0 +/* 80009F4C 00006E8C 39 20 00 00 */ li r9, 0 +/* 80009F50 00006E90 39 40 00 00 */ li r10, 0 +/* 80009F54 00006E94 48 35 3E ED */ bl GXInitTexObj +/* 80009F58 00006E98 38 61 00 2C */ addi r3, r1, 0x2c +/* 80009F5C 00006E9C 38 80 00 01 */ li r4, 1 +/* 80009F60 00006EA0 38 A0 00 01 */ li r5, 1 +/* 80009F64 00006EA4 C0 22 80 38 */ lfs f1, lbl_80451A38-_SDA2_BASE_(r2) +/* 80009F68 00006EA8 FC 40 08 90 */ fmr f2, f1 +/* 80009F6C 00006EAC FC 60 08 90 */ fmr f3, f1 +/* 80009F70 00006EB0 38 C0 00 00 */ li r6, 0 +/* 80009F74 00006EB4 38 E0 00 00 */ li r7, 0 +/* 80009F78 00006EB8 39 00 00 00 */ li r8, 0 +/* 80009F7C 00006EBC 48 35 41 59 */ bl GXInitTexObjLOD +/* 80009F80 00006EC0 38 61 00 2C */ addi r3, r1, 0x2c +/* 80009F84 00006EC4 38 80 00 00 */ li r4, 0 +/* 80009F88 00006EC8 48 35 44 8D */ bl GXLoadTexObj +/* 80009F8C 00006ECC 38 60 00 01 */ li r3, 1 +/* 80009F90 00006ED0 48 35 1E 6D */ bl GXSetNumTexGens +/* 80009F94 00006ED4 38 60 00 00 */ li r3, 0 +/* 80009F98 00006ED8 38 80 00 01 */ li r4, 1 +/* 80009F9C 00006EDC 38 A0 00 04 */ li r5, 4 +/* 80009FA0 00006EE0 38 C0 00 3C */ li r6, 0x3c +/* 80009FA4 00006EE4 38 E0 00 00 */ li r7, 0 +/* 80009FA8 00006EE8 39 00 00 7D */ li r8, 0x7d +/* 80009FAC 00006EEC 48 35 1B D1 */ bl GXSetTexCoordGen2 +/* 80009FB0 00006EF0 38 60 00 01 */ li r3, 1 +/* 80009FB4 00006EF4 48 35 58 DD */ bl GXSetNumTevStages +/* 80009FB8 00006EF8 38 60 00 00 */ li r3, 0 +/* 80009FBC 00006EFC 38 80 00 00 */ li r4, 0 +/* 80009FC0 00006F00 38 A0 00 00 */ li r5, 0 +/* 80009FC4 00006F04 38 C0 00 FF */ li r6, 0xff +/* 80009FC8 00006F08 48 35 57 2D */ bl GXSetTevOrder +/* 80009FCC 00006F0C 38 60 00 00 */ li r3, 0 +/* 80009FD0 00006F10 38 80 00 0F */ li r4, 0xf +/* 80009FD4 00006F14 38 A0 00 0F */ li r5, 0xf +/* 80009FD8 00006F18 38 C0 00 0F */ li r6, 0xf +/* 80009FDC 00006F1C 38 E0 00 08 */ li r7, 8 +/* 80009FE0 00006F20 48 35 52 45 */ bl GXSetTevColorIn +/* 80009FE4 00006F24 38 60 00 00 */ li r3, 0 +/* 80009FE8 00006F28 38 80 00 00 */ li r4, 0 +/* 80009FEC 00006F2C 38 A0 00 00 */ li r5, 0 +/* 80009FF0 00006F30 38 C0 00 00 */ li r6, 0 +/* 80009FF4 00006F34 38 E0 00 01 */ li r7, 1 +/* 80009FF8 00006F38 39 00 00 00 */ li r8, 0 +/* 80009FFC 00006F3C 48 35 52 B1 */ bl GXSetTevColorOp +/* 8000A000 00006F40 38 60 00 00 */ li r3, 0 +/* 8000A004 00006F44 38 80 00 07 */ li r4, 7 +/* 8000A008 00006F48 38 A0 00 07 */ li r5, 7 +/* 8000A00C 00006F4C 38 C0 00 07 */ li r6, 7 +/* 8000A010 00006F50 38 E0 00 07 */ li r7, 7 +/* 8000A014 00006F54 48 35 52 55 */ bl GXSetTevAlphaIn +/* 8000A018 00006F58 38 60 00 00 */ li r3, 0 +/* 8000A01C 00006F5C 38 80 00 00 */ li r4, 0 +/* 8000A020 00006F60 38 A0 00 00 */ li r5, 0 +/* 8000A024 00006F64 38 C0 00 00 */ li r6, 0 +/* 8000A028 00006F68 38 E0 00 01 */ li r7, 1 +/* 8000A02C 00006F6C 39 00 00 00 */ li r8, 0 +/* 8000A030 00006F70 48 35 52 E5 */ bl GXSetTevAlphaOp +/* 8000A034 00006F74 38 60 00 00 */ li r3, 0 +/* 8000A038 00006F78 38 80 00 01 */ li r4, 1 +/* 8000A03C 00006F7C 38 A0 00 01 */ li r5, 1 +/* 8000A040 00006F80 38 C0 00 07 */ li r6, 7 +/* 8000A044 00006F84 48 35 5B AD */ bl GXSetBlendMode +/* 8000A048 00006F88 38 60 00 02 */ li r3, 2 +/* 8000A04C 00006F8C 38 80 00 02 */ li r4, 2 +/* 8000A050 00006F90 4B FF F4 65 */ bl mDoGph_drawFilterQuad__FScSc +/* 8000A054 00006F94 38 61 00 4C */ addi r3, r1, 0x4c +/* 8000A058 00006F98 38 80 00 00 */ li r4, 0 +/* 8000A05C 00006F9C 48 35 43 B9 */ bl GXLoadTexObj +/* 8000A060 00006FA0 80 1F 00 00 */ lwz r0, 0(r31) +/* 8000A064 00006FA4 90 01 00 08 */ stw r0, 8(r1) +/* 8000A068 00006FA8 38 60 00 01 */ li r3, 1 +/* 8000A06C 00006FAC 38 81 00 08 */ addi r4, r1, 8 +/* 8000A070 00006FB0 48 35 53 0D */ bl GXSetTevColor +/* 8000A074 00006FB4 38 60 00 01 */ li r3, 1 +/* 8000A078 00006FB8 48 35 58 19 */ bl GXSetNumTevStages +/* 8000A07C 00006FBC 38 60 00 00 */ li r3, 0 +/* 8000A080 00006FC0 38 80 00 00 */ li r4, 0 +/* 8000A084 00006FC4 38 A0 00 00 */ li r5, 0 +/* 8000A088 00006FC8 38 C0 00 FF */ li r6, 0xff +/* 8000A08C 00006FCC 48 35 56 69 */ bl GXSetTevOrder +/* 8000A090 00006FD0 38 60 00 00 */ li r3, 0 +/* 8000A094 00006FD4 38 80 00 0F */ li r4, 0xf +/* 8000A098 00006FD8 38 A0 00 08 */ li r5, 8 +/* 8000A09C 00006FDC 38 C0 00 02 */ li r6, 2 +/* 8000A0A0 00006FE0 38 E0 00 0F */ li r7, 0xf +/* 8000A0A4 00006FE4 48 35 51 81 */ bl GXSetTevColorIn +/* 8000A0A8 00006FE8 38 60 00 00 */ li r3, 0 +/* 8000A0AC 00006FEC 38 80 00 00 */ li r4, 0 +/* 8000A0B0 00006FF0 38 A0 00 00 */ li r5, 0 +/* 8000A0B4 00006FF4 38 C0 00 00 */ li r6, 0 +/* 8000A0B8 00006FF8 38 E0 00 01 */ li r7, 1 +/* 8000A0BC 00006FFC 39 00 00 00 */ li r8, 0 +/* 8000A0C0 00007000 48 35 51 ED */ bl GXSetTevColorOp +/* 8000A0C4 00007004 38 60 00 00 */ li r3, 0 +/* 8000A0C8 00007008 38 80 00 07 */ li r4, 7 +/* 8000A0CC 0000700C 38 A0 00 07 */ li r5, 7 +/* 8000A0D0 00007010 38 C0 00 07 */ li r6, 7 +/* 8000A0D4 00007014 38 E0 00 01 */ li r7, 1 +/* 8000A0D8 00007018 48 35 51 91 */ bl GXSetTevAlphaIn +/* 8000A0DC 0000701C 38 60 00 00 */ li r3, 0 +/* 8000A0E0 00007020 38 80 00 00 */ li r4, 0 +/* 8000A0E4 00007024 38 A0 00 00 */ li r5, 0 +/* 8000A0E8 00007028 38 C0 00 00 */ li r6, 0 +/* 8000A0EC 0000702C 38 E0 00 01 */ li r7, 1 +/* 8000A0F0 00007030 39 00 00 00 */ li r8, 0 +/* 8000A0F4 00007034 48 35 52 21 */ bl GXSetTevAlphaOp +/* 8000A0F8 00007038 38 60 00 01 */ li r3, 1 +/* 8000A0FC 0000703C 88 1F 00 09 */ lbz r0, 9(r31) +/* 8000A100 00007040 28 00 00 01 */ cmplwi r0, 1 +/* 8000A104 00007044 38 80 00 01 */ li r4, 1 +/* 8000A108 00007048 40 82 00 08 */ bne lbl_8000A110 +/* 8000A10C 0000704C 38 80 00 03 */ li r4, 3 +lbl_8000A110: +/* 8000A110 00007050 38 A0 00 04 */ li r5, 4 +/* 8000A114 00007054 38 C0 00 07 */ li r6, 7 +/* 8000A118 00007058 48 35 5A D9 */ bl GXSetBlendMode +/* 8000A11C 0000705C 48 35 22 59 */ bl GXPixModeSync +/* 8000A120 00007060 48 35 45 45 */ bl GXInvalidateTexAll +/* 8000A124 00007064 38 60 00 04 */ li r3, 4 +/* 8000A128 00007068 38 80 00 04 */ li r4, 4 +/* 8000A12C 0000706C 4B FF F3 89 */ bl mDoGph_drawFilterQuad__FScSc +lbl_8000A130: +/* 8000A130 00007070 E3 E1 01 08 */ psq_l f31, 264(r1), 0, 0 +/* 8000A134 00007074 CB E1 01 00 */ lfd f31, 0x100(r1) +/* 8000A138 00007078 E3 C1 00 F8 */ psq_l f30, 248(r1), 0, 0 +/* 8000A13C 0000707C CB C1 00 F0 */ lfd f30, 0xf0(r1) +/* 8000A140 00007080 E3 A1 00 E8 */ psq_l f29, 232(r1), 0, 0 +/* 8000A144 00007084 CB A1 00 E0 */ lfd f29, 0xe0(r1) +/* 8000A148 00007088 39 61 00 E0 */ addi r11, r1, 0xe0 +/* 8000A14C 0000708C 48 35 80 C9 */ bl _restgpr_24 +/* 8000A150 00007090 80 01 01 14 */ lwz r0, 0x114(r1) +/* 8000A154 00007094 7C 08 03 A6 */ mtlr r0 +/* 8000A158 00007098 38 21 01 10 */ addi r1, r1, 0x110 +/* 8000A15C 0000709C 4E 80 00 20 */ blr diff --git a/include/m_Do/m_Do_graphic/asm/func_8000A160.s b/include/m_Do/m_Do_graphic/asm/func_8000A160.s new file mode 100644 index 00000000000..1f74938826d --- /dev/null +++ b/include/m_Do/m_Do_graphic/asm/func_8000A160.s @@ -0,0 +1,78 @@ +/* 8000A160 000070A0 94 21 FF C0 */ stwu r1, -0x40(r1) +/* 8000A164 000070A4 7C 08 02 A6 */ mflr r0 +/* 8000A168 000070A8 90 01 00 44 */ stw r0, 0x44(r1) +/* 8000A16C 000070AC 39 61 00 40 */ addi r11, r1, 0x40 +/* 8000A170 000070B0 48 35 80 65 */ bl _savegpr_27 +/* 8000A174 000070B4 C0 04 00 00 */ lfs f0, 0(r4) +/* 8000A178 000070B8 FC 00 00 1E */ fctiwz f0, f0 +/* 8000A17C 000070BC D8 01 00 08 */ stfd f0, 8(r1) +/* 8000A180 000070C0 80 01 00 0C */ lwz r0, 0xc(r1) +/* 8000A184 000070C4 54 00 00 38 */ rlwinm r0, r0, 0, 0, 0x1c +/* 8000A188 000070C8 7C 1F 07 34 */ extsh r31, r0 +/* 8000A18C 000070CC C0 04 00 04 */ lfs f0, 4(r4) +/* 8000A190 000070D0 FC 00 00 1E */ fctiwz f0, f0 +/* 8000A194 000070D4 D8 01 00 10 */ stfd f0, 0x10(r1) +/* 8000A198 000070D8 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8000A19C 000070DC 54 00 00 38 */ rlwinm r0, r0, 0, 0, 0x1c +/* 8000A1A0 000070E0 7C 05 07 34 */ extsh r5, r0 +/* 8000A1A4 000070E4 7C A0 FE 70 */ srawi r0, r5, 0x1f +/* 8000A1A8 000070E8 7C A0 00 78 */ andc r0, r5, r0 +/* 8000A1AC 000070EC 7C 1E 07 34 */ extsh r30, r0 +/* 8000A1B0 000070F0 C0 04 00 08 */ lfs f0, 8(r4) +/* 8000A1B4 000070F4 FC 00 00 1E */ fctiwz f0, f0 +/* 8000A1B8 000070F8 D8 01 00 18 */ stfd f0, 0x18(r1) +/* 8000A1BC 000070FC 80 01 00 1C */ lwz r0, 0x1c(r1) +/* 8000A1C0 00007100 54 00 00 38 */ rlwinm r0, r0, 0, 0, 0x1c +/* 8000A1C4 00007104 7C 1D 07 34 */ extsh r29, r0 +/* 8000A1C8 00007108 C0 04 00 0C */ lfs f0, 0xc(r4) +/* 8000A1CC 0000710C FC 00 00 1E */ fctiwz f0, f0 +/* 8000A1D0 00007110 D8 01 00 20 */ stfd f0, 0x20(r1) +/* 8000A1D4 00007114 80 01 00 24 */ lwz r0, 0x24(r1) +/* 8000A1D8 00007118 54 00 00 38 */ rlwinm r0, r0, 0, 0, 0x1c +/* 8000A1DC 0000711C 7C 1C 07 34 */ extsh r28, r0 +/* 8000A1E0 00007120 83 6D 86 50 */ lwz r27, lbl_80450BD0-_SDA_BASE_(r13) +/* 8000A1E4 00007124 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha +/* 8000A1E8 00007128 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l +/* 8000A1EC 0000712C 88 03 5E B5 */ lbz r0, 0x5eb5(r3) +/* 8000A1F0 00007130 28 00 00 00 */ cmplwi r0, 0 +/* 8000A1F4 00007134 40 82 00 84 */ bne lbl_8000A278 +/* 8000A1F8 00007138 7C A0 07 35 */ extsh. r0, r5 +/* 8000A1FC 0000713C 40 80 00 30 */ bge lbl_8000A22C +/* 8000A200 00007140 7F 9C 2A 14 */ add r28, r28, r5 +/* 8000A204 00007144 7C 05 00 D0 */ neg r0, r5 +/* 8000A208 00007148 7C 00 0E 70 */ srawi r0, r0, 1 +/* 8000A20C 0000714C 38 60 01 30 */ li r3, 0x130 +/* 8000A210 00007150 54 04 04 3E */ clrlwi r4, r0, 0x10 +/* 8000A214 00007154 80 AD 86 4C */ lwz r5, lbl_80450BCC-_SDA_BASE_(r13) +/* 8000A218 00007158 88 A5 00 00 */ lbz r5, 0(r5) +/* 8000A21C 0000715C 38 C0 00 00 */ li r6, 0 +/* 8000A220 00007160 38 E0 00 00 */ li r7, 0 +/* 8000A224 00007164 48 35 39 F9 */ bl GXGetTexBufferSize +/* 8000A228 00007168 7F 7B 1A 14 */ add r27, r27, r3 +lbl_8000A22C: +/* 8000A22C 0000716C 57 E3 04 3E */ clrlwi r3, r31, 0x10 +/* 8000A230 00007170 57 C4 04 3E */ clrlwi r4, r30, 0x10 +/* 8000A234 00007174 57 A5 04 3E */ clrlwi r5, r29, 0x10 +/* 8000A238 00007178 57 86 04 3E */ clrlwi r6, r28, 0x10 +/* 8000A23C 0000717C 48 35 28 45 */ bl GXSetTexCopySrc +/* 8000A240 00007180 7F A0 0E 70 */ srawi r0, r29, 1 +/* 8000A244 00007184 54 03 04 3E */ clrlwi r3, r0, 0x10 +/* 8000A248 00007188 7F 80 07 34 */ extsh r0, r28 +/* 8000A24C 0000718C 7C 00 0E 70 */ srawi r0, r0, 1 +/* 8000A250 00007190 54 04 04 3E */ clrlwi r4, r0, 0x10 +/* 8000A254 00007194 80 AD 86 4C */ lwz r5, lbl_80450BCC-_SDA_BASE_(r13) +/* 8000A258 00007198 88 A5 00 00 */ lbz r5, 0(r5) +/* 8000A25C 0000719C 38 C0 00 01 */ li r6, 1 +/* 8000A260 000071A0 48 35 28 D1 */ bl GXSetTexCopyDst +/* 8000A264 000071A4 7F 63 DB 78 */ mr r3, r27 +/* 8000A268 000071A8 38 80 00 00 */ li r4, 0 +/* 8000A26C 000071AC 48 35 32 01 */ bl GXCopyTex +/* 8000A270 000071B0 48 35 21 05 */ bl GXPixModeSync +/* 8000A274 000071B4 48 35 43 F1 */ bl GXInvalidateTexAll +lbl_8000A278: +/* 8000A278 000071B8 39 61 00 40 */ addi r11, r1, 0x40 +/* 8000A27C 000071BC 48 35 7F A5 */ bl _restgpr_27 +/* 8000A280 000071C0 80 01 00 44 */ lwz r0, 0x44(r1) +/* 8000A284 000071C4 7C 08 03 A6 */ mtlr r0 +/* 8000A288 000071C8 38 21 00 40 */ addi r1, r1, 0x40 +/* 8000A28C 000071CC 4E 80 00 20 */ blr diff --git a/include/m_Do/m_Do_graphic/asm/func_8000A290.s b/include/m_Do/m_Do_graphic/asm/func_8000A290.s new file mode 100644 index 00000000000..268a767d44a --- /dev/null +++ b/include/m_Do/m_Do_graphic/asm/func_8000A290.s @@ -0,0 +1,160 @@ +/* 8000A290 000071D0 94 21 FF A0 */ stwu r1, -0x60(r1) +/* 8000A294 000071D4 7C 08 02 A6 */ mflr r0 +/* 8000A298 000071D8 90 01 00 64 */ stw r0, 0x64(r1) +/* 8000A29C 000071DC 93 E1 00 5C */ stw r31, 0x5c(r1) +/* 8000A2A0 000071E0 93 C1 00 58 */ stw r30, 0x58(r1) +/* 8000A2A4 000071E4 7C 7E 1B 78 */ mr r30, r3 +/* 8000A2A8 000071E8 3C 60 80 43 */ lis r3, lbl_8042CA54@ha +/* 8000A2AC 000071EC 3B E3 CA 54 */ addi r31, r3, lbl_8042CA54@l +/* 8000A2B0 000071F0 88 1F 12 FA */ lbz r0, 0x12fa(r31) +/* 8000A2B4 000071F4 28 00 00 00 */ cmplwi r0, 0 +/* 8000A2B8 000071F8 41 82 02 14 */ beq lbl_8000A4CC +/* 8000A2BC 000071FC 3C 60 80 3E */ lis r3, lbl_803DD3E8@ha +/* 8000A2C0 00007200 38 63 D3 E8 */ addi r3, r3, lbl_803DD3E8@l +/* 8000A2C4 00007204 38 80 00 00 */ li r4, 0 +/* 8000A2C8 00007208 48 35 41 4D */ bl GXLoadTexObj +/* 8000A2CC 0000720C 88 0D 86 65 */ lbz r0, lbl_80450BE5-_SDA_BASE_(r13) +/* 8000A2D0 00007210 98 01 00 13 */ stb r0, 0x13(r1) +/* 8000A2D4 00007214 38 60 00 00 */ li r3, 0 +/* 8000A2D8 00007218 48 35 38 59 */ bl GXSetNumChans +/* 8000A2DC 0000721C 38 60 00 01 */ li r3, 1 +/* 8000A2E0 00007220 48 35 1B 1D */ bl GXSetNumTexGens +/* 8000A2E4 00007224 38 60 00 00 */ li r3, 0 +/* 8000A2E8 00007228 38 80 00 01 */ li r4, 1 +/* 8000A2EC 0000722C 38 A0 00 04 */ li r5, 4 +/* 8000A2F0 00007230 38 C0 00 1E */ li r6, 0x1e +/* 8000A2F4 00007234 38 E0 00 00 */ li r7, 0 +/* 8000A2F8 00007238 39 00 00 7D */ li r8, 0x7d +/* 8000A2FC 0000723C 48 35 18 81 */ bl GXSetTexCoordGen2 +/* 8000A300 00007240 38 60 00 01 */ li r3, 1 +/* 8000A304 00007244 48 35 55 8D */ bl GXSetNumTevStages +/* 8000A308 00007248 80 01 00 10 */ lwz r0, 0x10(r1) +/* 8000A30C 0000724C 90 01 00 0C */ stw r0, 0xc(r1) +/* 8000A310 00007250 38 60 00 01 */ li r3, 1 +/* 8000A314 00007254 38 81 00 0C */ addi r4, r1, 0xc +/* 8000A318 00007258 48 35 50 65 */ bl GXSetTevColor +/* 8000A31C 0000725C 38 60 00 00 */ li r3, 0 +/* 8000A320 00007260 38 80 00 00 */ li r4, 0 +/* 8000A324 00007264 38 A0 00 00 */ li r5, 0 +/* 8000A328 00007268 38 C0 00 FF */ li r6, 0xff +/* 8000A32C 0000726C 48 35 53 C9 */ bl GXSetTevOrder +/* 8000A330 00007270 38 60 00 00 */ li r3, 0 +/* 8000A334 00007274 38 80 00 0F */ li r4, 0xf +/* 8000A338 00007278 38 A0 00 0F */ li r5, 0xf +/* 8000A33C 0000727C 38 C0 00 0F */ li r6, 0xf +/* 8000A340 00007280 38 E0 00 08 */ li r7, 8 +/* 8000A344 00007284 48 35 4E E1 */ bl GXSetTevColorIn +/* 8000A348 00007288 38 60 00 00 */ li r3, 0 +/* 8000A34C 0000728C 38 80 00 00 */ li r4, 0 +/* 8000A350 00007290 38 A0 00 00 */ li r5, 0 +/* 8000A354 00007294 38 C0 00 00 */ li r6, 0 +/* 8000A358 00007298 38 E0 00 01 */ li r7, 1 +/* 8000A35C 0000729C 39 00 00 00 */ li r8, 0 +/* 8000A360 000072A0 48 35 4F 4D */ bl GXSetTevColorOp +/* 8000A364 000072A4 38 60 00 00 */ li r3, 0 +/* 8000A368 000072A8 38 80 00 07 */ li r4, 7 +/* 8000A36C 000072AC 38 A0 00 07 */ li r5, 7 +/* 8000A370 000072B0 38 C0 00 07 */ li r6, 7 +/* 8000A374 000072B4 38 E0 00 01 */ li r7, 1 +/* 8000A378 000072B8 48 35 4E F1 */ bl GXSetTevAlphaIn +/* 8000A37C 000072BC 38 60 00 00 */ li r3, 0 +/* 8000A380 000072C0 38 80 00 00 */ li r4, 0 +/* 8000A384 000072C4 38 A0 00 00 */ li r5, 0 +/* 8000A388 000072C8 38 C0 00 00 */ li r6, 0 +/* 8000A38C 000072CC 38 E0 00 01 */ li r7, 1 +/* 8000A390 000072D0 39 00 00 00 */ li r8, 0 +/* 8000A394 000072D4 48 35 4F 81 */ bl GXSetTevAlphaOp +/* 8000A398 000072D8 38 60 00 01 */ li r3, 1 +/* 8000A39C 000072DC 48 35 59 35 */ bl GXSetZCompLoc +/* 8000A3A0 000072E0 38 60 00 00 */ li r3, 0 +/* 8000A3A4 000072E4 38 80 00 07 */ li r4, 7 +/* 8000A3A8 000072E8 38 A0 00 00 */ li r5, 0 +/* 8000A3AC 000072EC 48 35 58 F1 */ bl GXSetZMode +/* 8000A3B0 000072F0 38 60 00 01 */ li r3, 1 +/* 8000A3B4 000072F4 38 80 00 04 */ li r4, 4 +/* 8000A3B8 000072F8 38 A0 00 05 */ li r5, 5 +/* 8000A3BC 000072FC 38 C0 00 00 */ li r6, 0 +/* 8000A3C0 00007300 48 35 58 31 */ bl GXSetBlendMode +/* 8000A3C4 00007304 38 60 00 07 */ li r3, 7 +/* 8000A3C8 00007308 38 80 00 00 */ li r4, 0 +/* 8000A3CC 0000730C 38 A0 00 01 */ li r5, 1 +/* 8000A3D0 00007310 38 C0 00 07 */ li r6, 7 +/* 8000A3D4 00007314 38 E0 00 00 */ li r7, 0 +/* 8000A3D8 00007318 48 35 52 4D */ bl GXSetAlphaCompare +/* 8000A3DC 0000731C 80 0D 80 80 */ lwz r0, lbl_80450600-_SDA_BASE_(r13) +/* 8000A3E0 00007320 90 01 00 08 */ stw r0, 8(r1) +/* 8000A3E4 00007324 38 60 00 00 */ li r3, 0 +/* 8000A3E8 00007328 C0 22 80 38 */ lfs f1, lbl_80451A38-_SDA2_BASE_(r2) +/* 8000A3EC 0000732C FC 40 08 90 */ fmr f2, f1 +/* 8000A3F0 00007330 FC 60 08 90 */ fmr f3, f1 +/* 8000A3F4 00007334 FC 80 08 90 */ fmr f4, f1 +/* 8000A3F8 00007338 38 81 00 08 */ addi r4, r1, 8 +/* 8000A3FC 0000733C 48 35 54 BD */ bl GXSetFog +/* 8000A400 00007340 38 60 00 00 */ li r3, 0 +/* 8000A404 00007344 48 35 25 81 */ bl GXSetCullMode +/* 8000A408 00007348 38 60 00 01 */ li r3, 1 +/* 8000A40C 0000734C 48 35 59 CD */ bl GXSetDither +/* 8000A410 00007350 38 61 00 14 */ addi r3, r1, 0x14 +/* 8000A414 00007354 C0 22 80 38 */ lfs f1, lbl_80451A38-_SDA2_BASE_(r2) +/* 8000A418 00007358 C0 42 80 3C */ lfs f2, lbl_80451A3C-_SDA2_BASE_(r2) +/* 8000A41C 0000735C FC 60 08 90 */ fmr f3, f1 +/* 8000A420 00007360 FC 80 10 90 */ fmr f4, f2 +/* 8000A424 00007364 FC A0 08 90 */ fmr f5, f1 +/* 8000A428 00007368 C0 C2 80 40 */ lfs f6, lbl_80451A40-_SDA2_BASE_(r2) +/* 8000A42C 0000736C 48 33 CB CD */ bl C_MTXOrtho +/* 8000A430 00007370 3C 60 80 3A */ lis r3, lbl_803A2FD8@ha +/* 8000A434 00007374 38 63 2F D8 */ addi r3, r3, lbl_803A2FD8@l +/* 8000A438 00007378 38 80 00 00 */ li r4, 0 +/* 8000A43C 0000737C 48 35 5E 11 */ bl GXLoadPosMtxImm +/* 8000A440 00007380 3C 60 80 3E */ lis r3, lbl_803DD43C@ha +/* 8000A444 00007384 38 63 D4 3C */ addi r3, r3, lbl_803DD43C@l +/* 8000A448 00007388 38 80 00 1E */ li r4, 0x1e +/* 8000A44C 0000738C 38 A0 00 01 */ li r5, 1 +/* 8000A450 00007390 48 35 5E D1 */ bl GXLoadTexMtxImm +/* 8000A454 00007394 38 61 00 14 */ addi r3, r1, 0x14 +/* 8000A458 00007398 38 80 00 01 */ li r4, 1 +/* 8000A45C 0000739C 48 35 5C 79 */ bl GXSetProjection +/* 8000A460 000073A0 38 60 00 00 */ li r3, 0 +/* 8000A464 000073A4 48 35 5E 89 */ bl GXSetCurrentMtx +/* 8000A468 000073A8 48 35 11 25 */ bl GXClearVtxDesc +/* 8000A46C 000073AC 38 60 00 09 */ li r3, 9 +/* 8000A470 000073B0 38 80 00 01 */ li r4, 1 +/* 8000A474 000073B4 48 35 0A 45 */ bl GXSetVtxDesc +/* 8000A478 000073B8 38 60 00 0D */ li r3, 0xd +/* 8000A47C 000073BC 38 80 00 01 */ li r4, 1 +/* 8000A480 000073C0 48 35 0A 39 */ bl GXSetVtxDesc +/* 8000A484 000073C4 38 60 00 00 */ li r3, 0 +/* 8000A488 000073C8 38 80 00 09 */ li r4, 9 +/* 8000A48C 000073CC 38 A0 00 00 */ li r5, 0 +/* 8000A490 000073D0 38 C0 00 01 */ li r6, 1 +/* 8000A494 000073D4 38 E0 00 00 */ li r7, 0 +/* 8000A498 000073D8 48 35 11 2D */ bl GXSetVtxAttrFmt +/* 8000A49C 000073DC 38 60 00 00 */ li r3, 0 +/* 8000A4A0 000073E0 38 80 00 0D */ li r4, 0xd +/* 8000A4A4 000073E4 38 A0 00 01 */ li r5, 1 +/* 8000A4A8 000073E8 38 C0 00 01 */ li r6, 1 +/* 8000A4AC 000073EC 38 E0 00 00 */ li r7, 0 +/* 8000A4B0 000073F0 48 35 11 15 */ bl GXSetVtxAttrFmt +/* 8000A4B4 000073F4 38 60 00 01 */ li r3, 1 +/* 8000A4B8 000073F8 38 80 00 01 */ li r4, 1 +/* 8000A4BC 000073FC 4B FF EF F9 */ bl mDoGph_drawFilterQuad__FScSc +/* 8000A4C0 00007400 38 7E 01 00 */ addi r3, r30, 0x100 +/* 8000A4C4 00007404 38 80 00 00 */ li r4, 0 +/* 8000A4C8 00007408 48 35 5C 0D */ bl GXSetProjection +lbl_8000A4CC: +/* 8000A4CC 0000740C 88 0D 86 64 */ lbz r0, lbl_80450BE4-_SDA_BASE_(r13) +/* 8000A4D0 00007410 28 00 00 00 */ cmplwi r0, 0 +/* 8000A4D4 00007414 41 82 00 10 */ beq lbl_8000A4E4 +/* 8000A4D8 00007418 38 00 00 01 */ li r0, 1 +/* 8000A4DC 0000741C 98 1F 12 FA */ stb r0, 0x12fa(r31) +/* 8000A4E0 00007420 48 00 00 0C */ b lbl_8000A4EC +lbl_8000A4E4: +/* 8000A4E4 00007424 38 00 00 00 */ li r0, 0 +/* 8000A4E8 00007428 98 1F 12 FA */ stb r0, 0x12fa(r31) +lbl_8000A4EC: +/* 8000A4EC 0000742C 83 E1 00 5C */ lwz r31, 0x5c(r1) +/* 8000A4F0 00007430 83 C1 00 58 */ lwz r30, 0x58(r1) +/* 8000A4F4 00007434 80 01 00 64 */ lwz r0, 0x64(r1) +/* 8000A4F8 00007438 7C 08 03 A6 */ mtlr r0 +/* 8000A4FC 0000743C 38 21 00 60 */ addi r1, r1, 0x60 +/* 8000A500 00007440 4E 80 00 20 */ blr diff --git a/include/m_Do/m_Do_graphic/asm/func_8000A504.s b/include/m_Do/m_Do_graphic/asm/func_8000A504.s new file mode 100644 index 00000000000..5c6df9809a5 --- /dev/null +++ b/include/m_Do/m_Do_graphic/asm/func_8000A504.s @@ -0,0 +1,34 @@ +/* 8000A504 00007444 94 21 FF B0 */ stwu r1, -0x50(r1) +/* 8000A508 00007448 7C 08 02 A6 */ mflr r0 +/* 8000A50C 0000744C 90 01 00 54 */ stw r0, 0x54(r1) +/* 8000A510 00007450 38 61 00 0C */ addi r3, r1, 0xc +/* 8000A514 00007454 C0 22 80 D0 */ lfs f1, lbl_80451AD0-_SDA2_BASE_(r2) +/* 8000A518 00007458 C0 42 80 38 */ lfs f2, lbl_80451A38-_SDA2_BASE_(r2) +/* 8000A51C 0000745C C0 62 80 D4 */ lfs f3, lbl_80451AD4-_SDA2_BASE_(r2) +/* 8000A520 00007460 48 35 33 8D */ bl GXInitLightPos +/* 8000A524 00007464 38 61 00 0C */ addi r3, r1, 0xc +/* 8000A528 00007468 C0 22 80 38 */ lfs f1, lbl_80451A38-_SDA2_BASE_(r2) +/* 8000A52C 0000746C FC 40 08 90 */ fmr f2, f1 +/* 8000A530 00007470 FC 60 08 90 */ fmr f3, f1 +/* 8000A534 00007474 48 35 33 89 */ bl GXInitLightDir +/* 8000A538 00007478 80 0D 80 88 */ lwz r0, lbl_80450608-_SDA_BASE_(r13) +/* 8000A53C 0000747C 90 01 00 08 */ stw r0, 8(r1) +/* 8000A540 00007480 38 61 00 0C */ addi r3, r1, 0xc +/* 8000A544 00007484 38 81 00 08 */ addi r4, r1, 8 +/* 8000A548 00007488 48 35 33 91 */ bl GXInitLightColor +/* 8000A54C 0000748C 38 61 00 0C */ addi r3, r1, 0xc +/* 8000A550 00007490 C0 22 80 38 */ lfs f1, lbl_80451A38-_SDA2_BASE_(r2) +/* 8000A554 00007494 FC 40 08 90 */ fmr f2, f1 +/* 8000A558 00007498 38 80 00 01 */ li r4, 1 +/* 8000A55C 0000749C 48 35 32 81 */ bl GXInitLightDistAttn +/* 8000A560 000074A0 38 61 00 0C */ addi r3, r1, 0xc +/* 8000A564 000074A4 C0 22 80 38 */ lfs f1, lbl_80451A38-_SDA2_BASE_(r2) +/* 8000A568 000074A8 38 80 00 01 */ li r4, 1 +/* 8000A56C 000074AC 48 35 30 E1 */ bl GXInitLightSpot +/* 8000A570 000074B0 38 61 00 0C */ addi r3, r1, 0xc +/* 8000A574 000074B4 38 80 00 01 */ li r4, 1 +/* 8000A578 000074B8 48 35 33 6D */ bl GXLoadLightObjImm +/* 8000A57C 000074BC 80 01 00 54 */ lwz r0, 0x54(r1) +/* 8000A580 000074C0 7C 08 03 A6 */ mtlr r0 +/* 8000A584 000074C4 38 21 00 50 */ addi r1, r1, 0x50 +/* 8000A588 000074C8 4E 80 00 20 */ blr diff --git a/include/m_Do/m_Do_graphic/asm/func_8000A58C.s b/include/m_Do/m_Do_graphic/asm/func_8000A58C.s new file mode 100644 index 00000000000..d7be4d9e6da --- /dev/null +++ b/include/m_Do/m_Do_graphic/asm/func_8000A58C.s @@ -0,0 +1,30 @@ +/* 8000A58C 000074CC 94 21 FF C0 */ stwu r1, -0x40(r1) +/* 8000A590 000074D0 7C 08 02 A6 */ mflr r0 +/* 8000A594 000074D4 90 01 00 44 */ stw r0, 0x44(r1) +/* 8000A598 000074D8 93 E1 00 3C */ stw r31, 0x3c(r1) +/* 8000A59C 000074DC 38 61 00 08 */ addi r3, r1, 8 +/* 8000A5A0 000074E0 48 1A D0 49 */ bl dMenu_Collect3D_c_NS_setupItem3D +/* 8000A5A4 000074E4 4B FF FF 61 */ bl setLight__Fv +/* 8000A5A8 000074E8 38 61 00 08 */ addi r3, r1, 8 +/* 8000A5AC 000074EC 3C 80 80 43 */ lis r4, lbl_80434AC8@ha +/* 8000A5B0 000074F0 38 84 4A C8 */ addi r4, r4, lbl_80434AC8@l +/* 8000A5B4 000074F4 48 33 BE FD */ bl PSMTXCopy +/* 8000A5B8 000074F8 38 60 00 01 */ li r3, 1 +/* 8000A5BC 000074FC 48 35 60 15 */ bl GXSetClipMode +/* 8000A5C0 00007500 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha +/* 8000A5C4 00007504 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l +/* 8000A5C8 00007508 3B E3 5F 64 */ addi r31, r3, 0x5f64 +/* 8000A5CC 0000750C 7F E3 FB 78 */ mr r3, r31 +/* 8000A5D0 00007510 48 04 C1 7D */ bl dDlst_list_c_NS_drawOpaListItem3d +/* 8000A5D4 00007514 7F E3 FB 78 */ mr r3, r31 +/* 8000A5D8 00007518 48 04 C1 99 */ bl dDlst_list_c_NS_drawXluListItem3d +/* 8000A5DC 0000751C 38 60 00 00 */ li r3, 0 +/* 8000A5E0 00007520 48 35 5F F1 */ bl GXSetClipMode +/* 8000A5E4 00007524 3C 60 80 43 */ lis r3, lbl_80434AC8@ha +/* 8000A5E8 00007528 38 63 4A C8 */ addi r3, r3, lbl_80434AC8@l +/* 8000A5EC 0000752C 48 30 61 51 */ bl J3DSys_NS_reinitGX +/* 8000A5F0 00007530 83 E1 00 3C */ lwz r31, 0x3c(r1) +/* 8000A5F4 00007534 80 01 00 44 */ lwz r0, 0x44(r1) +/* 8000A5F8 00007538 7C 08 03 A6 */ mtlr r0 +/* 8000A5FC 0000753C 38 21 00 40 */ addi r1, r1, 0x40 +/* 8000A600 00007540 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/m_Do/m_Do_graphic/asm/func_8000A604.s b/include/m_Do/m_Do_graphic/asm/func_8000A604.s new file mode 100644 index 00000000000..76f5ca14817 --- /dev/null +++ b/include/m_Do/m_Do_graphic/asm/func_8000A604.s @@ -0,0 +1,740 @@ +/* 8000A604 00007544 94 21 FC 20 */ stwu r1, -0x3e0(r1) +/* 8000A608 00007548 7C 08 02 A6 */ mflr r0 +/* 8000A60C 0000754C 90 01 03 E4 */ stw r0, 0x3e4(r1) +/* 8000A610 00007550 DB E1 03 D0 */ stfd f31, 0x3d0(r1) +/* 8000A614 00007554 F3 E1 03 D8 */ psq_st f31, 984(r1), 0, 0 +/* 8000A618 00007558 DB C1 03 C0 */ stfd f30, 0x3c0(r1) +/* 8000A61C 0000755C F3 C1 03 C8 */ psq_st f30, 968(r1), 0, 0 +/* 8000A620 00007560 39 61 03 C0 */ addi r11, r1, 0x3c0 +/* 8000A624 00007564 48 35 7B 99 */ bl _savegpr_21 +/* 8000A628 00007568 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha +/* 8000A62C 0000756C 3B 83 61 C0 */ addi r28, r3, g_dComIfG_gameInfo@l +/* 8000A630 00007570 80 7C 5D 3C */ lwz r3, 0x5d3c(r28) +/* 8000A634 00007574 28 03 00 00 */ cmplwi r3, 0 +/* 8000A638 00007578 41 82 00 08 */ beq lbl_8000A640 +/* 8000A63C 0000757C 48 04 1A F9 */ bl dPa_control_c_NS_calcMenu +lbl_8000A640: +/* 8000A640 00007580 80 0D 86 48 */ lwz r0, lbl_80450BC8-_SDA_BASE_(r13) +/* 8000A644 00007584 80 6D 8C 40 */ lwz r3, lbl_804511C0-_SDA_BASE_(r13) +/* 8000A648 00007588 90 03 00 04 */ stw r0, 4(r3) +/* 8000A64C 0000758C 80 0D 80 10 */ lwz r0, lbl_80450590-_SDA_BASE_(r13) +/* 8000A650 00007590 90 01 00 08 */ stw r0, 8(r1) +/* 8000A654 00007594 88 01 00 08 */ lbz r0, 8(r1) +/* 8000A658 00007598 98 01 00 10 */ stb r0, 0x10(r1) +/* 8000A65C 0000759C 88 01 00 09 */ lbz r0, 9(r1) +/* 8000A660 000075A0 98 01 00 11 */ stb r0, 0x11(r1) +/* 8000A664 000075A4 88 01 00 0A */ lbz r0, 0xa(r1) +/* 8000A668 000075A8 98 01 00 12 */ stb r0, 0x12(r1) +/* 8000A66C 000075AC 88 01 00 0B */ lbz r0, 0xb(r1) +/* 8000A670 000075B0 98 01 00 13 */ stb r0, 0x13(r1) +/* 8000A674 000075B4 80 01 00 10 */ lwz r0, 0x10(r1) +/* 8000A678 000075B8 90 01 00 0C */ stw r0, 0xc(r1) +/* 8000A67C 000075BC 80 6D 8C 40 */ lwz r3, lbl_804511C0-_SDA_BASE_(r13) +/* 8000A680 000075C0 88 01 00 0C */ lbz r0, 0xc(r1) +/* 8000A684 000075C4 98 03 00 08 */ stb r0, 8(r3) +/* 8000A688 000075C8 88 01 00 0D */ lbz r0, 0xd(r1) +/* 8000A68C 000075CC 98 03 00 09 */ stb r0, 9(r3) +/* 8000A690 000075D0 88 01 00 0E */ lbz r0, 0xe(r1) +/* 8000A694 000075D4 98 03 00 0A */ stb r0, 0xa(r3) +/* 8000A698 000075D8 88 01 00 0F */ lbz r0, 0xf(r1) +/* 8000A69C 000075DC 98 03 00 0B */ stb r0, 0xb(r3) +/* 8000A6A0 000075E0 4B FF D8 F1 */ bl beginRender__13mDoGph_gInf_cFv +/* 8000A6A4 000075E4 38 60 00 00 */ li r3, 0 +/* 8000A6A8 000075E8 48 35 55 C9 */ bl GXSetAlphaUpdate +/* 8000A6AC 000075EC 88 0D 80 80 */ lbz r0, lbl_80450600-_SDA_BASE_(r13) +/* 8000A6B0 000075F0 98 0D 80 10 */ stb r0, lbl_80450590-_SDA_BASE_(r13) +/* 8000A6B4 000075F4 38 8D 80 80 */ addi r4, r13, 0x80450600 - 0x80458580 /*SDA HACK; original: lbl_80450600-_SDA_BASE_*/ +/* 8000A6B8 000075F8 88 04 00 01 */ lbz r0, 1(r4) +/* 8000A6BC 000075FC 38 6D 80 10 */ addi r3, r13, 0x80450590 - 0x80458580 /*SDA HACK; original: lbl_80450590-_SDA_BASE_*/ +/* 8000A6C0 00007600 98 03 00 01 */ stb r0, 1(r3) +/* 8000A6C4 00007604 88 04 00 02 */ lbz r0, 2(r4) +/* 8000A6C8 00007608 98 03 00 02 */ stb r0, 2(r3) +/* 8000A6CC 0000760C 88 04 00 03 */ lbz r0, 3(r4) +/* 8000A6D0 00007610 98 03 00 03 */ stb r0, 3(r3) +/* 8000A6D4 00007614 3C 60 80 43 */ lis r3, lbl_80434AC8@ha +/* 8000A6D8 00007618 38 63 4A C8 */ addi r3, r3, lbl_80434AC8@l +/* 8000A6DC 0000761C 48 30 59 E1 */ bl J3DSys_NS_drawInit +/* 8000A6E0 00007620 38 60 00 01 */ li r3, 1 +/* 8000A6E4 00007624 48 35 56 F5 */ bl GXSetDither +/* 8000A6E8 00007628 38 61 02 A8 */ addi r3, r1, 0x2a8 +/* 8000A6EC 0000762C C0 22 80 38 */ lfs f1, lbl_80451A38-_SDA2_BASE_(r2) +/* 8000A6F0 00007630 FC 40 08 90 */ fmr f2, f1 +/* 8000A6F4 00007634 C0 62 80 AC */ lfs f3, lbl_80451AAC-_SDA2_BASE_(r2) +/* 8000A6F8 00007638 C0 82 80 A8 */ lfs f4, lbl_80451AA8-_SDA2_BASE_(r2) +/* 8000A6FC 0000763C C0 A2 80 D8 */ lfs f5, lbl_80451AD8-_SDA2_BASE_(r2) +/* 8000A700 00007640 C0 C2 80 3C */ lfs f6, lbl_80451A3C-_SDA2_BASE_(r2) +/* 8000A704 00007644 48 2D EF CD */ bl J2DOrthoGraph_X1_ +/* 8000A708 00007648 C0 02 80 38 */ lfs f0, lbl_80451A38-_SDA2_BASE_(r2) +/* 8000A70C 0000764C D0 01 00 38 */ stfs f0, 0x38(r1) +/* 8000A710 00007650 D0 01 00 3C */ stfs f0, 0x3c(r1) +/* 8000A714 00007654 C0 02 80 AC */ lfs f0, lbl_80451AAC-_SDA2_BASE_(r2) +/* 8000A718 00007658 D0 01 00 40 */ stfs f0, 0x40(r1) +/* 8000A71C 0000765C C0 02 80 A8 */ lfs f0, lbl_80451AA8-_SDA2_BASE_(r2) +/* 8000A720 00007660 D0 01 00 44 */ stfs f0, 0x44(r1) +/* 8000A724 00007664 38 61 02 A8 */ addi r3, r1, 0x2a8 +/* 8000A728 00007668 38 81 00 38 */ addi r4, r1, 0x38 +/* 8000A72C 0000766C C0 22 80 D8 */ lfs f1, lbl_80451AD8-_SDA2_BASE_(r2) +/* 8000A730 00007670 C0 42 80 3C */ lfs f2, lbl_80451A3C-_SDA2_BASE_(r2) +/* 8000A734 00007674 48 2D F0 D9 */ bl J2DOrthoGraph_NS_setOrtho +/* 8000A738 00007678 38 61 02 A8 */ addi r3, r1, 0x2a8 +/* 8000A73C 0000767C 48 2D F0 79 */ bl J2DOrthoGraph_NS_setPort +/* 8000A740 00007680 38 01 02 A8 */ addi r0, r1, 0x2a8 +/* 8000A744 00007684 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha +/* 8000A748 00007688 38 A3 61 C0 */ addi r5, r3, g_dComIfG_gameInfo@l +/* 8000A74C 0000768C 90 05 5F 50 */ stw r0, 0x5f50(r5) +/* 8000A750 00007690 3B E5 5F 64 */ addi r31, r5, 0x5f64 +/* 8000A754 00007694 7F E3 FB 78 */ mr r3, r31 +/* 8000A758 00007698 38 9F 00 54 */ addi r4, r31, 0x54 +/* 8000A75C 0000769C 80 A5 5F C8 */ lwz r5, 0x5fc8(r5) +/* 8000A760 000076A0 48 04 C0 65 */ bl dDlst_list_c_NS_draw +/* 8000A764 000076A4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha +/* 8000A768 000076A8 3B 43 61 C0 */ addi r26, r3, g_dComIfG_gameInfo@l +/* 8000A76C 000076AC 88 1A 5D 44 */ lbz r0, 0x5d44(r26) +/* 8000A770 000076B0 2C 00 00 00 */ cmpwi r0, 0 +/* 8000A774 000076B4 41 82 07 84 */ beq lbl_8000AEF8 +/* 8000A778 000076B8 3A BA 5D 48 */ addi r21, r26, 0x5d48 +/* 8000A77C 000076BC 88 1A 5D 70 */ lbz r0, 0x5d70(r26) +/* 8000A780 000076C0 7C 00 07 74 */ extsb r0, r0 +/* 8000A784 000076C4 1F 60 00 38 */ mulli r27, r0, 0x38 +/* 8000A788 000076C8 7C 7A DA 14 */ add r3, r26, r27 +/* 8000A78C 000076CC 83 C3 5D 74 */ lwz r30, 0x5d74(r3) +/* 8000A790 000076D0 28 1E 00 00 */ cmplwi r30, 0 +/* 8000A794 000076D4 41 82 07 64 */ beq lbl_8000AEF8 +/* 8000A798 000076D8 3B 3A 61 C0 */ addi r25, r26, 0x61c0 +/* 8000A79C 000076DC 7F 23 CB 78 */ mr r3, r25 +/* 8000A7A0 000076E0 38 9E 01 40 */ addi r4, r30, 0x140 +/* 8000A7A4 000076E4 48 04 B0 25 */ bl dDlst_shadowControl_c_NS_imageDraw +/* 8000A7A8 000076E8 7E BD AB 78 */ mr r29, r21 +/* 8000A7AC 000076EC C0 22 80 38 */ lfs f1, lbl_80451A38-_SDA2_BASE_(r2) +/* 8000A7B0 000076F0 C0 15 00 00 */ lfs f0, 0(r21) +/* 8000A7B4 000076F4 FC 01 00 00 */ fcmpu cr0, f1, f0 +/* 8000A7B8 000076F8 40 82 00 10 */ bne lbl_8000A7C8 +/* 8000A7BC 000076FC C0 15 00 04 */ lfs f0, 4(r21) +/* 8000A7C0 00007700 FC 01 00 00 */ fcmpu cr0, f1, f0 +/* 8000A7C4 00007704 41 82 00 54 */ beq lbl_8000A818 +lbl_8000A7C8: +/* 8000A7C8 00007708 C0 02 80 38 */ lfs f0, lbl_80451A38-_SDA2_BASE_(r2) +/* 8000A7CC 0000770C D0 01 01 60 */ stfs f0, 0x160(r1) +/* 8000A7D0 00007710 D0 01 01 64 */ stfs f0, 0x164(r1) +/* 8000A7D4 00007714 C0 02 80 AC */ lfs f0, lbl_80451AAC-_SDA2_BASE_(r2) +/* 8000A7D8 00007718 D0 01 01 68 */ stfs f0, 0x168(r1) +/* 8000A7DC 0000771C C0 02 80 A8 */ lfs f0, lbl_80451AA8-_SDA2_BASE_(r2) +/* 8000A7E0 00007720 D0 01 01 6C */ stfs f0, 0x16c(r1) +/* 8000A7E4 00007724 C0 15 00 10 */ lfs f0, 0x10(r21) +/* 8000A7E8 00007728 D0 01 01 70 */ stfs f0, 0x170(r1) +/* 8000A7EC 0000772C C0 15 00 14 */ lfs f0, 0x14(r21) +/* 8000A7F0 00007730 D0 01 01 74 */ stfs f0, 0x174(r1) +/* 8000A7F4 00007734 C0 15 00 18 */ lfs f0, 0x18(r21) +/* 8000A7F8 00007738 D0 01 01 78 */ stfs f0, 0x178(r1) +/* 8000A7FC 0000773C C0 15 00 1C */ lfs f0, 0x1c(r21) +/* 8000A800 00007740 D0 01 01 7C */ stfs f0, 0x17c(r1) +/* 8000A804 00007744 C0 15 00 20 */ lfs f0, 0x20(r21) +/* 8000A808 00007748 D0 01 01 80 */ stfs f0, 0x180(r1) +/* 8000A80C 0000774C C0 15 00 24 */ lfs f0, 0x24(r21) +/* 8000A810 00007750 D0 01 01 84 */ stfs f0, 0x184(r1) +/* 8000A814 00007754 3B A1 01 60 */ addi r29, r1, 0x160 +lbl_8000A818: +/* 8000A818 00007758 C0 3D 00 00 */ lfs f1, 0(r29) +/* 8000A81C 0000775C C0 5D 00 04 */ lfs f2, 4(r29) +/* 8000A820 00007760 C0 7D 00 08 */ lfs f3, 8(r29) +/* 8000A824 00007764 C0 9D 00 0C */ lfs f4, 0xc(r29) +/* 8000A828 00007768 C0 BD 00 10 */ lfs f5, 0x10(r29) +/* 8000A82C 0000776C C0 DD 00 14 */ lfs f6, 0x14(r29) +/* 8000A830 00007770 48 35 5C 35 */ bl GXSetViewport +/* 8000A834 00007774 C0 3D 00 0C */ lfs f1, 0xc(r29) +/* 8000A838 00007778 48 35 78 75 */ bl func_803620AC +/* 8000A83C 0000777C 7C 76 1B 78 */ mr r22, r3 +/* 8000A840 00007780 C0 3D 00 08 */ lfs f1, 8(r29) +/* 8000A844 00007784 48 35 78 69 */ bl func_803620AC +/* 8000A848 00007788 7C 77 1B 78 */ mr r23, r3 +/* 8000A84C 0000778C C0 3D 00 04 */ lfs f1, 4(r29) +/* 8000A850 00007790 48 35 78 5D */ bl func_803620AC +/* 8000A854 00007794 7C 78 1B 78 */ mr r24, r3 +/* 8000A858 00007798 C0 3D 00 00 */ lfs f1, 0(r29) +/* 8000A85C 0000779C 48 35 78 51 */ bl func_803620AC +/* 8000A860 000077A0 7F 04 C3 78 */ mr r4, r24 +/* 8000A864 000077A4 7E E5 BB 78 */ mr r5, r23 +/* 8000A868 000077A8 7E C6 B3 78 */ mr r6, r22 +/* 8000A86C 000077AC 48 35 5C 65 */ bl GXSetScissor +/* 8000A870 000077B0 C3 DE 00 D4 */ lfs f30, 0xd4(r30) +/* 8000A874 000077B4 C3 FE 00 D0 */ lfs f31, 0xd0(r30) +/* 8000A878 000077B8 38 7E 01 40 */ addi r3, r30, 0x140 +/* 8000A87C 000077BC 38 81 02 48 */ addi r4, r1, 0x248 +/* 8000A880 000077C0 48 33 BC 31 */ bl PSMTXCopy +/* 8000A884 000077C4 38 61 02 78 */ addi r3, r1, 0x278 +/* 8000A888 000077C8 FC 20 F8 90 */ fmr f1, f31 +/* 8000A88C 000077CC FC 40 F0 90 */ fmr f2, f30 +/* 8000A890 000077D0 C0 62 80 DC */ lfs f3, lbl_80451ADC-_SDA2_BASE_(r2) +/* 8000A894 000077D4 C0 82 80 E0 */ lfs f4, lbl_80451AE0-_SDA2_BASE_(r2) +/* 8000A898 000077D8 FC A0 18 90 */ fmr f5, f3 +/* 8000A89C 000077DC FC C0 18 90 */ fmr f6, f3 +/* 8000A8A0 000077E0 48 33 C3 79 */ bl C_MTXLightPerspective +/* 8000A8A4 000077E4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha +/* 8000A8A8 000077E8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l +/* 8000A8AC 000077EC 92 A3 5F 44 */ stw r21, 0x5f44(r3) +/* 8000A8B0 000077F0 93 C3 5F 48 */ stw r30, 0x5f48(r3) +/* 8000A8B4 000077F4 93 A3 5F 4C */ stw r29, 0x5f4c(r3) +/* 8000A8B8 000077F8 38 7E 01 00 */ addi r3, r30, 0x100 +/* 8000A8BC 000077FC 38 80 00 00 */ li r4, 0 +/* 8000A8C0 00007800 48 35 58 15 */ bl GXSetProjection +/* 8000A8C4 00007804 48 32 F4 35 */ bl PPCSync +/* 8000A8C8 00007808 38 7E 01 40 */ addi r3, r30, 0x140 +/* 8000A8CC 0000780C 3C 80 80 43 */ lis r4, lbl_80434AC8@ha +/* 8000A8D0 00007810 38 84 4A C8 */ addi r4, r4, lbl_80434AC8@l +/* 8000A8D4 00007814 48 33 BB DD */ bl PSMTXCopy +/* 8000A8D8 00007818 48 19 B7 E5 */ bl dKy_setLight +/* 8000A8DC 0000781C 7F E3 FB 78 */ mr r3, r31 +/* 8000A8E0 00007820 80 9F 00 00 */ lwz r4, 0(r31) +/* 8000A8E4 00007824 48 04 BD F1 */ bl dDlst_list_c_NS_drawOpaDrawList +/* 8000A8E8 00007828 7F E3 FB 78 */ mr r3, r31 +/* 8000A8EC 0000782C 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha +/* 8000A8F0 00007830 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l +/* 8000A8F4 00007834 80 84 5F 68 */ lwz r4, 0x5f68(r4) +/* 8000A8F8 00007838 48 04 BE 19 */ bl dDlst_list_c_NS_drawXluDrawList +/* 8000A8FC 0000783C 38 60 00 00 */ li r3, 0 +/* 8000A900 00007840 48 35 5C D1 */ bl GXSetClipMode +/* 8000A904 00007844 7F E3 FB 78 */ mr r3, r31 +/* 8000A908 00007848 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha +/* 8000A90C 0000784C 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l +/* 8000A910 00007850 80 84 5F 70 */ lwz r4, 0x5f70(r4) +/* 8000A914 00007854 48 04 BD C1 */ bl dDlst_list_c_NS_drawOpaDrawList +/* 8000A918 00007858 7F E3 FB 78 */ mr r3, r31 +/* 8000A91C 0000785C 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha +/* 8000A920 00007860 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l +/* 8000A924 00007864 80 84 5F 78 */ lwz r4, 0x5f78(r4) +/* 8000A928 00007868 48 04 BD AD */ bl dDlst_list_c_NS_drawOpaDrawList +/* 8000A92C 0000786C 7F E3 FB 78 */ mr r3, r31 +/* 8000A930 00007870 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha +/* 8000A934 00007874 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l +/* 8000A938 00007878 80 84 5F B0 */ lwz r4, 0x5fb0(r4) +/* 8000A93C 0000787C 48 04 BD 99 */ bl dDlst_list_c_NS_drawOpaDrawList +/* 8000A940 00007880 80 7C 5D 3C */ lwz r3, 0x5d3c(r28) +/* 8000A944 00007884 28 03 00 00 */ cmplwi r3, 0 +/* 8000A948 00007888 41 82 00 10 */ beq lbl_8000A958 +/* 8000A94C 0000788C 38 81 02 48 */ addi r4, r1, 0x248 +/* 8000A950 00007890 38 A0 00 07 */ li r5, 7 +/* 8000A954 00007894 48 04 18 35 */ bl dPa_control_c_NS_draw +lbl_8000A958: +/* 8000A958 00007898 80 7C 5D 3C */ lwz r3, 0x5d3c(r28) +/* 8000A95C 0000789C 28 03 00 00 */ cmplwi r3, 0 +/* 8000A960 000078A0 41 82 00 10 */ beq lbl_8000A970 +/* 8000A964 000078A4 38 81 02 48 */ addi r4, r1, 0x248 +/* 8000A968 000078A8 38 A0 00 05 */ li r5, 5 +/* 8000A96C 000078AC 48 04 18 1D */ bl dPa_control_c_NS_draw +lbl_8000A970: +/* 8000A970 000078B0 7F 23 CB 78 */ mr r3, r25 +/* 8000A974 000078B4 38 9E 01 40 */ addi r4, r30, 0x140 +/* 8000A978 000078B8 48 04 B0 9D */ bl dDlst_shadowControl_c_NS_draw +/* 8000A97C 000078BC 7F E3 FB 78 */ mr r3, r31 +/* 8000A980 000078C0 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha +/* 8000A984 000078C4 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l +/* 8000A988 000078C8 80 84 5F 80 */ lwz r4, 0x5f80(r4) +/* 8000A98C 000078CC 48 04 BD 49 */ bl dDlst_list_c_NS_drawOpaDrawList +/* 8000A990 000078D0 7F E3 FB 78 */ mr r3, r31 +/* 8000A994 000078D4 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha +/* 8000A998 000078D8 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l +/* 8000A99C 000078DC 80 84 5F 88 */ lwz r4, 0x5f88(r4) +/* 8000A9A0 000078E0 48 04 BD 35 */ bl dDlst_list_c_NS_drawOpaDrawList +/* 8000A9A4 000078E4 7F E3 FB 78 */ mr r3, r31 +/* 8000A9A8 000078E8 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha +/* 8000A9AC 000078EC 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l +/* 8000A9B0 000078F0 80 84 5F 90 */ lwz r4, 0x5f90(r4) +/* 8000A9B4 000078F4 48 04 BD 21 */ bl dDlst_list_c_NS_drawOpaDrawList +/* 8000A9B8 000078F8 7F E3 FB 78 */ mr r3, r31 +/* 8000A9BC 000078FC 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha +/* 8000A9C0 00007900 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l +/* 8000A9C4 00007904 80 84 5F 74 */ lwz r4, 0x5f74(r4) +/* 8000A9C8 00007908 48 04 BD 49 */ bl dDlst_list_c_NS_drawXluDrawList +/* 8000A9CC 0000790C 7F E3 FB 78 */ mr r3, r31 +/* 8000A9D0 00007910 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha +/* 8000A9D4 00007914 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l +/* 8000A9D8 00007918 80 84 5F 7C */ lwz r4, 0x5f7c(r4) +/* 8000A9DC 0000791C 48 04 BD 35 */ bl dDlst_list_c_NS_drawXluDrawList +/* 8000A9E0 00007920 80 7C 5D 3C */ lwz r3, 0x5d3c(r28) +/* 8000A9E4 00007924 28 03 00 00 */ cmplwi r3, 0 +/* 8000A9E8 00007928 41 82 00 10 */ beq lbl_8000A9F8 +/* 8000A9EC 0000792C 38 81 02 48 */ addi r4, r1, 0x248 +/* 8000A9F0 00007930 38 A0 00 06 */ li r5, 6 +/* 8000A9F4 00007934 48 04 17 95 */ bl dPa_control_c_NS_draw +lbl_8000A9F8: +/* 8000A9F8 00007938 80 7C 5D 3C */ lwz r3, 0x5d3c(r28) +/* 8000A9FC 0000793C 28 03 00 00 */ cmplwi r3, 0 +/* 8000AA00 00007940 41 82 00 10 */ beq lbl_8000AA10 +/* 8000AA04 00007944 38 81 02 48 */ addi r4, r1, 0x248 +/* 8000AA08 00007948 38 A0 00 04 */ li r5, 4 +/* 8000AA0C 0000794C 48 04 17 7D */ bl dPa_control_c_NS_draw +lbl_8000AA10: +/* 8000AA10 00007950 7F E3 FB 78 */ mr r3, r31 +/* 8000AA14 00007954 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha +/* 8000AA18 00007958 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l +/* 8000AA1C 0000795C 80 84 5F 84 */ lwz r4, 0x5f84(r4) +/* 8000AA20 00007960 48 04 BC F1 */ bl dDlst_list_c_NS_drawXluDrawList +/* 8000AA24 00007964 7F E3 FB 78 */ mr r3, r31 +/* 8000AA28 00007968 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha +/* 8000AA2C 0000796C 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l +/* 8000AA30 00007970 80 84 5F 8C */ lwz r4, 0x5f8c(r4) +/* 8000AA34 00007974 48 04 BC DD */ bl dDlst_list_c_NS_drawXluDrawList +/* 8000AA38 00007978 3C 60 80 43 */ lis r3, lbl_80434AC8@ha +/* 8000AA3C 0000797C 38 63 4A C8 */ addi r3, r3, lbl_80434AC8@l +/* 8000AA40 00007980 48 30 5C FD */ bl J3DSys_NS_reinitGX +/* 8000AA44 00007984 38 60 00 00 */ li r3, 0 +/* 8000AA48 00007988 48 35 5B 89 */ bl GXSetClipMode +/* 8000AA4C 0000798C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha +/* 8000AA50 00007990 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l +/* 8000AA54 00007994 88 03 5E B5 */ lbz r0, 0x5eb5(r3) +/* 8000AA58 00007998 28 00 00 00 */ cmplwi r0, 0 +/* 8000AA5C 0000799C 40 82 04 9C */ bne lbl_8000AEF8 +/* 8000AA60 000079A0 7F C3 F3 78 */ mr r3, r30 +/* 8000AA64 000079A4 4B FF F8 2D */ bl motionBlure__FP10view_class +/* 8000AA68 000079A8 7F C3 F3 78 */ mr r3, r30 +/* 8000AA6C 000079AC 7F A4 EB 78 */ mr r4, r29 +/* 8000AA70 000079B0 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha +/* 8000AA74 000079B4 38 05 61 C0 */ addi r0, r5, g_dComIfG_gameInfo@l +/* 8000AA78 000079B8 7F 60 DA 14 */ add r27, r0, r27 +/* 8000AA7C 000079BC C4 1B 5D 84 */ lfsu f0, 0x5d84(r27) +/* 8000AA80 000079C0 FC 00 00 1E */ fctiwz f0, f0 +/* 8000AA84 000079C4 D8 01 03 80 */ stfd f0, 0x380(r1) +/* 8000AA88 000079C8 80 A1 03 84 */ lwz r5, 0x384(r1) +/* 8000AA8C 000079CC 4B FF DB A5 */ bl drawDepth2__FP10view_classP15view_port_classi +/* 8000AA90 000079D0 48 35 3B D5 */ bl GXInvalidateTexAll +/* 8000AA94 000079D4 38 60 00 00 */ li r3, 0 +/* 8000AA98 000079D8 48 35 5B 39 */ bl GXSetClipMode +/* 8000AA9C 000079DC 3C 60 80 43 */ lis r3, lbl_8042CA54@ha +/* 8000AAA0 000079E0 3B 23 CA 54 */ addi r25, r3, lbl_8042CA54@l +/* 8000AAA4 000079E4 88 19 12 FA */ lbz r0, 0x12fa(r25) +/* 8000AAA8 000079E8 28 00 00 00 */ cmplwi r0, 0 +/* 8000AAAC 000079EC 40 82 00 2C */ bne lbl_8000AAD8 +/* 8000AAB0 000079F0 7F E3 FB 78 */ mr r3, r31 +/* 8000AAB4 000079F4 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha +/* 8000AAB8 000079F8 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l +/* 8000AABC 000079FC 80 84 5F A0 */ lwz r4, 0x5fa0(r4) +/* 8000AAC0 00007A00 48 04 BC 15 */ bl dDlst_list_c_NS_drawOpaDrawList +/* 8000AAC4 00007A04 7F E3 FB 78 */ mr r3, r31 +/* 8000AAC8 00007A08 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha +/* 8000AACC 00007A0C 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l +/* 8000AAD0 00007A10 80 84 5F A4 */ lwz r4, 0x5fa4(r4) +/* 8000AAD4 00007A14 48 04 BC 3D */ bl dDlst_list_c_NS_drawXluDrawList +lbl_8000AAD8: +/* 8000AAD8 00007A18 80 7C 5D 3C */ lwz r3, 0x5d3c(r28) +/* 8000AADC 00007A1C 28 03 00 00 */ cmplwi r3, 0 +/* 8000AAE0 00007A20 41 82 00 10 */ beq lbl_8000AAF0 +/* 8000AAE4 00007A24 38 81 02 48 */ addi r4, r1, 0x248 +/* 8000AAE8 00007A28 38 A0 00 0B */ li r5, 0xb +/* 8000AAEC 00007A2C 48 04 16 9D */ bl dPa_control_c_NS_draw +lbl_8000AAF0: +/* 8000AAF0 00007A30 80 7C 5D 3C */ lwz r3, 0x5d3c(r28) +/* 8000AAF4 00007A34 28 03 00 00 */ cmplwi r3, 0 +/* 8000AAF8 00007A38 41 82 00 10 */ beq lbl_8000AB08 +/* 8000AAFC 00007A3C 38 81 02 48 */ addi r4, r1, 0x248 +/* 8000AB00 00007A40 38 A0 00 03 */ li r5, 3 +/* 8000AB04 00007A44 48 04 16 85 */ bl dPa_control_c_NS_draw +lbl_8000AB08: +/* 8000AB08 00007A48 7F E3 FB 78 */ mr r3, r31 +/* 8000AB0C 00007A4C 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha +/* 8000AB10 00007A50 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l +/* 8000AB14 00007A54 80 84 5F A8 */ lwz r4, 0x5fa8(r4) +/* 8000AB18 00007A58 48 04 BB F9 */ bl dDlst_list_c_NS_drawXluDrawList +/* 8000AB1C 00007A5C 38 60 00 00 */ li r3, 0 +/* 8000AB20 00007A60 48 35 5A B1 */ bl GXSetClipMode +/* 8000AB24 00007A64 7F E3 FB 78 */ mr r3, r31 +/* 8000AB28 00007A68 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha +/* 8000AB2C 00007A6C 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l +/* 8000AB30 00007A70 80 84 5F 94 */ lwz r4, 0x5f94(r4) +/* 8000AB34 00007A74 48 04 BB A1 */ bl dDlst_list_c_NS_drawOpaDrawList +/* 8000AB38 00007A78 38 60 00 00 */ li r3, 0 +/* 8000AB3C 00007A7C 48 35 5A 95 */ bl GXSetClipMode +/* 8000AB40 00007A80 80 7C 5D 3C */ lwz r3, 0x5d3c(r28) +/* 8000AB44 00007A84 28 03 00 00 */ cmplwi r3, 0 +/* 8000AB48 00007A88 41 82 00 10 */ beq lbl_8000AB58 +/* 8000AB4C 00007A8C 38 81 02 48 */ addi r4, r1, 0x248 +/* 8000AB50 00007A90 38 A0 00 08 */ li r5, 8 +/* 8000AB54 00007A94 48 04 16 35 */ bl dPa_control_c_NS_draw +lbl_8000AB58: +/* 8000AB58 00007A98 80 7C 5D 3C */ lwz r3, 0x5d3c(r28) +/* 8000AB5C 00007A9C 28 03 00 00 */ cmplwi r3, 0 +/* 8000AB60 00007AA0 41 82 00 10 */ beq lbl_8000AB70 +/* 8000AB64 00007AA4 38 81 02 48 */ addi r4, r1, 0x248 +/* 8000AB68 00007AA8 38 A0 00 00 */ li r5, 0 +/* 8000AB6C 00007AAC 48 04 16 1D */ bl dPa_control_c_NS_draw +lbl_8000AB70: +/* 8000AB70 00007AB0 80 7C 5D 3C */ lwz r3, 0x5d3c(r28) +/* 8000AB74 00007AB4 28 03 00 00 */ cmplwi r3, 0 +/* 8000AB78 00007AB8 41 82 00 10 */ beq lbl_8000AB88 +/* 8000AB7C 00007ABC 38 81 02 48 */ addi r4, r1, 0x248 +/* 8000AB80 00007AC0 38 A0 00 09 */ li r5, 9 +/* 8000AB84 00007AC4 48 04 16 05 */ bl dPa_control_c_NS_draw +lbl_8000AB88: +/* 8000AB88 00007AC8 80 7C 5D 3C */ lwz r3, 0x5d3c(r28) +/* 8000AB8C 00007ACC 28 03 00 00 */ cmplwi r3, 0 +/* 8000AB90 00007AD0 41 82 00 10 */ beq lbl_8000ABA0 +/* 8000AB94 00007AD4 38 81 02 48 */ addi r4, r1, 0x248 +/* 8000AB98 00007AD8 38 A0 00 01 */ li r5, 1 +/* 8000AB9C 00007ADC 48 04 15 ED */ bl dPa_control_c_NS_draw +lbl_8000ABA0: +/* 8000ABA0 00007AE0 80 7C 5D 3C */ lwz r3, 0x5d3c(r28) +/* 8000ABA4 00007AE4 28 03 00 00 */ cmplwi r3, 0 +/* 8000ABA8 00007AE8 41 82 00 10 */ beq lbl_8000ABB8 +/* 8000ABAC 00007AEC 38 81 02 48 */ addi r4, r1, 0x248 +/* 8000ABB0 00007AF0 38 A0 00 0A */ li r5, 0xa +/* 8000ABB4 00007AF4 48 04 15 D5 */ bl dPa_control_c_NS_draw +lbl_8000ABB8: +/* 8000ABB8 00007AF8 80 7C 5D 3C */ lwz r3, 0x5d3c(r28) +/* 8000ABBC 00007AFC 28 03 00 00 */ cmplwi r3, 0 +/* 8000ABC0 00007B00 41 82 00 10 */ beq lbl_8000ABD0 +/* 8000ABC4 00007B04 38 81 02 48 */ addi r4, r1, 0x248 +/* 8000ABC8 00007B08 38 A0 00 02 */ li r5, 2 +/* 8000ABCC 00007B0C 48 04 15 BD */ bl dPa_control_c_NS_draw +lbl_8000ABD0: +/* 8000ABD0 00007B10 80 7C 5D 3C */ lwz r3, 0x5d3c(r28) +/* 8000ABD4 00007B14 28 03 00 00 */ cmplwi r3, 0 +/* 8000ABD8 00007B18 41 82 00 10 */ beq lbl_8000ABE8 +/* 8000ABDC 00007B1C 38 81 02 48 */ addi r4, r1, 0x248 +/* 8000ABE0 00007B20 38 A0 00 0C */ li r5, 0xc +/* 8000ABE4 00007B24 48 04 15 A5 */ bl dPa_control_c_NS_draw +lbl_8000ABE8: +/* 8000ABE8 00007B28 7F C3 F3 78 */ mr r3, r30 +/* 8000ABEC 00007B2C 7F A4 EB 78 */ mr r4, r29 +/* 8000ABF0 00007B30 C0 1B 00 00 */ lfs f0, 0(r27) +/* 8000ABF4 00007B34 FC 00 00 1E */ fctiwz f0, f0 +/* 8000ABF8 00007B38 D8 01 03 80 */ stfd f0, 0x380(r1) +/* 8000ABFC 00007B3C 80 A1 03 84 */ lwz r5, 0x384(r1) +/* 8000AC00 00007B40 4B FF F5 61 */ bl retry_captue_frame__FP10view_classP15view_port_classi +/* 8000AC04 00007B44 38 60 00 00 */ li r3, 0 +/* 8000AC08 00007B48 48 35 59 C9 */ bl GXSetClipMode +/* 8000AC0C 00007B4C 88 19 12 FA */ lbz r0, 0x12fa(r25) +/* 8000AC10 00007B50 28 00 00 01 */ cmplwi r0, 1 +/* 8000AC14 00007B54 40 82 00 2C */ bne lbl_8000AC40 +/* 8000AC18 00007B58 7F E3 FB 78 */ mr r3, r31 +/* 8000AC1C 00007B5C 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha +/* 8000AC20 00007B60 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l +/* 8000AC24 00007B64 80 84 5F A0 */ lwz r4, 0x5fa0(r4) +/* 8000AC28 00007B68 48 04 BA AD */ bl dDlst_list_c_NS_drawOpaDrawList +/* 8000AC2C 00007B6C 7F E3 FB 78 */ mr r3, r31 +/* 8000AC30 00007B70 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha +/* 8000AC34 00007B74 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l +/* 8000AC38 00007B78 80 84 5F A4 */ lwz r4, 0x5fa4(r4) +/* 8000AC3C 00007B7C 48 04 BA D5 */ bl dDlst_list_c_NS_drawXluDrawList +lbl_8000AC40: +/* 8000AC40 00007B80 80 7C 5D 3C */ lwz r3, 0x5d3c(r28) +/* 8000AC44 00007B84 28 03 00 00 */ cmplwi r3, 0 +/* 8000AC48 00007B88 41 82 00 10 */ beq lbl_8000AC58 +/* 8000AC4C 00007B8C 38 81 02 48 */ addi r4, r1, 0x248 +/* 8000AC50 00007B90 38 A0 00 0D */ li r5, 0xd +/* 8000AC54 00007B94 48 04 15 35 */ bl dPa_control_c_NS_draw +lbl_8000AC58: +/* 8000AC58 00007B98 38 60 00 00 */ li r3, 0 +/* 8000AC5C 00007B9C 48 35 59 75 */ bl GXSetClipMode +/* 8000AC60 00007BA0 7F E3 FB 78 */ mr r3, r31 +/* 8000AC64 00007BA4 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha +/* 8000AC68 00007BA8 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l +/* 8000AC6C 00007BAC 80 84 5F 6C */ lwz r4, 0x5f6c(r4) +/* 8000AC70 00007BB0 48 04 BA 65 */ bl dDlst_list_c_NS_drawOpaDrawList +/* 8000AC74 00007BB4 3B 3A 4E 00 */ addi r25, r26, 0x4e00 +/* 8000AC78 00007BB8 7F 23 CB 78 */ mr r3, r25 +/* 8000AC7C 00007BBC 3C 80 80 37 */ lis r4, lbl_80373DD0@ha +/* 8000AC80 00007BC0 38 84 3D D0 */ addi r4, r4, lbl_80373DD0@l +/* 8000AC84 00007BC4 48 35 DD 11 */ bl strcmp +/* 8000AC88 00007BC8 2C 03 00 00 */ cmpwi r3, 0 +/* 8000AC8C 00007BCC 40 82 00 20 */ bne lbl_8000ACAC +/* 8000AC90 00007BD0 7F C3 F3 78 */ mr r3, r30 +/* 8000AC94 00007BD4 7F A4 EB 78 */ mr r4, r29 +/* 8000AC98 00007BD8 C0 1B 00 00 */ lfs f0, 0(r27) +/* 8000AC9C 00007BDC FC 00 00 1E */ fctiwz f0, f0 +/* 8000ACA0 00007BE0 D8 01 03 80 */ stfd f0, 0x380(r1) +/* 8000ACA4 00007BE4 80 A1 03 84 */ lwz r5, 0x384(r1) +/* 8000ACA8 00007BE8 4B FF F4 B9 */ bl retry_captue_frame__FP10view_classP15view_port_classi +lbl_8000ACAC: +/* 8000ACAC 00007BEC C0 22 80 38 */ lfs f1, lbl_80451A38-_SDA2_BASE_(r2) +/* 8000ACB0 00007BF0 FC 40 08 90 */ fmr f2, f1 +/* 8000ACB4 00007BF4 C0 62 80 AC */ lfs f3, lbl_80451AAC-_SDA2_BASE_(r2) +/* 8000ACB8 00007BF8 C0 82 80 A8 */ lfs f4, lbl_80451AA8-_SDA2_BASE_(r2) +/* 8000ACBC 00007BFC FC A0 08 90 */ fmr f5, f1 +/* 8000ACC0 00007C00 C0 C2 80 3C */ lfs f6, lbl_80451A3C-_SDA2_BASE_(r2) +/* 8000ACC4 00007C04 48 35 57 A1 */ bl GXSetViewport +/* 8000ACC8 00007C08 38 61 00 F0 */ addi r3, r1, 0xf0 +/* 8000ACCC 00007C0C C0 22 80 4C */ lfs f1, lbl_80451A4C-_SDA2_BASE_(r2) +/* 8000ACD0 00007C10 C0 42 80 E4 */ lfs f2, lbl_80451AE4-_SDA2_BASE_(r2) +/* 8000ACD4 00007C14 C0 62 80 3C */ lfs f3, lbl_80451A3C-_SDA2_BASE_(r2) +/* 8000ACD8 00007C18 C0 82 80 E8 */ lfs f4, lbl_80451AE8-_SDA2_BASE_(r2) +/* 8000ACDC 00007C1C 48 33 C2 4D */ bl C_MTXPerspective +/* 8000ACE0 00007C20 38 61 00 F0 */ addi r3, r1, 0xf0 +/* 8000ACE4 00007C24 38 80 00 00 */ li r4, 0 +/* 8000ACE8 00007C28 48 35 53 ED */ bl GXSetProjection +/* 8000ACEC 00007C2C C0 22 80 38 */ lfs f1, lbl_80451A38-_SDA2_BASE_(r2) +/* 8000ACF0 00007C30 D0 21 00 54 */ stfs f1, 0x54(r1) +/* 8000ACF4 00007C34 D0 21 00 58 */ stfs f1, 0x58(r1) +/* 8000ACF8 00007C38 C0 02 80 EC */ lfs f0, lbl_80451AEC-_SDA2_BASE_(r2) +/* 8000ACFC 00007C3C D0 01 00 5C */ stfs f0, 0x5c(r1) +/* 8000AD00 00007C40 D0 21 00 48 */ stfs f1, 0x48(r1) +/* 8000AD04 00007C44 C0 02 80 3C */ lfs f0, lbl_80451A3C-_SDA2_BASE_(r2) +/* 8000AD08 00007C48 D0 01 00 4C */ stfs f0, 0x4c(r1) +/* 8000AD0C 00007C4C D0 21 00 50 */ stfs f1, 0x50(r1) +/* 8000AD10 00007C50 38 61 01 30 */ addi r3, r1, 0x130 +/* 8000AD14 00007C54 38 81 00 54 */ addi r4, r1, 0x54 +/* 8000AD18 00007C58 3C A0 80 43 */ lis r5, lbl_80430CF4@ha +/* 8000AD1C 00007C5C 38 A5 0C F4 */ addi r5, r5, lbl_80430CF4@l +/* 8000AD20 00007C60 38 C1 00 48 */ addi r6, r1, 0x48 +/* 8000AD24 00007C64 38 E0 00 00 */ li r7, 0 +/* 8000AD28 00007C68 48 00 19 E9 */ bl mDoMtx_lookAt_X1_ +/* 8000AD2C 00007C6C 38 61 01 30 */ addi r3, r1, 0x130 +/* 8000AD30 00007C70 3C 80 80 43 */ lis r4, lbl_80434AC8@ha +/* 8000AD34 00007C74 38 84 4A C8 */ addi r4, r4, lbl_80434AC8@l +/* 8000AD38 00007C78 48 33 B7 79 */ bl PSMTXCopy +/* 8000AD3C 00007C7C 7F E3 FB 78 */ mr r3, r31 +/* 8000AD40 00007C80 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha +/* 8000AD44 00007C84 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l +/* 8000AD48 00007C88 80 84 5F AC */ lwz r4, 0x5fac(r4) +/* 8000AD4C 00007C8C 48 04 B9 C5 */ bl dDlst_list_c_NS_drawXluDrawList +/* 8000AD50 00007C90 38 7E 01 40 */ addi r3, r30, 0x140 +/* 8000AD54 00007C94 3C 80 80 43 */ lis r4, lbl_80434AC8@ha +/* 8000AD58 00007C98 38 84 4A C8 */ addi r4, r4, lbl_80434AC8@l +/* 8000AD5C 00007C9C 48 33 B7 55 */ bl PSMTXCopy +/* 8000AD60 00007CA0 38 7E 01 00 */ addi r3, r30, 0x100 +/* 8000AD64 00007CA4 38 80 00 00 */ li r4, 0 +/* 8000AD68 00007CA8 48 35 53 6D */ bl GXSetProjection +/* 8000AD6C 00007CAC 3C 60 80 43 */ lis r3, lbl_80434AC8@ha +/* 8000AD70 00007CB0 38 63 4A C8 */ addi r3, r3, lbl_80434AC8@l +/* 8000AD74 00007CB4 48 30 59 C9 */ bl J3DSys_NS_reinitGX +/* 8000AD78 00007CB8 3C 60 80 43 */ lis r3, lbl_8042CA54@ha +/* 8000AD7C 00007CBC 38 63 CA 54 */ addi r3, r3, lbl_8042CA54@l +/* 8000AD80 00007CC0 88 03 12 D8 */ lbz r0, 0x12d8(r3) +/* 8000AD84 00007CC4 28 00 00 00 */ cmplwi r0, 0 +/* 8000AD88 00007CC8 40 82 00 20 */ bne lbl_8000ADA8 +/* 8000AD8C 00007CCC 7F 23 CB 78 */ mr r3, r25 +/* 8000AD90 00007CD0 3C 80 80 37 */ lis r4, lbl_80373DD0@ha +/* 8000AD94 00007CD4 38 84 3D D0 */ addi r4, r4, lbl_80373DD0@l +/* 8000AD98 00007CD8 38 84 00 08 */ addi r4, r4, 8 +/* 8000AD9C 00007CDC 48 35 DB F9 */ bl strcmp +/* 8000ADA0 00007CE0 2C 03 00 00 */ cmpwi r3, 0 +/* 8000ADA4 00007CE4 40 82 00 48 */ bne lbl_8000ADEC +lbl_8000ADA8: +/* 8000ADA8 00007CE8 3C 60 80 3E */ lis r3, lbl_803DD428@ha +/* 8000ADAC 00007CEC 38 63 D4 28 */ addi r3, r3, lbl_803DD428@l +/* 8000ADB0 00007CF0 88 83 00 08 */ lbz r4, 8(r3) +/* 8000ADB4 00007CF4 80 03 00 04 */ lwz r0, 4(r3) +/* 8000ADB8 00007CF8 90 01 00 14 */ stw r0, 0x14(r1) +/* 8000ADBC 00007CFC 88 01 00 17 */ lbz r0, 0x17(r1) +/* 8000ADC0 00007D00 28 00 00 00 */ cmplwi r0, 0 +/* 8000ADC4 00007D04 40 82 00 0C */ bne lbl_8000ADD0 +/* 8000ADC8 00007D08 28 04 00 00 */ cmplwi r4, 0 +/* 8000ADCC 00007D0C 41 82 00 20 */ beq lbl_8000ADEC +lbl_8000ADD0: +/* 8000ADD0 00007D10 7F C3 F3 78 */ mr r3, r30 +/* 8000ADD4 00007D14 7F A4 EB 78 */ mr r4, r29 +/* 8000ADD8 00007D18 C0 1B 00 00 */ lfs f0, 0(r27) +/* 8000ADDC 00007D1C FC 00 00 1E */ fctiwz f0, f0 +/* 8000ADE0 00007D20 D8 01 03 80 */ stfd f0, 0x380(r1) +/* 8000ADE4 00007D24 80 A1 03 84 */ lwz r5, 0x384(r1) +/* 8000ADE8 00007D28 4B FF F3 79 */ bl retry_captue_frame__FP10view_classP15view_port_classi +lbl_8000ADEC: +/* 8000ADEC 00007D2C 3C 60 80 3E */ lis r3, lbl_803DD428@ha +/* 8000ADF0 00007D30 38 63 D4 28 */ addi r3, r3, lbl_803DD428@l +/* 8000ADF4 00007D34 4B FF E8 5D */ bl draw__Q213mDoGph_gInf_c7bloom_cFv +/* 8000ADF8 00007D38 38 7E 01 40 */ addi r3, r30, 0x140 +/* 8000ADFC 00007D3C 3C 80 80 43 */ lis r4, lbl_80434AC8@ha +/* 8000AE00 00007D40 38 84 4A C8 */ addi r4, r4, lbl_80434AC8@l +/* 8000AE04 00007D44 48 33 B6 AD */ bl PSMTXCopy +/* 8000AE08 00007D48 38 7E 01 00 */ addi r3, r30, 0x100 +/* 8000AE0C 00007D4C 38 80 00 00 */ li r4, 0 +/* 8000AE10 00007D50 48 35 52 C5 */ bl GXSetProjection +/* 8000AE14 00007D54 7F E3 FB 78 */ mr r3, r31 +/* 8000AE18 00007D58 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha +/* 8000AE1C 00007D5C 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l +/* 8000AE20 00007D60 80 84 5F B4 */ lwz r4, 0x5fb4(r4) +/* 8000AE24 00007D64 48 04 B8 B1 */ bl dDlst_list_c_NS_drawOpaDrawList +/* 8000AE28 00007D68 C0 02 80 38 */ lfs f0, lbl_80451A38-_SDA2_BASE_(r2) +/* 8000AE2C 00007D6C D0 01 00 28 */ stfs f0, 0x28(r1) +/* 8000AE30 00007D70 D0 01 00 2C */ stfs f0, 0x2c(r1) +/* 8000AE34 00007D74 C0 02 80 AC */ lfs f0, lbl_80451AAC-_SDA2_BASE_(r2) +/* 8000AE38 00007D78 D0 01 00 30 */ stfs f0, 0x30(r1) +/* 8000AE3C 00007D7C C0 02 80 A8 */ lfs f0, lbl_80451AA8-_SDA2_BASE_(r2) +/* 8000AE40 00007D80 D0 01 00 34 */ stfs f0, 0x34(r1) +/* 8000AE44 00007D84 38 61 02 A8 */ addi r3, r1, 0x2a8 +/* 8000AE48 00007D88 38 81 00 28 */ addi r4, r1, 0x28 +/* 8000AE4C 00007D8C C0 22 80 E8 */ lfs f1, lbl_80451AE8-_SDA2_BASE_(r2) +/* 8000AE50 00007D90 C0 42 80 F0 */ lfs f2, lbl_80451AF0-_SDA2_BASE_(r2) +/* 8000AE54 00007D94 48 2D E9 B9 */ bl J2DOrthoGraph_NS_setOrtho +/* 8000AE58 00007D98 38 61 02 A8 */ addi r3, r1, 0x2a8 +/* 8000AE5C 00007D9C 48 2D E9 59 */ bl J2DOrthoGraph_NS_setPort +/* 8000AE60 00007DA0 38 61 00 C0 */ addi r3, r1, 0xc0 +/* 8000AE64 00007DA4 C0 22 80 F4 */ lfs f1, lbl_80451AF4-_SDA2_BASE_(r2) +/* 8000AE68 00007DA8 C0 42 80 F8 */ lfs f2, lbl_80451AF8-_SDA2_BASE_(r2) +/* 8000AE6C 00007DAC C0 62 80 38 */ lfs f3, lbl_80451A38-_SDA2_BASE_(r2) +/* 8000AE70 00007DB0 48 33 BA 79 */ bl PSMTXTrans +/* 8000AE74 00007DB4 38 61 00 C0 */ addi r3, r1, 0xc0 +/* 8000AE78 00007DB8 38 81 01 E8 */ addi r4, r1, 0x1e8 +/* 8000AE7C 00007DBC 48 33 B6 35 */ bl PSMTXCopy +/* 8000AE80 00007DC0 38 61 02 18 */ addi r3, r1, 0x218 +/* 8000AE84 00007DC4 C0 22 80 38 */ lfs f1, lbl_80451A38-_SDA2_BASE_(r2) +/* 8000AE88 00007DC8 C0 42 80 A8 */ lfs f2, lbl_80451AA8-_SDA2_BASE_(r2) +/* 8000AE8C 00007DCC FC 60 08 90 */ fmr f3, f1 +/* 8000AE90 00007DD0 C0 82 80 AC */ lfs f4, lbl_80451AAC-_SDA2_BASE_(r2) +/* 8000AE94 00007DD4 C0 A2 80 DC */ lfs f5, lbl_80451ADC-_SDA2_BASE_(r2) +/* 8000AE98 00007DD8 FC C0 28 90 */ fmr f6, f5 +/* 8000AE9C 00007DDC FC E0 28 90 */ fmr f7, f5 +/* 8000AEA0 00007DE0 FD 00 28 90 */ fmr f8, f5 +/* 8000AEA4 00007DE4 48 33 BE 41 */ bl C_MTXLightOrtho +/* 8000AEA8 00007DE8 80 7C 5D 3C */ lwz r3, 0x5d3c(r28) +/* 8000AEAC 00007DEC 28 03 00 00 */ cmplwi r3, 0 +/* 8000AEB0 00007DF0 41 82 00 10 */ beq lbl_8000AEC0 +/* 8000AEB4 00007DF4 38 81 01 E8 */ addi r4, r1, 0x1e8 +/* 8000AEB8 00007DF8 38 A0 00 0E */ li r5, 0xe +/* 8000AEBC 00007DFC 48 04 12 CD */ bl dPa_control_c_NS_draw +lbl_8000AEC0: +/* 8000AEC0 00007E00 7F C3 F3 78 */ mr r3, r30 +/* 8000AEC4 00007E04 7F A4 EB 78 */ mr r4, r29 +/* 8000AEC8 00007E08 4B FF E2 F9 */ bl trimming__FP10view_classP15view_port_class +/* 8000AECC 00007E0C 7F 23 CB 78 */ mr r3, r25 +/* 8000AED0 00007E10 3C 80 80 37 */ lis r4, lbl_80373DD0@ha +/* 8000AED4 00007E14 38 84 3D D0 */ addi r4, r4, lbl_80373DD0@l +/* 8000AED8 00007E18 38 84 00 0F */ addi r4, r4, 0xf +/* 8000AEDC 00007E1C 48 35 DA B9 */ bl strcmp +/* 8000AEE0 00007E20 2C 03 00 00 */ cmpwi r3, 0 +/* 8000AEE4 00007E24 41 82 00 14 */ beq lbl_8000AEF8 +/* 8000AEE8 00007E28 88 0D 86 66 */ lbz r0, lbl_80450BE6-_SDA_BASE_(r13) +/* 8000AEEC 00007E2C 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 +/* 8000AEF0 00007E30 40 82 00 08 */ bne lbl_8000AEF8 +/* 8000AEF4 00007E34 4B FF D4 3D */ bl calcFade__13mDoGph_gInf_cFv +lbl_8000AEF8: +/* 8000AEF8 00007E38 38 60 00 00 */ li r3, 0 +/* 8000AEFC 00007E3C 48 35 56 D5 */ bl GXSetClipMode +/* 8000AF00 00007E40 48 04 BA 01 */ bl dDlst_list_c_NS_calcWipe +/* 8000AF04 00007E44 3C 60 80 43 */ lis r3, lbl_80434AC8@ha +/* 8000AF08 00007E48 38 63 4A C8 */ addi r3, r3, lbl_80434AC8@l +/* 8000AF0C 00007E4C 48 30 58 31 */ bl J3DSys_NS_reinitGX +/* 8000AF10 00007E50 C0 02 80 38 */ lfs f0, lbl_80451A38-_SDA2_BASE_(r2) +/* 8000AF14 00007E54 D0 01 00 18 */ stfs f0, 0x18(r1) +/* 8000AF18 00007E58 D0 01 00 1C */ stfs f0, 0x1c(r1) +/* 8000AF1C 00007E5C C0 02 80 AC */ lfs f0, lbl_80451AAC-_SDA2_BASE_(r2) +/* 8000AF20 00007E60 D0 01 00 20 */ stfs f0, 0x20(r1) +/* 8000AF24 00007E64 C0 02 80 A8 */ lfs f0, lbl_80451AA8-_SDA2_BASE_(r2) +/* 8000AF28 00007E68 D0 01 00 24 */ stfs f0, 0x24(r1) +/* 8000AF2C 00007E6C 38 61 02 A8 */ addi r3, r1, 0x2a8 +/* 8000AF30 00007E70 38 81 00 18 */ addi r4, r1, 0x18 +/* 8000AF34 00007E74 C0 22 80 E8 */ lfs f1, lbl_80451AE8-_SDA2_BASE_(r2) +/* 8000AF38 00007E78 C0 42 80 F0 */ lfs f2, lbl_80451AF0-_SDA2_BASE_(r2) +/* 8000AF3C 00007E7C 48 2D E8 D1 */ bl J2DOrthoGraph_NS_setOrtho +/* 8000AF40 00007E80 38 61 02 A8 */ addi r3, r1, 0x2a8 +/* 8000AF44 00007E84 48 2D E8 71 */ bl J2DOrthoGraph_NS_setPort +/* 8000AF48 00007E88 3C 60 80 43 */ lis r3, lbl_80434AC8@ha +/* 8000AF4C 00007E8C 38 63 4A C8 */ addi r3, r3, lbl_80434AC8@l +/* 8000AF50 00007E90 38 81 00 90 */ addi r4, r1, 0x90 +/* 8000AF54 00007E94 48 33 B5 5D */ bl PSMTXCopy +/* 8000AF58 00007E98 38 61 00 60 */ addi r3, r1, 0x60 +/* 8000AF5C 00007E9C C0 22 80 F4 */ lfs f1, lbl_80451AF4-_SDA2_BASE_(r2) +/* 8000AF60 00007EA0 C0 42 80 F8 */ lfs f2, lbl_80451AF8-_SDA2_BASE_(r2) +/* 8000AF64 00007EA4 C0 62 80 38 */ lfs f3, lbl_80451A38-_SDA2_BASE_(r2) +/* 8000AF68 00007EA8 48 33 B9 81 */ bl PSMTXTrans +/* 8000AF6C 00007EAC 38 61 00 60 */ addi r3, r1, 0x60 +/* 8000AF70 00007EB0 38 81 01 88 */ addi r4, r1, 0x188 +/* 8000AF74 00007EB4 48 33 B5 3D */ bl PSMTXCopy +/* 8000AF78 00007EB8 38 61 01 B8 */ addi r3, r1, 0x1b8 +/* 8000AF7C 00007EBC C0 22 80 38 */ lfs f1, lbl_80451A38-_SDA2_BASE_(r2) +/* 8000AF80 00007EC0 C0 42 80 A8 */ lfs f2, lbl_80451AA8-_SDA2_BASE_(r2) +/* 8000AF84 00007EC4 FC 60 08 90 */ fmr f3, f1 +/* 8000AF88 00007EC8 C0 82 80 AC */ lfs f4, lbl_80451AAC-_SDA2_BASE_(r2) +/* 8000AF8C 00007ECC C0 A2 80 DC */ lfs f5, lbl_80451ADC-_SDA2_BASE_(r2) +/* 8000AF90 00007ED0 FC C0 28 90 */ fmr f6, f5 +/* 8000AF94 00007ED4 FC E0 28 90 */ fmr f7, f5 +/* 8000AF98 00007ED8 FD 00 28 90 */ fmr f8, f5 +/* 8000AF9C 00007EDC 48 33 BD 49 */ bl C_MTXLightOrtho +/* 8000AFA0 00007EE0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha +/* 8000AFA4 00007EE4 3B 23 61 C0 */ addi r25, r3, g_dComIfG_gameInfo@l +/* 8000AFA8 00007EE8 88 19 5E B5 */ lbz r0, 0x5eb5(r25) +/* 8000AFAC 00007EEC 28 00 00 00 */ cmplwi r0, 0 +/* 8000AFB0 00007EF0 40 82 00 1C */ bne lbl_8000AFCC +/* 8000AFB4 00007EF4 80 7C 5D 3C */ lwz r3, 0x5d3c(r28) +/* 8000AFB8 00007EF8 28 03 00 00 */ cmplwi r3, 0 +/* 8000AFBC 00007EFC 41 82 00 10 */ beq lbl_8000AFCC +/* 8000AFC0 00007F00 38 81 01 88 */ addi r4, r1, 0x188 +/* 8000AFC4 00007F04 38 A0 00 10 */ li r5, 0x10 +/* 8000AFC8 00007F08 48 04 11 C1 */ bl dPa_control_c_NS_draw +lbl_8000AFCC: +/* 8000AFCC 00007F0C 80 7C 5D 3C */ lwz r3, 0x5d3c(r28) +/* 8000AFD0 00007F10 28 03 00 00 */ cmplwi r3, 0 +/* 8000AFD4 00007F14 41 82 00 10 */ beq lbl_8000AFE4 +/* 8000AFD8 00007F18 38 81 01 88 */ addi r4, r1, 0x188 +/* 8000AFDC 00007F1C 38 A0 00 12 */ li r5, 0x12 +/* 8000AFE0 00007F20 48 04 11 A9 */ bl dPa_control_c_NS_draw +lbl_8000AFE4: +/* 8000AFE4 00007F24 38 61 02 A8 */ addi r3, r1, 0x2a8 +/* 8000AFE8 00007F28 48 2D E7 CD */ bl J2DOrthoGraph_NS_setPort +/* 8000AFEC 00007F2C 7F E3 FB 78 */ mr r3, r31 +/* 8000AFF0 00007F30 38 9F 00 B4 */ addi r4, r31, 0xb4 +/* 8000AFF4 00007F34 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha +/* 8000AFF8 00007F38 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l +/* 8000AFFC 00007F3C 80 A5 61 18 */ lwz r5, 0x6118(r5) +/* 8000B000 00007F40 48 04 B7 C5 */ bl dDlst_list_c_NS_draw +/* 8000B004 00007F44 4B FF F5 89 */ bl drawItem3D__Fv +/* 8000B008 00007F48 38 61 02 A8 */ addi r3, r1, 0x2a8 +/* 8000B00C 00007F4C 48 2D E7 A9 */ bl J2DOrthoGraph_NS_setPort +/* 8000B010 00007F50 7F E3 FB 78 */ mr r3, r31 +/* 8000B014 00007F54 38 9F 00 6C */ addi r4, r31, 0x6c +/* 8000B018 00007F58 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha +/* 8000B01C 00007F5C 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l +/* 8000B020 00007F60 80 A5 60 10 */ lwz r5, 0x6010(r5) +/* 8000B024 00007F64 48 04 B7 A1 */ bl dDlst_list_c_NS_draw +/* 8000B028 00007F68 7F E3 FB 78 */ mr r3, r31 +/* 8000B02C 00007F6C 38 9F 01 BC */ addi r4, r31, 0x1bc +/* 8000B030 00007F70 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha +/* 8000B034 00007F74 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l +/* 8000B038 00007F78 80 A5 61 A0 */ lwz r5, 0x61a0(r5) +/* 8000B03C 00007F7C 48 04 B7 89 */ bl dDlst_list_c_NS_draw +/* 8000B040 00007F80 88 19 5E B5 */ lbz r0, 0x5eb5(r25) +/* 8000B044 00007F84 28 00 00 00 */ cmplwi r0, 0 +/* 8000B048 00007F88 40 82 00 1C */ bne lbl_8000B064 +/* 8000B04C 00007F8C 80 7C 5D 3C */ lwz r3, 0x5d3c(r28) +/* 8000B050 00007F90 28 03 00 00 */ cmplwi r3, 0 +/* 8000B054 00007F94 41 82 00 10 */ beq lbl_8000B064 +/* 8000B058 00007F98 38 81 01 88 */ addi r4, r1, 0x188 +/* 8000B05C 00007F9C 38 A0 00 0F */ li r5, 0xf +/* 8000B060 00007FA0 48 04 11 29 */ bl dPa_control_c_NS_draw +lbl_8000B064: +/* 8000B064 00007FA4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha +/* 8000B068 00007FA8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l +/* 8000B06C 00007FAC 38 63 4E 00 */ addi r3, r3, 0x4e00 +/* 8000B070 00007FB0 3C 80 80 37 */ lis r4, lbl_80373DD0@ha +/* 8000B074 00007FB4 38 84 3D D0 */ addi r4, r4, lbl_80373DD0@l +/* 8000B078 00007FB8 38 84 00 0F */ addi r4, r4, 0xf +/* 8000B07C 00007FBC 48 35 D9 19 */ bl strcmp +/* 8000B080 00007FC0 2C 03 00 00 */ cmpwi r3, 0 +/* 8000B084 00007FC4 41 82 00 10 */ beq lbl_8000B094 +/* 8000B088 00007FC8 88 0D 86 66 */ lbz r0, lbl_80450BE6-_SDA_BASE_(r13) +/* 8000B08C 00007FCC 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 +/* 8000B090 00007FD0 41 82 00 08 */ beq lbl_8000B098 +lbl_8000B094: +/* 8000B094 00007FD4 4B FF D2 9D */ bl calcFade__13mDoGph_gInf_cFv +lbl_8000B098: +/* 8000B098 00007FD8 80 7C 5D 3C */ lwz r3, 0x5d3c(r28) +/* 8000B09C 00007FDC 28 03 00 00 */ cmplwi r3, 0 +/* 8000B0A0 00007FE0 41 82 00 10 */ beq lbl_8000B0B0 +/* 8000B0A4 00007FE4 38 81 01 88 */ addi r4, r1, 0x188 +/* 8000B0A8 00007FE8 38 A0 00 11 */ li r5, 0x11 +/* 8000B0AC 00007FEC 48 04 10 DD */ bl dPa_control_c_NS_draw +lbl_8000B0B0: +/* 8000B0B0 00007FF0 38 61 00 90 */ addi r3, r1, 0x90 +/* 8000B0B4 00007FF4 3C 80 80 43 */ lis r4, lbl_80434AC8@ha +/* 8000B0B8 00007FF8 38 84 4A C8 */ addi r4, r4, lbl_80434AC8@l +/* 8000B0BC 00007FFC 48 33 B3 F5 */ bl PSMTXCopy +/* 8000B0C0 00008000 80 6D 8C 40 */ lwz r3, lbl_804511C0-_SDA_BASE_(r13) +/* 8000B0C4 00008004 81 83 00 00 */ lwz r12, 0(r3) +/* 8000B0C8 00008008 81 8C 00 0C */ lwz r12, 0xc(r12) +/* 8000B0CC 0000800C 7D 89 03 A6 */ mtctr r12 +/* 8000B0D0 00008010 4E 80 04 21 */ bctrl +/* 8000B0D4 00008014 3C 60 80 3D */ lis r3, lbl_803CC9E0@ha +/* 8000B0D8 00008018 38 03 C9 E0 */ addi r0, r3, lbl_803CC9E0@l +/* 8000B0DC 0000801C 90 01 02 A8 */ stw r0, 0x2a8(r1) +/* 8000B0E0 00008020 3C 60 80 3D */ lis r3, lbl_803CC9B8@ha +/* 8000B0E4 00008024 38 03 C9 B8 */ addi r0, r3, lbl_803CC9B8@l +/* 8000B0E8 00008028 90 01 02 A8 */ stw r0, 0x2a8(r1) +/* 8000B0EC 0000802C 38 60 00 01 */ li r3, 1 +/* 8000B0F0 00008030 E3 E1 03 D8 */ psq_l f31, 984(r1), 0, 0 +/* 8000B0F4 00008034 CB E1 03 D0 */ lfd f31, 0x3d0(r1) +/* 8000B0F8 00008038 E3 C1 03 C8 */ psq_l f30, 968(r1), 0, 0 +/* 8000B0FC 0000803C CB C1 03 C0 */ lfd f30, 0x3c0(r1) +/* 8000B100 00008040 39 61 03 C0 */ addi r11, r1, 0x3c0 +/* 8000B104 00008044 48 35 71 05 */ bl _restgpr_21 +/* 8000B108 00008048 80 01 03 E4 */ lwz r0, 0x3e4(r1) +/* 8000B10C 0000804C 7C 08 03 A6 */ mtlr r0 +/* 8000B110 00008050 38 21 03 E0 */ addi r1, r1, 0x3e0 +/* 8000B114 00008054 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/m_Do/m_Do_graphic/asm/func_8000B118.s b/include/m_Do/m_Do_graphic/asm/func_8000B118.s new file mode 100644 index 00000000000..4cc1f57733e --- /dev/null +++ b/include/m_Do/m_Do_graphic/asm/func_8000B118.s @@ -0,0 +1,25 @@ +/* 8000B118 00008058 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8000B11C 0000805C 7C 08 02 A6 */ mflr r0 +/* 8000B120 00008060 90 01 00 14 */ stw r0, 0x14(r1) +/* 8000B124 00008064 93 E1 00 0C */ stw r31, 0xc(r1) +/* 8000B128 00008068 7C 7F 1B 79 */ or. r31, r3, r3 +/* 8000B12C 0000806C 41 82 00 30 */ beq lbl_8000B15C +/* 8000B130 00008070 3C 60 80 3D */ lis r3, lbl_803CC9E0@ha +/* 8000B134 00008074 38 03 C9 E0 */ addi r0, r3, lbl_803CC9E0@l +/* 8000B138 00008078 90 1F 00 00 */ stw r0, 0(r31) +/* 8000B13C 0000807C 41 82 00 10 */ beq lbl_8000B14C +/* 8000B140 00008080 3C 60 80 3D */ lis r3, lbl_803CC9B8@ha +/* 8000B144 00008084 38 03 C9 B8 */ addi r0, r3, lbl_803CC9B8@l +/* 8000B148 00008088 90 1F 00 00 */ stw r0, 0(r31) +lbl_8000B14C: +/* 8000B14C 0000808C 7C 80 07 35 */ extsh. r0, r4 +/* 8000B150 00008090 40 81 00 0C */ ble lbl_8000B15C +/* 8000B154 00008094 7F E3 FB 78 */ mr r3, r31 +/* 8000B158 00008098 48 2C 3B E5 */ bl __dl__FPv +lbl_8000B15C: +/* 8000B15C 0000809C 7F E3 FB 78 */ mr r3, r31 +/* 8000B160 000080A0 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 8000B164 000080A4 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8000B168 000080A8 7C 08 03 A6 */ mtlr r0 +/* 8000B16C 000080AC 38 21 00 10 */ addi r1, r1, 0x10 +/* 8000B170 000080B0 4E 80 00 20 */ blr diff --git a/include/m_Do/m_Do_graphic/asm/func_8000B174.s b/include/m_Do/m_Do_graphic/asm/func_8000B174.s new file mode 100644 index 00000000000..2fe7af82a79 --- /dev/null +++ b/include/m_Do/m_Do_graphic/asm/func_8000B174.s @@ -0,0 +1,23 @@ +/* 8000B174 000080B4 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8000B178 000080B8 7C 08 02 A6 */ mflr r0 +/* 8000B17C 000080BC 90 01 00 14 */ stw r0, 0x14(r1) +/* 8000B180 000080C0 93 E1 00 0C */ stw r31, 0xc(r1) +/* 8000B184 000080C4 38 60 00 00 */ li r3, 0 +/* 8000B188 000080C8 38 80 00 00 */ li r4, 0 +/* 8000B18C 000080CC 38 A0 00 00 */ li r5, 0 +/* 8000B190 000080D0 48 00 3E 2D */ bl mDoExt_createSolidHeapToCurrent_X1_ +/* 8000B194 000080D4 7C 7F 1B 78 */ mr r31, r3 +/* 8000B198 000080D8 4B FF CC AD */ bl create__13mDoGph_gInf_cFv +/* 8000B19C 000080DC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha +/* 8000B1A0 000080E0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l +/* 8000B1A4 000080E4 38 63 5F 64 */ addi r3, r3, 0x5f64 +/* 8000B1A8 000080E8 48 04 B1 E9 */ bl dDlst_list_c_NS_init +/* 8000B1AC 000080EC 7F E3 FB 78 */ mr r3, r31 +/* 8000B1B0 000080F0 48 00 3E DD */ bl mDoExt_adjustSolidHeap +/* 8000B1B4 000080F4 48 00 40 41 */ bl mDoExt_restoreCurrentHeap +/* 8000B1B8 000080F8 38 60 00 01 */ li r3, 1 +/* 8000B1BC 000080FC 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 8000B1C0 00008100 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8000B1C4 00008104 7C 08 03 A6 */ mtlr r0 +/* 8000B1C8 00008108 38 21 00 10 */ addi r1, r1, 0x10 +/* 8000B1CC 0000810C 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/m_Do/m_Do_graphic/asm/func_8000B1D0.s b/include/m_Do/m_Do_graphic/asm/func_8000B1D0.s new file mode 100644 index 00000000000..da2d6b59e72 --- /dev/null +++ b/include/m_Do/m_Do_graphic/asm/func_8000B1D0.s @@ -0,0 +1,5 @@ +/* 8000B1D0 00008110 38 00 00 00 */ li r0, 0 +/* 8000B1D4 00008114 3C 60 80 3E */ lis r3, lbl_803DD428@ha +/* 8000B1D8 00008118 38 63 D4 28 */ addi r3, r3, lbl_803DD428@l +/* 8000B1DC 0000811C 90 03 00 10 */ stw r0, 0x10(r3) +/* 8000B1E0 00008120 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/m_Do/m_Do_graphic/asm/func_8000B1E4.s b/include/m_Do/m_Do_graphic/asm/func_8000B1E4.s new file mode 100644 index 00000000000..eadbd600fa5 --- /dev/null +++ b/include/m_Do/m_Do_graphic/asm/func_8000B1E4.s @@ -0,0 +1,2 @@ +/* 8000B1E4 00008124 38 60 FF FF */ li r3, -1 +/* 8000B1E8 00008128 4E 80 00 20 */ blr diff --git a/include/m_Do/m_Do_graphic/m_Do_graphic.h b/include/m_Do/m_Do_graphic/m_Do_graphic.h index 8cd7b338b8c..3f3090e0e5b 100644 --- a/include/m_Do/m_Do_graphic/m_Do_graphic.h +++ b/include/m_Do/m_Do_graphic/m_Do_graphic.h @@ -1,8 +1,213 @@ #ifndef M_DO_GRAPHIC_H_ #define M_DO_GRAPHIC_H_ +#include "JSystem/JUtility/JUTTexture.h" #include "global.h" +#include "mtx_vec.h" + +class view_class {}; + +class view_port_class {}; void mDoGph_Create(void); +ResTIMG* createTimg(u32 width, u32 height, u32 format); +void darwFilter(_GXColor color); +void mDoGph_BlankingON(void); +void mDoGph_BlankingOFF(void); +void dScnPly_BeforeOfPaint(void); +bool mDoGph_BeforeOfDraw(void); +bool mDoGph_AfterOfDraw(void); +void drawDepth2(view_class* view_class_ptr, view_port_class* view_port_class_ptr, int param_3); +void trimming(view_class* view_class_ptr, view_port_class* view_port_class_ptr); +void mDoGph_drawFilterQuad(s8 param_1, s8 param_2); +void retry_captue_frame(view_class* view_class_ptr, view_port_class* view_port_class_ptr, + int param_3); +void motionBlure(view_class* view_class_ptr); +void setLight(void); +void drawItem3D(void); +bool mDoGph_Painter(void); + +class mDoGph_gInf_c { // Possible Namespace? +public: + static void create(void); + static void beginRender(void); + static void fadeOut(f32 fadeSpeed, _GXColor& color); + static void fadeOut_f(f32 fadeSpeed, _GXColor& color); + static void onBlure(void); + static void onBlure(const f32[][4]); + static void fadeOut(f32 speed); + static void calcFade(void); + class bloom_c { + public: + void create(); + int remove(); + void draw(); + }; +}; + +// additional symbols needed for m_Do_graphic.cpp +// autogenerated by split.py v0.4 at 2021-01-26 05:26:23.383541 +extern "C" { +void mDoGph_Create__Fv(void); +void createTimg__FUsUsUl(void); +void J2DOrthoGraph_NS_setOrtho(void); +void J2DOrthoGraph_NS_setPort(void); +void J2DOrthoGraph_X1_(void); +void J2DPrint_NS_setBuffer(void); +void J3DSys_NS_drawInit(void); +void J3DSys_NS_reinitGX(void); +void JFWDisplay_NS_createManager(void); +void JUTFader(void); +void JUTVideo_NS_setRenderMode(void); +void PPCSync(void); +void __dl__FPv(void); +void __nw__FUl(void); +void _restgpr_17(void); +void _restgpr_21(void); +void _restgpr_24(void); +void _restgpr_27(void); +void _restgpr_28(void); +void _savegpr_17(void); +void _savegpr_21(void); +void _savegpr_24(void); +void _savegpr_27(void); +void _savegpr_28(void); +void alloc__7JKRHeapFUli(void); +void alloc__7JKRHeapFUliP7JKRHeap(void); +void cLib_addCalc__FPfffff(void); +void cLib_memSet__FPviUl(void); +void dAttention_c_NS_LockonTruth(void); +void dCam_getBody(void); +void dDlst_list_c_NS_calcWipe(void); +void dDlst_list_c_NS_draw(void); +void dDlst_list_c_NS_drawOpaDrawList(void); +void dDlst_list_c_NS_drawOpaListItem3d(void); +void dDlst_list_c_NS_drawXluDrawList(void); +void dDlst_list_c_NS_drawXluListItem3d(void); +void dDlst_list_c_NS_init(void); +void reset__12dDlst_list_cFv(void); +void dDlst_shadowControl_c_NS_draw(void); +void dDlst_shadowControl_c_NS_imageDraw(void); +void dKy_setLight(void); +void dMenu_Collect3D_c_NS_setupItem3D(void); +void dPa_control_c_NS_calcMenu(void); +void dPa_control_c_NS_draw(void); +void dScnPly_BeforeOfPaint__Fv(void); +void darwFilter__F8_GXColor(void); +void drawDepth2__FP10view_classP15view_port_classi(void); +void drawItem3D__Fv(void); +void fopAcIt_Judge(void); +void free__7JKRHeapFPv(void); +void func_80008028(void); +void func_8000841C(void); +void func_80008420(void); +void func_80008450(void); +void func_80008474(void); +void func_8000A604(void); +void func_8000B118(void); +void func_8000B1D0(void); +void func_8000B1E4(void); +void func_803620AC(void); +void mDoExt_adjustSolidHeap(void); +void mDoExt_createSolidHeapToCurrent_X1_(void); +void mDoExt_restoreCurrentHeap(void); +void create__13mDoGph_gInf_cFv(void); +void mDoGph_drawFilterQuad__FScSc(void); +void beginRender__13mDoGph_gInf_cFv(void); +void create__Q213mDoGph_gInf_c7bloom_cFv(void); +void draw__Q213mDoGph_gInf_c7bloom_cFv(void); +void remove__Q213mDoGph_gInf_c7bloom_cFv(void); +void calcFade__13mDoGph_gInf_cFv(void); +void mDoGph_gInf_c_NS_create(void); +void fadeOut__13mDoGph_gInf_cFfR8_GXColor(void); +void mDoGph_gInf_c_NS_fadeOut_X1_(void); +void onBlure__13mDoGph_gInf_cFv(void); +void onBlure__13mDoGph_gInf_cFPA4_Cf(void); +void mDoMtx_lookAt_X1_(void); +void motionBlure__FP10view_class(void); +void retry_captue_frame__FP10view_classP15view_port_classi(void); +void setLight__Fv(void); +void trimming__FP10view_classP15view_port_class(void); +void VISetBlack(void); +} + +// additional symbols needed for m_Do_graphic.cpp +// autogenerated by split.py v0.4 at 2021-01-26 05:26:23.383553 +extern u8 lbl_80373DD0; +extern Mtx lbl_803A2FD8; // g_mDoMtx_identity +extern u8 lbl_803CC9B8; +extern u8 lbl_803CC9E0; +extern u8 lbl_803DD3E8; +extern u8 lbl_803DD408; +extern u8 lbl_803DD428; +extern Mtx lbl_803DD43C; // mBlureMtx +extern u8 lbl_80450590; +extern _GXColor lbl_80450594; // mFadeColor +extern u8 lbl_80450598; +extern u8 lbl_8045059C; +extern u8 lbl_804505A0; +extern _GXColor lbl_80450600; // g_clearColor +extern u8 lbl_80450608; +extern u8 lbl_80450BC8; +extern u8 lbl_80450BCC; +extern u8 lbl_80450BD0; +extern u8 lbl_80450BD4; +extern u8 lbl_80450BD8; +extern f32 lbl_80450BDC; +extern f32 lbl_80450BE0; //_mFadeRate +extern bool lbl_80450BE4; +extern u8 lbl_80450BE5; +extern bool lbl_80450BE6; +extern u8 lbl_80450BE7; +extern u8 lbl_80450BE8; +extern u8 lbl_804511C0; +extern u8 lbl_804514C8; +extern u8 lbl_80451538; +extern u8 lbl_80451558; +extern f32 lbl_80451A38; // 0.0f +extern u8 lbl_80451A3C; +extern u8 lbl_80451A40; +extern u8 lbl_80451A44; +extern u8 lbl_80451A48; +extern u8 lbl_80451A4C; +extern u8 lbl_80451A50; +extern u8 lbl_80451A54; +extern u8 lbl_80451A58; +extern u8 lbl_80451A60; +extern u8 lbl_80451A68; +extern u8 lbl_80451A70; +extern u8 lbl_80451A74; +extern u8 lbl_80451A78; +extern u8 lbl_80451A7C; +extern u8 lbl_80451A80; +extern u8 lbl_80451A84; +extern u8 lbl_80451A88; +extern u8 lbl_80451A8C; +extern u8 lbl_80451A90; +extern u8 lbl_80451A94; +extern u8 lbl_80451A98; +extern u8 lbl_80451A9C; +extern u8 lbl_80451AA0; +extern u8 lbl_80451AA4; +extern u8 lbl_80451AA8; +extern u8 lbl_80451AAC; +extern u8 lbl_80451AB0; +extern u8 lbl_80451AB4; +extern u8 lbl_80451AB8; +extern u8 lbl_80451ABC; +extern u8 lbl_80451AC0; +extern u8 lbl_80451AC8; +extern u8 lbl_80451AD0; +extern u8 lbl_80451AD4; +extern u8 lbl_80451AD8; +extern u8 lbl_80451ADC; +extern u8 lbl_80451AE0; +extern u8 lbl_80451AE4; +extern u8 lbl_80451AE8; +extern u8 lbl_80451AEC; +extern u8 lbl_80451AF0; +extern u8 lbl_80451AF4; +extern u8 lbl_80451AF8; +extern u8 lbl_80456B60; #endif \ No newline at end of file diff --git a/include/m_Do/m_Do_main/asm/func_8000628C.s b/include/m_Do/m_Do_main/asm/func_8000628C.s index ea2abb99d89..1e494c18378 100644 --- a/include/m_Do/m_Do_main/asm/func_8000628C.s +++ b/include/m_Do/m_Do_main/asm/func_8000628C.s @@ -5,7 +5,7 @@ /* 8000629C 000031DC 3C 60 80 3D */ lis r3, lbl_803D32E0@ha /* 800062A0 000031E0 3B E3 32 E0 */ addi r31, r3, lbl_803D32E0@l /* 800062A4 000031E4 48 00 5A A1 */ bl mDoMch_Create -/* 800062A8 000031E8 48 00 4E CD */ bl mDoGph_Create +/* 800062A8 000031E8 48 00 4E CD */ bl mDoGph_Create__Fv /* 800062AC 000031EC 48 00 16 A9 */ bl create__8mDoCPd_cFv /* 800062B0 000031F0 80 8D 8D F8 */ lwz r4, sRootHeap__7JKRHeap-_SDA_BASE_(r13) /* 800062B4 000031F4 38 7F 00 00 */ addi r3, r31, 0 diff --git a/include/m_Do/m_Do_main/asm/func_80006454.s b/include/m_Do/m_Do_main/asm/func_80006454.s index a2418cd88ce..c8757b83a12 100644 --- a/include/m_Do/m_Do_main/asm/func_80006454.s +++ b/include/m_Do/m_Do_main/asm/func_80006454.s @@ -10,7 +10,7 @@ /* 80006478 000033B8 48 33 C2 85 */ bl OSGetTime /* 8000647C 000033BC 90 8D 85 8C */ stw r4, lbl_80450B0C-_SDA_BASE_(r13) /* 80006480 000033C0 90 6D 85 88 */ stw r3, lbl_80450B08-_SDA_BASE_(r13) -/* 80006484 000033C4 48 00 04 41 */ bl OSReportInit +/* 80006484 000033C4 48 00 04 41 */ bl OSReportInit__Fv /* 80006488 000033C8 4B FF F2 39 */ bl version_check__Fv /* 8000648C 000033CC 38 60 00 18 */ li r3, 0x18 /* 80006490 000033D0 38 80 00 04 */ li r4, 4 diff --git a/include/m_Do/m_Do_printf/asm/func_80006798.s b/include/m_Do/m_Do_printf/asm/func_80006798.s new file mode 100644 index 00000000000..00116639010 --- /dev/null +++ b/include/m_Do/m_Do_printf/asm/func_80006798.s @@ -0,0 +1,12 @@ +/* 80006798 000036D8 7C 08 02 A6 */ mflr r0 +/* 8000679C 000036DC 7C 29 0B 78 */ mr r9, r1 +/* 800067A0 000036E0 95 28 FF F8 */ stwu r9, -8(r8) +/* 800067A4 000036E4 7D 01 43 78 */ mr r1, r8 +/* 800067A8 000036E8 90 09 00 04 */ stw r0, 4(r9) +/* 800067AC 000036EC 7C E8 03 A6 */ mtlr r7 +/* 800067B0 000036F0 4E 80 00 21 */ blrl +/* 800067B4 000036F4 80 A1 00 00 */ lwz r5, 0(r1) +/* 800067B8 000036F8 80 05 00 04 */ lwz r0, 4(r5) +/* 800067BC 000036FC 7C 08 03 A6 */ mtlr r0 +/* 800067C0 00003700 7C A1 2B 78 */ mr r1, r5 +/* 800067C4 00003704 4E 80 00 20 */ blr diff --git a/include/m_Do/m_Do_printf/asm/func_800067C8.s b/include/m_Do/m_Do_printf/asm/func_800067C8.s new file mode 100644 index 00000000000..61e70ebbf9b --- /dev/null +++ b/include/m_Do/m_Do_printf/asm/func_800067C8.s @@ -0,0 +1,11 @@ +/* 800067C8 00003708 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 800067CC 0000370C 7C 08 02 A6 */ mflr r0 +/* 800067D0 00003710 90 01 00 14 */ stw r0, 0x14(r1) +/* 800067D4 00003714 3C 80 80 3D */ lis r4, lbl_803D29B0@ha +/* 800067D8 00003718 38 84 29 B0 */ addi r4, r4, lbl_803D29B0@l +/* 800067DC 0000371C 38 84 00 50 */ addi r4, r4, 0x50 +/* 800067E0 00003720 48 35 E9 F9 */ bl fputs +/* 800067E4 00003724 80 01 00 14 */ lwz r0, 0x14(r1) +/* 800067E8 00003728 7C 08 03 A6 */ mtlr r0 +/* 800067EC 0000372C 38 21 00 10 */ addi r1, r1, 0x10 +/* 800067F0 00003730 4E 80 00 20 */ blr diff --git a/include/m_Do/m_Do_printf/asm/func_800067F4.s b/include/m_Do/m_Do_printf/asm/func_800067F4.s new file mode 100644 index 00000000000..62306b3c87b --- /dev/null +++ b/include/m_Do/m_Do_printf/asm/func_800067F4.s @@ -0,0 +1,8 @@ +/* 800067F4 00003734 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 800067F8 00003738 7C 08 02 A6 */ mflr r0 +/* 800067FC 0000373C 90 01 00 14 */ stw r0, 0x14(r1) +/* 80006800 00003740 48 00 01 85 */ bl mDoPrintf_vprintf__FPCcP16__va_list_struct +/* 80006804 00003744 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80006808 00003748 7C 08 03 A6 */ mtlr r0 +/* 8000680C 0000374C 38 21 00 10 */ addi r1, r1, 0x10 +/* 80006810 00003750 4E 80 00 20 */ blr diff --git a/include/m_Do/m_Do_printf/asm/func_80006814.s b/include/m_Do/m_Do_printf/asm/func_80006814.s new file mode 100644 index 00000000000..6942dc893fc --- /dev/null +++ b/include/m_Do/m_Do_printf/asm/func_80006814.s @@ -0,0 +1,33 @@ +/* 80006814 00003754 94 21 FF 80 */ stwu r1, -0x80(r1) +/* 80006818 00003758 7C 08 02 A6 */ mflr r0 +/* 8000681C 0000375C 90 01 00 84 */ stw r0, 0x84(r1) +/* 80006820 00003760 40 86 00 24 */ bne cr1, lbl_80006844 +/* 80006824 00003764 D8 21 00 28 */ stfd f1, 0x28(r1) +/* 80006828 00003768 D8 41 00 30 */ stfd f2, 0x30(r1) +/* 8000682C 0000376C D8 61 00 38 */ stfd f3, 0x38(r1) +/* 80006830 00003770 D8 81 00 40 */ stfd f4, 0x40(r1) +/* 80006834 00003774 D8 A1 00 48 */ stfd f5, 0x48(r1) +/* 80006838 00003778 D8 C1 00 50 */ stfd f6, 0x50(r1) +/* 8000683C 0000377C D8 E1 00 58 */ stfd f7, 0x58(r1) +/* 80006840 00003780 D9 01 00 60 */ stfd f8, 0x60(r1) +lbl_80006844: +/* 80006844 00003784 90 61 00 08 */ stw r3, 8(r1) +/* 80006848 00003788 90 81 00 0C */ stw r4, 0xc(r1) +/* 8000684C 0000378C 90 A1 00 10 */ stw r5, 0x10(r1) +/* 80006850 00003790 90 C1 00 14 */ stw r6, 0x14(r1) +/* 80006854 00003794 90 E1 00 18 */ stw r7, 0x18(r1) +/* 80006858 00003798 91 01 00 1C */ stw r8, 0x1c(r1) +/* 8000685C 0000379C 91 21 00 20 */ stw r9, 0x20(r1) +/* 80006860 000037A0 91 41 00 24 */ stw r10, 0x24(r1) +/* 80006864 000037A4 38 81 00 68 */ addi r4, r1, 0x68 +/* 80006868 000037A8 3C 00 01 00 */ lis r0, 0x100 +/* 8000686C 000037AC 90 01 00 68 */ stw r0, 0x68(r1) +/* 80006870 000037B0 38 01 00 88 */ addi r0, r1, 0x88 +/* 80006874 000037B4 90 01 00 6C */ stw r0, 0x6c(r1) +/* 80006878 000037B8 38 01 00 08 */ addi r0, r1, 8 +/* 8000687C 000037BC 90 01 00 70 */ stw r0, 0x70(r1) +/* 80006880 000037C0 48 00 01 05 */ bl mDoPrintf_vprintf__FPCcP16__va_list_struct +/* 80006884 000037C4 80 01 00 84 */ lwz r0, 0x84(r1) +/* 80006888 000037C8 7C 08 03 A6 */ mtlr r0 +/* 8000688C 000037CC 38 21 00 80 */ addi r1, r1, 0x80 +/* 80006890 000037D0 4E 80 00 20 */ blr diff --git a/include/m_Do/m_Do_printf/asm/func_80006894.s b/include/m_Do/m_Do_printf/asm/func_80006894.s new file mode 100644 index 00000000000..ff411f482fb --- /dev/null +++ b/include/m_Do/m_Do_printf/asm/func_80006894.s @@ -0,0 +1,3 @@ +/* 80006894 000037D4 38 00 00 01 */ li r0, 1 +/* 80006898 000037D8 98 0D 86 18 */ stb r0, lbl_80450B98-_SDA_BASE_(r13) +/* 8000689C 000037DC 4E 80 00 20 */ blr diff --git a/include/m_Do/m_Do_printf/asm/func_800068A0.s b/include/m_Do/m_Do_printf/asm/func_800068A0.s new file mode 100644 index 00000000000..8010fba2138 --- /dev/null +++ b/include/m_Do/m_Do_printf/asm/func_800068A0.s @@ -0,0 +1,3 @@ +/* 800068A0 000037E0 38 00 00 00 */ li r0, 0 +/* 800068A4 000037E4 98 0D 86 18 */ stb r0, lbl_80450B98-_SDA_BASE_(r13) +/* 800068A8 000037E8 4E 80 00 20 */ blr diff --git a/include/m_Do/m_Do_printf/asm/func_800068AC.s b/include/m_Do/m_Do_printf/asm/func_800068AC.s new file mode 100644 index 00000000000..48f868ae756 --- /dev/null +++ b/include/m_Do/m_Do_printf/asm/func_800068AC.s @@ -0,0 +1,3 @@ +/* 800068AC 000037EC 38 00 00 01 */ li r0, 1 +/* 800068B0 000037F0 98 0D 86 1C */ stb r0, lbl_80450B9C-_SDA_BASE_(r13) +/* 800068B4 000037F4 4E 80 00 20 */ blr diff --git a/include/m_Do/m_Do_printf/asm/func_800068B8.s b/include/m_Do/m_Do_printf/asm/func_800068B8.s new file mode 100644 index 00000000000..48e1415332e --- /dev/null +++ b/include/m_Do/m_Do_printf/asm/func_800068B8.s @@ -0,0 +1,3 @@ +/* 800068B8 000037F8 38 00 00 00 */ li r0, 0 +/* 800068BC 000037FC 98 0D 86 1C */ stb r0, lbl_80450B9C-_SDA_BASE_(r13) +/* 800068C0 00003800 4E 80 00 20 */ blr diff --git a/include/m_Do/m_Do_printf/asm/func_800068C4.s b/include/m_Do/m_Do_printf/asm/func_800068C4.s new file mode 100644 index 00000000000..3527be8854a --- /dev/null +++ b/include/m_Do/m_Do_printf/asm/func_800068C4.s @@ -0,0 +1,6 @@ +/* 800068C4 00003804 88 0D 86 34 */ lbz r0, lbl_80450BB4-_SDA_BASE_(r13) +/* 800068C8 00003808 28 00 00 00 */ cmplwi r0, 0 +/* 800068CC 0000380C 4C 82 00 20 */ bnelr +/* 800068D0 00003810 38 00 00 01 */ li r0, 1 +/* 800068D4 00003814 98 0D 86 34 */ stb r0, lbl_80450BB4-_SDA_BASE_(r13) +/* 800068D8 00003818 4E 80 00 20 */ blr diff --git a/include/m_Do/m_Do_printf/asm/func_800068DC.s b/include/m_Do/m_Do_printf/asm/func_800068DC.s new file mode 100644 index 00000000000..b0678eae9b0 --- /dev/null +++ b/include/m_Do/m_Do_printf/asm/func_800068DC.s @@ -0,0 +1,35 @@ +/* 800068DC 0000381C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 800068E0 00003820 7C 08 02 A6 */ mflr r0 +/* 800068E4 00003824 90 01 00 24 */ stw r0, 0x24(r1) +/* 800068E8 00003828 39 61 00 20 */ addi r11, r1, 0x20 +/* 800068EC 0000382C 48 35 B8 F1 */ bl _savegpr_29 +/* 800068F0 00003830 7C 7D 1B 78 */ mr r29, r3 +/* 800068F4 00003834 7C 9E 23 78 */ mr r30, r4 +/* 800068F8 00003838 48 33 6D FD */ bl __RAS_OSDisableInterrupts_begin +/* 800068FC 0000383C 7C 7F 1B 78 */ mr r31, r3 +/* 80006900 00003840 88 0D 86 35 */ lbz r0, lbl_80450BB5-_SDA_BASE_(r13) +/* 80006904 00003844 28 00 00 00 */ cmplwi r0, 0 +/* 80006908 00003848 40 82 00 3C */ bne lbl_80006944 +/* 8000690C 0000384C 38 00 00 01 */ li r0, 1 +/* 80006910 00003850 98 0D 86 35 */ stb r0, lbl_80450BB5-_SDA_BASE_(r13) +/* 80006914 00003854 7F A3 EB 78 */ mr r3, r29 +/* 80006918 00003858 7F C4 F3 78 */ mr r4, r30 +/* 8000691C 0000385C 38 A0 00 00 */ li r5, 0 +/* 80006920 00003860 38 C0 00 00 */ li r6, 0 +/* 80006924 00003864 3C E0 80 36 */ lis r7, vprintf@ha +/* 80006928 00003868 38 E7 67 04 */ addi r7, r7, vprintf@l +/* 8000692C 0000386C 3D 00 80 3E */ lis r8, lbl_803DB740@ha +/* 80006930 00003870 39 08 B7 40 */ addi r8, r8, lbl_803DB740@l +/* 80006934 00003874 39 08 08 00 */ addi r8, r8, 0x800 +/* 80006938 00003878 4B FF FE 61 */ bl OSSwitchFiberEx__FUlUlUlUlUlUl +/* 8000693C 0000387C 38 00 00 00 */ li r0, 0 +/* 80006940 00003880 98 0D 86 35 */ stb r0, lbl_80450BB5-_SDA_BASE_(r13) +lbl_80006944: +/* 80006944 00003884 7F E3 FB 78 */ mr r3, r31 +/* 80006948 00003888 48 33 6D D5 */ bl OSRestoreInterrupts +/* 8000694C 0000388C 39 61 00 20 */ addi r11, r1, 0x20 +/* 80006950 00003890 48 35 B8 D9 */ bl _restgpr_29 +/* 80006954 00003894 80 01 00 24 */ lwz r0, 0x24(r1) +/* 80006958 00003898 7C 08 03 A6 */ mtlr r0 +/* 8000695C 0000389C 38 21 00 20 */ addi r1, r1, 0x20 +/* 80006960 000038A0 4E 80 00 20 */ blr diff --git a/include/m_Do/m_Do_printf/asm/func_80006964.s b/include/m_Do/m_Do_printf/asm/func_80006964.s new file mode 100644 index 00000000000..7c431b47ef3 --- /dev/null +++ b/include/m_Do/m_Do_printf/asm/func_80006964.s @@ -0,0 +1,8 @@ +/* 80006964 000038A4 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80006968 000038A8 7C 08 02 A6 */ mflr r0 +/* 8000696C 000038AC 90 01 00 14 */ stw r0, 0x14(r1) +/* 80006970 000038B0 48 35 FD 95 */ bl vprintf +/* 80006974 000038B4 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80006978 000038B8 7C 08 03 A6 */ mtlr r0 +/* 8000697C 000038BC 38 21 00 10 */ addi r1, r1, 0x10 +/* 80006980 000038C0 4E 80 00 20 */ blr diff --git a/include/m_Do/m_Do_printf/asm/func_80006984.s b/include/m_Do/m_Do_printf/asm/func_80006984.s new file mode 100644 index 00000000000..b5dcf27b35b --- /dev/null +++ b/include/m_Do/m_Do_printf/asm/func_80006984.s @@ -0,0 +1,39 @@ +/* 80006984 000038C4 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80006988 000038C8 7C 08 02 A6 */ mflr r0 +/* 8000698C 000038CC 90 01 00 24 */ stw r0, 0x24(r1) +/* 80006990 000038D0 39 61 00 20 */ addi r11, r1, 0x20 +/* 80006994 000038D4 48 35 B8 49 */ bl _savegpr_29 +/* 80006998 000038D8 7C 7D 1B 78 */ mr r29, r3 +/* 8000699C 000038DC 7C 9E 23 78 */ mr r30, r4 +/* 800069A0 000038E0 48 00 E3 C5 */ bl mDoExt_GetCurrentRunningThread__Fv +/* 800069A4 000038E4 7C 7F 1B 79 */ or. r31, r3, r3 +/* 800069A8 000038E8 40 82 00 14 */ bne lbl_800069BC +/* 800069AC 000038EC 7F A3 EB 78 */ mr r3, r29 +/* 800069B0 000038F0 7F C4 F3 78 */ mr r4, r30 +/* 800069B4 000038F4 4B FF FF 29 */ bl mDoPrintf_vprintf_Interrupt__FPCcP16__va_list_struct +/* 800069B8 000038F8 48 00 00 40 */ b lbl_800069F8 +lbl_800069BC: +/* 800069BC 000038FC 48 33 56 3D */ bl OSGetStackPointer +/* 800069C0 00003900 80 9F 03 08 */ lwz r4, 0x308(r31) +/* 800069C4 00003904 38 04 0A 00 */ addi r0, r4, 0xa00 +/* 800069C8 00003908 7C 03 00 40 */ cmplw r3, r0 +/* 800069CC 0000390C 41 80 00 10 */ blt lbl_800069DC +/* 800069D0 00003910 80 1F 03 04 */ lwz r0, 0x304(r31) +/* 800069D4 00003914 7C 03 00 40 */ cmplw r3, r0 +/* 800069D8 00003918 40 81 00 14 */ ble lbl_800069EC +lbl_800069DC: +/* 800069DC 0000391C 7F A3 EB 78 */ mr r3, r29 +/* 800069E0 00003920 7F C4 F3 78 */ mr r4, r30 +/* 800069E4 00003924 4B FF FE F9 */ bl mDoPrintf_vprintf_Interrupt__FPCcP16__va_list_struct +/* 800069E8 00003928 48 00 00 10 */ b lbl_800069F8 +lbl_800069EC: +/* 800069EC 0000392C 7F A3 EB 78 */ mr r3, r29 +/* 800069F0 00003930 7F C4 F3 78 */ mr r4, r30 +/* 800069F4 00003934 4B FF FF 71 */ bl mDoPrintf_vprintf_Thread__FPCcP16__va_list_struct +lbl_800069F8: +/* 800069F8 00003938 39 61 00 20 */ addi r11, r1, 0x20 +/* 800069FC 0000393C 48 35 B8 2D */ bl _restgpr_29 +/* 80006A00 00003940 80 01 00 24 */ lwz r0, 0x24(r1) +/* 80006A04 00003944 7C 08 03 A6 */ mtlr r0 +/* 80006A08 00003948 38 21 00 20 */ addi r1, r1, 0x20 +/* 80006A0C 0000394C 4E 80 00 20 */ blr diff --git a/include/m_Do/m_Do_printf/asm/func_80006A10.s b/include/m_Do/m_Do_printf/asm/func_80006A10.s new file mode 100644 index 00000000000..13d0df7774c --- /dev/null +++ b/include/m_Do/m_Do_printf/asm/func_80006A10.s @@ -0,0 +1,39 @@ +/* 80006A10 00003950 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80006A14 00003954 7C 08 02 A6 */ mflr r0 +/* 80006A18 00003958 90 01 00 14 */ stw r0, 0x14(r1) +/* 80006A1C 0000395C 93 E1 00 0C */ stw r31, 0xc(r1) +/* 80006A20 00003960 93 C1 00 08 */ stw r30, 8(r1) +/* 80006A24 00003964 7C 7E 1B 78 */ mr r30, r3 +/* 80006A28 00003968 7C 9F 23 78 */ mr r31, r4 +/* 80006A2C 0000396C 88 0D 86 34 */ lbz r0, lbl_80450BB4-_SDA_BASE_(r13) +/* 80006A30 00003970 28 00 00 00 */ cmplwi r0, 0 +/* 80006A34 00003974 40 82 00 08 */ bne lbl_80006A3C +/* 80006A38 00003978 4B FF FE 8D */ bl OSReportInit__Fv +lbl_80006A3C: +/* 80006A3C 0000397C 88 0D 86 1C */ lbz r0, lbl_80450B9C-_SDA_BASE_(r13) +/* 80006A40 00003980 28 00 00 00 */ cmplwi r0, 0 +/* 80006A44 00003984 40 82 00 10 */ bne lbl_80006A54 +/* 80006A48 00003988 88 0D 86 18 */ lbz r0, lbl_80450B98-_SDA_BASE_(r13) +/* 80006A4C 0000398C 28 00 00 00 */ cmplwi r0, 0 +/* 80006A50 00003990 40 82 00 34 */ bne lbl_80006A84 +lbl_80006A54: +/* 80006A54 00003994 48 00 E3 11 */ bl mDoExt_GetCurrentRunningThread__Fv +/* 80006A58 00003998 80 0D 86 20 */ lwz r0, lbl_80450BA0-_SDA_BASE_(r13) +/* 80006A5C 0000399C 28 00 00 00 */ cmplwi r0, 0 +/* 80006A60 000039A0 41 82 00 0C */ beq lbl_80006A6C +/* 80006A64 000039A4 7C 00 18 40 */ cmplw r0, r3 +/* 80006A68 000039A8 40 82 00 1C */ bne lbl_80006A84 +lbl_80006A6C: +/* 80006A6C 000039AC 7F C3 F3 78 */ mr r3, r30 +/* 80006A70 000039B0 7F E4 FB 78 */ mr r4, r31 +/* 80006A74 000039B4 4B FF FF 11 */ bl mDoPrintf_vprintf__FPCcP16__va_list_struct +/* 80006A78 000039B8 80 6D 86 24 */ lwz r3, lbl_80450BA4-_SDA_BASE_(r13) +/* 80006A7C 000039BC 38 03 00 01 */ addi r0, r3, 1 +/* 80006A80 000039C0 90 0D 86 24 */ stw r0, lbl_80450BA4-_SDA_BASE_(r13) +lbl_80006A84: +/* 80006A84 000039C4 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 80006A88 000039C8 83 C1 00 08 */ lwz r30, 8(r1) +/* 80006A8C 000039CC 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80006A90 000039D0 7C 08 03 A6 */ mtlr r0 +/* 80006A94 000039D4 38 21 00 10 */ addi r1, r1, 0x10 +/* 80006A98 000039D8 4E 80 00 20 */ blr diff --git a/include/m_Do/m_Do_printf/asm/func_80006A9C.s b/include/m_Do/m_Do_printf/asm/func_80006A9C.s new file mode 100644 index 00000000000..5a98902bf3b --- /dev/null +++ b/include/m_Do/m_Do_printf/asm/func_80006A9C.s @@ -0,0 +1,8 @@ +/* 80006A9C 000039DC 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80006AA0 000039E0 7C 08 02 A6 */ mflr r0 +/* 80006AA4 000039E4 90 01 00 14 */ stw r0, 0x14(r1) +/* 80006AA8 000039E8 4B FF FF 69 */ bl mDoPrintf_VReport +/* 80006AAC 000039EC 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80006AB0 000039F0 7C 08 03 A6 */ mtlr r0 +/* 80006AB4 000039F4 38 21 00 10 */ addi r1, r1, 0x10 +/* 80006AB8 000039F8 4E 80 00 20 */ blr diff --git a/include/m_Do/m_Do_printf/asm/func_80006ABC.s b/include/m_Do/m_Do_printf/asm/func_80006ABC.s new file mode 100644 index 00000000000..db02fab8edc --- /dev/null +++ b/include/m_Do/m_Do_printf/asm/func_80006ABC.s @@ -0,0 +1,33 @@ +/* 80006ABC 000039FC 94 21 FF 80 */ stwu r1, -0x80(r1) +/* 80006AC0 00003A00 7C 08 02 A6 */ mflr r0 +/* 80006AC4 00003A04 90 01 00 84 */ stw r0, 0x84(r1) +/* 80006AC8 00003A08 40 86 00 24 */ bne cr1, lbl_80006AEC +/* 80006ACC 00003A0C D8 21 00 28 */ stfd f1, 0x28(r1) +/* 80006AD0 00003A10 D8 41 00 30 */ stfd f2, 0x30(r1) +/* 80006AD4 00003A14 D8 61 00 38 */ stfd f3, 0x38(r1) +/* 80006AD8 00003A18 D8 81 00 40 */ stfd f4, 0x40(r1) +/* 80006ADC 00003A1C D8 A1 00 48 */ stfd f5, 0x48(r1) +/* 80006AE0 00003A20 D8 C1 00 50 */ stfd f6, 0x50(r1) +/* 80006AE4 00003A24 D8 E1 00 58 */ stfd f7, 0x58(r1) +/* 80006AE8 00003A28 D9 01 00 60 */ stfd f8, 0x60(r1) +lbl_80006AEC: +/* 80006AEC 00003A2C 90 61 00 08 */ stw r3, 8(r1) +/* 80006AF0 00003A30 90 81 00 0C */ stw r4, 0xc(r1) +/* 80006AF4 00003A34 90 A1 00 10 */ stw r5, 0x10(r1) +/* 80006AF8 00003A38 90 C1 00 14 */ stw r6, 0x14(r1) +/* 80006AFC 00003A3C 90 E1 00 18 */ stw r7, 0x18(r1) +/* 80006B00 00003A40 91 01 00 1C */ stw r8, 0x1c(r1) +/* 80006B04 00003A44 91 21 00 20 */ stw r9, 0x20(r1) +/* 80006B08 00003A48 91 41 00 24 */ stw r10, 0x24(r1) +/* 80006B0C 00003A4C 38 81 00 68 */ addi r4, r1, 0x68 +/* 80006B10 00003A50 3C 00 01 00 */ lis r0, 0x100 +/* 80006B14 00003A54 90 01 00 68 */ stw r0, 0x68(r1) +/* 80006B18 00003A58 38 01 00 88 */ addi r0, r1, 0x88 +/* 80006B1C 00003A5C 90 01 00 6C */ stw r0, 0x6c(r1) +/* 80006B20 00003A60 38 01 00 08 */ addi r0, r1, 8 +/* 80006B24 00003A64 90 01 00 70 */ stw r0, 0x70(r1) +/* 80006B28 00003A68 4B FF FF 75 */ bl OSVReport +/* 80006B2C 00003A6C 80 01 00 84 */ lwz r0, 0x84(r1) +/* 80006B30 00003A70 7C 08 03 A6 */ mtlr r0 +/* 80006B34 00003A74 38 21 00 80 */ addi r1, r1, 0x80 +/* 80006B38 00003A78 4E 80 00 20 */ blr diff --git a/include/m_Do/m_Do_printf/asm/func_80006B3C.s b/include/m_Do/m_Do_printf/asm/func_80006B3C.s new file mode 100644 index 00000000000..b28da5a3696 --- /dev/null +++ b/include/m_Do/m_Do_printf/asm/func_80006B3C.s @@ -0,0 +1,53 @@ +/* 80006B3C 00003A7C 94 21 FF 80 */ stwu r1, -0x80(r1) +/* 80006B40 00003A80 7C 08 02 A6 */ mflr r0 +/* 80006B44 00003A84 90 01 00 84 */ stw r0, 0x84(r1) +/* 80006B48 00003A88 93 E1 00 7C */ stw r31, 0x7c(r1) +/* 80006B4C 00003A8C 7C 7F 1B 78 */ mr r31, r3 +/* 80006B50 00003A90 40 86 00 24 */ bne cr1, lbl_80006B74 +/* 80006B54 00003A94 D8 21 00 28 */ stfd f1, 0x28(r1) +/* 80006B58 00003A98 D8 41 00 30 */ stfd f2, 0x30(r1) +/* 80006B5C 00003A9C D8 61 00 38 */ stfd f3, 0x38(r1) +/* 80006B60 00003AA0 D8 81 00 40 */ stfd f4, 0x40(r1) +/* 80006B64 00003AA4 D8 A1 00 48 */ stfd f5, 0x48(r1) +/* 80006B68 00003AA8 D8 C1 00 50 */ stfd f6, 0x50(r1) +/* 80006B6C 00003AAC D8 E1 00 58 */ stfd f7, 0x58(r1) +/* 80006B70 00003AB0 D9 01 00 60 */ stfd f8, 0x60(r1) +lbl_80006B74: +/* 80006B74 00003AB4 90 61 00 08 */ stw r3, 8(r1) +/* 80006B78 00003AB8 90 81 00 0C */ stw r4, 0xc(r1) +/* 80006B7C 00003ABC 90 A1 00 10 */ stw r5, 0x10(r1) +/* 80006B80 00003AC0 90 C1 00 14 */ stw r6, 0x14(r1) +/* 80006B84 00003AC4 90 E1 00 18 */ stw r7, 0x18(r1) +/* 80006B88 00003AC8 91 01 00 1C */ stw r8, 0x1c(r1) +/* 80006B8C 00003ACC 91 21 00 20 */ stw r9, 0x20(r1) +/* 80006B90 00003AD0 91 41 00 24 */ stw r10, 0x24(r1) +/* 80006B94 00003AD4 3C 00 01 00 */ lis r0, 0x100 +/* 80006B98 00003AD8 90 01 00 68 */ stw r0, 0x68(r1) +/* 80006B9C 00003ADC 38 01 00 88 */ addi r0, r1, 0x88 +/* 80006BA0 00003AE0 90 01 00 6C */ stw r0, 0x6c(r1) +/* 80006BA4 00003AE4 38 01 00 08 */ addi r0, r1, 8 +/* 80006BA8 00003AE8 90 01 00 70 */ stw r0, 0x70(r1) +/* 80006BAC 00003AEC 4B FF FD 01 */ bl OSReportForceEnableOn +/* 80006BB0 00003AF0 3C 60 80 37 */ lis r3, lbl_80373CB0@ha +/* 80006BB4 00003AF4 38 63 3C B0 */ addi r3, r3, lbl_80373CB0@l +/* 80006BB8 00003AF8 4B FF FC 11 */ bl my_PutString__FPCc +/* 80006BBC 00003AFC 7F E3 FB 78 */ mr r3, r31 +/* 80006BC0 00003B00 38 81 00 68 */ addi r4, r1, 0x68 +/* 80006BC4 00003B04 4B FF FC 31 */ bl OSVAttention__FPCcP16__va_list_struct +/* 80006BC8 00003B08 3C 60 80 37 */ lis r3, lbl_80373CB0@ha +/* 80006BCC 00003B0C 38 63 3C B0 */ addi r3, r3, lbl_80373CB0@l +/* 80006BD0 00003B10 38 63 00 21 */ addi r3, r3, 0x21 +/* 80006BD4 00003B14 4B FF FB F5 */ bl my_PutString__FPCc +/* 80006BD8 00003B18 4B FF FC E1 */ bl OSReportForceEnableOff +/* 80006BDC 00003B1C 3C 60 80 3D */ lis r3, lbl_803D29B0@ha +/* 80006BE0 00003B20 38 63 29 B0 */ addi r3, r3, lbl_803D29B0@l +/* 80006BE4 00003B24 38 63 00 50 */ addi r3, r3, 0x50 +/* 80006BE8 00003B28 48 35 EC D9 */ bl func_803658C0 +/* 80006BEC 00003B2C 80 6D 86 28 */ lwz r3, lbl_80450BA8-_SDA_BASE_(r13) +/* 80006BF0 00003B30 38 03 00 01 */ addi r0, r3, 1 +/* 80006BF4 00003B34 90 0D 86 28 */ stw r0, lbl_80450BA8-_SDA_BASE_(r13) +/* 80006BF8 00003B38 83 E1 00 7C */ lwz r31, 0x7c(r1) +/* 80006BFC 00003B3C 80 01 00 84 */ lwz r0, 0x84(r1) +/* 80006C00 00003B40 7C 08 03 A6 */ mtlr r0 +/* 80006C04 00003B44 38 21 00 80 */ addi r1, r1, 0x80 +/* 80006C08 00003B48 4E 80 00 20 */ blr diff --git a/include/m_Do/m_Do_printf/asm/func_80006C0C.s b/include/m_Do/m_Do_printf/asm/func_80006C0C.s new file mode 100644 index 00000000000..592a6b3360e --- /dev/null +++ b/include/m_Do/m_Do_printf/asm/func_80006C0C.s @@ -0,0 +1,58 @@ +/* 80006C0C 00003B4C 94 21 FF 80 */ stwu r1, -0x80(r1) +/* 80006C10 00003B50 7C 08 02 A6 */ mflr r0 +/* 80006C14 00003B54 90 01 00 84 */ stw r0, 0x84(r1) +/* 80006C18 00003B58 93 E1 00 7C */ stw r31, 0x7c(r1) +/* 80006C1C 00003B5C 7C 7F 1B 78 */ mr r31, r3 +/* 80006C20 00003B60 40 86 00 24 */ bne cr1, lbl_80006C44 +/* 80006C24 00003B64 D8 21 00 28 */ stfd f1, 0x28(r1) +/* 80006C28 00003B68 D8 41 00 30 */ stfd f2, 0x30(r1) +/* 80006C2C 00003B6C D8 61 00 38 */ stfd f3, 0x38(r1) +/* 80006C30 00003B70 D8 81 00 40 */ stfd f4, 0x40(r1) +/* 80006C34 00003B74 D8 A1 00 48 */ stfd f5, 0x48(r1) +/* 80006C38 00003B78 D8 C1 00 50 */ stfd f6, 0x50(r1) +/* 80006C3C 00003B7C D8 E1 00 58 */ stfd f7, 0x58(r1) +/* 80006C40 00003B80 D9 01 00 60 */ stfd f8, 0x60(r1) +lbl_80006C44: +/* 80006C44 00003B84 90 61 00 08 */ stw r3, 8(r1) +/* 80006C48 00003B88 90 81 00 0C */ stw r4, 0xc(r1) +/* 80006C4C 00003B8C 90 A1 00 10 */ stw r5, 0x10(r1) +/* 80006C50 00003B90 90 C1 00 14 */ stw r6, 0x14(r1) +/* 80006C54 00003B94 90 E1 00 18 */ stw r7, 0x18(r1) +/* 80006C58 00003B98 91 01 00 1C */ stw r8, 0x1c(r1) +/* 80006C5C 00003B9C 91 21 00 20 */ stw r9, 0x20(r1) +/* 80006C60 00003BA0 91 41 00 24 */ stw r10, 0x24(r1) +/* 80006C64 00003BA4 80 6D 86 28 */ lwz r3, lbl_80450BA8-_SDA_BASE_(r13) +/* 80006C68 00003BA8 38 03 00 01 */ addi r0, r3, 1 +/* 80006C6C 00003BAC 90 0D 86 28 */ stw r0, lbl_80450BA8-_SDA_BASE_(r13) +/* 80006C70 00003BB0 88 0D 86 19 */ lbz r0, lbl_80450B99-_SDA_BASE_(r13) +/* 80006C74 00003BB4 28 00 00 00 */ cmplwi r0, 0 +/* 80006C78 00003BB8 40 82 00 60 */ bne lbl_80006CD8 +/* 80006C7C 00003BBC 3C 00 01 00 */ lis r0, 0x100 +/* 80006C80 00003BC0 90 01 00 68 */ stw r0, 0x68(r1) +/* 80006C84 00003BC4 38 01 00 88 */ addi r0, r1, 0x88 +/* 80006C88 00003BC8 90 01 00 6C */ stw r0, 0x6c(r1) +/* 80006C8C 00003BCC 38 01 00 08 */ addi r0, r1, 8 +/* 80006C90 00003BD0 90 01 00 70 */ stw r0, 0x70(r1) +/* 80006C94 00003BD4 4B FF FC 19 */ bl OSReportForceEnableOn +/* 80006C98 00003BD8 3C 60 80 37 */ lis r3, lbl_80373CB0@ha +/* 80006C9C 00003BDC 38 63 3C B0 */ addi r3, r3, lbl_80373CB0@l +/* 80006CA0 00003BE0 38 63 00 3D */ addi r3, r3, 0x3d +/* 80006CA4 00003BE4 4B FF FB 25 */ bl my_PutString__FPCc +/* 80006CA8 00003BE8 7F E3 FB 78 */ mr r3, r31 +/* 80006CAC 00003BEC 38 81 00 68 */ addi r4, r1, 0x68 +/* 80006CB0 00003BF0 4B FF FD ED */ bl OSVReport +/* 80006CB4 00003BF4 3C 60 80 37 */ lis r3, lbl_80373CB0@ha +/* 80006CB8 00003BF8 38 63 3C B0 */ addi r3, r3, lbl_80373CB0@l +/* 80006CBC 00003BFC 38 63 00 4D */ addi r3, r3, 0x4d +/* 80006CC0 00003C00 4B FF FB 09 */ bl my_PutString__FPCc +/* 80006CC4 00003C04 4B FF FB F5 */ bl OSReportForceEnableOff +/* 80006CC8 00003C08 3C 60 80 3D */ lis r3, lbl_803D29B0@ha +/* 80006CCC 00003C0C 38 63 29 B0 */ addi r3, r3, lbl_803D29B0@l +/* 80006CD0 00003C10 38 63 00 50 */ addi r3, r3, 0x50 +/* 80006CD4 00003C14 48 35 EB ED */ bl func_803658C0 +lbl_80006CD8: +/* 80006CD8 00003C18 83 E1 00 7C */ lwz r31, 0x7c(r1) +/* 80006CDC 00003C1C 80 01 00 84 */ lwz r0, 0x84(r1) +/* 80006CE0 00003C20 7C 08 03 A6 */ mtlr r0 +/* 80006CE4 00003C24 38 21 00 80 */ addi r1, r1, 0x80 +/* 80006CE8 00003C28 4E 80 00 20 */ blr diff --git a/include/m_Do/m_Do_printf/asm/func_80006CEC.s b/include/m_Do/m_Do_printf/asm/func_80006CEC.s new file mode 100644 index 00000000000..ae82c848201 --- /dev/null +++ b/include/m_Do/m_Do_printf/asm/func_80006CEC.s @@ -0,0 +1,58 @@ +/* 80006CEC 00003C2C 94 21 FF 80 */ stwu r1, -0x80(r1) +/* 80006CF0 00003C30 7C 08 02 A6 */ mflr r0 +/* 80006CF4 00003C34 90 01 00 84 */ stw r0, 0x84(r1) +/* 80006CF8 00003C38 93 E1 00 7C */ stw r31, 0x7c(r1) +/* 80006CFC 00003C3C 7C 7F 1B 78 */ mr r31, r3 +/* 80006D00 00003C40 40 86 00 24 */ bne cr1, lbl_80006D24 +/* 80006D04 00003C44 D8 21 00 28 */ stfd f1, 0x28(r1) +/* 80006D08 00003C48 D8 41 00 30 */ stfd f2, 0x30(r1) +/* 80006D0C 00003C4C D8 61 00 38 */ stfd f3, 0x38(r1) +/* 80006D10 00003C50 D8 81 00 40 */ stfd f4, 0x40(r1) +/* 80006D14 00003C54 D8 A1 00 48 */ stfd f5, 0x48(r1) +/* 80006D18 00003C58 D8 C1 00 50 */ stfd f6, 0x50(r1) +/* 80006D1C 00003C5C D8 E1 00 58 */ stfd f7, 0x58(r1) +/* 80006D20 00003C60 D9 01 00 60 */ stfd f8, 0x60(r1) +lbl_80006D24: +/* 80006D24 00003C64 90 61 00 08 */ stw r3, 8(r1) +/* 80006D28 00003C68 90 81 00 0C */ stw r4, 0xc(r1) +/* 80006D2C 00003C6C 90 A1 00 10 */ stw r5, 0x10(r1) +/* 80006D30 00003C70 90 C1 00 14 */ stw r6, 0x14(r1) +/* 80006D34 00003C74 90 E1 00 18 */ stw r7, 0x18(r1) +/* 80006D38 00003C78 91 01 00 1C */ stw r8, 0x1c(r1) +/* 80006D3C 00003C7C 91 21 00 20 */ stw r9, 0x20(r1) +/* 80006D40 00003C80 91 41 00 24 */ stw r10, 0x24(r1) +/* 80006D44 00003C84 80 6D 86 2C */ lwz r3, lbl_80450BAC-_SDA_BASE_(r13) +/* 80006D48 00003C88 38 03 00 01 */ addi r0, r3, 1 +/* 80006D4C 00003C8C 90 0D 86 2C */ stw r0, lbl_80450BAC-_SDA_BASE_(r13) +/* 80006D50 00003C90 88 0D 86 1A */ lbz r0, lbl_80450B9A-_SDA_BASE_(r13) +/* 80006D54 00003C94 28 00 00 00 */ cmplwi r0, 0 +/* 80006D58 00003C98 40 82 00 60 */ bne lbl_80006DB8 +/* 80006D5C 00003C9C 3C 00 01 00 */ lis r0, 0x100 +/* 80006D60 00003CA0 90 01 00 68 */ stw r0, 0x68(r1) +/* 80006D64 00003CA4 38 01 00 88 */ addi r0, r1, 0x88 +/* 80006D68 00003CA8 90 01 00 6C */ stw r0, 0x6c(r1) +/* 80006D6C 00003CAC 38 01 00 08 */ addi r0, r1, 8 +/* 80006D70 00003CB0 90 01 00 70 */ stw r0, 0x70(r1) +/* 80006D74 00003CB4 4B FF FB 39 */ bl OSReportForceEnableOn +/* 80006D78 00003CB8 3C 60 80 37 */ lis r3, lbl_80373CB0@ha +/* 80006D7C 00003CBC 38 63 3C B0 */ addi r3, r3, lbl_80373CB0@l +/* 80006D80 00003CC0 38 63 00 51 */ addi r3, r3, 0x51 +/* 80006D84 00003CC4 4B FF FA 45 */ bl my_PutString__FPCc +/* 80006D88 00003CC8 7F E3 FB 78 */ mr r3, r31 +/* 80006D8C 00003CCC 38 81 00 68 */ addi r4, r1, 0x68 +/* 80006D90 00003CD0 4B FF FA 65 */ bl OSVAttention__FPCcP16__va_list_struct +/* 80006D94 00003CD4 3C 60 80 37 */ lis r3, lbl_80373CB0@ha +/* 80006D98 00003CD8 38 63 3C B0 */ addi r3, r3, lbl_80373CB0@l +/* 80006D9C 00003CDC 38 63 00 4D */ addi r3, r3, 0x4d +/* 80006DA0 00003CE0 4B FF FA 29 */ bl my_PutString__FPCc +/* 80006DA4 00003CE4 4B FF FB 15 */ bl OSReportForceEnableOff +/* 80006DA8 00003CE8 3C 60 80 3D */ lis r3, lbl_803D29B0@ha +/* 80006DAC 00003CEC 38 63 29 B0 */ addi r3, r3, lbl_803D29B0@l +/* 80006DB0 00003CF0 38 63 00 50 */ addi r3, r3, 0x50 +/* 80006DB4 00003CF4 48 35 EB 0D */ bl func_803658C0 +lbl_80006DB8: +/* 80006DB8 00003CF8 83 E1 00 7C */ lwz r31, 0x7c(r1) +/* 80006DBC 00003CFC 80 01 00 84 */ lwz r0, 0x84(r1) +/* 80006DC0 00003D00 7C 08 03 A6 */ mtlr r0 +/* 80006DC4 00003D04 38 21 00 80 */ addi r1, r1, 0x80 +/* 80006DC8 00003D08 4E 80 00 20 */ blr diff --git a/include/m_Do/m_Do_printf/asm/func_80006DCC.s b/include/m_Do/m_Do_printf/asm/func_80006DCC.s new file mode 100644 index 00000000000..a83f76c0ff7 --- /dev/null +++ b/include/m_Do/m_Do_printf/asm/func_80006DCC.s @@ -0,0 +1,46 @@ +/* 80006DCC 00003D0C 94 21 FF 80 */ stwu r1, -0x80(r1) +/* 80006DD0 00003D10 7C 08 02 A6 */ mflr r0 +/* 80006DD4 00003D14 90 01 00 84 */ stw r0, 0x84(r1) +/* 80006DD8 00003D18 93 E1 00 7C */ stw r31, 0x7c(r1) +/* 80006DDC 00003D1C 7C 7F 1B 78 */ mr r31, r3 +/* 80006DE0 00003D20 40 86 00 24 */ bne cr1, lbl_80006E04 +/* 80006DE4 00003D24 D8 21 00 28 */ stfd f1, 0x28(r1) +/* 80006DE8 00003D28 D8 41 00 30 */ stfd f2, 0x30(r1) +/* 80006DEC 00003D2C D8 61 00 38 */ stfd f3, 0x38(r1) +/* 80006DF0 00003D30 D8 81 00 40 */ stfd f4, 0x40(r1) +/* 80006DF4 00003D34 D8 A1 00 48 */ stfd f5, 0x48(r1) +/* 80006DF8 00003D38 D8 C1 00 50 */ stfd f6, 0x50(r1) +/* 80006DFC 00003D3C D8 E1 00 58 */ stfd f7, 0x58(r1) +/* 80006E00 00003D40 D9 01 00 60 */ stfd f8, 0x60(r1) +lbl_80006E04: +/* 80006E04 00003D44 90 61 00 08 */ stw r3, 8(r1) +/* 80006E08 00003D48 90 81 00 0C */ stw r4, 0xc(r1) +/* 80006E0C 00003D4C 90 A1 00 10 */ stw r5, 0x10(r1) +/* 80006E10 00003D50 90 C1 00 14 */ stw r6, 0x14(r1) +/* 80006E14 00003D54 90 E1 00 18 */ stw r7, 0x18(r1) +/* 80006E18 00003D58 91 01 00 1C */ stw r8, 0x1c(r1) +/* 80006E1C 00003D5C 91 21 00 20 */ stw r9, 0x20(r1) +/* 80006E20 00003D60 91 41 00 24 */ stw r10, 0x24(r1) +/* 80006E24 00003D64 80 6D 86 30 */ lwz r3, lbl_80450BB0-_SDA_BASE_(r13) +/* 80006E28 00003D68 38 03 00 01 */ addi r0, r3, 1 +/* 80006E2C 00003D6C 90 0D 86 30 */ stw r0, lbl_80450BB0-_SDA_BASE_(r13) +/* 80006E30 00003D70 88 0D 86 1B */ lbz r0, lbl_80450B9B-_SDA_BASE_(r13) +/* 80006E34 00003D74 28 00 00 00 */ cmplwi r0, 0 +/* 80006E38 00003D78 40 82 00 30 */ bne lbl_80006E68 +/* 80006E3C 00003D7C 3C 00 01 00 */ lis r0, 0x100 +/* 80006E40 00003D80 90 01 00 68 */ stw r0, 0x68(r1) +/* 80006E44 00003D84 38 01 00 88 */ addi r0, r1, 0x88 +/* 80006E48 00003D88 90 01 00 6C */ stw r0, 0x6c(r1) +/* 80006E4C 00003D8C 38 01 00 08 */ addi r0, r1, 8 +/* 80006E50 00003D90 90 01 00 70 */ stw r0, 0x70(r1) +/* 80006E54 00003D94 4B FF FA 59 */ bl OSReportForceEnableOn +/* 80006E58 00003D98 7F E3 FB 78 */ mr r3, r31 +/* 80006E5C 00003D9C 38 81 00 68 */ addi r4, r1, 0x68 +/* 80006E60 00003DA0 4B FF F9 95 */ bl OSVAttention__FPCcP16__va_list_struct +/* 80006E64 00003DA4 4B FF FA 55 */ bl OSReportForceEnableOff +lbl_80006E68: +/* 80006E68 00003DA8 83 E1 00 7C */ lwz r31, 0x7c(r1) +/* 80006E6C 00003DAC 80 01 00 84 */ lwz r0, 0x84(r1) +/* 80006E70 00003DB0 7C 08 03 A6 */ mtlr r0 +/* 80006E74 00003DB4 38 21 00 80 */ addi r1, r1, 0x80 +/* 80006E78 00003DB8 4E 80 00 20 */ blr diff --git a/include/m_Do/m_Do_printf/asm/func_80006E7C.s b/include/m_Do/m_Do_printf/asm/func_80006E7C.s new file mode 100644 index 00000000000..5036d962a5b --- /dev/null +++ b/include/m_Do/m_Do_printf/asm/func_80006E7C.s @@ -0,0 +1,82 @@ +/* 80006E7C 00003DBC 94 21 FF 70 */ stwu r1, -0x90(r1) +/* 80006E80 00003DC0 7C 08 02 A6 */ mflr r0 +/* 80006E84 00003DC4 90 01 00 94 */ stw r0, 0x94(r1) +/* 80006E88 00003DC8 39 61 00 90 */ addi r11, r1, 0x90 +/* 80006E8C 00003DCC 48 35 B3 51 */ bl _savegpr_29 +/* 80006E90 00003DD0 7C 7F 1B 78 */ mr r31, r3 +/* 80006E94 00003DD4 7C 9E 23 78 */ mr r30, r4 +/* 80006E98 00003DD8 7C BD 2B 78 */ mr r29, r5 +/* 80006E9C 00003DDC 40 86 00 24 */ bne cr1, lbl_80006EC0 +/* 80006EA0 00003DE0 D8 21 00 28 */ stfd f1, 0x28(r1) +/* 80006EA4 00003DE4 D8 41 00 30 */ stfd f2, 0x30(r1) +/* 80006EA8 00003DE8 D8 61 00 38 */ stfd f3, 0x38(r1) +/* 80006EAC 00003DEC D8 81 00 40 */ stfd f4, 0x40(r1) +/* 80006EB0 00003DF0 D8 A1 00 48 */ stfd f5, 0x48(r1) +/* 80006EB4 00003DF4 D8 C1 00 50 */ stfd f6, 0x50(r1) +/* 80006EB8 00003DF8 D8 E1 00 58 */ stfd f7, 0x58(r1) +/* 80006EBC 00003DFC D9 01 00 60 */ stfd f8, 0x60(r1) +lbl_80006EC0: +/* 80006EC0 00003E00 90 61 00 08 */ stw r3, 8(r1) +/* 80006EC4 00003E04 90 81 00 0C */ stw r4, 0xc(r1) +/* 80006EC8 00003E08 90 A1 00 10 */ stw r5, 0x10(r1) +/* 80006ECC 00003E0C 90 C1 00 14 */ stw r6, 0x14(r1) +/* 80006ED0 00003E10 90 E1 00 18 */ stw r7, 0x18(r1) +/* 80006ED4 00003E14 91 01 00 1C */ stw r8, 0x1c(r1) +/* 80006ED8 00003E18 91 21 00 20 */ stw r9, 0x20(r1) +/* 80006EDC 00003E1C 91 41 00 24 */ stw r10, 0x24(r1) +/* 80006EE0 00003E20 48 33 68 15 */ bl __RAS_OSDisableInterrupts_begin +/* 80006EE4 00003E24 38 81 00 68 */ addi r4, r1, 0x68 +/* 80006EE8 00003E28 3C 00 03 00 */ lis r0, 0x300 +/* 80006EEC 00003E2C 90 01 00 68 */ stw r0, 0x68(r1) +/* 80006EF0 00003E30 38 01 00 98 */ addi r0, r1, 0x98 +/* 80006EF4 00003E34 90 01 00 6C */ stw r0, 0x6c(r1) +/* 80006EF8 00003E38 38 01 00 08 */ addi r0, r1, 8 +/* 80006EFC 00003E3C 90 01 00 70 */ stw r0, 0x70(r1) +/* 80006F00 00003E40 7F A3 EB 78 */ mr r3, r29 +/* 80006F04 00003E44 4B FF FA 81 */ bl mDoPrintf_vprintf__FPCcP16__va_list_struct +/* 80006F08 00003E48 3C 60 80 37 */ lis r3, lbl_80373CB0@ha +/* 80006F0C 00003E4C 38 63 3C B0 */ addi r3, r3, lbl_80373CB0@l +/* 80006F10 00003E50 38 63 00 60 */ addi r3, r3, 0x60 +/* 80006F14 00003E54 7F E4 FB 78 */ mr r4, r31 +/* 80006F18 00003E58 7F C5 F3 78 */ mr r5, r30 +/* 80006F1C 00003E5C 4C C6 31 82 */ crclr 6 +/* 80006F20 00003E60 4B FF F8 F5 */ bl OSAttention +/* 80006F24 00003E64 3C 60 80 37 */ lis r3, lbl_80373CB0@ha +/* 80006F28 00003E68 38 63 3C B0 */ addi r3, r3, lbl_80373CB0@l +/* 80006F2C 00003E6C 38 63 00 76 */ addi r3, r3, 0x76 +/* 80006F30 00003E70 4C C6 31 82 */ crclr 6 +/* 80006F34 00003E74 4B FF F8 E1 */ bl OSAttention +/* 80006F38 00003E78 3B C0 00 00 */ li r30, 0 +/* 80006F3C 00003E7C 48 33 50 BD */ bl OSGetStackPointer +/* 80006F40 00003E80 7C 7D 1B 78 */ mr r29, r3 +/* 80006F44 00003E84 3C 60 80 37 */ lis r3, lbl_80373CB0@ha +/* 80006F48 00003E88 3B E3 3C B0 */ addi r31, r3, lbl_80373CB0@l +/* 80006F4C 00003E8C 48 00 00 20 */ b lbl_80006F6C +lbl_80006F50: +/* 80006F50 00003E90 38 7F 00 9C */ addi r3, r31, 0x9c +/* 80006F54 00003E94 7F A4 EB 78 */ mr r4, r29 +/* 80006F58 00003E98 80 BD 00 00 */ lwz r5, 0(r29) +/* 80006F5C 00003E9C 80 DD 00 04 */ lwz r6, 4(r29) +/* 80006F60 00003EA0 4C C6 31 82 */ crclr 6 +/* 80006F64 00003EA4 4B FF F8 B1 */ bl OSAttention +/* 80006F68 00003EA8 83 BD 00 00 */ lwz r29, 0(r29) +lbl_80006F6C: +/* 80006F6C 00003EAC 28 1D 00 00 */ cmplwi r29, 0 +/* 80006F70 00003EB0 41 82 00 1C */ beq lbl_80006F8C +/* 80006F74 00003EB4 3C 1D 00 01 */ addis r0, r29, 1 +/* 80006F78 00003EB8 28 00 FF FF */ cmplwi r0, 0xffff +/* 80006F7C 00003EBC 41 82 00 10 */ beq lbl_80006F8C +/* 80006F80 00003EC0 28 1E 00 10 */ cmplwi r30, 0x10 +/* 80006F84 00003EC4 3B DE 00 01 */ addi r30, r30, 1 +/* 80006F88 00003EC8 41 80 FF C8 */ blt lbl_80006F50 +lbl_80006F8C: +/* 80006F8C 00003ECC 3C 60 01 23 */ lis r3, 0x01234567@ha +/* 80006F90 00003ED0 38 03 45 67 */ addi r0, r3, 0x01234567@l +/* 80006F94 00003ED4 90 03 45 67 */ stw r0, 0x4567(r3) +/* 80006F98 00003ED8 48 33 2D 69 */ bl PPCHalt +/* 80006F9C 00003EDC 39 61 00 90 */ addi r11, r1, 0x90 +/* 80006FA0 00003EE0 48 35 B2 89 */ bl _restgpr_29 +/* 80006FA4 00003EE4 80 01 00 94 */ lwz r0, 0x94(r1) +/* 80006FA8 00003EE8 7C 08 03 A6 */ mtlr r0 +/* 80006FAC 00003EEC 38 21 00 90 */ addi r1, r1, 0x90 +/* 80006FB0 00003EF0 4E 80 00 20 */ blr diff --git a/include/m_Do/m_Do_printf/m_Do_printf.h b/include/m_Do/m_Do_printf/m_Do_printf.h new file mode 100644 index 00000000000..b5832b9d975 --- /dev/null +++ b/include/m_Do/m_Do_printf/m_Do_printf.h @@ -0,0 +1,83 @@ +#ifndef M_DO_PRINTF_H_ +#define M_DO_PRINTF_H_ + +#include "global.h" +#include "os/OS.h" + +void my_PutString(const char* message); +void mDoPrintf_vprintf_Interrupt(const char* format, __va_list_struct* list); +void mDoPrintf_vprintf_Thread(const char* format, __va_list_struct* list); +void mDoPrintf_vprintf(const char* format, __va_list_struct* list); + +struct FILE { + u32 handle; + u32 file_mode; + u32 file_state; + u8 flag; + char char_buffer; + char char_buffer_2; + char ungetc_buffer[2]; + u16 ungetc_wide_buffer[2]; + u32 position; + u8* buffer; + u32 buffer_size; + u8* buffer_ptr; + u32 buffer_length; + u32 buffer_alignment; + u32 buffer_length2; + u32 buffer_position; + void* position_fn; + void* read_fn; + void* write_fn; + void* close_fn; + void* unknown; + struct FILE* next_file; +}; + +struct __files { + u8 padding[0x50]; + FILE stdout; +}; + +extern u8 lbl_80373CB0; +extern __files lbl_803D29B0; +extern bool lbl_80450B98; +extern u8 lbl_80450B99; +extern u8 lbl_80450B9A; +extern u8 lbl_80450B9B; +extern bool lbl_80450B9C; +extern OSThread* lbl_80450BA0; +extern u32 lbl_80450BA4; +extern u8 lbl_80450BA8; +extern u8 lbl_80450BAC; +extern u8 lbl_80450BB0; +extern bool lbl_80450BB4; +extern bool lbl_80450BB5; + +struct mDoPrintf_FiberStack { + u8 stack[0x800]; +}; +extern mDoPrintf_FiberStack lbl_803DB740; + +extern "C" { +void OSVAttention__FPCcP16__va_list_struct(void); +void PPCHalt(void); +void __RAS_OSDisableInterrupts_begin(void); +void _restgpr_29(void); +void _savegpr_29(void); +void cr1(void); +void fputs(const char*, FILE*); +void func_803658C0(void); +void vprintf(const char* fmt, __va_list_struct* list); +void mDoPrintf_VReport(const char* format, __va_list_struct* list); +void mDoPrintf_vprintf_Interrupt__FPCcP16__va_list_struct(void); +void mDoPrintf_vprintf_Thread__FPCcP16__va_list_struct(void); +void mDoPrintf_vprintf__FPCcP16__va_list_struct(void); +void my_PutString(void); +void OSSwitchFiberEx__FUlUlUlUlUlUl(void); +void my_PutString__FPCc(void); +void OSReportInit__Fv(void); +void mDoExt_GetCurrentRunningThread__Fv(void); +} + +#endif \ No newline at end of file diff --git a/include/os/OS.h b/include/os/OS.h index 959dc550b0f..f0b77bfc16e 100644 --- a/include/os/OS.h +++ b/include/os/OS.h @@ -122,6 +122,8 @@ struct OSThread { void* data[2]; }; +struct __va_list_struct {}; + extern "C" { s32 OSEnableScheduler(void); s32 OSDisableScheduler(void); @@ -152,7 +154,6 @@ s32 OSGetResetCode(void); u32 OSGetSoundMode(void); void OSSetSoundMode(OSSoundMode mode); -void OSReportInit(void); void OSAttention(char* msg, ...); void OSPanic(char* file, s32 line, char* fmt, ...); void OSReport(char* fmt, ...); @@ -164,9 +165,7 @@ void OSReportDisable(void); void OSReportEnable(void); void OSReportForceEnableOff(void); void OSReportForceEnableOn(void); -void OSReportInit(void); -void OSSwitchFiberEx(u32, u32, u32, u32, u32, u32); -void OSVAttention(char*, /*__gnuc_va_list*/ void*); +void OSVReport(const char* format, __va_list_struct* list); void OSTicksToCalendarTime(OSTime ticks, OSCalendarTime* out_time); OSTime OSGetTime(void); @@ -195,7 +194,17 @@ void OSResetSystem(s32 param_1, u32 param_2, s32 param_3); void OSSetSaveRegion(void* start, void* end); void LCDisable(void); -}; + +void OSReportInit__Fv(void); // needed for inline asm + +u8* OSGetStackPointer(void); +}; // extern "C" + +void OSSwitchFiberEx(u32, u32, u32, u32, u32, u32); + +void OSVAttention(const char* fmt, __va_list_struct* va_list); + +void OSReportInit(void); #include "dvd/dvd.h" diff --git a/include/variables.h b/include/variables.h index 5010961585c..7de1c1b115a 100644 --- a/include/variables.h +++ b/include/variables.h @@ -716,7 +716,6 @@ extern u8 lbl_80450FCC; extern u8 lbl_80452DC8; extern u8 lbl_80452EA0; extern u8 lbl_80453388; -extern u8 lbl_8042CA54; extern u8 lbl_80452D28; extern u8 lbl_80452FA4; extern u8 lbl_803F1D80; @@ -1551,7 +1550,6 @@ extern u8 lbl_80424944; extern u8 lbl_80452160; extern u8 lbl_804521A0; extern u8 lbl_80452100; -extern u8 lbl_8042DD70; extern u8 lbl_804521A4; extern u8 lbl_80452134; extern u8 lbl_8045210C; @@ -2208,7 +2206,6 @@ extern u8 lbl_804537C4; extern u8 lbl_80453914; extern u8 lbl_803AB6B8; extern u8 lbl_80451038; -extern u8 lbl_803A2FD8; extern u8 lbl_8045385C; extern u8 lbl_804537B4; extern u8 lbl_804536A8; @@ -2310,7 +2307,6 @@ extern u8 lbl_804538B4; extern u8 lbl_804536BC; extern u8 lbl_80453708; extern u8 lbl_804537E0; -extern u8 lbl_80450BE4; extern u8 lbl_8045373C; extern u8 lbl_804537FC; extern u8 lbl_8045371C; @@ -2503,7 +2499,6 @@ extern u8 lbl_803C9D70; // additional symbols needed for Z2AudioMgr.cpp // autogenerated by split.py v0.3 at 2021-01-04 23:11:48.308778 extern u8 lbl_803C9CD0; -extern u8 lbl_803D29B0; extern u8 lbl_80455F60; extern u8 lbl_803C9A78; extern u8 lbl_80450B50; @@ -2832,4 +2827,4 @@ extern u8 lbl_80451D08; extern u8 lbl_80451D10; extern u8 lbl_80451D18; extern u8 lbl_80451D1C; -extern u8 lbl_80451D20; +extern u8 lbl_80451D20; \ No newline at end of file diff --git a/ldscript.lcf b/ldscript.lcf index 65d2511368c..c38082a7ef7 100644 --- a/ldscript.lcf +++ b/ldscript.lcf @@ -3176,8 +3176,27 @@ add__7J2DPaneFff move__7J2DPaneFff __ct__14JAISoundHandleFv dispose__14Z2SoundObjBaseFv +dKyeff_Draw__FP8dKyeff_c +dKyeff_Execute__FP8dKyeff_c +dKyeff_IsDelete__FP8dKyeff_c +dKyeff_Delete__FP8dKyeff_c +dKyeff_Create__FP12kankyo_class __dt__16cBgS_PolyPassChkFv ClrIronBall__16dBgS_PolyPassChkFv +dKyeff2_Draw__FP9dKyeff2_c +dKyeff2_Execute__FP9dKyeff2_c +dKyeff2_IsDelete__FP9dKyeff2_c +dKyeff2_Delete__FP9dKyeff2_c +dKyeff2_Create__FP12kankyo_class +getAtnActorID__9daPy_py_cCFv +__sinit_m_Do_graphic_cpp +__dt__13J2DOrthoGraphFv +mDoGph_Painter__Fv +mDoGph_AfterOfDraw__Fv +mDoGph_BeforeOfDraw__Fv +mDoGph_BlankingOFF__Fv +mDoGph_BlankingON__Fv +fadeOut_f__13mDoGph_gInf_cFfR8_GXColor func_800150AC func_80015084 func_8001505C diff --git a/libs/Z2AudioLib/Z2AudioMgr.cpp b/libs/Z2AudioLib/Z2AudioMgr.cpp index f9d5f625623..fcf63180790 100644 --- a/libs/Z2AudioLib/Z2AudioMgr.cpp +++ b/libs/Z2AudioLib/Z2AudioMgr.cpp @@ -29,6 +29,7 @@ #include "Z2AudioLib/Z2SpeechMgr2/Z2SpeechMgr2.h" #include "Z2AudioLib/Z2StatusMgr/Z2StatusMgr.h" #include "m_Do/m_Do_audio/m_Do_audio.h" +#include "m_Do/m_Do_printf/m_Do_printf.h" extern "C" { void __dl__FPv(void); diff --git a/libs/Z2AudioLib/Z2EnvSeMgr.cpp b/libs/Z2AudioLib/Z2EnvSeMgr.cpp index 0c5f7389cb8..cb6eb72ec3c 100644 --- a/libs/Z2AudioLib/Z2EnvSeMgr.cpp +++ b/libs/Z2AudioLib/Z2EnvSeMgr.cpp @@ -120,28 +120,26 @@ asm void Z2EnvSeAutoPan_NS_startEnvSeAutoPanLevel(void) { nofralloc #include "Z2AudioLib/Z2EnvSeMgr/asm/func_802C60E0.s" } - // __ct__10Z2EnvSeMgrFv // Z2EnvSeMgr::Z2EnvSeMgr(void) -asm void Z2EnvSeMgr(void) { +asm void __ct__10Z2EnvSeMgrFv(void) { nofralloc #include "Z2AudioLib/Z2EnvSeMgr/asm/func_802C611C.s" } - // __dt__10Z2EnvSeMgrFv // Z2EnvSeMgr::~Z2EnvSeMgr(void) asm void Z2EnvSeMgr_NS_dtor(void) { nofralloc #include "Z2AudioLib/Z2EnvSeMgr/asm/func_802C6540.s" } - +}; // framework__10Z2EnvSeMgrFv // Z2EnvSeMgr::framework(void) -asm void Z2EnvSeMgr_NS_framework(void) { +asm void Z2EnvSeMgr::framework(void) { nofralloc #include "Z2AudioLib/Z2EnvSeMgr/asm/func_802C66B0.s" } - +extern "C" { // resetScene__10Z2EnvSeMgrFv // Z2EnvSeMgr::resetScene(void) asm void Z2EnvSeMgr_NS_resetScene(void) { diff --git a/obj_files.mk b/obj_files.mk index 1f981843f22..f7cda4ac277 100644 --- a/obj_files.mk +++ b/obj_files.mk @@ -13,15 +13,14 @@ TEXT_O_FILES := \ $(BUILD_DIR)/asm/sdata2/m_Do_main.o \ $(BUILD_DIR)/src/m_Do/m_Do_main.o \ $(BUILD_DIR)/asm/rodata/rodata_m_Do_printf.o \ - $(BUILD_DIR)/src/m_Do/m_Do_printf.o \ - $(BUILD_DIR)/asm/m/Do/m_Do_printf.o \ + $(BUILD_DIR)/src/m_Do/m_Do_printf.o \ $(BUILD_DIR)/asm/rodata/rodata_m_Do_audio.o \ $(BUILD_DIR)/src/m_Do/m_Do_audio.o \ $(BUILD_DIR)/asm/sdata2/m_Do_controller_pad.o \ $(BUILD_DIR)/src/m_Do/m_Do_controller_pad.o \ $(BUILD_DIR)/asm/rodata/rodata_m_Do_graphic.o \ $(BUILD_DIR)/asm/sdata2/m_Do_graphic.o \ - $(BUILD_DIR)/asm/m/Do/m_Do_graphic.o \ + $(BUILD_DIR)/src/m_Do/m_Do_graphic.o \ $(BUILD_DIR)/asm/rodata/rodata_m_Do_machine.o \ $(BUILD_DIR)/asm/sdata2/m_Do_machine.o \ $(BUILD_DIR)/src/m_Do/m_Do_machine.o \ @@ -309,8 +308,8 @@ TEXT_O_FILES := \ $(BUILD_DIR)/src/d/d_kankyo.o \ $(BUILD_DIR)/asm/rodata/rodata_d_kyeff.o \ $(BUILD_DIR)/asm/sdata2/d_kyeff.o \ - $(BUILD_DIR)/asm/d/d_kyeff.o \ - $(BUILD_DIR)/asm/d/d_kyeff2.o \ + $(BUILD_DIR)/src/d/d_ky/d_kyeff.o \ + $(BUILD_DIR)/src/d/d_ky/d_kyeff2.o \ $(BUILD_DIR)/asm/rodata/rodata_d_ky_thunder.o \ $(BUILD_DIR)/asm/sdata2/d_ky_thunder.o \ $(BUILD_DIR)/asm/d/ky/d_ky_thunder.o \ diff --git a/src/d/d_a/d_a_alink.cpp b/src/d/d_a/d_a_alink.cpp index f184ba22b7f..a4ec12de7cf 100644 --- a/src/d/d_a/d_a_alink.cpp +++ b/src/d/d_a/d_a_alink.cpp @@ -1,5 +1,6 @@ #include "d/d_a/d_a_alink/d_a_alink.h" #include "SComponent/c_bg_w.h" +#include "SComponent/c_lib.h" #include "SComponent/c_phase.h" #include "Z2AudioLib/Z2Creature/Z2Creature.h" #include "Z2AudioLib/Z2LinkMgr/Z2LinkMgr.h" @@ -7,6 +8,7 @@ #include "Z2AudioLib/Z2SeqMgr/Z2SeqMgr.h" #include "Z2AudioLib/Z2SoundObject/Z2SoundObject.h" #include "d/d_bg/d_bg_s/d_bg_s_poly_pass_chk.h" +#include "d/d_kankyo/d_kankyo.h" #include "f/f_pc/f_pc_manager.h" #include "f/f_pc/f_pc_searcher.h" #include "m_Do/m_Do_audio/m_Do_audio.h" diff --git a/src/d/d_camera.cpp b/src/d/d_camera.cpp index 4ee9537e5e5..b330e15a0ff 100644 --- a/src/d/d_camera.cpp +++ b/src/d/d_camera.cpp @@ -12,6 +12,7 @@ #include "f/f_pc/f_pc_searcher.h" #include "m_Do/m_Do_audio/m_Do_audio.h" #include "m_Do/m_Do_controller_pad/m_Do_controller_pad.h" +#include "m_Do/m_Do_graphic/m_Do_graphic.h" extern "C" { void __dt__8cM3dGLinFv(void); diff --git a/src/d/d_com/d_com_inf_game.cpp b/src/d/d_com/d_com_inf_game.cpp index 6ea0f4d3684..aef47499e3c 100644 --- a/src/d/d_com/d_com_inf_game.cpp +++ b/src/d/d_com/d_com_inf_game.cpp @@ -3,6 +3,7 @@ #include "Z2AudioLib/Z2SeqMgr/Z2SeqMgr.h" #include "d/d_bg/d_bg_s/d_bg_s.h" #include "d/d_item/d_item/d_item.h" +#include "d/d_kankyo/d_kankyo.h" #include "global.h" #include "m_Do/m_Do_Reset/m_Do_Reset.h" #include "m_Do/m_Do_audio/m_Do_audio.h" diff --git a/src/d/d_kankyo.cpp b/src/d/d_kankyo.cpp index 31ffd0e876e..9d3ab4724af 100644 --- a/src/d/d_kankyo.cpp +++ b/src/d/d_kankyo.cpp @@ -1,9 +1,11 @@ /* d_kankyo.cpp autogenerated by split.py v0.3 at 2021-01-01 22:51:09.344700 */ +#include "d/d_kankyo/d_kankyo.h" #include "Z2AudioLib/Z2SeMgr/Z2SeMgr.h" #include "d/d_com/d_com_inf_game/d_com_inf_game.h" #include "global.h" #include "m_Do/m_Do_audio/m_Do_audio.h" +#include "m_Do/m_Do_graphic/m_Do_graphic.h" #include "os/OS.h" extern "C" { @@ -279,14 +281,14 @@ asm void dKy_FiveSenses_fullthrottle_dark_static1(void) { nofralloc #include "d/d_kankyo/asm/func_8019D8CC.s" } - +}; // dKy_FiveSenses_fullthrottle_dark__Fv // dKy_FiveSenses_fullthrottle_dark(void) asm void dKy_FiveSenses_fullthrottle_dark(void) { nofralloc #include "d/d_kankyo/asm/func_8019DD4C.s" } - +extern "C" { // dKy_light_influence_id__F4cXyzi // dKy_light_influence_id(cXyz, int) asm void dKy_light_influence_id(void) { diff --git a/src/d/d_kankyo/d_kankyo_data.cpp b/src/d/d_kankyo/d_kankyo_data.cpp index 334556b0f7f..d602742c0e4 100644 --- a/src/d/d_kankyo/d_kankyo_data.cpp +++ b/src/d/d_kankyo/d_kankyo_data.cpp @@ -1,5 +1,6 @@ /* d_kankyo_data.cpp autogenerated by split.py v0.3 at 2021-01-01 22:11:10.952715 */ +#include "d/d_kankyo/d_kankyo.h" #include "global.h" extern "C" { diff --git a/src/d/d_kankyo/d_kankyo_rain.cpp b/src/d/d_kankyo/d_kankyo_rain.cpp index 862a91405d4..22b393e85d6 100644 --- a/src/d/d_kankyo/d_kankyo_rain.cpp +++ b/src/d/d_kankyo/d_kankyo_rain.cpp @@ -3,6 +3,7 @@ #include "SComponent/c_math.h" #include "d/d_bg/d_bg_s/d_bg_s_poly_pass_chk.h" #include "d/d_com/d_com_inf_game/d_com_inf_game.h" +#include "d/d_kankyo/d_kankyo.h" #include "global.h" extern "C" { diff --git a/src/d/d_kankyo/d_kankyo_wether.cpp b/src/d/d_kankyo/d_kankyo_wether.cpp index 812f4028f08..15d5c491e07 100644 --- a/src/d/d_kankyo/d_kankyo_wether.cpp +++ b/src/d/d_kankyo/d_kankyo_wether.cpp @@ -3,6 +3,7 @@ #include "SComponent/c_xyz.h" #include "Z2AudioLib/Z2SeMgr/Z2SeMgr.h" #include "d/d_com/d_com_inf_game/d_com_inf_game.h" +#include "d/d_kankyo/d_kankyo.h" #include "global.h" #include "m_Do/m_Do_audio/m_Do_audio.h" @@ -477,7 +478,7 @@ asm void dKyw_evil_Draw(void) { nofralloc #include "d/d_kankyo/d_kankyo_wether/asm/func_800574BC.s" } - +}; // dKyw_wether_init__Fv // dKyw_wether_init(void) asm void dKyw_wether_init(void) { @@ -498,7 +499,7 @@ asm void dKyw_wether_delete(void) { nofralloc #include "d/d_kankyo/d_kankyo_wether/asm/func_80057A04.s" } - +extern "C" { // __dt__19dKankyo_evil_PacketFv // dKankyo_evil_Packet::~dKankyo_evil_Packet(void) asm void func_80057C84(void) { @@ -568,14 +569,14 @@ asm void func_80058128(void) { nofralloc #include "d/d_kankyo/d_kankyo_wether/asm/func_80058128.s" } - +}; // dKyw_wether_delete2__Fv // dKyw_wether_delete2(void) asm void dKyw_wether_delete2(void) { nofralloc #include "d/d_kankyo/d_kankyo_wether/asm/func_800581AC.s" } - +extern "C" { // __dt__21dKankyo_vrkumo_PacketFv // dKankyo_vrkumo_Packet::~dKankyo_vrkumo_Packet(void) asm void func_8005820C(void) { @@ -589,14 +590,14 @@ asm void wether_move_thunder(void) { nofralloc #include "d/d_kankyo/d_kankyo_wether/asm/func_80058290.s" } - +}; // dKyw_wether_move__Fv // dKyw_wether_move(void) asm void dKyw_wether_move(void) { nofralloc #include "d/d_kankyo/d_kankyo_wether/asm/func_800582F8.s" } - +extern "C" { // wether_move_sun__Fv // wether_move_sun(void) asm void wether_move_sun(void) { @@ -666,14 +667,13 @@ asm void wether_move_evil(void) { nofralloc #include "d/d_kankyo/d_kankyo_wether/asm/func_80059F74.s" } - +}; // dKyw_wether_move_draw__Fv // dKyw_wether_move_draw(void) asm void dKyw_wether_move_draw(void) { nofralloc #include "d/d_kankyo/d_kankyo_wether/asm/func_8005A0B8.s" } - // dKyw_wether_move_draw2__Fv // dKyw_wether_move_draw2(void) asm void dKyw_wether_move_draw2(void) { @@ -694,7 +694,7 @@ asm void dKyw_wether_draw2(void) { nofralloc #include "d/d_kankyo/d_kankyo_wether/asm/func_8005A304.s" } - +extern "C" { // dKyw_wether_proc__Fv // dKyw_wether_proc(void) asm void dKyw_wether_proc(void) { diff --git a/src/d/d_ky/d_kyeff.cpp b/src/d/d_ky/d_kyeff.cpp index 4bf93c8658d..d43d1a59b14 100644 --- a/src/d/d_ky/d_kyeff.cpp +++ b/src/d/d_ky/d_kyeff.cpp @@ -1 +1,81 @@ -// ok +#include "d/d_ky/d_kyeff/d_kyeff.h" +#include "SComponent/c_lib.h" +#include "Z2AudioLib/Z2EnvSeMgr/Z2EnvSeMgr.h" +#include "d/d_com/d_com_inf_game/d_com_inf_game.h" +#include "d/d_kankyo/d_kankyo.h" +#include "m_Do/m_Do_audio/m_Do_audio.h" +#include "os/OS.h" + +bool dKyeff_Draw(dKyeff_c* dKyeff_c_ptr) { + dKyw_wether_draw(); + return true; +} + +// const char* lbl_80394F38 = "Name"; + +#ifdef NONMATCHING // matching but gameinfoplay struct is messed up +bool dKyeff_c::execute(void) { + char* stageName = dComIfGp_getStartStageName(); + int strcmp_result = strcmp(stageName, "Name"); // strcmp(stageName,"Name"); + if (strcmp_result != 0) { + dKyw_wether_move(); + } + dKyw_wether_move_draw(); + dKy_FiveSenses_fullthrottle_dark(); + mDoAud_mEnvse_framework(); + return true; +} +#else +asm bool dKyeff_c::execute(void) { + nofralloc +#include "d/d_ky/d_kyeff/asm/func_801ADD5C.s" +} +#endif + +bool dKyeff_Execute(dKyeff_c* dKyeff_c_ptr) { + return dKyeff_c_ptr->execute(); +} + +bool dKyeff_IsDelete(dKyeff_c* dKyeff_c_ptr) { + return true; +} + +bool dKyeff_Delete(dKyeff_c* dKyeff_c_ptr) { + dKyw_wether_delete(); + return true; +} +/* +const f32 lbl_80453E58 = 0.0f; +const f32 lbl_80453E5C = 1.0f; +const f64 lbl_80453E60 = 4.503601774854144E15; //int to float conversion thing +const f32 lbl_80453E68 = 0.7f; +const f32 lbl_80453E6C = 15.0f; +*/ + +#ifdef NONMATCHING // matching but gameinfoplay struct is messed up +u32 dKyeff_Create(kankyo_class* kankyo_class_ptr) { + int strcmp_result; + OSTime Time; + OSCalendarTime CalendarTime; + + dKyw_wether_init(); + strcmp_result = strcmp(dComIfGp_getStartStageName(), "Name"); + if (strcmp_result == 0) { + Time = OSGetTime(); + OSTicksToCalendarTime( + Time, + &CalendarTime); // CONCAT44(iVar1,(int)((ulonglong)OVar2 >> 0x20)),&CalendarTime); + lbl_8042CA54.field_0xe48 = 1.0f; + lbl_8042CA54.field_0xe4c = 0.0f; + lbl_8042CA54.field_0xe50 = 0.0f; + lbl_8042CA54.field_0xe58 = 0.7f; + lbl_8042CA54.field_0x1244 = CalendarTime.hours * 15.0f; + } + return 4; +} +#else +asm u32 dKyeff_Create(kankyo_class* kankyo_class_ptr) { + nofralloc +#include "d/d_ky/d_kyeff/asm/func_801ADE00.s" +} +#endif diff --git a/src/d/d_ky/d_kyeff2.cpp b/src/d/d_ky/d_kyeff2.cpp index 4bf93c8658d..5e67b7da670 100644 --- a/src/d/d_ky/d_kyeff2.cpp +++ b/src/d/d_ky/d_kyeff2.cpp @@ -1 +1,30 @@ -// ok +#include "d/d_ky/d_kyeff2/d_kyeff2.h" +#include "global.h" + +bool dKyeff2_Draw(dKyeff2_c* p_dKyeff2_c) { + dKyw_wether_draw2(); + return true; +} + +bool dKyeff2_c::execute(void) { + dKyw_wether_move_draw2(); + return true; +} + +bool dKyeff2_Execute(dKyeff2_c* p_dKyeff2_c) { + return p_dKyeff2_c->execute(); +} + +bool dKyeff2_IsDelete(dKyeff2_c* p_dKyeff2_c) { + return true; +} + +bool dKyeff2_Delete(dKyeff2_c* p_dKyeff2_c) { + dKyw_wether_delete2(); + return true; +} + +int dKyeff2_Create(kankyo_class* p_kankyo_class) { + dKyw_wether_init2(); + return 4; +} \ No newline at end of file diff --git a/src/m_Do/m_Do_ext.cpp b/src/m_Do/m_Do_ext.cpp index 24d0062a6c5..3a68eb9dfeb 100644 --- a/src/m_Do/m_Do_ext.cpp +++ b/src/m_Do/m_Do_ext.cpp @@ -244,7 +244,6 @@ void getGlbResource__10JKRArchiveFUlPCcP10JKRArchive(void); void mDoExt_3DlineMatSortPacket_NS_dtor(void); void mDoExt_3Dline_c(void); void mDoExt_3Dline_c_NS_init(void); -void mDoExt_GetCurrentRunningThread(void); void mDoExt_J3DModel__create(void); void mDoExt_McaMorf2_NS_ERROR_EXIT(void); void mDoExt_McaMorf2_NS_create(void); @@ -1841,14 +1840,14 @@ asm void mDoExt_setAraCacheSize(void) { nofralloc #include "m_Do/m_Do_ext/asm/func_80014D5C.s" } - +}; // mDoExt_GetCurrentRunningThread__Fv // mDoExt_GetCurrentRunningThread(void) -asm void mDoExt_GetCurrentRunningThread(void) { +asm OSThread* mDoExt_GetCurrentRunningThread(void) { nofralloc #include "m_Do/m_Do_ext/asm/func_80014D64.s" } - +extern "C" { // setGX__7JUTFontFQ28JUtility6TColorQ28JUtility6TColor // JUTFont::setGX(JUtility::TColor, JUtility::TColor) asm void func_80014D9C(void) { diff --git a/src/m_Do/m_Do_graphic.cpp b/src/m_Do/m_Do_graphic.cpp index 4bf93c8658d..31db26ecde3 100644 --- a/src/m_Do/m_Do_graphic.cpp +++ b/src/m_Do/m_Do_graphic.cpp @@ -1 +1,223 @@ -// ok +#include "m_Do/m_Do_graphic/m_Do_graphic.h" +#include "JSystem/J2DSys.h" +#include "JSystem/JKernel/JKRHeap/JKRHeap.h" +#include "JSystem/JUtility/JUTGamePad/JUTGamePad.h" +#include "SComponent/c_lib.h" +#include "d/d_a/d_a_player/d_a_player.h" +#include "d/d_com/d_com_inf_game/d_com_inf_game.h" +#include "d/d_drawlist/d_drawlist.h" +#include "d/d_kankyo/d_kankyo.h" +#include "f/f_pc/f_pc_searcher.h" +#include "global.h" +#include "gx/GX.h" +#include "m_Do/m_Do_main/m_Do_main.h" + +#ifdef NONMATCHING // mr and addi swapped +ResTIMG* createTimg(u16 width, u16 height, u32 format) { + u32 data_offset = 32; + + u32 texture_buffer_size = GXGetTexBufferSize(width, height, format, 0, 0); + u32 alloc_size = texture_buffer_size + data_offset; + void* ptr = JKRHeap::alloc(alloc_size, data_offset, NULL); + ResTIMG* timg_ptr = (ResTIMG*)ptr; + if (timg_ptr == NULL) { + return NULL; + } + cLib_memSet(timg_ptr, 0, texture_buffer_size); + timg_ptr->texture_format = format; + timg_ptr->is_alpha_enabled = false; + timg_ptr->texture_width = width; + timg_ptr->texture_height = height; + timg_ptr->min_filter = GX_LINEAR; + timg_ptr->mag_filter = GX_LINEAR; + timg_ptr->num_mipmaps = 1; + timg_ptr->texture_data_offset = data_offset; + return timg_ptr; +} +#else +asm ResTIMG* createTimg(u16 width, u16 height, u32 format) { + nofralloc +#include "m_Do/m_Do_graphic/asm/func_80007D9C.s" +} +#endif + +asm void mDoGph_gInf_c::create(void) { + nofralloc +#include "m_Do/m_Do_graphic/asm/func_80007E44.s" +} + +asm void mDoGph_gInf_c::beginRender(void) { + nofralloc +#include "m_Do/m_Do_graphic/asm/func_80007F90.s" +} + +#ifdef NONMATCHING // need to figure out float stuff +void mDoGph_gInf_c::fadeOut(f32 fadeSpeed, _GXColor& color) { + lbl_80450BE6 = true; + + lbl_80450BDC = lbl_80451A38; + // lbl_80450594 = color; + + lbl_80450594.r = color.r; + lbl_80450594.g = color.g; + lbl_80450594.b = color.b; + lbl_80450594.a = color.a; + + // lbl_80450BE0 = fadeSpeed; + + if (fadeSpeed < 0.0f) { + lbl_80450BDC = 1.0f; + } +} +#else +asm void mDoGph_gInf_c::fadeOut(f32 fadeSpeed, _GXColor& color) { + nofralloc +#include "m_Do/m_Do_graphic/asm/func_80007FD8.s" +} +#endif + +asm void mDoGph_gInf_c::fadeOut_f(f32 speed, _GXColor& color) { + nofralloc +#include "m_Do/m_Do_graphic/asm/func_80008028.s" +} + +void mDoGph_gInf_c::onBlure(void) { + onBlure(lbl_803A2FD8); +} + +void mDoGph_gInf_c::onBlure(const Mtx InMtx) { + lbl_80450BE4 = true; + PSMTXCopy((Mtx*)InMtx, &lbl_803DD43C); +} + +void mDoGph_gInf_c::fadeOut(f32 speed) { + fadeOut(speed, lbl_80450600); +} + +asm void darwFilter(_GXColor color) { + nofralloc +#include "m_Do/m_Do_graphic/asm/func_800080F4.s" +} + +asm void mDoGph_gInf_c::calcFade(void) { + nofralloc +#include "m_Do/m_Do_graphic/asm/func_80008330.s" +} + +void mDoGph_BlankingON(void) { + return; +} + +void mDoGph_BlankingOFF(void) { + return; +} +#ifdef NONMATCHING // Matching but gameinfo is screwed up at the moment +void dScnPly_BeforeOfPaint(void) { + dComIfGd_reset(); +} +#else +asm void dScnPly_BeforeOfPaint(void) { + nofralloc +#include "m_Do/m_Do_graphic/asm/func_80008424.s" +} +#endif + +bool mDoGph_BeforeOfDraw(void) { + dScnPly_BeforeOfPaint(); + return true; +} + +asm bool mDoGph_AfterOfDraw(void) { + nofralloc +#include "m_Do/m_Do_graphic/asm/func_80008474.s" +} + +asm void drawDepth2(view_class* view_class_ptr, view_port_class* view_port_class_ptr, int param_3) { + nofralloc +#include "m_Do/m_Do_graphic/asm/func_80008630.s" +} + +// __dt__4cXyzFv +// cXyz::~cXyz(void) +extern "C" { // everything gets shifted when this is an actual destructor?? +asm void cXyz_NS_dtor(void) { + nofralloc +#include "m_Do/m_Do_graphic/asm/func_80009184.s" +} +}; + +asm void trimming(view_class* view_class_ptr, view_port_class* view_port_class_ptr) { + nofralloc +#include "m_Do/m_Do_graphic/asm/func_800091C0.s" +} + +asm void mDoGph_drawFilterQuad(s8 param_1, s8 param_2) { + nofralloc +#include "m_Do/m_Do_graphic/asm/func_800094B4.s" +} + +asm void mDoGph_gInf_c::bloom_c::create(void) { + nofralloc +#include "m_Do/m_Do_graphic/asm/func_80009544.s" +} + +asm int mDoGph_gInf_c::bloom_c::remove(void) { + nofralloc +#include "m_Do/m_Do_graphic/asm/func_800095F8.s" +} + +asm void mDoGph_gInf_c::bloom_c::draw(void) { + nofralloc +#include "m_Do/m_Do_graphic/asm/func_80009650.s" +} + +asm void retry_captue_frame(view_class* view_class_ptr, view_port_class* view_port_class_ptr, + int param_3) { + nofralloc +#include "m_Do/m_Do_graphic/asm/func_8000A160.s" +} + +asm void motionBlure(view_class* view_class_ptr) { + nofralloc +#include "m_Do/m_Do_graphic/asm/func_8000A290.s" +} + +asm void setLight(void) { + nofralloc +#include "m_Do/m_Do_graphic/asm/func_8000A504.s" +} + +asm void drawItem3D(void) { + nofralloc +#include "m_Do/m_Do_graphic/asm/func_8000A58C.s" +} + +asm bool mDoGph_Painter(void) { + nofralloc +#include "m_Do/m_Do_graphic/asm/func_8000A604.s" +} + +extern "C" { +// __dt__13J2DOrthoGraphFv +// J2DOrthoGraph::~J2DOrthoGraph(void) +asm void __dt__13J2DOrthoGraphFv(void) { + nofralloc +#include "m_Do/m_Do_graphic/asm/func_8000B118.s" +} +}; + +asm void mDoGph_Create(void) { + nofralloc +#include "m_Do/m_Do_graphic/asm/func_8000B174.s" +} + +extern "C" { +asm void __sinit_m_Do_graphic_cpp(void) { + nofralloc +#include "m_Do/m_Do_graphic/asm/func_8000B1D0.s" +} +}; + +int daPy_py_c::getAtnActorID(void) const { + return -1; +} \ No newline at end of file diff --git a/src/m_Do/m_Do_printf.cpp b/src/m_Do/m_Do_printf.cpp index 4bf93c8658d..9e97e64e2de 100644 --- a/src/m_Do/m_Do_printf.cpp +++ b/src/m_Do/m_Do_printf.cpp @@ -1 +1,131 @@ -// ok +#include "m_Do/m_Do_printf/m_Do_printf.h" +#include "global.h" +#include "m_Do/m_Do_ext/m_Do_ext.h" +#include "os/OS.h" + +asm void OSSwitchFiberEx(u32, u32, u32, u32, u32, u32) { + nofralloc +#include "m_Do/m_Do_printf/asm/func_80006798.s" +} + +void my_PutString(const char* message) { + fputs(message, &lbl_803D29B0.stdout); +} + +void OSVAttention(const char* fmt, __va_list_struct* va_list) { + mDoPrintf_vprintf(fmt, va_list); +} + +extern "C" { +asm void OSAttention(char* msg, ...) { + nofralloc +#include "m_Do/m_Do_printf/asm/func_80006814.s" +} + +void OSReportDisable(void) { + lbl_80450B98 = true; +} + +void OSReportEnable(void) { + lbl_80450B98 = false; +} + +void OSReportForceEnableOn(void) { + lbl_80450B9C = true; +} + +void OSReportForceEnableOff(void) { + lbl_80450B9C = false; +} +}; // extern "C" + +void OSReportInit(void) { + if (lbl_80450BB4 == false) { + lbl_80450BB4 = true; + } +} + +void mDoPrintf_vprintf_Interrupt(const char* format, __va_list_struct* list) { + s32 enable; + + enable = OSDisableInterrupts(); + if (lbl_80450BB5 == false) { + lbl_80450BB5 = true; + OSSwitchFiberEx((u32)format, (u32)list, 0, 0, (u32)&vprintf, + (u32)&lbl_803DB740.stack[0x800]); + lbl_80450BB5 = false; + } + OSRestoreInterrupts(enable); +} + +void mDoPrintf_vprintf_Thread(const char* format, __va_list_struct* list) { + vprintf(format, list); +} + +void mDoPrintf_vprintf(const char* format, __va_list_struct* list) { + OSThread* thread; + u8* stack_pointer; + + thread = mDoExt_GetCurrentRunningThread(); + if (thread == NULL) { + mDoPrintf_vprintf_Interrupt(format, list); + } else { + stack_pointer = OSGetStackPointer(); + if ((stack_pointer < thread->stack_end + 0xa00) || (stack_pointer > thread->stack_base)) { + mDoPrintf_vprintf_Interrupt(format, list); + } else { + mDoPrintf_vprintf_Thread(format, list); + } + } +} + +extern "C" { +void mDoPrintf_VReport(const char* format, __va_list_struct* list) { + OSThread* thread; + + if (lbl_80450BB4 == false) { + OSReportInit(); + } + if ((lbl_80450B9C) || (lbl_80450B98 == false)) { + thread = mDoExt_GetCurrentRunningThread(); + if ((lbl_80450BA0 == NULL) || (lbl_80450BA0 == thread)) { + mDoPrintf_vprintf(format, list); + lbl_80450BA4++; // increment print counts + } + } +} + +void OSVReport(const char* format, __va_list_struct* list) { + mDoPrintf_VReport(format, list); +} + +asm void OSReport(char* fmt, ...) { + nofralloc +#include "m_Do/m_Do_printf/asm/func_80006ABC.s" +} + +asm void OSReport_FatalError(char* fmt, ...) { + nofralloc +#include "m_Do/m_Do_printf/asm/func_80006B3C.s" +} + +asm void OSReport_Error(char* fmt, ...) { + nofralloc +#include "m_Do/m_Do_printf/asm/func_80006C0C.s" +} + +asm void OSReport_Warning(char* fmt, ...) { + nofralloc +#include "m_Do/m_Do_printf/asm/func_80006CEC.s" +} + +asm void OSReport_System(char* fmt, ...) { + nofralloc +#include "m_Do/m_Do_printf/asm/func_80006DCC.s" +} + +asm void OSPanic(char* file, s32 line, char* fmt, ...) { + nofralloc +#include "m_Do/m_Do_printf/asm/func_80006E7C.s" +} +}; // extern "C" diff --git a/tools/splitter/parser.py b/tools/splitter/asm_parser.py similarity index 100% rename from tools/splitter/parser.py rename to tools/splitter/asm_parser.py diff --git a/tools/splitter/split.py b/tools/splitter/split.py index 731d7750fbf..12aa5f63806 100644 --- a/tools/splitter/split.py +++ b/tools/splitter/split.py @@ -10,7 +10,7 @@ from loguru import logger from datetime import datetime import re import click -from parser import asm, Emittable, Global, Label, Line, BlockComment, Instruction +from asm_parser import asm, Emittable, Global, Label, Line, BlockComment, Instruction from demangle import parse_framework_map, demangle from util import PathPath, pairwise from pprint import pprint