diff --git a/driver.h b/driver.h index 0171cb076c..db451704d2 100644 --- a/driver.h +++ b/driver.h @@ -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 diff --git a/griffin/griffin.c b/griffin/griffin.c index c9f2f77d2a..8c3cfe37b8 100644 --- a/griffin/griffin.c +++ b/griffin/griffin.c @@ -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 diff --git a/retroarch.c b/retroarch.c index ce7003533f..e703327462 100644 --- a/retroarch.c +++ b/retroarch.c @@ -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) {