aboutsummaryrefslogtreecommitdiff
path: root/src/core/file_sys/savedata_factory.cpp
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2020-05-16 12:39:58 -0400
committerGitHub <noreply@github.com>2020-05-16 12:39:58 -0400
commit65010607b7a474e677360a5a465a3169fec41ba0 (patch)
tree1e101dc9ecbfcfdf1da6f848e002dc21df0b3a96 /src/core/file_sys/savedata_factory.cpp
parent3c378a31b5ed9b6e8c8b5dd1861a81c8e55e75ae (diff)
parent47b97b95773e1cf1c4acd387ce4011b34cb67180 (diff)
Merge pull request #3665 from bunnei/device-save
FS: Improve emulation of device saves
Diffstat (limited to 'src/core/file_sys/savedata_factory.cpp')
-rw-r--r--src/core/file_sys/savedata_factory.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/core/file_sys/savedata_factory.cpp b/src/core/file_sys/savedata_factory.cpp
index f3def93ab..adfd2c1a4 100644
--- a/src/core/file_sys/savedata_factory.cpp
+++ b/src/core/file_sys/savedata_factory.cpp
@@ -57,7 +57,8 @@ void PrintSaveDataDescriptorWarnings(SaveDataDescriptor meta) {
bool ShouldSaveDataBeAutomaticallyCreated(SaveDataSpaceId space, const SaveDataDescriptor& desc) {
return desc.type == SaveDataType::CacheStorage || desc.type == SaveDataType::TemporaryStorage ||
(space == SaveDataSpaceId::NandUser && ///< Normal Save Data -- Current Title & User
- desc.type == SaveDataType::SaveData && desc.title_id == 0 && desc.save_id == 0);
+ (desc.type == SaveDataType::SaveData || desc.type == SaveDataType::DeviceSaveData) &&
+ desc.title_id == 0 && desc.save_id == 0);
}
} // Anonymous namespace
@@ -139,8 +140,10 @@ std::string SaveDataFactory::GetFullPath(SaveDataSpaceId space, SaveDataType typ
u128 user_id, u64 save_id) {
// According to switchbrew, if a save is of type SaveData and the title id field is 0, it should
// be interpreted as the title id of the current process.
- if (type == SaveDataType::SaveData && title_id == 0) {
- title_id = Core::System::GetInstance().CurrentProcess()->GetTitleID();
+ if (type == SaveDataType::SaveData || type == SaveDataType::DeviceSaveData) {
+ if (title_id == 0) {
+ title_id = Core::System::GetInstance().CurrentProcess()->GetTitleID();
+ }
}
std::string out = GetSaveDataSpaceIdPath(space);