Create CORE_CTL_RUN
This commit is contained in:
parent
4843e76491
commit
d1ffd1f9cc
|
@ -90,21 +90,6 @@ static bool retro_uninit_libretro_cbs(void)
|
|||
return true;
|
||||
}
|
||||
|
||||
|
||||
void retro_run_core(void)
|
||||
{
|
||||
switch (core.poll_type)
|
||||
{
|
||||
case POLL_TYPE_EARLY:
|
||||
input_poll();
|
||||
break;
|
||||
case POLL_TYPE_LATE:
|
||||
input_polled = false;
|
||||
break;
|
||||
}
|
||||
core.retro_run();
|
||||
}
|
||||
|
||||
static void input_poll_maybe(void)
|
||||
{
|
||||
if (core.poll_type == POLL_TYPE_NORMAL)
|
||||
|
@ -186,6 +171,18 @@ bool core_ctl(enum core_ctl_state state, void *data)
|
|||
{
|
||||
switch (state)
|
||||
{
|
||||
case CORE_CTL_RUN:
|
||||
switch (core.poll_type)
|
||||
{
|
||||
case POLL_TYPE_EARLY:
|
||||
input_poll();
|
||||
break;
|
||||
case POLL_TYPE_LATE:
|
||||
input_polled = false;
|
||||
break;
|
||||
}
|
||||
core.retro_run();
|
||||
break;
|
||||
case CORE_CTL_SET_CBS:
|
||||
return retro_set_default_callbacks(data);
|
||||
case CORE_CTL_SET_CBS_REWIND:
|
||||
|
|
|
@ -47,7 +47,10 @@ enum core_ctl_state
|
|||
|
||||
CORE_CTL_SET_CBS,
|
||||
|
||||
CORE_CTL_SET_CBS_REWIND
|
||||
CORE_CTL_SET_CBS_REWIND,
|
||||
|
||||
/* Runs the core for one frame. */
|
||||
CORE_CTL_RUN
|
||||
};
|
||||
|
||||
typedef struct retro_callbacks
|
||||
|
@ -61,9 +64,6 @@ typedef struct retro_callbacks
|
|||
|
||||
extern retro_callbacks_t retro_ctx;
|
||||
|
||||
/* Runs the core for one frame. Use instead of core.retro_run(). */
|
||||
void retro_run_core(void);
|
||||
|
||||
bool core_ctl(enum core_ctl_state state, void *data);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
|
|
@ -321,7 +321,7 @@ bool menu_display_ctl(enum menu_display_ctl_state state, void *data)
|
|||
if (!libretro_input_is_blocked)
|
||||
input_driver_ctl(RARCH_INPUT_CTL_SET_LIBRETRO_INPUT_BLOCKED, NULL);
|
||||
|
||||
retro_run_core();
|
||||
core_ctl(CORE_CTL_RUN, NULL);
|
||||
|
||||
input_driver_ctl(RARCH_INPUT_CTL_UNSET_LIBRETRO_INPUT_BLOCKED, NULL);
|
||||
return true;
|
||||
|
|
|
@ -77,7 +77,7 @@ static void netplay_net_post_frame(netplay_t *netplay)
|
|||
#if defined(HAVE_THREADS) && !defined(RARCH_CONSOLE)
|
||||
lock_autosave();
|
||||
#endif
|
||||
retro_run_core();
|
||||
core_ctl(CORE_CTL_RUN, NULL);
|
||||
#if defined(HAVE_THREADS) && !defined(RARCH_CONSOLE)
|
||||
unlock_autosave();
|
||||
#endif
|
||||
|
|
|
@ -1423,8 +1423,7 @@ int runloop_iterate(unsigned *sleep_ms)
|
|||
!input_driver_ctl(RARCH_INPUT_CTL_IS_NONBLOCK_STATE, NULL))
|
||||
retro_sleep(settings->video.frame_delay);
|
||||
|
||||
/* Run libretro for one frame. */
|
||||
retro_run_core();
|
||||
core_ctl(CORE_CTL_RUN, NULL);
|
||||
|
||||
#ifdef HAVE_CHEEVOS
|
||||
/* Test the achievements. */
|
||||
|
|
Loading…
Reference in New Issue