mirror of
https://github.com/libretro/RetroArch
synced 2025-04-07 13:23:32 +00:00
Change return values for rarch_main_iterate and do_state_checks
This commit is contained in:
parent
5983d4f502
commit
e79d3d1630
@ -56,7 +56,7 @@
|
|||||||
|
|
||||||
int main_entry_decide(signature(), args_type() args)
|
int main_entry_decide(signature(), args_type() args)
|
||||||
{
|
{
|
||||||
if (!rarch_main_iterate())
|
if (rarch_main_iterate())
|
||||||
{
|
{
|
||||||
if (g_extern.core_shutdown_initiated
|
if (g_extern.core_shutdown_initiated
|
||||||
&& g_settings.load_dummy_on_core_shutdown)
|
&& g_settings.load_dummy_on_core_shutdown)
|
||||||
|
@ -813,7 +813,7 @@ void rarch_main_init_wrap(const struct rarch_main_wrap *args,
|
|||||||
int rarch_main_init(int argc, char *argv[]);
|
int rarch_main_init(int argc, char *argv[]);
|
||||||
void rarch_main_set_state(unsigned action);
|
void rarch_main_set_state(unsigned action);
|
||||||
void rarch_main_command(unsigned action);
|
void rarch_main_command(unsigned action);
|
||||||
bool rarch_main_iterate(void);
|
int rarch_main_iterate(void);
|
||||||
void rarch_main_deinit(void);
|
void rarch_main_deinit(void);
|
||||||
void rarch_render_cached_frame(void);
|
void rarch_render_cached_frame(void);
|
||||||
bool rarch_check_fullscreen(bool pressed);
|
bool rarch_check_fullscreen(bool pressed);
|
||||||
|
38
retroarch.c
38
retroarch.c
@ -2194,9 +2194,12 @@ static void check_disk_next(
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Checks for stuff like fullscreen, save states, etc.
|
/* Checks for stuff like fullscreen, save states, etc.
|
||||||
* Return false when RetroArch is paused. */
|
* Returns:
|
||||||
|
* 0 - normal operation.
|
||||||
|
* 1 - when RetroArch is paused.
|
||||||
|
*/
|
||||||
|
|
||||||
static bool do_state_checks(
|
static int do_state_checks(
|
||||||
retro_input_t input, retro_input_t old_input,
|
retro_input_t input, retro_input_t old_input,
|
||||||
retro_input_t trigger_input)
|
retro_input_t trigger_input)
|
||||||
{
|
{
|
||||||
@ -2222,7 +2225,7 @@ static bool do_state_checks(
|
|||||||
if (driver.netplay_data)
|
if (driver.netplay_data)
|
||||||
{
|
{
|
||||||
check_netplay_flip_func(trigger_input);
|
check_netplay_flip_func(trigger_input);
|
||||||
return true;
|
goto exit;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
check_pause_func(trigger_input);
|
check_pause_func(trigger_input);
|
||||||
@ -2233,7 +2236,7 @@ static bool do_state_checks(
|
|||||||
rarch_render_cached_frame();
|
rarch_render_cached_frame();
|
||||||
|
|
||||||
if (g_extern.is_paused && !g_extern.is_oneshot)
|
if (g_extern.is_paused && !g_extern.is_oneshot)
|
||||||
return false;
|
return 1;
|
||||||
|
|
||||||
check_fast_forward_button_func(input, old_input, trigger_input);
|
check_fast_forward_button_func(input, old_input, trigger_input);
|
||||||
|
|
||||||
@ -2268,7 +2271,8 @@ static bool do_state_checks(
|
|||||||
if (BIND_PRESSED(trigger_input, RARCH_RESET))
|
if (BIND_PRESSED(trigger_input, RARCH_RESET))
|
||||||
rarch_main_command(RARCH_CMD_RESET);
|
rarch_main_command(RARCH_CMD_RESET);
|
||||||
|
|
||||||
return true;
|
exit:
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void init_state(void)
|
static void init_state(void)
|
||||||
@ -3199,7 +3203,7 @@ static void do_state_check_menu_toggle(void)
|
|||||||
rarch_main_set_state(RARCH_ACTION_STATE_MENU_RUNNING);
|
rarch_main_set_state(RARCH_ACTION_STATE_MENU_RUNNING);
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool do_menu_oneshot(
|
static int do_menu_oneshot(
|
||||||
retro_input_t input, retro_input_t old_input,
|
retro_input_t input, retro_input_t old_input,
|
||||||
retro_input_t trigger_input)
|
retro_input_t trigger_input)
|
||||||
{
|
{
|
||||||
@ -3209,11 +3213,15 @@ static bool do_menu_oneshot(
|
|||||||
if (g_settings.fastforward_ratio_throttle_enable)
|
if (g_settings.fastforward_ratio_throttle_enable)
|
||||||
limit_frame_time();
|
limit_frame_time();
|
||||||
|
|
||||||
return true;
|
return 0;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
bool rarch_main_iterate(void)
|
/* Returns:
|
||||||
|
* 0 - Successful iteration.
|
||||||
|
* 1 - Quit of iteration loop.
|
||||||
|
*/
|
||||||
|
int rarch_main_iterate(void)
|
||||||
{
|
{
|
||||||
unsigned i;
|
unsigned i;
|
||||||
static retro_input_t last_input = 0;
|
static retro_input_t last_input = 0;
|
||||||
@ -3241,7 +3249,7 @@ bool rarch_main_iterate(void)
|
|||||||
g_extern.frame_count >= g_extern.max_frames) ||
|
g_extern.frame_count >= g_extern.max_frames) ||
|
||||||
(g_extern.bsv.movie_end && g_extern.bsv.eof_exit) ||
|
(g_extern.bsv.movie_end && g_extern.bsv.eof_exit) ||
|
||||||
!driver.video->alive(driver.video_data))
|
!driver.video->alive(driver.video_data))
|
||||||
return false;
|
return 1;
|
||||||
|
|
||||||
if (g_extern.system.frame_time.callback)
|
if (g_extern.system.frame_time.callback)
|
||||||
update_frame_time();
|
update_frame_time();
|
||||||
@ -3257,14 +3265,18 @@ bool rarch_main_iterate(void)
|
|||||||
if (g_extern.exec)
|
if (g_extern.exec)
|
||||||
{
|
{
|
||||||
g_extern.exec = false;
|
g_extern.exec = false;
|
||||||
return false;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!do_state_checks(input, old_input, trigger_input))
|
if (do_state_checks(input, old_input, trigger_input))
|
||||||
{
|
{
|
||||||
|
/* RetroArch has been paused */
|
||||||
driver.retro_ctx.poll_cb();
|
driver.retro_ctx.poll_cb();
|
||||||
rarch_sleep(10);
|
rarch_sleep(10);
|
||||||
return true;
|
|
||||||
|
/* TODO - maybe change this from 0 to something else
|
||||||
|
* to signal that RetroArch is currently paused. */
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(HAVE_THREADS)
|
#if defined(HAVE_THREADS)
|
||||||
@ -3325,7 +3337,7 @@ bool rarch_main_iterate(void)
|
|||||||
if (g_settings.fastforward_ratio_throttle_enable)
|
if (g_settings.fastforward_ratio_throttle_enable)
|
||||||
limit_frame_time();
|
limit_frame_time();
|
||||||
|
|
||||||
return true;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void rarch_main_deinit(void)
|
void rarch_main_deinit(void)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user