From 5adfe20ead03f65d545e292095df4b82877a6bc3 Mon Sep 17 00:00:00 2001 From: LagoLunatic Date: Sun, 5 Jul 2026 13:48:06 -0400 Subject: [PATCH] d_menu_save OK closes #1026 closes #1011 --- configure.py | 4 ++-- src/d/actor/d_a_npc_tt.cpp | 9 ++++++--- src/d/d_menu_save.cpp | 19 +++++++++++-------- 3 files changed, 19 insertions(+), 13 deletions(-) diff --git a/configure.py b/configure.py index 06a4090f3..af0d3a9ad 100755 --- a/configure.py +++ b/configure.py @@ -634,7 +634,7 @@ config.libs = [ Object(NonMatching, "d/d_menu_fmap2.cpp"), Object(NonMatching, "d/d_menu_item.cpp"), Object(Matching, "d/d_menu_option.cpp"), - Object(NonMatching, "d/d_menu_save.cpp"), + Object(Matching, "d/d_menu_save.cpp"), Object(MatchingFor("GZLE01"), "d/d_menu_window.cpp"), Object(NonMatching, "d/d_mesg.cpp"), Object(NonMatching, "d/d_message.cpp"), @@ -1699,7 +1699,7 @@ config.libs = [ ActorRel(NonMatching, "d_a_npc_sarace"), ActorRel(NonMatching, "d_a_npc_sv"), ActorRel(Matching, "d_a_npc_tc"), - ActorRel(Matching, "d_a_npc_tt"), + ActorRel(Matching, "d_a_npc_tt"), ActorRel(NonMatching, "d_a_npc_uk"), ActorRel(NonMatching, "d_a_npc_ym1"), ActorRel(NonMatching, "d_a_npc_yw1"), diff --git a/src/d/actor/d_a_npc_tt.cpp b/src/d/actor/d_a_npc_tt.cpp index 455b344f3..b5ef59e4f 100644 --- a/src/d/actor/d_a_npc_tt.cpp +++ b/src/d/actor/d_a_npc_tt.cpp @@ -530,9 +530,7 @@ BOOL daNpc_Tt_c::init() { switch(mType) { case 0: - if(setAction(&daNpc_Tt_c::wait_action, NULL)) { - // nothing? - } + setAction(&daNpc_Tt_c::wait_action, NULL); break; } @@ -784,7 +782,12 @@ BOOL daNpc_Tt_c::_draw() { current.pos.y, mObjAcch.GetGroundH(), mObjAcch.m_gnd, &tevStr ); +#ifdef __MWERKS__ mLineKe.mLineMat.update(10, 0.8f, (GXColor){0xC9, 0xCA, 0xE4, 0xFF}, 0, &tevStr); +#else + GXColor color = (GXColor){0xC9, 0xCA, 0xE4, 0xFF}; + mLineKe.mLineMat.update(10, 0.8f, color, 0, &tevStr); +#endif dComIfGd_set3DlineMat(&mLineKe.mLineMat); dSnap_RegistFig(DSNAP_TYPE_TT, this, 1.0f, 1.0f, 1.0f); diff --git a/src/d/d_menu_save.cpp b/src/d/d_menu_save.cpp index 038d6d9d3..9885120c3 100644 --- a/src/d/d_menu_save.cpp +++ b/src/d/d_menu_save.cpp @@ -355,7 +355,6 @@ BOOL dMenu_save_c::closeForItem() { } /* 801D6C14-801D6E68 .text openForGameover__12dMenu_save_cFv */ -// NONMATCHING - instruction order BOOL dMenu_save_c::openForGameover() { if (field_0x544 == 0) { mDoAud_seStart(JA_SE_SAVE_PANEL_IN, NULL); @@ -364,7 +363,7 @@ BOOL dMenu_save_c::openForGameover() { BOOL var_r29 = FALSE; BOOL base_rt = PaneTranceBase(field_0x544 - g_msHIO.field_0x9, g_msHIO.field_0x8, g_msHIO.field_0xc, 0.0f, 1, 0); - s16 temp_r0 = field_0x544 - (g_msHIO.field_0x9 + (g_msHIO.field_0x8 - 2)); + s16 temp_r0 = field_0x544 - (g_msHIO.field_0x9 + g_msHIO.field_0x8 - 2); if (temp_r0 == 0 && field_0x539) { for (int i = 0; i < 4; i++) { static const f32 x[] = {-180.0f, -70.0f, 70.0f, 180.0f}; @@ -1469,14 +1468,14 @@ void dMenu_save_c::CursorMove() { } /* 801D99FC-801D9ACC .text CursorAnime__12dMenu_save_cFv */ -// NONMATCHING - small float reg alloc void dMenu_save_c::CursorAnime() { f32 temp_f1 = fopMsgM_valueIncrease(g_msHIO.field_0x20, field_0x394.mUserArea, 0); if (field_0x530 != 0) { temp_f1 = 1.0f - temp_f1; } - field_0x394.mNowAlpha = g_msHIO.field_0x22 + (u32)((g_msHIO.field_0x21 - g_msHIO.field_0x22) * temp_f1); + f32 temp = g_msHIO.field_0x21 - g_msHIO.field_0x22; + field_0x394.mNowAlpha = g_msHIO.field_0x22 + (u32)(temp * temp_f1); fopMsgM_setAlpha(&field_0x394); if (field_0x394.mUserArea == 0) { @@ -1715,7 +1714,8 @@ BOOL dMenu_save_c::PaneAlphaMsgTxt(s16 param_0, u8 param_1) { return TRUE; f32 var_f31 = fopMsgM_valueIncrease(param_1, param_0, 0); - fopMsgM_setNowAlpha(&field_0x20c[field_0x536 + 3], 1.0f - var_f31); + f32 temp = 1.0f - var_f31; + fopMsgM_setNowAlpha(&field_0x20c[field_0x536 + 3], temp); fopMsgM_setNowAlpha(&field_0x20c[(field_0x536 ^ 1) + 3], var_f31); fopMsgM_setAlpha(&field_0x20c[0 + 3]); fopMsgM_setAlpha(&field_0x20c[1 + 3]); @@ -1730,7 +1730,8 @@ BOOL dMenu_save_c::PaneTranceBase(s16 param_0, u8 param_1, f32 param_2, f32 para return TRUE; f32 var_f31 = fopMsgM_valueIncrease(param_1, param_0, param_4); - fopMsgM_paneTrans(&field_0x20c[0], 0.0f, param_2 + (var_f31 * (param_3 - param_2))); + f32 temp = var_f31 * (param_3 - param_2); + fopMsgM_paneTrans(&field_0x20c[0], 0.0f, param_2 + temp); if (param_5 != 2) { if (param_5 == 1) { @@ -1824,7 +1825,8 @@ BOOL dMenu_save_c::PaneTranceTitle(s16 param_0, u8 param_1, f32 param_2, f32 par return TRUE; f32 var_f31 = fopMsgM_valueIncrease(param_1, param_0, param_4); - fopMsgM_paneTrans(&field_0x324, 0.0f, param_2 + (var_f31 * (param_3 - param_2))); + f32 temp = var_f31 * (param_3 - param_2); + fopMsgM_paneTrans(&field_0x324, 0.0f, param_2 + temp); if (param_5 != 2) { if (param_5 == 1) { @@ -1861,7 +1863,8 @@ BOOL dMenu_save_c::PaneTranceMenu(s16 param_0, u8 param_1, fopMsgM_pane_class* p return TRUE; f32 var_f31 = fopMsgM_valueIncrease(param_1, param_0, param_5); - fopMsgM_paneTrans(param_2, 0.0f, param_3 + (var_f31 * (param_4 - param_3))); + f32 temp = var_f31 * (param_4 - param_3); + fopMsgM_paneTrans(param_2, 0.0f, param_3 + temp); if (param_6 != 2) { if (param_6 == 1) {