(RARCH_CONSOLE) Refactor ingame_menu.enable variable

This commit is contained in:
twinaphex 2013-01-10 20:29:07 +01:00
parent 3c8bb7333e
commit b5e82dae59
7 changed files with 17 additions and 14 deletions

View File

@ -73,6 +73,7 @@ enum
MODE_INIT,
MODE_MENU,
MODE_MENU_PREINIT,
MODE_MENU_INGAME,
MODE_MENU_DRAW,
MODE_EXIT,
MODE_LOAD_FIRST_SHADER,

View File

@ -87,7 +87,7 @@ void rarch_settings_change(unsigned setting)
}
break;
case S_QUIT:
g_extern.console.rmenu.state.ingame_menu.enable = false;
g_extern.lifecycle_menu_state &= ~(1 << MODE_MENU_INGAME);
g_extern.lifecycle_menu_state = (1 << MODE_EXIT);
break;
case S_QUIT_RARCH:

View File

@ -2031,9 +2031,9 @@ int ingame_menu_screenshot(void *data, void *state)
g_extern.lifecycle_menu_state &= ~(1 << MODE_MENU_DRAW);
if(g_extern.console.rmenu.state.ingame_menu.enable)
if (g_extern.lifecycle_menu_state & (1 << MODE_MENU_INGAME))
{
if(input & (1ULL << RMENU_DEVICE_NAV_A))
if (input & (1ULL << RMENU_DEVICE_NAV_A))
{
menu_stack_pop();
g_extern.lifecycle_menu_state |= (1 << MODE_MENU_DRAW);
@ -2425,7 +2425,7 @@ bool rmenu_iterate(void)
if (g_extern.lifecycle_menu_state & (1 << MODE_MENU_PREINIT))
{
if(g_extern.console.rmenu.state.ingame_menu.enable)
if (g_extern.lifecycle_menu_state & (1 << MODE_MENU_INGAME))
menu_stack_push(INGAME_MENU);
menu_stack_force_refresh();
@ -2506,11 +2506,11 @@ deinit:
if (!(g_extern.lifecycle_state & (1ULL << RARCH_FRAMEADVANCE)))
g_extern.delay_timer[0] = g_extern.frame_count + 30;
if(g_extern.console.rmenu.state.ingame_menu.enable)
if (g_extern.lifecycle_menu_state & (1 << MODE_MENU_INGAME))
menu_stack_pop();
g_extern.lifecycle_menu_state &= ~(1 << MODE_MENU_DRAW);
g_extern.console.rmenu.state.ingame_menu.enable = false;
g_extern.lifecycle_menu_state &= ~(1 << MODE_MENU_INGAME);
device_ptr->ctx_driver->rmenu_free();

View File

@ -266,7 +266,7 @@ deinit:
g_extern.delay_timer[0] = g_extern.frame_count + 30;
g_extern.lifecycle_menu_state &= ~(1 << MODE_MENU_DRAW);
g_extern.console.rmenu.state.ingame_menu.enable = false;
g_extern.lifecycle_menu_state &= ~(1 << MODE_MENU_INGAME);
return false;
}

View File

@ -1237,7 +1237,7 @@ deinit:
if(!(g_extern.lifecycle_state & (1ULL << RARCH_FRAMEADVANCE)))
g_extern.delay_timer[0] = g_extern.frame_count + 30;
g_extern.console.rmenu.state.ingame_menu.enable = false;
g_extern.lifecycle_menu_state &= ~(1 << MODE_MENU_INGAME);
g_extern.lifecycle_menu_state &= ~(1 << MODE_MENU_DRAW);
return false;

View File

@ -484,7 +484,6 @@ struct global
{
rarch_boolean_state_t msg_fps;
rarch_boolean_state_t msg_info;
rarch_boolean_state_t ingame_menu;
rarch_boolean_state_t rmenu_widescreen;
rarch_boolean_state_t rmenu_hd;
} state;

View File

@ -2793,11 +2793,13 @@ bool rarch_main_iterate(void)
{
#ifdef HAVE_RMENU
bool rmenu_enable = input_key_pressed_func(RARCH_RMENU_TOGGLE);
g_extern.console.rmenu.state.ingame_menu.enable = input_key_pressed_func(RARCH_RMENU_QUICKMENU_TOGGLE);
if (input_key_pressed_func(RARCH_RMENU_QUICKMENU_TOGGLE))
g_extern.lifecycle_menu_state |= (1 << MODE_MENU_INGAME);
if (rmenu_enable || (g_extern.console.rmenu.state.ingame_menu.enable && !rmenu_enable))
if (rmenu_enable || ((g_extern.lifecycle_menu_state & (1 << MODE_MENU_INGAME)) && !rmenu_enable))
{
g_extern.lifecycle_menu_state = (1 << MODE_MENU);
g_extern.lifecycle_menu_state &= ~(1 << MODE_EMULATION);
g_extern.lifecycle_menu_state |= (1 << MODE_MENU);
g_extern.delay_timer[0] = g_extern.frame_count + 30;
}
#endif
@ -2848,8 +2850,9 @@ bool rarch_main_iterate(void)
if (input_key_pressed_func(RARCH_FRAMEADVANCE))
{
g_extern.lifecycle_state &= ~(1ULL << RARCH_FRAMEADVANCE);
g_extern.console.rmenu.state.ingame_menu.enable = true;
g_extern.lifecycle_menu_state = (1 << MODE_MENU);
g_extern.lifecycle_menu_state &= ~(1 << MODE_EMULATION);
g_extern.lifecycle_menu_state |= (1 << MODE_MENU);
g_extern.lifecycle_menu_state |= (1 << MODE_MENU_INGAME);
return false;
}
#endif