From 017d05fd36820e9817dea0993e184bb2b19dd48a Mon Sep 17 00:00:00 2001 From: twinaphex Date: Sat, 17 Sep 2016 14:53:30 +0200 Subject: [PATCH] Create more dirs functions --- configuration.c | 8 ++++---- dirs.c | 52 +++++++++++++++++++++++++++++++++++++++++++++++++ dirs.h | 12 ++++++++++++ 3 files changed, 68 insertions(+), 4 deletions(-) diff --git a/configuration.c b/configuration.c index 9031ecaf36..28dfeacd61 100644 --- a/configuration.c +++ b/configuration.c @@ -637,9 +637,9 @@ static int populate_settings_path(settings_t *settings, struct config_path_setti SETTING_PATH("audio_filter_dir", settings->directory.audio_filter, true, NULL, true); SETTING_PATH("savefile_directory", - global->dir.savefile, true, NULL, false); + dir_get_savefile_ptr(), true, NULL, false); SETTING_PATH("savestate_directory", - global->dir.savestate, true, NULL, false); + dir_get_savestate_ptr(), true, NULL, false); #ifdef HAVE_MENU SETTING_PATH("rgui_browser_directory", settings->directory.menu_content, true, NULL, true); @@ -1119,9 +1119,9 @@ static void config_set_defaults(void) /* Make sure settings from other configs carry over into defaults * for another config. */ if (!retroarch_override_setting_is_set(RARCH_OVERRIDE_SETTING_SAVE_PATH)) - *global->dir.savefile = '\0'; + dir_clear_savefile(); if (!retroarch_override_setting_is_set(RARCH_OVERRIDE_SETTING_STATE_PATH)) - *global->dir.savestate = '\0'; + dir_clear_savestate(); *settings->path.libretro_info = '\0'; if (!retroarch_override_setting_is_set(RARCH_OVERRIDE_SETTING_LIBRETRO_DIRECTORY)) diff --git a/dirs.c b/dirs.c index d887c9442c..b975f0989e 100644 --- a/dirs.c +++ b/dirs.c @@ -29,6 +29,58 @@ #include "runloop.h" +void dir_clear_savefile(void) +{ + global_t *global = global_get_ptr(); + + if (global) + *global->dir.savefile = '\0'; +} + +void dir_clear_savestate(void) +{ + global_t *global = global_get_ptr(); + + if (global) + *global->dir.savestate = '\0'; +} + +char *dir_get_savefile_ptr(void) +{ + global_t *global = global_get_ptr(); + + if (!global) + return NULL; + return global->dir.savefile; +} + +const char *dir_get_savefile(void) +{ + global_t *global = global_get_ptr(); + + if (!global) + return NULL; + return global->dir.savefile; +} + +char *dir_get_savestate_ptr(void) +{ + global_t *global = global_get_ptr(); + + if (!global) + return NULL; + return global->dir.savestate; +} + +const char *dir_get_savestate(void) +{ + global_t *global = global_get_ptr(); + + if (!global) + return NULL; + return global->dir.savestate; +} + void dir_set_savestate(const char *path) { global_t *global = global_get_ptr(); diff --git a/dirs.h b/dirs.h index 2b6ccca3f3..7537371084 100644 --- a/dirs.h +++ b/dirs.h @@ -21,6 +21,18 @@ RETRO_BEGIN_DECLS +void dir_clear_savefile(void); + +void dir_clear_savestate(void); + +char *dir_get_savefile_ptr(void); + +const char *dir_get_savefile(void); + +char *dir_get_savestate_ptr(void); + +const char *dir_get_savestate(void); + void dir_set_savefile(const char *path); void dir_set_savestate(const char *path);