From d55d16fdb1e20ea1c914783d368f4d13b61b1aba Mon Sep 17 00:00:00 2001 From: MegaMech <7255464+MegaMech@users.noreply.github.com> Date: Fri, 25 Apr 2025 13:12:44 -0600 Subject: [PATCH] Fix pause menu item box cursor --- asm/non_matchings/menu_items/func_800A1FB0.s | 2 +- src/menu_items.c | 22 +++++++++----------- src/menu_items.h | 2 +- 3 files changed, 12 insertions(+), 14 deletions(-) diff --git a/asm/non_matchings/menu_items/func_800A1FB0.s b/asm/non_matchings/menu_items/func_800A1FB0.s index d4f1fa44d..c811913e3 100644 --- a/asm/non_matchings/menu_items/func_800A1FB0.s +++ b/asm/non_matchings/menu_items/func_800A1FB0.s @@ -970,7 +970,7 @@ glabel L800A2CBC /* 0A38D0 800A2CD0 A7AB00E2 */ sh $t3, 0xe2($sp) .L800A2CD4: /* 0A38D4 800A2CD4 8FA400E8 */ lw $a0, 0xe8($sp) -/* 0A38D8 800A2CD8 0C0299AA */ jal func_800A66A8 +/* 0A38D8 800A2CD8 0C0299AA */ jal pause_menu_item_box_cursor /* 0A38DC 800A2CDC 27A500E0 */ addiu $a1, $sp, 0xe0 /* 0A38E0 800A2CE0 8FBF006C */ lw $ra, 0x6c($sp) /* 0A38E4 800A2CE4 D7B40030 */ ldc1 $f20, 0x30($sp) diff --git a/src/menu_items.c b/src/menu_items.c index 649d6b6b5..713250882 100644 --- a/src/menu_items.c +++ b/src/menu_items.c @@ -6920,7 +6920,7 @@ void menu_item_data_course_selectable(MenuItem* arg0) { } sp78.column = 0x001F; sp78.row = (gCourseRecordsMenuSelection * 0xD) + 0x3A; - func_800A66A8(arg0, (Unk_D_800E70A0*) &sp78); + pause_menu_item_box_cursor(arg0, (Unk_D_800E70A0*) &sp78); } void func_800A1DE0(MenuItem* arg0) { @@ -6956,7 +6956,7 @@ void func_800A1DE0(MenuItem* arg0) { sp58.column = 0x003B; sp58.row = (gCourseRecordsSubMenuSelection * 0xD) + 0x66; - func_800A66A8(arg0, &sp58); + pause_menu_item_box_cursor(arg0, &sp58); } void func_800A1F30(UNUSED MenuItem* unused) { @@ -7211,7 +7211,7 @@ void func_800A1FB0(MenuItem* arg0) { spE0.row -= 8; break; } - func_800A66A8(arg0, (Unk_D_800E70A0*) &spE0); + pause_menu_item_box_cursor(arg0, (Unk_D_800E70A0*) &spE0); } #else GLOBAL_ASM("asm/non_matchings/menu_items/func_800A1FB0.s") @@ -7647,7 +7647,7 @@ void func_800A3E60(MenuItem* arg0) { } sp84.column = var_v0_5->column - arg0->column; sp84.row = var_v0_5->row + arg0->row; - func_800A66A8(arg0, &sp84); + pause_menu_item_box_cursor(arg0, &sp84); } void render_lap_time(s32 lapNumber, s32 column, s32 row) { @@ -8060,7 +8060,7 @@ void func_800A54EC(void) { whyTheSequel = D_800F0B50[why]; sp50.column = var_v1->column - 8; sp50.row = (var_v1->row + ((sp48->state - whyTheSequel) * 0xD)) - 8; - func_800A66A8(sp48, &sp50); + pause_menu_item_box_cursor(sp48, &sp50); } // Also used to render the replay text box in time trials replay mode @@ -8217,7 +8217,7 @@ void render_menu_item_end_course_option(MenuItem* arg0) { } sp98.column = var_v0_9->column; sp98.row = var_v0_9->row; - func_800A66A8(arg0, &sp98); + pause_menu_item_box_cursor(arg0, &sp98); } } @@ -8261,7 +8261,7 @@ void func_800A6154(MenuItem* arg0) { if (arg0->state >= 0xB) { sp6C.column = 0x0084; sp6C.row = (arg0->state * 0x14) - 0x4E; - func_800A66A8(arg0, &sp6C); + pause_menu_item_box_cursor(arg0, &sp6C); } if (arg0->param2 > 0) { gDisplayListHead = func_80098FC8(gDisplayListHead, 0, 0, 0x0000013F, arg0->param2); @@ -8317,11 +8317,11 @@ void func_800A638C(MenuItem* arg0) { text_rainbow_effect(arg0->state - 0xA, var_s1, TEXT_GREEN); print_text_mode_1(0x00000069, 0xAE + (0xF * var_s1), gTextPauseButton[var_s1 + 1], 0, 0.8f, 0.8f); } - func_800A66A8(arg0, &D_800E7360[arg0->state - 10]); + pause_menu_item_box_cursor(arg0, &D_800E7360[arg0->state - 10]); } } -void func_800A66A8(MenuItem* arg0, Unk_D_800E70A0* arg1) { +void pause_menu_item_box_cursor(MenuItem* arg0, Unk_D_800E70A0* arg1) { Mtx* mtx; Mtx* mtx2; f32 tmp; @@ -8359,9 +8359,7 @@ void func_800A66A8(MenuItem* arg0, Unk_D_800E70A0* arg1) { guMtxCatL(mtx, mtx2, mtx); guTranslate(mtx2, arg1->column, arg1->row, 0.0f); guMtxCatL(mtx, mtx2, mtx); - // gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxEffect[gMatrixEffectCount++]), - // (G_MTX_NOPUSH | G_MTX_LOAD) | G_MTX_MODELVIEW); - AddEffectMatrixFixed(G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPMatrix(gDisplayListHead++, mtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIA, G_CC_MODULATEIA); gDPNoOp(gDisplayListHead++); diff --git a/src/menu_items.h b/src/menu_items.h index 82c8dc98c..39de188eb 100644 --- a/src/menu_items.h +++ b/src/menu_items.h @@ -538,7 +538,7 @@ void render_menu_item_end_course_option(MenuItem*); void func_800A6034(MenuItem*); void func_800A6154(MenuItem*); void func_800A638C(MenuItem*); -void func_800A66A8(MenuItem*, Unk_D_800E70A0*); +void pause_menu_item_box_cursor(MenuItem*, Unk_D_800E70A0*); void func_800A69C8(MenuItem*); void func_800A6BEC(MenuItem*); void func_800A6CC0(MenuItem*);