plat_video_menu_end();\r
}\r
\r
-static int me_process(menu_entry *entry, int is_next)\r
+static int me_process(menu_entry *entry, int is_next, int is_lr)\r
{\r
+ int c;\r
switch (entry->beh)\r
{\r
case MB_OPT_ONOFF:\r
return 1;\r
case MB_OPT_RANGE:\r
case MB_OPT_CUSTRANGE:\r
- *(int *)entry->var += is_next ? 1 : -1;\r
+ c = is_lr ? 10 : 1;\r
+ *(int *)entry->var += is_next ? c : -c;\r
if (*(int *)entry->var < (int)entry->min)\r
*(int *)entry->var = (int)entry->max;\r
if (*(int *)entry->var > (int)entry->max)\r
if ((inp & (PBTN_L|PBTN_R)) == (PBTN_L|PBTN_R))\r
debug_menu_loop();\r
\r
- if (inp & (PBTN_LEFT|PBTN_RIGHT)) { /* multi choice */\r
- if (me_process(&menu[sel], (inp & PBTN_RIGHT) ? 1 : 0))\r
+ if (inp & (PBTN_LEFT|PBTN_RIGHT|PBTN_L|PBTN_R)) { /* multi choice */\r
+ if (me_process(&menu[sel], (inp & (PBTN_RIGHT|PBTN_R)) ? 1 : 0,\r
+ inp & (PBTN_L|PBTN_R)))\r
continue;\r
}\r
\r
\r
static menu_entry e_menu_cd_options[] =\r
{\r
- mee_onoff("CD LEDs", MA_CDOPT_LEDS, currentConfig.EmuOpt, 0x0400),\r
+ mee_onoff("CD LEDs", MA_CDOPT_LEDS, currentConfig.EmuOpt, EOPT_EN_CD_LEDS),\r
mee_onoff("CDDA audio", MA_CDOPT_CDDA, PicoOpt, POPT_EN_MCD_CDDA),\r
mee_onoff("PCM audio", MA_CDOPT_PCM, PicoOpt, POPT_EN_MCD_PCM),\r
mee_cust ("ReadAhead buffer", MA_CDOPT_READAHEAD, mh_cdopt_ra, mgn_cdopt_ra),\r
mee_onoff ("gzip savestates", MA_OPT2_GZIP_STATES, currentConfig.EmuOpt, EOPT_GZIP_SAVES),\r
mee_onoff ("Don't save last used ROM", MA_OPT2_NO_LAST_ROM, currentConfig.EmuOpt, EOPT_NO_AUTOSVCFG),\r
mee_onoff ("Disable idle loop patching",MA_OPT2_NO_IDLE_LOOPS,PicoOpt, POPT_DIS_IDLE_DET),\r
+ mee_onoff ("Disable frame limiter", MA_OPT2_NO_FRAME_LIMIT,currentConfig.EmuOpt, EOPT_NO_FRMLIMIT),\r
MENU_GP2X_OPTIONS_ADV\r
mee_end,\r
};\r
mee_cust ("Confirm savestate", MA_OPT_CONFIRM_STATES,mh_opt_misc, mgn_opt_c_saves),\r
mee_range (cpu_clk_name, MA_OPT_CPU_CLOCKS, currentConfig.CPUclock, 20, 900),\r
mee_handler ("[Display options]", menu_loop_gfx_options),\r
- mee_handler ("[Advanced options]", menu_loop_adv_options),\r
mee_handler ("[Sega/Mega CD options]", menu_loop_cd_options),\r
+ mee_handler ("[Advanced options]", menu_loop_adv_options),\r
mee_handler_mkname_id(MA_OPT_SAVECFG, mh_saveloadcfg, mgn_savecfg),\r
mee_handler_id("Save cfg for current game only", MA_OPT_SAVECFG_GAME, mh_saveloadcfg),\r
mee_handler_mkname_id(MA_OPT_LOADCFG, mh_saveloadcfg, mgn_loadcfg),\r
\r
static int mh_tray_load_cd(menu_id id, int keys)\r
{\r
- cd_img_type cd_type;\r
char *ret_name;\r
- int ret = -1;\r
\r
ret_name = romsel_run();\r
if (ret_name == NULL)\r
return 0;\r
\r
- cd_type = emu_cd_check(NULL, ret_name);\r
- if (cd_type != CIT_NOT_CD)\r
- ret = Insert_CD(ret_name, cd_type);\r
- if (ret != 0) {\r
- me_update_msg("Load failed, invalid CD image?");\r
- return 0;\r
- }\r
-\r
engineState = PGS_RestartRun;\r
- return 1;\r
+ return emu_swap_cd(ret_name);\r
}\r
\r
static int mh_tray_nothing(menu_id id, int keys)\r
mee_label (""),\r
mee_handler("Load CD image", mh_tray_load_cd),\r
mee_handler("Insert nothing", mh_tray_nothing),\r
+ mee_end,\r
};\r
\r
int menu_loop_tray(void)\r
\r
if (!is_wiz) {\r
me_enable(e_menu_gfx_options, MA_OPT_TEARING_FIX, 0);\r
+ i = me_id2offset(e_menu_gfx_options, MA_OPT_TEARING_FIX);\r
+ e_menu_gfx_options[i].need_to_save = 0;\r
return;\r
}\r
\r
\r
i = me_id2offset(e_menu_gfx_options, MA_OPT_SCALING);\r
e_menu_gfx_options[i].max = 1; /* only off and sw */\r
+ i = me_id2offset(e_menu_gfx_options, MA_OPT_ARM940_SOUND);\r
+ e_menu_gfx_options[i].need_to_save = 0;\r
}\r
\r
/* TODO: rename */\r