summaryrefslogtreecommitdiff
path: root/src/yuzu
diff options
context:
space:
mode:
authorMorph <39850852+Morph1984@users.noreply.github.com>2022-10-16 22:58:44 -0400
committerMorph <39850852+Morph1984@users.noreply.github.com>2022-10-16 23:49:55 -0400
commitae453ab6a829942a0db25b59e2cf97b5f7f1ecf9 (patch)
treed34f7a52166b9bf1332f3d1ccfc3332b21e1d93e /src/yuzu
parentd574bb46105a0184701e45b3e87e1dfad9cdfc49 (diff)
savedata_factory: Detect future save data paths
Enable compatibility for new account/device save paths planned on a future implementation.
Diffstat (limited to 'src/yuzu')
-rw-r--r--src/yuzu/main.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp
index a94624be6..d05c7ece8 100644
--- a/src/yuzu/main.cpp
+++ b/src/yuzu/main.cpp
@@ -1895,6 +1895,8 @@ void GMainWindow::OnGameListOpenFolder(u64 program_id, GameListOpenTarget target
case GameListOpenTarget::SaveData: {
open_target = tr("Save Data");
const auto nand_dir = Common::FS::GetYuzuPath(Common::FS::YuzuPath::NANDDir);
+ auto vfs_nand_dir =
+ vfs->OpenDirectory(Common::FS::PathToUTF8String(nand_dir), FileSys::Mode::Read);
if (has_user_save) {
// User save data
@@ -1921,15 +1923,15 @@ void GMainWindow::OnGameListOpenFolder(u64 program_id, GameListOpenTarget target
ASSERT(user_id);
const auto user_save_data_path = FileSys::SaveDataFactory::GetFullPath(
- *system, FileSys::SaveDataSpaceId::NandUser, FileSys::SaveDataType::SaveData,
- program_id, user_id->AsU128(), 0);
+ *system, vfs_nand_dir, FileSys::SaveDataSpaceId::NandUser,
+ FileSys::SaveDataType::SaveData, program_id, user_id->AsU128(), 0);
path = Common::FS::ConcatPathSafe(nand_dir, user_save_data_path);
} else {
// Device save data
const auto device_save_data_path = FileSys::SaveDataFactory::GetFullPath(
- *system, FileSys::SaveDataSpaceId::NandUser, FileSys::SaveDataType::SaveData,
- program_id, {}, 0);
+ *system, vfs_nand_dir, FileSys::SaveDataSpaceId::NandUser,
+ FileSys::SaveDataType::SaveData, program_id, {}, 0);
path = Common::FS::ConcatPathSafe(nand_dir, device_save_data_path);
}