mirror of
https://github.com/libretro/RetroArch
synced 2025-03-30 07:20:36 +00:00
Add 'Save As' option for remaps and overrides (#15630)
This commit is contained in:
parent
a6435775e4
commit
12136ad516
@ -1850,7 +1850,7 @@ void command_event_save_current_config(enum override_type type)
|
||||
case OVERRIDE_CORE:
|
||||
case OVERRIDE_CONTENT_DIR:
|
||||
{
|
||||
int8_t ret = config_save_overrides(type, &runloop_st->system, false);
|
||||
int8_t ret = config_save_overrides(type, &runloop_st->system, false, NULL);
|
||||
char msg[256];
|
||||
|
||||
msg[0] = '\0';
|
||||
@ -1904,7 +1904,7 @@ void command_event_remove_current_config(enum override_type type)
|
||||
|
||||
msg[0] = '\0';
|
||||
|
||||
if (config_save_overrides(type, &runloop_st->system, true))
|
||||
if (config_save_overrides(type, &runloop_st->system, true, NULL))
|
||||
strlcpy(msg, msg_hash_to_str(MSG_OVERRIDES_REMOVED_SUCCESSFULLY), sizeof(msg));
|
||||
else
|
||||
strlcpy(msg, msg_hash_to_str(MSG_OVERRIDES_ERROR_REMOVING), sizeof(msg));
|
||||
|
@ -5222,7 +5222,8 @@ bool config_save_file(const char *path)
|
||||
*
|
||||
* Returns: true (1) on success, (-1) if nothing to write, otherwise returns false (0).
|
||||
**/
|
||||
int8_t config_save_overrides(enum override_type type, void *data, bool remove)
|
||||
int8_t config_save_overrides(enum override_type type,
|
||||
void *data, bool remove, const char *path)
|
||||
{
|
||||
int tmp_i = 0;
|
||||
unsigned i = 0;
|
||||
@ -5507,6 +5508,13 @@ int8_t config_save_overrides(enum override_type type, void *data, bool remove)
|
||||
FILE_PATH_CONFIG_EXTENSION,
|
||||
sizeof(override_path));
|
||||
break;
|
||||
case OVERRIDE_AS:
|
||||
fill_pathname_join_special_ext(override_path,
|
||||
config_directory, core_name,
|
||||
path,
|
||||
FILE_PATH_CONFIG_EXTENSION,
|
||||
sizeof(override_path));
|
||||
break;
|
||||
case OVERRIDE_NONE:
|
||||
default:
|
||||
break;
|
||||
@ -5758,11 +5766,15 @@ bool input_remapping_save_file(const char *path)
|
||||
bool ret;
|
||||
unsigned i, j;
|
||||
char remap_file_dir[PATH_MAX_LENGTH];
|
||||
char key_strings[RARCH_FIRST_CUSTOM_BIND + 8][8] = {
|
||||
"b", "y", "select", "start",
|
||||
"up", "down", "left", "right",
|
||||
"a", "x", "l", "r", "l2", "r2",
|
||||
"l3", "r3", "l_x+", "l_x-", "l_y+", "l_y-", "r_x+", "r_x-", "r_y+", "r_y-" };
|
||||
char key_strings[RARCH_FIRST_CUSTOM_BIND + 8][8] =
|
||||
{
|
||||
"b", "y", "select", "start",
|
||||
"up", "down", "left", "right",
|
||||
"a", "x", "l", "r",
|
||||
"l2", "r2", "l3", "r3",
|
||||
"l_x+", "l_x-", "l_y+", "l_y-",
|
||||
"r_x+", "r_x-", "r_y+", "r_y-"
|
||||
};
|
||||
config_file_t *conf = NULL;
|
||||
runloop_state_t *runloop_st = runloop_state_get_ptr();
|
||||
settings_t *settings = config_st;
|
||||
|
@ -82,6 +82,7 @@ enum crt_switch_type
|
||||
enum override_type
|
||||
{
|
||||
OVERRIDE_NONE = 0,
|
||||
OVERRIDE_AS,
|
||||
OVERRIDE_CORE,
|
||||
OVERRIDE_CONTENT_DIR,
|
||||
OVERRIDE_GAME
|
||||
@ -1202,7 +1203,8 @@ bool config_save_file(const char *path);
|
||||
*
|
||||
* Returns: true (1) on success, (-1) if nothing to write, otherwise returns false (0).
|
||||
**/
|
||||
int8_t config_save_overrides(enum override_type type, void *data, bool remove);
|
||||
int8_t config_save_overrides(enum override_type type,
|
||||
void *data, bool remove, const char *path);
|
||||
|
||||
/* Replaces currently loaded configuration file with
|
||||
* another one. Will load a dummy core to flush state
|
||||
|
@ -3237,6 +3237,10 @@ MSG_HASH(
|
||||
MENU_ENUM_LABEL_REMAP_FILE_LOAD,
|
||||
"remap_file_load"
|
||||
)
|
||||
MSG_HASH(
|
||||
MENU_ENUM_LABEL_REMAP_FILE_SAVE_AS,
|
||||
"remap_file_save_as"
|
||||
)
|
||||
MSG_HASH(
|
||||
MENU_ENUM_LABEL_REMAP_FILE_SAVE_CORE,
|
||||
"remap_file_save_core"
|
||||
@ -3427,6 +3431,10 @@ MSG_HASH(
|
||||
MENU_ENUM_LABEL_OVERRIDE_FILE_LOAD,
|
||||
"override_file_load"
|
||||
)
|
||||
MSG_HASH(
|
||||
MENU_ENUM_LABEL_OVERRIDE_FILE_SAVE_AS,
|
||||
"override_file_save_as"
|
||||
)
|
||||
MSG_HASH(
|
||||
MENU_ENUM_LABEL_OVERRIDE_UNLOAD,
|
||||
"override_unload"
|
||||
|
@ -8742,29 +8742,65 @@ MSG_HASH(
|
||||
MENU_ENUM_LABEL_VALUE_REMAP_FILE_LOAD,
|
||||
"Load Remap File"
|
||||
)
|
||||
MSG_HASH(
|
||||
MENU_ENUM_SUBLABEL_REMAP_FILE_LOAD,
|
||||
"Load and replace current input mappings."
|
||||
)
|
||||
MSG_HASH(
|
||||
MENU_ENUM_LABEL_VALUE_REMAP_FILE_SAVE_AS,
|
||||
"Save Remap File As"
|
||||
)
|
||||
MSG_HASH(
|
||||
MENU_ENUM_SUBLABEL_REMAP_FILE_SAVE_AS,
|
||||
"Save current input mappings as a new remap file."
|
||||
)
|
||||
MSG_HASH(
|
||||
MENU_ENUM_LABEL_VALUE_REMAP_FILE_SAVE_CORE,
|
||||
"Save Core Remap File"
|
||||
)
|
||||
MSG_HASH(
|
||||
MENU_ENUM_SUBLABEL_REMAP_FILE_SAVE_CORE,
|
||||
"Save a remap file which will apply for all content loaded with this core."
|
||||
)
|
||||
MSG_HASH(
|
||||
MENU_ENUM_LABEL_VALUE_REMAP_FILE_REMOVE_CORE,
|
||||
"Delete Core Remap File"
|
||||
"Remove Core Remap File"
|
||||
)
|
||||
MSG_HASH(
|
||||
MENU_ENUM_SUBLABEL_REMAP_FILE_REMOVE_CORE,
|
||||
"Delete the remap file which will apply for all content loaded with this core."
|
||||
)
|
||||
MSG_HASH(
|
||||
MENU_ENUM_LABEL_VALUE_REMAP_FILE_SAVE_CONTENT_DIR,
|
||||
"Save Content Directory Remap File"
|
||||
)
|
||||
MSG_HASH(
|
||||
MENU_ENUM_SUBLABEL_REMAP_FILE_SAVE_CONTENT_DIR,
|
||||
"Save a remap file which will apply for all content loaded from the same directory as the current file."
|
||||
)
|
||||
MSG_HASH(
|
||||
MENU_ENUM_LABEL_VALUE_REMAP_FILE_REMOVE_CONTENT_DIR,
|
||||
"Delete Game Content Directory Remap File"
|
||||
"Remove Game Content Directory Remap File"
|
||||
)
|
||||
MSG_HASH(
|
||||
MENU_ENUM_SUBLABEL_REMAP_FILE_REMOVE_CONTENT_DIR,
|
||||
"Delete the remap file which will apply for all content loaded from the same directory as the current file."
|
||||
)
|
||||
MSG_HASH(
|
||||
MENU_ENUM_LABEL_VALUE_REMAP_FILE_SAVE_GAME,
|
||||
"Save Game Remap File"
|
||||
)
|
||||
MSG_HASH(
|
||||
MENU_ENUM_SUBLABEL_REMAP_FILE_SAVE_GAME,
|
||||
"Save a remap file which will apply for the current content only."
|
||||
)
|
||||
MSG_HASH(
|
||||
MENU_ENUM_LABEL_VALUE_REMAP_FILE_REMOVE_GAME,
|
||||
"Delete Game Remap File"
|
||||
"Remove Game Remap File"
|
||||
)
|
||||
MSG_HASH(
|
||||
MENU_ENUM_SUBLABEL_REMAP_FILE_REMOVE_GAME,
|
||||
"Delete the remap file which will apply for the current content only."
|
||||
)
|
||||
MSG_HASH(
|
||||
MENU_ENUM_LABEL_VALUE_REMAP_FILE_RESET,
|
||||
@ -9468,6 +9504,14 @@ MSG_HASH(
|
||||
MENU_ENUM_SUBLABEL_OVERRIDE_FILE_LOAD,
|
||||
"Load and replace current configuration."
|
||||
)
|
||||
MSG_HASH(
|
||||
MENU_ENUM_LABEL_VALUE_OVERRIDE_FILE_SAVE_AS,
|
||||
"Save Overrides As"
|
||||
)
|
||||
MSG_HASH(
|
||||
MENU_ENUM_SUBLABEL_OVERRIDE_FILE_SAVE_AS,
|
||||
"Save the current configuration as a new override file."
|
||||
)
|
||||
MSG_HASH(
|
||||
MENU_ENUM_LABEL_VALUE_SAVE_CURRENT_CONFIG_OVERRIDE_CORE,
|
||||
"Save Core Overrides"
|
||||
@ -14004,6 +14048,14 @@ MSG_HASH(
|
||||
MSG_INPUT_PRESET_FILENAME,
|
||||
"Input Preset Filename"
|
||||
)
|
||||
MSG_HASH(
|
||||
MSG_INPUT_OVERRIDE_FILENAME,
|
||||
"Input Override Filename"
|
||||
)
|
||||
MSG_HASH(
|
||||
MSG_INPUT_REMAP_FILENAME,
|
||||
"Input Remap Filename"
|
||||
)
|
||||
MSG_HASH(
|
||||
MSG_INPUT_RENAME_ENTRY,
|
||||
"Rename Title"
|
||||
|
@ -134,7 +134,8 @@ enum
|
||||
|
||||
enum
|
||||
{
|
||||
ACTION_OK_REMAP_FILE_SAVE_CORE = 0,
|
||||
ACTION_OK_REMAP_FILE_SAVE_AS = 0,
|
||||
ACTION_OK_REMAP_FILE_SAVE_CORE,
|
||||
ACTION_OK_REMAP_FILE_SAVE_CONTENT_DIR,
|
||||
ACTION_OK_REMAP_FILE_SAVE_GAME,
|
||||
ACTION_OK_REMAP_FILE_REMOVE_CORE,
|
||||
@ -2386,7 +2387,7 @@ static int generic_action_ok(const char *path,
|
||||
static int default_action_ok_load_content_with_core_from_menu(const char *_path, unsigned _type)
|
||||
{
|
||||
content_ctx_info_t content_info;
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
content_info.argc = 0;
|
||||
content_info.argv = NULL;
|
||||
content_info.args = NULL;
|
||||
@ -3606,6 +3607,13 @@ static int generic_action_ok_remap_file_operation(const char *path,
|
||||
|
||||
switch (action_type)
|
||||
{
|
||||
case ACTION_OK_REMAP_FILE_SAVE_AS:
|
||||
fill_pathname_join_special_ext(remap_file_path,
|
||||
directory_input_remapping, core_name,
|
||||
path,
|
||||
FILE_PATH_REMAP_EXTENSION,
|
||||
sizeof(remap_file_path));
|
||||
break;
|
||||
case ACTION_OK_REMAP_FILE_SAVE_CORE:
|
||||
case ACTION_OK_REMAP_FILE_REMOVE_CORE:
|
||||
fill_pathname_join_special_ext(remap_file_path,
|
||||
@ -3714,6 +3722,44 @@ static int generic_action_ok_remap_file_operation(const char *path,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void menu_input_st_string_cb_remap_file_save_as(
|
||||
void *userdata, const char *str)
|
||||
{
|
||||
#ifdef HAVE_CONFIGFILE
|
||||
if (str && *str)
|
||||
{
|
||||
rarch_setting_t *setting = NULL;
|
||||
settings_t *settings = config_get_ptr();
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
const char *label = menu_st->input_dialog_kb_label;
|
||||
const char *msg_str = NULL;
|
||||
int ret = false;
|
||||
|
||||
if (!string_is_empty(label))
|
||||
setting = menu_setting_find(label);
|
||||
|
||||
if (setting)
|
||||
{
|
||||
if (setting->value.target.string)
|
||||
strlcpy(setting->value.target.string, str, setting->size);
|
||||
if (setting->change_handler)
|
||||
setting->change_handler(setting);
|
||||
menu_setting_generic(setting, 0, false);
|
||||
}
|
||||
else if (!string_is_empty(label))
|
||||
generic_action_ok_remap_file_operation(str, label, 0,
|
||||
0, 0, ACTION_OK_REMAP_FILE_SAVE_AS);
|
||||
}
|
||||
|
||||
menu_input_dialog_end();
|
||||
#endif
|
||||
}
|
||||
|
||||
DEFAULT_ACTION_DIALOG_START(action_ok_remap_file_save_as,
|
||||
msg_hash_to_str(MSG_INPUT_REMAP_FILENAME),
|
||||
(unsigned)idx,
|
||||
menu_input_st_string_cb_remap_file_save_as)
|
||||
|
||||
static int action_ok_remap_file_save_core(const char *path,
|
||||
const char *label, unsigned type, size_t idx, size_t entry_idx)
|
||||
{
|
||||
@ -3819,6 +3865,65 @@ static int action_ok_remap_file_flush(const char *path,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void menu_input_st_string_cb_override_file_save_as(
|
||||
void *userdata, const char *str)
|
||||
{
|
||||
#ifdef HAVE_CONFIGFILE
|
||||
if (str && *str)
|
||||
{
|
||||
rarch_setting_t *setting = NULL;
|
||||
settings_t *settings = config_get_ptr();
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
const char *label = menu_st->input_dialog_kb_label;
|
||||
const char *msg_str = NULL;
|
||||
int ret = false;
|
||||
|
||||
if (!string_is_empty(label))
|
||||
setting = menu_setting_find(label);
|
||||
|
||||
if (setting)
|
||||
{
|
||||
if (setting->value.target.string)
|
||||
strlcpy(setting->value.target.string, str, setting->size);
|
||||
if (setting->change_handler)
|
||||
setting->change_handler(setting);
|
||||
menu_setting_generic(setting, 0, false);
|
||||
}
|
||||
else if (!string_is_empty(label))
|
||||
{
|
||||
runloop_state_t *runloop_st = runloop_state_get_ptr();
|
||||
ret = config_save_overrides(OVERRIDE_AS, &runloop_st->system, false, str);
|
||||
}
|
||||
|
||||
switch (ret)
|
||||
{
|
||||
case 1:
|
||||
msg_str = msg_hash_to_str(MSG_OVERRIDES_SAVED_SUCCESSFULLY);
|
||||
break;
|
||||
case -1:
|
||||
msg_str = msg_hash_to_str(MSG_OVERRIDES_NOT_SAVED);
|
||||
break;
|
||||
default:
|
||||
case 0:
|
||||
msg_str = msg_hash_to_str(MSG_OVERRIDES_ERROR_SAVING);
|
||||
break;
|
||||
}
|
||||
|
||||
runloop_msg_queue_push(
|
||||
msg_str,
|
||||
1, 100, true,
|
||||
NULL, MESSAGE_QUEUE_ICON_DEFAULT, MESSAGE_QUEUE_CATEGORY_INFO);
|
||||
}
|
||||
|
||||
menu_input_dialog_end();
|
||||
#endif
|
||||
}
|
||||
|
||||
DEFAULT_ACTION_DIALOG_START(action_ok_override_file_save_as,
|
||||
msg_hash_to_str(MSG_INPUT_OVERRIDE_FILENAME),
|
||||
(unsigned)idx,
|
||||
menu_input_st_string_cb_override_file_save_as)
|
||||
|
||||
static int action_ok_override_unload(const char *path,
|
||||
const char *label, unsigned type, size_t idx, size_t entry_idx)
|
||||
{
|
||||
@ -4054,7 +4159,7 @@ static int action_ok_file_load_ffmpeg(const char *path,
|
||||
menu_path = menu_stack->list[menu_stack->size - 1].path;
|
||||
|
||||
if (string_is_empty(menu_path))
|
||||
return -1;
|
||||
return -1;
|
||||
fill_pathname_join_special(new_path, menu_path, path,
|
||||
sizeof(new_path));
|
||||
|
||||
@ -8325,7 +8430,7 @@ static int menu_cbs_init_bind_ok_compare_label(menu_file_list_cbs_t *cbs,
|
||||
#if defined(HAVE_CG) || defined(HAVE_GLSL) || defined(HAVE_SLANG) || defined(HAVE_HLSL)
|
||||
{MENU_ENUM_LABEL_VIDEO_SHADER_PASS, action_ok_shader_pass},
|
||||
{MENU_ENUM_LABEL_VIDEO_SHADER_PRESET, action_ok_shader_preset},
|
||||
{MENU_ENUM_LABEL_VIDEO_SHADER_PRESET_PREPEND, action_ok_shader_preset_prepend},
|
||||
{MENU_ENUM_LABEL_VIDEO_SHADER_PRESET_PREPEND, action_ok_shader_preset_prepend},
|
||||
{MENU_ENUM_LABEL_VIDEO_SHADER_PRESET_APPEND, action_ok_shader_preset_append},
|
||||
{MENU_ENUM_LABEL_VIDEO_SHADER_PARAMETERS, action_ok_shader_parameters},
|
||||
{MENU_ENUM_LABEL_VIDEO_SHADER_PRESET_PARAMETERS, action_ok_shader_parameters},
|
||||
@ -8384,7 +8489,7 @@ static int menu_cbs_init_bind_ok_compare_label(menu_file_list_cbs_t *cbs,
|
||||
{MENU_ENUM_LABEL_GOTO_CONTENTLESS_CORES, action_ok_goto_contentless_cores},
|
||||
{MENU_ENUM_LABEL_BROWSE_START, action_ok_browse_url_start},
|
||||
{MENU_ENUM_LABEL_FILE_BROWSER_CORE, action_ok_load_core},
|
||||
{MENU_ENUM_LABEL_FILE_BROWSER_CORE_SELECT_FROM_COLLECTION, action_ok_core_deferred_set},
|
||||
{MENU_ENUM_LABEL_FILE_BROWSER_CORE_SELECT_FROM_COLLECTION,action_ok_core_deferred_set},
|
||||
{MENU_ENUM_LABEL_FILE_BROWSER_CORE_SELECT_FROM_COLLECTION_CURRENT_CORE,action_ok_core_deferred_set},
|
||||
{MENU_ENUM_LABEL_START_CORE, action_ok_start_core},
|
||||
{MENU_ENUM_LABEL_START_NET_RETROPAD, action_ok_start_net_retropad_core},
|
||||
@ -8398,9 +8503,9 @@ static int menu_cbs_init_bind_ok_compare_label(menu_file_list_cbs_t *cbs,
|
||||
{MENU_ENUM_LABEL_LOAD_STATE, action_ok_load_state},
|
||||
{MENU_ENUM_LABEL_UNDO_LOAD_STATE, action_ok_undo_load_state},
|
||||
{MENU_ENUM_LABEL_UNDO_SAVE_STATE, action_ok_undo_save_state},
|
||||
{MENU_ENUM_LABEL_RECORD_REPLAY, action_ok_record_replay},
|
||||
{MENU_ENUM_LABEL_PLAY_REPLAY, action_ok_play_replay},
|
||||
{MENU_ENUM_LABEL_HALT_REPLAY, action_ok_halt_replay},
|
||||
{MENU_ENUM_LABEL_RECORD_REPLAY, action_ok_record_replay},
|
||||
{MENU_ENUM_LABEL_PLAY_REPLAY, action_ok_play_replay},
|
||||
{MENU_ENUM_LABEL_HALT_REPLAY, action_ok_halt_replay},
|
||||
{MENU_ENUM_LABEL_RESUME_CONTENT, action_ok_resume_content},
|
||||
{MENU_ENUM_LABEL_ADD_TO_FAVORITES_PLAYLIST, action_ok_add_to_favorites_playlist},
|
||||
{MENU_ENUM_LABEL_SET_CORE_ASSOCIATION, action_ok_set_core_association},
|
||||
@ -8508,7 +8613,7 @@ static int menu_cbs_init_bind_ok_compare_label(menu_file_list_cbs_t *cbs,
|
||||
{MENU_ENUM_LABEL_PLAYLIST_MANAGER_CLEAN_PLAYLIST, action_ok_playlist_clean},
|
||||
{MENU_ENUM_LABEL_PLAYLIST_MANAGER_REFRESH_PLAYLIST, action_ok_playlist_refresh},
|
||||
{MENU_ENUM_LABEL_RECORDING_SETTINGS, action_ok_push_recording_settings_list},
|
||||
{MENU_ENUM_LABEL_INPUT_RETROPAD_BINDS, action_ok_push_input_retropad_binds_list},
|
||||
{MENU_ENUM_LABEL_INPUT_RETROPAD_BINDS, action_ok_push_input_retropad_binds_list},
|
||||
{MENU_ENUM_LABEL_INPUT_HOTKEY_BINDS, action_ok_push_input_hotkey_binds_list},
|
||||
{MENU_ENUM_LABEL_ACCOUNTS_RETRO_ACHIEVEMENTS, action_ok_push_accounts_cheevos_list},
|
||||
{MENU_ENUM_LABEL_ACCOUNTS_YOUTUBE, action_ok_push_accounts_youtube_list},
|
||||
@ -8560,6 +8665,7 @@ static int menu_cbs_init_bind_ok_compare_label(menu_file_list_cbs_t *cbs,
|
||||
{MENU_ENUM_LABEL_CHEAT_FILE_SAVE_AS, action_ok_cheat_file_save_as},
|
||||
#endif
|
||||
{MENU_ENUM_LABEL_REMAP_FILE_LOAD, action_ok_remap_file},
|
||||
{MENU_ENUM_LABEL_REMAP_FILE_SAVE_AS, action_ok_remap_file_save_as},
|
||||
{MENU_ENUM_LABEL_REMAP_FILE_SAVE_CORE, action_ok_remap_file_save_core},
|
||||
{MENU_ENUM_LABEL_REMAP_FILE_SAVE_CONTENT_DIR, action_ok_remap_file_save_content_dir},
|
||||
{MENU_ENUM_LABEL_REMAP_FILE_SAVE_GAME, action_ok_remap_file_save_game},
|
||||
@ -8569,6 +8675,7 @@ static int menu_cbs_init_bind_ok_compare_label(menu_file_list_cbs_t *cbs,
|
||||
{MENU_ENUM_LABEL_REMAP_FILE_RESET, action_ok_remap_file_reset},
|
||||
{MENU_ENUM_LABEL_REMAP_FILE_FLUSH, action_ok_remap_file_flush},
|
||||
{MENU_ENUM_LABEL_OVERRIDE_FILE_LOAD, action_ok_override_file},
|
||||
{MENU_ENUM_LABEL_OVERRIDE_FILE_SAVE_AS, action_ok_override_file_save_as},
|
||||
{MENU_ENUM_LABEL_OVERRIDE_UNLOAD, action_ok_override_unload},
|
||||
{MENU_ENUM_LABEL_PLAYLISTS_TAB, action_ok_content_collection_list},
|
||||
{MENU_ENUM_LABEL_BROWSE_URL_LIST, action_ok_browse_url_list},
|
||||
@ -8586,7 +8693,7 @@ static int menu_cbs_init_bind_ok_compare_label(menu_file_list_cbs_t *cbs,
|
||||
{MENU_ENUM_LABEL_REWIND_SETTINGS, action_ok_rewind_list},
|
||||
{MENU_ENUM_LABEL_ONSCREEN_DISPLAY_SETTINGS, action_ok_onscreen_display_list},
|
||||
{MENU_ENUM_LABEL_ONSCREEN_NOTIFICATIONS_SETTINGS, action_ok_onscreen_notifications_list},
|
||||
{MENU_ENUM_LABEL_ONSCREEN_NOTIFICATIONS_VIEWS_SETTINGS, action_ok_onscreen_notifications_views_list},
|
||||
{MENU_ENUM_LABEL_ONSCREEN_NOTIFICATIONS_VIEWS_SETTINGS,action_ok_onscreen_notifications_views_list},
|
||||
{MENU_ENUM_LABEL_ONSCREEN_OVERLAY_SETTINGS, action_ok_onscreen_overlay_list},
|
||||
{MENU_ENUM_LABEL_OSK_OVERLAY_SETTINGS, action_ok_osk_overlay_list},
|
||||
{MENU_ENUM_LABEL_MENU_SETTINGS, action_ok_menu_list},
|
||||
@ -8696,12 +8803,12 @@ static int menu_cbs_init_bind_ok_compare_label(menu_file_list_cbs_t *cbs,
|
||||
{MENU_ENUM_LABEL_SCREEN_RESOLUTION, action_ok_video_resolution},
|
||||
{MENU_ENUM_LABEL_PLAYLIST_MANAGER_DEFAULT_CORE, action_ok_playlist_default_core},
|
||||
{MENU_ENUM_LABEL_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE, action_ok_playlist_label_display_mode},
|
||||
{MENU_ENUM_LABEL_PLAYLIST_MANAGER_RIGHT_THUMBNAIL_MODE, action_ok_playlist_right_thumbnail_mode},
|
||||
{MENU_ENUM_LABEL_PLAYLIST_MANAGER_LEFT_THUMBNAIL_MODE, action_ok_playlist_left_thumbnail_mode},
|
||||
{MENU_ENUM_LABEL_PLAYLIST_MANAGER_RIGHT_THUMBNAIL_MODE,action_ok_playlist_right_thumbnail_mode},
|
||||
{MENU_ENUM_LABEL_PLAYLIST_MANAGER_LEFT_THUMBNAIL_MODE,action_ok_playlist_left_thumbnail_mode},
|
||||
{MENU_ENUM_LABEL_PLAYLIST_MANAGER_SORT_MODE, action_ok_playlist_sort_mode},
|
||||
{MENU_ENUM_LABEL_MANUAL_CONTENT_SCAN_SYSTEM_NAME, action_ok_manual_content_scan_system_name},
|
||||
{MENU_ENUM_LABEL_MANUAL_CONTENT_SCAN_CORE_NAME, action_ok_manual_content_scan_core_name},
|
||||
{MENU_ENUM_LABEL_MANUAL_CONTENT_SCAN_DAT_FILE, action_ok_manual_content_scan_dat_file},
|
||||
{MENU_ENUM_LABEL_MANUAL_CONTENT_SCAN_SYSTEM_NAME, action_ok_manual_content_scan_system_name},
|
||||
{MENU_ENUM_LABEL_MANUAL_CONTENT_SCAN_CORE_NAME, action_ok_manual_content_scan_core_name},
|
||||
{MENU_ENUM_LABEL_MANUAL_CONTENT_SCAN_DAT_FILE, action_ok_manual_content_scan_dat_file},
|
||||
};
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(ok_list); i++)
|
||||
|
@ -943,6 +943,10 @@ DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_accounts_retro_achievements,
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_accounts_list, MENU_ENUM_SUBLABEL_ACCOUNTS_LIST)
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_input_meta_rewind, MENU_ENUM_SUBLABEL_INPUT_META_REWIND)
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_restart_content, MENU_ENUM_SUBLABEL_RESTART_CONTENT)
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_override_file_info, MENU_ENUM_SUBLABEL_OVERRIDE_FILE_INFO)
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_override_file_load, MENU_ENUM_SUBLABEL_OVERRIDE_FILE_LOAD)
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_override_file_save_as, MENU_ENUM_SUBLABEL_OVERRIDE_FILE_SAVE_AS)
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_override_unload, MENU_ENUM_SUBLABEL_OVERRIDE_UNLOAD)
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_save_current_config_override_core, MENU_ENUM_SUBLABEL_SAVE_CURRENT_CONFIG_OVERRIDE_CORE)
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_save_current_config_override_content_dir,
|
||||
MENU_ENUM_SUBLABEL_SAVE_CURRENT_CONFIG_OVERRIDE_CONTENT_DIR)
|
||||
@ -951,15 +955,19 @@ DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_remove_current_config_override_core,
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_remove_current_config_override_content_dir,
|
||||
MENU_ENUM_SUBLABEL_REMOVE_CURRENT_CONFIG_OVERRIDE_CONTENT_DIR)
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_remove_current_config_override_game, MENU_ENUM_SUBLABEL_REMOVE_CURRENT_CONFIG_OVERRIDE_GAME)
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_shader_options, MENU_ENUM_SUBLABEL_SHADER_OPTIONS)
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_core_input_remapping_options, MENU_ENUM_SUBLABEL_CORE_INPUT_REMAPPING_OPTIONS)
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_remap_file_manager_list, MENU_ENUM_SUBLABEL_REMAP_FILE_MANAGER_LIST)
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_remap_file_info, MENU_ENUM_SUBLABEL_REMAP_FILE_INFO)
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_remap_file_load, MENU_ENUM_SUBLABEL_REMAP_FILE_LOAD)
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_remap_file_save_as, MENU_ENUM_SUBLABEL_REMAP_FILE_SAVE_AS)
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_remap_file_save_core, MENU_ENUM_SUBLABEL_REMAP_FILE_SAVE_CORE)
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_remap_file_save_content_dir, MENU_ENUM_SUBLABEL_REMAP_FILE_SAVE_CONTENT_DIR)
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_remap_file_save_game, MENU_ENUM_SUBLABEL_REMAP_FILE_SAVE_GAME)
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_remap_file_remove_core, MENU_ENUM_SUBLABEL_REMAP_FILE_REMOVE_CORE)
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_remap_file_remove_content_dir, MENU_ENUM_SUBLABEL_REMAP_FILE_REMOVE_CONTENT_DIR)
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_remap_file_remove_game, MENU_ENUM_SUBLABEL_REMAP_FILE_REMOVE_GAME)
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_remap_file_reset, MENU_ENUM_SUBLABEL_REMAP_FILE_RESET)
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_remap_file_flush, MENU_ENUM_SUBLABEL_REMAP_FILE_FLUSH)
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_override_file_info, MENU_ENUM_SUBLABEL_OVERRIDE_FILE_INFO)
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_override_file_load, MENU_ENUM_SUBLABEL_OVERRIDE_FILE_LOAD)
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_override_unload, MENU_ENUM_SUBLABEL_OVERRIDE_UNLOAD)
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_core_option_override_list, MENU_ENUM_SUBLABEL_CORE_OPTION_OVERRIDE_LIST)
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_core_option_override_info, MENU_ENUM_SUBLABEL_CORE_OPTION_OVERRIDE_INFO)
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_core_options_reset, MENU_ENUM_SUBLABEL_CORE_OPTIONS_RESET)
|
||||
@ -1129,6 +1137,7 @@ DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_recording_output_directory,
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_recording_config_directory, MENU_ENUM_SUBLABEL_RECORDING_CONFIG_DIRECTORY)
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_video_font_path, MENU_ENUM_SUBLABEL_VIDEO_FONT_PATH)
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_video_shaders_enable, MENU_ENUM_SUBLABEL_VIDEO_SHADERS_ENABLE)
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_shader_options, MENU_ENUM_SUBLABEL_SHADER_OPTIONS)
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_shader_apply_changes, MENU_ENUM_SUBLABEL_SHADER_APPLY_CHANGES)
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_shader_watch_for_changes, MENU_ENUM_SUBLABEL_SHADER_WATCH_FOR_CHANGES)
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_video_shader_remember_last_dir, MENU_ENUM_SUBLABEL_VIDEO_SHADER_REMEMBER_LAST_DIR)
|
||||
@ -3210,6 +3219,30 @@ int menu_cbs_init_bind_sublabel(menu_file_list_cbs_t *cbs,
|
||||
case MENU_ENUM_LABEL_REMAP_FILE_INFO:
|
||||
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_remap_file_info);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_REMAP_FILE_LOAD:
|
||||
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_remap_file_load);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_REMAP_FILE_SAVE_AS:
|
||||
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_remap_file_save_as);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_REMAP_FILE_SAVE_GAME:
|
||||
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_remap_file_save_game);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_REMAP_FILE_SAVE_CONTENT_DIR:
|
||||
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_remap_file_save_content_dir);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_REMAP_FILE_SAVE_CORE:
|
||||
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_remap_file_save_core);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_REMAP_FILE_REMOVE_GAME:
|
||||
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_remap_file_remove_game);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_REMAP_FILE_REMOVE_CONTENT_DIR:
|
||||
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_remap_file_remove_content_dir);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_REMAP_FILE_REMOVE_CORE:
|
||||
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_remap_file_remove_core);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_REMAP_FILE_RESET:
|
||||
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_remap_file_reset);
|
||||
break;
|
||||
@ -3222,6 +3255,9 @@ int menu_cbs_init_bind_sublabel(menu_file_list_cbs_t *cbs,
|
||||
case MENU_ENUM_LABEL_OVERRIDE_FILE_LOAD:
|
||||
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_override_file_load);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_OVERRIDE_FILE_SAVE_AS:
|
||||
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_override_file_save_as);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_OVERRIDE_UNLOAD:
|
||||
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_override_unload);
|
||||
break;
|
||||
@ -3248,21 +3284,21 @@ int menu_cbs_init_bind_sublabel(menu_file_list_cbs_t *cbs,
|
||||
case MENU_ENUM_LABEL_SAVE_CURRENT_CONFIG_OVERRIDE_GAME:
|
||||
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_save_current_config_override_game);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_SAVE_CURRENT_CONFIG_OVERRIDE_CORE:
|
||||
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_save_current_config_override_core);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_SAVE_CURRENT_CONFIG_OVERRIDE_CONTENT_DIR:
|
||||
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_save_current_config_override_content_dir);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_SAVE_CURRENT_CONFIG_OVERRIDE_CORE:
|
||||
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_save_current_config_override_core);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_REMOVE_CURRENT_CONFIG_OVERRIDE_GAME:
|
||||
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_remove_current_config_override_game);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_REMOVE_CURRENT_CONFIG_OVERRIDE_CORE:
|
||||
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_remove_current_config_override_core);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_REMOVE_CURRENT_CONFIG_OVERRIDE_CONTENT_DIR:
|
||||
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_remove_current_config_override_content_dir);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_REMOVE_CURRENT_CONFIG_OVERRIDE_CORE:
|
||||
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_remove_current_config_override_core);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_RESTART_CONTENT:
|
||||
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_restart_content);
|
||||
break;
|
||||
|
@ -10364,7 +10364,6 @@ static void materialui_list_insert(
|
||||
break;
|
||||
case MENU_SETTING_ACTION_CORE_OPTION_OVERRIDE_LIST:
|
||||
case MENU_SETTING_ACTION_REMAP_FILE_MANAGER_LIST:
|
||||
case MENU_SETTING_ACTION_REMAP_FILE_LOAD:
|
||||
node->icon_texture_index = MUI_TEXTURE_SETTINGS;
|
||||
node->icon_type = MUI_ICON_TYPE_INTERNAL;
|
||||
break;
|
||||
@ -10455,6 +10454,7 @@ static void materialui_list_insert(
|
||||
case MENU_SETTING_ACTION_CORE_CREATE_BACKUP:
|
||||
case MENU_SETTING_ACTION_GAME_SPECIFIC_CORE_OPTIONS_CREATE:
|
||||
case MENU_SETTING_ACTION_FOLDER_SPECIFIC_CORE_OPTIONS_CREATE:
|
||||
case MENU_SETTING_ACTION_REMAP_FILE_SAVE_AS:
|
||||
case MENU_SETTING_ACTION_REMAP_FILE_SAVE_CORE:
|
||||
case MENU_SETTING_ACTION_REMAP_FILE_SAVE_CONTENT_DIR:
|
||||
case MENU_SETTING_ACTION_REMAP_FILE_SAVE_GAME:
|
||||
@ -10462,6 +10462,7 @@ static void materialui_list_insert(
|
||||
node->icon_type = MUI_ICON_TYPE_INTERNAL;
|
||||
break;
|
||||
case MENU_SETTING_ACTION_CORE_RESTORE_BACKUP:
|
||||
case MENU_SETTING_ACTION_REMAP_FILE_LOAD:
|
||||
node->icon_texture_index = MUI_TEXTURE_LOAD_STATE;
|
||||
node->icon_type = MUI_ICON_TYPE_INTERNAL;
|
||||
break;
|
||||
@ -10665,6 +10666,7 @@ static void materialui_list_insert(
|
||||
node->icon_type = MUI_ICON_TYPE_INTERNAL;
|
||||
}
|
||||
else if ( string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_LOAD_STATE))
|
||||
|| string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_OVERRIDE_FILE_LOAD))
|
||||
|| string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_SWITCH_INSTALLED_CORES_PFD)))
|
||||
{
|
||||
node->icon_texture_index = MUI_TEXTURE_LOAD_STATE;
|
||||
@ -10711,6 +10713,7 @@ static void materialui_list_insert(
|
||||
else if (
|
||||
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_SAVESTATE_LIST))
|
||||
|| string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_SAVE_STATE))
|
||||
|| string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_OVERRIDE_FILE_SAVE_AS))
|
||||
|| string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_SAVE_CURRENT_CONFIG_OVERRIDE_CORE))
|
||||
|| string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_SAVE_CURRENT_CONFIG_OVERRIDE_CONTENT_DIR))
|
||||
|| string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_SAVE_CURRENT_CONFIG_OVERRIDE_GAME))
|
||||
@ -10919,11 +10922,6 @@ static void materialui_list_insert(
|
||||
|| string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_NETPLAY_ENABLE_HOST))
|
||||
|| string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_NETPLAY_KICK))
|
||||
|| string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_NETPLAY_BAN))
|
||||
|| string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_REMAP_FILE_LOAD))
|
||||
|| string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_REMAP_FILE_SAVE_CORE))
|
||||
|| string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_REMAP_FILE_SAVE_CONTENT_DIR))
|
||||
|| string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_REMAP_FILE_SAVE_GAME))
|
||||
|| string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_OVERRIDE_FILE_LOAD))
|
||||
|| string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_INPUT_META_CHEAT_SEARCH))
|
||||
|| string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_CHEAT_SEARCH_SETTINGS))
|
||||
|| string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_CHEAT_START_OR_CONT))
|
||||
|
@ -1990,6 +1990,8 @@ static uintptr_t ozone_entries_icon_get_texture(
|
||||
case MENU_ENUM_LABEL_VIDEO_SHADER_PRESET_SAVE:
|
||||
case MENU_ENUM_LABEL_VIDEO_SHADER_PRESET_SAVE_AS:
|
||||
case MENU_ENUM_LABEL_CHEAT_FILE_SAVE_AS:
|
||||
case MENU_ENUM_LABEL_OVERRIDE_FILE_SAVE_AS:
|
||||
case MENU_ENUM_LABEL_REMAP_FILE_SAVE_AS:
|
||||
case MENU_ENUM_LABEL_QUICK_MENU_SHOW_SAVESTATE_SUBMENU:
|
||||
case MENU_ENUM_LABEL_QUICK_MENU_SHOW_SAVE_LOAD_STATE:
|
||||
case MENU_ENUM_LABEL_QUICK_MENU_SHOW_REPLAY:
|
||||
|
@ -3140,6 +3140,8 @@ static uintptr_t xmb_icon_get_id(xmb_handle_t *xmb,
|
||||
case MENU_ENUM_LABEL_VIDEO_SHADER_PRESET_SAVE:
|
||||
case MENU_ENUM_LABEL_VIDEO_SHADER_PRESET_SAVE_AS:
|
||||
case MENU_ENUM_LABEL_CHEAT_FILE_SAVE_AS:
|
||||
case MENU_ENUM_LABEL_OVERRIDE_FILE_SAVE_AS:
|
||||
case MENU_ENUM_LABEL_REMAP_FILE_SAVE_AS:
|
||||
case MENU_ENUM_LABEL_QUICK_MENU_SHOW_SAVESTATE_SUBMENU:
|
||||
case MENU_ENUM_LABEL_QUICK_MENU_SHOW_SAVE_LOAD_STATE:
|
||||
case MENU_ENUM_LABEL_QUICK_MENU_SHOW_REPLAY:
|
||||
|
@ -1368,6 +1368,14 @@ static unsigned menu_displaylist_parse_remap_file_manager_list(file_list_t *list
|
||||
MENU_SETTING_ACTION_REMAP_FILE_LOAD, 0, 0, NULL))
|
||||
count++;
|
||||
|
||||
/* Save as */
|
||||
if (menu_entries_append(list,
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_REMAP_FILE_SAVE_AS),
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_REMAP_FILE_SAVE_AS),
|
||||
MENU_ENUM_LABEL_REMAP_FILE_SAVE_AS,
|
||||
MENU_SETTING_ACTION_REMAP_FILE_SAVE_AS, 0, 0, NULL))
|
||||
count++;
|
||||
|
||||
if (!game_remap_active)
|
||||
{
|
||||
/* Save remap files */
|
||||
@ -6543,6 +6551,15 @@ unsigned menu_displaylist_build_list(
|
||||
|
||||
if (!settings->bools.kiosk_mode_enable)
|
||||
{
|
||||
/* Save as */
|
||||
if (menu_entries_append(list,
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_OVERRIDE_FILE_SAVE_AS),
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_OVERRIDE_FILE_SAVE_AS),
|
||||
MENU_ENUM_LABEL_OVERRIDE_FILE_SAVE_AS,
|
||||
MENU_SETTING_ACTION, 0, 0, NULL))
|
||||
count++;
|
||||
|
||||
/* Save/Remove game/content_dir/core */
|
||||
if (has_content)
|
||||
{
|
||||
if (settings->bools.quick_menu_show_save_game_overrides)
|
||||
|
@ -294,6 +294,7 @@ enum menu_settings_type
|
||||
MENU_SETTING_ACTION_CORE_OPTIONS_FLUSH,
|
||||
|
||||
MENU_SETTING_ACTION_REMAP_FILE_LOAD,
|
||||
MENU_SETTING_ACTION_REMAP_FILE_SAVE_AS,
|
||||
MENU_SETTING_ACTION_REMAP_FILE_SAVE_CORE,
|
||||
MENU_SETTING_ACTION_REMAP_FILE_SAVE_CONTENT_DIR,
|
||||
MENU_SETTING_ACTION_REMAP_FILE_SAVE_GAME,
|
||||
|
12
msg_hash.h
12
msg_hash.h
@ -379,8 +379,10 @@ enum msg_hash_enums
|
||||
MSG_APPLYING_CHEAT,
|
||||
MSG_APPLYING_PATCH,
|
||||
MSG_INPUT_CHEAT,
|
||||
MSG_INPUT_PRESET_FILENAME,
|
||||
MSG_INPUT_CHEAT_FILENAME,
|
||||
MSG_INPUT_PRESET_FILENAME,
|
||||
MSG_INPUT_OVERRIDE_FILENAME,
|
||||
MSG_INPUT_REMAP_FILENAME,
|
||||
MSG_INPUT_RENAME_ENTRY,
|
||||
MSG_INPUT_ENABLE_SETTINGS_PASSWORD,
|
||||
MSG_INPUT_ENABLE_SETTINGS_PASSWORD_OK,
|
||||
@ -634,10 +636,9 @@ enum msg_hash_enums
|
||||
MENU_ENUM_LABEL_DISCORD_STATUS_PAUSED,
|
||||
MENU_ENUM_LABEL_VALUE_DISCORD_STATUS_PAUSED,
|
||||
|
||||
|
||||
MENU_ENUM_LABEL_VALUE_REMAP_FILE,
|
||||
MENU_ENUM_LABEL_VALUE_CHEAT_FILE,
|
||||
MENU_ENUM_LABEL_VALUE_CHEAT_FILE_APPEND,
|
||||
|
||||
MENU_ENUM_LABEL_HELP_INPUT_RETROPAD_BINDS,
|
||||
MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_BEGIN,
|
||||
MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_END = MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_BEGIN + RARCH_BIND_LIST_END,
|
||||
@ -2996,6 +2997,7 @@ enum msg_hash_enums
|
||||
MENU_LABEL(VIDEO_SHADER_PRESET_APPEND),
|
||||
MENU_LABEL(CHEAT_FILE_LOAD),
|
||||
MENU_LABEL(CHEAT_FILE_LOAD_APPEND),
|
||||
MENU_LABEL(CHEAT_FILE_SAVE_AS),
|
||||
|
||||
MENU_ENUM_LABEL_MESSAGE,
|
||||
MENU_ENUM_LABEL_INFO_SCREEN,
|
||||
@ -3171,9 +3173,11 @@ enum msg_hash_enums
|
||||
MENU_ENUM_LABEL_EXIT_EMULATOR,
|
||||
MENU_ENUM_LABEL_OSK_ENABLE,
|
||||
|
||||
MENU_ENUM_LABEL_VALUE_REMAP_FILE,
|
||||
MENU_LABEL(REMAP_FILE_MANAGER_LIST),
|
||||
MENU_LABEL(REMAP_FILE_INFO),
|
||||
MENU_LABEL(REMAP_FILE_LOAD),
|
||||
MENU_LABEL(REMAP_FILE_SAVE_AS),
|
||||
MENU_LABEL(REMAP_FILE_SAVE_CORE),
|
||||
MENU_LABEL(REMAP_FILE_SAVE_CONTENT_DIR),
|
||||
MENU_LABEL(REMAP_FILE_SAVE_GAME),
|
||||
@ -3185,13 +3189,13 @@ enum msg_hash_enums
|
||||
|
||||
MENU_LABEL(OVERRIDE_FILE_INFO),
|
||||
MENU_LABEL(OVERRIDE_FILE_LOAD),
|
||||
MENU_LABEL(OVERRIDE_FILE_SAVE_AS),
|
||||
MENU_LABEL(OVERRIDE_UNLOAD),
|
||||
|
||||
MENU_LABEL(RESTART_CONTENT),
|
||||
MENU_LABEL(RESUME),
|
||||
MENU_LABEL(RESUME_CONTENT),
|
||||
|
||||
MENU_LABEL(CHEAT_FILE_SAVE_AS),
|
||||
MENU_LABEL(DELETE_ENTRY),
|
||||
MENU_LABEL(RENAME_ENTRY),
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user