From 6f4163b024912b5fc6f43c3a030318c8d8b47e2a Mon Sep 17 00:00:00 2001 From: sorgelig Date: Thu, 28 Nov 2019 15:29:35 +0800 Subject: [PATCH] menu: fix coeff/gamma path display, move reset for minimig to main page. --- menu.cpp | 68 ++++++++++++++++++++++++++++++++++---------------------- 1 file changed, 42 insertions(+), 26 deletions(-) diff --git a/menu.cpp b/menu.cpp index 0cd6543..887e4cc 100644 --- a/menu.cpp +++ b/menu.cpp @@ -1669,7 +1669,6 @@ void HandleUI(void) if (!menusub) firstmenu = 0; adjvisible = 0; - MenuWrite(n++); MenuWrite(n++, " Core \x16", menusub == 0, 0); sprintf(s, " Define %s buttons ", is_menu_core() ? "System" : user_io_get_core_name_ex()); s[27] = '\x16'; @@ -1725,15 +1724,16 @@ void HandleUI(void) MenuWrite(n++, s, menusub == 8, !video_get_gamma_en() || !S_ISDIR(getFileType(GAMMA_DIR))); } - m = 0; if (is_minimig()) { - m = 1; - menumask &= ~0x400; + menumask &= ~0x600; + } + else + { + MenuWrite(n++); + MenuWrite(n++, " Reset settings", menusub == 9, user_io_core_type() == CORE_TYPE_ARCHIE); + MenuWrite(n++, " Save settings", menusub == 10, 0); } - MenuWrite(n++); - MenuWrite(n++, m ? " Reset the core" : " Reset settings", menusub == 9, user_io_core_type() == CORE_TYPE_ARCHIE); - MenuWrite(n++, m ? "" : " Save settings", menusub == 10, 0); MenuWrite(n++); cr = n; @@ -2034,7 +2034,12 @@ void HandleUI(void) { char *p = strcasestr(SelectedPath, COEFF_DIR"/"); if (!p) video_set_scaler_coeff(SelectedPath); - else video_set_scaler_coeff(p + strlen(COEFF_DIR) + 1); + else + { + p += strlen(COEFF_DIR); + while (*p == '/') p++; + video_set_scaler_coeff(p); + } menustate = MENU_8BIT_SYSTEM1; } break; @@ -2042,7 +2047,12 @@ void HandleUI(void) { char *p = strcasestr(SelectedPath, GAMMA_DIR"/"); if (!p) video_set_gamma_curve(SelectedPath); - else video_set_gamma_curve(p + strlen(GAMMA_DIR) + 1); + else + { + p += strlen(GAMMA_DIR); + while (*p == '/') p++; + video_set_gamma_curve(p); + } menustate = MENU_8BIT_SYSTEM1; } break; @@ -2930,20 +2940,17 @@ void HandleUI(void) /* minimig main menu */ /******************************************************************/ case MENU_MAIN1: - menumask = 0xFF0; // b01110000 Floppy turbo, Harddisk options & Exit. + menumask = 0x1FF0; // b01110000 Floppy turbo, Harddisk options & Exit. OsdSetTitle("Minimig", OSD_ARROW_RIGHT | OSD_ARROW_LEFT); helptext = helptexts[HELPTEXT_MAIN]; - OsdWrite(0, "", 0, 0); - // floppy drive info // We display a line for each drive that's active // in the config file, but grey out any that the FPGA doesn't think are active. // We also print a help text in place of the last drive if it's inactive. for (int i = 0; i < 4; i++) { - if (i == minimig_config.floppy.drives + 1) - OsdWrite(i+1, " KP +/- to add/remove drives", 0, 1); + if (i == minimig_config.floppy.drives + 1) OsdWrite(i, " KP +/- to add/remove drives", 0, 1); else { strcpy(s, " dfx: "); @@ -2983,24 +2990,28 @@ void HandleUI(void) } else strcpy(s, ""); - OsdWrite(i+1, s, menusub == (uint32_t)i, (i>drives) || (i>minimig_config.floppy.drives)); + OsdWrite(i, s, menusub == (uint32_t)i, (i>drives) || (i>minimig_config.floppy.drives)); } } + + m = 4; sprintf(s, " Floppy disk turbo : %s", minimig_config.floppy.speed ? "on" : "off"); - OsdWrite(5, s, menusub == 4, 0); - OsdWrite(6, "", 0, 0); + OsdWrite(m++, s, menusub == 4, 0); + OsdWrite(m++); - OsdWrite(7, " Hard disks", menusub == 5, 0); - OsdWrite(8, " CPU & Chipset", menusub == 6, 0); - OsdWrite(9, " Memory", menusub == 7, 0); - OsdWrite(10, " Audio & Video", menusub == 8, 0); - OsdWrite(11, "", 0, 0); + OsdWrite(m++, " Hard disks", menusub == 5, 0); + OsdWrite(m++, " CPU & Chipset", menusub == 6, 0); + OsdWrite(m++, " Memory", menusub == 7, 0); + OsdWrite(m++, " Audio & Video", menusub == 8, 0); + OsdWrite(m++); - OsdWrite(12, " Save configuration", menusub == 9, 0); - OsdWrite(13, " Load configuration", menusub == 10, 0); - OsdWrite(14, "", 0, 0); + OsdWrite(m++, " Save configuration", menusub == 9, 0); + OsdWrite(m++, " Load configuration", menusub == 10, 0); - OsdWrite(15, STD_EXIT, menusub == 11, 0); + OsdWrite(m++); + OsdWrite(m++, " Reset", menusub == 11, 0); + + OsdWrite(15, STD_EXIT, menusub == 12, 0); menustate = MENU_MAIN2; parentstate = MENU_MAIN1; @@ -3074,6 +3085,11 @@ void HandleUI(void) menustate = MENU_LOADCONFIG_1; } else if (menusub == 11) + { + menustate = MENU_NONE1; + minimig_reset(); + } + else if (menusub == 12) menustate = MENU_NONE1; } else if (c == KEY_BACKSPACE) // eject all floppies