From 92b88e83e86c60442ba1f9748c80b7db9242bf92 Mon Sep 17 00:00:00 2001 From: TakaRikka <38417346+TakaRikka@users.noreply.github.com> Date: Tue, 28 Mar 2023 04:11:41 -0700 Subject: [PATCH] d_menu_calibration done / J3DDrawBuffer done / more d_drawlist wip (#312) * d_drawlist work / finish J3DDrawBuffer * d_menu_calibration done * remove asm --- Progress.md | 8 +- ...ryZSort__13J3DDrawBufferFP12J3DMatPacket.s | 74 -- .../__ct__10dDlst_2D_cFP7ResTIMGssssUc.s | 40 - ...al__21dDlst_shadowControl_cFUlP8J3DModel.s | 32 - .../d_drawlist/draw__18dDlst_shadowPoly_cFv.s | 52 -- .../d_drawlist/draw__18dDlst_shadowReal_cFv.s | 46 -- .../draw__20dDlst_shadowSimple_cFv.s | 123 --- .../imageDraw__18dDlst_shadowReal_cFPA4_f.s | 59 -- ...it__12dDlst_2DT2_cFP7ResTIMGffffUcUcUcff.s | 70 -- asm/d/d_drawlist/reset__12dDlst_list_cFv.s | 48 -- ...eTex__21dDlst_shadowControl_cFPC7ResTIMG.s | 13 - ...dowControl_cFP4cXyzffP4cXyzsfP9_GXTexObj.s | 29 - ..._cFUlP8J3DModelP4cXyzffP12dKy_tevstr_cff.s | 114 --- ...ffectLine_cFR4cXyzR8_GXColorUsUsUsUsffff.s | 38 - .../__dt__19dMenu_Calibration_cFv.s | 20 - .../__sinit_d_menu_calibration_cpp.s | 78 -- .../_move__19dMenu_Calibration_cFv.s | 34 - .../draw__19dMenu_Calibration_cFv.s | 9 - ...tAButtonString__19dMenu_Calibration_cFUs.s | 49 -- ...tBButtonString__19dMenu_Calibration_cFUs.s | 49 -- ...alibrationValue__19dMenu_Calibration_cFv.s | 11 - ...tExplainString__19dMenu_Calibration_cFUs.s | 51 -- .../setHIO__19dMenu_Calibration_cFb.s | 133 ---- .../setStepString__19dMenu_Calibration_cFUs.s | 49 -- ...step1_move_init__19dMenu_Calibration_cFv.s | 16 - ...step1_move_move__19dMenu_Calibration_cFv.s | 53 -- ...step1_wait_init__19dMenu_Calibration_cFv.s | 81 -- ...step1_wait_move__19dMenu_Calibration_cFv.s | 76 -- ...step2_move_init__19dMenu_Calibration_cFv.s | 16 - ...step2_move_move__19dMenu_Calibration_cFv.s | 54 -- ...step2_wait_init__19dMenu_Calibration_cFv.s | 28 - ...step2_wait_move__19dMenu_Calibration_cFv.s | 105 --- ...step3_move_init__19dMenu_Calibration_cFv.s | 16 - ...step3_move_move__19dMenu_Calibration_cFv.s | 59 -- ...step3_wait_init__19dMenu_Calibration_cFv.s | 29 - ...step3_wait_move__19dMenu_Calibration_cFv.s | 66 -- include/JSystem/J3DGraphBase/J3DDrawBuffer.h | 26 + include/SSystem/SComponent/c_bg_s_chk.h | 3 + include/SSystem/SComponent/c_lib.h | 15 + include/SSystem/SComponent/c_m3d_g_pla.h | 1 + include/d/com/d_com_inf_game.h | 8 + include/d/d_drawlist.h | 82 +- include/d/d_select_cursor.h | 20 +- include/d/kankyo/d_kankyo.h | 1 + include/d/menu/d_menu_calibration.h | 87 +- include/d/meter/d_meter2_info.h | 4 + include/m_Do/m_Do_ext.h | 7 +- libs/JSystem/J3DGraphBase/J3DDrawBuffer.cpp | 108 +-- src/d/d_drawlist.cpp | 753 +++++++++++++----- src/d/menu/d_menu_calibration.cpp | 751 +++++++---------- src/d/menu/d_menu_window_HIO.cpp | 41 +- src/d/meter/d_meter2_draw.cpp | 4 +- 52 files changed, 1057 insertions(+), 2682 deletions(-) delete mode 100644 asm/JSystem/J3DGraphBase/J3DDrawBuffer/entryZSort__13J3DDrawBufferFP12J3DMatPacket.s delete mode 100644 asm/d/d_drawlist/__ct__10dDlst_2D_cFP7ResTIMGssssUc.s delete mode 100644 asm/d/d_drawlist/addReal__21dDlst_shadowControl_cFUlP8J3DModel.s delete mode 100644 asm/d/d_drawlist/draw__18dDlst_shadowPoly_cFv.s delete mode 100644 asm/d/d_drawlist/draw__18dDlst_shadowReal_cFv.s delete mode 100644 asm/d/d_drawlist/draw__20dDlst_shadowSimple_cFv.s delete mode 100644 asm/d/d_drawlist/imageDraw__18dDlst_shadowReal_cFPA4_f.s delete mode 100644 asm/d/d_drawlist/init__12dDlst_2DT2_cFP7ResTIMGffffUcUcUcff.s delete mode 100644 asm/d/d_drawlist/reset__12dDlst_list_cFv.s delete mode 100644 asm/d/d_drawlist/setSimpleTex__21dDlst_shadowControl_cFPC7ResTIMG.s delete mode 100644 asm/d/d_drawlist/setSimple__21dDlst_shadowControl_cFP4cXyzffP4cXyzsfP9_GXTexObj.s delete mode 100644 asm/d/d_drawlist/set__18dDlst_shadowReal_cFUlP8J3DModelP4cXyzffP12dKy_tevstr_cff.s delete mode 100644 asm/d/d_drawlist/update__18dDlst_effectLine_cFR4cXyzR8_GXColorUsUsUsUsffff.s delete mode 100644 asm/d/menu/d_menu_calibration/__dt__19dMenu_Calibration_cFv.s delete mode 100644 asm/d/menu/d_menu_calibration/__sinit_d_menu_calibration_cpp.s delete mode 100644 asm/d/menu/d_menu_calibration/_move__19dMenu_Calibration_cFv.s delete mode 100644 asm/d/menu/d_menu_calibration/draw__19dMenu_Calibration_cFv.s delete mode 100644 asm/d/menu/d_menu_calibration/setAButtonString__19dMenu_Calibration_cFUs.s delete mode 100644 asm/d/menu/d_menu_calibration/setBButtonString__19dMenu_Calibration_cFUs.s delete mode 100644 asm/d/menu/d_menu_calibration/setCalibrationValue__19dMenu_Calibration_cFv.s delete mode 100644 asm/d/menu/d_menu_calibration/setExplainString__19dMenu_Calibration_cFUs.s delete mode 100644 asm/d/menu/d_menu_calibration/setHIO__19dMenu_Calibration_cFb.s delete mode 100644 asm/d/menu/d_menu_calibration/setStepString__19dMenu_Calibration_cFUs.s delete mode 100644 asm/d/menu/d_menu_calibration/step1_move_init__19dMenu_Calibration_cFv.s delete mode 100644 asm/d/menu/d_menu_calibration/step1_move_move__19dMenu_Calibration_cFv.s delete mode 100644 asm/d/menu/d_menu_calibration/step1_wait_init__19dMenu_Calibration_cFv.s delete mode 100644 asm/d/menu/d_menu_calibration/step1_wait_move__19dMenu_Calibration_cFv.s delete mode 100644 asm/d/menu/d_menu_calibration/step2_move_init__19dMenu_Calibration_cFv.s delete mode 100644 asm/d/menu/d_menu_calibration/step2_move_move__19dMenu_Calibration_cFv.s delete mode 100644 asm/d/menu/d_menu_calibration/step2_wait_init__19dMenu_Calibration_cFv.s delete mode 100644 asm/d/menu/d_menu_calibration/step2_wait_move__19dMenu_Calibration_cFv.s delete mode 100644 asm/d/menu/d_menu_calibration/step3_move_init__19dMenu_Calibration_cFv.s delete mode 100644 asm/d/menu/d_menu_calibration/step3_move_move__19dMenu_Calibration_cFv.s delete mode 100644 asm/d/menu/d_menu_calibration/step3_wait_init__19dMenu_Calibration_cFv.s delete mode 100644 asm/d/menu/d_menu_calibration/step3_wait_move__19dMenu_Calibration_cFv.s diff --git a/Progress.md b/Progress.md index cc8497a3013..6978839f3be 100644 --- a/Progress.md +++ b/Progress.md @@ -7,22 +7,22 @@ Section | Percentage | Decompiled (bytes) | Total (bytes) .init | 97.972973% | 9280 | 9472 .extab | 100.000000% | 96 | 96 .extabindex | 100.000000% | 96 | 96 -.text | 26.374542% | 948572 | 3596544 +.text | 26.564836% | 955416 | 3596544 .ctors | 100.000000% | 448 | 448 .dtors | 100.000000% | 32 | 32 .rodata | 100.000000% | 193856 | 193856 .data | 100.000000% | 197632 | 197632 .sdata | 100.000000% | 1408 | 1408 .sdata2 | 100.000000% | 20832 | 20832 -Total | 34.136284% | 1372508 | 4020672 +Total | 34.306504% | 1379352 | 4020672 ## Total Section | Percentage | Decompiled (bytes) | Total (bytes) ---|---|---|--- -main.dol | 34.136284% | 1372508 | 4020672 +main.dol | 34.306504% | 1379352 | 4020672 RELs | 33.406154% | 3841816 | 11500324 -Total | 33.595292% | 5214324 | 15520996 +Total | 33.639388% | 5221168 | 15520996 ## RELs diff --git a/asm/JSystem/J3DGraphBase/J3DDrawBuffer/entryZSort__13J3DDrawBufferFP12J3DMatPacket.s b/asm/JSystem/J3DGraphBase/J3DDrawBuffer/entryZSort__13J3DDrawBufferFP12J3DMatPacket.s deleted file mode 100644 index 8c7b4d04520..00000000000 --- a/asm/JSystem/J3DGraphBase/J3DDrawBuffer/entryZSort__13J3DDrawBufferFP12J3DMatPacket.s +++ /dev/null @@ -1,74 +0,0 @@ -lbl_8032529C: -/* 8032529C 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 803252A0 7C 08 02 A6 */ mflr r0 -/* 803252A4 90 01 00 34 */ stw r0, 0x34(r1) -/* 803252A8 93 E1 00 2C */ stw r31, 0x2c(r1) -/* 803252AC 93 C1 00 28 */ stw r30, 0x28(r1) -/* 803252B0 7C 7E 1B 78 */ mr r30, r3 -/* 803252B4 7C 9F 23 78 */ mr r31, r4 -/* 803252B8 38 00 00 00 */ li r0, 0 -/* 803252BC 90 04 00 04 */ stw r0, 4(r4) -/* 803252C0 90 04 00 08 */ stw r0, 8(r4) -/* 803252C4 80 64 00 2C */ lwz r3, 0x2c(r4) -/* 803252C8 90 03 00 04 */ stw r0, 4(r3) -/* 803252CC 90 03 00 08 */ stw r0, 8(r3) -/* 803252D0 80 7E 00 1C */ lwz r3, 0x1c(r30) -/* 803252D4 C0 03 00 0C */ lfs f0, 0xc(r3) -/* 803252D8 D0 01 00 14 */ stfs f0, 0x14(r1) -/* 803252DC C0 03 00 1C */ lfs f0, 0x1c(r3) -/* 803252E0 D0 01 00 18 */ stfs f0, 0x18(r1) -/* 803252E4 C0 03 00 2C */ lfs f0, 0x2c(r3) -/* 803252E8 D0 01 00 1C */ stfs f0, 0x1c(r1) -/* 803252EC 80 61 00 14 */ lwz r3, 0x14(r1) -/* 803252F0 80 01 00 18 */ lwz r0, 0x18(r1) -/* 803252F4 90 61 00 08 */ stw r3, 8(r1) -/* 803252F8 90 01 00 0C */ stw r0, 0xc(r1) -/* 803252FC 80 01 00 1C */ lwz r0, 0x1c(r1) -/* 80325300 90 01 00 10 */ stw r0, 0x10(r1) -/* 80325304 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */ -/* 80325308 38 63 4A C8 */ addi r3, r3, j3dSys@l /* 0x80434AC8@l */ -/* 8032530C C0 22 CA 00 */ lfs f1, lit_781(r2) -/* 80325310 E0 01 00 08 */ psq_l f0, 8(r1), 0, 0 /* qr0 */ -/* 80325314 C0 41 00 10 */ lfs f2, 0x10(r1) -/* 80325318 E0 83 00 20 */ psq_l f4, 32(r3), 0, 0 /* qr0 */ -/* 8032531C E0 63 00 28 */ psq_l f3, 40(r3), 0, 0 /* qr0 */ -/* 80325320 10 42 0C 20 */ ps_merge00 f2, f2, f1 -/* 80325324 10 80 01 32 */ ps_mul f4, f0, f4 -/* 80325328 10 62 20 FA */ ps_madd f3, f2, f3, f4 -/* 8032532C 10 63 18 D4 */ ps_sum0 f3, f3, f3, f3 -/* 80325330 FC 40 18 50 */ fneg f2, f3 -/* 80325334 C0 1E 00 10 */ lfs f0, 0x10(r30) -/* 80325338 C0 3E 00 18 */ lfs f1, 0x18(r30) -/* 8032533C EC 00 08 2A */ fadds f0, f0, f1 -/* 80325340 FC 00 10 40 */ fcmpo cr0, f0, f2 -/* 80325344 40 80 00 2C */ bge lbl_80325370 -/* 80325348 C0 1E 00 14 */ lfs f0, 0x14(r30) -/* 8032534C EC 00 08 28 */ fsubs f0, f0, f1 -/* 80325350 FC 00 10 40 */ fcmpo cr0, f0, f2 -/* 80325354 40 81 00 10 */ ble lbl_80325364 -/* 80325358 EC 22 08 24 */ fdivs f1, f2, f1 -/* 8032535C 48 03 CD 51 */ bl __cvt_fp2unsigned -/* 80325360 48 00 00 14 */ b lbl_80325374 -lbl_80325364: -/* 80325364 80 7E 00 04 */ lwz r3, 4(r30) -/* 80325368 38 63 FF FF */ addi r3, r3, -1 -/* 8032536C 48 00 00 08 */ b lbl_80325374 -lbl_80325370: -/* 80325370 38 60 00 00 */ li r3, 0 -lbl_80325374: -/* 80325374 80 9E 00 04 */ lwz r4, 4(r30) -/* 80325378 38 04 FF FF */ addi r0, r4, -1 -/* 8032537C 7C 03 00 50 */ subf r0, r3, r0 -/* 80325380 80 7E 00 00 */ lwz r3, 0(r30) -/* 80325384 54 04 10 3A */ slwi r4, r0, 2 -/* 80325388 7C 03 20 2E */ lwzx r0, r3, r4 -/* 8032538C 90 1F 00 04 */ stw r0, 4(r31) -/* 80325390 80 7E 00 00 */ lwz r3, 0(r30) -/* 80325394 7F E3 21 2E */ stwx r31, r3, r4 -/* 80325398 38 60 00 01 */ li r3, 1 -/* 8032539C 83 E1 00 2C */ lwz r31, 0x2c(r1) -/* 803253A0 83 C1 00 28 */ lwz r30, 0x28(r1) -/* 803253A4 80 01 00 34 */ lwz r0, 0x34(r1) -/* 803253A8 7C 08 03 A6 */ mtlr r0 -/* 803253AC 38 21 00 30 */ addi r1, r1, 0x30 -/* 803253B0 4E 80 00 20 */ blr diff --git a/asm/d/d_drawlist/__ct__10dDlst_2D_cFP7ResTIMGssssUc.s b/asm/d/d_drawlist/__ct__10dDlst_2D_cFP7ResTIMGssssUc.s deleted file mode 100644 index d151009b26e..00000000000 --- a/asm/d/d_drawlist/__ct__10dDlst_2D_cFP7ResTIMGssssUc.s +++ /dev/null @@ -1,40 +0,0 @@ -lbl_80053A00: -/* 80053A00 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 80053A04 7C 08 02 A6 */ mflr r0 -/* 80053A08 90 01 00 34 */ stw r0, 0x34(r1) -/* 80053A0C 39 61 00 30 */ addi r11, r1, 0x30 -/* 80053A10 48 30 E7 BD */ bl _savegpr_25 -/* 80053A14 7C 79 1B 78 */ mr r25, r3 -/* 80053A18 7C 9A 23 78 */ mr r26, r4 -/* 80053A1C 7C BB 2B 78 */ mr r27, r5 -/* 80053A20 7C DC 33 78 */ mr r28, r6 -/* 80053A24 7C FD 3B 78 */ mr r29, r7 -/* 80053A28 7D 1E 43 78 */ mr r30, r8 -/* 80053A2C 7D 3F 4B 78 */ mr r31, r9 -/* 80053A30 3C 60 80 3A */ lis r3, __vt__12dDlst_base_c@ha /* 0x803A6F88@ha */ -/* 80053A34 38 03 6F 88 */ addi r0, r3, __vt__12dDlst_base_c@l /* 0x803A6F88@l */ -/* 80053A38 90 19 00 00 */ stw r0, 0(r25) -/* 80053A3C 3C 60 80 3B */ lis r3, __vt__10dDlst_2D_c@ha /* 0x803A8E20@ha */ -/* 80053A40 38 03 8E 20 */ addi r0, r3, __vt__10dDlst_2D_c@l /* 0x803A8E20@l */ -/* 80053A44 90 19 00 00 */ stw r0, 0(r25) -/* 80053A48 38 79 00 08 */ addi r3, r25, 8 -/* 80053A4C 48 2A 86 05 */ bl __ct__10J2DPictureFv -/* 80053A50 38 79 00 08 */ addi r3, r25, 8 -/* 80053A54 7F 44 D3 78 */ mr r4, r26 -/* 80053A58 38 A0 00 00 */ li r5, 0 -/* 80053A5C 81 99 00 08 */ lwz r12, 8(r25) -/* 80053A60 81 8C 00 94 */ lwz r12, 0x94(r12) -/* 80053A64 7D 89 03 A6 */ mtctr r12 -/* 80053A68 4E 80 04 21 */ bctrl -/* 80053A6C B3 79 01 58 */ sth r27, 0x158(r25) -/* 80053A70 B3 99 01 5A */ sth r28, 0x15a(r25) -/* 80053A74 B3 B9 01 5C */ sth r29, 0x15c(r25) -/* 80053A78 B3 D9 01 5E */ sth r30, 0x15e(r25) -/* 80053A7C 9B F9 01 60 */ stb r31, 0x160(r25) -/* 80053A80 7F 23 CB 78 */ mr r3, r25 -/* 80053A84 39 61 00 30 */ addi r11, r1, 0x30 -/* 80053A88 48 30 E7 91 */ bl _restgpr_25 -/* 80053A8C 80 01 00 34 */ lwz r0, 0x34(r1) -/* 80053A90 7C 08 03 A6 */ mtlr r0 -/* 80053A94 38 21 00 30 */ addi r1, r1, 0x30 -/* 80053A98 4E 80 00 20 */ blr diff --git a/asm/d/d_drawlist/addReal__21dDlst_shadowControl_cFUlP8J3DModel.s b/asm/d/d_drawlist/addReal__21dDlst_shadowControl_cFUlP8J3DModel.s deleted file mode 100644 index 1880c141516..00000000000 --- a/asm/d/d_drawlist/addReal__21dDlst_shadowControl_cFUlP8J3DModel.s +++ /dev/null @@ -1,32 +0,0 @@ -lbl_80055F1C: -/* 80055F1C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80055F20 7C 08 02 A6 */ mflr r0 -/* 80055F24 90 01 00 14 */ stw r0, 0x14(r1) -/* 80055F28 28 04 00 00 */ cmplwi r4, 0 -/* 80055F2C 40 82 00 0C */ bne lbl_80055F38 -/* 80055F30 38 60 00 00 */ li r3, 0 -/* 80055F34 48 00 00 40 */ b lbl_80055F74 -lbl_80055F38: -/* 80055F38 80 63 00 04 */ lwz r3, 4(r3) -/* 80055F3C 48 00 00 2C */ b lbl_80055F68 -lbl_80055F40: -/* 80055F40 88 03 00 00 */ lbz r0, 0(r3) -/* 80055F44 28 00 00 00 */ cmplwi r0, 0 -/* 80055F48 41 82 00 1C */ beq lbl_80055F64 -/* 80055F4C 80 03 00 04 */ lwz r0, 4(r3) -/* 80055F50 7C 00 20 40 */ cmplw r0, r4 -/* 80055F54 40 82 00 10 */ bne lbl_80055F64 -/* 80055F58 7C A4 2B 78 */ mr r4, r5 -/* 80055F5C 4B FF F2 79 */ bl add__18dDlst_shadowReal_cFP8J3DModel -/* 80055F60 48 00 00 14 */ b lbl_80055F74 -lbl_80055F64: -/* 80055F64 80 63 25 50 */ lwz r3, 0x2550(r3) -lbl_80055F68: -/* 80055F68 28 03 00 00 */ cmplwi r3, 0 -/* 80055F6C 40 82 FF D4 */ bne lbl_80055F40 -/* 80055F70 38 60 00 00 */ li r3, 0 -lbl_80055F74: -/* 80055F74 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80055F78 7C 08 03 A6 */ mtlr r0 -/* 80055F7C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80055F80 4E 80 00 20 */ blr diff --git a/asm/d/d_drawlist/draw__18dDlst_shadowPoly_cFv.s b/asm/d/d_drawlist/draw__18dDlst_shadowPoly_cFv.s deleted file mode 100644 index dcc4bb0a292..00000000000 --- a/asm/d/d_drawlist/draw__18dDlst_shadowPoly_cFv.s +++ /dev/null @@ -1,52 +0,0 @@ -lbl_800543B4: -/* 800543B4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800543B8 7C 08 02 A6 */ mflr r0 -/* 800543BC 90 01 00 14 */ stw r0, 0x14(r1) -/* 800543C0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800543C4 93 C1 00 08 */ stw r30, 8(r1) -/* 800543C8 7C 7E 1B 78 */ mr r30, r3 -/* 800543CC 81 83 00 00 */ lwz r12, 0(r3) -/* 800543D0 81 8C 00 08 */ lwz r12, 8(r12) -/* 800543D4 7D 89 03 A6 */ mtctr r12 -/* 800543D8 4E 80 04 21 */ bctrl -/* 800543DC 7C 7F 1B 78 */ mr r31, r3 -/* 800543E0 38 60 00 90 */ li r3, 0x90 -/* 800543E4 38 80 00 00 */ li r4, 0 -/* 800543E8 A0 1E 00 04 */ lhz r0, 4(r30) -/* 800543EC 1C 00 00 03 */ mulli r0, r0, 3 -/* 800543F0 54 05 04 3E */ clrlwi r5, r0, 0x10 -/* 800543F4 48 30 83 71 */ bl GXBegin -/* 800543F8 38 80 00 00 */ li r4, 0 -/* 800543FC 3C 60 CC 01 */ lis r3, 0xcc01 -/* 80054400 48 00 00 54 */ b lbl_80054454 -lbl_80054404: -/* 80054404 C0 5F 00 20 */ lfs f2, 0x20(r31) -/* 80054408 C0 3F 00 1C */ lfs f1, 0x1c(r31) -/* 8005440C C0 1F 00 18 */ lfs f0, 0x18(r31) -/* 80054410 D0 03 80 00 */ stfs f0, -0x8000(r3) -/* 80054414 D0 23 80 00 */ stfs f1, -0x8000(r3) -/* 80054418 D0 43 80 00 */ stfs f2, -0x8000(r3) -/* 8005441C C0 5F 00 14 */ lfs f2, 0x14(r31) -/* 80054420 C0 3F 00 10 */ lfs f1, 0x10(r31) -/* 80054424 C0 1F 00 0C */ lfs f0, 0xc(r31) -/* 80054428 D0 03 80 00 */ stfs f0, -0x8000(r3) -/* 8005442C D0 23 80 00 */ stfs f1, -0x8000(r3) -/* 80054430 D0 43 80 00 */ stfs f2, -0x8000(r3) -/* 80054434 C0 5F 00 08 */ lfs f2, 8(r31) -/* 80054438 C0 3F 00 04 */ lfs f1, 4(r31) -/* 8005443C C0 1F 00 00 */ lfs f0, 0(r31) -/* 80054440 D0 03 80 00 */ stfs f0, -0x8000(r3) -/* 80054444 D0 23 80 00 */ stfs f1, -0x8000(r3) -/* 80054448 D0 43 80 00 */ stfs f2, -0x8000(r3) -/* 8005444C 3B FF 00 24 */ addi r31, r31, 0x24 -/* 80054450 38 84 00 01 */ addi r4, r4, 1 -lbl_80054454: -/* 80054454 A0 1E 00 04 */ lhz r0, 4(r30) -/* 80054458 7C 04 00 00 */ cmpw r4, r0 -/* 8005445C 41 80 FF A8 */ blt lbl_80054404 -/* 80054460 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80054464 83 C1 00 08 */ lwz r30, 8(r1) -/* 80054468 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8005446C 7C 08 03 A6 */ mtlr r0 -/* 80054470 38 21 00 10 */ addi r1, r1, 0x10 -/* 80054474 4E 80 00 20 */ blr diff --git a/asm/d/d_drawlist/draw__18dDlst_shadowReal_cFv.s b/asm/d/d_drawlist/draw__18dDlst_shadowReal_cFv.s deleted file mode 100644 index ae83a163b8c..00000000000 --- a/asm/d/d_drawlist/draw__18dDlst_shadowReal_cFv.s +++ /dev/null @@ -1,46 +0,0 @@ -lbl_800545D4: -/* 800545D4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800545D8 7C 08 02 A6 */ mflr r0 -/* 800545DC 90 01 00 24 */ stw r0, 0x24(r1) -/* 800545E0 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 800545E4 7C 7F 1B 78 */ mr r31, r3 -/* 800545E8 88 03 00 01 */ lbz r0, 1(r3) -/* 800545EC 38 6D 80 CC */ la r3, l_color_5004(r13) /* 8045064C-_SDA_BASE_ */ -/* 800545F0 98 03 00 03 */ stb r0, 3(r3) -/* 800545F4 80 0D 80 CC */ lwz r0, l_color_5004(r13) -/* 800545F8 90 01 00 08 */ stw r0, 8(r1) -/* 800545FC 38 60 00 01 */ li r3, 1 -/* 80054600 38 81 00 08 */ addi r4, r1, 8 -/* 80054604 48 30 AD 79 */ bl GXSetTevColor -/* 80054608 3C 60 80 3B */ lis r3, l_shadowProjMat@ha /* 0x803A88E0@ha */ -/* 8005460C 38 63 88 E0 */ addi r3, r3, l_shadowProjMat@l /* 0x803A88E0@l */ -/* 80054610 38 80 00 40 */ li r4, 0x40 -/* 80054614 48 30 B8 DD */ bl GXCallDisplayList -/* 80054618 38 60 00 00 */ li r3, 0 -/* 8005461C 38 80 00 00 */ li r4, 0 -/* 80054620 38 A0 00 00 */ li r5, 0 -/* 80054624 38 C0 00 FF */ li r6, 0xff -/* 80054628 48 30 B0 CD */ bl GXSetTevOrder -/* 8005462C 48 30 6F 61 */ bl GXClearVtxDesc -/* 80054630 38 60 00 09 */ li r3, 9 -/* 80054634 38 80 00 01 */ li r4, 1 -/* 80054638 48 30 68 81 */ bl GXSetVtxDesc -/* 8005463C 38 60 00 00 */ li r3, 0 -/* 80054640 38 80 00 09 */ li r4, 9 -/* 80054644 38 A0 00 01 */ li r5, 1 -/* 80054648 38 C0 00 04 */ li r6, 4 -/* 8005464C 38 E0 00 00 */ li r7, 0 -/* 80054650 48 30 6F 75 */ bl GXSetVtxAttrFmt -/* 80054654 38 60 00 00 */ li r3, 0 -/* 80054658 48 30 BC 95 */ bl GXSetCurrentMtx -/* 8005465C 38 7F 00 78 */ addi r3, r31, 0x78 -/* 80054660 38 80 00 1E */ li r4, 0x1e -/* 80054664 38 A0 00 00 */ li r5, 0 -/* 80054668 48 30 BC B9 */ bl GXLoadTexMtxImm -/* 8005466C 38 7F 00 A8 */ addi r3, r31, 0xa8 -/* 80054670 4B FF FD 45 */ bl draw__18dDlst_shadowPoly_cFv -/* 80054674 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 80054678 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8005467C 7C 08 03 A6 */ mtlr r0 -/* 80054680 38 21 00 20 */ addi r1, r1, 0x20 -/* 80054684 4E 80 00 20 */ blr diff --git a/asm/d/d_drawlist/draw__20dDlst_shadowSimple_cFv.s b/asm/d/d_drawlist/draw__20dDlst_shadowSimple_cFv.s deleted file mode 100644 index 4696deaa5d7..00000000000 --- a/asm/d/d_drawlist/draw__20dDlst_shadowSimple_cFv.s +++ /dev/null @@ -1,123 +0,0 @@ -lbl_8005520C: -/* 8005520C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80055210 7C 08 02 A6 */ mflr r0 -/* 80055214 90 01 00 24 */ stw r0, 0x24(r1) -/* 80055218 39 61 00 20 */ addi r11, r1, 0x20 -/* 8005521C 48 30 CF C1 */ bl _savegpr_29 -/* 80055220 7C 7D 1B 78 */ mr r29, r3 -/* 80055224 3C 60 80 3B */ lis r3, cNullVec__6Z2Calc@ha /* 0x803A87A0@ha */ -/* 80055228 3B C3 87 A0 */ addi r30, r3, cNullVec__6Z2Calc@l /* 0x803A87A0@l */ -/* 8005522C 88 1D 00 00 */ lbz r0, 0(r29) -/* 80055230 38 6D 80 D0 */ la r3, l_color_5326(r13) /* 80450650-_SDA_BASE_ */ -/* 80055234 98 03 00 03 */ stb r0, 3(r3) -/* 80055238 80 0D 80 D0 */ lwz r0, l_color_5326(r13) -/* 8005523C 90 01 00 08 */ stw r0, 8(r1) -/* 80055240 38 60 00 01 */ li r3, 1 -/* 80055244 38 81 00 08 */ addi r4, r1, 8 -/* 80055248 48 30 A1 35 */ bl GXSetTevColor -/* 8005524C 48 30 63 41 */ bl GXClearVtxDesc -/* 80055250 38 60 00 09 */ li r3, 9 -/* 80055254 38 80 00 02 */ li r4, 2 -/* 80055258 48 30 5C 61 */ bl GXSetVtxDesc -/* 8005525C 38 7D 00 08 */ addi r3, r29, 8 -/* 80055260 38 80 00 00 */ li r4, 0 -/* 80055264 48 30 AF E9 */ bl GXLoadPosMtxImm -/* 80055268 38 60 00 00 */ li r3, 0 -/* 8005526C 48 30 B0 81 */ bl GXSetCurrentMtx -/* 80055270 38 7E 02 60 */ addi r3, r30, 0x260 -/* 80055274 38 80 00 40 */ li r4, 0x40 -/* 80055278 48 30 AC 79 */ bl GXCallDisplayList -/* 8005527C 38 7E 03 C0 */ addi r3, r30, 0x3c0 -/* 80055280 38 80 00 40 */ li r4, 0x40 -/* 80055284 48 30 AC 6D */ bl GXCallDisplayList -/* 80055288 38 7E 02 C0 */ addi r3, r30, 0x2c0 -/* 8005528C 38 80 00 20 */ li r4, 0x20 -/* 80055290 48 30 AC 61 */ bl GXCallDisplayList -/* 80055294 38 7E 03 C0 */ addi r3, r30, 0x3c0 -/* 80055298 38 80 00 40 */ li r4, 0x40 -/* 8005529C 48 30 AC 55 */ bl GXCallDisplayList -/* 800552A0 38 7D 00 38 */ addi r3, r29, 0x38 -/* 800552A4 38 80 00 03 */ li r4, 3 -/* 800552A8 48 30 AF A5 */ bl GXLoadPosMtxImm -/* 800552AC 38 60 00 03 */ li r3, 3 -/* 800552B0 48 30 B0 3D */ bl GXSetCurrentMtx -/* 800552B4 80 7D 00 04 */ lwz r3, 4(r29) -/* 800552B8 28 03 00 00 */ cmplwi r3, 0 -/* 800552BC 41 82 00 CC */ beq lbl_80055388 -/* 800552C0 38 80 00 00 */ li r4, 0 -/* 800552C4 48 30 91 51 */ bl GXLoadTexObj -/* 800552C8 48 30 62 C5 */ bl GXClearVtxDesc -/* 800552CC 38 60 00 09 */ li r3, 9 -/* 800552D0 38 80 00 02 */ li r4, 2 -/* 800552D4 48 30 5B E5 */ bl GXSetVtxDesc -/* 800552D8 38 60 00 0D */ li r3, 0xd -/* 800552DC 38 80 00 01 */ li r4, 1 -/* 800552E0 48 30 5B D9 */ bl GXSetVtxDesc -/* 800552E4 38 60 00 00 */ li r3, 0 -/* 800552E8 38 80 00 0F */ li r4, 0xf -/* 800552EC 38 A0 00 0F */ li r5, 0xf -/* 800552F0 38 C0 00 0F */ li r6, 0xf -/* 800552F4 38 E0 00 0F */ li r7, 0xf -/* 800552F8 48 30 9F 2D */ bl GXSetTevColorIn -/* 800552FC 38 60 00 00 */ li r3, 0 -/* 80055300 38 80 00 00 */ li r4, 0 -/* 80055304 38 A0 00 00 */ li r5, 0 -/* 80055308 38 C0 00 00 */ li r6, 0 -/* 8005530C 38 E0 00 01 */ li r7, 1 -/* 80055310 39 00 00 00 */ li r8, 0 -/* 80055314 48 30 9F 99 */ bl GXSetTevColorOp -/* 80055318 38 60 00 00 */ li r3, 0 -/* 8005531C 38 80 00 07 */ li r4, 7 -/* 80055320 38 A0 00 04 */ li r5, 4 -/* 80055324 38 C0 00 03 */ li r6, 3 -/* 80055328 38 E0 00 07 */ li r7, 7 -/* 8005532C 48 30 9F 3D */ bl GXSetTevAlphaIn -/* 80055330 38 60 00 00 */ li r3, 0 -/* 80055334 38 80 00 00 */ li r4, 0 -/* 80055338 38 A0 00 00 */ li r5, 0 -/* 8005533C 38 C0 00 00 */ li r6, 0 -/* 80055340 38 E0 00 01 */ li r7, 1 -/* 80055344 39 00 00 00 */ li r8, 0 -/* 80055348 48 30 9F CD */ bl GXSetTevAlphaOp -/* 8005534C 80 7D 00 04 */ lwz r3, 4(r29) -/* 80055350 48 30 8E F9 */ bl GXGetTexObjHeight -/* 80055354 54 7F 04 3E */ clrlwi r31, r3, 0x10 -/* 80055358 80 7D 00 04 */ lwz r3, 4(r29) -/* 8005535C 48 30 8E DD */ bl GXGetTexObjWidth -/* 80055360 54 60 04 3E */ clrlwi r0, r3, 0x10 -/* 80055364 7C 00 F8 40 */ cmplw r0, r31 -/* 80055368 40 82 00 14 */ bne lbl_8005537C -/* 8005536C 38 7E 04 20 */ addi r3, r30, 0x420 -/* 80055370 38 80 00 40 */ li r4, 0x40 -/* 80055374 48 30 AB 7D */ bl GXCallDisplayList -/* 80055378 48 00 00 10 */ b lbl_80055388 -lbl_8005537C: -/* 8005537C 38 7E 04 80 */ addi r3, r30, 0x480 -/* 80055380 38 80 00 40 */ li r4, 0x40 -/* 80055384 48 30 AB 6D */ bl GXCallDisplayList -lbl_80055388: -/* 80055388 48 30 62 05 */ bl GXClearVtxDesc -/* 8005538C 38 60 00 09 */ li r3, 9 -/* 80055390 38 80 00 02 */ li r4, 2 -/* 80055394 48 30 5B 25 */ bl GXSetVtxDesc -/* 80055398 38 7E 04 E0 */ addi r3, r30, 0x4e0 -/* 8005539C 38 80 00 60 */ li r4, 0x60 -/* 800553A0 48 30 AB 51 */ bl GXCallDisplayList -/* 800553A4 48 30 61 E9 */ bl GXClearVtxDesc -/* 800553A8 38 60 00 09 */ li r3, 9 -/* 800553AC 38 80 00 02 */ li r4, 2 -/* 800553B0 48 30 5B 09 */ bl GXSetVtxDesc -/* 800553B4 38 60 00 00 */ li r3, 0 -/* 800553B8 48 30 AF 35 */ bl GXSetCurrentMtx -/* 800553BC 38 7E 02 00 */ addi r3, r30, 0x200 -/* 800553C0 38 80 00 40 */ li r4, 0x40 -/* 800553C4 48 30 AB 2D */ bl GXCallDisplayList -/* 800553C8 38 7E 03 C0 */ addi r3, r30, 0x3c0 -/* 800553CC 38 80 00 40 */ li r4, 0x40 -/* 800553D0 48 30 AB 21 */ bl GXCallDisplayList -/* 800553D4 39 61 00 20 */ addi r11, r1, 0x20 -/* 800553D8 48 30 CE 51 */ bl _restgpr_29 -/* 800553DC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800553E0 7C 08 03 A6 */ mtlr r0 -/* 800553E4 38 21 00 20 */ addi r1, r1, 0x20 -/* 800553E8 4E 80 00 20 */ blr diff --git a/asm/d/d_drawlist/imageDraw__18dDlst_shadowReal_cFPA4_f.s b/asm/d/d_drawlist/imageDraw__18dDlst_shadowReal_cFPA4_f.s deleted file mode 100644 index 96b709b7f34..00000000000 --- a/asm/d/d_drawlist/imageDraw__18dDlst_shadowReal_cFPA4_f.s +++ /dev/null @@ -1,59 +0,0 @@ -lbl_80054500: -/* 80054500 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 80054504 7C 08 02 A6 */ mflr r0 -/* 80054508 90 01 00 34 */ stw r0, 0x34(r1) -/* 8005450C 39 61 00 30 */ addi r11, r1, 0x30 -/* 80054510 48 30 DC B9 */ bl _savegpr_24 -/* 80054514 7C 7B 1B 78 */ mr r27, r3 -/* 80054518 7C 9C 23 78 */ mr r28, r4 -/* 8005451C 38 7B 00 38 */ addi r3, r27, 0x38 -/* 80054520 38 80 00 01 */ li r4, 1 -/* 80054524 48 30 BB B1 */ bl GXSetProjection -/* 80054528 3B FB 24 B0 */ addi r31, r27, 0x24b0 -/* 8005452C 3B C0 00 00 */ li r30, 0 -/* 80054530 3B 5B 00 08 */ addi r26, r27, 8 -/* 80054534 48 00 00 78 */ b lbl_800545AC -lbl_80054538: -/* 80054538 80 7F 00 00 */ lwz r3, 0(r31) -/* 8005453C 83 23 00 04 */ lwz r25, 4(r3) -/* 80054540 80 79 00 80 */ lwz r3, 0x80(r25) -/* 80054544 80 63 00 00 */ lwz r3, 0(r3) -/* 80054548 48 2C 0D B9 */ bl loadPreDrawSetting__8J3DShapeCFv -/* 8005454C 3B A0 00 00 */ li r29, 0 -/* 80054550 48 00 00 44 */ b lbl_80054594 -lbl_80054554: -/* 80054554 80 79 00 80 */ lwz r3, 0x80(r25) -/* 80054558 57 A4 04 3E */ clrlwi r4, r29, 0x10 -/* 8005455C 57 A0 13 BA */ rlwinm r0, r29, 2, 0xe, 0x1d -/* 80054560 7C 63 00 2E */ lwzx r3, r3, r0 -/* 80054564 80 03 00 0C */ lwz r0, 0xc(r3) -/* 80054568 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 8005456C 40 82 00 24 */ bne lbl_80054590 -/* 80054570 80 7F 00 00 */ lwz r3, 0(r31) -/* 80054574 80 63 00 C4 */ lwz r3, 0xc4(r3) -/* 80054578 1C 04 00 3C */ mulli r0, r4, 0x3c -/* 8005457C 7F 03 02 14 */ add r24, r3, r0 -/* 80054580 93 58 00 30 */ stw r26, 0x30(r24) -/* 80054584 7F 03 C3 78 */ mr r3, r24 -/* 80054588 48 2B EA 35 */ bl drawFast__14J3DShapePacketFv -/* 8005458C 93 98 00 30 */ stw r28, 0x30(r24) -lbl_80054590: -/* 80054590 3B BD 00 01 */ addi r29, r29, 1 -lbl_80054594: -/* 80054594 57 A3 04 3E */ clrlwi r3, r29, 0x10 -/* 80054598 A0 19 00 7C */ lhz r0, 0x7c(r25) -/* 8005459C 7C 03 00 40 */ cmplw r3, r0 -/* 800545A0 41 80 FF B4 */ blt lbl_80054554 -/* 800545A4 3B FF 00 04 */ addi r31, r31, 4 -/* 800545A8 3B DE 00 01 */ addi r30, r30, 1 -lbl_800545AC: -/* 800545AC 57 C3 06 3E */ clrlwi r3, r30, 0x18 -/* 800545B0 88 1B 00 02 */ lbz r0, 2(r27) -/* 800545B4 7C 03 00 40 */ cmplw r3, r0 -/* 800545B8 41 80 FF 80 */ blt lbl_80054538 -/* 800545BC 39 61 00 30 */ addi r11, r1, 0x30 -/* 800545C0 48 30 DC 55 */ bl _restgpr_24 -/* 800545C4 80 01 00 34 */ lwz r0, 0x34(r1) -/* 800545C8 7C 08 03 A6 */ mtlr r0 -/* 800545CC 38 21 00 30 */ addi r1, r1, 0x30 -/* 800545D0 4E 80 00 20 */ blr diff --git a/asm/d/d_drawlist/init__12dDlst_2DT2_cFP7ResTIMGffffUcUcUcff.s b/asm/d/d_drawlist/init__12dDlst_2DT2_cFP7ResTIMGffffUcUcUcff.s deleted file mode 100644 index eaa3026659d..00000000000 --- a/asm/d/d_drawlist/init__12dDlst_2DT2_cFP7ResTIMGffffUcUcUcff.s +++ /dev/null @@ -1,70 +0,0 @@ -lbl_80052B4C: -/* 80052B4C 94 21 FF B0 */ stwu r1, -0x50(r1) -/* 80052B50 7C 08 02 A6 */ mflr r0 -/* 80052B54 90 01 00 54 */ stw r0, 0x54(r1) -/* 80052B58 39 61 00 50 */ addi r11, r1, 0x50 -/* 80052B5C 48 30 F5 DD */ bl _savefpr_26 -/* 80052B60 39 61 00 20 */ addi r11, r1, 0x20 -/* 80052B64 48 30 F6 75 */ bl _savegpr_28 -/* 80052B68 7C 7C 1B 78 */ mr r28, r3 -/* 80052B6C FF 40 08 90 */ fmr f26, f1 -/* 80052B70 FF 60 10 90 */ fmr f27, f2 -/* 80052B74 FF 80 18 90 */ fmr f28, f3 -/* 80052B78 FF A0 20 90 */ fmr f29, f4 -/* 80052B7C 7C BD 2B 78 */ mr r29, r5 -/* 80052B80 7C DE 33 78 */ mr r30, r6 -/* 80052B84 7C FF 3B 78 */ mr r31, r7 -/* 80052B88 FF C0 28 90 */ fmr f30, f5 -/* 80052B8C FF E0 30 90 */ fmr f31, f6 -/* 80052B90 7C 83 23 78 */ mr r3, r4 -/* 80052B94 38 9C 00 04 */ addi r4, r28, 4 -/* 80052B98 38 A0 00 00 */ li r5, 0 -/* 80052B9C 38 C0 00 00 */ li r6, 0 -/* 80052BA0 4B FC 25 9D */ bl mDoLib_setResTimgObj__FPC7ResTIMGP9_GXTexObjUlP10_GXTlutObj -/* 80052BA4 D3 5C 00 24 */ stfs f26, 0x24(r28) -/* 80052BA8 D3 7C 00 28 */ stfs f27, 0x28(r28) -/* 80052BAC D3 9C 00 2C */ stfs f28, 0x2c(r28) -/* 80052BB0 D3 BC 00 30 */ stfs f29, 0x30(r28) -/* 80052BB4 D3 DC 00 34 */ stfs f30, 0x34(r28) -/* 80052BB8 D3 FC 00 38 */ stfs f31, 0x38(r28) -/* 80052BBC 80 02 86 2C */ lwz r0, lit_4284(r2) -/* 80052BC0 90 01 00 08 */ stw r0, 8(r1) -/* 80052BC4 88 01 00 08 */ lbz r0, 8(r1) -/* 80052BC8 98 1C 00 3C */ stb r0, 0x3c(r28) -/* 80052BCC 88 01 00 09 */ lbz r0, 9(r1) -/* 80052BD0 98 1C 00 3D */ stb r0, 0x3d(r28) -/* 80052BD4 88 01 00 0A */ lbz r0, 0xa(r1) -/* 80052BD8 98 1C 00 3E */ stb r0, 0x3e(r28) -/* 80052BDC 88 01 00 0B */ lbz r0, 0xb(r1) -/* 80052BE0 98 1C 00 3F */ stb r0, 0x3f(r28) -/* 80052BE4 9B DC 00 44 */ stb r30, 0x44(r28) -/* 80052BE8 88 1C 00 44 */ lbz r0, 0x44(r28) -/* 80052BEC 28 00 00 00 */ cmplwi r0, 0 -/* 80052BF0 41 82 00 1C */ beq lbl_80052C0C -/* 80052BF4 38 7C 00 04 */ addi r3, r28, 4 -/* 80052BF8 48 30 B6 69 */ bl GXGetTexObjWrapS -/* 80052BFC 2C 03 00 02 */ cmpwi r3, 2 -/* 80052C00 40 82 00 0C */ bne lbl_80052C0C -/* 80052C04 38 00 00 00 */ li r0, 0 -/* 80052C08 98 1C 00 44 */ stb r0, 0x44(r28) -lbl_80052C0C: -/* 80052C0C 9B FC 00 45 */ stb r31, 0x45(r28) -/* 80052C10 88 1C 00 45 */ lbz r0, 0x45(r28) -/* 80052C14 28 00 00 00 */ cmplwi r0, 0 -/* 80052C18 41 82 00 1C */ beq lbl_80052C34 -/* 80052C1C 38 7C 00 04 */ addi r3, r28, 4 -/* 80052C20 48 30 B6 4D */ bl GXGetTexObjWrapT -/* 80052C24 2C 03 00 02 */ cmpwi r3, 2 -/* 80052C28 40 82 00 0C */ bne lbl_80052C34 -/* 80052C2C 38 00 00 00 */ li r0, 0 -/* 80052C30 98 1C 00 45 */ stb r0, 0x45(r28) -lbl_80052C34: -/* 80052C34 9B BC 00 46 */ stb r29, 0x46(r28) -/* 80052C38 39 61 00 50 */ addi r11, r1, 0x50 -/* 80052C3C 48 30 F5 49 */ bl _restfpr_26 -/* 80052C40 39 61 00 20 */ addi r11, r1, 0x20 -/* 80052C44 48 30 F5 E1 */ bl _restgpr_28 -/* 80052C48 80 01 00 54 */ lwz r0, 0x54(r1) -/* 80052C4C 7C 08 03 A6 */ mtlr r0 -/* 80052C50 38 21 00 50 */ addi r1, r1, 0x50 -/* 80052C54 4E 80 00 20 */ blr diff --git a/asm/d/d_drawlist/reset__12dDlst_list_cFv.s b/asm/d/d_drawlist/reset__12dDlst_list_cFv.s deleted file mode 100644 index 78462de9ec3..00000000000 --- a/asm/d/d_drawlist/reset__12dDlst_list_cFv.s +++ /dev/null @@ -1,48 +0,0 @@ -lbl_80056538: -/* 80056538 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8005653C 7C 08 02 A6 */ mflr r0 -/* 80056540 90 01 00 24 */ stw r0, 0x24(r1) -/* 80056544 39 61 00 20 */ addi r11, r1, 0x20 -/* 80056548 48 30 BC 95 */ bl _savegpr_29 -/* 8005654C 7C 7D 1B 78 */ mr r29, r3 -/* 80056550 7F BF EB 78 */ mr r31, r29 -/* 80056554 3B C0 00 00 */ li r30, 0 -lbl_80056558: -/* 80056558 80 7F 00 00 */ lwz r3, 0(r31) -/* 8005655C 3B FF 00 04 */ addi r31, r31, 4 -/* 80056560 48 2C EB 09 */ bl frameInit__13J3DDrawBufferFv -/* 80056564 3B DE 00 01 */ addi r30, r30, 1 -/* 80056568 2C 1E 00 15 */ cmpwi r30, 0x15 -/* 8005656C 41 80 FF EC */ blt lbl_80056558 -/* 80056570 80 1D 00 1C */ lwz r0, 0x1c(r29) -/* 80056574 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */ -/* 80056578 38 63 4A C8 */ addi r3, r3, j3dSys@l /* 0x80434AC8@l */ -/* 8005657C 90 03 00 48 */ stw r0, 0x48(r3) -/* 80056580 80 1D 00 20 */ lwz r0, 0x20(r29) -/* 80056584 90 03 00 4C */ stw r0, 0x4c(r3) -/* 80056588 38 1D 00 54 */ addi r0, r29, 0x54 -/* 8005658C 90 1D 00 64 */ stw r0, 0x64(r29) -/* 80056590 38 1D 00 6C */ addi r0, r29, 0x6c -/* 80056594 90 1D 00 AC */ stw r0, 0xac(r29) -/* 80056598 38 1D 00 B4 */ addi r0, r29, 0xb4 -/* 8005659C 90 1D 01 B4 */ stw r0, 0x1b4(r29) -/* 800565A0 38 1D 01 BC */ addi r0, r29, 0x1bc -/* 800565A4 90 1D 02 3C */ stw r0, 0x23c(r29) -/* 800565A8 38 7D 02 5C */ addi r3, r29, 0x25c -/* 800565AC 4B FF F1 BD */ bl reset__21dDlst_shadowControl_cFv -/* 800565B0 38 60 00 00 */ li r3, 0 -/* 800565B4 7C 65 1B 78 */ mr r5, r3 -/* 800565B8 38 00 00 03 */ li r0, 3 -/* 800565BC 7C 09 03 A6 */ mtctr r0 -lbl_800565C0: -/* 800565C0 3C 83 00 01 */ addis r4, r3, 1 -/* 800565C4 38 84 61 64 */ addi r4, r4, 0x6164 -/* 800565C8 7C BD 21 2E */ stwx r5, r29, r4 -/* 800565CC 38 63 00 14 */ addi r3, r3, 0x14 -/* 800565D0 42 00 FF F0 */ bdnz lbl_800565C0 -/* 800565D4 39 61 00 20 */ addi r11, r1, 0x20 -/* 800565D8 48 30 BC 51 */ bl _restgpr_29 -/* 800565DC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800565E0 7C 08 03 A6 */ mtlr r0 -/* 800565E4 38 21 00 20 */ addi r1, r1, 0x20 -/* 800565E8 4E 80 00 20 */ blr diff --git a/asm/d/d_drawlist/setSimpleTex__21dDlst_shadowControl_cFPC7ResTIMG.s b/asm/d/d_drawlist/setSimpleTex__21dDlst_shadowControl_cFPC7ResTIMG.s deleted file mode 100644 index 1671d0ecda9..00000000000 --- a/asm/d/d_drawlist/setSimpleTex__21dDlst_shadowControl_cFPC7ResTIMG.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_80055FE8: -/* 80055FE8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80055FEC 7C 08 02 A6 */ mflr r0 -/* 80055FF0 90 01 00 14 */ stw r0, 0x14(r1) -/* 80055FF4 3C 80 80 42 */ lis r4, mSimpleTexObj__21dDlst_shadowControl_c@ha /* 0x804248D0@ha */ -/* 80055FF8 38 84 48 D0 */ addi r4, r4, mSimpleTexObj__21dDlst_shadowControl_c@l /* 0x804248D0@l */ -/* 80055FFC 38 A0 00 00 */ li r5, 0 -/* 80056000 38 C0 00 00 */ li r6, 0 -/* 80056004 4B FB F1 39 */ bl mDoLib_setResTimgObj__FPC7ResTIMGP9_GXTexObjUlP10_GXTlutObj -/* 80056008 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8005600C 7C 08 03 A6 */ mtlr r0 -/* 80056010 38 21 00 10 */ addi r1, r1, 0x10 -/* 80056014 4E 80 00 20 */ blr diff --git a/asm/d/d_drawlist/setSimple__21dDlst_shadowControl_cFP4cXyzffP4cXyzsfP9_GXTexObj.s b/asm/d/d_drawlist/setSimple__21dDlst_shadowControl_cFP4cXyzffP4cXyzsfP9_GXTexObj.s deleted file mode 100644 index d2289f98f59..00000000000 --- a/asm/d/d_drawlist/setSimple__21dDlst_shadowControl_cFP4cXyzffP4cXyzsfP9_GXTexObj.s +++ /dev/null @@ -1,29 +0,0 @@ -lbl_80055F84: -/* 80055F84 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80055F88 7C 08 02 A6 */ mflr r0 -/* 80055F8C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80055F90 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80055F94 7C 7F 1B 78 */ mr r31, r3 -/* 80055F98 28 05 00 00 */ cmplwi r5, 0 -/* 80055F9C 41 82 00 10 */ beq lbl_80055FAC -/* 80055FA0 88 1F 00 02 */ lbz r0, 2(r31) -/* 80055FA4 28 00 00 80 */ cmplwi r0, 0x80 -/* 80055FA8 41 80 00 0C */ blt lbl_80055FB4 -lbl_80055FAC: -/* 80055FAC 38 60 00 00 */ li r3, 0 -/* 80055FB0 48 00 00 24 */ b lbl_80055FD4 -lbl_80055FB4: -/* 80055FB4 1C 60 00 68 */ mulli r3, r0, 0x68 -/* 80055FB8 38 63 00 0C */ addi r3, r3, 0xc -/* 80055FBC 7C 7F 1A 14 */ add r3, r31, r3 -/* 80055FC0 4B FF F4 2D */ bl set__20dDlst_shadowSimple_cFP4cXyzffP4cXyzsfP9_GXTexObj -/* 80055FC4 88 7F 00 02 */ lbz r3, 2(r31) -/* 80055FC8 38 03 00 01 */ addi r0, r3, 1 -/* 80055FCC 98 1F 00 02 */ stb r0, 2(r31) -/* 80055FD0 38 60 00 01 */ li r3, 1 -lbl_80055FD4: -/* 80055FD4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80055FD8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80055FDC 7C 08 03 A6 */ mtlr r0 -/* 80055FE0 38 21 00 10 */ addi r1, r1, 0x10 -/* 80055FE4 4E 80 00 20 */ blr diff --git a/asm/d/d_drawlist/set__18dDlst_shadowReal_cFUlP8J3DModelP4cXyzffP12dKy_tevstr_cff.s b/asm/d/d_drawlist/set__18dDlst_shadowReal_cFUlP8J3DModelP4cXyzffP12dKy_tevstr_cff.s deleted file mode 100644 index f133db70a59..00000000000 --- a/asm/d/d_drawlist/set__18dDlst_shadowReal_cFUlP8J3DModelP4cXyzffP12dKy_tevstr_cff.s +++ /dev/null @@ -1,114 +0,0 @@ -lbl_80055028: -/* 80055028 94 21 FF 80 */ stwu r1, -0x80(r1) -/* 8005502C 7C 08 02 A6 */ mflr r0 -/* 80055030 90 01 00 84 */ stw r0, 0x84(r1) -/* 80055034 DB E1 00 70 */ stfd f31, 0x70(r1) -/* 80055038 F3 E1 00 78 */ psq_st f31, 120(r1), 0, 0 /* qr0 */ -/* 8005503C DB C1 00 60 */ stfd f30, 0x60(r1) -/* 80055040 F3 C1 00 68 */ psq_st f30, 104(r1), 0, 0 /* qr0 */ -/* 80055044 DB A1 00 50 */ stfd f29, 0x50(r1) -/* 80055048 F3 A1 00 58 */ psq_st f29, 88(r1), 0, 0 /* qr0 */ -/* 8005504C DB 81 00 40 */ stfd f28, 0x40(r1) -/* 80055050 F3 81 00 48 */ psq_st f28, 72(r1), 0, 0 /* qr0 */ -/* 80055054 39 61 00 40 */ addi r11, r1, 0x40 -/* 80055058 48 30 D1 79 */ bl _savegpr_26 -/* 8005505C 7C 7E 1B 78 */ mr r30, r3 -/* 80055060 7C 9A 23 78 */ mr r26, r4 -/* 80055064 7C BF 2B 78 */ mr r31, r5 -/* 80055068 7C DB 33 78 */ mr r27, r6 -/* 8005506C FF 80 08 90 */ fmr f28, f1 -/* 80055070 FF A0 10 90 */ fmr f29, f2 -/* 80055074 7C FC 3B 78 */ mr r28, r7 -/* 80055078 FF C0 18 90 */ fmr f30, f3 -/* 8005507C FF E0 20 90 */ fmr f31, f4 -/* 80055080 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 80055084 3B A3 CA 54 */ addi r29, r3, g_env_light@l /* 0x8042CA54@l */ -/* 80055088 88 1E 00 02 */ lbz r0, 2(r30) -/* 8005508C 28 00 00 00 */ cmplwi r0, 0 -/* 80055090 40 82 00 F0 */ bne lbl_80055180 -/* 80055094 28 1C 00 00 */ cmplwi r28, 0 -/* 80055098 41 82 00 20 */ beq lbl_800550B8 -/* 8005509C C0 1C 03 38 */ lfs f0, 0x338(r28) -/* 800550A0 D0 01 00 14 */ stfs f0, 0x14(r1) -/* 800550A4 C0 1C 03 3C */ lfs f0, 0x33c(r28) -/* 800550A8 D0 01 00 18 */ stfs f0, 0x18(r1) -/* 800550AC C0 1C 03 40 */ lfs f0, 0x340(r28) -/* 800550B0 D0 01 00 1C */ stfs f0, 0x1c(r1) -/* 800550B4 48 00 00 74 */ b lbl_80055128 -lbl_800550B8: -/* 800550B8 38 61 00 08 */ addi r3, r1, 8 -/* 800550BC 48 15 26 59 */ bl dKy_plight_near_pos__Fv -/* 800550C0 C0 01 00 08 */ lfs f0, 8(r1) -/* 800550C4 D0 01 00 14 */ stfs f0, 0x14(r1) -/* 800550C8 C0 01 00 0C */ lfs f0, 0xc(r1) -/* 800550CC D0 01 00 18 */ stfs f0, 0x18(r1) -/* 800550D0 C0 01 00 10 */ lfs f0, 0x10(r1) -/* 800550D4 D0 01 00 1C */ stfs f0, 0x1c(r1) -/* 800550D8 88 7D 12 D7 */ lbz r3, 0x12d7(r29) -/* 800550DC 54 60 07 7B */ rlwinm. r0, r3, 0, 0x1d, 0x1d -/* 800550E0 40 82 00 48 */ bne lbl_80055128 -/* 800550E4 54 60 07 FF */ clrlwi. r0, r3, 0x1f -/* 800550E8 40 82 00 0C */ bne lbl_800550F4 -/* 800550EC 54 60 07 BD */ rlwinm. r0, r3, 0, 0x1e, 0x1e -/* 800550F0 41 82 00 38 */ beq lbl_80055128 -lbl_800550F4: -/* 800550F4 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 800550F8 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */ -/* 800550FC C0 23 10 A0 */ lfs f1, 0x10a0(r3) -/* 80055100 D0 21 00 14 */ stfs f1, 0x14(r1) -/* 80055104 C0 03 10 A4 */ lfs f0, 0x10a4(r3) -/* 80055108 D0 01 00 18 */ stfs f0, 0x18(r1) -/* 8005510C C0 03 10 A8 */ lfs f0, 0x10a8(r3) -/* 80055110 D0 01 00 1C */ stfs f0, 0x1c(r1) -/* 80055114 D0 3C 03 38 */ stfs f1, 0x338(r28) -/* 80055118 C0 03 10 A4 */ lfs f0, 0x10a4(r3) -/* 8005511C D0 1C 03 3C */ stfs f0, 0x33c(r28) -/* 80055120 C0 03 10 A8 */ lfs f0, 0x10a8(r3) -/* 80055124 D0 1C 03 40 */ stfs f0, 0x340(r28) -lbl_80055128: -/* 80055128 7F C3 F3 78 */ mr r3, r30 -/* 8005512C 38 81 00 14 */ addi r4, r1, 0x14 -/* 80055130 7F 65 DB 78 */ mr r5, r27 -/* 80055134 FC 20 E0 90 */ fmr f1, f28 -/* 80055138 FC 40 E8 90 */ fmr f2, f29 -/* 8005513C FC 60 F8 90 */ fmr f3, f31 -/* 80055140 7F 86 E3 78 */ mr r6, r28 -/* 80055144 4B FF FA 8D */ bl setShadowRealMtx__18dDlst_shadowReal_cFP4cXyzP4cXyzfffP12dKy_tevstr_c -/* 80055148 98 7E 00 01 */ stb r3, 1(r30) -/* 8005514C 88 1E 00 01 */ lbz r0, 1(r30) -/* 80055150 28 00 00 00 */ cmplwi r0, 0 -/* 80055154 40 82 00 0C */ bne lbl_80055160 -/* 80055158 38 60 00 00 */ li r3, 0 -/* 8005515C 48 00 00 40 */ b lbl_8005519C -lbl_80055160: -/* 80055160 38 00 00 01 */ li r0, 1 -/* 80055164 98 1E 00 00 */ stb r0, 0(r30) -/* 80055168 93 5E 00 04 */ stw r26, 4(r30) -/* 8005516C 38 00 00 00 */ li r0, 0 -/* 80055170 98 1E 00 02 */ stb r0, 2(r30) -/* 80055174 D3 DE 25 48 */ stfs f30, 0x2548(r30) -/* 80055178 90 1E 25 4C */ stw r0, 0x254c(r30) -/* 8005517C 90 1E 25 50 */ stw r0, 0x2550(r30) -lbl_80055180: -/* 80055180 88 7E 00 02 */ lbz r3, 2(r30) -/* 80055184 38 03 00 01 */ addi r0, r3, 1 -/* 80055188 98 1E 00 02 */ stb r0, 2(r30) -/* 8005518C 54 60 15 BA */ rlwinm r0, r3, 2, 0x16, 0x1d -/* 80055190 7C 7E 02 14 */ add r3, r30, r0 -/* 80055194 93 E3 24 B0 */ stw r31, 0x24b0(r3) -/* 80055198 80 7E 00 04 */ lwz r3, 4(r30) -lbl_8005519C: -/* 8005519C E3 E1 00 78 */ psq_l f31, 120(r1), 0, 0 /* qr0 */ -/* 800551A0 CB E1 00 70 */ lfd f31, 0x70(r1) -/* 800551A4 E3 C1 00 68 */ psq_l f30, 104(r1), 0, 0 /* qr0 */ -/* 800551A8 CB C1 00 60 */ lfd f30, 0x60(r1) -/* 800551AC E3 A1 00 58 */ psq_l f29, 88(r1), 0, 0 /* qr0 */ -/* 800551B0 CB A1 00 50 */ lfd f29, 0x50(r1) -/* 800551B4 E3 81 00 48 */ psq_l f28, 72(r1), 0, 0 /* qr0 */ -/* 800551B8 CB 81 00 40 */ lfd f28, 0x40(r1) -/* 800551BC 39 61 00 40 */ addi r11, r1, 0x40 -/* 800551C0 48 30 D0 5D */ bl _restgpr_26 -/* 800551C4 80 01 00 84 */ lwz r0, 0x84(r1) -/* 800551C8 7C 08 03 A6 */ mtlr r0 -/* 800551CC 38 21 00 80 */ addi r1, r1, 0x80 -/* 800551D0 4E 80 00 20 */ blr diff --git a/asm/d/d_drawlist/update__18dDlst_effectLine_cFR4cXyzR8_GXColorUsUsUsUsffff.s b/asm/d/d_drawlist/update__18dDlst_effectLine_cFR4cXyzR8_GXColorUsUsUsUsffff.s deleted file mode 100644 index b6c09470c50..00000000000 --- a/asm/d/d_drawlist/update__18dDlst_effectLine_cFR4cXyzR8_GXColorUsUsUsUsffff.s +++ /dev/null @@ -1,38 +0,0 @@ -lbl_800541F4: -/* 800541F4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800541F8 7C 08 02 A6 */ mflr r0 -/* 800541FC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80054200 7C 6A 1B 78 */ mr r10, r3 -/* 80054204 C0 04 00 00 */ lfs f0, 0(r4) -/* 80054208 D0 03 00 10 */ stfs f0, 0x10(r3) -/* 8005420C C0 04 00 04 */ lfs f0, 4(r4) -/* 80054210 D0 03 00 14 */ stfs f0, 0x14(r3) -/* 80054214 C0 04 00 08 */ lfs f0, 8(r4) -/* 80054218 D0 03 00 18 */ stfs f0, 0x18(r3) -/* 8005421C 88 05 00 00 */ lbz r0, 0(r5) -/* 80054220 98 03 00 1C */ stb r0, 0x1c(r3) -/* 80054224 88 05 00 01 */ lbz r0, 1(r5) -/* 80054228 98 03 00 1D */ stb r0, 0x1d(r3) -/* 8005422C 88 05 00 02 */ lbz r0, 2(r5) -/* 80054230 98 03 00 1E */ stb r0, 0x1e(r3) -/* 80054234 88 05 00 03 */ lbz r0, 3(r5) -/* 80054238 98 03 00 1F */ stb r0, 0x1f(r3) -/* 8005423C B0 C3 00 20 */ sth r6, 0x20(r3) -/* 80054240 B0 E3 00 22 */ sth r7, 0x22(r3) -/* 80054244 B1 03 00 24 */ sth r8, 0x24(r3) -/* 80054248 B1 23 00 26 */ sth r9, 0x26(r3) -/* 8005424C D0 23 00 28 */ stfs f1, 0x28(r3) -/* 80054250 D0 43 00 2C */ stfs f2, 0x2c(r3) -/* 80054254 D0 63 00 30 */ stfs f3, 0x30(r3) -/* 80054258 D0 83 00 34 */ stfs f4, 0x34(r3) -/* 8005425C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80054260 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80054264 38 63 5F 64 */ addi r3, r3, 0x5f64 -/* 80054268 38 83 01 B4 */ addi r4, r3, 0x1b4 -/* 8005426C 38 A3 01 B8 */ addi r5, r3, 0x1b8 -/* 80054270 7D 46 53 78 */ mr r6, r10 -/* 80054274 48 00 25 21 */ bl set__12dDlst_list_cFRPP12dDlst_base_cRPP12dDlst_base_cP12dDlst_base_c -/* 80054278 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8005427C 7C 08 03 A6 */ mtlr r0 -/* 80054280 38 21 00 10 */ addi r1, r1, 0x10 -/* 80054284 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_calibration/__dt__19dMenu_Calibration_cFv.s b/asm/d/menu/d_menu_calibration/__dt__19dMenu_Calibration_cFv.s deleted file mode 100644 index 1399a5731a3..00000000000 --- a/asm/d/menu/d_menu_calibration/__dt__19dMenu_Calibration_cFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_801AED64: -/* 801AED64 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801AED68 7C 08 02 A6 */ mflr r0 -/* 801AED6C 90 01 00 14 */ stw r0, 0x14(r1) -/* 801AED70 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801AED74 7C 7F 1B 79 */ or. r31, r3, r3 -/* 801AED78 41 82 00 1C */ beq lbl_801AED94 -/* 801AED7C 3C A0 80 3C */ lis r5, __vt__19dMenu_Calibration_c@ha /* 0x803BC364@ha */ -/* 801AED80 38 05 C3 64 */ addi r0, r5, __vt__19dMenu_Calibration_c@l /* 0x803BC364@l */ -/* 801AED84 90 1F 00 00 */ stw r0, 0(r31) -/* 801AED88 7C 80 07 35 */ extsh. r0, r4 -/* 801AED8C 40 81 00 08 */ ble lbl_801AED94 -/* 801AED90 48 11 FF AD */ bl __dl__FPv -lbl_801AED94: -/* 801AED94 7F E3 FB 78 */ mr r3, r31 -/* 801AED98 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801AED9C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801AEDA0 7C 08 03 A6 */ mtlr r0 -/* 801AEDA4 38 21 00 10 */ addi r1, r1, 0x10 -/* 801AEDA8 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_calibration/__sinit_d_menu_calibration_cpp.s b/asm/d/menu/d_menu_calibration/__sinit_d_menu_calibration_cpp.s deleted file mode 100644 index 235e9c97adb..00000000000 --- a/asm/d/menu/d_menu_calibration/__sinit_d_menu_calibration_cpp.s +++ /dev/null @@ -1,78 +0,0 @@ -lbl_801AFC14: -/* 801AFC14 3C 60 80 3C */ lis r3, cNullVec__6Z2Calc@ha /* 0x803BC238@ha */ -/* 801AFC18 38 63 C2 38 */ addi r3, r3, cNullVec__6Z2Calc@l /* 0x803BC238@l */ -/* 801AFC1C 80 83 00 0C */ lwz r4, 0xc(r3) -/* 801AFC20 80 03 00 10 */ lwz r0, 0x10(r3) -/* 801AFC24 90 83 00 54 */ stw r4, 0x54(r3) -/* 801AFC28 90 03 00 58 */ stw r0, 0x58(r3) -/* 801AFC2C 80 03 00 14 */ lwz r0, 0x14(r3) -/* 801AFC30 90 03 00 5C */ stw r0, 0x5c(r3) -/* 801AFC34 38 A3 00 54 */ addi r5, r3, 0x54 -/* 801AFC38 80 83 00 18 */ lwz r4, 0x18(r3) -/* 801AFC3C 80 03 00 1C */ lwz r0, 0x1c(r3) -/* 801AFC40 90 85 00 0C */ stw r4, 0xc(r5) -/* 801AFC44 90 05 00 10 */ stw r0, 0x10(r5) -/* 801AFC48 80 03 00 20 */ lwz r0, 0x20(r3) -/* 801AFC4C 90 05 00 14 */ stw r0, 0x14(r5) -/* 801AFC50 80 83 00 24 */ lwz r4, 0x24(r3) -/* 801AFC54 80 03 00 28 */ lwz r0, 0x28(r3) -/* 801AFC58 90 85 00 18 */ stw r4, 0x18(r5) -/* 801AFC5C 90 05 00 1C */ stw r0, 0x1c(r5) -/* 801AFC60 80 03 00 2C */ lwz r0, 0x2c(r3) -/* 801AFC64 90 05 00 20 */ stw r0, 0x20(r5) -/* 801AFC68 80 83 00 30 */ lwz r4, 0x30(r3) -/* 801AFC6C 80 03 00 34 */ lwz r0, 0x34(r3) -/* 801AFC70 90 85 00 24 */ stw r4, 0x24(r5) -/* 801AFC74 90 05 00 28 */ stw r0, 0x28(r5) -/* 801AFC78 80 03 00 38 */ lwz r0, 0x38(r3) -/* 801AFC7C 90 05 00 2C */ stw r0, 0x2c(r5) -/* 801AFC80 80 83 00 3C */ lwz r4, 0x3c(r3) -/* 801AFC84 80 03 00 40 */ lwz r0, 0x40(r3) -/* 801AFC88 90 85 00 30 */ stw r4, 0x30(r5) -/* 801AFC8C 90 05 00 34 */ stw r0, 0x34(r5) -/* 801AFC90 80 03 00 44 */ lwz r0, 0x44(r3) -/* 801AFC94 90 05 00 38 */ stw r0, 0x38(r5) -/* 801AFC98 80 83 00 48 */ lwz r4, 0x48(r3) -/* 801AFC9C 80 03 00 4C */ lwz r0, 0x4c(r3) -/* 801AFCA0 90 85 00 3C */ stw r4, 0x3c(r5) -/* 801AFCA4 90 05 00 40 */ stw r0, 0x40(r5) -/* 801AFCA8 80 03 00 50 */ lwz r0, 0x50(r3) -/* 801AFCAC 90 05 00 44 */ stw r0, 0x44(r5) -/* 801AFCB0 80 83 00 9C */ lwz r4, 0x9c(r3) -/* 801AFCB4 80 03 00 A0 */ lwz r0, 0xa0(r3) -/* 801AFCB8 90 83 00 E4 */ stw r4, 0xe4(r3) -/* 801AFCBC 90 03 00 E8 */ stw r0, 0xe8(r3) -/* 801AFCC0 80 03 00 A4 */ lwz r0, 0xa4(r3) -/* 801AFCC4 90 03 00 EC */ stw r0, 0xec(r3) -/* 801AFCC8 38 A3 00 E4 */ addi r5, r3, 0xe4 -/* 801AFCCC 80 83 00 A8 */ lwz r4, 0xa8(r3) -/* 801AFCD0 80 03 00 AC */ lwz r0, 0xac(r3) -/* 801AFCD4 90 85 00 0C */ stw r4, 0xc(r5) -/* 801AFCD8 90 05 00 10 */ stw r0, 0x10(r5) -/* 801AFCDC 80 03 00 B0 */ lwz r0, 0xb0(r3) -/* 801AFCE0 90 05 00 14 */ stw r0, 0x14(r5) -/* 801AFCE4 80 83 00 B4 */ lwz r4, 0xb4(r3) -/* 801AFCE8 80 03 00 B8 */ lwz r0, 0xb8(r3) -/* 801AFCEC 90 85 00 18 */ stw r4, 0x18(r5) -/* 801AFCF0 90 05 00 1C */ stw r0, 0x1c(r5) -/* 801AFCF4 80 03 00 BC */ lwz r0, 0xbc(r3) -/* 801AFCF8 90 05 00 20 */ stw r0, 0x20(r5) -/* 801AFCFC 80 83 00 C0 */ lwz r4, 0xc0(r3) -/* 801AFD00 80 03 00 C4 */ lwz r0, 0xc4(r3) -/* 801AFD04 90 85 00 24 */ stw r4, 0x24(r5) -/* 801AFD08 90 05 00 28 */ stw r0, 0x28(r5) -/* 801AFD0C 80 03 00 C8 */ lwz r0, 0xc8(r3) -/* 801AFD10 90 05 00 2C */ stw r0, 0x2c(r5) -/* 801AFD14 80 83 00 CC */ lwz r4, 0xcc(r3) -/* 801AFD18 80 03 00 D0 */ lwz r0, 0xd0(r3) -/* 801AFD1C 90 85 00 30 */ stw r4, 0x30(r5) -/* 801AFD20 90 05 00 34 */ stw r0, 0x34(r5) -/* 801AFD24 80 03 00 D4 */ lwz r0, 0xd4(r3) -/* 801AFD28 90 05 00 38 */ stw r0, 0x38(r5) -/* 801AFD2C 80 83 00 D8 */ lwz r4, 0xd8(r3) -/* 801AFD30 80 03 00 DC */ lwz r0, 0xdc(r3) -/* 801AFD34 90 85 00 3C */ stw r4, 0x3c(r5) -/* 801AFD38 90 05 00 40 */ stw r0, 0x40(r5) -/* 801AFD3C 80 03 00 E0 */ lwz r0, 0xe0(r3) -/* 801AFD40 90 05 00 44 */ stw r0, 0x44(r5) -/* 801AFD44 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_calibration/_move__19dMenu_Calibration_cFv.s b/asm/d/menu/d_menu_calibration/_move__19dMenu_Calibration_cFv.s deleted file mode 100644 index 82a50e976da..00000000000 --- a/asm/d/menu/d_menu_calibration/_move__19dMenu_Calibration_cFv.s +++ /dev/null @@ -1,34 +0,0 @@ -lbl_801AEDAC: -/* 801AEDAC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801AEDB0 7C 08 02 A6 */ mflr r0 -/* 801AEDB4 90 01 00 14 */ stw r0, 0x14(r1) -/* 801AEDB8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801AEDBC 93 C1 00 08 */ stw r30, 8(r1) -/* 801AEDC0 7C 7E 1B 78 */ mr r30, r3 -/* 801AEDC4 8B E3 01 00 */ lbz r31, 0x100(r3) -/* 801AEDC8 1C BF 00 0C */ mulli r5, r31, 0xc -/* 801AEDCC 3C 80 80 3C */ lis r4, map_move_process@ha /* 0x803BC31C@ha */ -/* 801AEDD0 38 04 C3 1C */ addi r0, r4, map_move_process@l /* 0x803BC31C@l */ -/* 801AEDD4 7D 80 2A 14 */ add r12, r0, r5 -/* 801AEDD8 48 1B 32 AD */ bl __ptmf_scall -/* 801AEDDC 60 00 00 00 */ nop -/* 801AEDE0 88 1E 01 00 */ lbz r0, 0x100(r30) -/* 801AEDE4 7C 1F 00 40 */ cmplw r31, r0 -/* 801AEDE8 41 82 00 20 */ beq lbl_801AEE08 -/* 801AEDEC 7F C3 F3 78 */ mr r3, r30 -/* 801AEDF0 1C A0 00 0C */ mulli r5, r0, 0xc -/* 801AEDF4 3C 80 80 3C */ lis r4, map_init_process@ha /* 0x803BC28C@ha */ -/* 801AEDF8 38 04 C2 8C */ addi r0, r4, map_init_process@l /* 0x803BC28C@l */ -/* 801AEDFC 7D 80 2A 14 */ add r12, r0, r5 -/* 801AEE00 48 1B 32 85 */ bl __ptmf_scall -/* 801AEE04 60 00 00 00 */ nop -lbl_801AEE08: -/* 801AEE08 7F C3 F3 78 */ mr r3, r30 -/* 801AEE0C 38 80 00 00 */ li r4, 0 -/* 801AEE10 48 00 0B F1 */ bl setHIO__19dMenu_Calibration_cFb -/* 801AEE14 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801AEE18 83 C1 00 08 */ lwz r30, 8(r1) -/* 801AEE1C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801AEE20 7C 08 03 A6 */ mtlr r0 -/* 801AEE24 38 21 00 10 */ addi r1, r1, 0x10 -/* 801AEE28 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_calibration/draw__19dMenu_Calibration_cFv.s b/asm/d/menu/d_menu_calibration/draw__19dMenu_Calibration_cFv.s deleted file mode 100644 index 0b8dbafe75f..00000000000 --- a/asm/d/menu/d_menu_calibration/draw__19dMenu_Calibration_cFv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_801AFBF4: -/* 801AFBF4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801AFBF8 7C 08 02 A6 */ mflr r0 -/* 801AFBFC 90 01 00 14 */ stw r0, 0x14(r1) -/* 801AFC00 4B FF F2 2D */ bl _draw__19dMenu_Calibration_cFv -/* 801AFC04 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801AFC08 7C 08 03 A6 */ mtlr r0 -/* 801AFC0C 38 21 00 10 */ addi r1, r1, 0x10 -/* 801AFC10 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_calibration/setAButtonString__19dMenu_Calibration_cFUs.s b/asm/d/menu/d_menu_calibration/setAButtonString__19dMenu_Calibration_cFUs.s deleted file mode 100644 index 401b66cc2a3..00000000000 --- a/asm/d/menu/d_menu_calibration/setAButtonString__19dMenu_Calibration_cFUs.s +++ /dev/null @@ -1,49 +0,0 @@ -lbl_801AF738: -/* 801AF738 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 801AF73C 7C 08 02 A6 */ mflr r0 -/* 801AF740 90 01 00 24 */ stw r0, 0x24(r1) -/* 801AF744 39 61 00 20 */ addi r11, r1, 0x20 -/* 801AF748 48 1B 2A 8D */ bl _savegpr_27 -/* 801AF74C 7C 7B 1B 78 */ mr r27, r3 -/* 801AF750 54 9D 04 3F */ clrlwi. r29, r4, 0x10 -/* 801AF754 40 82 00 3C */ bne lbl_801AF790 -/* 801AF758 3B A0 00 00 */ li r29, 0 -/* 801AF75C 3B E0 00 00 */ li r31, 0 -/* 801AF760 3C 60 80 39 */ lis r3, d_menu_d_menu_calibration__stringBase0@ha /* 0x80394F70@ha */ -/* 801AF764 3B C3 4F 70 */ addi r30, r3, d_menu_d_menu_calibration__stringBase0@l /* 0x80394F70@l */ -lbl_801AF768: -/* 801AF768 38 1F 00 14 */ addi r0, r31, 0x14 -/* 801AF76C 7C 7B 00 2E */ lwzx r3, r27, r0 -/* 801AF770 48 15 0E E9 */ bl getStringPtr__10J2DTextBoxCFv -/* 801AF774 7F C4 F3 78 */ mr r4, r30 -/* 801AF778 48 1B 93 B5 */ bl strcpy -/* 801AF77C 3B BD 00 01 */ addi r29, r29, 1 -/* 801AF780 2C 1D 00 05 */ cmpwi r29, 5 -/* 801AF784 3B FF 00 04 */ addi r31, r31, 4 -/* 801AF788 41 80 FF E0 */ blt lbl_801AF768 -/* 801AF78C 48 00 00 44 */ b lbl_801AF7D0 -lbl_801AF790: -/* 801AF790 3B 80 00 00 */ li r28, 0 -/* 801AF794 3B E0 00 00 */ li r31, 0 -/* 801AF798 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */ -/* 801AF79C 3B C3 01 88 */ addi r30, r3, g_meter2_info@l /* 0x80430188@l */ -lbl_801AF7A0: -/* 801AF7A0 38 1F 00 14 */ addi r0, r31, 0x14 -/* 801AF7A4 7C 7B 00 2E */ lwzx r3, r27, r0 -/* 801AF7A8 48 15 0E B1 */ bl getStringPtr__10J2DTextBoxCFv -/* 801AF7AC 7C 65 1B 78 */ mr r5, r3 -/* 801AF7B0 7F C3 F3 78 */ mr r3, r30 -/* 801AF7B4 7F A4 EB 78 */ mr r4, r29 -/* 801AF7B8 38 C0 00 00 */ li r6, 0 -/* 801AF7BC 48 06 CD 89 */ bl getStringKanji__13dMeter2Info_cFUlPcP14JMSMesgEntry_c -/* 801AF7C0 3B 9C 00 01 */ addi r28, r28, 1 -/* 801AF7C4 2C 1C 00 05 */ cmpwi r28, 5 -/* 801AF7C8 3B FF 00 04 */ addi r31, r31, 4 -/* 801AF7CC 41 80 FF D4 */ blt lbl_801AF7A0 -lbl_801AF7D0: -/* 801AF7D0 39 61 00 20 */ addi r11, r1, 0x20 -/* 801AF7D4 48 1B 2A 4D */ bl _restgpr_27 -/* 801AF7D8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 801AF7DC 7C 08 03 A6 */ mtlr r0 -/* 801AF7E0 38 21 00 20 */ addi r1, r1, 0x20 -/* 801AF7E4 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_calibration/setBButtonString__19dMenu_Calibration_cFUs.s b/asm/d/menu/d_menu_calibration/setBButtonString__19dMenu_Calibration_cFUs.s deleted file mode 100644 index 5c99fe03d95..00000000000 --- a/asm/d/menu/d_menu_calibration/setBButtonString__19dMenu_Calibration_cFUs.s +++ /dev/null @@ -1,49 +0,0 @@ -lbl_801AF7E8: -/* 801AF7E8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 801AF7EC 7C 08 02 A6 */ mflr r0 -/* 801AF7F0 90 01 00 24 */ stw r0, 0x24(r1) -/* 801AF7F4 39 61 00 20 */ addi r11, r1, 0x20 -/* 801AF7F8 48 1B 29 DD */ bl _savegpr_27 -/* 801AF7FC 7C 7B 1B 78 */ mr r27, r3 -/* 801AF800 54 9D 04 3F */ clrlwi. r29, r4, 0x10 -/* 801AF804 40 82 00 3C */ bne lbl_801AF840 -/* 801AF808 3B A0 00 00 */ li r29, 0 -/* 801AF80C 3B E0 00 00 */ li r31, 0 -/* 801AF810 3C 60 80 39 */ lis r3, d_menu_d_menu_calibration__stringBase0@ha /* 0x80394F70@ha */ -/* 801AF814 3B C3 4F 70 */ addi r30, r3, d_menu_d_menu_calibration__stringBase0@l /* 0x80394F70@l */ -lbl_801AF818: -/* 801AF818 38 1F 00 28 */ addi r0, r31, 0x28 -/* 801AF81C 7C 7B 00 2E */ lwzx r3, r27, r0 -/* 801AF820 48 15 0E 39 */ bl getStringPtr__10J2DTextBoxCFv -/* 801AF824 7F C4 F3 78 */ mr r4, r30 -/* 801AF828 48 1B 93 05 */ bl strcpy -/* 801AF82C 3B BD 00 01 */ addi r29, r29, 1 -/* 801AF830 2C 1D 00 05 */ cmpwi r29, 5 -/* 801AF834 3B FF 00 04 */ addi r31, r31, 4 -/* 801AF838 41 80 FF E0 */ blt lbl_801AF818 -/* 801AF83C 48 00 00 44 */ b lbl_801AF880 -lbl_801AF840: -/* 801AF840 3B 80 00 00 */ li r28, 0 -/* 801AF844 3B E0 00 00 */ li r31, 0 -/* 801AF848 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */ -/* 801AF84C 3B C3 01 88 */ addi r30, r3, g_meter2_info@l /* 0x80430188@l */ -lbl_801AF850: -/* 801AF850 38 1F 00 28 */ addi r0, r31, 0x28 -/* 801AF854 7C 7B 00 2E */ lwzx r3, r27, r0 -/* 801AF858 48 15 0E 01 */ bl getStringPtr__10J2DTextBoxCFv -/* 801AF85C 7C 65 1B 78 */ mr r5, r3 -/* 801AF860 7F C3 F3 78 */ mr r3, r30 -/* 801AF864 7F A4 EB 78 */ mr r4, r29 -/* 801AF868 38 C0 00 00 */ li r6, 0 -/* 801AF86C 48 06 CC D9 */ bl getStringKanji__13dMeter2Info_cFUlPcP14JMSMesgEntry_c -/* 801AF870 3B 9C 00 01 */ addi r28, r28, 1 -/* 801AF874 2C 1C 00 05 */ cmpwi r28, 5 -/* 801AF878 3B FF 00 04 */ addi r31, r31, 4 -/* 801AF87C 41 80 FF D4 */ blt lbl_801AF850 -lbl_801AF880: -/* 801AF880 39 61 00 20 */ addi r11, r1, 0x20 -/* 801AF884 48 1B 29 9D */ bl _restgpr_27 -/* 801AF888 80 01 00 24 */ lwz r0, 0x24(r1) -/* 801AF88C 7C 08 03 A6 */ mtlr r0 -/* 801AF890 38 21 00 20 */ addi r1, r1, 0x20 -/* 801AF894 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_calibration/setCalibrationValue__19dMenu_Calibration_cFv.s b/asm/d/menu/d_menu_calibration/setCalibrationValue__19dMenu_Calibration_cFv.s deleted file mode 100644 index e1d8c2a2034..00000000000 --- a/asm/d/menu/d_menu_calibration/setCalibrationValue__19dMenu_Calibration_cFv.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_801AF710: -/* 801AF710 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 801AF714 38 A4 61 C0 */ addi r5, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 801AF718 80 83 00 E8 */ lwz r4, 0xe8(r3) -/* 801AF71C 98 85 01 E8 */ stb r4, 0x1e8(r5) -/* 801AF720 A0 03 00 F4 */ lhz r0, 0xf4(r3) -/* 801AF724 B0 05 01 E6 */ sth r0, 0x1e6(r5) -/* 801AF728 90 83 00 EC */ stw r4, 0xec(r3) -/* 801AF72C A0 03 00 F4 */ lhz r0, 0xf4(r3) -/* 801AF730 B0 03 00 F6 */ sth r0, 0xf6(r3) -/* 801AF734 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_calibration/setExplainString__19dMenu_Calibration_cFUs.s b/asm/d/menu/d_menu_calibration/setExplainString__19dMenu_Calibration_cFUs.s deleted file mode 100644 index 2c905b2cad1..00000000000 --- a/asm/d/menu/d_menu_calibration/setExplainString__19dMenu_Calibration_cFUs.s +++ /dev/null @@ -1,51 +0,0 @@ -lbl_801AF948: -/* 801AF948 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 801AF94C 7C 08 02 A6 */ mflr r0 -/* 801AF950 90 01 00 24 */ stw r0, 0x24(r1) -/* 801AF954 39 61 00 20 */ addi r11, r1, 0x20 -/* 801AF958 48 1B 28 81 */ bl _savegpr_28 -/* 801AF95C 7C 7C 1B 78 */ mr r28, r3 -/* 801AF960 54 9E 04 3F */ clrlwi. r30, r4, 0x10 -/* 801AF964 40 82 00 3C */ bne lbl_801AF9A0 -/* 801AF968 3B A0 00 00 */ li r29, 0 -/* 801AF96C 3B E0 00 00 */ li r31, 0 -/* 801AF970 3C 60 80 39 */ lis r3, d_menu_d_menu_calibration__stringBase0@ha /* 0x80394F70@ha */ -/* 801AF974 3B C3 4F 70 */ addi r30, r3, d_menu_d_menu_calibration__stringBase0@l /* 0x80394F70@l */ -lbl_801AF978: -/* 801AF978 38 1F 00 3C */ addi r0, r31, 0x3c -/* 801AF97C 7C 7C 00 2E */ lwzx r3, r28, r0 -/* 801AF980 48 15 0C D9 */ bl getStringPtr__10J2DTextBoxCFv -/* 801AF984 7F C4 F3 78 */ mr r4, r30 -/* 801AF988 48 1B 91 A5 */ bl strcpy -/* 801AF98C 3B BD 00 01 */ addi r29, r29, 1 -/* 801AF990 2C 1D 00 03 */ cmpwi r29, 3 -/* 801AF994 3B FF 00 04 */ addi r31, r31, 4 -/* 801AF998 41 80 FF E0 */ blt lbl_801AF978 -/* 801AF99C 48 00 00 4C */ b lbl_801AF9E8 -lbl_801AF9A0: -/* 801AF9A0 3B A0 00 00 */ li r29, 0 -/* 801AF9A4 3B E0 00 00 */ li r31, 0 -lbl_801AF9A8: -/* 801AF9A8 80 7C 00 A4 */ lwz r3, 0xa4(r28) -/* 801AF9AC 7F C4 F3 78 */ mr r4, r30 -/* 801AF9B0 38 1F 00 3C */ addi r0, r31, 0x3c -/* 801AF9B4 7C BC 00 2E */ lwzx r5, r28, r0 -/* 801AF9B8 38 C0 00 00 */ li r6, 0 -/* 801AF9BC 38 E0 00 00 */ li r7, 0 -/* 801AF9C0 39 00 00 00 */ li r8, 0 -/* 801AF9C4 39 20 00 00 */ li r9, 0 -/* 801AF9C8 81 83 00 00 */ lwz r12, 0(r3) -/* 801AF9CC 81 8C 00 08 */ lwz r12, 8(r12) -/* 801AF9D0 7D 89 03 A6 */ mtctr r12 -/* 801AF9D4 4E 80 04 21 */ bctrl -/* 801AF9D8 3B BD 00 01 */ addi r29, r29, 1 -/* 801AF9DC 2C 1D 00 03 */ cmpwi r29, 3 -/* 801AF9E0 3B FF 00 04 */ addi r31, r31, 4 -/* 801AF9E4 41 80 FF C4 */ blt lbl_801AF9A8 -lbl_801AF9E8: -/* 801AF9E8 39 61 00 20 */ addi r11, r1, 0x20 -/* 801AF9EC 48 1B 28 39 */ bl _restgpr_28 -/* 801AF9F0 80 01 00 24 */ lwz r0, 0x24(r1) -/* 801AF9F4 7C 08 03 A6 */ mtlr r0 -/* 801AF9F8 38 21 00 20 */ addi r1, r1, 0x20 -/* 801AF9FC 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_calibration/setHIO__19dMenu_Calibration_cFb.s b/asm/d/menu/d_menu_calibration/setHIO__19dMenu_Calibration_cFb.s deleted file mode 100644 index 5d573a74bf6..00000000000 --- a/asm/d/menu/d_menu_calibration/setHIO__19dMenu_Calibration_cFb.s +++ /dev/null @@ -1,133 +0,0 @@ -lbl_801AFA00: -/* 801AFA00 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801AFA04 7C 08 02 A6 */ mflr r0 -/* 801AFA08 90 01 00 14 */ stw r0, 0x14(r1) -/* 801AFA0C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801AFA10 93 C1 00 08 */ stw r30, 8(r1) -/* 801AFA14 7C 7F 1B 78 */ mr r31, r3 -/* 801AFA18 7C 9E 23 78 */ mr r30, r4 -/* 801AFA1C 54 80 06 3F */ clrlwi. r0, r4, 0x18 -/* 801AFA20 40 82 00 18 */ bne lbl_801AFA38 -/* 801AFA24 3C 60 80 43 */ lis r3, g_drawHIO@ha /* 0x8042EBC8@ha */ -/* 801AFA28 38 63 EB C8 */ addi r3, r3, g_drawHIO@l /* 0x8042EBC8@l */ -/* 801AFA2C 88 03 0A 32 */ lbz r0, 0xa32(r3) -/* 801AFA30 28 00 00 00 */ cmplwi r0, 0 -/* 801AFA34 41 82 00 5C */ beq lbl_801AFA90 -lbl_801AFA38: -/* 801AFA38 3C 60 80 43 */ lis r3, g_drawHIO@ha /* 0x8042EBC8@ha */ -/* 801AFA3C 38 63 EB C8 */ addi r3, r3, g_drawHIO@l /* 0x8042EBC8@l */ -/* 801AFA40 C0 03 0A 24 */ lfs f0, 0xa24(r3) -/* 801AFA44 80 7F 00 7C */ lwz r3, 0x7c(r31) -/* 801AFA48 80 63 00 04 */ lwz r3, 4(r3) -/* 801AFA4C D0 03 00 CC */ stfs f0, 0xcc(r3) -/* 801AFA50 D0 03 00 D0 */ stfs f0, 0xd0(r3) -/* 801AFA54 81 83 00 00 */ lwz r12, 0(r3) -/* 801AFA58 81 8C 00 2C */ lwz r12, 0x2c(r12) -/* 801AFA5C 7D 89 03 A6 */ mtctr r12 -/* 801AFA60 4E 80 04 21 */ bctrl -/* 801AFA64 3C 60 80 43 */ lis r3, g_drawHIO@ha /* 0x8042EBC8@ha */ -/* 801AFA68 38 63 EB C8 */ addi r3, r3, g_drawHIO@l /* 0x8042EBC8@l */ -/* 801AFA6C C0 03 0A 28 */ lfs f0, 0xa28(r3) -/* 801AFA70 80 7F 00 90 */ lwz r3, 0x90(r31) -/* 801AFA74 80 63 00 04 */ lwz r3, 4(r3) -/* 801AFA78 D0 03 00 CC */ stfs f0, 0xcc(r3) -/* 801AFA7C D0 03 00 D0 */ stfs f0, 0xd0(r3) -/* 801AFA80 81 83 00 00 */ lwz r12, 0(r3) -/* 801AFA84 81 8C 00 2C */ lwz r12, 0x2c(r12) -/* 801AFA88 7D 89 03 A6 */ mtctr r12 -/* 801AFA8C 4E 80 04 21 */ bctrl -lbl_801AFA90: -/* 801AFA90 3C 60 80 43 */ lis r3, g_drawHIO@ha /* 0x8042EBC8@ha */ -/* 801AFA94 38 63 EB C8 */ addi r3, r3, g_drawHIO@l /* 0x8042EBC8@l */ -/* 801AFA98 88 03 06 B4 */ lbz r0, 0x6b4(r3) -/* 801AFA9C 28 00 00 00 */ cmplwi r0, 0 -/* 801AFAA0 40 82 00 0C */ bne lbl_801AFAAC -/* 801AFAA4 57 C0 06 3F */ clrlwi. r0, r30, 0x18 -/* 801AFAA8 41 82 01 34 */ beq lbl_801AFBDC -lbl_801AFAAC: -/* 801AFAAC 80 7F 00 94 */ lwz r3, 0x94(r31) -/* 801AFAB0 28 03 00 00 */ cmplwi r3, 0 -/* 801AFAB4 41 82 00 44 */ beq lbl_801AFAF8 -/* 801AFAB8 3C 80 80 43 */ lis r4, g_drawHIO@ha /* 0x8042EBC8@ha */ -/* 801AFABC 38 84 EB C8 */ addi r4, r4, g_drawHIO@l /* 0x8042EBC8@l */ -/* 801AFAC0 C0 24 06 60 */ lfs f1, 0x660(r4) -/* 801AFAC4 C0 44 06 64 */ lfs f2, 0x664(r4) -/* 801AFAC8 48 0A 4A E9 */ bl paneTrans__8CPaneMgrFff -/* 801AFACC 3C 60 80 43 */ lis r3, g_drawHIO@ha /* 0x8042EBC8@ha */ -/* 801AFAD0 38 63 EB C8 */ addi r3, r3, g_drawHIO@l /* 0x8042EBC8@l */ -/* 801AFAD4 C0 03 06 68 */ lfs f0, 0x668(r3) -/* 801AFAD8 80 7F 00 94 */ lwz r3, 0x94(r31) -/* 801AFADC 80 63 00 04 */ lwz r3, 4(r3) -/* 801AFAE0 D0 03 00 CC */ stfs f0, 0xcc(r3) -/* 801AFAE4 D0 03 00 D0 */ stfs f0, 0xd0(r3) -/* 801AFAE8 81 83 00 00 */ lwz r12, 0(r3) -/* 801AFAEC 81 8C 00 2C */ lwz r12, 0x2c(r12) -/* 801AFAF0 7D 89 03 A6 */ mtctr r12 -/* 801AFAF4 4E 80 04 21 */ bctrl -lbl_801AFAF8: -/* 801AFAF8 80 7F 00 98 */ lwz r3, 0x98(r31) -/* 801AFAFC 28 03 00 00 */ cmplwi r3, 0 -/* 801AFB00 41 82 00 44 */ beq lbl_801AFB44 -/* 801AFB04 3C 80 80 43 */ lis r4, g_drawHIO@ha /* 0x8042EBC8@ha */ -/* 801AFB08 38 84 EB C8 */ addi r4, r4, g_drawHIO@l /* 0x8042EBC8@l */ -/* 801AFB0C C0 24 06 6C */ lfs f1, 0x66c(r4) -/* 801AFB10 C0 44 06 70 */ lfs f2, 0x670(r4) -/* 801AFB14 48 0A 4A 9D */ bl paneTrans__8CPaneMgrFff -/* 801AFB18 3C 60 80 43 */ lis r3, g_drawHIO@ha /* 0x8042EBC8@ha */ -/* 801AFB1C 38 63 EB C8 */ addi r3, r3, g_drawHIO@l /* 0x8042EBC8@l */ -/* 801AFB20 C0 03 06 74 */ lfs f0, 0x674(r3) -/* 801AFB24 80 7F 00 98 */ lwz r3, 0x98(r31) -/* 801AFB28 80 63 00 04 */ lwz r3, 4(r3) -/* 801AFB2C D0 03 00 CC */ stfs f0, 0xcc(r3) -/* 801AFB30 D0 03 00 D0 */ stfs f0, 0xd0(r3) -/* 801AFB34 81 83 00 00 */ lwz r12, 0(r3) -/* 801AFB38 81 8C 00 2C */ lwz r12, 0x2c(r12) -/* 801AFB3C 7D 89 03 A6 */ mtctr r12 -/* 801AFB40 4E 80 04 21 */ bctrl -lbl_801AFB44: -/* 801AFB44 80 7F 00 9C */ lwz r3, 0x9c(r31) -/* 801AFB48 28 03 00 00 */ cmplwi r3, 0 -/* 801AFB4C 41 82 00 44 */ beq lbl_801AFB90 -/* 801AFB50 3C 80 80 43 */ lis r4, g_drawHIO@ha /* 0x8042EBC8@ha */ -/* 801AFB54 38 84 EB C8 */ addi r4, r4, g_drawHIO@l /* 0x8042EBC8@l */ -/* 801AFB58 C0 24 06 78 */ lfs f1, 0x678(r4) -/* 801AFB5C C0 44 06 7C */ lfs f2, 0x67c(r4) -/* 801AFB60 48 0A 4A 51 */ bl paneTrans__8CPaneMgrFff -/* 801AFB64 3C 60 80 43 */ lis r3, g_drawHIO@ha /* 0x8042EBC8@ha */ -/* 801AFB68 38 63 EB C8 */ addi r3, r3, g_drawHIO@l /* 0x8042EBC8@l */ -/* 801AFB6C C0 03 06 80 */ lfs f0, 0x680(r3) -/* 801AFB70 80 7F 00 9C */ lwz r3, 0x9c(r31) -/* 801AFB74 80 63 00 04 */ lwz r3, 4(r3) -/* 801AFB78 D0 03 00 CC */ stfs f0, 0xcc(r3) -/* 801AFB7C D0 03 00 D0 */ stfs f0, 0xd0(r3) -/* 801AFB80 81 83 00 00 */ lwz r12, 0(r3) -/* 801AFB84 81 8C 00 2C */ lwz r12, 0x2c(r12) -/* 801AFB88 7D 89 03 A6 */ mtctr r12 -/* 801AFB8C 4E 80 04 21 */ bctrl -lbl_801AFB90: -/* 801AFB90 80 7F 00 A0 */ lwz r3, 0xa0(r31) -/* 801AFB94 28 03 00 00 */ cmplwi r3, 0 -/* 801AFB98 41 82 00 44 */ beq lbl_801AFBDC -/* 801AFB9C 3C 80 80 43 */ lis r4, g_drawHIO@ha /* 0x8042EBC8@ha */ -/* 801AFBA0 38 84 EB C8 */ addi r4, r4, g_drawHIO@l /* 0x8042EBC8@l */ -/* 801AFBA4 C0 24 06 84 */ lfs f1, 0x684(r4) -/* 801AFBA8 C0 44 06 88 */ lfs f2, 0x688(r4) -/* 801AFBAC 48 0A 4A 05 */ bl paneTrans__8CPaneMgrFff -/* 801AFBB0 3C 60 80 43 */ lis r3, g_drawHIO@ha /* 0x8042EBC8@ha */ -/* 801AFBB4 38 63 EB C8 */ addi r3, r3, g_drawHIO@l /* 0x8042EBC8@l */ -/* 801AFBB8 C0 03 06 8C */ lfs f0, 0x68c(r3) -/* 801AFBBC 80 7F 00 A0 */ lwz r3, 0xa0(r31) -/* 801AFBC0 80 63 00 04 */ lwz r3, 4(r3) -/* 801AFBC4 D0 03 00 CC */ stfs f0, 0xcc(r3) -/* 801AFBC8 D0 03 00 D0 */ stfs f0, 0xd0(r3) -/* 801AFBCC 81 83 00 00 */ lwz r12, 0(r3) -/* 801AFBD0 81 8C 00 2C */ lwz r12, 0x2c(r12) -/* 801AFBD4 7D 89 03 A6 */ mtctr r12 -/* 801AFBD8 4E 80 04 21 */ bctrl -lbl_801AFBDC: -/* 801AFBDC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801AFBE0 83 C1 00 08 */ lwz r30, 8(r1) -/* 801AFBE4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801AFBE8 7C 08 03 A6 */ mtlr r0 -/* 801AFBEC 38 21 00 10 */ addi r1, r1, 0x10 -/* 801AFBF0 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_calibration/setStepString__19dMenu_Calibration_cFUs.s b/asm/d/menu/d_menu_calibration/setStepString__19dMenu_Calibration_cFUs.s deleted file mode 100644 index 0663e986ed4..00000000000 --- a/asm/d/menu/d_menu_calibration/setStepString__19dMenu_Calibration_cFUs.s +++ /dev/null @@ -1,49 +0,0 @@ -lbl_801AF898: -/* 801AF898 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 801AF89C 7C 08 02 A6 */ mflr r0 -/* 801AF8A0 90 01 00 24 */ stw r0, 0x24(r1) -/* 801AF8A4 39 61 00 20 */ addi r11, r1, 0x20 -/* 801AF8A8 48 1B 29 2D */ bl _savegpr_27 -/* 801AF8AC 7C 7B 1B 78 */ mr r27, r3 -/* 801AF8B0 54 9D 04 3F */ clrlwi. r29, r4, 0x10 -/* 801AF8B4 40 82 00 3C */ bne lbl_801AF8F0 -/* 801AF8B8 3B A0 00 00 */ li r29, 0 -/* 801AF8BC 3B E0 00 00 */ li r31, 0 -/* 801AF8C0 3C 60 80 39 */ lis r3, d_menu_d_menu_calibration__stringBase0@ha /* 0x80394F70@ha */ -/* 801AF8C4 3B C3 4F 70 */ addi r30, r3, d_menu_d_menu_calibration__stringBase0@l /* 0x80394F70@l */ -lbl_801AF8C8: -/* 801AF8C8 38 1F 00 48 */ addi r0, r31, 0x48 -/* 801AF8CC 7C 7B 00 2E */ lwzx r3, r27, r0 -/* 801AF8D0 48 15 0D 89 */ bl getStringPtr__10J2DTextBoxCFv -/* 801AF8D4 7F C4 F3 78 */ mr r4, r30 -/* 801AF8D8 48 1B 92 55 */ bl strcpy -/* 801AF8DC 3B BD 00 01 */ addi r29, r29, 1 -/* 801AF8E0 2C 1D 00 03 */ cmpwi r29, 3 -/* 801AF8E4 3B FF 00 04 */ addi r31, r31, 4 -/* 801AF8E8 41 80 FF E0 */ blt lbl_801AF8C8 -/* 801AF8EC 48 00 00 44 */ b lbl_801AF930 -lbl_801AF8F0: -/* 801AF8F0 3B 80 00 00 */ li r28, 0 -/* 801AF8F4 3B E0 00 00 */ li r31, 0 -/* 801AF8F8 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */ -/* 801AF8FC 3B C3 01 88 */ addi r30, r3, g_meter2_info@l /* 0x80430188@l */ -lbl_801AF900: -/* 801AF900 38 1F 00 48 */ addi r0, r31, 0x48 -/* 801AF904 7C 7B 00 2E */ lwzx r3, r27, r0 -/* 801AF908 48 15 0D 51 */ bl getStringPtr__10J2DTextBoxCFv -/* 801AF90C 7C 65 1B 78 */ mr r5, r3 -/* 801AF910 7F C3 F3 78 */ mr r3, r30 -/* 801AF914 7F A4 EB 78 */ mr r4, r29 -/* 801AF918 38 C0 00 00 */ li r6, 0 -/* 801AF91C 48 06 CC 29 */ bl getStringKanji__13dMeter2Info_cFUlPcP14JMSMesgEntry_c -/* 801AF920 3B 9C 00 01 */ addi r28, r28, 1 -/* 801AF924 2C 1C 00 03 */ cmpwi r28, 3 -/* 801AF928 3B FF 00 04 */ addi r31, r31, 4 -/* 801AF92C 41 80 FF D4 */ blt lbl_801AF900 -lbl_801AF930: -/* 801AF930 39 61 00 20 */ addi r11, r1, 0x20 -/* 801AF934 48 1B 28 ED */ bl _restgpr_27 -/* 801AF938 80 01 00 24 */ lwz r0, 0x24(r1) -/* 801AF93C 7C 08 03 A6 */ mtlr r0 -/* 801AF940 38 21 00 20 */ addi r1, r1, 0x20 -/* 801AF944 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_calibration/step1_move_init__19dMenu_Calibration_cFv.s b/asm/d/menu/d_menu_calibration/step1_move_init__19dMenu_Calibration_cFv.s deleted file mode 100644 index 5a93eaa27fc..00000000000 --- a/asm/d/menu/d_menu_calibration/step1_move_init__19dMenu_Calibration_cFv.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_801AF084: -/* 801AF084 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801AF088 7C 08 02 A6 */ mflr r0 -/* 801AF08C 90 01 00 14 */ stw r0, 0x14(r1) -/* 801AF090 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801AF094 7C 7F 1B 78 */ mr r31, r3 -/* 801AF098 38 80 04 08 */ li r4, 0x408 -/* 801AF09C 48 00 06 9D */ bl setAButtonString__19dMenu_Calibration_cFUs -/* 801AF0A0 7F E3 FB 78 */ mr r3, r31 -/* 801AF0A4 38 80 05 61 */ li r4, 0x561 -/* 801AF0A8 48 00 07 41 */ bl setBButtonString__19dMenu_Calibration_cFUs -/* 801AF0AC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801AF0B0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801AF0B4 7C 08 03 A6 */ mtlr r0 -/* 801AF0B8 38 21 00 10 */ addi r1, r1, 0x10 -/* 801AF0BC 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_calibration/step1_move_move__19dMenu_Calibration_cFv.s b/asm/d/menu/d_menu_calibration/step1_move_move__19dMenu_Calibration_cFv.s deleted file mode 100644 index b407efe4657..00000000000 --- a/asm/d/menu/d_menu_calibration/step1_move_move__19dMenu_Calibration_cFv.s +++ /dev/null @@ -1,53 +0,0 @@ -lbl_801AF0C0: -/* 801AF0C0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801AF0C4 7C 08 02 A6 */ mflr r0 -/* 801AF0C8 90 01 00 14 */ stw r0, 0x14(r1) -/* 801AF0CC 3C 80 80 3E */ lis r4, m_cpadInfo__8mDoCPd_c@ha /* 0x803DD2E8@ha */ -/* 801AF0D0 38 84 D2 E8 */ addi r4, r4, m_cpadInfo__8mDoCPd_c@l /* 0x803DD2E8@l */ -/* 801AF0D4 80 84 00 34 */ lwz r4, 0x34(r4) -/* 801AF0D8 54 80 05 EF */ rlwinm. r0, r4, 0, 0x17, 0x17 -/* 801AF0DC 41 82 00 50 */ beq lbl_801AF12C -/* 801AF0E0 38 00 00 02 */ li r0, 2 -/* 801AF0E4 98 03 01 00 */ stb r0, 0x100(r3) -/* 801AF0E8 38 00 00 00 */ li r0, 0 -/* 801AF0EC 98 03 00 FF */ stb r0, 0xff(r3) -/* 801AF0F0 38 00 00 A1 */ li r0, 0xa1 -/* 801AF0F4 90 01 00 0C */ stw r0, 0xc(r1) -/* 801AF0F8 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 801AF0FC 38 81 00 0C */ addi r4, r1, 0xc -/* 801AF100 38 A0 00 00 */ li r5, 0 -/* 801AF104 38 C0 00 00 */ li r6, 0 -/* 801AF108 38 E0 00 00 */ li r7, 0 -/* 801AF10C C0 22 A5 14 */ lfs f1, lit_3885(r2) -/* 801AF110 FC 40 08 90 */ fmr f2, f1 -/* 801AF114 C0 62 A5 20 */ lfs f3, lit_3911(r2) -/* 801AF118 FC 80 18 90 */ fmr f4, f3 -/* 801AF11C 39 00 00 00 */ li r8, 0 -/* 801AF120 48 0F C8 65 */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc -/* 801AF124 48 06 F8 AD */ bl dMeter2Info_set2DVibration__Fv -/* 801AF128 48 00 00 50 */ b lbl_801AF178 -lbl_801AF12C: -/* 801AF12C 54 80 05 AD */ rlwinm. r0, r4, 0, 0x16, 0x16 -/* 801AF130 41 82 00 48 */ beq lbl_801AF178 -/* 801AF134 38 00 00 00 */ li r0, 0 -/* 801AF138 98 03 01 01 */ stb r0, 0x101(r3) -/* 801AF13C 98 03 00 FE */ stb r0, 0xfe(r3) -/* 801AF140 38 00 00 A2 */ li r0, 0xa2 -/* 801AF144 90 01 00 08 */ stw r0, 8(r1) -/* 801AF148 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 801AF14C 38 81 00 08 */ addi r4, r1, 8 -/* 801AF150 38 A0 00 00 */ li r5, 0 -/* 801AF154 38 C0 00 00 */ li r6, 0 -/* 801AF158 38 E0 00 00 */ li r7, 0 -/* 801AF15C C0 22 A5 14 */ lfs f1, lit_3885(r2) -/* 801AF160 FC 40 08 90 */ fmr f2, f1 -/* 801AF164 C0 62 A5 20 */ lfs f3, lit_3911(r2) -/* 801AF168 FC 80 18 90 */ fmr f4, f3 -/* 801AF16C 39 00 00 00 */ li r8, 0 -/* 801AF170 48 0F C8 15 */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc -/* 801AF174 48 06 F8 5D */ bl dMeter2Info_set2DVibration__Fv -lbl_801AF178: -/* 801AF178 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801AF17C 7C 08 03 A6 */ mtlr r0 -/* 801AF180 38 21 00 10 */ addi r1, r1, 0x10 -/* 801AF184 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_calibration/step1_wait_init__19dMenu_Calibration_cFv.s b/asm/d/menu/d_menu_calibration/step1_wait_init__19dMenu_Calibration_cFv.s deleted file mode 100644 index 36237bf78ad..00000000000 --- a/asm/d/menu/d_menu_calibration/step1_wait_init__19dMenu_Calibration_cFv.s +++ /dev/null @@ -1,81 +0,0 @@ -lbl_801AEE30: -/* 801AEE30 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 801AEE34 7C 08 02 A6 */ mflr r0 -/* 801AEE38 90 01 00 34 */ stw r0, 0x34(r1) -/* 801AEE3C 93 E1 00 2C */ stw r31, 0x2c(r1) -/* 801AEE40 7C 7F 1B 78 */ mr r31, r3 -/* 801AEE44 38 00 00 00 */ li r0, 0 -/* 801AEE48 B0 03 00 FA */ sth r0, 0xfa(r3) -/* 801AEE4C 38 80 00 00 */ li r4, 0 -/* 801AEE50 48 00 08 E9 */ bl setAButtonString__19dMenu_Calibration_cFUs -/* 801AEE54 7F E3 FB 78 */ mr r3, r31 -/* 801AEE58 38 80 00 00 */ li r4, 0 -/* 801AEE5C 48 00 09 8D */ bl setBButtonString__19dMenu_Calibration_cFUs -/* 801AEE60 7F E3 FB 78 */ mr r3, r31 -/* 801AEE64 38 80 04 D8 */ li r4, 0x4d8 -/* 801AEE68 48 00 0A 31 */ bl setStepString__19dMenu_Calibration_cFUs -/* 801AEE6C 7F E3 FB 78 */ mr r3, r31 -/* 801AEE70 38 80 04 DD */ li r4, 0x4dd -/* 801AEE74 48 00 0A D5 */ bl setExplainString__19dMenu_Calibration_cFUs -/* 801AEE78 80 1F 00 E8 */ lwz r0, 0xe8(r31) -/* 801AEE7C 54 00 18 38 */ slwi r0, r0, 3 -/* 801AEE80 7C 9F 02 14 */ add r4, r31, r0 -/* 801AEE84 80 64 00 BC */ lwz r3, 0xbc(r4) -/* 801AEE88 80 04 00 C0 */ lwz r0, 0xc0(r4) -/* 801AEE8C 90 61 00 08 */ stw r3, 8(r1) -/* 801AEE90 90 01 00 0C */ stw r0, 0xc(r1) -/* 801AEE94 80 7F 00 80 */ lwz r3, 0x80(r31) -/* 801AEE98 80 63 00 04 */ lwz r3, 4(r3) -/* 801AEE9C C0 41 00 0C */ lfs f2, 0xc(r1) -/* 801AEEA0 C0 21 00 08 */ lfs f1, 8(r1) -/* 801AEEA4 C0 02 A5 10 */ lfs f0, lit_3847(r2) -/* 801AEEA8 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 801AEEAC 40 81 00 08 */ ble lbl_801AEEB4 -/* 801AEEB0 48 00 00 08 */ b lbl_801AEEB8 -lbl_801AEEB4: -/* 801AEEB4 FC 20 00 90 */ fmr f1, f0 -lbl_801AEEB8: -/* 801AEEB8 D0 23 01 1C */ stfs f1, 0x11c(r3) -/* 801AEEBC C0 02 A5 10 */ lfs f0, lit_3847(r2) -/* 801AEEC0 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 801AEEC4 40 81 00 08 */ ble lbl_801AEECC -/* 801AEEC8 48 00 00 08 */ b lbl_801AEED0 -lbl_801AEECC: -/* 801AEECC FC 40 00 90 */ fmr f2, f0 -lbl_801AEED0: -/* 801AEED0 D0 43 01 20 */ stfs f2, 0x120(r3) -/* 801AEED4 80 1F 00 E8 */ lwz r0, 0xe8(r31) -/* 801AEED8 54 00 10 3A */ slwi r0, r0, 2 -/* 801AEEDC 7C 7F 02 14 */ add r3, r31, r0 -/* 801AEEE0 80 83 00 70 */ lwz r4, 0x70(r3) -/* 801AEEE4 38 61 00 10 */ addi r3, r1, 0x10 -/* 801AEEE8 80 A4 00 04 */ lwz r5, 4(r4) -/* 801AEEEC 38 C0 00 00 */ li r6, 0 -/* 801AEEF0 38 E0 00 00 */ li r7, 0 -/* 801AEEF4 48 0A 5F C9 */ bl getGlobalVtxCenter__8CPaneMgrFP7J2DPanebs -/* 801AEEF8 80 61 00 10 */ lwz r3, 0x10(r1) -/* 801AEEFC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801AEF00 90 61 00 1C */ stw r3, 0x1c(r1) -/* 801AEF04 90 01 00 20 */ stw r0, 0x20(r1) -/* 801AEF08 80 01 00 18 */ lwz r0, 0x18(r1) -/* 801AEF0C 90 01 00 24 */ stw r0, 0x24(r1) -/* 801AEF10 80 1F 00 E8 */ lwz r0, 0xe8(r31) -/* 801AEF14 54 00 10 3A */ slwi r0, r0, 2 -/* 801AEF18 7C 7F 02 14 */ add r3, r31, r0 -/* 801AEF1C 80 63 00 70 */ lwz r3, 0x70(r3) -/* 801AEF20 80 83 00 04 */ lwz r4, 4(r3) -/* 801AEF24 80 7F 00 A8 */ lwz r3, 0xa8(r31) -/* 801AEF28 C0 21 00 1C */ lfs f1, 0x1c(r1) -/* 801AEF2C C0 41 00 20 */ lfs f2, 0x20(r1) -/* 801AEF30 38 A0 00 00 */ li r5, 0 -/* 801AEF34 4B FE 61 C1 */ bl setPos__16dSelect_cursor_cFffP7J2DPaneb -/* 801AEF38 38 00 00 00 */ li r0, 0 -/* 801AEF3C B0 1F 00 FC */ sth r0, 0xfc(r31) -/* 801AEF40 80 7F 00 7C */ lwz r3, 0x7c(r31) -/* 801AEF44 C0 22 A5 10 */ lfs f1, lit_3847(r2) -/* 801AEF48 48 0A 68 89 */ bl setAlphaRate__13CPaneMgrAlphaFf -/* 801AEF4C 83 E1 00 2C */ lwz r31, 0x2c(r1) -/* 801AEF50 80 01 00 34 */ lwz r0, 0x34(r1) -/* 801AEF54 7C 08 03 A6 */ mtlr r0 -/* 801AEF58 38 21 00 30 */ addi r1, r1, 0x30 -/* 801AEF5C 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_calibration/step1_wait_move__19dMenu_Calibration_cFv.s b/asm/d/menu/d_menu_calibration/step1_wait_move__19dMenu_Calibration_cFv.s deleted file mode 100644 index 9e6204eeb75..00000000000 --- a/asm/d/menu/d_menu_calibration/step1_wait_move__19dMenu_Calibration_cFv.s +++ /dev/null @@ -1,76 +0,0 @@ -lbl_801AEF60: -/* 801AEF60 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 801AEF64 7C 08 02 A6 */ mflr r0 -/* 801AEF68 90 01 00 34 */ stw r0, 0x34(r1) -/* 801AEF6C DB E1 00 20 */ stfd f31, 0x20(r1) -/* 801AEF70 F3 E1 00 28 */ psq_st f31, 40(r1), 0, 0 /* qr0 */ -/* 801AEF74 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 801AEF78 7C 7F 1B 78 */ mr r31, r3 -/* 801AEF7C 3C 60 80 43 */ lis r3, g_drawHIO@ha /* 0x8042EBC8@ha */ -/* 801AEF80 38 63 EB C8 */ addi r3, r3, g_drawHIO@l /* 0x8042EBC8@l */ -/* 801AEF84 A8 83 0A 2C */ lha r4, 0xa2c(r3) -/* 801AEF88 A8 7F 00 FA */ lha r3, 0xfa(r31) -/* 801AEF8C 38 03 00 01 */ addi r0, r3, 1 -/* 801AEF90 B0 1F 00 FA */ sth r0, 0xfa(r31) -/* 801AEF94 A8 1F 00 FA */ lha r0, 0xfa(r31) -/* 801AEF98 7C 00 20 00 */ cmpw r0, r4 -/* 801AEF9C 41 80 00 50 */ blt lbl_801AEFEC -/* 801AEFA0 80 7F 00 58 */ lwz r3, 0x58(r31) -/* 801AEFA4 C0 22 A5 14 */ lfs f1, lit_3885(r2) -/* 801AEFA8 48 0A 68 29 */ bl setAlphaRate__13CPaneMgrAlphaFf -/* 801AEFAC 80 7F 00 7C */ lwz r3, 0x7c(r31) -/* 801AEFB0 C0 22 A5 10 */ lfs f1, lit_3847(r2) -/* 801AEFB4 48 0A 68 1D */ bl setAlphaRate__13CPaneMgrAlphaFf -/* 801AEFB8 80 7F 00 5C */ lwz r3, 0x5c(r31) -/* 801AEFBC C0 22 A5 10 */ lfs f1, lit_3847(r2) -/* 801AEFC0 48 0A 68 11 */ bl setAlphaRate__13CPaneMgrAlphaFf -/* 801AEFC4 80 7F 00 A8 */ lwz r3, 0xa8(r31) -/* 801AEFC8 C0 22 A5 14 */ lfs f1, lit_3885(r2) -/* 801AEFCC 4B FE 62 D5 */ bl setAlphaRate__16dSelect_cursor_cFf -/* 801AEFD0 80 7F 00 A8 */ lwz r3, 0xa8(r31) -/* 801AEFD4 88 03 00 B4 */ lbz r0, 0xb4(r3) -/* 801AEFD8 60 00 00 01 */ ori r0, r0, 1 -/* 801AEFDC 98 03 00 B4 */ stb r0, 0xb4(r3) -/* 801AEFE0 38 00 00 01 */ li r0, 1 -/* 801AEFE4 98 1F 01 00 */ stb r0, 0x100(r31) -/* 801AEFE8 48 00 00 80 */ b lbl_801AF068 -lbl_801AEFEC: -/* 801AEFEC C8 42 A5 18 */ lfd f2, lit_3887(r2) -/* 801AEFF0 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 801AEFF4 90 01 00 0C */ stw r0, 0xc(r1) -/* 801AEFF8 3C 60 43 30 */ lis r3, 0x4330 -/* 801AEFFC 90 61 00 08 */ stw r3, 8(r1) -/* 801AF000 C8 01 00 08 */ lfd f0, 8(r1) -/* 801AF004 EC 20 10 28 */ fsubs f1, f0, f2 -/* 801AF008 6C 80 80 00 */ xoris r0, r4, 0x8000 -/* 801AF00C 90 01 00 14 */ stw r0, 0x14(r1) -/* 801AF010 90 61 00 10 */ stw r3, 0x10(r1) -/* 801AF014 C8 01 00 10 */ lfd f0, 0x10(r1) -/* 801AF018 EC 00 10 28 */ fsubs f0, f0, f2 -/* 801AF01C EF E1 00 24 */ fdivs f31, f1, f0 -/* 801AF020 80 7F 00 58 */ lwz r3, 0x58(r31) -/* 801AF024 FC 20 F8 90 */ fmr f1, f31 -/* 801AF028 48 0A 67 A9 */ bl setAlphaRate__13CPaneMgrAlphaFf -/* 801AF02C 80 7F 00 7C */ lwz r3, 0x7c(r31) -/* 801AF030 C0 22 A5 10 */ lfs f1, lit_3847(r2) -/* 801AF034 48 0A 67 9D */ bl setAlphaRate__13CPaneMgrAlphaFf -/* 801AF038 80 7F 00 A8 */ lwz r3, 0xa8(r31) -/* 801AF03C FC 20 F8 90 */ fmr f1, f31 -/* 801AF040 4B FE 62 61 */ bl setAlphaRate__16dSelect_cursor_cFf -/* 801AF044 80 7F 00 5C */ lwz r3, 0x5c(r31) -/* 801AF048 48 0A 67 E1 */ bl getAlphaRate__13CPaneMgrAlphaFv -/* 801AF04C C0 02 A5 10 */ lfs f0, lit_3847(r2) -/* 801AF050 FC 00 08 00 */ fcmpu cr0, f0, f1 -/* 801AF054 41 82 00 14 */ beq lbl_801AF068 -/* 801AF058 80 7F 00 5C */ lwz r3, 0x5c(r31) -/* 801AF05C C0 02 A5 14 */ lfs f0, lit_3885(r2) -/* 801AF060 EC 20 F8 28 */ fsubs f1, f0, f31 -/* 801AF064 48 0A 67 6D */ bl setAlphaRate__13CPaneMgrAlphaFf -lbl_801AF068: -/* 801AF068 E3 E1 00 28 */ psq_l f31, 40(r1), 0, 0 /* qr0 */ -/* 801AF06C CB E1 00 20 */ lfd f31, 0x20(r1) -/* 801AF070 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 801AF074 80 01 00 34 */ lwz r0, 0x34(r1) -/* 801AF078 7C 08 03 A6 */ mtlr r0 -/* 801AF07C 38 21 00 30 */ addi r1, r1, 0x30 -/* 801AF080 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_calibration/step2_move_init__19dMenu_Calibration_cFv.s b/asm/d/menu/d_menu_calibration/step2_move_init__19dMenu_Calibration_cFv.s deleted file mode 100644 index 59696a9dc9f..00000000000 --- a/asm/d/menu/d_menu_calibration/step2_move_init__19dMenu_Calibration_cFv.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_801AF380: -/* 801AF380 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801AF384 7C 08 02 A6 */ mflr r0 -/* 801AF388 90 01 00 14 */ stw r0, 0x14(r1) -/* 801AF38C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801AF390 7C 7F 1B 78 */ mr r31, r3 -/* 801AF394 38 80 04 08 */ li r4, 0x408 -/* 801AF398 48 00 03 A1 */ bl setAButtonString__19dMenu_Calibration_cFUs -/* 801AF39C 7F E3 FB 78 */ mr r3, r31 -/* 801AF3A0 38 80 03 F9 */ li r4, 0x3f9 -/* 801AF3A4 48 00 04 45 */ bl setBButtonString__19dMenu_Calibration_cFUs -/* 801AF3A8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801AF3AC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801AF3B0 7C 08 03 A6 */ mtlr r0 -/* 801AF3B4 38 21 00 10 */ addi r1, r1, 0x10 -/* 801AF3B8 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_calibration/step2_move_move__19dMenu_Calibration_cFv.s b/asm/d/menu/d_menu_calibration/step2_move_move__19dMenu_Calibration_cFv.s deleted file mode 100644 index 8e0899a612e..00000000000 --- a/asm/d/menu/d_menu_calibration/step2_move_move__19dMenu_Calibration_cFv.s +++ /dev/null @@ -1,54 +0,0 @@ -lbl_801AF3BC: -/* 801AF3BC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801AF3C0 7C 08 02 A6 */ mflr r0 -/* 801AF3C4 90 01 00 14 */ stw r0, 0x14(r1) -/* 801AF3C8 3C 80 80 3E */ lis r4, m_cpadInfo__8mDoCPd_c@ha /* 0x803DD2E8@ha */ -/* 801AF3CC 38 84 D2 E8 */ addi r4, r4, m_cpadInfo__8mDoCPd_c@l /* 0x803DD2E8@l */ -/* 801AF3D0 80 84 00 34 */ lwz r4, 0x34(r4) -/* 801AF3D4 54 80 05 EF */ rlwinm. r0, r4, 0, 0x17, 0x17 -/* 801AF3D8 41 82 00 50 */ beq lbl_801AF428 -/* 801AF3DC 38 00 00 04 */ li r0, 4 -/* 801AF3E0 98 03 01 00 */ stb r0, 0x100(r3) -/* 801AF3E4 38 00 00 00 */ li r0, 0 -/* 801AF3E8 98 03 00 FF */ stb r0, 0xff(r3) -/* 801AF3EC 38 00 00 A1 */ li r0, 0xa1 -/* 801AF3F0 90 01 00 0C */ stw r0, 0xc(r1) -/* 801AF3F4 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 801AF3F8 38 81 00 0C */ addi r4, r1, 0xc -/* 801AF3FC 38 A0 00 00 */ li r5, 0 -/* 801AF400 38 C0 00 00 */ li r6, 0 -/* 801AF404 38 E0 00 00 */ li r7, 0 -/* 801AF408 C0 22 A5 14 */ lfs f1, lit_3885(r2) -/* 801AF40C FC 40 08 90 */ fmr f2, f1 -/* 801AF410 C0 62 A5 20 */ lfs f3, lit_3911(r2) -/* 801AF414 FC 80 18 90 */ fmr f4, f3 -/* 801AF418 39 00 00 00 */ li r8, 0 -/* 801AF41C 48 0F C5 69 */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc -/* 801AF420 48 06 F5 B1 */ bl dMeter2Info_set2DVibration__Fv -/* 801AF424 48 00 00 54 */ b lbl_801AF478 -lbl_801AF428: -/* 801AF428 54 80 05 AD */ rlwinm. r0, r4, 0, 0x16, 0x16 -/* 801AF42C 41 82 00 4C */ beq lbl_801AF478 -/* 801AF430 38 00 00 00 */ li r0, 0 -/* 801AF434 98 03 01 00 */ stb r0, 0x100(r3) -/* 801AF438 38 00 00 01 */ li r0, 1 -/* 801AF43C 98 03 00 FF */ stb r0, 0xff(r3) -/* 801AF440 38 00 00 A2 */ li r0, 0xa2 -/* 801AF444 90 01 00 08 */ stw r0, 8(r1) -/* 801AF448 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 801AF44C 38 81 00 08 */ addi r4, r1, 8 -/* 801AF450 38 A0 00 00 */ li r5, 0 -/* 801AF454 38 C0 00 00 */ li r6, 0 -/* 801AF458 38 E0 00 00 */ li r7, 0 -/* 801AF45C C0 22 A5 14 */ lfs f1, lit_3885(r2) -/* 801AF460 FC 40 08 90 */ fmr f2, f1 -/* 801AF464 C0 62 A5 20 */ lfs f3, lit_3911(r2) -/* 801AF468 FC 80 18 90 */ fmr f4, f3 -/* 801AF46C 39 00 00 00 */ li r8, 0 -/* 801AF470 48 0F C5 15 */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc -/* 801AF474 48 06 F5 5D */ bl dMeter2Info_set2DVibration__Fv -lbl_801AF478: -/* 801AF478 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801AF47C 7C 08 03 A6 */ mtlr r0 -/* 801AF480 38 21 00 10 */ addi r1, r1, 0x10 -/* 801AF484 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_calibration/step2_wait_init__19dMenu_Calibration_cFv.s b/asm/d/menu/d_menu_calibration/step2_wait_init__19dMenu_Calibration_cFv.s deleted file mode 100644 index 5d93091e621..00000000000 --- a/asm/d/menu/d_menu_calibration/step2_wait_init__19dMenu_Calibration_cFv.s +++ /dev/null @@ -1,28 +0,0 @@ -lbl_801AF188: -/* 801AF188 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801AF18C 7C 08 02 A6 */ mflr r0 -/* 801AF190 90 01 00 14 */ stw r0, 0x14(r1) -/* 801AF194 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801AF198 7C 7F 1B 78 */ mr r31, r3 -/* 801AF19C 38 00 00 00 */ li r0, 0 -/* 801AF1A0 B0 03 00 FA */ sth r0, 0xfa(r3) -/* 801AF1A4 38 80 00 00 */ li r4, 0 -/* 801AF1A8 48 00 05 91 */ bl setAButtonString__19dMenu_Calibration_cFUs -/* 801AF1AC 7F E3 FB 78 */ mr r3, r31 -/* 801AF1B0 38 80 00 00 */ li r4, 0 -/* 801AF1B4 48 00 06 35 */ bl setBButtonString__19dMenu_Calibration_cFUs -/* 801AF1B8 7F E3 FB 78 */ mr r3, r31 -/* 801AF1BC 38 80 04 DA */ li r4, 0x4da -/* 801AF1C0 48 00 06 D9 */ bl setStepString__19dMenu_Calibration_cFUs -/* 801AF1C4 7F E3 FB 78 */ mr r3, r31 -/* 801AF1C8 38 80 04 D9 */ li r4, 0x4d9 -/* 801AF1CC 48 00 07 7D */ bl setExplainString__19dMenu_Calibration_cFUs -/* 801AF1D0 80 7F 00 A8 */ lwz r3, 0xa8(r31) -/* 801AF1D4 88 03 00 B4 */ lbz r0, 0xb4(r3) -/* 801AF1D8 54 00 06 3C */ rlwinm r0, r0, 0, 0x18, 0x1e -/* 801AF1DC 98 03 00 B4 */ stb r0, 0xb4(r3) -/* 801AF1E0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801AF1E4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801AF1E8 7C 08 03 A6 */ mtlr r0 -/* 801AF1EC 38 21 00 10 */ addi r1, r1, 0x10 -/* 801AF1F0 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_calibration/step2_wait_move__19dMenu_Calibration_cFv.s b/asm/d/menu/d_menu_calibration/step2_wait_move__19dMenu_Calibration_cFv.s deleted file mode 100644 index 5628d4eb4d4..00000000000 --- a/asm/d/menu/d_menu_calibration/step2_wait_move__19dMenu_Calibration_cFv.s +++ /dev/null @@ -1,105 +0,0 @@ -lbl_801AF1F4: -/* 801AF1F4 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 801AF1F8 7C 08 02 A6 */ mflr r0 -/* 801AF1FC 90 01 00 44 */ stw r0, 0x44(r1) -/* 801AF200 DB E1 00 30 */ stfd f31, 0x30(r1) -/* 801AF204 F3 E1 00 38 */ psq_st f31, 56(r1), 0, 0 /* qr0 */ -/* 801AF208 DB C1 00 20 */ stfd f30, 0x20(r1) -/* 801AF20C F3 C1 00 28 */ psq_st f30, 40(r1), 0, 0 /* qr0 */ -/* 801AF210 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 801AF214 7C 7F 1B 78 */ mr r31, r3 -/* 801AF218 3C 60 80 43 */ lis r3, g_drawHIO@ha /* 0x8042EBC8@ha */ -/* 801AF21C 38 63 EB C8 */ addi r3, r3, g_drawHIO@l /* 0x8042EBC8@l */ -/* 801AF220 A8 83 0A 2C */ lha r4, 0xa2c(r3) -/* 801AF224 A8 7F 00 FA */ lha r3, 0xfa(r31) -/* 801AF228 38 03 00 01 */ addi r0, r3, 1 -/* 801AF22C B0 1F 00 FA */ sth r0, 0xfa(r31) -/* 801AF230 A8 1F 00 FA */ lha r0, 0xfa(r31) -/* 801AF234 7C 00 20 00 */ cmpw r0, r4 -/* 801AF238 41 80 00 64 */ blt lbl_801AF29C -/* 801AF23C 80 7F 00 5C */ lwz r3, 0x5c(r31) -/* 801AF240 C0 22 A5 14 */ lfs f1, lit_3885(r2) -/* 801AF244 48 0A 65 8D */ bl setAlphaRate__13CPaneMgrAlphaFf -/* 801AF248 80 7F 00 58 */ lwz r3, 0x58(r31) -/* 801AF24C C0 22 A5 10 */ lfs f1, lit_3847(r2) -/* 801AF250 48 0A 65 81 */ bl setAlphaRate__13CPaneMgrAlphaFf -/* 801AF254 80 7F 00 7C */ lwz r3, 0x7c(r31) -/* 801AF258 C0 22 A5 10 */ lfs f1, lit_3847(r2) -/* 801AF25C 48 0A 65 75 */ bl setAlphaRate__13CPaneMgrAlphaFf -/* 801AF260 80 7F 00 60 */ lwz r3, 0x60(r31) -/* 801AF264 C0 22 A5 10 */ lfs f1, lit_3847(r2) -/* 801AF268 48 0A 65 69 */ bl setAlphaRate__13CPaneMgrAlphaFf -/* 801AF26C 80 7F 00 90 */ lwz r3, 0x90(r31) -/* 801AF270 C0 22 A5 10 */ lfs f1, lit_3847(r2) -/* 801AF274 48 0A 65 5D */ bl setAlphaRate__13CPaneMgrAlphaFf -/* 801AF278 88 1F 00 FF */ lbz r0, 0xff(r31) -/* 801AF27C 28 00 00 00 */ cmplwi r0, 0 -/* 801AF280 40 82 00 10 */ bne lbl_801AF290 -/* 801AF284 80 7F 00 A8 */ lwz r3, 0xa8(r31) -/* 801AF288 C0 22 A5 10 */ lfs f1, lit_3847(r2) -/* 801AF28C 4B FE 60 15 */ bl setAlphaRate__16dSelect_cursor_cFf -lbl_801AF290: -/* 801AF290 38 00 00 03 */ li r0, 3 -/* 801AF294 98 1F 01 00 */ stb r0, 0x100(r31) -/* 801AF298 48 00 00 C4 */ b lbl_801AF35C -lbl_801AF29C: -/* 801AF29C C8 42 A5 18 */ lfd f2, lit_3887(r2) -/* 801AF2A0 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 801AF2A4 90 01 00 0C */ stw r0, 0xc(r1) -/* 801AF2A8 3C 60 43 30 */ lis r3, 0x4330 -/* 801AF2AC 90 61 00 08 */ stw r3, 8(r1) -/* 801AF2B0 C8 01 00 08 */ lfd f0, 8(r1) -/* 801AF2B4 EC 20 10 28 */ fsubs f1, f0, f2 -/* 801AF2B8 6C 80 80 00 */ xoris r0, r4, 0x8000 -/* 801AF2BC 90 01 00 14 */ stw r0, 0x14(r1) -/* 801AF2C0 90 61 00 10 */ stw r3, 0x10(r1) -/* 801AF2C4 C8 01 00 10 */ lfd f0, 0x10(r1) -/* 801AF2C8 EC 00 10 28 */ fsubs f0, f0, f2 -/* 801AF2CC EF C1 00 24 */ fdivs f30, f1, f0 -/* 801AF2D0 80 7F 00 5C */ lwz r3, 0x5c(r31) -/* 801AF2D4 FC 20 F0 90 */ fmr f1, f30 -/* 801AF2D8 48 0A 64 F9 */ bl setAlphaRate__13CPaneMgrAlphaFf -/* 801AF2DC 80 7F 00 58 */ lwz r3, 0x58(r31) -/* 801AF2E0 48 0A 65 49 */ bl getAlphaRate__13CPaneMgrAlphaFv -/* 801AF2E4 C0 02 A5 10 */ lfs f0, lit_3847(r2) -/* 801AF2E8 FC 00 08 00 */ fcmpu cr0, f0, f1 -/* 801AF2EC 41 82 00 24 */ beq lbl_801AF310 -/* 801AF2F0 80 7F 00 58 */ lwz r3, 0x58(r31) -/* 801AF2F4 C0 02 A5 14 */ lfs f0, lit_3885(r2) -/* 801AF2F8 EF E0 F0 28 */ fsubs f31, f0, f30 -/* 801AF2FC FC 20 F8 90 */ fmr f1, f31 -/* 801AF300 48 0A 64 D1 */ bl setAlphaRate__13CPaneMgrAlphaFf -/* 801AF304 80 7F 00 7C */ lwz r3, 0x7c(r31) -/* 801AF308 FC 20 F8 90 */ fmr f1, f31 -/* 801AF30C 48 0A 64 C5 */ bl setAlphaRate__13CPaneMgrAlphaFf -lbl_801AF310: -/* 801AF310 80 7F 00 60 */ lwz r3, 0x60(r31) -/* 801AF314 48 0A 65 15 */ bl getAlphaRate__13CPaneMgrAlphaFv -/* 801AF318 C0 02 A5 10 */ lfs f0, lit_3847(r2) -/* 801AF31C FC 00 08 00 */ fcmpu cr0, f0, f1 -/* 801AF320 41 82 00 24 */ beq lbl_801AF344 -/* 801AF324 80 7F 00 60 */ lwz r3, 0x60(r31) -/* 801AF328 C0 02 A5 14 */ lfs f0, lit_3885(r2) -/* 801AF32C EF E0 F0 28 */ fsubs f31, f0, f30 -/* 801AF330 FC 20 F8 90 */ fmr f1, f31 -/* 801AF334 48 0A 64 9D */ bl setAlphaRate__13CPaneMgrAlphaFf -/* 801AF338 80 7F 00 90 */ lwz r3, 0x90(r31) -/* 801AF33C FC 20 F8 90 */ fmr f1, f31 -/* 801AF340 48 0A 64 91 */ bl setAlphaRate__13CPaneMgrAlphaFf -lbl_801AF344: -/* 801AF344 88 1F 00 FF */ lbz r0, 0xff(r31) -/* 801AF348 28 00 00 00 */ cmplwi r0, 0 -/* 801AF34C 40 82 00 10 */ bne lbl_801AF35C -/* 801AF350 80 7F 00 A8 */ lwz r3, 0xa8(r31) -/* 801AF354 FC 20 F0 90 */ fmr f1, f30 -/* 801AF358 4B FE 5F 49 */ bl setAlphaRate__16dSelect_cursor_cFf -lbl_801AF35C: -/* 801AF35C E3 E1 00 38 */ psq_l f31, 56(r1), 0, 0 /* qr0 */ -/* 801AF360 CB E1 00 30 */ lfd f31, 0x30(r1) -/* 801AF364 E3 C1 00 28 */ psq_l f30, 40(r1), 0, 0 /* qr0 */ -/* 801AF368 CB C1 00 20 */ lfd f30, 0x20(r1) -/* 801AF36C 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 801AF370 80 01 00 44 */ lwz r0, 0x44(r1) -/* 801AF374 7C 08 03 A6 */ mtlr r0 -/* 801AF378 38 21 00 40 */ addi r1, r1, 0x40 -/* 801AF37C 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_calibration/step3_move_init__19dMenu_Calibration_cFv.s b/asm/d/menu/d_menu_calibration/step3_move_init__19dMenu_Calibration_cFv.s deleted file mode 100644 index 0d4e0073bd6..00000000000 --- a/asm/d/menu/d_menu_calibration/step3_move_init__19dMenu_Calibration_cFv.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_801AF5F4: -/* 801AF5F4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801AF5F8 7C 08 02 A6 */ mflr r0 -/* 801AF5FC 90 01 00 14 */ stw r0, 0x14(r1) -/* 801AF600 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801AF604 7C 7F 1B 78 */ mr r31, r3 -/* 801AF608 38 80 05 62 */ li r4, 0x562 -/* 801AF60C 48 00 01 2D */ bl setAButtonString__19dMenu_Calibration_cFUs -/* 801AF610 7F E3 FB 78 */ mr r3, r31 -/* 801AF614 38 80 03 F9 */ li r4, 0x3f9 -/* 801AF618 48 00 01 D1 */ bl setBButtonString__19dMenu_Calibration_cFUs -/* 801AF61C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801AF620 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801AF624 7C 08 03 A6 */ mtlr r0 -/* 801AF628 38 21 00 10 */ addi r1, r1, 0x10 -/* 801AF62C 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_calibration/step3_move_move__19dMenu_Calibration_cFv.s b/asm/d/menu/d_menu_calibration/step3_move_move__19dMenu_Calibration_cFv.s deleted file mode 100644 index 30a9744a57b..00000000000 --- a/asm/d/menu/d_menu_calibration/step3_move_move__19dMenu_Calibration_cFv.s +++ /dev/null @@ -1,59 +0,0 @@ -lbl_801AF630: -/* 801AF630 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 801AF634 7C 08 02 A6 */ mflr r0 -/* 801AF638 90 01 00 24 */ stw r0, 0x24(r1) -/* 801AF63C 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 801AF640 7C 7F 1B 78 */ mr r31, r3 -/* 801AF644 3C 60 80 3E */ lis r3, m_cpadInfo__8mDoCPd_c@ha /* 0x803DD2E8@ha */ -/* 801AF648 38 63 D2 E8 */ addi r3, r3, m_cpadInfo__8mDoCPd_c@l /* 0x803DD2E8@l */ -/* 801AF64C 80 63 00 34 */ lwz r3, 0x34(r3) -/* 801AF650 54 60 05 EF */ rlwinm. r0, r3, 0, 0x17, 0x17 -/* 801AF654 41 82 00 58 */ beq lbl_801AF6AC -/* 801AF658 38 00 00 00 */ li r0, 0 -/* 801AF65C 98 1F 00 FE */ stb r0, 0xfe(r31) -/* 801AF660 38 00 00 01 */ li r0, 1 -/* 801AF664 98 1F 01 01 */ stb r0, 0x101(r31) -/* 801AF668 38 00 00 A2 */ li r0, 0xa2 -/* 801AF66C 90 01 00 0C */ stw r0, 0xc(r1) -/* 801AF670 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 801AF674 38 81 00 0C */ addi r4, r1, 0xc -/* 801AF678 38 A0 00 00 */ li r5, 0 -/* 801AF67C 38 C0 00 00 */ li r6, 0 -/* 801AF680 38 E0 00 00 */ li r7, 0 -/* 801AF684 C0 22 A5 14 */ lfs f1, lit_3885(r2) -/* 801AF688 FC 40 08 90 */ fmr f2, f1 -/* 801AF68C C0 62 A5 20 */ lfs f3, lit_3911(r2) -/* 801AF690 FC 80 18 90 */ fmr f4, f3 -/* 801AF694 39 00 00 00 */ li r8, 0 -/* 801AF698 48 0F C2 ED */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc -/* 801AF69C 48 06 F3 35 */ bl dMeter2Info_set2DVibration__Fv -/* 801AF6A0 7F E3 FB 78 */ mr r3, r31 -/* 801AF6A4 48 00 00 6D */ bl setCalibrationValue__19dMenu_Calibration_cFv -/* 801AF6A8 48 00 00 54 */ b lbl_801AF6FC -lbl_801AF6AC: -/* 801AF6AC 54 60 05 AD */ rlwinm. r0, r3, 0, 0x16, 0x16 -/* 801AF6B0 41 82 00 4C */ beq lbl_801AF6FC -/* 801AF6B4 38 00 00 02 */ li r0, 2 -/* 801AF6B8 98 1F 01 00 */ stb r0, 0x100(r31) -/* 801AF6BC 38 00 00 01 */ li r0, 1 -/* 801AF6C0 98 1F 00 FF */ stb r0, 0xff(r31) -/* 801AF6C4 38 00 00 A2 */ li r0, 0xa2 -/* 801AF6C8 90 01 00 08 */ stw r0, 8(r1) -/* 801AF6CC 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 801AF6D0 38 81 00 08 */ addi r4, r1, 8 -/* 801AF6D4 38 A0 00 00 */ li r5, 0 -/* 801AF6D8 38 C0 00 00 */ li r6, 0 -/* 801AF6DC 38 E0 00 00 */ li r7, 0 -/* 801AF6E0 C0 22 A5 14 */ lfs f1, lit_3885(r2) -/* 801AF6E4 FC 40 08 90 */ fmr f2, f1 -/* 801AF6E8 C0 62 A5 20 */ lfs f3, lit_3911(r2) -/* 801AF6EC FC 80 18 90 */ fmr f4, f3 -/* 801AF6F0 39 00 00 00 */ li r8, 0 -/* 801AF6F4 48 0F C2 91 */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc -/* 801AF6F8 48 06 F2 D9 */ bl dMeter2Info_set2DVibration__Fv -lbl_801AF6FC: -/* 801AF6FC 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 801AF700 80 01 00 24 */ lwz r0, 0x24(r1) -/* 801AF704 7C 08 03 A6 */ mtlr r0 -/* 801AF708 38 21 00 20 */ addi r1, r1, 0x20 -/* 801AF70C 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_calibration/step3_wait_init__19dMenu_Calibration_cFv.s b/asm/d/menu/d_menu_calibration/step3_wait_init__19dMenu_Calibration_cFv.s deleted file mode 100644 index 64bcf9a75b4..00000000000 --- a/asm/d/menu/d_menu_calibration/step3_wait_init__19dMenu_Calibration_cFv.s +++ /dev/null @@ -1,29 +0,0 @@ -lbl_801AF488: -/* 801AF488 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801AF48C 7C 08 02 A6 */ mflr r0 -/* 801AF490 90 01 00 14 */ stw r0, 0x14(r1) -/* 801AF494 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801AF498 7C 7F 1B 78 */ mr r31, r3 -/* 801AF49C 38 00 00 00 */ li r0, 0 -/* 801AF4A0 B0 03 00 FA */ sth r0, 0xfa(r3) -/* 801AF4A4 38 80 00 00 */ li r4, 0 -/* 801AF4A8 48 00 02 91 */ bl setAButtonString__19dMenu_Calibration_cFUs -/* 801AF4AC 7F E3 FB 78 */ mr r3, r31 -/* 801AF4B0 38 80 00 00 */ li r4, 0 -/* 801AF4B4 48 00 03 35 */ bl setBButtonString__19dMenu_Calibration_cFUs -/* 801AF4B8 7F E3 FB 78 */ mr r3, r31 -/* 801AF4BC 38 80 04 DC */ li r4, 0x4dc -/* 801AF4C0 48 00 03 D9 */ bl setStepString__19dMenu_Calibration_cFUs -/* 801AF4C4 7F E3 FB 78 */ mr r3, r31 -/* 801AF4C8 38 80 04 DB */ li r4, 0x4db -/* 801AF4CC 48 00 04 7D */ bl setExplainString__19dMenu_Calibration_cFUs -/* 801AF4D0 38 00 00 00 */ li r0, 0 -/* 801AF4D4 B0 1F 00 FC */ sth r0, 0xfc(r31) -/* 801AF4D8 80 7F 00 90 */ lwz r3, 0x90(r31) -/* 801AF4DC C0 22 A5 10 */ lfs f1, lit_3847(r2) -/* 801AF4E0 48 0A 62 F1 */ bl setAlphaRate__13CPaneMgrAlphaFf -/* 801AF4E4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801AF4E8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801AF4EC 7C 08 03 A6 */ mtlr r0 -/* 801AF4F0 38 21 00 10 */ addi r1, r1, 0x10 -/* 801AF4F4 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_calibration/step3_wait_move__19dMenu_Calibration_cFv.s b/asm/d/menu/d_menu_calibration/step3_wait_move__19dMenu_Calibration_cFv.s deleted file mode 100644 index 6c45deadac7..00000000000 --- a/asm/d/menu/d_menu_calibration/step3_wait_move__19dMenu_Calibration_cFv.s +++ /dev/null @@ -1,66 +0,0 @@ -lbl_801AF4F8: -/* 801AF4F8 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 801AF4FC 7C 08 02 A6 */ mflr r0 -/* 801AF500 90 01 00 34 */ stw r0, 0x34(r1) -/* 801AF504 DB E1 00 20 */ stfd f31, 0x20(r1) -/* 801AF508 F3 E1 00 28 */ psq_st f31, 40(r1), 0, 0 /* qr0 */ -/* 801AF50C 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 801AF510 7C 7F 1B 78 */ mr r31, r3 -/* 801AF514 3C 60 80 43 */ lis r3, g_drawHIO@ha /* 0x8042EBC8@ha */ -/* 801AF518 38 63 EB C8 */ addi r3, r3, g_drawHIO@l /* 0x8042EBC8@l */ -/* 801AF51C A8 83 0A 2C */ lha r4, 0xa2c(r3) -/* 801AF520 A8 7F 00 FA */ lha r3, 0xfa(r31) -/* 801AF524 38 03 00 01 */ addi r0, r3, 1 -/* 801AF528 B0 1F 00 FA */ sth r0, 0xfa(r31) -/* 801AF52C A8 1F 00 FA */ lha r0, 0xfa(r31) -/* 801AF530 7C 00 20 00 */ cmpw r0, r4 -/* 801AF534 41 80 00 34 */ blt lbl_801AF568 -/* 801AF538 80 7F 00 60 */ lwz r3, 0x60(r31) -/* 801AF53C C0 22 A5 14 */ lfs f1, lit_3885(r2) -/* 801AF540 48 0A 62 91 */ bl setAlphaRate__13CPaneMgrAlphaFf -/* 801AF544 80 7F 00 90 */ lwz r3, 0x90(r31) -/* 801AF548 C0 22 A5 10 */ lfs f1, lit_3847(r2) -/* 801AF54C 48 0A 62 85 */ bl setAlphaRate__13CPaneMgrAlphaFf -/* 801AF550 80 7F 00 5C */ lwz r3, 0x5c(r31) -/* 801AF554 C0 22 A5 10 */ lfs f1, lit_3847(r2) -/* 801AF558 48 0A 62 79 */ bl setAlphaRate__13CPaneMgrAlphaFf -/* 801AF55C 38 00 00 05 */ li r0, 5 -/* 801AF560 98 1F 01 00 */ stb r0, 0x100(r31) -/* 801AF564 48 00 00 74 */ b lbl_801AF5D8 -lbl_801AF568: -/* 801AF568 C8 42 A5 18 */ lfd f2, lit_3887(r2) -/* 801AF56C 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 801AF570 90 01 00 0C */ stw r0, 0xc(r1) -/* 801AF574 3C 60 43 30 */ lis r3, 0x4330 -/* 801AF578 90 61 00 08 */ stw r3, 8(r1) -/* 801AF57C C8 01 00 08 */ lfd f0, 8(r1) -/* 801AF580 EC 20 10 28 */ fsubs f1, f0, f2 -/* 801AF584 6C 80 80 00 */ xoris r0, r4, 0x8000 -/* 801AF588 90 01 00 14 */ stw r0, 0x14(r1) -/* 801AF58C 90 61 00 10 */ stw r3, 0x10(r1) -/* 801AF590 C8 01 00 10 */ lfd f0, 0x10(r1) -/* 801AF594 EC 00 10 28 */ fsubs f0, f0, f2 -/* 801AF598 EF E1 00 24 */ fdivs f31, f1, f0 -/* 801AF59C 80 7F 00 60 */ lwz r3, 0x60(r31) -/* 801AF5A0 FC 20 F8 90 */ fmr f1, f31 -/* 801AF5A4 48 0A 62 2D */ bl setAlphaRate__13CPaneMgrAlphaFf -/* 801AF5A8 80 7F 00 90 */ lwz r3, 0x90(r31) -/* 801AF5AC C0 22 A5 10 */ lfs f1, lit_3847(r2) -/* 801AF5B0 48 0A 62 21 */ bl setAlphaRate__13CPaneMgrAlphaFf -/* 801AF5B4 80 7F 00 5C */ lwz r3, 0x5c(r31) -/* 801AF5B8 48 0A 62 71 */ bl getAlphaRate__13CPaneMgrAlphaFv -/* 801AF5BC C0 02 A5 10 */ lfs f0, lit_3847(r2) -/* 801AF5C0 FC 00 08 00 */ fcmpu cr0, f0, f1 -/* 801AF5C4 41 82 00 14 */ beq lbl_801AF5D8 -/* 801AF5C8 80 7F 00 5C */ lwz r3, 0x5c(r31) -/* 801AF5CC C0 02 A5 14 */ lfs f0, lit_3885(r2) -/* 801AF5D0 EC 20 F8 28 */ fsubs f1, f0, f31 -/* 801AF5D4 48 0A 61 FD */ bl setAlphaRate__13CPaneMgrAlphaFf -lbl_801AF5D8: -/* 801AF5D8 E3 E1 00 28 */ psq_l f31, 40(r1), 0, 0 /* qr0 */ -/* 801AF5DC CB E1 00 20 */ lfd f31, 0x20(r1) -/* 801AF5E0 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 801AF5E4 80 01 00 34 */ lwz r0, 0x34(r1) -/* 801AF5E8 7C 08 03 A6 */ mtlr r0 -/* 801AF5EC 38 21 00 30 */ addi r1, r1, 0x30 -/* 801AF5F0 4E 80 00 20 */ blr diff --git a/include/JSystem/J3DGraphBase/J3DDrawBuffer.h b/include/JSystem/J3DGraphBase/J3DDrawBuffer.h index b937d163871..b4577c07cff 100644 --- a/include/JSystem/J3DGraphBase/J3DDrawBuffer.h +++ b/include/JSystem/J3DGraphBase/J3DDrawBuffer.h @@ -5,6 +5,30 @@ #include "dolphin/mtx/mtx.h" #include "dolphin/types.h" +// matches debug +inline f32 J3DCalcZValue(register MtxP m, register Vec v) { + register f32 temp_f4; + register f32 out; + register f32 temp_f0; + register f32 temp_f2; + register f32 temp_f1 = 1.0f; + + // clang-format off + asm { + psq_l temp_f0, 0(v), 0, 0 /* qr0 */ + lfs temp_f2, 8(v) + psq_l temp_f4, 32(m), 0, 0 /* qr0 */ + psq_l out, 40(m), 0, 0 /* qr0 */ + ps_merge00 temp_f2, temp_f2, temp_f1 + ps_mul temp_f4, temp_f0, temp_f4 + ps_madd out, temp_f2, out, temp_f4 + ps_sum0 out, out, out, out + } + // clang-format on + + return out; +} + class J3DDrawBuffer; class J3DPacket; class J3DDrawPacket; @@ -46,6 +70,8 @@ public: void drawHead() const; void drawTail() const; + u32 getEntryTableSize() { return mBufSize; } + inline void calcZRatio(); void setNonSort() { mSortType = 5; } void setZSort() { mSortType = 2; } diff --git a/include/SSystem/SComponent/c_bg_s_chk.h b/include/SSystem/SComponent/c_bg_s_chk.h index 7a832cf2715..c0746f8eb8f 100644 --- a/include/SSystem/SComponent/c_bg_s_chk.h +++ b/include/SSystem/SComponent/c_bg_s_chk.h @@ -2,6 +2,9 @@ #define C_BG_S_CHK_H #include "dolphin/types.h" +#include "dolphin/mtx/vec.h" + +struct cBgD_Vtx_t : public Vec {}; class cBgS_GrpPassChk { public: diff --git a/include/SSystem/SComponent/c_lib.h b/include/SSystem/SComponent/c_lib.h index cf04ec17d66..e0e9c2084cb 100644 --- a/include/SSystem/SComponent/c_lib.h +++ b/include/SSystem/SComponent/c_lib.h @@ -71,6 +71,21 @@ inline T cLib_minMaxLimit(T val, T min, T max) { return (T)ret; } +template +inline T cLib_maxLimit(T val, T max) { + T ret; + T var_r30; + + if (val > max) { + var_r30 = max; + } else { + var_r30 = val; + } + + ret = var_r30; + return (T)ret; +} + template T cLib_calcTimer(T* val); diff --git a/include/SSystem/SComponent/c_m3d_g_pla.h b/include/SSystem/SComponent/c_m3d_g_pla.h index bb628278f9a..17b1e033ca3 100644 --- a/include/SSystem/SComponent/c_m3d_g_pla.h +++ b/include/SSystem/SComponent/c_m3d_g_pla.h @@ -26,6 +26,7 @@ public: f32 getPlaneFunc(const Vec* pPoint) const { return mD + PSVECDotProduct(&mNormal, pPoint); } const cXyz& GetNP() const { return mNormal; } + const cXyz& i_GetNP() const { return mNormal; } f32 GetD() const { return mD; } void SetupFrom3Vtx(const Vec* v1, const Vec* v2, const Vec* v3) { cM3d_CalcPla(v1, v2, v3, &mNormal, &mD); diff --git a/include/d/com/d_com_inf_game.h b/include/d/com/d_com_inf_game.h index 37f3eb7593d..3bb28c00fcc 100644 --- a/include/d/com/d_com_inf_game.h +++ b/include/d/com/d_com_inf_game.h @@ -1665,6 +1665,14 @@ inline u8 dComIfGs_getWalletSize() { return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().getWalletSize(); } +inline void dComIfGs_setOptCalValue(s8 i_calValue) { + g_dComIfG_gameInfo.info.getPlayer().getConfig().setCalValue(i_calValue); +} + +inline void dComIfGs_setOptCalibrateDist(u16 i_calibrateDist) { + g_dComIfG_gameInfo.info.getPlayer().getConfig().setCalibrateDist(i_calibrateDist); +} + void dComIfGp_setSelectItem(int index); s32 dComIfGp_offHeapLockFlag(int flag); void dComIfGp_createSubExpHeap2D(); diff --git a/include/d/d_drawlist.h b/include/d/d_drawlist.h index e787cdd8d7e..1a7f1f00dc2 100644 --- a/include/d/d_drawlist.h +++ b/include/d/d_drawlist.h @@ -131,31 +131,37 @@ public: /* 0x38 */ Mtx mMtx; }; // Size: 0x68 -struct cBgD_Vtx_t {}; +struct cBgD_Vtx_t; + +class dDlst_shadowTri_c { +public: + /* 80056270 */ ~dDlst_shadowTri_c() {} + /* 80056344 */ dDlst_shadowTri_c() {} + + /* 0x0 */ cXyz mPos[3]; +}; class dDlst_shadowPoly_c { public: - /* 80054288 */ void set(cBgD_Vtx_t*, u16, u16, u16, cM3dGPla*); + dDlst_shadowPoly_c() { + reset(); + } + + void reset() { mCount = 0; } + + /* 80054288 */ int set(cBgD_Vtx_t*, u16, u16, u16, cM3dGPla*); /* 800543B4 */ void draw(); - virtual void getTri() = 0; + virtual dDlst_shadowTri_c* getTri() = 0; virtual s32 getTriMax() = 0; /* 0x4 */ u16 mCount; /* 0x6 */ u8 field_0x6[2]; }; -class dDlst_shadowTri_c { -public: - /* 80056270 */ ~dDlst_shadowTri_c(); - /* 80056344 */ dDlst_shadowTri_c(); - - /* 0x0 */ cXyz mPos[3]; -}; - class dDlst_shadowRealPoly_c : public dDlst_shadowPoly_c { public: - /* 800569A0 */ virtual void getTri(); + /* 800569A0 */ virtual dDlst_shadowTri_c* getTri(); /* 800569A8 */ virtual s32 getTriMax(); /* 0x8 */ dDlst_shadowTri_c mShadowTri[256]; @@ -166,11 +172,16 @@ public: /* 800544F0 */ void reset(); /* 80054500 */ void imageDraw(f32 (*)[4]); /* 800545D4 */ void draw(); - /* 80054BD0 */ void setShadowRealMtx(cXyz*, cXyz*, f32, f32, f32, dKy_tevstr_c*); - /* 80055028 */ void set(u32, J3DModel*, cXyz*, f32, f32, dKy_tevstr_c*, f32, f32); + /* 80054BD0 */ u8 setShadowRealMtx(cXyz*, cXyz*, f32, f32, f32, dKy_tevstr_c*); + /* 80055028 */ u32 set(u32, J3DModel*, cXyz*, f32, f32, dKy_tevstr_c*, f32, f32); /* 800551D4 */ bool add(J3DModel*); /* 800561F8 */ ~dDlst_shadowReal_c() {} - /* 800562D0 */ dDlst_shadowReal_c(); + /* 800562D0 */ dDlst_shadowReal_c() { mState = 0; } + + dDlst_shadowReal_c* getZsortNext() { return mZsortNext; } + bool isNoUse() { return mState == 0; } + bool isUse() { return mState == 1; } + bool checkKey(u32 i_key) { return mKey == i_key; } private: /* 0x0000 */ u8 mState; @@ -196,7 +207,7 @@ public: /* 800557C8 */ void imageDraw(f32 (*)[4]); /* 80055A14 */ void draw(f32 (*)[4]); /* 80055C74 */ int setReal(u32, s8, J3DModel*, cXyz*, f32, f32, dKy_tevstr_c*); - /* 80055F1C */ void addReal(u32, J3DModel*); + /* 80055F1C */ bool addReal(u32, J3DModel*); /* 80055F84 */ int setSimple(cXyz*, f32, f32, cXyz*, s16, f32, _GXTexObj*); /* 80055FE8 */ static void setSimpleTex(ResTIMG const*); @@ -214,8 +225,7 @@ private: /* 0x0340C */ int mNextID; /* 0x03410 */ dDlst_shadowReal_c mReal[8]; /* 0x15EB0 */ _GXTexObj field_0x15eb0[2]; - /* 0x15EF0 */ void* field_0x15ef0; - /* 0x15EF4 */ void* field_0x15ef4; + /* 0x15EF0 */ void* field_0x15ef0[2]; }; class dDlst_window_c { @@ -284,10 +294,10 @@ public: /* 0x14 */ DB_LIST_3D_LAST, }; - void set2DOpa(dDlst_base_c* dlst) { set(mp2DOpaSet[0], mp2DOpaSet[1], dlst); } - void set2DOpaTop(dDlst_base_c* dlst) { set(mp2DOpaTopSet[0], mp2DOpaTopSet[1], dlst); } - void set2DXlu(dDlst_base_c* dlst) { set(mp2DXluSet[0], mp2DXluSet[1], dlst); } - void setCopy2D(dDlst_base_c* dlst) { set(mpCopy2DSet[0], mpCopy2DSet[1], dlst); } + void set2DOpa(dDlst_base_c* dlst) { set(mp2DOpaStart, mp2DOpaEnd, dlst); } + void set2DOpaTop(dDlst_base_c* dlst) { set(mp2DOpaTopStart, mp2DOpaTopEnd, dlst); } + void set2DXlu(dDlst_base_c* dlst) { set(mp2DXluStart, mp2DXluEnd, dlst); } + void setCopy2D(dDlst_base_c* dlst) { set(mpCopy2DStart, mpCopy2DEnd, dlst); } view_class* getView() { return mView; } void setView(view_class* view) { mView = view; } void setWindow(dDlst_window_c* window) { mWindow = window; } @@ -334,7 +344,7 @@ public: view_port_class* getViewport() { return mViewport; } - void drawCopy2D() { draw(mpCopy2DDraw[0], mpCopy2DSet[0]); } + void drawCopy2D() { draw(mpCopy2DDrawLists, mpCopy2DStart); } void drawOpaListSky() { drawOpaDrawList(mDrawBuffers[DB_OPA_LIST_SKY]); } void drawXluListSky() { drawXluDrawList(mDrawBuffers[DB_XLU_LIST_SKY]); } void drawOpaListBG() { drawOpaDrawList(mDrawBuffers[DB_OPA_LIST_BG]); } @@ -354,9 +364,9 @@ public: void drawOpaList3Dlast() { drawOpaDrawList(mDrawBuffers[DB_LIST_3D_LAST]); } void drawOpaListFilter() { drawOpaDrawList(mDrawBuffers[DB_LIST_FILTER]); } void drawOpaListP0() { drawOpaDrawList(mDrawBuffers[DB_LIST_P0]); } - void draw2DOpa() { draw(mp2DOpaDraw[0], mp2DOpaSet[0]); } - void draw2DOpaTop() { draw(mp2DOpaTopDraw[0], mp2DOpaTopSet[0]); } - void draw2DXlu() { draw(mp2DXluDraw[0], mp2DXluSet[0]); } + void draw2DOpa() { draw(mp2DOpaDrawLists, mp2DOpaStart); } + void draw2DOpaTop() { draw(mp2DOpaTopDrawLists, mp2DOpaTopStart); } + void draw2DXlu() { draw(mp2DXluDrawLists, mp2DXluStart); } void imageDrawShadow(Mtx param_0) { mShadowControl.imageDraw(param_0); } void drawShadow(Mtx param_0) { mShadowControl.draw(param_0); } @@ -372,14 +382,18 @@ public: private: /* 0x00000 */ J3DDrawBuffer* mDrawBuffers[21]; - /* 0x00054 */ dDlst_base_c** mpCopy2DDraw[4]; - /* 0x00064 */ dDlst_base_c** mpCopy2DSet[2]; - /* 0x0006C */ dDlst_base_c** mp2DOpaTopDraw[16]; - /* 0x000AC */ dDlst_base_c** mp2DOpaTopSet[2]; - /* 0x000B4 */ dDlst_base_c** mp2DOpaDraw[64]; - /* 0x001B4 */ dDlst_base_c** mp2DOpaSet[2]; - /* 0x001BC */ dDlst_base_c** mp2DXluDraw[32]; - /* 0x0023C */ dDlst_base_c** mp2DXluSet[2]; + /* 0x00054 */ dDlst_base_c* mpCopy2DDrawLists[4]; + /* 0x00064 */ dDlst_base_c** mpCopy2DStart; + /* 0x00068 */ dDlst_base_c** mpCopy2DEnd; + /* 0x0006C */ dDlst_base_c* mp2DOpaTopDrawLists[16]; + /* 0x000AC */ dDlst_base_c** mp2DOpaTopStart; + /* 0x000B0 */ dDlst_base_c** mp2DOpaTopEnd; + /* 0x000B4 */ dDlst_base_c* mp2DOpaDrawLists[64]; + /* 0x001B4 */ dDlst_base_c** mp2DOpaStart; + /* 0x001B8 */ dDlst_base_c** mp2DOpaEnd; + /* 0x001BC */ dDlst_base_c* mp2DXluDrawLists[32]; + /* 0x0023C */ dDlst_base_c** mp2DXluStart; + /* 0x00240 */ dDlst_base_c** mp2DXluEnd; /* 0x00244 */ dDlst_window_c* mWindow; /* 0x00248 */ view_port_class* mViewport; /* 0x0024C */ view_class* mView; diff --git a/include/d/d_select_cursor.h b/include/d/d_select_cursor.h index fa188148e04..7c9d372d354 100644 --- a/include/d/d_select_cursor.h +++ b/include/d/d_select_cursor.h @@ -1,11 +1,10 @@ #ifndef D_D_SELECT_CURSOR_H #define D_D_SELECT_CURSOR_H +#include "JSystem/J2DGraph/J2DPane.h" +#include "JSystem/J2DGraph/J2DScreen.h" #include "d/d_drawlist.h" #include "d/d_select_icon.h" -#include "dolphin/types.h" -#include "JSystem/J2DGraph/J2DScreen.h" -#include "JSystem/J2DGraph/J2DPane.h" class dSelect_cursorHIO_c { public: @@ -49,17 +48,14 @@ public: mPositionY = y; } - void onUpdateFlag() { - mUpdateFlag = true; - } + void onUpdateFlag() { mUpdateFlag = true; } - void resetUpdateFlag() { - mUpdateFlag = false; - } + void resetUpdateFlag() { mUpdateFlag = false; } - bool getUpdateFlag() { - return mUpdateFlag; - } + bool getUpdateFlag() { return mUpdateFlag; } + + void onPlayAnime(int i_flag) { field_0xb4 |= (1 << i_flag); } + void offPlayAnime(int i_flag) { field_0xb4 &= ~(1 << i_flag); } private: /* 0x04 */ J2DScreen* mpScreen; diff --git a/include/d/kankyo/d_kankyo.h b/include/d/kankyo/d_kankyo.h index 38dc72efc89..f9ca7ce440b 100644 --- a/include/d/kankyo/d_kankyo.h +++ b/include/d/kankyo/d_kankyo.h @@ -42,6 +42,7 @@ void dKy_change_colpat(u8 colpat); void dKy_BossLight_set(cXyz* param_0, _GXColor* param_1, f32 param_2, u8 param_3); void dKy_custom_colset(u8 prevGather, u8 curGather, f32 blend); void dKy_setLight(); +cXyz dKy_plight_near_pos(); struct LIGHT_INFLUENCE { /* 800CFC7C */ ~LIGHT_INFLUENCE() {} diff --git a/include/d/menu/d_menu_calibration.h b/include/d/menu/d_menu_calibration.h index e81361d3eed..a937a01e510 100644 --- a/include/d/menu/d_menu_calibration.h +++ b/include/d/menu/d_menu_calibration.h @@ -1,6 +1,91 @@ #ifndef D_MENU_D_MENU_CALIBRATION_H #define D_MENU_D_MENU_CALIBRATION_H -#include "dolphin/types.h" +#include "d/com/d_com_inf_game.h" +#include "d/msg/d_msg_string.h" + +class dMenu_Calibration_c { +public: + enum { + /* 0 */ PROC_STEP1_WAIT, + /* 1 */ PROC_STEP1_MOVE, + /* 2 */ PROC_STEP2_WAIT, + /* 3 */ PROC_STEP2_MOVE, + /* 4 */ PROC_STEP3_WAIT, + /* 5 */ PROC_STEP3_MOVE, + }; + + /* 801AEDAC */ void _move(); + /* 801AEE2C */ void _draw(); + /* 801AEE30 */ void step1_wait_init(); + /* 801AEF60 */ void step1_wait_move(); + /* 801AF084 */ void step1_move_init(); + /* 801AF0C0 */ void step1_move_move(); + /* 801AF188 */ void step2_wait_init(); + /* 801AF1F4 */ void step2_wait_move(); + /* 801AF380 */ void step2_move_init(); + /* 801AF3BC */ void step2_move_move(); + /* 801AF488 */ void step3_wait_init(); + /* 801AF4F8 */ void step3_wait_move(); + /* 801AF5F4 */ void step3_move_init(); + /* 801AF630 */ void step3_move_move(); + /* 801AF710 */ void setCalibrationValue(); + /* 801AF738 */ void setAButtonString(u16); + /* 801AF7E8 */ void setBButtonString(u16); + /* 801AF898 */ void setStepString(u16); + /* 801AF948 */ void setExplainString(u16); + /* 801AFA00 */ void setHIO(bool); + + /* 801AFBF4 */ virtual void draw(); + /* 801AED64 */ virtual ~dMenu_Calibration_c(); + + // this is just a hack to get .data section to match + // not sure how to fix it without this atm + virtual void unk0() = 0; + virtual void unk1() = 0; + + /* 0x004 */ JKRExpHeap* mpHeap; + /* 0x008 */ JKRArchive* mpArchive; + /* 0x00C */ J2DScreen* mpCalibrationMainScrn; + /* 0x010 */ J2DScreen* mpDoIconPartsScrn; + /* 0x014 */ J2DTextBox* mpAButtonString[5]; + /* 0x028 */ J2DTextBox* mpBButtonString[5]; + /* 0x03C */ J2DTextBox* mpExplainString[3]; + /* 0x048 */ J2DTextBox* mpStepString[3]; + /* 0x054 */ CPaneMgr* field_0x54; + /* 0x058 */ CPaneMgr* field_0x58[3]; + /* 0x064 */ CPaneMgr* field_0x64; + /* 0x068 */ CPaneMgr* field_0x68[5]; + /* 0x07C */ CPaneMgr* field_0x7c; + /* 0x080 */ CPaneMgr* field_0x80; + /* 0x084 */ CPaneMgr* field_0x84; + /* 0x088 */ CPaneMgr* field_0x88; + /* 0x08C */ CPaneMgr* field_0x8c; + /* 0x090 */ CPaneMgr* field_0x90; + /* 0x094 */ CPaneMgr* field_0x94; + /* 0x098 */ CPaneMgr* field_0x98; + /* 0x09C */ CPaneMgr* field_0x9c; + /* 0x0A0 */ CPaneMgr* field_0xa0; + /* 0x0A4 */ dMsgString_c* mpMsgString; + /* 0x0A8 */ dSelect_cursor_c* mpSelectCursor; + /* 0x0AC */ J2DTextBox::TFontSize field_0xac[5]; + /* 0x0D4 */ f32 field_0xd4; + /* 0x0D8 */ f32 field_0xd8; + /* 0x0DC */ f32 field_0xdc; + /* 0x0E0 */ f32 field_0xe0; + /* 0x0E4 */ f32 field_0xe4; + /* 0x0E8 */ int mCalibrationValue; + /* 0x0EC */ int field_0xec; + /* 0x0F0 */ int field_0xf0; + /* 0x0F4 */ u16 mCalibrateDist; + /* 0x0F6 */ s16 field_0xf6; + /* 0x0F8 */ s16 field_0xf8; + /* 0x0FA */ s16 field_0xfa; + /* 0x0FC */ s16 field_0xfc; + /* 0x0FE */ u8 mStatus; + /* 0x0FF */ u8 field_0xff; + /* 0x100 */ u8 mProcess; + /* 0x101 */ u8 field_0x101; +}; #endif /* D_MENU_D_MENU_CALIBRATION_H */ diff --git a/include/d/meter/d_meter2_info.h b/include/d/meter/d_meter2_info.h index 085e504eac5..c7be57cb598 100644 --- a/include/d/meter/d_meter2_info.h +++ b/include/d/meter/d_meter2_info.h @@ -266,6 +266,10 @@ inline void dMeter2Info_getString(u32 param_0, char* param_1, JMSMesgEntry_c* pa g_meter2_info.getString(param_0, param_1, param_2); } +inline void dMeter2Info_getStringKanji(u32 param_0, char* param_1, JMSMesgEntry_c* param_2) { + g_meter2_info.getStringKanji(param_0, param_1, param_2); +} + inline void dMeter2Info_setHotSpringTimer(u8 time) { g_meter2_info.setHotSpringTimer(time); } diff --git a/include/m_Do/m_Do_ext.h b/include/m_Do/m_Do_ext.h index fe8cff93869..b31b3cbbc01 100644 --- a/include/m_Do/m_Do_ext.h +++ b/include/m_Do/m_Do_ext.h @@ -435,7 +435,9 @@ public: class mDoExt_3DlineMatSortPacket : public J3DPacket { public: - mDoExt_3DlineMatSortPacket(); + mDoExt_3DlineMatSortPacket() { mp3DlineMat = NULL; } + + void reset() { mp3DlineMat = NULL; } /* 80014738 */ void setMat(mDoExt_3DlineMat_c*); virtual void draw(); @@ -505,7 +507,8 @@ public: class mDoExt_cylinderPacket : public J3DPacket { public: - mDoExt_cylinderPacket(cXyz& i_position, f32 i_radius, f32 i_height, const GXColor& i_color, u8 param_4) { + mDoExt_cylinderPacket(cXyz& i_position, f32 i_radius, f32 i_height, const GXColor& i_color, + u8 param_4) { mPosition = i_position; mRadius = i_radius; mHeight = i_height; diff --git a/libs/JSystem/J3DGraphBase/J3DDrawBuffer.cpp b/libs/JSystem/J3DGraphBase/J3DDrawBuffer.cpp index d6160a56432..fdb3a0cdb61 100644 --- a/libs/JSystem/J3DGraphBase/J3DDrawBuffer.cpp +++ b/libs/JSystem/J3DGraphBase/J3DDrawBuffer.cpp @@ -1,62 +1,12 @@ -// -// Generated By: dol2asm -// Translation Unit: J3DDrawBuffer -// +/** + * J3DDrawBuffer.cpp + * + */ #include "JSystem/J3DGraphBase/J3DDrawBuffer.h" -#include "JSystem/JKernel/JKRHeap.h" -#include "dol2asm.h" -#include "dolphin/types.h" -#include "JSystem/J3DGraphBase/J3DPacket.h" #include "JSystem/J3DGraphBase/J3DMaterial.h" - -// -// Forward References: -// - -extern "C" void initialize__13J3DDrawBufferFv(); -extern "C" void allocBuffer__13J3DDrawBufferFUl(); -extern "C" void __dt__13J3DDrawBufferFv(); -extern "C" void frameInit__13J3DDrawBufferFv(); -extern "C" void entryMatSort__13J3DDrawBufferFP12J3DMatPacket(); -extern "C" void entryMatAnmSort__13J3DDrawBufferFP12J3DMatPacket(); -extern "C" void entryZSort__13J3DDrawBufferFP12J3DMatPacket(); -extern "C" void entryModelSort__13J3DDrawBufferFP12J3DMatPacket(); -extern "C" void entryInvalidSort__13J3DDrawBufferFP12J3DMatPacket(); -extern "C" void entryNonSort__13J3DDrawBufferFP12J3DMatPacket(); -extern "C" void entryImm__13J3DDrawBufferFP9J3DPacketUs(); -extern "C" void draw__13J3DDrawBufferCFv(); -extern "C" void drawHead__13J3DDrawBufferCFv(); -extern "C" void drawTail__13J3DDrawBufferCFv(); -extern "C" void __sinit_J3DDrawBuffer_cpp(); -extern "C" u8 sortFuncTable__13J3DDrawBuffer[72]; -extern "C" u8 drawFuncTable__13J3DDrawBuffer[24]; -extern "C" u8 entryNum__13J3DDrawBuffer[4 + 4 /* padding */]; - -// -// External References: -// - -extern "C" void* __nwa__FUli(); -extern "C" void __dl__FPv(); -extern "C" void __dla__FPv(); -extern "C" void addChildPacket__9J3DPacketFP9J3DPacket(); -extern "C" void addShapePacket__12J3DMatPacketFP14J3DShapePacket(); -extern "C" void isSame__12J3DMatPacketCFP12J3DMatPacket(); -extern "C" void __ptmf_scall(); -extern "C" void __cvt_fp2unsigned(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 80456400-80456404 004A00 0004+00 2/2 0/0 0/0 .sdata2 @781 */ -SECTION_SDATA2 static f32 lit_781 = 1.0f; +#include "JSystem/J3DGraphBase/J3DPacket.h" +#include "JSystem/JKernel/JKRHeap.h" void J3DDrawBuffer::calcZRatio() { mZRatio = (mZFar - mZNear) / (f32)mBufSize; @@ -65,7 +15,7 @@ void J3DDrawBuffer::calcZRatio() { void J3DDrawBuffer::initialize() { mDrawType = DRAW_HEAD; mSortType = SORT_MAT; - mZNear = lit_781; + mZNear = 1.0f; mZFar = 10000.0f; mpZMtx = NULL; mpCallBackPacket = NULL; @@ -126,7 +76,9 @@ int J3DDrawBuffer::entryMatSort(J3DMatPacket* pMatPacket) { mpBuf[slot] = pMatPacket; return 1; } else { - for (J3DMatPacket* pkt = (J3DMatPacket*)mpBuf[slot]; pkt != NULL; pkt = (J3DMatPacket*)pkt->getNextPacket()) { + for (J3DMatPacket* pkt = (J3DMatPacket*)mpBuf[slot]; pkt != NULL; + pkt = (J3DMatPacket*)pkt->getNextPacket()) + { if (pkt->isSame(pMatPacket)) { pkt->addShapePacket(pMatPacket->getShapePacket()); return 0; @@ -154,7 +106,9 @@ int J3DDrawBuffer::entryMatAnmSort(J3DMatPacket* pMatPacket) { mpBuf[slot] = pMatPacket; return 1; } else { - for (J3DMatPacket* pkt = (J3DMatPacket*)mpBuf[slot]; pkt != NULL; pkt = (J3DMatPacket*)pkt->getNextPacket()) { + for (J3DMatPacket* pkt = (J3DMatPacket*)mpBuf[slot]; pkt != NULL; + pkt = (J3DMatPacket*)pkt->getNextPacket()) + { if (pkt->mpMaterialAnm == pMaterialAnm) { pkt->addShapePacket(pMatPacket->getShapePacket()); return 0; @@ -168,30 +122,8 @@ int J3DDrawBuffer::entryMatAnmSort(J3DMatPacket* pMatPacket) { } } -inline f32 J3DCalcZValue(register MtxP m, register Vec v) { - register f32 out; - - // clang-format off - asm { - lfs f1, lit_781(r2) - psq_l f0, 8(v), 0, 0 /* qr0 */ - lfs f2, 0x10(v) - psq_l f4, 32(m), 0, 0 /* qr0 */ - psq_l out, 40(m), 0, 0 /* qr0 */ - ps_merge00 f2, f2, f1 - ps_mul f4, f0, f4 - ps_madd out, f2, out, f4 - ps_sum0 out, out, out, out - } - // clang-format on - - return out; -} - /* 8032529C-803253B4 31FBDC 0118+00 1/0 0/0 0/0 .text entryZSort__13J3DDrawBufferFP12J3DMatPacket */ -// J3DCalcZValue needs work with the asm registers -#ifdef NONMATCHING int J3DDrawBuffer::entryZSort(J3DMatPacket* i_packet) { i_packet->drawClear(); i_packet->getShapePacket()->drawClear(); @@ -220,16 +152,6 @@ int J3DDrawBuffer::entryZSort(J3DMatPacket* i_packet) { return 1; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int J3DDrawBuffer::entryZSort(J3DMatPacket* param_0) { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DDrawBuffer/entryZSort__13J3DDrawBufferFP12J3DMatPacket.s" -} -#pragma pop -#endif /* 803253B4-80325404 31FCF4 0050+00 1/0 0/0 0/0 .text * entryModelSort__13J3DDrawBufferFP12J3DMatPacket */ @@ -277,13 +199,13 @@ int J3DDrawBuffer::entryImm(J3DPacket* i_packet, u16 index) { } /* 803CEC30-803CEC78 02BD50 0048+00 0/1 1/1 0/0 .data sortFuncTable__13J3DDrawBuffer */ -SECTION_DATA sortFunc J3DDrawBuffer::sortFuncTable[6] = { +sortFunc J3DDrawBuffer::sortFuncTable[6] = { &J3DDrawBuffer::entryMatSort, &J3DDrawBuffer::entryMatAnmSort, &J3DDrawBuffer::entryZSort, &J3DDrawBuffer::entryModelSort, &J3DDrawBuffer::entryInvalidSort, &J3DDrawBuffer::entryNonSort, }; /* 803CEC90-803CECA8 02BDB0 0018+00 1/2 0/0 0/0 .data drawFuncTable__13J3DDrawBuffer */ -SECTION_DATA drawFunc J3DDrawBuffer::drawFuncTable[2] = { +drawFunc J3DDrawBuffer::drawFuncTable[2] = { &J3DDrawBuffer::drawHead, &J3DDrawBuffer::drawTail, }; diff --git a/src/d/d_drawlist.cpp b/src/d/d_drawlist.cpp index 208101a886c..a1f3925b324 100644 --- a/src/d/d_drawlist.cpp +++ b/src/d/d_drawlist.cpp @@ -10,7 +10,6 @@ #include "dol2asm.h" #include "dolphin/mtx/mtx44.h" #include "dolphin/mtx/mtxvec.h" -#include "dolphin/types.h" #include "m_Do/m_Do_graphic.h" #include "m_Do/m_Do_lib.h" #include "m_Do/m_Do_mtx.h" @@ -19,40 +18,95 @@ // Types: // -struct dDlst_blo_c { - /* 80053B64 */ void draw(); +class dDlst_blo_c : public dDlst_base_c { +public: + /* 80053B64 */ virtual void draw(); + + /* 0x004 */ int field_0x4; + /* 0x008 */ J2DScreen mScreen; + /* 0x120 */ f32 field_0x120; + /* 0x124 */ f32 field_0x124; }; -struct dDlst_2Dm_c { - /* 8005312C */ void draw(); +class dDlst_2Dm_c { +public: + /* 8005312C */ virtual void draw(); + + /* 0x04 */ s16 field_0x4; + /* 0x06 */ s16 field_0x6; + /* 0x08 */ s16 field_0x8; + /* 0x0A */ s16 field_0xa; + /* 0x0C */ f32 field_0xc; + /* 0x10 */ f32 field_0x10; + /* 0x14 */ GXColor field_0x14; + /* 0x18 */ GXColor field_0x18; + /* 0x1C */ GXTexObj field_0x1c; + /* 0x3C */ GXTlutObj field_0x3c; + /* 0x48 */ s16 field_0x48; + /* 0x4A */ s16 field_0x4a; + /* 0x4C */ u8 field_0x4c; + /* 0x50 */ GXTexObj field_0x50; + /* 0x70 */ GXTlutObj field_0x70; + /* 0x7C */ s16 field_0x7c; + /* 0x7E */ s16 field_0x7e; + /* 0x80 */ u8 field_0x80; }; -struct dDlst_2DTri_c { - /* 80051AF0 */ void draw(); +class dDlst_2DTri_c { +public: + /* 80051AF0 */ virtual void draw(); + + /* 0x04 */ s16 field_0x4; + /* 0x06 */ s16 field_0x6; + /* 0x08 */ GXColor field_0x8; + /* 0x0C */ s16 field_0xc; + /* 0x10 */ f32 field_0x10; + /* 0x14 */ f32 field_0x14; }; -struct dDlst_2DT_c { - /* 80051F98 */ void draw(); +class dDlst_2DT_c { +public: + /* 80051F98 */ virtual void draw(); + + /* 0x04 */ void* field_0x4; + /* 0x08 */ u8 field_0x8[4]; + /* 0x0C */ u8 field_0xc; + /* 0x0D */ u8 field_0xd; + /* 0x0E */ u16 field_0xe; + /* 0x10 */ u16 field_0x10; + /* 0x12 */ s16 field_0x12; + /* 0x14 */ s16 field_0x14; + /* 0x16 */ s16 field_0x16; + /* 0x18 */ s16 field_0x18; + /* 0x1C */ f32 field_0x1c; + /* 0x20 */ f32 field_0x20; + /* 0x24 */ f32 field_0x24; + /* 0x28 */ f32 field_0x28; }; -struct dDlst_2DQuad_c { - /* 80051CF0 */ void draw(); +class dDlst_2DQuad_c { +public: + /* 80051CF0 */ virtual void draw(); }; -struct dDlst_2DPoint_c { - /* 80051E5C */ void draw(); +class dDlst_2DPoint_c { +public: + /* 80051E5C */ virtual void draw(); }; -struct dDlst_2DMt_c { - /* 8005364C */ void draw(); +class dDlst_2DMt_c { +public: + /* 8005364C */ virtual void draw(); }; -struct dDlst_2DM_c { - /* 80052C58 */ void draw(); +class dDlst_2DM_c { +public: + /* 80052C58 */ virtual void draw(); }; -struct ShdwDrawPoly_c { - /* 80054A6C */ ~ShdwDrawPoly_c(); +class ShdwDrawPoly_c : public cBgS_ShdwDraw { +public: + /* 80054A6C */ virtual ~ShdwDrawPoly_c() {} }; // @@ -251,7 +305,8 @@ void dDlst_window_c::setScissor(f32 xOrig, f32 yOrig, f32 width, f32 height) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dDlst_2DTri_c::draw() { +// asm void dDlst_2DTri_c::draw() { +extern "C" asm void draw__13dDlst_2DTri_cFv() { nofralloc #include "asm/d/d_drawlist/draw__13dDlst_2DTri_cFv.s" } @@ -261,7 +316,8 @@ asm void dDlst_2DTri_c::draw() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dDlst_2DQuad_c::draw() { +// asm void dDlst_2DQuad_c::draw() { +extern "C" asm void draw__14dDlst_2DQuad_cFv() { nofralloc #include "asm/d/d_drawlist/draw__14dDlst_2DQuad_cFv.s" } @@ -271,7 +327,8 @@ asm void dDlst_2DQuad_c::draw() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dDlst_2DPoint_c::draw() { +// asm void dDlst_2DPoint_c::draw() { +extern "C" asm void draw__15dDlst_2DPoint_cFv() { nofralloc #include "asm/d/d_drawlist/draw__15dDlst_2DPoint_cFv.s" } @@ -309,7 +366,8 @@ SECTION_SDATA2 static f64 lit_4079 = 4503601774854144.0 /* cast s32 to float */; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dDlst_2DT_c::draw() { +// asm void dDlst_2DT_c::draw() { +extern "C" asm void draw__11dDlst_2DT_cFv() { nofralloc #include "asm/d/d_drawlist/draw__11dDlst_2DT_cFv.s" } @@ -631,21 +689,31 @@ dDlst_2DT2_c::dDlst_2DT2_c() { field_0x40 = (GXColor){0, 0, 0, 0}; } -/* ############################################################################################## */ -/* 8045202C-80452030 00062C 0004+00 1/1 0/0 0/0 .sdata2 @4284 */ -SECTION_SDATA2 static u32 lit_4284 = 0x000000FF; - /* 80052B4C-80052C58 04D48C 010C+00 1/1 0/0 0/0 .text init__12dDlst_2DT2_cFP7ResTIMGffffUcUcUcff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dDlst_2DT2_c::init(ResTIMG* param_0, f32 param_1, f32 param_2, f32 param_3, f32 param_4, - u8 param_5, u8 param_6, u8 param_7, f32 param_8, f32 param_9) { - nofralloc -#include "asm/d/d_drawlist/init__12dDlst_2DT2_cFP7ResTIMGffffUcUcUcff.s" +void dDlst_2DT2_c::init(ResTIMG* i_timg, f32 param_1, f32 param_2, f32 param_3, f32 param_4, + u8 param_5, u8 param_6, u8 param_7, f32 i_scaleX, f32 i_scaleY) { + mDoLib_setResTimgObj(i_timg, &mTexObj, 0, NULL); + field_0x24 = param_1; + field_0x28 = param_2; + field_0x2c = param_3; + field_0x30 = param_4; + mScaleX = i_scaleX; + mScaleY = i_scaleY; + field_0x3c = (GXColor){0, 0, 0, 255}; + + field_0x44 = param_6; + if (field_0x44 != 0 && GXGetTexObjWrapS(&mTexObj) == 2) { + field_0x44 = 0; + } + + field_0x45 = param_7; + if (field_0x45 != 0 && GXGetTexObjWrapT(&mTexObj) == 2) { + field_0x45 = 0; + } + + field_0x46 = param_5; } -#pragma pop /* ############################################################################################## */ /* 80452030-80452034 000630 0004+00 2/2 0/0 0/0 .sdata2 @4360 */ @@ -655,7 +723,8 @@ SECTION_SDATA2 static f32 lit_4360 = 256.0f; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dDlst_2DM_c::draw() { +// asm void dDlst_2DM_c::draw() { +extern "C" asm void draw__11dDlst_2DM_cFv() { nofralloc #include "asm/d/d_drawlist/draw__11dDlst_2DM_cFv.s" } @@ -665,7 +734,8 @@ asm void dDlst_2DM_c::draw() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dDlst_2Dm_c::draw() { +// asm void dDlst_2Dm_c::draw() { +extern "C" asm void draw__11dDlst_2Dm_cFv() { nofralloc #include "asm/d/d_drawlist/func_8005312C.s" } @@ -675,7 +745,8 @@ asm void dDlst_2Dm_c::draw() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dDlst_2DMt_c::draw() { +// asm void dDlst_2DMt_c::draw() { +extern "C" asm void draw__12dDlst_2DMt_cFv() { nofralloc #include "asm/d/d_drawlist/draw__12dDlst_2DMt_cFv.s" } @@ -693,17 +764,24 @@ asm void J2DPicture::getTexture(u8 param_0) const { /* 80053A00-80053A9C 04E340 009C+00 0/0 1/1 0/0 .text __ct__10dDlst_2D_cFP7ResTIMGssssUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dDlst_2D_c::dDlst_2D_c(ResTIMG* param_0, s16 param_1, s16 param_2, s16 param_3, s16 param_4, - u8 param_5) { - nofralloc -#include "asm/d/d_drawlist/__ct__10dDlst_2D_cFP7ResTIMGssssUc.s" +dDlst_2D_c::dDlst_2D_c(ResTIMG* i_timg, s16 i_posX, s16 i_posY, s16 i_sizeX, s16 i_sizeY, + u8 i_alpha) { + mpPicture.initiate(i_timg, NULL); + mPosX = i_posX; + mPosY = i_posY; + mSizeX = i_sizeX; + mSizeY = i_sizeY; + mAlpha = i_alpha; } -#pragma pop /* 80053A9C-80053B64 04E3DC 00C8+00 1/0 0/0 0/0 .text draw__10dDlst_2D_cFv */ +// matches with vtable data +#ifdef NONMATCHING +void dDlst_2D_c::draw() { + mpPicture.setAlpha(mAlpha); + mpPicture.draw(mPosX, mPosY, mSizeX, mSizeY, false, false, false); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -713,16 +791,25 @@ extern "C" asm void draw__10dDlst_2D_cFv() { #include "asm/d/d_drawlist/draw__10dDlst_2D_cFv.s" } #pragma pop +#endif /* 80053B64-80053BA0 04E4A4 003C+00 1/0 0/0 0/0 .text draw__11dDlst_blo_cFv */ +// matches with vtable data +#ifdef NONMATCHING +void dDlst_blo_c::draw() { + mScreen.draw(field_0x120, field_0x124, dComIfGp_getCurrentGrafPort()); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dDlst_blo_c::draw() { +// asm void dDlst_blo_c::draw() { +extern "C" asm void draw__11dDlst_blo_cFv() { nofralloc #include "asm/d/d_drawlist/draw__11dDlst_blo_cFv.s" } #pragma pop +#endif /* 80053BA0-80053BC0 04E4E0 0020+00 0/0 1/0 0/0 .text clearAnmTransform__9J2DScreenFv */ #pragma push @@ -812,15 +899,15 @@ SECTION_SDATA2 static f32 lit_4793 = 30307.0f; SECTION_SDATA2 static f64 lit_4794 = 1.0; /* 80053CEC-80053DE0 04E62C 00F4+00 2/2 0/0 0/0 .text get__8cM_rnd_cFv */ -// reg swap +// matches with literals #ifdef NONMATCHING f32 cM_rnd_c::get() { seed0 = seed0 * 171 % 30269; seed1 = seed1 * 172 % 30307; seed2 = seed2 * 170 % 30323; - f32 rm = fmod((seed0 / 30269.0f) + (seed1 / 30307.0f) + (seed2 / 30323.0f), 1.0f); + f32 rm = fmodf((seed0 / 30269.0f) + (seed1 / 30307.0f) + (seed2 / 30323.0f), 1.0); - return __fabs(rm); + return fabsf(rm); } #else #pragma push @@ -869,38 +956,75 @@ extern "C" asm void draw__18dDlst_effectLine_cFv() { /* 800541F4-80054288 04EB34 0094+00 0/0 1/1 0/0 .text * update__18dDlst_effectLine_cFR4cXyzR8_GXColorUsUsUsUsffff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dDlst_effectLine_c::update(cXyz& param_0, _GXColor& param_1, u16 param_2, u16 param_3, - u16 param_4, u16 param_5, f32 param_6, f32 param_7, f32 param_8, - f32 param_9) { - nofralloc -#include "asm/d/d_drawlist/update__18dDlst_effectLine_cFR4cXyzR8_GXColorUsUsUsUsffff.s" +void dDlst_effectLine_c::update(cXyz& param_0, _GXColor& i_lineColor, u16 param_2, u16 param_3, + u16 param_4, u16 param_5, f32 param_6, f32 param_7, f32 param_8, + f32 param_9) { + field_0x10 = param_0; + mLineColor = i_lineColor; + field_0x20 = param_2; + field_0x22 = param_3; + field_0x24 = param_4; + field_0x26 = param_5; + field_0x28 = param_6; + field_0x2c = param_7; + field_0x30 = param_8; + field_0x34 = param_9; + + dComIfGd_set2DOpa(this); } -#pragma pop /* 80054288-800543B4 04EBC8 012C+00 1/1 0/0 0/0 .text * set__18dDlst_shadowPoly_cFP10cBgD_Vtx_tUsUsUsP8cM3dGPla */ +// matches with literals +#ifdef NONMATCHING +int dDlst_shadowPoly_c::set(cBgD_Vtx_t* i_vtx, u16 param_1, u16 param_2, u16 param_3, + cM3dGPla* i_plane) { + if (mCount >= getTriMax()) { + return 0; + } + + dDlst_shadowTri_c* dst = getTri() + mCount; + + cXyz b(i_plane->i_GetNP()); + f32 temp_f3 = (1.0f - fabsf(b.y)); + temp_f3 *= temp_f3; + + b.x *= temp_f3; + b.z *= temp_f3; + b *= 2.0f; + + PSVECAdd(&i_vtx[param_1], &b, &dst->mPos[0]); + PSVECAdd(&i_vtx[param_2], &b, &dst->mPos[1]); + PSVECAdd(&i_vtx[param_3], &b, &dst->mPos[2]); + mCount++; + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dDlst_shadowPoly_c::set(cBgD_Vtx_t* param_0, u16 param_1, u16 param_2, u16 param_3, - cM3dGPla* param_4) { +asm int dDlst_shadowPoly_c::set(cBgD_Vtx_t* param_0, u16 param_1, u16 param_2, u16 param_3, + cM3dGPla* param_4) { nofralloc #include "asm/d/d_drawlist/set__18dDlst_shadowPoly_cFP10cBgD_Vtx_tUsUsUsP8cM3dGPla.s" } #pragma pop +#endif /* 800543B4-80054478 04ECF4 00C4+00 1/1 0/0 0/0 .text draw__18dDlst_shadowPoly_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dDlst_shadowPoly_c::draw() { - nofralloc -#include "asm/d/d_drawlist/draw__18dDlst_shadowPoly_cFv.s" +void dDlst_shadowPoly_c::draw() { + dDlst_shadowTri_c* tri = getTri(); + + GXBegin(GX_TRIANGLES, GX_VTXFMT0, mCount * 3); + for (int i = 0; i < mCount; i++) { + GXPosition3f32(tri->mPos[2].x, tri->mPos[2].y, tri->mPos[2].z); + GXPosition3f32(tri->mPos[1].x, tri->mPos[1].y, tri->mPos[1].z); + GXPosition3f32(tri->mPos[0].x, tri->mPos[0].y, tri->mPos[0].z); + tri++; + } + + i_GXEnd(); } -#pragma pop /* 80054478-800544F0 04EDB8 0078+00 1/1 0/0 0/0 .text J3DDrawBuffer__create__FUl */ static J3DDrawBuffer* J3DDrawBuffer__create(u32 size) { @@ -922,33 +1046,42 @@ void dDlst_shadowReal_c::reset() { } /* 80054500-800545D4 04EE40 00D4+00 1/1 0/0 0/0 .text imageDraw__18dDlst_shadowReal_cFPA4_f */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dDlst_shadowReal_c::imageDraw(f32 (*param_0)[4]) { - nofralloc -#include "asm/d/d_drawlist/imageDraw__18dDlst_shadowReal_cFPA4_f.s" -} -#pragma pop +void dDlst_shadowReal_c::imageDraw(Mtx param_0) { + GXSetProjection(mRenderProjMtx, GX_ORTHOGRAPHIC); + J3DModel** models = mpModels; -/* ############################################################################################## */ -/* 8045064C-80450650 0000CC 0004+00 1/1 0/0 0/0 .sdata l_color$5004 */ -SECTION_SDATA static u8 l_color_5004[4] = { - 0x00, - 0x00, - 0x00, - 0x40, -}; + for (u8 i = 0; i < mModelNum; i++) { + J3DModelData* model_data = (*models)->getModelData(); + model_data->getShapeNodePointer(0)->loadPreDrawSetting(); + + for (u16 j = 0; j < model_data->getShapeNum(); j++) { + if (!model_data->getShapeNodePointer(j)->checkFlag(1)) { + J3DShapePacket* shape_pkt = (*models)->getShapePacket(j); + shape_pkt->setBaseMtxPtr(&mViewMtx); + shape_pkt->drawFast(); + shape_pkt->setBaseMtxPtr((Mtx*)param_0); + } + } + + models++; + } +} /* 800545D4-80054688 04EF14 00B4+00 1/1 0/0 0/0 .text draw__18dDlst_shadowReal_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dDlst_shadowReal_c::draw() { - nofralloc -#include "asm/d/d_drawlist/draw__18dDlst_shadowReal_cFv.s" +void dDlst_shadowReal_c::draw() { + static GXColor l_color = {0, 0, 0, 64}; + l_color.a = field_0x1; + + GXSetTevColor(GX_TEVREG0, l_color); + GXCallDisplayList(l_shadowProjMat, 0x40); + GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR_NULL); + GXClearVtxDesc(); + GXSetVtxDesc(GX_VA_POS, GX_DIRECT); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_CLR_RGBA, GX_F32, 0); + GXSetCurrentMtx(0); + GXLoadTexMtxImm(mReceiverProjMtx, 30, GX_MTX3x4); + mShadowRealPoly.draw(); } -#pragma pop /* ############################################################################################## */ /* 80452050-80452054 000650 0004+00 1/1 0/0 0/0 .sdata2 @5061 */ @@ -962,8 +1095,8 @@ SECTION_SDATA2 static f32 lit_5062 = -90.0f; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void psdRealCallBack(cBgS_ShdwDraw* param_0, cBgD_Vtx_t* param_1, int param_2, - int param_3, int param_4, cM3dGPla* param_5) { +static asm int psdRealCallBack(cBgS_ShdwDraw* param_0, cBgD_Vtx_t* param_1, int param_2, + int param_3, int param_4, cM3dGPla* param_5) { nofralloc #include "asm/d/d_drawlist/psdRealCallBack__FP13cBgS_ShdwDrawP10cBgD_Vtx_tiiiP8cM3dGPla.s" } @@ -994,11 +1127,31 @@ static asm void realPolygonCheck(cXyz* param_0, f32 param_1, f32 param_2, cXyz* } #pragma pop +/* static void realPolygonCheck(cXyz* param_0, f32 param_1, f32 param_2, cXyz* param_3, + dDlst_shadowPoly_c* param_4) { + ShdwDrawPoly_c draw_poly; + cXyz sp1C; + cXyz sp10; + + f32 var_f1 = cLib_maxLimit(param_1 * param_1 * 0.002f, 120.0f); + f32 temp_f2 = (param_1 + param_2) - var_f1; + + sp1C.y = param_0->y - temp_f2; + sp10.y = param_0->y + (param_1 * 0.15f); + sp1C.x = param_0->x + (param_3->x * temp_f2); + + if (sp1C.x < param_0->x) { + sp1C.x = sp10.x; + sp + } +} */ + /* 80054A6C-80054ACC 04F3AC 0060+00 1/0 0/0 0/0 .text __dt__14ShdwDrawPoly_cFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm ShdwDrawPoly_c::~ShdwDrawPoly_c() { +// asm ShdwDrawPoly_c::~ShdwDrawPoly_c() { +extern "C" asm void __dt__14ShdwDrawPoly_cFv() { nofralloc #include "asm/d/d_drawlist/__dt__14ShdwDrawPoly_cFv.s" } @@ -1013,6 +1166,39 @@ SECTION_SDATA2 static f32 lit_5156 = 13.0f / 20.0f; /* 80054ACC-80054BD0 04F40C 0104+00 2/2 0/0 0/0 .text setkankyoShadow__FP12dKy_tevstr_cPf */ +// matches with literals +#ifdef NONMATCHING +static void setkankyoShadow(dKy_tevstr_c* param_0, f32* param_1) { + dScnKy_env_light_c* env_light = i_dKy_getEnvlight(); + + if (param_0 != NULL) { + *param_1 *= param_0->field_0x344; + } else { + *param_1 *= env_light->field_0x1238; + } + + if ((env_light->mShadowMode & 4) && param_0 != NULL) { + *param_1 *= param_0->field_0x344; + } + + if (env_light->mThunderEff.mStateTimer != 0 && env_light->mThunderEff.mStateTimer < 10) { + *param_1 += env_light->mThunderEff.field_0x8; + } + + if (g_env_light.mSwordLight.mState == 2) { + f32 fvar1 = g_env_light.mSwordLight.mFrame / 15.0f; + if (fvar1 > 1.0f) { + fvar1 = 1.0f; + } + + *param_1 += (1.0f - fvar1) * (0.65f - *param_1); + } + + if (*param_1 > 1.0f) { + *param_1 = 1.0f; + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -1021,6 +1207,7 @@ static asm void setkankyoShadow(dKy_tevstr_c* param_0, f32* param_1) { #include "asm/d/d_drawlist/setkankyoShadow__FP12dKy_tevstr_cPf.s" } #pragma pop +#endif /* ############################################################################################## */ /* 80452070-80452074 000670 0004+00 1/1 0/0 0/0 .sdata2 @5267 */ @@ -1061,8 +1248,8 @@ SECTION_SDATA2 static f32 lit_5275 = -0.5f; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dDlst_shadowReal_c::setShadowRealMtx(cXyz* param_0, cXyz* param_1, f32 param_2, - f32 param_3, f32 param_4, dKy_tevstr_c* param_5) { +asm u8 dDlst_shadowReal_c::setShadowRealMtx(cXyz* param_0, cXyz* param_1, f32 param_2, f32 param_3, + f32 param_4, dKy_tevstr_c* param_5) { nofralloc #include "asm/d/d_drawlist/setShadowRealMtx__18dDlst_shadowReal_cFP4cXyzP4cXyzfffP12dKy_tevstr_c.s" } @@ -1070,46 +1257,101 @@ asm void dDlst_shadowReal_c::setShadowRealMtx(cXyz* param_0, cXyz* param_1, f32 /* 80055028-800551D4 04F968 01AC+00 1/1 0/0 0/0 .text * set__18dDlst_shadowReal_cFUlP8J3DModelP4cXyzffP12dKy_tevstr_cff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dDlst_shadowReal_c::set(u32 param_0, J3DModel* param_1, cXyz* param_2, f32 param_3, - f32 param_4, dKy_tevstr_c* param_5, f32 param_6, f32 param_7) { - nofralloc -#include "asm/d/d_drawlist/set__18dDlst_shadowReal_cFUlP8J3DModelP4cXyzffP12dKy_tevstr_cff.s" +u32 dDlst_shadowReal_c::set(u32 i_key, J3DModel* i_model, cXyz* param_2, f32 param_3, f32 param_4, + dKy_tevstr_c* param_5, f32 i_cameraZ, f32 param_7) { + dScnKy_env_light_c* env_light = i_dKy_getEnvlight(); + + if (mModelNum == 0) { + cXyz sp60; + + if (param_5 != NULL) { + sp60 = param_5->mLightPosWorld; + } else { + sp60 = dKy_plight_near_pos(); + + if (!(env_light->mShadowMode & 4) && + ((env_light->mShadowMode & 1) || (env_light->mShadowMode & 2))) + { + sp60 = g_env_light.field_0x10a0; + param_5->mLightPosWorld = g_env_light.field_0x10a0; + } + } + + field_0x1 = setShadowRealMtx(&sp60, param_2, param_3, param_4, param_7, param_5); + if (!field_0x1) { + return 0; + } + + mState = 1; + mKey = i_key; + mModelNum = 0; + mCameraZ = i_cameraZ; + mZsortPre = NULL; + mZsortNext = NULL; + } + + u8 last_model_num = mModelNum; + mModelNum++; + mpModels[last_model_num] = i_model; + return mKey; } -#pragma pop /* 800551D4-8005520C 04FB14 0038+00 1/1 0/0 0/0 .text add__18dDlst_shadowReal_cFP8J3DModel */ -bool dDlst_shadowReal_c::add(J3DModel* pModel) { - u8 curModelNum = mModelNum; +bool dDlst_shadowReal_c::add(J3DModel* i_model) { + u8 cur_model_num = mModelNum; - if (curModelNum == 0 || pModel == NULL) { + if (cur_model_num == 0 || i_model == NULL) { return false; } + mModelNum++; - mpModels[curModelNum] = pModel; + mpModels[cur_model_num] = i_model; return true; } -/* ############################################################################################## */ -/* 80450650-80450654 0000D0 0004+00 1/1 0/0 0/0 .sdata l_color$5326 */ -SECTION_SDATA static u8 l_color_5326[4] = { - 0x00, - 0x00, - 0x00, - 0x40, -}; - /* 8005520C-800553EC 04FB4C 01E0+00 1/1 0/0 0/0 .text draw__20dDlst_shadowSimple_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dDlst_shadowSimple_c::draw() { - nofralloc -#include "asm/d/d_drawlist/draw__20dDlst_shadowSimple_cFv.s" +void dDlst_shadowSimple_c::draw() { + static GXColor l_color = {0, 0, 0, 64}; + l_color.a = mAlpha; + + GXSetTevColor(GX_TEVREG0, l_color); + GXClearVtxDesc(); + GXSetVtxDesc(GX_VA_POS, GX_INDEX8); + GXLoadPosMtxImm(mVolumeMtx, GX_PNMTX0); + GXSetCurrentMtx(0); + GXCallDisplayList(l_frontMat, 0x40); + GXCallDisplayList(l_shadowVolumeDL, 0x40); + GXCallDisplayList(l_backSubMat, 0x20); + GXCallDisplayList(l_shadowVolumeDL, 0x40); + GXLoadPosMtxImm(mMtx, GX_PNMTX1); + GXSetCurrentMtx(3); + + if (mpTexObj != NULL) { + GXLoadTexObj(mpTexObj, GX_TEXMAP0); + GXClearVtxDesc(); + GXSetVtxDesc(GX_VA_POS, GX_INDEX8); + GXSetVtxDesc(GX_VA_TEX0, GX_DIRECT); + GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO); + GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); + GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_TEXA, GX_CA_A2, GX_CA_ZERO); + GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); + + if (GXGetTexObjWidth(mpTexObj) == GXGetTexObjHeight(mpTexObj)) { + GXCallDisplayList(l_shadowSealTexDL, 0x40); + } else { + GXCallDisplayList(l_shadowSealTex2DL, 0x40); + } + } + + GXClearVtxDesc(); + GXSetVtxDesc(GX_VA_POS, GX_INDEX8); + GXCallDisplayList(l_shadowSealDL, 0x60); + GXClearVtxDesc(); + GXSetVtxDesc(GX_VA_POS, GX_INDEX8); + GXSetCurrentMtx(0); + GXCallDisplayList(l_clearMat, 0x40); + GXCallDisplayList(l_shadowVolumeDL, 0x40); } -#pragma pop /* ############################################################################################## */ /* 804520A4-804520A8 0006A4 0004+00 1/1 0/0 0/0 .sdata2 @5375 */ @@ -1138,14 +1380,24 @@ asm void dDlst_shadowSimple_c::set(cXyz* param_0, f32 param_1, f32 param_2, cXyz /* ############################################################################################## */ /* 80450654-80450658 0000D4 0004+00 1/1 0/0 0/0 .sdata l_realImageSize$5383 */ -SECTION_SDATA static u8 l_realImageSize[4] = { - 0x00, - 0xC0, - 0x00, - 0x40, -}; +SECTION_SDATA static u16 l_realImageSize[2] = {192, 64}; /* 80055684-80055768 04FFC4 00E4+00 1/1 0/0 0/0 .text init__21dDlst_shadowControl_cFv */ +// matches with literals +#ifdef NONMATCHING +void dDlst_shadowControl_c::init() { + for (int i = 0; i < 2; i++) { + u16 size = l_realImageSize[i]; + + u32 buffer_size = GXGetTexBufferSize(size, size, 5, GX_DISABLE, 0); + field_0x15ef0[i] = new (0x20) u8[buffer_size]; + GXInitTexObj(&field_0x15eb0[i], field_0x15ef0[i], size, size, GX_TF_TGB5A3, GX_CLAMP, + GX_CLAMP, GX_DISABLE); + GXInitTexObjLOD(&field_0x15eb0[i], GX_LINEAR, GX_LINEAR, 0.0f, 0.0f, 0.0f, GX_FALSE, + GX_FALSE, GX_ANISO_1); + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -1154,15 +1406,17 @@ asm void dDlst_shadowControl_c::init() { #include "asm/d/d_drawlist/init__21dDlst_shadowControl_cFv.s" } #pragma pop +#endif /* 80055768-800557C8 0500A8 0060+00 1/1 0/0 0/0 .text reset__21dDlst_shadowControl_cFv */ void dDlst_shadowControl_c::reset() { - dDlst_shadowReal_c* shadowReal = &mReal[0]; + dDlst_shadowReal_c* shadowReal = mReal; for (int i = 0; i < 8; i++) { shadowReal->reset(); shadowReal++; } + mSimpleNum = 0; mRealNum = 0; field_0x4 = NULL; @@ -1172,7 +1426,7 @@ void dDlst_shadowControl_c::reset() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dDlst_shadowControl_c::imageDraw(f32 (*param_0)[4]) { +asm void dDlst_shadowControl_c::imageDraw(Mtx param_0) { nofralloc #include "asm/d/d_drawlist/imageDraw__21dDlst_shadowControl_cFPA4_f.s" } @@ -1180,26 +1434,75 @@ asm void dDlst_shadowControl_c::imageDraw(f32 (*param_0)[4]) { /* ############################################################################################## */ /* 80450658-8045065C 0000D8 0004+00 1/1 0/0 0/0 .sdata clearColor$5435 */ -SECTION_SDATA static u8 clearColor[4] = { - 0x00, - 0x00, - 0x00, - 0x40, -}; +SECTION_SDATA static GXColor clearColor = {0x00, 0x00, 0x00, 0x40}; /* 804520B4-804520B8 0006B4 0004+00 1/1 0/0 0/0 .sdata2 @5433 */ SECTION_SDATA2 static u32 lit_5433 = 0x00000020; /* 80055A14-80055C74 050354 0260+00 0/0 1/1 0/0 .text draw__21dDlst_shadowControl_cFPA4_f */ +// extra stack var with GXColor +#ifdef NONMATCHING +void dDlst_shadowControl_c::draw(Mtx param_0) { + j3dSys.reinitGX(); + GXSetNumIndStages(0); + dKy_GxFog_set(); + + GXSetChanCtrl(GX_ALPHA0, 0, GX_SRC_REG, GX_SRC_REG, GX_LIGHT_NULL, GX_DF_NONE, GX_AF_NONE); + GXSetArray(GX_VA_POS, l_shadowVolPos, 12); + GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX3x4, GX_TG_POS, 30, GX_FALSE, 125); + GXSetNumTevStages(1); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_CLR_RGBA, GX_F32, 0); + GXLoadPosMtxImm(param_0, GX_PNMTX0); + GXSetChanMatColor(GX_ALPHA0, (GXColor){0, 0, 0, 0x20}); + + clearColor.a = mDoGph_gInf_c::getBackColor().a; + GXSetTevColor(GX_TEVREG1, clearColor); + GXSetTevColor(GX_TEVREG2, g_whiteColor); + + dDlst_shadowReal_c* real = field_0x4; + for (int i2 = 0, i3 = 0; real != NULL; real = real->getZsortNext()) { + if (real->isUse()) { + if (i2 == 0) { + GXTexObj* obj = &field_0x15eb0[i3]; + i3++; + + GXLoadTexObj(obj, GX_TEXMAP0); + } + + GXSetTevSwapModeTable(GX_TEV_SWAP0, GX_CH_RED, GX_CH_GREEN, GX_CH_BLUE, + l_tevColorChan[i2]); + real->draw(); + i2 = (i2 + 1) % 4; + } + } + + GXSetTevSwapModeTable(GX_TEV_SWAP0, GX_CH_RED, GX_CH_GREEN, GX_CH_BLUE, GX_CH_ALPHA); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_CLR_RGBA, GX_RGB8, 0); + GXSetArray(GX_VA_POS, l_simpleShadowPos, 12); + GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, 60, GX_FALSE, 125); + GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR_NULL); + GXSetAlphaCompare(GX_ALWAYS, 0, GX_AOP_OR, GX_ALWAYS, 0); + + dDlst_shadowSimple_c* simple = mSimple; + for (int i = 0; i < mSimpleNum; i++) { + simple->draw(); + simple++; + } + + GXSetColorUpdate(GX_ENABLE); + GXSetAlphaUpdate(GX_DISABLE); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dDlst_shadowControl_c::draw(f32 (*param_0)[4]) { +asm void dDlst_shadowControl_c::draw(Mtx param_0) { nofralloc #include "asm/d/d_drawlist/draw__21dDlst_shadowControl_cFPA4_f.s" } #pragma pop +#endif /* ############################################################################################## */ /* 804520B8-804520BC 0006B8 0004+00 1/1 0/0 0/0 .sdata2 @5551 */ @@ -1225,26 +1528,32 @@ asm int dDlst_shadowControl_c::setReal(u32 param_0, s8 param_1, J3DModel* param_ /* 80055F1C-80055F84 05085C 0068+00 0/0 1/1 45/45 .text * addReal__21dDlst_shadowControl_cFUlP8J3DModel */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dDlst_shadowControl_c::addReal(u32 param_0, J3DModel* param_1) { - nofralloc -#include "asm/d/d_drawlist/addReal__21dDlst_shadowControl_cFUlP8J3DModel.s" +bool dDlst_shadowControl_c::addReal(u32 i_key, J3DModel* param_1) { + if (i_key == 0) { + return false; + } + + for (dDlst_shadowReal_c* i = field_0x4; i != NULL; i = i->getZsortNext()) { + if (!i->isNoUse() && i->checkKey(i_key)) { + return i->add(param_1); + } + } + + return false; } -#pragma pop /* 80055F84-80055FE8 0508C4 0064+00 0/0 1/1 10/10 .text * setSimple__21dDlst_shadowControl_cFP4cXyzffP4cXyzsfP9_GXTexObj */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dDlst_shadowControl_c::setSimple(cXyz* param_0, f32 param_1, f32 param_2, cXyz* param_3, - s16 param_4, f32 param_5, _GXTexObj* param_6) { - nofralloc -#include "asm/d/d_drawlist/setSimple__21dDlst_shadowControl_cFP4cXyzffP4cXyzsfP9_GXTexObj.s" +int dDlst_shadowControl_c::setSimple(cXyz* param_0, f32 param_1, f32 param_2, cXyz* param_3, + s16 param_4, f32 param_5, GXTexObj* param_6) { + if (param_3 == NULL || mSimpleNum >= 128) { + return 0; + } + + mSimple[mSimpleNum].set(param_0, param_1, param_2, param_3, param_4, param_5, param_6); + mSimpleNum++; + return 1; } -#pragma pop /* ############################################################################################## */ /* 804248D0-804248F0 0515F0 0020+00 1/1 6/6 173/173 .bss mSimpleTexObj__21dDlst_shadowControl_c */ @@ -1252,18 +1561,13 @@ GXTexObj dDlst_shadowControl_c::mSimpleTexObj; /* 80055FE8-80056018 050928 0030+00 0/0 1/1 0/0 .text * setSimpleTex__21dDlst_shadowControl_cFPC7ResTIMG */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dDlst_shadowControl_c::setSimpleTex(ResTIMG const* param_0) { - nofralloc -#include "asm/d/d_drawlist/setSimpleTex__21dDlst_shadowControl_cFPC7ResTIMG.s" +void dDlst_shadowControl_c::setSimpleTex(ResTIMG const* i_timg) { + mDoLib_setResTimgObj(i_timg, &mSimpleTexObj, 0, NULL); } -#pragma pop /* 80056018-80056080 050958 0068+00 0/0 3/3 9/9 .text newData__13dDlst_peekZ_cFssPUl */ int dDlst_peekZ_c::newData(s16 x, s16 y, u32* dst) { - if (mCount >= 0x40 || x < 0 || x > 607 || y < 0 || y > 447) { + if (mCount >= 64 || x < 0 || x > 607 || y < 0 || y > 447) { return 0; } @@ -1288,12 +1592,15 @@ void dDlst_peekZ_c::peekData() { } /* 800560F0-800561C8 050A30 00D8+00 0/0 1/1 0/0 .text __ct__12dDlst_list_cFv */ +// TU vtable data order has to be fixed #ifdef NONMATCHING dDlst_list_c::dDlst_list_c() { - mpCopy2DSet[1] = mpCopy2DSet[0]; - mp2DOpaTopSet[1] = mp2DOpaTopSet[0]; - mp2DOpaSet[1] = mp2DOpaSet[0]; - mp2DXluSet[1] = mp2DXluSet[0]; + // these are probably fake matches, but cant figure out how to make these match here + // together with the other functions they're used in + mpCopy2DEnd = (dDlst_base_c**)&mpCopy2DStart; + mp2DOpaTopEnd = (dDlst_base_c**)&mp2DOpaTopStart; + mp2DOpaEnd = (dDlst_base_c**)&mp2DOpaStart; + mp2DXluEnd = (dDlst_base_c**)&mp2DXluStart; J3DDrawBuffer** buffer = mDrawBuffers; for (int i = 0; i < 21; i++) { @@ -1316,7 +1623,8 @@ asm dDlst_list_c::dDlst_list_c() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm mDoExt_3DlineMatSortPacket::mDoExt_3DlineMatSortPacket() { +// asm mDoExt_3DlineMatSortPacket::mDoExt_3DlineMatSortPacket() { +extern "C" asm void __ct__26mDoExt_3DlineMatSortPacketFv() { nofralloc #include "asm/d/d_drawlist/__ct__26mDoExt_3DlineMatSortPacketFv.s" } @@ -1337,7 +1645,8 @@ extern "C" asm void __dt__18dDlst_shadowReal_cFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dDlst_shadowTri_c::~dDlst_shadowTri_c() { +// asm dDlst_shadowTri_c::~dDlst_shadowTri_c() { +extern "C" asm void __dt__17dDlst_shadowTri_cFv() { nofralloc #include "asm/d/d_drawlist/__dt__17dDlst_shadowTri_cFv.s" } @@ -1347,7 +1656,8 @@ asm dDlst_shadowTri_c::~dDlst_shadowTri_c() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dDlst_shadowReal_c::dDlst_shadowReal_c() { +// asm dDlst_shadowReal_c::dDlst_shadowReal_c() { +extern "C" asm void __ct__18dDlst_shadowReal_cFv() { nofralloc #include "asm/d/d_drawlist/__ct__18dDlst_shadowReal_cFv.s" } @@ -1357,16 +1667,15 @@ asm dDlst_shadowReal_c::dDlst_shadowReal_c() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dDlst_shadowTri_c::dDlst_shadowTri_c() { +// asm dDlst_shadowTri_c::dDlst_shadowTri_c() { +extern "C" asm void __ct__17dDlst_shadowTri_cFv() { nofralloc #include "asm/d/d_drawlist/__ct__17dDlst_shadowTri_cFv.s" } #pragma pop /* 8005638C-80056390 050CCC 0004+00 1/1 0/0 0/0 .text __ct__20dDlst_shadowSimple_cFv */ -dDlst_shadowSimple_c::dDlst_shadowSimple_c() { - /* empty function */ -} +dDlst_shadowSimple_c::dDlst_shadowSimple_c() {} /* ############################################################################################## */ /* 8037A178-8037A1A4 0067D8 002A+02 1/1 0/0 0/0 .rodata l_drawlistSize$5656 */ @@ -1388,37 +1697,38 @@ SECTION_SDATA2 static u8 l_zSortId[6] = { }; /* 80056390-8005648C 050CD0 00FC+00 0/0 1/1 0/0 .text init__12dDlst_list_cFv */ +// r3 / r4 swap #ifdef NONMATCHING void dDlst_list_c::init() { - J3DDrawBuffer** buffer = mDrawBuffers; - const u16* size = l_drawlistSize; + J3DDrawBuffer** var_r30 = mDrawBuffers; + const u16* var_r29 = l_drawlistSize; for (int i = 0; i < 21; i++) { - u32 bufSize = *size; - size++; + u32 temp_r3 = *var_r29; + var_r29++; - *buffer = J3DDrawBuffer__create(bufSize); - buffer++; + *var_r30 = J3DDrawBuffer__create(temp_r3); + var_r30++; } - const u8* nonsortID = l_nonSortId; + const u8* var_r5 = l_nonSortId; for (int i = 0; i < 9; i++) { - mDrawBuffers[*nonsortID]->setNonSort(); - nonsortID++; + mDrawBuffers[(u8)*var_r5]->setNonSort(); + var_r5++; } - u8* zsortID = l_zSortId; + u8* var_r5_2 = l_zSortId; for (int i = 0; i < 6; i++) { - mDrawBuffers[*zsortID]->setZSort(); - zsortID++; + mDrawBuffers[(u8)*var_r5_2]->setZSort(); + var_r5_2++; } setOpaList(); setXluList(); - mpCopy2DSet[0] = mpCopy2DDraw[0]; - mp2DOpaTopSet[0] = mp2DOpaTopDraw[0]; - mp2DOpaSet[0] = mp2DOpaDraw[0]; - mp2DXluSet[0] = mp2DXluDraw[0]; + mpCopy2DStart = mpCopy2DDrawLists; + mp2DOpaTopStart = mp2DOpaTopDrawLists; + mp2DOpaStart = mp2DOpaDrawLists; + mp2DXluStart = mp2DXluDrawLists; mShadowControl.init(); } @@ -1434,6 +1744,18 @@ asm void dDlst_list_c::init() { #endif /* 8005648C-80056538 050DCC 00AC+00 0/0 1/1 0/0 .text __dt__12dDlst_list_cFv */ +// TU vtable data order has to be fixed +#ifdef NONMATCHING +dDlst_list_c::~dDlst_list_c() { + J3DDrawBuffer** buffer = mDrawBuffers; + for (int i = 0; i < 21; i++) { + J3DDrawBuffer* tmp = *buffer; + buffer++; + + delete tmp; + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -1442,16 +1764,31 @@ asm dDlst_list_c::~dDlst_list_c() { #include "asm/d/d_drawlist/__dt__12dDlst_list_cFv.s" } #pragma pop +#endif /* 80056538-800565EC 050E78 00B4+00 0/0 1/1 0/0 .text reset__12dDlst_list_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dDlst_list_c::reset() { - nofralloc -#include "asm/d/d_drawlist/reset__12dDlst_list_cFv.s" +void dDlst_list_c::reset() { + J3DDrawBuffer** buffer = mDrawBuffers; + for (int i = 0; i < 21; i++) { + J3DDrawBuffer* tmp = *buffer; + buffer++; + + tmp->frameInit(); + } + + setOpaList(); + setXluList(); + + mpCopy2DStart = mpCopy2DDrawLists; + mp2DOpaTopStart = mp2DOpaTopDrawLists; + mp2DOpaStart = mp2DOpaDrawLists; + mp2DXluStart = mp2DXluDrawLists; + mShadowControl.reset(); + + for (int i = 0; i < 3; i++) { + m3DLineMatSortPacket[i].reset(); + } } -#pragma pop /* ############################################################################################## */ /* 804520CC-804520D0 0006CC 0004+00 1/1 0/0 0/0 .sdata2 @5747 */ @@ -1459,6 +1796,29 @@ SECTION_SDATA2 static f32 lit_5747 = 9999.0f; /* 800565EC-800566D4 050F2C 00E8+00 0/0 2/2 0/0 .text * entryZSortXluDrawList__12dDlst_list_cFP13J3DDrawBufferP9J3DPacketR4cXyz */ +// (size / 9999.0f) register swap, but reversing values makes things much worse +#ifdef NONMATCHING +void dDlst_list_c::entryZSortXluDrawList(J3DDrawBuffer* param_0, J3DPacket* param_1, + cXyz& param_2) { + f32 z_value = -J3DCalcZValue(j3dSys.getViewMtx(), param_2); + u32 size = param_0->getEntryTableSize(); + f32 temp_f1 = size / 9999.0f; + + u16 var_r0; + if (temp_f1 + 1.0f < z_value) { + if (10000.0f - temp_f1 > z_value) { + var_r0 = z_value / temp_f1; + } else { + var_r0 = size - 1; + } + } else { + var_r0 = 0; + } + + var_r0 = (size - 1) - var_r0; + param_0->entryImm(param_1, var_r0); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -1468,6 +1828,7 @@ asm void dDlst_list_c::entryZSortXluDrawList(J3DDrawBuffer* param_0, J3DPacket* #include "asm/d/d_drawlist/entryZSortXluDrawList__12dDlst_list_cFP13J3DDrawBufferP9J3DPacketR4cXyz.s" } #pragma pop +#endif /* 800566D4-80056710 051014 003C+00 1/1 1/1 0/0 .text * drawOpaDrawList__12dDlst_list_cFP13J3DDrawBuffer */ diff --git a/src/d/menu/d_menu_calibration.cpp b/src/d/menu/d_menu_calibration.cpp index 9eee429f9e3..e3d6041ea1e 100644 --- a/src/d/menu/d_menu_calibration.cpp +++ b/src/d/menu/d_menu_calibration.cpp @@ -1,565 +1,346 @@ -// -// Generated By: dol2asm -// Translation Unit: d/menu/d_menu_calibration -// +/** + * d_menu_calibration.cpp + * Wii Remote Calibration Option Menu + */ #include "d/menu/d_menu_calibration.h" -#include "dol2asm.h" -#include "dolphin/types.h" +#include "d/meter/d_meter_HIO.h" -// -// Types: -// - -struct mDoCPd_c { - static u8 m_cpadInfo[256]; -}; - -struct J2DPane {}; - -struct dSelect_cursor_c { - /* 801950F4 */ void setPos(f32, f32, J2DPane*, bool); - /* 801952A0 */ void setAlphaRate(f32); -}; - -struct JMSMesgEntry_c {}; - -struct dMeter2Info_c { - /* 8021C544 */ void getStringKanji(u32, char*, JMSMesgEntry_c*); -}; - -struct dMenu_Calibration_c { - /* 801AED64 */ ~dMenu_Calibration_c(); - /* 801AEDAC */ void _move(); - /* 801AEE2C */ void _draw(); - /* 801AEE30 */ void step1_wait_init(); - /* 801AEF60 */ void step1_wait_move(); - /* 801AF084 */ void step1_move_init(); - /* 801AF0C0 */ void step1_move_move(); - /* 801AF188 */ void step2_wait_init(); - /* 801AF1F4 */ void step2_wait_move(); - /* 801AF380 */ void step2_move_init(); - /* 801AF3BC */ void step2_move_move(); - /* 801AF488 */ void step3_wait_init(); - /* 801AF4F8 */ void step3_wait_move(); - /* 801AF5F4 */ void step3_move_init(); - /* 801AF630 */ void step3_move_move(); - /* 801AF710 */ void setCalibrationValue(); - /* 801AF738 */ void setAButtonString(u16); - /* 801AF7E8 */ void setBButtonString(u16); - /* 801AF898 */ void setStepString(u16); - /* 801AF948 */ void setExplainString(u16); - /* 801AFA00 */ void setHIO(bool); - /* 801AFBF4 */ void draw(); -}; - -struct JAISoundID {}; - -struct Vec {}; - -struct Z2SeMgr { - /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - -struct J2DTextBox { - /* 80300658 */ void getStringPtr() const; -}; - -struct CPaneMgrAlpha { - /* 802557D0 */ void setAlphaRate(f32); - /* 80255828 */ void getAlphaRate(); -}; - -struct CPaneMgr { - /* 802545B0 */ void paneTrans(f32, f32); - /* 80254EBC */ void getGlobalVtxCenter(J2DPane*, bool, s16); -}; - -// -// Forward References: -// - -extern "C" void __dt__19dMenu_Calibration_cFv(); -extern "C" void _move__19dMenu_Calibration_cFv(); -extern "C" void _draw__19dMenu_Calibration_cFv(); -extern "C" void step1_wait_init__19dMenu_Calibration_cFv(); -extern "C" void step1_wait_move__19dMenu_Calibration_cFv(); -extern "C" void step1_move_init__19dMenu_Calibration_cFv(); -extern "C" void step1_move_move__19dMenu_Calibration_cFv(); -extern "C" void step2_wait_init__19dMenu_Calibration_cFv(); -extern "C" void step2_wait_move__19dMenu_Calibration_cFv(); -extern "C" void step2_move_init__19dMenu_Calibration_cFv(); -extern "C" void step2_move_move__19dMenu_Calibration_cFv(); -extern "C" void step3_wait_init__19dMenu_Calibration_cFv(); -extern "C" void step3_wait_move__19dMenu_Calibration_cFv(); -extern "C" void step3_move_init__19dMenu_Calibration_cFv(); -extern "C" void step3_move_move__19dMenu_Calibration_cFv(); -extern "C" void setCalibrationValue__19dMenu_Calibration_cFv(); -extern "C" void setAButtonString__19dMenu_Calibration_cFUs(); -extern "C" void setBButtonString__19dMenu_Calibration_cFUs(); -extern "C" void setStepString__19dMenu_Calibration_cFUs(); -extern "C" void setExplainString__19dMenu_Calibration_cFUs(); -extern "C" void setHIO__19dMenu_Calibration_cFb(); -extern "C" void draw__19dMenu_Calibration_cFv(); -extern "C" void __sinit_d_menu_calibration_cpp(); -extern "C" extern char const* const d_menu_d_menu_calibration__stringBase0; - -// -// External References: -// - -extern "C" void setPos__16dSelect_cursor_cFffP7J2DPaneb(); -extern "C" void setAlphaRate__16dSelect_cursor_cFf(); -extern "C" void getStringKanji__13dMeter2Info_cFUlPcP14JMSMesgEntry_c(); -extern "C" void dMeter2Info_set2DVibration__Fv(); -extern "C" void paneTrans__8CPaneMgrFff(); -extern "C" void getGlobalVtxCenter__8CPaneMgrFP7J2DPanebs(); -extern "C" void setAlphaRate__13CPaneMgrAlphaFf(); -extern "C" void getAlphaRate__13CPaneMgrAlphaFv(); -extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void __dl__FPv(); -extern "C" void getStringPtr__10J2DTextBoxCFv(); -extern "C" void __ptmf_scall(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); -extern "C" void strcpy(); -extern "C" u8 m_cpadInfo__8mDoCPd_c[256]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u8 g_drawHIO[3880]; -extern "C" extern u8 g_meter2_info[248]; -extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; - -// -// Declarations: -// - -/* ############################################################################################## */ /* 803BC238-803BC244 019358 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */ -SECTION_DATA static u8 cNullVec__6Z2Calc[12] = { +static u8 cNullVec__6Z2Calc[12] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; -/* 803BC244-803BC250 -00001 000C+00 0/1 0/0 0/0 .data @3799 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3799[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)step1_wait_init__19dMenu_Calibration_cFv, -}; -#pragma pop - -/* 803BC250-803BC25C -00001 000C+00 0/1 0/0 0/0 .data @3800 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3800[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)step1_move_init__19dMenu_Calibration_cFv, -}; -#pragma pop - -/* 803BC25C-803BC268 -00001 000C+00 0/1 0/0 0/0 .data @3801 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3801[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)step2_wait_init__19dMenu_Calibration_cFv, -}; -#pragma pop - -/* 803BC268-803BC274 -00001 000C+00 0/1 0/0 0/0 .data @3802 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3802[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)step2_move_init__19dMenu_Calibration_cFv, -}; -#pragma pop - -/* 803BC274-803BC280 -00001 000C+00 0/1 0/0 0/0 .data @3803 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3803[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)step3_wait_init__19dMenu_Calibration_cFv, -}; -#pragma pop - -/* 803BC280-803BC28C -00001 000C+00 0/1 0/0 0/0 .data @3804 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3804[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)step3_move_init__19dMenu_Calibration_cFv, -}; -#pragma pop - /* 803BC28C-803BC2D4 0193AC 0048+00 1/2 0/0 0/0 .data map_init_process */ -SECTION_DATA static u8 map_init_process[72] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +typedef void (dMenu_Calibration_c::*initFunc)(); +static initFunc map_init_process[] = { + &dMenu_Calibration_c::step1_wait_init, &dMenu_Calibration_c::step1_move_init, + &dMenu_Calibration_c::step2_wait_init, &dMenu_Calibration_c::step2_move_init, + &dMenu_Calibration_c::step3_wait_init, &dMenu_Calibration_c::step3_move_init, }; -/* 803BC2D4-803BC2E0 -00001 000C+00 0/1 0/0 0/0 .data @3805 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3805[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)step1_wait_move__19dMenu_Calibration_cFv, -}; -#pragma pop - -/* 803BC2E0-803BC2EC -00001 000C+00 0/1 0/0 0/0 .data @3806 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3806[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)step1_move_move__19dMenu_Calibration_cFv, -}; -#pragma pop - -/* 803BC2EC-803BC2F8 -00001 000C+00 0/1 0/0 0/0 .data @3807 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3807[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)step2_wait_move__19dMenu_Calibration_cFv, -}; -#pragma pop - -/* 803BC2F8-803BC304 -00001 000C+00 0/1 0/0 0/0 .data @3808 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3808[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)step2_move_move__19dMenu_Calibration_cFv, -}; -#pragma pop - -/* 803BC304-803BC310 -00001 000C+00 0/1 0/0 0/0 .data @3809 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3809[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)step3_wait_move__19dMenu_Calibration_cFv, -}; -#pragma pop - -/* 803BC310-803BC31C -00001 000C+00 0/1 0/0 0/0 .data @3810 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3810[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)step3_move_move__19dMenu_Calibration_cFv, -}; -#pragma pop - /* 803BC31C-803BC364 01943C 0048+00 1/2 0/0 0/0 .data map_move_process */ -SECTION_DATA static u8 map_move_process[72] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; - -/* 803BC364-803BC380 019484 0010+0C 1/1 0/0 0/0 .data __vt__19dMenu_Calibration_c */ -SECTION_DATA extern void* __vt__19dMenu_Calibration_c[4 + 3 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)draw__19dMenu_Calibration_cFv, - (void*)__dt__19dMenu_Calibration_cFv, - /* padding */ - NULL, - NULL, - NULL, +typedef void (dMenu_Calibration_c::*moveFunc)(); +static moveFunc map_move_process[] = { + &dMenu_Calibration_c::step1_wait_move, &dMenu_Calibration_c::step1_move_move, + &dMenu_Calibration_c::step2_wait_move, &dMenu_Calibration_c::step2_move_move, + &dMenu_Calibration_c::step3_wait_move, &dMenu_Calibration_c::step3_move_move, }; /* 801AED64-801AEDAC 1A96A4 0048+00 1/0 0/0 0/0 .text __dt__19dMenu_Calibration_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dMenu_Calibration_c::~dMenu_Calibration_c() { - nofralloc -#include "asm/d/menu/d_menu_calibration/__dt__19dMenu_Calibration_cFv.s" -} -#pragma pop +dMenu_Calibration_c::~dMenu_Calibration_c() {} /* 801AEDAC-801AEE2C 1A96EC 0080+00 0/0 1/1 0/0 .text _move__19dMenu_Calibration_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_Calibration_c::_move() { - nofralloc -#include "asm/d/menu/d_menu_calibration/_move__19dMenu_Calibration_cFv.s" +void dMenu_Calibration_c::_move() { + u8 last_process = mProcess; + (this->*map_move_process[mProcess])(); + + if (last_process != mProcess) { + (this->*map_init_process[mProcess])(); + } + + setHIO(false); } -#pragma pop /* 801AEE2C-801AEE30 1A976C 0004+00 1/1 0/0 0/0 .text _draw__19dMenu_Calibration_cFv */ -void dMenu_Calibration_c::_draw() { - /* empty function */ -} - -/* ############################################################################################## */ -/* 80453F10-80453F14 002510 0004+00 5/5 0/0 0/0 .sdata2 @3847 */ -SECTION_SDATA2 static u8 lit_3847[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; +void dMenu_Calibration_c::_draw() {} /* 801AEE30-801AEF60 1A9770 0130+00 1/0 0/0 0/0 .text step1_wait_init__19dMenu_Calibration_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_Calibration_c::step1_wait_init() { - nofralloc -#include "asm/d/menu/d_menu_calibration/step1_wait_init__19dMenu_Calibration_cFv.s" +void dMenu_Calibration_c::step1_wait_init() { + field_0xfa = 0; + setAButtonString(0); + setBButtonString(0); + setStepString(1240); // "STEP 1" + setExplainString(1245); // "Point the Wii Remote at the screen and move the cursor vertically + // until it overlaps the central orange circle." + + ((J2DTextBox*)field_0x80->getPanePtr())->setFontSize(field_0xac[mCalibrationValue + 2]); + + Vec pos = field_0x68[mCalibrationValue + 2]->getGlobalVtxCenter(false, 0); + mpSelectCursor->setPos(pos.x, pos.y, field_0x68[mCalibrationValue + 2]->getPanePtr(), false); + + field_0xfc = 0; + field_0x7c->setAlphaRate(0.0f); } -#pragma pop - -/* ############################################################################################## */ -/* 80453F14-80453F18 002514 0004+00 6/6 0/0 0/0 .sdata2 @3885 */ -SECTION_SDATA2 static f32 lit_3885 = 1.0f; - -/* 80453F18-80453F20 002518 0008+00 3/3 0/0 0/0 .sdata2 @3887 */ -SECTION_SDATA2 static f64 lit_3887 = 4503601774854144.0 /* cast s32 to float */; /* 801AEF60-801AF084 1A98A0 0124+00 1/0 0/0 0/0 .text step1_wait_move__19dMenu_Calibration_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_Calibration_c::step1_wait_move() { - nofralloc -#include "asm/d/menu/d_menu_calibration/step1_wait_move__19dMenu_Calibration_cFv.s" +void dMenu_Calibration_c::step1_wait_move() { + s16 open_frames = g_drawHIO.mCalibration.mOpenFrames; + field_0xfa++; + + if (field_0xfa >= open_frames) { + field_0x58[0]->setAlphaRate(1.0f); + field_0x7c->setAlphaRate(0.0f); + field_0x58[1]->setAlphaRate(0.0f); + mpSelectCursor->setAlphaRate(1.0f); + mpSelectCursor->onPlayAnime(0); + mProcess = PROC_STEP1_MOVE; + } else { + f32 alpha_rate = (f32)field_0xfa / (f32)open_frames; + + field_0x58[0]->setAlphaRate(alpha_rate); + field_0x7c->setAlphaRate(0.0f); + mpSelectCursor->setAlphaRate(alpha_rate); + + if (field_0x58[1]->getAlphaRate() != 0.0f) { + field_0x58[1]->setAlphaRate(1.0f - alpha_rate); + } + } } -#pragma pop /* 801AF084-801AF0C0 1A99C4 003C+00 1/0 0/0 0/0 .text step1_move_init__19dMenu_Calibration_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_Calibration_c::step1_move_init() { - nofralloc -#include "asm/d/menu/d_menu_calibration/step1_move_init__19dMenu_Calibration_cFv.s" +void dMenu_Calibration_c::step1_move_init() { + setAButtonString(1032); // "Next" + setBButtonString(1377); // "Cancel" } -#pragma pop - -/* ############################################################################################## */ -/* 80453F20-80453F28 002520 0004+04 3/3 0/0 0/0 .sdata2 @3911 */ -SECTION_SDATA2 static f32 lit_3911[1 + 1 /* padding */] = { - -1.0f, - /* padding */ - 0.0f, -}; /* 801AF0C0-801AF188 1A9A00 00C8+00 1/0 0/0 0/0 .text step1_move_move__19dMenu_Calibration_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_Calibration_c::step1_move_move() { - nofralloc -#include "asm/d/menu/d_menu_calibration/step1_move_move__19dMenu_Calibration_cFv.s" +void dMenu_Calibration_c::step1_move_move() { + if (mDoCPd_c::getTrigA(PAD_1)) { + mProcess = PROC_STEP2_WAIT; + field_0xff = 0; + Z2GetAudioMgr()->mSeMgr.seStart(Z2SE_SY_MENU_NEXT, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); + dMeter2Info_set2DVibration(); + } else if (mDoCPd_c::getTrigB(PAD_1)) { + field_0x101 = 0; + mStatus = 0; + Z2GetAudioMgr()->mSeMgr.seStart(Z2SE_SY_MENU_BACK, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); + dMeter2Info_set2DVibration(); + } } -#pragma pop /* 801AF188-801AF1F4 1A9AC8 006C+00 1/0 0/0 0/0 .text step2_wait_init__19dMenu_Calibration_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_Calibration_c::step2_wait_init() { - nofralloc -#include "asm/d/menu/d_menu_calibration/step2_wait_init__19dMenu_Calibration_cFv.s" +void dMenu_Calibration_c::step2_wait_init() { + field_0xfa = 0; + setAButtonString(0); + setBButtonString(0); + setStepString(1242); // "STEP 2" + setExplainString(1241); // "Please adjust the orange bar so that it matches the exact size and + // position of the Sensor Bar." + mpSelectCursor->offPlayAnime(0); } -#pragma pop /* 801AF1F4-801AF380 1A9B34 018C+00 1/0 0/0 0/0 .text step2_wait_move__19dMenu_Calibration_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_Calibration_c::step2_wait_move() { - nofralloc -#include "asm/d/menu/d_menu_calibration/step2_wait_move__19dMenu_Calibration_cFv.s" +void dMenu_Calibration_c::step2_wait_move() { + s16 open_frames = g_drawHIO.mCalibration.mOpenFrames; + field_0xfa++; + + if (field_0xfa >= open_frames) { + field_0x58[1]->setAlphaRate(1.0f); + field_0x58[0]->setAlphaRate(0.0f); + field_0x7c->setAlphaRate(0.0f); + field_0x58[2]->setAlphaRate(0.0f); + field_0x90->setAlphaRate(0.0f); + + if (field_0xff == 0) { + mpSelectCursor->setAlphaRate(0.0f); + } + + mProcess = PROC_STEP2_MOVE; + } else { + f32 alpha_rate = (f32)field_0xfa / (f32)open_frames; + + field_0x58[1]->setAlphaRate(alpha_rate); + + if (field_0x58[0]->getAlphaRate() != 0.0f) { + field_0x58[0]->setAlphaRate(1.0f - alpha_rate); + field_0x7c->setAlphaRate(1.0f - alpha_rate); + } + + if (field_0x58[2]->getAlphaRate() != 0.0f) { + field_0x58[2]->setAlphaRate(1.0f - alpha_rate); + field_0x90->setAlphaRate(1.0f - alpha_rate); + } + + if (field_0xff == 0) { + mpSelectCursor->setAlphaRate(alpha_rate); + } + } } -#pragma pop /* 801AF380-801AF3BC 1A9CC0 003C+00 1/0 0/0 0/0 .text step2_move_init__19dMenu_Calibration_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_Calibration_c::step2_move_init() { - nofralloc -#include "asm/d/menu/d_menu_calibration/step2_move_init__19dMenu_Calibration_cFv.s" +void dMenu_Calibration_c::step2_move_init() { + setAButtonString(1032); // "Next" + setBButtonString(1017); // "Back" } -#pragma pop /* 801AF3BC-801AF488 1A9CFC 00CC+00 1/0 0/0 0/0 .text step2_move_move__19dMenu_Calibration_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_Calibration_c::step2_move_move() { - nofralloc -#include "asm/d/menu/d_menu_calibration/step2_move_move__19dMenu_Calibration_cFv.s" +void dMenu_Calibration_c::step2_move_move() { + if (mDoCPd_c::getTrigA(PAD_1)) { + mProcess = PROC_STEP3_WAIT; + field_0xff = 0; + Z2GetAudioMgr()->mSeMgr.seStart(Z2SE_SY_MENU_NEXT, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); + dMeter2Info_set2DVibration(); + } else if (mDoCPd_c::getTrigB(PAD_1)) { + mProcess = PROC_STEP1_WAIT; + field_0xff = 1; + Z2GetAudioMgr()->mSeMgr.seStart(Z2SE_SY_MENU_BACK, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); + dMeter2Info_set2DVibration(); + } } -#pragma pop /* 801AF488-801AF4F8 1A9DC8 0070+00 1/0 0/0 0/0 .text step3_wait_init__19dMenu_Calibration_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_Calibration_c::step3_wait_init() { - nofralloc -#include "asm/d/menu/d_menu_calibration/step3_wait_init__19dMenu_Calibration_cFv.s" +void dMenu_Calibration_c::step3_wait_init() { + field_0xfa = 0; + setAButtonString(0); + setBButtonString(0); + setStepString(1244); // "STEP 3" + setExplainString(1243); // "Point the Wii Remote at the screen and adjust your distance from + // the screen until the blue circle overlaps the orange circle." + field_0xfc = 0; + + field_0x90->setAlphaRate(0.0f); } -#pragma pop /* 801AF4F8-801AF5F4 1A9E38 00FC+00 1/0 0/0 0/0 .text step3_wait_move__19dMenu_Calibration_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_Calibration_c::step3_wait_move() { - nofralloc -#include "asm/d/menu/d_menu_calibration/step3_wait_move__19dMenu_Calibration_cFv.s" +void dMenu_Calibration_c::step3_wait_move() { + s16 open_frames = g_drawHIO.mCalibration.mOpenFrames; + field_0xfa++; + + if (field_0xfa >= open_frames) { + field_0x58[2]->setAlphaRate(1.0f); + field_0x90->setAlphaRate(0.0f); + field_0x58[1]->setAlphaRate(0.0f); + + mProcess = PROC_STEP3_MOVE; + } else { + f32 alpha_rate = (f32)field_0xfa / (f32)open_frames; + + field_0x58[2]->setAlphaRate(alpha_rate); + field_0x90->setAlphaRate(0.0f); + + if (field_0x58[1]->getAlphaRate() != 0.0f) { + field_0x58[1]->setAlphaRate(1.0f - alpha_rate); + } + } } -#pragma pop /* 801AF5F4-801AF630 1A9F34 003C+00 1/0 0/0 0/0 .text step3_move_init__19dMenu_Calibration_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_Calibration_c::step3_move_init() { - nofralloc -#include "asm/d/menu/d_menu_calibration/step3_move_init__19dMenu_Calibration_cFv.s" +void dMenu_Calibration_c::step3_move_init() { + setAButtonString(1378); // "End" + setBButtonString(1017); // "Back" } -#pragma pop /* 801AF630-801AF710 1A9F70 00E0+00 1/0 0/0 0/0 .text step3_move_move__19dMenu_Calibration_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_Calibration_c::step3_move_move() { - nofralloc -#include "asm/d/menu/d_menu_calibration/step3_move_move__19dMenu_Calibration_cFv.s" +void dMenu_Calibration_c::step3_move_move() { + if (mDoCPd_c::getTrigA(PAD_1)) { + mStatus = 0; + field_0x101 = 1; + Z2GetAudioMgr()->mSeMgr.seStart(Z2SE_SY_MENU_BACK, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); + dMeter2Info_set2DVibration(); + setCalibrationValue(); + } else if (mDoCPd_c::getTrigB(PAD_1)) { + mProcess = PROC_STEP2_WAIT; + field_0xff = 1; + Z2GetAudioMgr()->mSeMgr.seStart(Z2SE_SY_MENU_BACK, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); + dMeter2Info_set2DVibration(); + } } -#pragma pop /* 801AF710-801AF738 1AA050 0028+00 1/1 0/0 0/0 .text setCalibrationValue__19dMenu_Calibration_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_Calibration_c::setCalibrationValue() { - nofralloc -#include "asm/d/menu/d_menu_calibration/setCalibrationValue__19dMenu_Calibration_cFv.s" +void dMenu_Calibration_c::setCalibrationValue() { + dComIfGs_setOptCalValue(mCalibrationValue); + dComIfGs_setOptCalibrateDist(mCalibrateDist); + field_0xec = mCalibrationValue; + field_0xf6 = mCalibrateDist; } -#pragma pop - -/* ############################################################################################## */ -/* 80394F70-80394F70 0215D0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80394F70 = ""; -/* @stringBase0 padding */ -SECTION_DEAD static char const* const pad_80394F71 = "\0\0\0\0\0\0"; -#pragma pop /* 801AF738-801AF7E8 1AA078 00B0+00 6/6 0/0 0/0 .text setAButtonString__19dMenu_Calibration_cFUs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_Calibration_c::setAButtonString(u16 param_0) { - nofralloc -#include "asm/d/menu/d_menu_calibration/setAButtonString__19dMenu_Calibration_cFUs.s" +void dMenu_Calibration_c::setAButtonString(u16 i_stringID) { + if (i_stringID == 0) { + for (int i = 0; i < 5; i++) { + strcpy(mpAButtonString[i]->getStringPtr(), ""); + } + } else { + for (int i = 0; i < 5; i++) { + dMeter2Info_getStringKanji(i_stringID, mpAButtonString[i]->getStringPtr(), NULL); + } + } } -#pragma pop /* 801AF7E8-801AF898 1AA128 00B0+00 6/6 0/0 0/0 .text setBButtonString__19dMenu_Calibration_cFUs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_Calibration_c::setBButtonString(u16 param_0) { - nofralloc -#include "asm/d/menu/d_menu_calibration/setBButtonString__19dMenu_Calibration_cFUs.s" +void dMenu_Calibration_c::setBButtonString(u16 i_stringID) { + if (i_stringID == 0) { + for (int i = 0; i < 5; i++) { + strcpy(mpBButtonString[i]->getStringPtr(), ""); + } + } else { + for (int i = 0; i < 5; i++) { + dMeter2Info_getStringKanji(i_stringID, mpBButtonString[i]->getStringPtr(), NULL); + } + } } -#pragma pop /* 801AF898-801AF948 1AA1D8 00B0+00 3/3 0/0 0/0 .text setStepString__19dMenu_Calibration_cFUs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_Calibration_c::setStepString(u16 param_0) { - nofralloc -#include "asm/d/menu/d_menu_calibration/setStepString__19dMenu_Calibration_cFUs.s" +void dMenu_Calibration_c::setStepString(u16 i_stringID) { + if (i_stringID == 0) { + for (int i = 0; i < 3; i++) { + strcpy(mpStepString[i]->getStringPtr(), ""); + } + } else { + for (int i = 0; i < 3; i++) { + dMeter2Info_getStringKanji(i_stringID, mpStepString[i]->getStringPtr(), NULL); + } + } } -#pragma pop /* 801AF948-801AFA00 1AA288 00B8+00 3/3 0/0 0/0 .text setExplainString__19dMenu_Calibration_cFUs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_Calibration_c::setExplainString(u16 param_0) { - nofralloc -#include "asm/d/menu/d_menu_calibration/setExplainString__19dMenu_Calibration_cFUs.s" +void dMenu_Calibration_c::setExplainString(u16 i_stringID) { + if (i_stringID == 0) { + for (int i = 0; i < 3; i++) { + strcpy(mpExplainString[i]->getStringPtr(), ""); + } + } else { + for (int i = 0; i < 3; i++) { + mpMsgString->getString(i_stringID, mpExplainString[i], NULL, NULL, NULL, 0); + } + } } -#pragma pop /* 801AFA00-801AFBF4 1AA340 01F4+00 1/1 0/0 0/0 .text setHIO__19dMenu_Calibration_cFb */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_Calibration_c::setHIO(bool param_0) { - nofralloc -#include "asm/d/menu/d_menu_calibration/setHIO__19dMenu_Calibration_cFb.s" +void dMenu_Calibration_c::setHIO(bool i_useHIO) { + if (i_useHIO || g_drawHIO.mCalibration.mDebug) { + field_0x7c->scale(g_drawHIO.mCalibration.mCircleScale, g_drawHIO.mCalibration.mCircleScale); + field_0x90->scale(g_drawHIO.mCalibration.mCircleScale2, + g_drawHIO.mCalibration.mCircleScale2); + } + + if (g_drawHIO.mCollectScreen.mButtonDebugON || i_useHIO) { + if (field_0x94 != NULL) { + field_0x94->paneTrans(g_drawHIO.mCollectScreen.mAButtonPosX, + g_drawHIO.mCollectScreen.mAButtonPosY); + field_0x94->scale(g_drawHIO.mCollectScreen.mAButtonScale, + g_drawHIO.mCollectScreen.mAButtonScale); + } + + if (field_0x98 != NULL) { + field_0x98->paneTrans(g_drawHIO.mCollectScreen.mBButtonPosX, + g_drawHIO.mCollectScreen.mBButtonPosY); + field_0x98->scale(g_drawHIO.mCollectScreen.mBButtonScale, + g_drawHIO.mCollectScreen.mBButtonScale); + } + + if (field_0x9c != NULL) { + field_0x9c->paneTrans(g_drawHIO.mCollectScreen.mAButtonTextPosX, + g_drawHIO.mCollectScreen.mAButtonTextPosY); + field_0x9c->scale(g_drawHIO.mCollectScreen.mAButtonTextScale, + g_drawHIO.mCollectScreen.mAButtonTextScale); + } + + if (field_0xa0 != NULL) { + field_0xa0->paneTrans(g_drawHIO.mCollectScreen.mBButtonTextPosX, + g_drawHIO.mCollectScreen.mBButtonTextPosY); + field_0xa0->scale(g_drawHIO.mCollectScreen.mBButtonTextScale, + g_drawHIO.mCollectScreen.mBButtonTextScale); + } + } } -#pragma pop /* 801AFBF4-801AFC14 1AA534 0020+00 1/0 0/0 0/0 .text draw__19dMenu_Calibration_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_Calibration_c::draw() { - nofralloc -#include "asm/d/menu/d_menu_calibration/draw__19dMenu_Calibration_cFv.s" +void dMenu_Calibration_c::draw() { + _draw(); } -#pragma pop - -/* 801AFC14-801AFD48 1AA554 0134+00 0/0 1/0 0/0 .text __sinit_d_menu_calibration_cpp */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __sinit_d_menu_calibration_cpp() { - nofralloc -#include "asm/d/menu/d_menu_calibration/__sinit_d_menu_calibration_cpp.s" -} -#pragma pop - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x801AFC14, __sinit_d_menu_calibration_cpp); -#pragma pop - -/* 80394F70-80394F70 0215D0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/d/menu/d_menu_window_HIO.cpp b/src/d/menu/d_menu_window_HIO.cpp index 56601e2817b..92219afee50 100644 --- a/src/d/menu/d_menu_window_HIO.cpp +++ b/src/d/menu/d_menu_window_HIO.cpp @@ -1,47 +1,22 @@ -// -// Generated By: dol2asm -// Translation Unit: d/menu/d_menu_window_HIO -// +/** + * d_menu_window_HIO.cpp + * Menu HostIO functionality + */ #include "d/menu/d_menu_window_HIO.h" #include "d/com/d_com_inf_game.h" -#include "dol2asm.h" -#include "dolphin/types.h" - -// -// Declarations: -// /* 801F9AFC-801F9B38 1F443C 003C+00 1/1 0/0 0/0 .text __ct__9dMw_HIO_cFv */ dMw_HIO_c::dMw_HIO_c() { init(); } -/* ############################################################################################## */ -/* 80450748-8045074C 0001C8 0003+01 1/1 0/0 0/0 .sdata m_cloth_item$3797 */ -static u8 m_cloth_item[3] = { - WEAR_KOKIRI, - ARMOR, - WEAR_ZORA, -}; - -/* 8045074C-80450750 0001CC 0004+00 1/1 0/0 0/0 .sdata m_sword_item$3798 */ -static u8 m_sword_item[4] = { - SWORD, - MASTER_SWORD, - LIGHT_SWORD, - WOOD_STICK, -}; - -/* 80450750-80450758 0001D0 0003+05 1/1 0/0 0/0 .sdata m_shield_item$3799 */ -static u8 m_shield_item[3] = { - SHIELD, - HYLIA_SHIELD, - WOOD_SHIELD, -}; - /* 801F9B38-801F9E14 1F4478 02DC+00 1/1 0/0 0/0 .text init__9dMw_HIO_cFv */ void dMw_HIO_c::init() { + static u8 m_cloth_item[3] = {WEAR_KOKIRI, ARMOR, WEAR_ZORA}; + static u8 m_sword_item[4] = {SWORD, MASTER_SWORD, LIGHT_SWORD, WOOD_STICK}; + static u8 m_shield_item[3] = {SHIELD, HYLIA_SHIELD, WOOD_SHIELD}; + mArrowFlag = 0; mBombFlag = 0; mPachinkoFlag = 0; diff --git a/src/d/meter/d_meter2_draw.cpp b/src/d/meter/d_meter2_draw.cpp index 3996be653ec..eaeca4b17da 100644 --- a/src/d/meter/d_meter2_draw.cpp +++ b/src/d/meter/d_meter2_draw.cpp @@ -948,7 +948,7 @@ void dMeter2Draw_c::init() { } /* 8021135C-8021151C 20BC9C 01C0+00 0/0 1/1 0/0 .text exec__13dMeter2Draw_cFUl */ -void dMeter2Draw_c::exec(u32 param_0) { +void dMeter2Draw_c::exec(u32 i_status) { if (mHUDScale != g_drawHIO.mHUDScale) { mHUDScale = g_drawHIO.mHUDScale; mpParent->scale(g_drawHIO.mHUDScale, g_drawHIO.mHUDScale); @@ -959,7 +959,7 @@ void dMeter2Draw_c::exec(u32 param_0) { mpParent->setAlphaRate(g_drawHIO.mHUDAlpha); } - if (param_0 & 0x1000000) { + if (i_status & 0x1000000) { if (mButtonsPosX != g_drawHIO.mRingHUDButtonsPosX || mButtonsPosY != g_drawHIO.mRingHUDButtonsPosY) {