Make back in the menu go to the previous one (if applicable). Also add a small

help message in the main menu
This commit is contained in:
simon.kagstrom 2009-05-24 06:03:09 +00:00
parent fabdbbf5c5
commit 6b01baf105

View File

@ -34,6 +34,8 @@ static const char *main_menu_messages[] = {
/*08*/ "Options", /*08*/ "Options",
/*09*/ "Help", /*09*/ "Help",
/*10*/ "Quit", /*10*/ "Quit",
/*04*/ "#1-------------------------------------",
/*04*/ "#21 - back, 2/A - select",
NULL NULL
}; };
@ -514,32 +516,41 @@ static void amiga_model_options(void)
submenus[0] = cur_model; submenus[0] = cur_model;
submenus[1] = get_emulation_accuracy(); submenus[1] = get_emulation_accuracy();
opt = menu_select_title("Amiga model menu", do
amiga_model_messages, submenus);
if (opt < 0)
return;
switch(submenus[0])
{ {
case 0: A1000_config(); break; opt = menu_select_title("Amiga model menu",
case 1: A500_config(); break; amiga_model_messages, submenus);
case 2: A600_config(); break; if (opt < 0)
case 3: A1200_config(); break; return;
default: /* custom */ switch(submenus[0])
break; {
} case 0: A1000_config(); break;
case 1: A500_config(); break;
case 2: A600_config(); break;
case 3: A1200_config(); break;
default: /* custom */
break;
}
switch(opt)
{
case 4:
memory_options(); break;
case 5:
cpu_chipset_options(); break;
case 6:
insert_rom(); break;
default:
break;
}
} while (opt == 4 || opt == 5 || opt == 6);
/* Reset the Amiga if the model has changed */ /* Reset the Amiga if the model has changed */
if (cur_model != submenus[0]) if (cur_model != submenus[0])
uae_reset(1); uae_reset(1);
/* Cycle-exact or not? */ /* Cycle-exact or not? */
set_emulation_accuracy(submenus[1]); set_emulation_accuracy(submenus[1]);
if (opt == 4)
memory_options();
else if (opt == 5)
cpu_chipset_options();
else if (opt == 6)
insert_rom();
prefs_has_changed = 1; prefs_has_changed = 1;
} }
@ -677,42 +688,45 @@ void gui_display(int shortcut)
memset(submenus, 0, sizeof(submenus)); memset(submenus, 0, sizeof(submenus));
prefs_has_changed = 0; prefs_has_changed = 0;
opt = menu_select_title("Main menu", main_menu_messages, submenus); do
notice_screen_contents_lost ();
if (opt < 0)
return;
switch(opt)
{ {
case 0: opt = menu_select_title("Main menu", main_menu_messages, submenus);
/* Insert floppy */ notice_screen_contents_lost ();
insert_floppy(submenus[0]); if (opt < 0)
break; return;
case 2:
/* States */ switch(opt)
save_load_state(submenus[1]); {
break; case 0:
case 5: /* Insert floppy */
uae_reset(1); insert_floppy(submenus[0]);
break; break;
case 6: case 2:
amiga_model_options(); /* States */
break; save_load_state(submenus[1]);
case 7: break;
keyboard_options(); case 5:
break; uae_reset(1);
case 8: break;
general_options(); case 6:
break; amiga_model_options();
case 9: break;
help(); case 7:
break; keyboard_options();
case 10: break;
uae_quit(); case 8:
break; general_options();
default: break;
break; case 9:
} help();
break;
case 10:
uae_quit();
break;
default:
break;
}
} while( opt != 5 && opt != 9 && opt != 10);
if (prefs_has_changed) if (prefs_has_changed)
{ {