mirror of
https://github.com/libretro/RetroArch
synced 2025-04-01 04:20:27 +00:00
Create check_savestates
This commit is contained in:
parent
be2fb7b10d
commit
004a299b74
32
retroarch.c
32
retroarch.c
@ -2246,7 +2246,8 @@ static void check_state_slots(
|
|||||||
settings_t *settings,
|
settings_t *settings,
|
||||||
uint64_t current_input,
|
uint64_t current_input,
|
||||||
uint64_t old_input,
|
uint64_t old_input,
|
||||||
uint64_t trigger_input)
|
uint64_t trigger_input
|
||||||
|
)
|
||||||
{
|
{
|
||||||
static bool old_should_slot_increase = false;
|
static bool old_should_slot_increase = false;
|
||||||
static bool old_should_slot_decrease = false;
|
static bool old_should_slot_decrease = false;
|
||||||
@ -2299,6 +2300,29 @@ static void check_state_slots(
|
|||||||
old_should_slot_decrease = should_slot_decrease;
|
old_should_slot_decrease = should_slot_decrease;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void check_savestates(
|
||||||
|
settings_t *settings,
|
||||||
|
uint64_t current_input,
|
||||||
|
uint64_t old_input,
|
||||||
|
uint64_t trigger_input
|
||||||
|
)
|
||||||
|
{
|
||||||
|
static bool old_should_savestate = false;
|
||||||
|
static bool old_should_loadstate = false;
|
||||||
|
bool should_savestate = runloop_cmd_press(
|
||||||
|
current_input, RARCH_SAVE_STATE_KEY);
|
||||||
|
bool should_loadstate = runloop_cmd_press(
|
||||||
|
current_input, RARCH_LOAD_STATE_KEY);
|
||||||
|
|
||||||
|
if (should_savestate && !old_should_savestate)
|
||||||
|
command_event(CMD_EVENT_SAVE_STATE, NULL);
|
||||||
|
if (should_loadstate && !old_should_loadstate)
|
||||||
|
command_event(CMD_EVENT_LOAD_STATE, NULL);
|
||||||
|
|
||||||
|
old_should_savestate = should_savestate;
|
||||||
|
old_should_loadstate = should_loadstate;
|
||||||
|
}
|
||||||
|
|
||||||
static enum runloop_state runloop_check_state(
|
static enum runloop_state runloop_check_state(
|
||||||
settings_t *settings,
|
settings_t *settings,
|
||||||
uint64_t current_input,
|
uint64_t current_input,
|
||||||
@ -2558,11 +2582,7 @@ static enum runloop_state runloop_check_state(
|
|||||||
}
|
}
|
||||||
|
|
||||||
check_state_slots(settings, current_input, old_input, trigger_input);
|
check_state_slots(settings, current_input, old_input, trigger_input);
|
||||||
|
check_savestates(settings, current_input, old_input, trigger_input);
|
||||||
if (runloop_cmd_triggered(trigger_input, RARCH_SAVE_STATE_KEY))
|
|
||||||
command_event(CMD_EVENT_SAVE_STATE, NULL);
|
|
||||||
else if (runloop_cmd_triggered(trigger_input, RARCH_LOAD_STATE_KEY))
|
|
||||||
command_event(CMD_EVENT_LOAD_STATE, NULL);
|
|
||||||
|
|
||||||
#ifdef HAVE_CHEEVOS
|
#ifdef HAVE_CHEEVOS
|
||||||
if (!settings->bools.cheevos_hardcore_mode_enable)
|
if (!settings->bools.cheevos_hardcore_mode_enable)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user