(GX) Shows 'ingame menu' options now

This commit is contained in:
twinaphex 2013-01-06 23:45:09 +01:00
parent 9290207ede
commit 1a48a5522d
2 changed files with 18 additions and 38 deletions

View File

@ -794,7 +794,7 @@ static void rgui_settings_populate_entries(rgui_handle_t *rgui)
{
rgui_list_clear(rgui->folder_buf);
if (g_extern.console.rmenu.state.ingame_menu.enable)
if (g_extern.main_is_init)
{
RGUI_MENU_ITEM("Save State", RGUI_SETTINGS_SAVESTATE_SAVE);
RGUI_MENU_ITEM("Load State", RGUI_SETTINGS_SAVESTATE_LOAD);

View File

@ -433,6 +433,9 @@ static void gx_input_poll(void *data)
}
do_exit:
g_extern.lifecycle_state &= ~((1ULL << RARCH_FAST_FORWARD_HOLD_KEY) | (1ULL << RARCH_LOAD_STATE_KEY) | (1ULL << RARCH_SAVE_STATE_KEY) | (1ULL << RARCH_STATE_SLOT_PLUS) | (1ULL << RARCH_STATE_SLOT_MINUS) | (1ULL << RARCH_REWIND)
| (1ULL << RARCH_QUIT_KEY) | (1ULL << RARCH_RMENU_TOGGLE) | (1ULL << RARCH_RMENU_QUICKMENU_TOGGLE));
if (g_menu)
{
pad_state[0] |= GX_WIIMOTE_HOME;
@ -444,47 +447,24 @@ do_exit:
pad_state[0] |= GX_QUIT_KEY;
g_quit = false;
}
if (pad_state[0] & GX_QUIT_KEY)
g_extern.lifecycle_state |= (1ULL << RARCH_QUIT_KEY);
if (pad_state[0] & (GX_WIIMOTE_HOME
#ifdef HW_RVL
| GX_CLASSIC_HOME
#endif
))
{
g_extern.lifecycle_state |= (1ULL << RARCH_RMENU_TOGGLE);
g_extern.lifecycle_state |= (1ULL << RARCH_QUIT_KEY);
}
}
static bool gx_input_key_pressed(void *data, int key)
{
(void)data;
switch (key)
{
case RARCH_QUIT_KEY:
if(IS_TIMER_EXPIRED(0))
{
uint64_t goto_menu_pressed = pad_state[0] & (GX_WIIMOTE_HOME
#ifdef HW_RVL
| GX_CLASSIC_HOME
#endif
);
uint64_t quit_rarch = pad_state[0] & GX_QUIT_KEY;
bool retval = false;
bool rmenu_enable = ((quit_rarch || goto_menu_pressed));
if(rmenu_enable)
{
g_extern.console.rmenu.mode = MODE_MENU;
g_extern.console.rmenu.state.ingame_menu.enable = true;
SET_TIMER_EXPIRATION(0, 30);
}
if(quit_rarch)
g_extern.console.rmenu.mode = MODE_EXIT;
retval = rmenu_enable;
return retval;
}
return false;
break;
case RARCH_RMENU_QUICKMENU_TOGGLE:
return pad_state[0] & GX_WIIMOTE_HOME;
break;
default:
return false;
}
return (g_extern.lifecycle_state & (1ULL << key));
}
static void gx_set_default_keybind_lut(unsigned device, unsigned port)