From d1c1793a342c61c2e04ca19136fa2ecf50d34898 Mon Sep 17 00:00:00 2001 From: JosJuice Date: Sat, 9 Sep 2017 18:53:55 +0200 Subject: Don't expose SYSDATA_DIR in a header --- Source/Core/Common/FileUtil.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'Source/Core/Common/FileUtil.cpp') diff --git a/Source/Core/Common/FileUtil.cpp b/Source/Core/Common/FileUtil.cpp index 78141d6095..3257393cca 100644 --- a/Source/Core/Common/FileUtil.cpp +++ b/Source/Core/Common/FileUtil.cpp @@ -692,6 +692,20 @@ std::string GetSysDirectory() { std::string sysDir; +#if defined(_WIN32) || defined(LINUX_LOCAL_DEV) +#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" +#else +#define SYSDATA_DIR "sys" +#endif +#endif + #if defined(__APPLE__) sysDir = GetBundleDirectory() + DIR_SEP + SYSDATA_DIR; #elif defined(_WIN32) || defined(LINUX_LOCAL_DEV) -- cgit v1.2.3 From b3b7aef09a99eb10ce73a9a625654c69c74cf7bc Mon Sep 17 00:00:00 2001 From: JosJuice Date: Sat, 9 Sep 2017 11:27:24 +0200 Subject: Android: Extract Sys to a different folder than the User folder --- Source/Core/Common/FileUtil.cpp | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'Source/Core/Common/FileUtil.cpp') 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 #include +#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) { -- cgit v1.2.3