diff options
Diffstat (limited to 'src/core/file_sys/archive_extsavedata.cpp')
-rw-r--r-- | src/core/file_sys/archive_extsavedata.cpp | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/core/file_sys/archive_extsavedata.cpp b/src/core/file_sys/archive_extsavedata.cpp index 38d498d0..e50c58a5 100644 --- a/src/core/file_sys/archive_extsavedata.cpp +++ b/src/core/file_sys/archive_extsavedata.cpp @@ -30,8 +30,8 @@ std::string GetExtSaveDataPath(const std::string& mount_point, const Path& path) std::string GetExtDataContainerPath(const std::string& mount_point, bool shared) { if (shared) return Common::StringFromFormat("%sdata/%s/extdata/", mount_point.c_str(), SYSTEM_ID.c_str()); - - return Common::StringFromFormat("%sNintendo 3DS/%s/%s/extdata/", mount_point.c_str(), + + return Common::StringFromFormat("%sNintendo 3DS/%s/%s/extdata/", mount_point.c_str(), SYSTEM_ID.c_str(), SDCARD_ID.c_str()); } @@ -71,7 +71,7 @@ bool ArchiveFactory_ExtSaveData::Initialize() { } ResultVal<std::unique_ptr<ArchiveBackend>> ArchiveFactory_ExtSaveData::Open(const Path& path) { - std::string fullpath = GetExtSaveDataPath(mount_point, path); + std::string fullpath = GetExtSaveDataPath(mount_point, path) + "user/"; if (!FileUtil::Exists(fullpath)) { // TODO(Subv): Check error code, this one is probably wrong return ResultCode(ErrorDescription::FS_NotFormatted, ErrorModule::FS, @@ -82,8 +82,11 @@ ResultVal<std::unique_ptr<ArchiveBackend>> ArchiveFactory_ExtSaveData::Open(cons } ResultCode ArchiveFactory_ExtSaveData::Format(const Path& path) { - std::string fullpath = GetExtSaveDataPath(mount_point, path); - FileUtil::CreateFullPath(fullpath); + // These folders are always created with the ExtSaveData + std::string user_path = GetExtSaveDataPath(mount_point, path) + "user/"; + std::string boss_path = GetExtSaveDataPath(mount_point, path) + "boss/"; + FileUtil::CreateFullPath(user_path); + FileUtil::CreateFullPath(boss_path); return RESULT_SUCCESS; } |