notaz.gp2x.de
/
picodrive.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
update for recent /gp2x changes
[picodrive.git]
/
platform
/
common
/
menu.c
diff --git
a/platform/common/menu.c
b/platform/common/menu.c
index
412dbc2
..
d8dd50c
100644
(file)
--- a/
platform/common/menu.c
+++ b/
platform/common/menu.c
@@
-262,14
+262,17
@@
void menu_init(void)
}
\r
\r
// load custom font and selector (stored as 1st symbol in font table)
\r
}
\r
\r
// load custom font and selector (stored as 1st symbol in font table)
\r
- readpng(menu_font_data, "skin/font.png", READPNG_FONT);
\r
+ emu_make_path(buff, "skin/font.png", sizeof(buff));
\r
+ readpng(menu_font_data, buff, READPNG_FONT);
\r
// default selector symbol is '>'
\r
memcpy(menu_font_data, menu_font_data + ((int)'>') * me_mfont_w * me_mfont_h / 2,
\r
me_mfont_w * me_mfont_h / 2);
\r
// default selector symbol is '>'
\r
memcpy(menu_font_data, menu_font_data + ((int)'>') * me_mfont_w * me_mfont_h / 2,
\r
me_mfont_w * me_mfont_h / 2);
\r
- readpng(menu_font_data, "skin/selector.png", READPNG_SELECTOR);
\r
+ emu_make_path(buff, "skin/selector.png", sizeof(buff));
\r
+ readpng(menu_font_data, buff, READPNG_SELECTOR);
\r
\r
// load custom colors
\r
\r
// load custom colors
\r
- f = fopen("skin/skin.txt", "r");
\r
+ emu_make_path(buff, "skin/skin.txt", sizeof(buff));
\r
+ f = fopen(buff, "r");
\r
if (f != NULL)
\r
{
\r
lprintf("found skin.txt\n");
\r
if (f != NULL)
\r
{
\r
lprintf("found skin.txt\n");
\r
@@
-328,7
+331,7
@@
static void me_draw(const menu_entry *entries, int sel)
{
\r
const menu_entry *ent;
\r
int x, y, w = 0, h = 0;
\r
{
\r
const menu_entry *ent;
\r
int x, y, w = 0, h = 0;
\r
- int offs,
opt
_offs = 27 * me_mfont_w;
\r
+ int offs,
col2
_offs = 27 * me_mfont_w;
\r
const char *name;
\r
int asel = 0;
\r
int i, n;
\r
const char *name;
\r
int asel = 0;
\r
int i, n;
\r
@@
-353,9
+356,9
@@
static void me_draw(const menu_entry *entries, int sel)
\r
if (ent->beh != MB_NONE)
\r
{
\r
\r
if (ent->beh != MB_NONE)
\r
{
\r
- if (wt >
opt
_offs)
\r
-
opt
_offs = wt + me_mfont_w;
\r
- wt =
opt
_offs;
\r
+ if (wt >
col2
_offs)
\r
+
col2
_offs = wt + me_mfont_w;
\r
+ wt =
col2
_offs;
\r
\r
switch (ent->beh) {
\r
case MB_NONE: break;
\r
\r
switch (ent->beh) {
\r
case MB_NONE: break;
\r
@@
-415,10
+418,10
@@
static void me_draw(const menu_entry *entries, int sel)
case MB_NONE:
\r
break;
\r
case MB_OPT_ONOFF:
\r
case MB_NONE:
\r
break;
\r
case MB_OPT_ONOFF:
\r
- text_out16(x +
opt
_offs, y, (*(int *)ent->var & ent->mask) ? "ON" : "OFF");
\r
+ text_out16(x +
col2
_offs, y, (*(int *)ent->var & ent->mask) ? "ON" : "OFF");
\r
break;
\r
case MB_OPT_RANGE:
\r
break;
\r
case MB_OPT_RANGE:
\r
- text_out16(x +
opt
_offs, y, "%i", *(int *)ent->var);
\r
+ text_out16(x +
col2
_offs, y, "%i", *(int *)ent->var);
\r
break;
\r
case MB_OPT_CUSTOM:
\r
case MB_OPT_CUSTONOFF:
\r
break;
\r
case MB_OPT_CUSTOM:
\r
case MB_OPT_CUSTONOFF:
\r
@@
-428,7
+431,7
@@
static void me_draw(const menu_entry *entries, int sel)
if (ent->generate_name)
\r
name = ent->generate_name(ent->id, &offs);
\r
if (name != NULL)
\r
if (ent->generate_name)
\r
name = ent->generate_name(ent->id, &offs);
\r
if (name != NULL)
\r
- text_out16(x +
opt
_offs + offs * me_mfont_w, y, "%s", name);
\r
+ text_out16(x +
col2
_offs + offs * me_mfont_w, y, "%s", name);
\r
break;
\r
}
\r
\r
break;
\r
}
\r
\r
@@
-949,7
+952,7
@@
static void state_check_slots(void)
state_slot_flags = 0;
\r
\r
for (slot = 0; slot < 10; slot++) {
\r
state_slot_flags = 0;
\r
\r
for (slot = 0; slot < 10; slot++) {
\r
- if (emu_check
SaveF
ile(slot))
\r
+ if (emu_check
_save_f
ile(slot))
\r
state_slot_flags |= 1 << slot;
\r
}
\r
}
\r
state_slot_flags |= 1 << slot;
\r
}
\r
}
\r
@@
-962,7
+965,7
@@
static void draw_savestate_bg(int slot)
void *tmp_vram, *file;
\r
char *fname;
\r
\r
void *tmp_vram, *file;
\r
char *fname;
\r
\r
- fname = emu_
GetSaveFN
ame(1, 0, slot);
\r
+ fname = emu_
get_save_fn
ame(1, 0, slot);
\r
if (!fname) return;
\r
\r
tmp_vram = malloc(sizeof(Pico.vram));
\r
if (!fname) return;
\r
\r
tmp_vram = malloc(sizeof(Pico.vram));
\r
@@
-1067,7
+1070,7
@@
static int menu_loop_savestate(int is_loading)
if (inp & PBTN_MOK) { // save/load
\r
if (menu_sel < 10) {
\r
state_slot = menu_sel;
\r
if (inp & PBTN_MOK) { // save/load
\r
if (menu_sel < 10) {
\r
state_slot = menu_sel;
\r
- if (emu_
SaveLoadG
ame(is_loading, 0)) {
\r
+ if (emu_
save_load_g
ame(is_loading, 0)) {
\r
me_update_msg(is_loading ? "Load failed" : "Save failed");
\r
return 0;
\r
}
\r
me_update_msg(is_loading ? "Load failed" : "Save failed");
\r
return 0;
\r
}
\r
@@
-1084,8
+1087,8
@@
static int menu_loop_savestate(int is_loading)
\r
static char *action_binds(int player_idx, int action_mask, int dev_id)
\r
{
\r
\r
static char *action_binds(int player_idx, int action_mask, int dev_id)
\r
{
\r
+ int k, count, can_combo, type;
\r
const int *binds;
\r
const int *binds;
\r
- int k, count;
\r
\r
static_buff[0] = 0;
\r
\r
\r
static_buff[0] = 0;
\r
\r
@@
-1094,21
+1097,30
@@
static char *action_binds(int player_idx, int action_mask, int dev_id)
return static_buff;
\r
\r
count = in_get_dev_info(dev_id, IN_INFO_BIND_COUNT);
\r
return static_buff;
\r
\r
count = in_get_dev_info(dev_id, IN_INFO_BIND_COUNT);
\r
+ can_combo = in_get_dev_info(dev_id, IN_INFO_DOES_COMBOS);
\r
+
\r
+ type = IN_BINDTYPE_EMU;
\r
+ if (player_idx >= 0) {
\r
+ can_combo = 0;
\r
+ type = IN_BINDTYPE_PLAYER12;
\r
+ }
\r
+ if (player_idx == 1)
\r
+ action_mask <<= 16;
\r
+
\r
for (k = 0; k < count; k++)
\r
{
\r
const char *xname;
\r
int len;
\r
for (k = 0; k < count; k++)
\r
{
\r
const char *xname;
\r
int len;
\r
- if (!(binds[k] & action_mask))
\r
- continue;
\r
\r
\r
- if (
player_idx >= 0 && ((binds[k] >> 16) & 3) != player_idx
)
\r
+ if (
!(binds[IN_BIND_OFFS(k, type)] & action_mask)
)
\r
continue;
\r
\r
xname = in_get_key_name(dev_id, k);
\r
len = strlen(static_buff);
\r
if (len) {
\r
continue;
\r
\r
xname = in_get_key_name(dev_id, k);
\r
len = strlen(static_buff);
\r
if (len) {
\r
- strncat(static_buff, " + ", sizeof(static_buff) - len - 1);
\r
- len += 3;
\r
+ strncat(static_buff, can_combo ? " + " : ", ",
\r
+ sizeof(static_buff) - len - 1);
\r
+ len += can_combo ? 3 : 2;
\r
}
\r
strncat(static_buff, xname, sizeof(static_buff) - len - 1);
\r
}
\r
}
\r
strncat(static_buff, xname, sizeof(static_buff) - len - 1);
\r
}
\r
@@
-1116,7
+1128,7
@@
static char *action_binds(int player_idx, int action_mask, int dev_id)
return static_buff;
\r
}
\r
\r
return static_buff;
\r
}
\r
\r
-static int count_bound_keys(int dev_id, int action_mask, int
player_idx
)
\r
+static int count_bound_keys(int dev_id, int action_mask, int
bindtype
)
\r
{
\r
const int *binds;
\r
int k, keys = 0;
\r
{
\r
const int *binds;
\r
int k, keys = 0;
\r
@@
-1129,13
+1141,8
@@
static int count_bound_keys(int dev_id, int action_mask, int player_idx)
count = in_get_dev_info(dev_id, IN_INFO_BIND_COUNT);
\r
for (k = 0; k < count; k++)
\r
{
\r
count = in_get_dev_info(dev_id, IN_INFO_BIND_COUNT);
\r
for (k = 0; k < count; k++)
\r
{
\r
- if (!(binds[k] & action_mask))
\r
- continue;
\r
-
\r
- if (player_idx >= 0 && ((binds[k] >> 16) & 3) != player_idx)
\r
- continue;
\r
-
\r
- keys++;
\r
+ if (binds[IN_BIND_OFFS(k, bindtype)] & action_mask)
\r
+ keys++;
\r
}
\r
\r
return keys;
\r
}
\r
\r
return keys;
\r
@@
-1144,6
+1151,7
@@
static int count_bound_keys(int dev_id, int action_mask, int player_idx)
static void draw_key_config(const me_bind_action *opts, int opt_cnt, int player_idx,
\r
int sel, int dev_id, int dev_count, int is_bind)
\r
{
\r
static void draw_key_config(const me_bind_action *opts, int opt_cnt, int player_idx,
\r
int sel, int dev_id, int dev_count, int is_bind)
\r
{
\r
+ char buff[64], buff2[32];
\r
const char *dev_name;
\r
int x, y, w, i;
\r
\r
const char *dev_name;
\r
int x, y, w, i;
\r
\r
@@
-1175,15
+1183,19
@@
static void draw_key_config(const me_bind_action *opts, int opt_cnt, int player_
\r
x = g_screen_width / 2 - w / 2;
\r
\r
\r
x = g_screen_width / 2 - w / 2;
\r
\r
- if (dev_count > 1) {
\r
- text_out16(x, g_screen_height - 4 * me_mfont_h, "Viewing binds for:");
\r
- text_out16(x, g_screen_height - 3 * me_mfont_h, dev_name);
\r
+ if (!is_bind) {
\r
+ snprintf(buff2, sizeof(buff2), "%s", in_get_key_name(-1, -PBTN_MOK));
\r
+ snprintf(buff, sizeof(buff), "%s - bind, %s - clear", buff2,
\r
+ in_get_key_name(-1, -PBTN_MA2));
\r
+ text_out16(x, g_screen_height - 4 * me_mfont_h, buff);
\r
}
\r
}
\r
+ else
\r
+ text_out16(x, g_screen_height - 4 * me_mfont_h, "Press a button to bind/unbind");
\r
\r
\r
- if (is_bind)
\r
- text_out16(x, g_screen_height - 2 * me_mfont_h, "Press a button to bind/unbind");
\r
- else if (dev_count > 1)
\r
+ if (dev_count > 1) {
\r
+ text_out16(x, g_screen_height - 3 * me_mfont_h, dev_name);
\r
text_out16(x, g_screen_height - 2 * me_mfont_h, "Press left/right for other devs");
\r
text_out16(x, g_screen_height - 2 * me_mfont_h, "Press left/right for other devs");
\r
+ }
\r
\r
plat_video_menu_end();
\r
}
\r
\r
plat_video_menu_end();
\r
}
\r
@@
-1191,7
+1203,8
@@
static void draw_key_config(const me_bind_action *opts, int opt_cnt, int player_
static void key_config_loop(const me_bind_action *opts, int opt_cnt, int player_idx)
\r
{
\r
int i, sel = 0, menu_sel_max = opt_cnt - 1;
\r
static void key_config_loop(const me_bind_action *opts, int opt_cnt, int player_idx)
\r
{
\r
int i, sel = 0, menu_sel_max = opt_cnt - 1;
\r
- int dev_id, dev_count, kc, is_down, mkey, unbind;
\r
+ int dev_id, dev_count, kc, is_down, mkey;
\r
+ int unbind, bindtype, mask_shift;
\r
\r
for (i = 0, dev_id = -1, dev_count = 0; i < IN_MAX_DEVS; i++) {
\r
if (in_get_dev_name(i, 1, 0) != NULL) {
\r
\r
for (i = 0, dev_id = -1, dev_count = 0; i < IN_MAX_DEVS; i++) {
\r
if (in_get_dev_name(i, 1, 0) != NULL) {
\r
@@
-1206,10
+1219,15
@@
static void key_config_loop(const me_bind_action *opts, int opt_cnt, int player_
return;
\r
}
\r
\r
return;
\r
}
\r
\r
+ mask_shift = 0;
\r
+ if (player_idx == 1)
\r
+ mask_shift = 16;
\r
+ bindtype = player_idx >= 0 ? IN_BINDTYPE_PLAYER12 : IN_BINDTYPE_EMU;
\r
+
\r
for (;;)
\r
{
\r
draw_key_config(opts, opt_cnt, player_idx, sel, dev_id, dev_count, 0);
\r
for (;;)
\r
{
\r
draw_key_config(opts, opt_cnt, player_idx, sel, dev_id, dev_count, 0);
\r
- mkey = in_menu_wait(PBTN_UP|PBTN_DOWN|PBTN_LEFT|PBTN_RIGHT|PBTN_MBACK|PBTN_MOK, 100);
\r
+ mkey = in_menu_wait(PBTN_UP|PBTN_DOWN|PBTN_LEFT|PBTN_RIGHT|PBTN_MBACK|PBTN_MOK
|PBTN_MA2
, 100);
\r
switch (mkey) {
\r
case PBTN_UP: sel--; if (sel < 0) sel = menu_sel_max; continue;
\r
case PBTN_DOWN: sel++; if (sel > menu_sel_max) sel = 0; continue;
\r
switch (mkey) {
\r
case PBTN_UP: sel--; if (sel < 0) sel = menu_sel_max; continue;
\r
case PBTN_DOWN: sel++; if (sel > menu_sel_max) sel = 0; continue;
\r
@@
-1235,6
+1253,9
@@
static void key_config_loop(const me_bind_action *opts, int opt_cnt, int player_
return;
\r
while (in_menu_wait_any(30) & PBTN_MOK);
\r
break;
\r
return;
\r
while (in_menu_wait_any(30) & PBTN_MOK);
\r
break;
\r
+ case PBTN_MA2:
\r
+ in_unbind_all(dev_id, opts[sel].mask << mask_shift, bindtype);
\r
+ continue;
\r
default:continue;
\r
}
\r
\r
default:continue;
\r
}
\r
\r
@@
-1244,19
+1265,15
@@
static void key_config_loop(const me_bind_action *opts, int opt_cnt, int player_
for (is_down = 1; is_down; )
\r
kc = in_update_keycode(&dev_id, &is_down, -1);
\r
\r
for (is_down = 1; is_down; )
\r
kc = in_update_keycode(&dev_id, &is_down, -1);
\r
\r
- i = count_bound_keys(dev_id, opts[sel].mask
, player_idx
);
\r
+ i = count_bound_keys(dev_id, opts[sel].mask
<< mask_shift, bindtype
);
\r
unbind = (i > 0);
\r
\r
/* allow combos if device supports them */
\r
unbind = (i > 0);
\r
\r
/* allow combos if device supports them */
\r
- if (i == 1 && in_get_dev_info(dev_id, IN_INFO_DOES_COMBOS))
\r
+ if (i == 1 && bindtype == IN_BINDTYPE_EMU &&
\r
+ in_get_dev_info(dev_id, IN_INFO_DOES_COMBOS))
\r
unbind = 0;
\r
\r
unbind = 0;
\r
\r
- in_bind_key(dev_id, kc, opts[sel].mask, unbind);
\r
- if (player_idx >= 0) {
\r
- /* FIXME */
\r
- in_bind_key(dev_id, kc, 3 << 16, 1);
\r
- in_bind_key(dev_id, kc, player_idx << 16, 0);
\r
- }
\r
+ in_bind_key(dev_id, kc, opts[sel].mask << mask_shift, bindtype, unbind);
\r
}
\r
}
\r
\r
}
\r
}
\r
\r
@@
-1280,10
+1297,6
@@
me_bind_action me_ctrl_actions[15] =
{ "Z ", 0x0100 }
\r
};
\r
\r
{ "Z ", 0x0100 }
\r
};
\r
\r
-// player2_flag, reserved, ?, ?,
\r
-// ?, ?, fast forward, menu
\r
-// "NEXT SAVE SLOT", "PREV SAVE SLOT", "SWITCH RENDERER", "SAVE STATE",
\r
-// "LOAD STATE", "VOLUME UP", "VOLUME DOWN", "DONE"
\r
me_bind_action emuctrl_actions[] =
\r
{
\r
{ "Load State ", PEV_STATE_LOAD },
\r
me_bind_action emuctrl_actions[] =
\r
{
\r
{ "Load State ", PEV_STATE_LOAD },
\r
@@
-1364,6
+1377,8
@@
static menu_entry e_menu_keyconfig[] =
static int menu_loop_keyconfig(menu_id id, int keys)
\r
{
\r
static int sel = 0;
\r
static int menu_loop_keyconfig(menu_id id, int keys)
\r
{
\r
static int sel = 0;
\r
+
\r
+ me_enable(e_menu_keyconfig, MA_OPT_SAVECFG_GAME, rom_loaded);
\r
me_loop(e_menu_keyconfig, &sel);
\r
return 0;
\r
}
\r
me_loop(e_menu_keyconfig, &sel);
\r
return 0;
\r
}
\r
@@
-1418,7
+1433,7
@@
static int menu_loop_cd_options(menu_id id, int keys)
\r
static menu_entry e_menu_adv_options[] =
\r
{
\r
\r
static menu_entry e_menu_adv_options[] =
\r
{
\r
- mee_onoff ("SRAM/BRAM saves", MA_OPT_SRAM_STATES, currentConfig.EmuOpt, EOPT_
USE
_SRAM),
\r
+ mee_onoff ("SRAM/BRAM saves", MA_OPT_SRAM_STATES, currentConfig.EmuOpt, EOPT_
EN
_SRAM),
\r
mee_onoff ("Disable sprite limit", MA_OPT2_NO_SPRITE_LIM, PicoOpt, POPT_DIS_SPRITE_LIM),
\r
mee_onoff ("Use second CPU for sound", MA_OPT_ARM940_SOUND, PicoOpt, POPT_EXT_FM),
\r
mee_onoff ("Emulate Z80", MA_OPT2_ENABLE_Z80, PicoOpt, POPT_EN_Z80),
\r
mee_onoff ("Disable sprite limit", MA_OPT2_NO_SPRITE_LIM, PicoOpt, POPT_DIS_SPRITE_LIM),
\r
mee_onoff ("Use second CPU for sound", MA_OPT_ARM940_SOUND, PicoOpt, POPT_EXT_FM),
\r
mee_onoff ("Emulate Z80", MA_OPT2_ENABLE_Z80, PicoOpt, POPT_EN_Z80),
\r
@@
-1442,6
+1457,23
@@
static int menu_loop_adv_options(menu_id id, int keys)
\r
// ------------ gfx options menu ------------
\r
\r
\r
// ------------ gfx options menu ------------
\r
\r
+static int mh_opt_render(menu_id id, int keys)
\r
+{
\r
+ plat_video_toggle_renderer((keys & PBTN_RIGHT) ? 1 : 0, 1);
\r
+ return 0;
\r
+}
\r
+
\r
+static const char *mgn_opt_renderer(menu_id id, int *offs)
\r
+{
\r
+ *offs = -11;
\r
+ if (PicoOpt & POPT_ALT_RENDERER)
\r
+ return " 8bit fast";
\r
+ else if (currentConfig.EmuOpt & EOPT_16BPP)
\r
+ return "16bit accurate";
\r
+ else
\r
+ return " 8bit accurate";
\r
+}
\r
+
\r
static const char *mgn_opt_scaling(menu_id id, int *offs)
\r
{
\r
*offs = -13;
\r
static const char *mgn_opt_scaling(menu_id id, int *offs)
\r
{
\r
*offs = -13;
\r
@@
-1461,7
+1493,9
@@
static const char *mgn_aopt_gamma(menu_id id, int *offs)
\r
static menu_entry e_menu_gfx_options[] =
\r
{
\r
\r
static menu_entry e_menu_gfx_options[] =
\r
{
\r
+ mee_cust ("Renderer", MA_OPT_RENDERER, mh_opt_render, mgn_opt_renderer),
\r
mee_range_cust("Scaling", MA_OPT_SCALING, currentConfig.scaling, 0, 3, mgn_opt_scaling),
\r
mee_range_cust("Scaling", MA_OPT_SCALING, currentConfig.scaling, 0, 3, mgn_opt_scaling),
\r
+ mee_onoff ("Tearing Fix", MA_OPT_TEARING_FIX, currentConfig.EmuOpt, EOPT_WIZ_TEAR_FIX),
\r
mee_range_cust("Gamma correction", MA_OPT2_GAMMA, currentConfig.gamma, 1, 300, mgn_aopt_gamma),
\r
mee_onoff ("A_SN's gamma curve", MA_OPT2_A_SN_GAMMA, currentConfig.EmuOpt, EOPT_A_SN_GAMMA),
\r
mee_onoff ("Perfect vsync", MA_OPT2_VSYNC, currentConfig.EmuOpt, EOPT_PSYNC),
\r
mee_range_cust("Gamma correction", MA_OPT2_GAMMA, currentConfig.gamma, 1, 300, mgn_aopt_gamma),
\r
mee_onoff ("A_SN's gamma curve", MA_OPT2_A_SN_GAMMA, currentConfig.EmuOpt, EOPT_A_SN_GAMMA),
\r
mee_onoff ("Perfect vsync", MA_OPT2_VSYNC, currentConfig.EmuOpt, EOPT_PSYNC),
\r
@@
-1479,20
+1513,6
@@
static int menu_loop_gfx_options(menu_id id, int keys)
\r
static menu_entry e_menu_options[];
\r
\r
\r
static menu_entry e_menu_options[];
\r
\r
-/* TODO: move to plat */
\r
-static int mh_opt_render(menu_id id, int keys)
\r
-{
\r
- if (keys & PBTN_LEFT) {
\r
- if (PicoOpt&0x10) PicoOpt&= ~0x10;
\r
- else if (!(currentConfig.EmuOpt &0x80))currentConfig.EmuOpt |= 0x80;
\r
- } else {
\r
- if (PicoOpt&0x10) return 0;
\r
- else if (!(currentConfig.EmuOpt &0x80))PicoOpt|= 0x10;
\r
- else if ( currentConfig.EmuOpt &0x80) currentConfig.EmuOpt &= ~0x80;
\r
- }
\r
- return 0;
\r
-}
\r
-
\r
static int sndrate_prevnext(int rate, int dir)
\r
{
\r
static const int rates[] = { 8000, 11025, 16000, 22050, 44100 };
\r
static int sndrate_prevnext(int rate, int dir)
\r
{
\r
static const int rates[] = { 8000, 11025, 16000, 22050, 44100 };
\r
@@
-1587,14
+1607,14
@@
static int mh_saveloadcfg(menu_id id, int keys)
switch (id) {
\r
case MA_OPT_SAVECFG:
\r
case MA_OPT_SAVECFG_GAME:
\r
switch (id) {
\r
case MA_OPT_SAVECFG:
\r
case MA_OPT_SAVECFG_GAME:
\r
- if (emu_
WriteC
onfig(id == MA_OPT_SAVECFG_GAME ? 1 : 0))
\r
+ if (emu_
write_c
onfig(id == MA_OPT_SAVECFG_GAME ? 1 : 0))
\r
me_update_msg("config saved");
\r
else
\r
me_update_msg("failed to write config");
\r
break;
\r
case MA_OPT_LOADCFG:
\r
me_update_msg("config saved");
\r
else
\r
me_update_msg("failed to write config");
\r
break;
\r
case MA_OPT_LOADCFG:
\r
- ret = emu_
ReadC
onfig(1, 1);
\r
- if (!ret) ret = emu_
ReadC
onfig(0, 1);
\r
+ ret = emu_
read_c
onfig(1, 1);
\r
+ if (!ret) ret = emu_
read_c
onfig(0, 1);
\r
if (ret) me_update_msg("config loaded");
\r
else me_update_msg("failed to load config");
\r
break;
\r
if (ret) me_update_msg("config loaded");
\r
else me_update_msg("failed to load config");
\r
break;
\r
@@
-1605,15
+1625,11
@@
static int mh_saveloadcfg(menu_id id, int keys)
return 1;
\r
}
\r
\r
return 1;
\r
}
\r
\r
-static
const char *mgn_opt_renderer(menu_id id, int *off
s)
\r
+static
int mh_restore_defaults(menu_id id, int key
s)
\r
{
\r
{
\r
- *offs = -6;
\r
- if (PicoOpt & POPT_ALT_RENDERER)
\r
- return " 8bit fast";
\r
- else if (currentConfig.EmuOpt & 0x80)
\r
- return "16bit accurate";
\r
- else
\r
- return " 8bit accurate";
\r
+ emu_set_defconfig();
\r
+ me_update_msg("defaults restored");
\r
+ return 1;
\r
}
\r
\r
static const char *mgn_opt_fskip(menu_id id, int *offs)
\r
}
\r
\r
static const char *mgn_opt_fskip(menu_id id, int *offs)
\r
@@
-1688,9
+1704,8
@@
static menu_entry e_menu_options[] =
mee_range ("Save slot", MA_OPT_SAVE_SLOT, state_slot, 0, 9),
\r
mee_range_cust("Frameskip", MA_OPT_FRAMESKIP, currentConfig.Frameskip, -1, 16, mgn_opt_fskip),
\r
mee_cust ("Region", MA_OPT_REGION, mh_opt_misc, mgn_opt_region),
\r
mee_range ("Save slot", MA_OPT_SAVE_SLOT, state_slot, 0, 9),
\r
mee_range_cust("Frameskip", MA_OPT_FRAMESKIP, currentConfig.Frameskip, -1, 16, mgn_opt_fskip),
\r
mee_cust ("Region", MA_OPT_REGION, mh_opt_misc, mgn_opt_region),
\r
- mee_cust ("Renderer", MA_OPT_RENDERER, mh_opt_render, mgn_opt_renderer),
\r
- mee_onoff ("Show FPS", MA_OPT_SHOW_FPS, currentConfig.EmuOpt, 0x002),
\r
- mee_onoff ("Enable sound", MA_OPT_ENABLE_SOUND, currentConfig.EmuOpt, 0x004),
\r
+ mee_onoff ("Show FPS", MA_OPT_SHOW_FPS, currentConfig.EmuOpt, EOPT_SHOW_FPS),
\r
+ mee_onoff ("Enable sound", MA_OPT_ENABLE_SOUND, currentConfig.EmuOpt, EOPT_EN_SOUND),
\r
mee_cust ("Sound Quality", MA_OPT_SOUND_QUALITY, mh_opt_misc, mgn_opt_sound),
\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_cust ("Sound Quality", MA_OPT_SOUND_QUALITY, mh_opt_misc, mgn_opt_sound),
\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
@@
-1700,6
+1715,7
@@
static menu_entry e_menu_options[] =
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
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
+ mee_handler ("Restore defaults", mh_restore_defaults),
\r
mee_end,
\r
};
\r
\r
mee_end,
\r
};
\r
\r
@@
-1985,7
+2001,7
@@
static int mh_tray_load_cd(menu_id id, int keys)
if (ret_name == NULL)
\r
return 0;
\r
\r
if (ret_name == NULL)
\r
return 0;
\r
\r
- cd_type = emu_cd
C
heck(NULL, ret_name);
\r
+ cd_type = emu_cd
_c
heck(NULL, ret_name);
\r
if (cd_type != CIT_NOT_CD)
\r
ret = Insert_CD(ret_name, cd_type);
\r
if (ret != 0) {
\r
if (cd_type != CIT_NOT_CD)
\r
ret = Insert_CD(ret_name, cd_type);
\r
if (ret != 0) {
\r