diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/InstallableFragment.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/InstallableFragment.kt index c02411d1bb..381457f29d 100644 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/InstallableFragment.kt +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/InstallableFragment.kt @@ -31,6 +31,7 @@ import org.yuzu.yuzu_emu.model.TaskState import org.yuzu.yuzu_emu.ui.main.MainActivity import org.yuzu.yuzu_emu.utils.DirectoryInitialization import org.yuzu.yuzu_emu.utils.FileUtil +import org.yuzu.yuzu_emu.utils.NativeConfig import org.yuzu.yuzu_emu.utils.ViewUtils.updateMargins import org.yuzu.yuzu_emu.utils.collect import java.io.BufferedOutputStream @@ -99,11 +100,11 @@ class InstallableFragment : Fragment() { }, export = { val oldSaveDataFolder = File( - "${DirectoryInitialization.userDirectory}/nand" + + NativeConfig.getSaveDir() + NativeLibrary.getDefaultProfileSaveDataRoot(false) ) val futureSaveDataFolder = File( - "${DirectoryInitialization.userDirectory}/nand" + + NativeConfig.getSaveDir() + NativeLibrary.getDefaultProfileSaveDataRoot(true) ) if (!oldSaveDataFolder.exists() && !futureSaveDataFolder.exists()) { @@ -213,7 +214,7 @@ class InstallableFragment : Fragment() { } val internalSaveFolder = File( - "${DirectoryInitialization.userDirectory}/nand$baseSaveDir" + "${NativeConfig.getSaveDir()}$baseSaveDir" ) internalSaveFolder.deleteRecursively() internalSaveFolder.mkdir() @@ -290,7 +291,7 @@ class InstallableFragment : Fragment() { cacheSaveDir.mkdir() val oldSaveDataFolder = File( - "${DirectoryInitialization.userDirectory}/nand" + + NativeConfig.getSaveDir() + NativeLibrary.getDefaultProfileSaveDataRoot(false) ) if (oldSaveDataFolder.exists()) { @@ -298,7 +299,7 @@ class InstallableFragment : Fragment() { } val futureSaveDataFolder = File( - "${DirectoryInitialization.userDirectory}/nand" + + NativeConfig.getSaveDir() + NativeLibrary.getDefaultProfileSaveDataRoot(true) ) if (futureSaveDataFolder.exists()) { diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/model/Game.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/model/Game.kt index 6859b77806..1ee5b7b9f8 100644 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/model/Game.kt +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/model/Game.kt @@ -15,6 +15,7 @@ import org.yuzu.yuzu_emu.YuzuApplication import org.yuzu.yuzu_emu.activities.EmulationActivity import org.yuzu.yuzu_emu.utils.DirectoryInitialization import org.yuzu.yuzu_emu.utils.FileUtil +import org.yuzu.yuzu_emu.utils.NativeConfig import java.time.LocalDateTime import java.time.format.DateTimeFormatter @@ -57,8 +58,7 @@ class Game( }.zip" val saveDir: String - get() = DirectoryInitialization.userDirectory + "/nand" + - NativeLibrary.getSavePath(programId) + get() = NativeConfig.getSaveDir() + NativeLibrary.getSavePath(programId) val addonDir: String get() = DirectoryInitialization.userDirectory + "/load/" + programIdHex + "/" diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/ui/main/MainActivity.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/ui/main/MainActivity.kt index 538d8f6e49..23716ac5a5 100644 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/ui/main/MainActivity.kt +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/ui/main/MainActivity.kt @@ -456,7 +456,7 @@ class MainActivity : AppCompatActivity(), ThemeProvider { val filterNCA = FilenameFilter { _, dirName -> dirName.endsWith(".nca") } val firmwarePath = - File(DirectoryInitialization.userDirectory + "/nand/system/Contents/registered/") + File(NativeConfig.getNandDir() + "/system/Contents/registered/") val cacheFirmwareDir = File("${cacheDir.path}/registered/") ProgressDialogFragment.newInstance( @@ -499,7 +499,7 @@ class MainActivity : AppCompatActivity(), ThemeProvider { fun uninstallFirmware() { val firmwarePath = - File(DirectoryInitialization.userDirectory + "/nand/system/Contents/registered/") + File(NativeConfig.getNandDir() + "/system/Contents/registered/") ProgressDialogFragment.newInstance( this, R.string.firmware_uninstalling diff --git a/src/android/app/src/main/jni/native.cpp b/src/android/app/src/main/jni/native.cpp index f28f4a9b7b..463a63b71c 100644 --- a/src/android/app/src/main/jni/native.cpp +++ b/src/android/app/src/main/jni/native.cpp @@ -1389,12 +1389,12 @@ jstring Java_org_yuzu_yuzu_1emu_NativeLibrary_getSavePath(JNIEnv* env, jobject j const auto user_id = manager.GetUser(static_cast(0)); ASSERT(user_id); - const auto nandDir = Common::FS::GetEdenPath(Common::FS::EdenPath::NANDDir); - auto vfsNandDir = system.GetFilesystem()->OpenDirectory(Common::FS::PathToUTF8String(nandDir), + const auto saveDir = Common::FS::GetEdenPath(Common::FS::EdenPath::SaveDir); + auto vfsSaveDir = system.GetFilesystem()->OpenDirectory(Common::FS::PathToUTF8String(saveDir), FileSys::OpenMode::Read); const auto user_save_data_path = FileSys::SaveDataFactory::GetFullPath( - {}, vfsNandDir, FileSys::SaveDataSpaceId::User, FileSys::SaveDataType::Account, program_id, + {}, vfsSaveDir, FileSys::SaveDataSpaceId::User, FileSys::SaveDataType::Account, program_id, user_id->AsU128(), 0); return Common::Android::ToJString(env, user_save_data_path); }