mirror of
https://github.com/Oibaf66/uae-wii.git
synced 2024-11-25 20:16:54 +01:00
Implemented some of the menu stuff - most of it is not active yet
This commit is contained in:
parent
3625f5ffb3
commit
607c818871
@ -19,13 +19,13 @@ static const char *main_menu_messages[] = {
|
|||||||
/*01*/ "^|df0|df1|df2|df3",
|
/*01*/ "^|df0|df1|df2|df3",
|
||||||
/*02*/ "States",
|
/*02*/ "States",
|
||||||
/*03*/ "^|Load|Save|Delete",
|
/*03*/ "^|Load|Save|Delete",
|
||||||
/*05*/ "#1-------------------------------------",
|
/*04*/ "#1-------------------------------------",
|
||||||
/*06*/ "Reset UAE",
|
/*05*/ "Reset UAE",
|
||||||
/*07*/ "Memory options",
|
/*06*/ "Memory options",
|
||||||
/*08*/ "CPU/Chipset options",
|
/*07*/ "CPU/Chipset options",
|
||||||
/*09*/ "Game port options",
|
/*08*/ "Other options",
|
||||||
/*10*/ "Help",
|
/*09*/ "Help",
|
||||||
/*11*/ "Quit",
|
/*10*/ "Quit",
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -36,7 +36,6 @@ static const char *memory_messages[] = {
|
|||||||
/*03*/ "^|512K|1M|1.8M",
|
/*03*/ "^|512K|1M|1.8M",
|
||||||
/*04*/ "Fast mem",
|
/*04*/ "Fast mem",
|
||||||
/*05*/ "^|None|1M|2M|4M|8M",
|
/*05*/ "^|None|1M|2M|4M|8M",
|
||||||
/*06*/ "Change ROM file",
|
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -154,25 +153,112 @@ static void insert_floppy(int which)
|
|||||||
|
|
||||||
static void memory_options(void)
|
static void memory_options(void)
|
||||||
{
|
{
|
||||||
int submenus[3];
|
int submenus[3], opt;
|
||||||
memset(submenus, 0, sizeof(submenus));
|
memset(submenus, 0, sizeof(submenus));
|
||||||
|
|
||||||
|
switch(currprefs.chipmem_size)
|
||||||
|
{
|
||||||
|
case 1 * 1024 * 1024:
|
||||||
|
submenus[0] = 1; break;
|
||||||
|
case 2 * 1024 * 1024:
|
||||||
|
submenus[0] = 2; break;
|
||||||
|
case 4 * 1024 * 1024:
|
||||||
|
submenus[0] = 3; break;
|
||||||
|
case 8 * 1024 * 1024:
|
||||||
|
submenus[0] = 4; break;
|
||||||
|
case 512 * 1024:
|
||||||
|
default:
|
||||||
|
submenus[0] = 0; break;
|
||||||
|
}
|
||||||
|
switch(currprefs.fastmem_size)
|
||||||
|
{
|
||||||
|
case 1 * 1024 * 1024:
|
||||||
|
submenus[2] = 1; break;
|
||||||
|
case 2 * 1024 * 1024:
|
||||||
|
submenus[2] = 2; break;
|
||||||
|
case 4 * 1024 * 1024:
|
||||||
|
submenus[2] = 3; break;
|
||||||
|
case 8 * 1024 * 1024:
|
||||||
|
submenus[2] = 4; break;
|
||||||
|
case 0:
|
||||||
|
default:
|
||||||
|
submenus[2] = 0; break;
|
||||||
|
}
|
||||||
|
|
||||||
|
opt = menu_select_title("Memory options menu",
|
||||||
|
memory_messages, submenus);
|
||||||
|
if (opt < 0)
|
||||||
|
return;
|
||||||
|
prefs_has_changed = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void cpu_options(void)
|
static void cpu_options(void)
|
||||||
{
|
{
|
||||||
int submenus[5];
|
int submenus[5], opt;
|
||||||
memset(submenus, 0, sizeof(submenus));
|
memset(submenus, 0, sizeof(submenus));
|
||||||
|
|
||||||
submenus[0] = currprefs.cpu_level;
|
submenus[0] = currprefs.cpu_level;
|
||||||
submenus[1] = currprefs.cpu_cycle_exact;
|
submenus[1] = currprefs.cpu_cycle_exact;
|
||||||
submenus[2] = currprefs.m68k_speed;
|
submenus[2] = currprefs.m68k_speed;
|
||||||
submenus[3] = currprefs.chipset_mask;
|
// submenus[3] = currprefs.chipset_mask; // FIXME!
|
||||||
|
submenus[4] = currprefs.chipset_refreshrate == 50;
|
||||||
|
|
||||||
|
opt = menu_select_title("CPU options menu",
|
||||||
|
cpu_messages, submenus);
|
||||||
|
if (opt < 0)
|
||||||
|
return;
|
||||||
|
|
||||||
|
currprefs.cpu_level = submenus[0];
|
||||||
|
currprefs.cpu_cycle_exact = submenus[1];
|
||||||
|
currprefs.m68k_speed = submenus[2];
|
||||||
|
/* FIXME! Chipset mask */
|
||||||
|
currprefs.chipset_refreshrate = submenus[4] == 1 ? 60 : 50;
|
||||||
|
prefs_has_changed = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void gameport_options(void)
|
static void other_options(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void save_load_state(int which)
|
||||||
|
{
|
||||||
|
const char *dir = prefs_get_attr("savestate_path");
|
||||||
|
const char *floppy0 = prefs_get_attr("floppy0");
|
||||||
|
char db[256];
|
||||||
|
char fb[81];
|
||||||
|
|
||||||
|
/* Name (for saves) */
|
||||||
|
if (floppy0 && strrchr(floppy0, '/'))
|
||||||
|
strncpy(fb, strrchr(floppy0, '/') + 1, 80);
|
||||||
|
else
|
||||||
|
strcpy(fb, "unknown");
|
||||||
|
|
||||||
|
switch(which)
|
||||||
|
{
|
||||||
|
case 2:
|
||||||
|
case 0: /* Load state */
|
||||||
|
{
|
||||||
|
const char *name = menu_select_file(dir);
|
||||||
|
|
||||||
|
if (!name)
|
||||||
|
return;
|
||||||
|
snprintf(db, 255, "%s/%s", dir, name);
|
||||||
|
|
||||||
|
if (which == 0)
|
||||||
|
restore_state(db);
|
||||||
|
else
|
||||||
|
unlink(db);
|
||||||
|
} break;
|
||||||
|
case 1: /* Save state */
|
||||||
|
snprintf(db, 255, "%s/%s.sav", dir, fb);
|
||||||
|
save_state(db, floppy0);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void gui_display(int shortcut)
|
void gui_display(int shortcut)
|
||||||
{
|
{
|
||||||
int submenus[3];
|
int submenus[3];
|
||||||
@ -191,37 +277,21 @@ void gui_display(int shortcut)
|
|||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
/* States */
|
/* States */
|
||||||
if (0)
|
save_load_state(submenus[1]);
|
||||||
{
|
|
||||||
const char *dir = prefs_get_attr("savestate_path");
|
|
||||||
switch(submenus[1])
|
|
||||||
{
|
|
||||||
case 0: /* Load state */
|
|
||||||
break;
|
break;
|
||||||
case 1: /* Save state */
|
case 5:
|
||||||
save_state(prefs_get_attr("floppy0"), "Descr");
|
|
||||||
break;
|
|
||||||
case 2: /* Delete state */
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
msgYesNo("This is not implemented", 0, 320, 200);
|
|
||||||
break;
|
|
||||||
case 6:
|
|
||||||
uae_reset(1);
|
uae_reset(1);
|
||||||
break;
|
break;
|
||||||
case 7:
|
case 6:
|
||||||
memory_options();
|
memory_options();
|
||||||
break;
|
break;
|
||||||
case 8:
|
case 7:
|
||||||
cpu_options();
|
cpu_options();
|
||||||
break;
|
break;
|
||||||
case 9:
|
case 8:
|
||||||
gameport_options();
|
other_options();
|
||||||
break;
|
break;
|
||||||
case 11:
|
case 9:
|
||||||
uae_quit();
|
uae_quit();
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
Loading…
Reference in New Issue
Block a user