mirror of
https://github.com/libretro/RetroArch
synced 2025-03-29 22:20:21 +00:00
Use macro functions to hide away some of the ugliness
This commit is contained in:
parent
92938fe45f
commit
3892c8326d
22
driver.h
22
driver.h
@ -667,6 +667,28 @@ extern menu_ctx_driver_t menu_ctx_lakka;
|
||||
extern menu_ctx_driver_backend_t menu_ctx_backend_common;
|
||||
extern menu_ctx_driver_backend_t menu_ctx_backend_lakka;
|
||||
|
||||
#define check_block_hotkey_func(input) rarch_check_block_hotkey(BIND_PRESSED(input, RARCH_ENABLE_HOTKEY))
|
||||
|
||||
#define check_cheats_func(input, old_input) check_cheats(BIND_PRESSED(input, RARCH_CHEAT_INDEX_PLUS), BIND_PRESSED(old_input, RARCH_CHEAT_INDEX_PLUS), BIND_PRESSED(input, RARCH_CHEAT_INDEX_MINUS), BIND_PRESSED(old_input, RARCH_CHEAT_INDEX_MINUS), BIND_PRESSED(input, RARCH_CHEAT_TOGGLE), BIND_PRESSED(old_input, RARCH_CHEAT_TOGGLE))
|
||||
#define check_disk_func(input, old_input) check_disk(BIND_PRESSED(input, RARCH_DISK_EJECT_TOGGLE), BIND_PRESSED(old_input, RARCH_DISK_EJECT_TOGGLE), BIND_PRESSED(input, RARCH_DISK_NEXT), BIND_PRESSED(old_input, RARCH_DISK_NEXT))
|
||||
#define check_netplay_flip_func(input, old_input) check_netplay_flip(BIND_PRESSED(input, RARCH_NETPLAY_FLIP), BIND_PRESSED(old_input, RARCH_NETPLAY_FLIP), BIND_PRESSED(input, RARCH_FULLSCREEN_TOGGLE_KEY), BIND_PRESSED(old_input, RARCH_FULLSCREEN_TOGGLE_KEY))
|
||||
#define check_overlay_func(input, old_input) rarch_check_overlay(BIND_PRESSED(input, RARCH_OVERLAY_NEXT), BIND_PRESSED(old_input, RARCH_OVERLAY_NEXT))
|
||||
#define check_screenshot_func(input, old_input) check_screenshot(BIND_PRESSED(input, RARCH_SCREENSHOT), BIND_PRESSED(old_input, RARCH_SCREENSHOT))
|
||||
#define check_oneshot_func(input, old_input) check_oneshot(BIND_PRESSED(input, RARCH_FRAMEADVANCE), BIND_PRESSED(old_input, RARCH_FRAMEADVANCE), BIND_PRESSED(input, RARCH_REWIND), BIND_PRESSED(old_input, RARCH_REWIND))
|
||||
#define check_reset_func(input, old_input) check_reset(BIND_PRESSED(input, RARCH_RESET), BIND_PRESSED(old_input, RARCH_RESET))
|
||||
#define check_slowmotion_func(input) check_slowmotion(BIND_PRESSED(input, RARCH_SLOWMOTION))
|
||||
#define check_shader_dir_func(input, old_input) check_shader_dir(BIND_PRESSED(input, RARCH_SHADER_NEXT), BIND_PRESSED(old_input, RARCH_SHADER_NEXT), BIND_PRESSED(input, RARCH_SHADER_PREV), BIND_PRESSED(old_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_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(input, old_input) rarch_check_fullscreen(BIND_PRESSED(input, RARCH_FULLSCREEN_TOGGLE_KEY), BIND_PRESSED(old_input, RARCH_FULLSCREEN_TOGGLE_KEY))
|
||||
#define check_fast_forward_button_func(input, old_input) check_fast_forward_button(BIND_PRESSED(input, RARCH_FAST_FORWARD_KEY), BIND_PRESSED(old_input, RARCH_FAST_FORWARD_KEY), BIND_PRESSED(input, RARCH_FAST_FORWARD_HOLD_KEY), BIND_PRESSED(old_input, RARCH_FAST_FORWARD_HOLD_KEY))
|
||||
#define check_movie_func(input, old_input) check_movie(BIND_PRESSED(input, RARCH_MOVIE_RECORD_TOGGLE), BIND_PRESSED(old_input, RARCH_MOVIE_RECORD_TOGGLE))
|
||||
#define check_rewind_func(input) check_rewind(BIND_PRESSED(input, RARCH_REWIND))
|
||||
#define check_grab_mouse_toggle_func(input, old_input) check_grab_mouse_toggle(BIND_PRESSED(input, RARCH_GRAB_MOUSE_TOGGLE), BIND_PRESSED(old_input, RARCH_GRAB_MOUSE_TOGGLE))
|
||||
#define check_stateslots_func(input, old_input) check_stateslots(BIND_PRESSED(input, RARCH_STATE_SLOT_PLUS), BIND_PRESSED(old_input, RARCH_STATE_SLOT_PLUS), BIND_PRESSED(input, RARCH_STATE_SLOT_MINUS), BIND_PRESSED(old_input, RARCH_STATE_SLOT_MINUS))
|
||||
#define check_savestates_func(input, old_input) check_savestates(BIND_PRESSED(input, RARCH_SAVE_STATE_KEY), BIND_PRESSED(old_input, RARCH_SAVE_STATE_KEY), BIND_PRESSED(input, RARCH_LOAD_STATE_KEY), BIND_PRESSED(old_input, RARCH_LOAD_STATE_KEY), g_extern.bsv.movie)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
@ -323,20 +323,14 @@ bool menu_iterate(void)
|
||||
retro_input_t input = input_keys_pressed_func(RARCH_FIRST_META_KEY,
|
||||
RARCH_BIND_LIST_END, &old_state);
|
||||
|
||||
rarch_check_block_hotkey(BIND_PRESSED(input, RARCH_ENABLE_HOTKEY));
|
||||
check_block_hotkey_func(input);
|
||||
#ifdef HAVE_OVERLAY
|
||||
rarch_check_overlay(
|
||||
BIND_PRESSED(input, RARCH_OVERLAY_NEXT),
|
||||
BIND_PRESSED(old_state, RARCH_OVERLAY_NEXT));
|
||||
check_overlay_func(input, old_state);
|
||||
#endif
|
||||
rarch_check_fullscreen(
|
||||
BIND_PRESSED(input, RARCH_FULLSCREEN_TOGGLE_KEY),
|
||||
BIND_PRESSED(old_state, RARCH_FULLSCREEN_TOGGLE_KEY)
|
||||
);
|
||||
check_fullscreen_func(input, old_state);
|
||||
|
||||
if (
|
||||
BIND_PRESSED(input, RARCH_QUIT_KEY) ||
|
||||
!driver.video->alive(driver.video_data))
|
||||
if (BIND_PRESSED(input, RARCH_QUIT_KEY)
|
||||
|| !driver.video->alive(driver.video_data))
|
||||
{
|
||||
rarch_main_command(RARCH_CMD_RESUME);
|
||||
return false;
|
||||
|
109
retroarch.c
109
retroarch.c
@ -2832,129 +2832,63 @@ static void check_grab_mouse_toggle(bool pressed, bool old_pressed)
|
||||
|
||||
static void do_state_checks(retro_input_t input, retro_input_t old_input)
|
||||
{
|
||||
rarch_check_block_hotkey(
|
||||
BIND_PRESSED(input, RARCH_ENABLE_HOTKEY));
|
||||
check_block_hotkey_func(input);
|
||||
|
||||
check_screenshot(
|
||||
BIND_PRESSED(input, RARCH_SCREENSHOT),
|
||||
BIND_PRESSED(old_input, RARCH_SCREENSHOT)
|
||||
);
|
||||
check_screenshot_func(input, old_input);
|
||||
|
||||
if (g_extern.audio_active)
|
||||
check_mute(
|
||||
BIND_PRESSED(input, RARCH_MUTE),
|
||||
BIND_PRESSED(old_input, RARCH_MUTE)
|
||||
);
|
||||
check_mute_func(input, old_input);
|
||||
|
||||
check_volume(
|
||||
BIND_PRESSED(input, RARCH_VOLUME_UP),
|
||||
BIND_PRESSED(old_input, RARCH_VOLUME_DOWN)
|
||||
);
|
||||
check_volume_func(input, old_input);
|
||||
|
||||
check_turbo();
|
||||
|
||||
if (driver.input->grab_mouse)
|
||||
check_grab_mouse_toggle(
|
||||
BIND_PRESSED(input, RARCH_GRAB_MOUSE_TOGGLE),
|
||||
BIND_PRESSED(old_input, RARCH_GRAB_MOUSE_TOGGLE)
|
||||
);
|
||||
check_grab_mouse_toggle_func(input, old_input);
|
||||
|
||||
#ifdef HAVE_OVERLAY
|
||||
if (driver.overlay)
|
||||
rarch_check_overlay(
|
||||
BIND_PRESSED(input, RARCH_OVERLAY_NEXT),
|
||||
BIND_PRESSED(old_input, RARCH_OVERLAY_NEXT)
|
||||
);
|
||||
check_overlay_func(input, old_input);
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_NETPLAY
|
||||
if (g_extern.netplay)
|
||||
{
|
||||
check_netplay_flip(
|
||||
BIND_PRESSED(input, RARCH_NETPLAY_FLIP),
|
||||
BIND_PRESSED(old_input, RARCH_NETPLAY_FLIP),
|
||||
BIND_PRESSED(input, RARCH_FULLSCREEN_TOGGLE_KEY),
|
||||
BIND_PRESSED(old_input, RARCH_FULLSCREEN_TOGGLE_KEY)
|
||||
);
|
||||
check_netplay_flip_func(input, old_input);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
check_pause(input, old_input);
|
||||
|
||||
check_oneshot(
|
||||
BIND_PRESSED(input, RARCH_FRAMEADVANCE),
|
||||
BIND_PRESSED(old_input, RARCH_FRAMEADVANCE),
|
||||
BIND_PRESSED(input, RARCH_REWIND),
|
||||
BIND_PRESSED(old_input, RARCH_REWIND)
|
||||
);
|
||||
check_oneshot_func(input, old_input);
|
||||
|
||||
if (rarch_check_fullscreen(
|
||||
BIND_PRESSED(input, RARCH_FULLSCREEN_TOGGLE_KEY),
|
||||
BIND_PRESSED(old_input, RARCH_FULLSCREEN_TOGGLE_KEY)
|
||||
)
|
||||
&& g_extern.is_paused)
|
||||
if (check_fullscreen_func(input, old_input) && g_extern.is_paused)
|
||||
rarch_render_cached_frame();
|
||||
|
||||
if (g_extern.is_paused && !g_extern.is_oneshot)
|
||||
return;
|
||||
|
||||
check_fast_forward_button(
|
||||
BIND_PRESSED(input, RARCH_FAST_FORWARD_KEY),
|
||||
BIND_PRESSED(old_input, RARCH_FAST_FORWARD_KEY),
|
||||
BIND_PRESSED(input, RARCH_FAST_FORWARD_HOLD_KEY),
|
||||
BIND_PRESSED(old_input, RARCH_FAST_FORWARD_HOLD_KEY)
|
||||
);
|
||||
check_fast_forward_button_func(input, old_input);
|
||||
|
||||
check_stateslots(
|
||||
BIND_PRESSED(input, RARCH_STATE_SLOT_PLUS),
|
||||
BIND_PRESSED(old_input, RARCH_STATE_SLOT_PLUS),
|
||||
BIND_PRESSED(input, RARCH_STATE_SLOT_MINUS),
|
||||
BIND_PRESSED(old_input, RARCH_STATE_SLOT_MINUS)
|
||||
);
|
||||
check_stateslots_func(input, old_input);
|
||||
|
||||
check_savestates(
|
||||
BIND_PRESSED(input, RARCH_SAVE_STATE_KEY),
|
||||
BIND_PRESSED(old_input, RARCH_SAVE_STATE_KEY),
|
||||
BIND_PRESSED(input, RARCH_LOAD_STATE_KEY),
|
||||
BIND_PRESSED(old_input, RARCH_LOAD_STATE_KEY),
|
||||
g_extern.bsv.movie);
|
||||
check_savestates_func(input, old_input);
|
||||
|
||||
check_rewind(BIND_PRESSED(input, RARCH_REWIND));
|
||||
check_rewind_func(input);
|
||||
|
||||
check_slowmotion(
|
||||
BIND_PRESSED(input, RARCH_SLOWMOTION));
|
||||
check_slowmotion_func(input);
|
||||
|
||||
check_movie(
|
||||
BIND_PRESSED(input, RARCH_MOVIE_RECORD_TOGGLE),
|
||||
BIND_PRESSED(old_input, RARCH_MOVIE_RECORD_TOGGLE));
|
||||
check_movie_func(input, old_input);
|
||||
|
||||
check_shader_dir(
|
||||
BIND_PRESSED(input, RARCH_SHADER_NEXT),
|
||||
BIND_PRESSED(old_input, RARCH_SHADER_NEXT),
|
||||
BIND_PRESSED(input, RARCH_SHADER_PREV),
|
||||
BIND_PRESSED(old_input, RARCH_SHADER_PREV)
|
||||
);
|
||||
check_shader_dir_func(input, old_input);
|
||||
|
||||
if (g_extern.cheat)
|
||||
check_cheats(
|
||||
BIND_PRESSED(input, RARCH_CHEAT_INDEX_PLUS),
|
||||
BIND_PRESSED(old_input, RARCH_CHEAT_INDEX_PLUS),
|
||||
BIND_PRESSED(input, RARCH_CHEAT_INDEX_MINUS),
|
||||
BIND_PRESSED(old_input, RARCH_CHEAT_INDEX_MINUS),
|
||||
BIND_PRESSED(input, RARCH_CHEAT_TOGGLE),
|
||||
BIND_PRESSED(old_input, RARCH_CHEAT_TOGGLE)
|
||||
);
|
||||
check_cheats_func(input, old_input);
|
||||
|
||||
if (g_extern.system.disk_control.get_num_images)
|
||||
check_disk(
|
||||
BIND_PRESSED(input, RARCH_DISK_EJECT_TOGGLE),
|
||||
BIND_PRESSED(old_input, RARCH_DISK_EJECT_TOGGLE),
|
||||
BIND_PRESSED(input, RARCH_DISK_NEXT),
|
||||
BIND_PRESSED(old_input, RARCH_DISK_NEXT));
|
||||
check_disk_func(input, old_input);
|
||||
|
||||
check_reset(
|
||||
BIND_PRESSED(input, RARCH_RESET),
|
||||
BIND_PRESSED(old_input, RARCH_RESET));
|
||||
check_reset_func(input, old_input);
|
||||
}
|
||||
|
||||
static void init_state(void)
|
||||
@ -3671,10 +3605,7 @@ bool rarch_main_iterate(void)
|
||||
!driver.video->alive(driver.video_data))
|
||||
return false;
|
||||
|
||||
if (check_enter_menu(
|
||||
BIND_PRESSED(input, RARCH_MENU_TOGGLE),
|
||||
BIND_PRESSED(old_input, RARCH_MENU_TOGGLE)
|
||||
))
|
||||
if (check_enter_menu_func(input, old_input))
|
||||
return false; /* Enter menu, don't exit. */
|
||||
|
||||
if (g_extern.exec)
|
||||
|
Loading…
x
Reference in New Issue
Block a user