Merge branch 'master' of github.com:libretro/RetroArch

This commit is contained in:
Alcaro 2014-09-20 00:08:56 +02:00
commit ef4fbc752d
3 changed files with 13 additions and 24 deletions

View File

@ -672,14 +672,14 @@ extern menu_ctx_driver_backend_t menu_ctx_backend_lakka;
#define check_oneshot_func(trigger_input) check_oneshot(BIND_PRESSED(trigger_input, RARCH_FRAMEADVANCE), BIND_PRESSED(trigger_input, RARCH_REWIND))
#define check_slowmotion_func(input) check_slowmotion(BIND_PRESSED(input, RARCH_SLOWMOTION))
#define check_shader_dir_func(trigger_input) check_shader_dir(BIND_PRESSED(trigger_input, RARCH_SHADER_NEXT), BIND_PRESSED(trigger_input, RARCH_SHADER_PREV))
#define check_enter_menu_func(input, old_input) check_enter_menu(BIND_PRESSED(input, RARCH_MENU_TOGGLE), BIND_PRESSED(old_input, RARCH_MENU_TOGGLE))
#define check_enter_menu_func(input) BIND_PRESSED(input, RARCH_MENU_TOGGLE)
#define check_mute_func(input, old_input) check_mute(BIND_PRESSED(input, RARCH_MUTE), BIND_PRESSED(old_input, RARCH_MUTE))
#define check_volume_func(input, old_input) check_volume(BIND_PRESSED(input, RARCH_VOLUME_UP), BIND_PRESSED(old_input, RARCH_VOLUME_DOWN))
#define check_fullscreen_func(trigger_input) rarch_check_fullscreen(BIND_PRESSED(trigger_input, RARCH_FULLSCREEN_TOGGLE_KEY))
#define check_fast_forward_button_func(input, old_input, trigger_input) check_fast_forward_button(BIND_PRESSED(trigger_input, RARCH_FAST_FORWARD_KEY), BIND_PRESSED(input, RARCH_FAST_FORWARD_HOLD_KEY), BIND_PRESSED(old_input, RARCH_FAST_FORWARD_HOLD_KEY))
#define check_rewind_func(input) check_rewind(BIND_PRESSED(input, RARCH_REWIND))
#define check_stateslots_func(trigger_input) check_stateslots(BIND_PRESSED(trigger_input, RARCH_STATE_SLOT_PLUS), BIND_PRESSED(trigger_input, RARCH_STATE_SLOT_MINUS))
#define check_pause_func(input, old_input) check_pause(BIND_PRESSED(input, RARCH_PAUSE_TOGGLE), BIND_PRESSED(old_input, RARCH_PAUSE_TOGGLE), BIND_PRESSED(input, RARCH_FRAMEADVANCE))
#define check_pause_func(input) check_pause(BIND_PRESSED(input, RARCH_PAUSE_TOGGLE), BIND_PRESSED(input, RARCH_FRAMEADVANCE))
#define check_quit_key_func(input) BIND_PRESSED(input, RARCH_QUIT_KEY)
#ifdef __cplusplus

View File

@ -663,6 +663,7 @@ MENU
#ifdef HAVE_LAKKA
#include "../frontend/menu/backend/menu_lakka_backend.c"
#include "../frontend/menu/disp/lakka.c"
#include "../frontend/menu/disp/tween.c"
#endif
#ifdef HAVE_GLUI

View File

@ -2398,9 +2398,7 @@ static bool check_movie(void)
return check_movie_record();
}
static void check_pause(
bool new_state, bool old_state,
bool frameadvance_pressed)
static void check_pause(bool pressed, bool frameadvance_pressed)
{
static bool old_focus = true;
bool focus = true;
@ -2408,12 +2406,12 @@ static void check_pause(
bool has_set_audio_start = false;
/* FRAMEADVANCE will set us into pause mode. */
new_state |= !g_extern.is_paused && frameadvance_pressed;
pressed |= !g_extern.is_paused && frameadvance_pressed;
if (g_settings.pause_nonactive)
focus = driver.video->focus(driver.video_data);
if (focus && new_state && !old_state)
if (focus && pressed)
{
g_extern.is_paused = !g_extern.is_paused;
@ -2838,7 +2836,7 @@ static bool do_state_checks(
return true;
}
#endif
check_pause_func(input, old_input);
check_pause_func(trigger_input);
check_oneshot_func(trigger_input);
@ -3120,21 +3118,6 @@ error:
return 1;
}
static bool check_enter_menu(bool pressed, bool old_pressed)
{
bool rmenu_toggle = pressed || (g_extern.libretro_dummy && !old_pressed);
if (rmenu_toggle && !old_pressed)
{
/* Always go into menu if dummy core is loaded. */
rarch_main_set_state(RARCH_ACTION_STATE_MENU_PREINIT);
g_extern.system.frame_time_last = 0;
return true;
}
return false;
}
static inline void update_frame_time(void)
{
retro_time_t time = 0;
@ -3615,8 +3598,13 @@ bool rarch_main_iterate(void)
if (check_quit_key_func(input) || !driver.video->alive(driver.video_data))
return false;
if (check_enter_menu_func(input, old_input))
if (check_enter_menu_func(trigger_input) || (g_extern.libretro_dummy))
{
/* Always go into menu if dummy core is loaded. */
rarch_main_set_state(RARCH_ACTION_STATE_MENU_PREINIT);
g_extern.system.frame_time_last = 0;
return false; /* Enter menu, don't exit. */
}
if (g_extern.exec)
{