mirror of
https://github.com/libretro/RetroArch
synced 2025-03-29 22:20:21 +00:00
Create RARCH_CMD_PAUSE_TOGGLE
This commit is contained in:
parent
35cda4b78b
commit
b3309d2132
@ -134,6 +134,7 @@ enum basic_event
|
||||
RARCH_CMD_RESTART_RETROARCH,
|
||||
RARCH_CMD_QUIT_RETROARCH,
|
||||
RARCH_CMD_RESUME,
|
||||
RARCH_CMD_PAUSE_TOGGLE,
|
||||
RARCH_CMD_MENU_SAVE_CONFIG,
|
||||
RARCH_CMD_MENU_PAUSE_LIBRETRO,
|
||||
RARCH_CMD_SHADERS_APPLY_CHANGES,
|
||||
|
17
retroarch.c
17
retroarch.c
@ -2313,7 +2313,7 @@ bool rarch_main_command(unsigned cmd)
|
||||
"Audio muted." : "Audio unmuted.";
|
||||
|
||||
if (!driver.audio_data || !driver.audio_active)
|
||||
return;
|
||||
return false;
|
||||
|
||||
g_extern.audio_data.mute = !g_extern.audio_data.mute;
|
||||
|
||||
@ -2493,6 +2493,21 @@ bool rarch_main_command(unsigned cmd)
|
||||
menu_shader_manager_apply_changes();
|
||||
#endif
|
||||
break;
|
||||
case RARCH_CMD_PAUSE_TOGGLE:
|
||||
if (g_extern.is_paused)
|
||||
{
|
||||
RARCH_LOG("Paused.\n");
|
||||
rarch_main_command(RARCH_CMD_AUDIO_STOP);
|
||||
|
||||
if (g_settings.video.black_frame_insertion)
|
||||
rarch_render_cached_frame();
|
||||
}
|
||||
else
|
||||
{
|
||||
RARCH_LOG("Unpaused.\n");
|
||||
rarch_main_command(RARCH_CMD_AUDIO_START);
|
||||
}
|
||||
break;
|
||||
case RARCH_CMD_MENU_PAUSE_LIBRETRO:
|
||||
if (g_extern.is_menu)
|
||||
{
|
||||
|
23
runloop.c
23
runloop.c
@ -66,7 +66,7 @@ static void check_netplay_flip(bool pressed, bool fullscreen_toggle_pressed)
|
||||
}
|
||||
#endif
|
||||
|
||||
static void check_pause(bool pressed, bool frameadvance_pressed)
|
||||
static bool check_pause(bool pressed, bool frameadvance_pressed)
|
||||
{
|
||||
static bool old_focus = true;
|
||||
bool focus = true;
|
||||
@ -88,21 +88,9 @@ static void check_pause(bool pressed, bool frameadvance_pressed)
|
||||
old_focus = focus;
|
||||
|
||||
if (g_extern.is_paused == old_is_paused)
|
||||
return;
|
||||
|
||||
if (g_extern.is_paused)
|
||||
{
|
||||
RARCH_LOG("Paused.\n");
|
||||
rarch_main_command(RARCH_CMD_AUDIO_STOP);
|
||||
|
||||
if (g_settings.video.black_frame_insertion)
|
||||
rarch_render_cached_frame();
|
||||
}
|
||||
else
|
||||
{
|
||||
RARCH_LOG("Unpaused.\n");
|
||||
rarch_main_command(RARCH_CMD_AUDIO_START);
|
||||
}
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/* Rewind buttons works like FRAMEREWIND when paused.
|
||||
@ -426,7 +414,8 @@ static int do_state_checks(
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
check_pause_func(trigger_input);
|
||||
if (check_pause_func(trigger_input))
|
||||
rarch_main_command(RARCH_CMD_PAUSE_TOGGLE);
|
||||
|
||||
if (g_extern.is_paused)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user