mirror of
https://github.com/libretro/RetroArch
synced 2025-03-29 13:20:30 +00:00
Add RARCH_CMD_NETPLAY_FLIP_PLAYERS and RARCH_CMD_FULLSCREEN_TOGGLE
This commit is contained in:
parent
4bd018257e
commit
c35d25c76e
2
driver.h
2
driver.h
@ -675,14 +675,12 @@ extern menu_ctx_driver_backend_t menu_ctx_backend_lakka;
|
||||
|
||||
extern rarch_joypad_driver_t *joypad_drivers[];
|
||||
|
||||
#define check_netplay_flip_func(trigger_input) check_netplay_flip(BIT64_GET(trigger_input, RARCH_NETPLAY_FLIP), BIT64_GET(trigger_input, RARCH_FULLSCREEN_TOGGLE_KEY))
|
||||
#define check_overlay_func(input, old_input) rarch_check_overlay(BIT64_GET(input, RARCH_OVERLAY_NEXT), BIT64_GET(old_input, RARCH_OVERLAY_NEXT))
|
||||
#define check_oneshot_func(trigger_input) (check_is_oneshot(BIT64_GET(trigger_input, RARCH_FRAMEADVANCE), BIT64_GET(trigger_input, RARCH_REWIND)))
|
||||
#define check_slowmotion_func(input) check_slowmotion(BIT64_GET(input, RARCH_SLOWMOTION))
|
||||
#define check_shader_dir_func(trigger_input) check_shader_dir(BIT64_GET(trigger_input, RARCH_SHADER_NEXT), BIT64_GET(trigger_input, RARCH_SHADER_PREV))
|
||||
#define check_enter_menu_func(input) BIT64_GET(input, RARCH_MENU_TOGGLE)
|
||||
#define check_mute_func(input, old_input) check_mute(BIT64_GET(input, RARCH_MUTE), BIT64_GET(old_input, RARCH_MUTE))
|
||||
#define check_fullscreen_func(trigger_input) rarch_check_fullscreen(BIT64_GET(trigger_input, RARCH_FULLSCREEN_TOGGLE_KEY))
|
||||
#define check_fast_forward_button_func(input, old_input, trigger_input) check_fast_forward_button(BIT64_GET(trigger_input, RARCH_FAST_FORWARD_KEY), BIT64_GET(input, RARCH_FAST_FORWARD_HOLD_KEY), BIT64_GET(old_input, RARCH_FAST_FORWARD_HOLD_KEY))
|
||||
#define check_rewind_func(input) check_rewind(BIT64_GET(input, RARCH_REWIND))
|
||||
#define check_stateslots_func(trigger_input) check_stateslots(BIT64_GET(trigger_input, RARCH_STATE_SLOT_PLUS), BIT64_GET(trigger_input, RARCH_STATE_SLOT_MINUS))
|
||||
|
@ -314,7 +314,8 @@ int menu_iterate(retro_input_t input,
|
||||
if (BIT64_GET(trigger_input, RARCH_OVERLAY_NEXT))
|
||||
input_overlay_next(driver.overlay);
|
||||
#endif
|
||||
check_fullscreen_func(trigger_input);
|
||||
if (BIT64_GET(trigger_input, RARCH_FULLSCREEN_TOGGLE_KEY))
|
||||
rarch_main_command(RARCH_CMD_FULLSCREEN_TOGGLE);
|
||||
|
||||
driver.retro_ctx.poll_cb();
|
||||
|
||||
|
@ -150,6 +150,7 @@ enum basic_event
|
||||
RARCH_CMD_CHEATS_DEINIT,
|
||||
RARCH_CMD_NETPLAY_INIT,
|
||||
RARCH_CMD_NETPLAY_DEINIT,
|
||||
RARCH_CMD_NETPLAY_FLIP_PLAYERS,
|
||||
RARCH_CMD_BSV_MOVIE_INIT,
|
||||
RARCH_CMD_BSV_MOVIE_DEINIT,
|
||||
RARCH_CMD_COMMAND_INIT,
|
||||
@ -164,6 +165,7 @@ enum basic_event
|
||||
RARCH_CMD_DISK_PREV,
|
||||
RARCH_CMD_RUMBLE_STOP,
|
||||
RARCH_CMD_GRAB_MOUSE_TOGGLE,
|
||||
RARCH_CMD_FULLSCREEN_TOGGLE,
|
||||
};
|
||||
|
||||
enum action_state
|
||||
@ -819,7 +821,6 @@ bool rarch_main_command(unsigned action);
|
||||
int rarch_main_iterate(void);
|
||||
void rarch_main_deinit(void);
|
||||
void rarch_render_cached_frame(void);
|
||||
bool rarch_check_fullscreen(bool pressed);
|
||||
void rarch_disk_control_set_eject(bool state, bool log);
|
||||
void rarch_disk_control_set_index(unsigned index);
|
||||
void rarch_disk_control_append_image(const char *path);
|
||||
|
56
retroarch.c
56
retroarch.c
@ -1567,19 +1567,6 @@ static void main_state(unsigned cmd)
|
||||
RARCH_LOG("%s\n", msg);
|
||||
}
|
||||
|
||||
bool rarch_check_fullscreen(bool pressed)
|
||||
{
|
||||
if (!pressed)
|
||||
return false;
|
||||
|
||||
/* If we go fullscreen we drop all drivers and
|
||||
* reinitialize to be safe. */
|
||||
g_settings.video.fullscreen = !g_settings.video.fullscreen;
|
||||
rarch_main_command(RARCH_CMD_REINIT);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void rarch_disk_control_append_image(const char *path)
|
||||
{
|
||||
char msg[PATH_MAX];
|
||||
@ -2594,12 +2581,12 @@ bool rarch_main_command(unsigned cmd)
|
||||
break;
|
||||
case RARCH_CMD_NETPLAY_DEINIT:
|
||||
#ifdef HAVE_NETPLAY
|
||||
{
|
||||
netplay_t *netplay = (netplay_t*)driver.netplay_data;
|
||||
if (netplay)
|
||||
netplay_free(netplay);
|
||||
driver.netplay_data = NULL;
|
||||
}
|
||||
{
|
||||
netplay_t *netplay = (netplay_t*)driver.netplay_data;
|
||||
if (netplay)
|
||||
netplay_free(netplay);
|
||||
driver.netplay_data = NULL;
|
||||
}
|
||||
#endif
|
||||
break;
|
||||
case RARCH_CMD_NETPLAY_INIT:
|
||||
@ -2608,6 +2595,19 @@ bool rarch_main_command(unsigned cmd)
|
||||
init_netplay();
|
||||
#endif
|
||||
break;
|
||||
case RARCH_CMD_NETPLAY_FLIP_PLAYERS:
|
||||
{
|
||||
netplay_t *netplay = (netplay_t*)driver.netplay_data;
|
||||
if (netplay)
|
||||
netplay_flip_players(netplay);
|
||||
}
|
||||
break;
|
||||
case RARCH_CMD_FULLSCREEN_TOGGLE:
|
||||
/* If we go fullscreen we drop all drivers and
|
||||
* reinitialize to be safe. */
|
||||
g_settings.video.fullscreen = !g_settings.video.fullscreen;
|
||||
rarch_main_command(RARCH_CMD_REINIT);
|
||||
break;
|
||||
case RARCH_CMD_COMMAND_DEINIT:
|
||||
#ifdef HAVE_COMMAND
|
||||
if (driver.command)
|
||||
@ -2655,8 +2655,13 @@ bool rarch_main_command(unsigned cmd)
|
||||
(const struct retro_disk_control_callback*)
|
||||
&g_extern.system.disk_control;
|
||||
|
||||
if (control->get_eject_state())
|
||||
check_disk_next(control);
|
||||
if (!control)
|
||||
return false;
|
||||
|
||||
if (!control->get_eject_state())
|
||||
return false;
|
||||
|
||||
check_disk_next(control);
|
||||
}
|
||||
break;
|
||||
case RARCH_CMD_DISK_PREV:
|
||||
@ -2666,8 +2671,13 @@ bool rarch_main_command(unsigned cmd)
|
||||
(const struct retro_disk_control_callback*)
|
||||
&g_extern.system.disk_control;
|
||||
|
||||
if (control->get_eject_state())
|
||||
check_disk_prev(control);
|
||||
if (!control)
|
||||
return false;
|
||||
|
||||
if (!control->get_eject_state())
|
||||
return false;
|
||||
|
||||
check_disk_prev(control);
|
||||
}
|
||||
break;
|
||||
case RARCH_CMD_RUMBLE_STOP:
|
||||
|
28
runloop.c
28
runloop.c
@ -40,17 +40,6 @@ static void set_volume(float gain)
|
||||
g_extern.audio_data.volume_gain = db_to_gain(g_settings.audio.volume);
|
||||
}
|
||||
|
||||
#ifdef HAVE_NETPLAY
|
||||
static void check_netplay_flip(bool pressed, bool fullscreen_toggle_pressed)
|
||||
{
|
||||
netplay_t *netplay = (netplay_t*)driver.netplay_data;
|
||||
if (pressed && netplay)
|
||||
netplay_flip_players(netplay);
|
||||
|
||||
rarch_check_fullscreen(fullscreen_toggle_pressed);
|
||||
}
|
||||
#endif
|
||||
|
||||
static bool check_pause(bool pressed, bool frameadvance_pressed)
|
||||
{
|
||||
static bool old_focus = true;
|
||||
@ -390,12 +379,19 @@ static int do_state_checks(
|
||||
#endif
|
||||
|
||||
if (!g_extern.is_paused)
|
||||
check_fullscreen_func(trigger_input);
|
||||
{
|
||||
if (BIT64_GET(trigger_input, RARCH_FULLSCREEN_TOGGLE_KEY))
|
||||
rarch_main_command(RARCH_CMD_FULLSCREEN_TOGGLE);
|
||||
}
|
||||
|
||||
#ifdef HAVE_NETPLAY
|
||||
if (driver.netplay_data)
|
||||
{
|
||||
check_netplay_flip_func(trigger_input);
|
||||
if (BIT64_GET(trigger_input, RARCH_NETPLAY_FLIP))
|
||||
rarch_main_command(RARCH_CMD_NETPLAY_FLIP_PLAYERS);
|
||||
|
||||
if (BIT64_GET(trigger_input, RARCH_FULLSCREEN_TOGGLE_KEY))
|
||||
rarch_main_command(RARCH_CMD_FULLSCREEN_TOGGLE);
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
@ -404,8 +400,12 @@ static int do_state_checks(
|
||||
|
||||
if (g_extern.is_paused)
|
||||
{
|
||||
if (check_fullscreen_func(trigger_input))
|
||||
if (BIT64_GET(trigger_input, RARCH_FULLSCREEN_TOGGLE_KEY))
|
||||
{
|
||||
rarch_main_command(RARCH_CMD_FULLSCREEN_TOGGLE);
|
||||
rarch_render_cached_frame();
|
||||
}
|
||||
|
||||
if (!check_oneshot_func(trigger_input))
|
||||
return 1;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user