diff options
Diffstat (limited to 'Source/Core/Common/FileUtil.cpp')
| -rw-r--r-- | Source/Core/Common/FileUtil.cpp | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/Source/Core/Common/FileUtil.cpp b/Source/Core/Common/FileUtil.cpp index 3257393cca..e798826cf5 100644 --- a/Source/Core/Common/FileUtil.cpp +++ b/Source/Core/Common/FileUtil.cpp @@ -13,6 +13,7 @@ #include <sys/stat.h> #include <vector> +#include "Common/Assert.h" #include "Common/Common.h" #include "Common/CommonFuncs.h" #include "Common/CommonPaths.h" @@ -52,6 +53,10 @@ // REMEMBER: strdup considered harmful! namespace File { +#ifdef ANDROID +static std::string s_android_sys_directory; +#endif + #ifdef _WIN32 FileInfo::FileInfo(const std::string& path) { @@ -696,8 +701,6 @@ std::string GetSysDirectory() #define SYSDATA_DIR "Sys" #elif defined __APPLE__ #define SYSDATA_DIR "Contents/Resources/Sys" -#elif defined ANDROID -#define SYSDATA_DIR "/sdcard/dolphin-emu" #else #ifdef DATA_DIR #define SYSDATA_DIR DATA_DIR "sys" @@ -710,6 +713,9 @@ std::string GetSysDirectory() sysDir = GetBundleDirectory() + DIR_SEP + SYSDATA_DIR; #elif defined(_WIN32) || defined(LINUX_LOCAL_DEV) sysDir = GetExeDirectory() + DIR_SEP + SYSDATA_DIR; +#elif defined ANDROID + sysDir = s_android_sys_directory; + _assert_msg_(COMMON, !sysDir.empty(), "Sys directory has not been set"); #else sysDir = SYSDATA_DIR; #endif @@ -719,6 +725,14 @@ std::string GetSysDirectory() return sysDir; } +#ifdef ANDROID +void SetSysDirectory(const std::string& path) +{ + INFO_LOG(COMMON, "Setting Sys directory to %s", path.c_str()); + s_android_sys_directory = path; +} +#endif + static std::string s_user_paths[NUM_PATH_INDICES]; static void RebuildUserDirectories(unsigned int dir_index) { |
