mirror of
https://github.com/libretro/RetroArch
synced 2025-03-23 10:20:57 +00:00
add menu entry for undo save state
This commit is contained in:
parent
93acf0caa9
commit
20540a8f42
@ -1588,6 +1588,12 @@ static void command_event_main_state(unsigned cmd)
|
||||
snprintf(buf, sizeof(buf), "%s.undo", buf);
|
||||
command_event_load_state(buf, msg, sizeof(msg), true);
|
||||
break;
|
||||
case CMD_EVENT_UNDO_SAVE_STATE:
|
||||
strlcpy(buf, path, sizeof(buf));
|
||||
path_remove_extension(buf);
|
||||
snprintf(buf, sizeof(buf), "%s.last", buf);
|
||||
command_event_load_state(buf, msg, sizeof(msg), true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -1711,6 +1717,9 @@ bool command_event(enum event_command cmd, void *data)
|
||||
case CMD_EVENT_UNDO_LOAD_STATE:
|
||||
command_event_main_state(cmd);
|
||||
break;
|
||||
case CMD_EVENT_UNDO_SAVE_STATE:
|
||||
command_event_main_state(cmd);
|
||||
break;
|
||||
case CMD_EVENT_RESIZE_WINDOWED_SCALE:
|
||||
{
|
||||
unsigned idx = 0;
|
||||
|
@ -49,6 +49,7 @@ enum event_command
|
||||
CMD_EVENT_UNLOAD_CORE,
|
||||
CMD_EVENT_LOAD_STATE,
|
||||
CMD_EVENT_UNDO_LOAD_STATE,
|
||||
CMD_EVENT_UNDO_SAVE_STATE,
|
||||
CMD_EVENT_SAVE_STATE,
|
||||
CMD_EVENT_SAVE_STATE_DECREMENT,
|
||||
CMD_EVENT_SAVE_STATE_INCREMENT,
|
||||
|
@ -1274,6 +1274,14 @@ static int action_ok_load_state(const char *path,
|
||||
return generic_action_ok_command(CMD_EVENT_RESUME);
|
||||
}
|
||||
|
||||
static int action_ok_save_state(const char *path,
|
||||
const char *label, unsigned type, size_t idx, size_t entry_idx)
|
||||
{
|
||||
if (generic_action_ok_command(CMD_EVENT_SAVE_STATE) == -1)
|
||||
return menu_cbs_exit();
|
||||
return generic_action_ok_command(CMD_EVENT_RESUME);
|
||||
}
|
||||
|
||||
static int action_ok_undo_load_state(const char *path,
|
||||
const char *label, unsigned type, size_t idx, size_t entry_idx)
|
||||
{
|
||||
@ -1282,10 +1290,10 @@ static int action_ok_undo_load_state(const char *path,
|
||||
return generic_action_ok_command(CMD_EVENT_RESUME);
|
||||
}
|
||||
|
||||
static int action_ok_save_state(const char *path,
|
||||
static int action_ok_undo_save_state(const char *path,
|
||||
const char *label, unsigned type, size_t idx, size_t entry_idx)
|
||||
{
|
||||
if (generic_action_ok_command(CMD_EVENT_SAVE_STATE) == -1)
|
||||
if (generic_action_ok_command(CMD_EVENT_UNDO_SAVE_STATE) == -1)
|
||||
return menu_cbs_exit();
|
||||
return generic_action_ok_command(CMD_EVENT_RESUME);
|
||||
}
|
||||
@ -2383,6 +2391,9 @@ static int menu_cbs_init_bind_ok_compare_label(menu_file_list_cbs_t *cbs,
|
||||
case MENU_LABEL_UNDOLOADSTATE:
|
||||
BIND_ACTION_OK(cbs, action_ok_undo_load_state);
|
||||
break;
|
||||
case MENU_LABEL_UNDOSAVESTATE:
|
||||
BIND_ACTION_OK(cbs, action_ok_undo_save_state);
|
||||
break;
|
||||
case MENU_LABEL_RESUME_CONTENT:
|
||||
BIND_ACTION_OK(cbs, action_ok_resume_content);
|
||||
break;
|
||||
|
@ -660,6 +660,8 @@ static const char *menu_hash_to_str_us_label(uint32_t hash)
|
||||
return "loadstate";
|
||||
case MENU_LABEL_UNDO_LOAD_STATE:
|
||||
return "undoloadstate";
|
||||
case MENU_LABEL_UNDO_SAVE_STATE:
|
||||
return "undosavestate";
|
||||
case MENU_LABEL_RESUME_CONTENT:
|
||||
return "resume_content";
|
||||
case MENU_LABEL_INPUT_DRIVER:
|
||||
@ -1378,6 +1380,8 @@ const char *menu_hash_to_str_us(uint32_t hash)
|
||||
return "Load State";
|
||||
case MENU_LABEL_VALUE_UNDO_LOAD_STATE:
|
||||
return "Undo Load State";
|
||||
case MENU_LABEL_VALUE_UNDO_SAVE_STATE:
|
||||
return "Undo Save State";
|
||||
case MENU_LABEL_VALUE_RESUME_CONTENT:
|
||||
return "Resume";
|
||||
case MENU_LABEL_VALUE_INPUT_DRIVER:
|
||||
|
@ -2281,6 +2281,11 @@ static int menu_displaylist_parse_load_content_settings(
|
||||
menu_hash_to_str(MENU_LABEL_UNDO_LOAD_STATE),
|
||||
MENU_SETTING_ACTION_LOADSTATE, 0, 0);
|
||||
|
||||
menu_entries_add(info->list,
|
||||
menu_hash_to_str(MENU_LABEL_VALUE_UNDO_SAVE_STATE),
|
||||
menu_hash_to_str(MENU_LABEL_UNDO_SAVE_STATE),
|
||||
MENU_SETTING_ACTION_LOADSTATE, 0, 0);
|
||||
|
||||
menu_entries_add(info->list,
|
||||
menu_hash_to_str(MENU_LABEL_VALUE_CORE_OPTIONS),
|
||||
menu_hash_to_str(MENU_LABEL_CORE_OPTIONS),
|
||||
|
@ -299,9 +299,11 @@ extern "C" {
|
||||
#define MENU_LABEL_SAVE_STATE 0x3a4849b5U
|
||||
#define MENU_LABEL_VALUE_LOAD_STATE 0xd23ba706U
|
||||
#define MENU_LABEL_VALUE_UNDO_LOAD_STATE 0xc83f09fcU
|
||||
#define MENU_LABEL_VALUE_UNDO_SAVE_STATE 0x341b870bU
|
||||
#define MENU_LABEL_VALUE_SAVE_STATE 0x3e182415U
|
||||
#define MENU_LABEL_LOAD_STATE 0xa39eb286U
|
||||
#define MENU_LABEL_UNDO_LOAD_STATE 0x464aaf5cU
|
||||
#define MENU_LABEL_UNDO_SAVE_STATE 0xdcf4468bU
|
||||
#define MENU_LABEL_REWIND 0x1931d5aeU
|
||||
#define MENU_LABEL_NETPLAY_FLIP_PLAYERS 0x801425abU
|
||||
#define MENU_LABEL_CHEAT_INDEX_MINUS 0x57f58b6cU
|
||||
@ -958,6 +960,7 @@ extern "C" {
|
||||
#define MENU_LABEL_SAVESTATE 0x3a4849b5U
|
||||
#define MENU_LABEL_LOADSTATE 0xa39eb286U
|
||||
#define MENU_LABEL_UNDOLOADSTATE 0x464aaf5cU
|
||||
#define MENU_LABEL_UNDOSAVESTATE 0xdcf4468bU
|
||||
#define MENU_LABEL_RESUME_CONTENT 0xd9f088b0U
|
||||
#define MENU_LABEL_VALUE_RESUME_CONTENT 0xae6e5911U
|
||||
#define MENU_LABEL_VALUE_RESUME 0xce8ac2f6U
|
||||
|
Loading…
x
Reference in New Issue
Block a user