[Gamecube/Wii] improved menu

This commit is contained in:
ekeeke 2021-09-15 19:27:23 +02:00
parent 42b8cc665c
commit 972203a536
5 changed files with 47 additions and 47 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 MiB

After

Width:  |  Height:  |  Size: 3.8 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 MiB

After

Width:  |  Height:  |  Size: 4.0 MiB

BIN
gx/docs/README.pdf Normal file

Binary file not shown.

View File

@ -3,7 +3,7 @@
* *
* generic GUI Engine (using GX rendering) * generic GUI Engine (using GX rendering)
* *
* Copyright Eke-Eke (2009-2020) * Copyright Eke-Eke (2009-2021)
* *
* Redistribution and use of this code or any derivative works are permitted * Redistribution and use of this code or any derivative works are permitted
* provided that the following conditions are met: * provided that the following conditions are met:
@ -812,7 +812,7 @@ int GUI_UpdateMenu(gui_menu *menu)
/* update helper comment */ /* update helper comment */
if (menu->helpers[1]) if (menu->helpers[1])
{ {
if ((menu->offset + selected) < max_items) if ((selected < max_buttons) && ((menu->offset + selected) < max_items))
{ {
gui_item *item = &menu->items[menu->offset + selected]; gui_item *item = &menu->items[menu->offset + selected];
strcpy(menu->helpers[1]->comment,item->comment); strcpy(menu->helpers[1]->comment,item->comment);

View File

@ -363,33 +363,33 @@ static gui_item items_rompaths[] =
{ {
{NULL,NULL,"CD BIOS (USA): NOT FOUND", "Select Sega CD (USA) BIOS", 56,132,276,48}, {NULL,NULL,"CD BIOS (USA): NOT FOUND", "Select Sega CD (USA) BIOS", 56,132,276,48},
{NULL,NULL,"CD BIOS (PAL): NOT FOUND", "Select Mega CD (PAL) BIOS", 56,132,276,48}, {NULL,NULL,"CD BIOS (PAL): NOT FOUND", "Select Mega CD (PAL) BIOS", 56,132,276,48},
{NULL,NULL,"CD BIOS (JAP): NOT FOUND", "Select Mega CD (JAP) BIOS", 56,132,276,48}, {NULL,NULL,"CD BIOS (JAPAN): NOT FOUND","Select Mega CD (JAPAN) BIOS", 56,132,276,48},
{NULL,NULL,"MD BIOS (TMSS): NOT FOUND", "Select Mega Drive / Genesis BootROM", 56,132,276,48}, {NULL,NULL,"MD BIOS (TMSS): NOT FOUND", "Select Mega Drive / Genesis Boot ROM", 56,132,276,48},
{NULL,NULL,"MS BIOS (USA): NOT FOUND", "Select Master System (USA) BootROM", 56,132,276,48}, {NULL,NULL,"MS BIOS (USA): NOT FOUND", "Select Master System (USA) Boot ROM", 56,132,276,48},
{NULL,NULL,"MS BIOS (PAL): NOT FOUND", "Select Master System (PAL) BootROM", 56,132,276,48}, {NULL,NULL,"MS BIOS (PAL): NOT FOUND", "Select Master System (PAL) Boot ROM", 56,132,276,48},
{NULL,NULL,"MS BIOS (JAP): NOT FOUND", "Select Master System (JAP) BootROM", 56,132,276,48}, {NULL,NULL,"MS BIOS (JAPAN): NOT FOUND","Select Master System (JAPAN) Boot ROM",56,132,276,48},
{NULL,NULL,"Game Gear BIOS: NOT FOUND", "Select Game Gear BootROM", 56,132,276,48}, {NULL,NULL,"Game Gear BIOS: NOT FOUND", "Select Game Gear Boot ROM", 56,132,276,48},
{NULL,NULL,"Game Genie: NOT FOUND", "Select Game Genie ROM", 56,132,276,48}, {NULL,NULL,"Game Genie: NOT FOUND", "Select Game Genie ROM", 56,132,276,48},
{NULL,NULL,"Action Replay: NOT FOUND", "Select Action Replay (Pro) ROM", 56,132,276,48}, {NULL,NULL,"Action Replay: NOT FOUND", "Select Action Replay (Pro) ROM", 56,132,276,48},
{NULL,NULL,"S&K (2MB ROM): NOT FOUND", "Select Sonic & Knuckle main ROM", 56,132,276,48}, {NULL,NULL,"S&K (2MB): NOT FOUND", "Select Sonic & Knuckle main ROM", 56,132,276,48},
{NULL,NULL,"S2&K (256K ROM): NOT FOUND","Select Sonic 2 & Knuckle upmem ROM", 56,132,276,48}, {NULL,NULL,"S2&K (256KB): NOT FOUND","Select Sonic 2 & Knuckle upmem ROM", 56,132,276,48},
}; };
/* System options */ /* System options */
static gui_item items_system[] = static gui_item items_system[] =
{ {
{NULL,NULL,"Console Hardware: AUTO", "Select system hardware model", 56,132,276,48}, {NULL,NULL,"System: MEGA DRIVE/GENESIS", "Select system hardware model", 56,132,276,48},
{NULL,NULL,"Console Region: AUTO", "Select system region", 56,132,276,48}, {NULL,NULL,"Region: JAPAN", "Select system region", 56,132,276,48},
{NULL,NULL,"VDP Mode: AUTO", "Select VDP mode", 56,132,276,48}, {NULL,NULL,"VDP Mode: AUTO", "Select VDP mode", 56,132,276,48},
{NULL,NULL,"System Clock: AUTO", "Select system clock frequency", 56,132,276,48}, {NULL,NULL,"System Clock: AUTO", "Select master clock frequency", 56,132,276,48},
{NULL,NULL,"System Boot: BIOS&CART", "Select system booting method", 56,132,276,48}, {NULL,NULL,"System Boot: BIOS->CART", "Select system booting method", 56,132,276,48},
{NULL,NULL,"System Lockups: ON", "Enable/Disable original system lock-ups", 56,132,276,48}, {NULL,NULL,"System Lockups: OFF", "Enable/Disable original system lockups", 56,132,276,48},
{NULL,NULL,"68k Address Error: ON", "Enable/Disable 68k address error exceptions", 56,132,276,48}, {NULL,NULL,"68k Address Error: OFF", "Enable/Disable 68k address error exceptions", 56,132,276,48},
{NULL,NULL,"CD Add-on: MEGA/SEGA CD", "Select cartridge mode CD hardware add-on", 56,132,276,48}, {NULL,NULL,"CD Add-on: MEGA/SEGA CD", "Select cartridge mode CD hardware add-on", 56,132,276,48},
{NULL,NULL,"Lock-on: OFF", "Select Lock-On cartridge type", 56,132,276,48}, {NULL,NULL,"Lock-On: SONIC&KNUCKLES", "Select Lock-On cartridge type", 56,132,276,48},
{NULL,NULL,"Cartridge Swap: OFF", "Enable/Disable cartridge hot swap", 56,132,276,48}, {NULL,NULL,"Cartridge Swap: OFF", "Enable/Disable cartridge hot swap", 56,132,276,48},
{NULL,NULL,"BIOS & Lock-On ROM paths","Configure BIOS & Lock-On ROM paths", 56,132,276,48}, {NULL,NULL,"BIOS & Lock-On ROM paths", "Configure Boot ROM & Lock-On ROM paths", 56,132,276,48},
{NULL,NULL,"SVP Cycles: 1500", "Adjust SVP chip emulation speed", 56,132,276,48} {NULL,NULL,"SVP Cycles: 1500", "Adjust SVP chip emulation speed", 56,132,276,48}
}; };
/* Video options */ /* Video options */
@ -1269,30 +1269,30 @@ static void systemmenu ()
gui_item *items = m->items; gui_item *items = m->items;
if (config.system == 0) if (config.system == 0)
sprintf (items[0].text, "Console Type: AUTO"); sprintf (items[0].text, "System: AUTO");
else if (config.system == SYSTEM_SG) else if (config.system == SYSTEM_SG)
sprintf (items[0].text, "Console Type: SG-1000"); sprintf (items[0].text, "System: SG-1000");
else if (config.system == SYSTEM_SGII) else if (config.system == SYSTEM_SGII)
sprintf (items[0].text, "Console Type: SG-1000 II"); sprintf (items[0].text, "System: SG-1000 II");
else if (config.system == SYSTEM_MARKIII) else if (config.system == SYSTEM_MARKIII)
sprintf (items[0].text, "Console Type: MARK-III"); sprintf (items[0].text, "System: MARK-III");
else if (config.system == SYSTEM_SMS) else if (config.system == SYSTEM_SMS)
sprintf (items[0].text, "Console Type: SMS"); sprintf (items[0].text, "System: MASTER SYSTEM");
else if (config.system == SYSTEM_SMS2) else if (config.system == SYSTEM_SMS2)
sprintf (items[0].text, "Console Type: SMS II"); sprintf (items[0].text, "System: MASTER SYSTEM II");
else if (config.system == SYSTEM_GG) else if (config.system == SYSTEM_GG)
sprintf (items[0].text, "Console Type: GG"); sprintf (items[0].text, "System: GAME GEAR");
else if (config.system == SYSTEM_MD) else if (config.system == SYSTEM_MD)
sprintf (items[0].text, "Console Type: MD"); sprintf (items[0].text, "System: MEGA DRIVE/GENESIS");
if (config.region_detect == 0) if (config.region_detect == 0)
sprintf (items[1].text, "Console Region: AUTO"); sprintf (items[1].text, "Region: AUTO");
else if (config.region_detect == 1) else if (config.region_detect == 1)
sprintf (items[1].text, "Console Region: USA"); sprintf (items[1].text, "Region: USA");
else if (config.region_detect == 2) else if (config.region_detect == 2)
sprintf (items[1].text, "Console Region: PAL"); sprintf (items[1].text, "Region: PAL");
else if (config.region_detect == 3) else if (config.region_detect == 3)
sprintf (items[1].text, "Console Region: JAP"); sprintf (items[1].text, "Region: JAPAN");
if (config.vdp_mode == 0) if (config.vdp_mode == 0)
sprintf (items[2].text, "VDP Mode: AUTO"); sprintf (items[2].text, "VDP Mode: AUTO");
@ -1308,7 +1308,7 @@ static void systemmenu ()
else if (config.master_clock == 2) else if (config.master_clock == 2)
sprintf (items[3].text, "System Clock: PAL"); sprintf (items[3].text, "System Clock: PAL");
sprintf (items[4].text, "System Boot: %s", (config.bios & 1) ? ((config.bios & 2) ? "BIOS&CART" : "BIOS ONLY") : "CART"); sprintf (items[4].text, "System Boot: %s", (config.bios & 1) ? ((config.bios & 2) ? "BIOS->CART" : "BIOS ONLY") : "CART");
sprintf (items[5].text, "System Lockups: %s", config.force_dtack ? "OFF" : "ON"); sprintf (items[5].text, "System Lockups: %s", config.force_dtack ? "OFF" : "ON");
sprintf (items[6].text, "68k Address Error: %s", config.addr_error ? "ON" : "OFF"); sprintf (items[6].text, "68k Address Error: %s", config.addr_error ? "ON" : "OFF");
@ -1356,7 +1356,7 @@ static void systemmenu ()
if (config.system == SYSTEM_MD) if (config.system == SYSTEM_MD)
{ {
config.system = 0; config.system = 0;
sprintf (items[0].text, "Console Type: AUTO"); sprintf (items[0].text, "System: AUTO");
/* Default system hardware (auto) */ /* Default system hardware (auto) */
if (system_hw) system_hw = romtype; if (system_hw) system_hw = romtype;
@ -1364,37 +1364,37 @@ static void systemmenu ()
else if (config.system == 0) else if (config.system == 0)
{ {
config.system = SYSTEM_SG; config.system = SYSTEM_SG;
sprintf (items[0].text, "Console Type: SG-1000"); sprintf (items[0].text, "System: SG-1000");
if (system_hw) system_hw = SYSTEM_SG; if (system_hw) system_hw = SYSTEM_SG;
} }
else if (config.system == SYSTEM_SG) else if (config.system == SYSTEM_SG)
{ {
config.system = SYSTEM_SGII; config.system = SYSTEM_SGII;
sprintf (items[0].text, "Console Type: SG-1000 II"); sprintf (items[0].text, "System: SG-1000 II");
if (system_hw) system_hw = SYSTEM_SGII; if (system_hw) system_hw = SYSTEM_SGII;
} }
else if (config.system == SYSTEM_SGII) else if (config.system == SYSTEM_SGII)
{ {
config.system = SYSTEM_MARKIII; config.system = SYSTEM_MARKIII;
sprintf (items[0].text, "Console Type: MARK-III"); sprintf (items[0].text, "System: MARK-III");
if (system_hw) system_hw = SYSTEM_MARKIII; if (system_hw) system_hw = SYSTEM_MARKIII;
} }
else if (config.system == SYSTEM_MARKIII) else if (config.system == SYSTEM_MARKIII)
{ {
config.system = SYSTEM_SMS; config.system = SYSTEM_SMS;
sprintf (items[0].text, "Console Type: SMS"); sprintf (items[0].text, "System: MASTER SYSTEM");
if (system_hw) system_hw = SYSTEM_SMS; if (system_hw) system_hw = SYSTEM_SMS;
} }
else if (config.system == SYSTEM_SMS) else if (config.system == SYSTEM_SMS)
{ {
config.system = SYSTEM_SMS2; config.system = SYSTEM_SMS2;
sprintf (items[0].text, "Console Type: SMS II"); sprintf (items[0].text, "System: MASTER SYSTEM II");
if (system_hw) system_hw = SYSTEM_SMS2; if (system_hw) system_hw = SYSTEM_SMS2;
} }
else if (config.system == SYSTEM_SMS2) else if (config.system == SYSTEM_SMS2)
{ {
config.system = SYSTEM_GG; config.system = SYSTEM_GG;
sprintf (items[0].text, "Console Type: GG"); sprintf (items[0].text, "System: GAME GEAR");
if (romtype == SYSTEM_GG) if (romtype == SYSTEM_GG)
{ {
@ -1410,7 +1410,7 @@ static void systemmenu ()
else if (config.system == SYSTEM_GG) else if (config.system == SYSTEM_GG)
{ {
config.system = SYSTEM_MD; config.system = SYSTEM_MD;
sprintf (items[0].text, "Console Type: MD"); sprintf (items[0].text, "System: MEGA DRIVE/GENESIS");
if (romtype & SYSTEM_MD) if (romtype & SYSTEM_MD)
{ {
@ -1454,13 +1454,13 @@ static void systemmenu ()
{ {
config.region_detect = (config.region_detect + 1) % 4; config.region_detect = (config.region_detect + 1) % 4;
if (config.region_detect == 0) if (config.region_detect == 0)
sprintf (items[1].text, "Console Region: AUTO"); sprintf (items[1].text, "Region: AUTO");
else if (config.region_detect == 1) else if (config.region_detect == 1)
sprintf (items[1].text, "Console Region: USA"); sprintf (items[1].text, "Region: USA");
else if (config.region_detect == 2) else if (config.region_detect == 2)
sprintf (items[1].text, "Console Region: PAL"); sprintf (items[1].text, "Region: PAL");
else if (config.region_detect == 3) else if (config.region_detect == 3)
sprintf (items[1].text, "Console Region: JAP"); sprintf (items[1].text, "Region: JAPAN");
/* force system reinitialization + region BIOS */ /* force system reinitialization + region BIOS */
reinit = 2; reinit = 2;
@ -1502,7 +1502,7 @@ static void systemmenu ()
if (config.bios == 0) config.bios = 3; if (config.bios == 0) config.bios = 3;
else if (config.bios == 3) config.bios = 1; else if (config.bios == 3) config.bios = 1;
else config.bios = 0; else config.bios = 0;
sprintf (items[4].text, "System Boot: %s", (config.bios & 1) ? ((config.bios & 2) ? "BIOS&CART " : "BIOS ONLY") : "CART"); sprintf (items[4].text, "System Boot: %s", (config.bios & 1) ? ((config.bios & 2) ? "BIOS->CART " : "BIOS ONLY") : "CART");
if ((system_hw == SYSTEM_MD) || (system_hw & SYSTEM_GG) || (system_hw & SYSTEM_SMS)) if ((system_hw == SYSTEM_MD) || (system_hw & SYSTEM_GG) || (system_hw & SYSTEM_SMS))
{ {
/* force hard reset */ /* force hard reset */