diff --git a/command.c b/command.c index 64b5f6c2d4..b062f2ccd6 100644 --- a/command.c +++ b/command.c @@ -987,7 +987,7 @@ static bool command_event_disk_control_append_image(const char *path) * If we actually use append_image, we assume that we * started out in a single disk case, and that this way * of doing it makes the most sense. */ - path_set_names(path); + path_set(RARCH_PATH_NAMES, path); path_fill_names(); } diff --git a/paths.c b/paths.c index d69d4fba7a..179a2e67f2 100644 --- a/paths.c +++ b/paths.c @@ -423,28 +423,6 @@ static void path_init_savefile_internal(void) path_init_savefile_rtc(); } -void path_set_names(const char *path) -{ - global_t *global = global_get_ptr(); - - path_set_basename(path); - - if (global) - { - if (!retroarch_override_setting_is_set(RARCH_OVERRIDE_SETTING_SAVE_PATH)) - fill_pathname_noext(global->name.savefile, path_main_basename, - file_path_str(FILE_PATH_SRM_EXTENSION), sizeof(global->name.savefile)); - - if (!retroarch_override_setting_is_set(RARCH_OVERRIDE_SETTING_STATE_PATH)) - fill_pathname_noext(global->name.savestate, path_main_basename, - file_path_str(FILE_PATH_STATE_EXTENSION), sizeof(global->name.savestate)); - - fill_pathname_noext(global->name.cheatfile, path_main_basename, - file_path_str(FILE_PATH_CHT_EXTENSION), sizeof(global->name.cheatfile)); - } - - path_set_redirect(); -} void path_fill_names(void) { @@ -524,6 +502,29 @@ size_t path_get_core_size(void) return sizeof(path_libretro); } +static void path_set_names(const char *path) +{ + global_t *global = global_get_ptr(); + + path_set_basename(path); + + if (global) + { + if (!retroarch_override_setting_is_set(RARCH_OVERRIDE_SETTING_SAVE_PATH)) + fill_pathname_noext(global->name.savefile, path_main_basename, + file_path_str(FILE_PATH_SRM_EXTENSION), sizeof(global->name.savefile)); + + if (!retroarch_override_setting_is_set(RARCH_OVERRIDE_SETTING_STATE_PATH)) + fill_pathname_noext(global->name.savestate, path_main_basename, + file_path_str(FILE_PATH_STATE_EXTENSION), sizeof(global->name.savestate)); + + fill_pathname_noext(global->name.cheatfile, path_main_basename, + file_path_str(FILE_PATH_CHT_EXTENSION), sizeof(global->name.cheatfile)); + } + + path_set_redirect(); +} + bool path_set(enum rarch_path_type type, const char *path) { if (!path) @@ -531,6 +532,9 @@ bool path_set(enum rarch_path_type type, const char *path) switch (type) { + case RARCH_PATH_NAMES: + path_set_names(path); + break; case RARCH_PATH_CORE: strlcpy(path_libretro, path, sizeof(path_libretro)); diff --git a/paths.h b/paths.h index 7b95a636ef..1f930c70d6 100644 --- a/paths.h +++ b/paths.h @@ -35,6 +35,7 @@ enum rarch_path_type { RARCH_PATH_NONE = 0, RARCH_PATH_CORE, + RARCH_PATH_NAMES, RARCH_PATH_CONFIG, RARCH_PATH_CONTENT, RARCH_PATH_CONFIG_APPEND, @@ -61,8 +62,6 @@ bool path_set(enum rarch_path_type type, const char *path); void path_set_redirect(void); -void path_set_names(const char *path); - void path_set_special(char **argv, unsigned num_content); void path_set_basename(const char *path); diff --git a/retroarch.c b/retroarch.c index 132f69ce2d..d1281a3b90 100644 --- a/retroarch.c +++ b/retroarch.c @@ -843,7 +843,7 @@ static void retroarch_parse_input(int argc, char *argv[]) { /* We requested explicit ROM, so use PLAIN core type. */ retroarch_set_current_core_type(CORE_TYPE_PLAIN, false); - path_set_names((const char*)argv[optind]); + path_set(RARCH_PATH_NAMES, (const char*)argv[optind]); } else if (!path_is_subsystem_empty() && optind < argc) {