mirror of
https://git.h3cjp.net/H3cJP/citra.git
synced 2024-11-28 06:52:47 +00:00
Merge pull request #1509 from DarkLordZach/device-save-data
savedata_factory: Add DeviceSaveData and fix TemporaryStorage
This commit is contained in:
commit
afe22d8405
|
@ -51,6 +51,13 @@ ResultVal<VirtualDir> SaveDataFactory::Open(SaveDataSpaceId space, SaveDataDescr
|
||||||
meta.title_id);
|
meta.title_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (meta.type == SaveDataType::DeviceSaveData && meta.user_id != u128{0, 0}) {
|
||||||
|
LOG_WARNING(Service_FS,
|
||||||
|
"Possibly incorrect SaveDataDescriptor, type is DeviceSaveData but user_id is "
|
||||||
|
"non-zero ({:016X}{:016X})",
|
||||||
|
meta.user_id[1], meta.user_id[0]);
|
||||||
|
}
|
||||||
|
|
||||||
std::string save_directory =
|
std::string save_directory =
|
||||||
GetFullPath(space, meta.type, meta.title_id, meta.user_id, meta.save_id);
|
GetFullPath(space, meta.type, meta.title_id, meta.user_id, meta.save_id);
|
||||||
|
|
||||||
|
@ -92,6 +99,9 @@ std::string SaveDataFactory::GetFullPath(SaveDataSpaceId space, SaveDataType typ
|
||||||
case SaveDataSpaceId::NandUser:
|
case SaveDataSpaceId::NandUser:
|
||||||
out = "/user/";
|
out = "/user/";
|
||||||
break;
|
break;
|
||||||
|
case SaveDataSpaceId::TemporaryStorage:
|
||||||
|
out = "/temp/";
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
ASSERT_MSG(false, "Unrecognized SaveDataSpaceId: {:02X}", static_cast<u8>(space));
|
ASSERT_MSG(false, "Unrecognized SaveDataSpaceId: {:02X}", static_cast<u8>(space));
|
||||||
}
|
}
|
||||||
|
@ -100,10 +110,11 @@ std::string SaveDataFactory::GetFullPath(SaveDataSpaceId space, SaveDataType typ
|
||||||
case SaveDataType::SystemSaveData:
|
case SaveDataType::SystemSaveData:
|
||||||
return fmt::format("{}save/{:016X}/{:016X}{:016X}", out, save_id, user_id[1], user_id[0]);
|
return fmt::format("{}save/{:016X}/{:016X}{:016X}", out, save_id, user_id[1], user_id[0]);
|
||||||
case SaveDataType::SaveData:
|
case SaveDataType::SaveData:
|
||||||
|
case SaveDataType::DeviceSaveData:
|
||||||
return fmt::format("{}save/{:016X}/{:016X}{:016X}/{:016X}", out, 0, user_id[1], user_id[0],
|
return fmt::format("{}save/{:016X}/{:016X}{:016X}/{:016X}", out, 0, user_id[1], user_id[0],
|
||||||
title_id);
|
title_id);
|
||||||
case SaveDataType::TemporaryStorage:
|
case SaveDataType::TemporaryStorage:
|
||||||
return fmt::format("{}temp/{:016X}/{:016X}{:016X}/{:016X}", out, 0, user_id[1], user_id[0],
|
return fmt::format("{}{:016X}/{:016X}{:016X}/{:016X}", out, 0, user_id[1], user_id[0],
|
||||||
title_id);
|
title_id);
|
||||||
default:
|
default:
|
||||||
ASSERT_MSG(false, "Unrecognized SaveDataType: {:02X}", static_cast<u8>(type));
|
ASSERT_MSG(false, "Unrecognized SaveDataType: {:02X}", static_cast<u8>(type));
|
||||||
|
|
Loading…
Reference in a new issue