mirror of
https://github.com/citra-emu/citra-canary.git
synced 2024-12-26 04:15:39 +00:00
Archives: Change the folder layout of some archives.
This is to better represent the hardware layout, they are still aren't quite accurate, but this better and will help a bit when implementing the other archives like NAND-RO and NAND-RW
This commit is contained in:
parent
031237e52c
commit
3bc9f5509b
|
@ -40,11 +40,12 @@
|
|||
#define MAPS_DIR "maps"
|
||||
#define CACHE_DIR "cache"
|
||||
#define SDMC_DIR "sdmc"
|
||||
#define EXTSAVEDATA_DIR "extsavedata"
|
||||
#define EXTSAVEDATA_DIR "sdmc/Nintendo 3DS/extdata"
|
||||
#define SHAREDEXTSAVEDATA_DIR "nand/data/extdata"
|
||||
#define SAVEDATA_DIR "savedata"
|
||||
#define SAVEDATACHECK_DIR "savedatacheck"
|
||||
#define SYSDATA_DIR "sysdata"
|
||||
#define SYSSAVEDATA_DIR "syssavedata"
|
||||
#define SYSSAVEDATA_DIR "nand/data/sysdata"
|
||||
#define SHADERCACHE_DIR "shader_cache"
|
||||
#define STATESAVES_DIR "state_saves"
|
||||
#define SCREENSHOTS_DIR "screenShots"
|
||||
|
|
|
@ -677,6 +677,7 @@ const std::string& GetUserPath(const unsigned int DirIDX, const std::string &new
|
|||
paths[D_CACHE_IDX] = paths[D_USER_IDX] + CACHE_DIR DIR_SEP;
|
||||
paths[D_SDMC_IDX] = paths[D_USER_IDX] + SDMC_DIR DIR_SEP;
|
||||
paths[D_EXTSAVEDATA] = paths[D_USER_IDX] + EXTSAVEDATA_DIR DIR_SEP;
|
||||
paths[D_SHAREDEXTSAVEDATA] = paths[D_USER_IDX] + SHAREDEXTSAVEDATA_DIR DIR_SEP;
|
||||
paths[D_SAVEDATA_IDX] = paths[D_USER_IDX] + SAVEDATA_DIR DIR_SEP;
|
||||
paths[D_SAVEDATACHECK_IDX] = paths[D_USER_IDX] + SAVEDATACHECK_DIR DIR_SEP;
|
||||
paths[D_SYSDATA_IDX] = paths[D_USER_IDX] + SYSDATA_DIR DIR_SEP;
|
||||
|
@ -723,6 +724,7 @@ const std::string& GetUserPath(const unsigned int DirIDX, const std::string &new
|
|||
paths[D_CACHE_IDX] = paths[D_USER_IDX] + CACHE_DIR DIR_SEP;
|
||||
paths[D_SDMC_IDX] = paths[D_USER_IDX] + SDMC_DIR DIR_SEP;
|
||||
paths[D_EXTSAVEDATA] = paths[D_USER_IDX] + EXTSAVEDATA_DIR DIR_SEP;
|
||||
paths[D_SHAREDEXTSAVEDATA] = paths[D_USER_IDX] + SHAREDEXTSAVEDATA_DIR DIR_SEP;
|
||||
paths[D_SAVEDATA_IDX] = paths[D_USER_IDX] + SAVEDATA_DIR DIR_SEP;
|
||||
paths[D_SAVEDATACHECK_IDX] = paths[D_USER_IDX] + SAVEDATACHECK_DIR DIR_SEP;
|
||||
paths[D_SYSSAVEDATA_IDX] = paths[D_USER_IDX] + SYSSAVEDATA_DIR DIR_SEP;
|
||||
|
|
|
@ -28,6 +28,7 @@ enum {
|
|||
D_SCREENSHOTS_IDX,
|
||||
D_SDMC_IDX,
|
||||
D_EXTSAVEDATA,
|
||||
D_SHAREDEXTSAVEDATA,
|
||||
D_SAVEDATA_IDX,
|
||||
D_SAVEDATACHECK_IDX,
|
||||
D_SYSDATA_IDX,
|
||||
|
|
|
@ -19,10 +19,9 @@ namespace FileSys {
|
|||
static std::string GetExtSaveDataPath(const std::string& mount_point, const Path& path) {
|
||||
std::vector<u8> vec_data = path.AsBinary();
|
||||
const u32* data = reinterpret_cast<const u32*>(vec_data.data());
|
||||
u32 media_type = data[0];
|
||||
u32 save_low = data[1];
|
||||
u32 save_high = data[2];
|
||||
return Common::StringFromFormat("%s%s/%08X/%08X/", mount_point.c_str(), media_type == 0 ? "nand" : "sdmc", save_high, save_low);
|
||||
return Common::StringFromFormat("%s%08X/%08X/", mount_point.c_str(), save_high, save_low);
|
||||
}
|
||||
|
||||
Archive_ExtSaveData::Archive_ExtSaveData(const std::string& mount_point)
|
||||
|
|
|
@ -455,7 +455,7 @@ void ArchiveInit() {
|
|||
else
|
||||
LOG_ERROR(Service_FS, "Can't instantiate ExtSaveData archive with path %s", extsavedata_directory.c_str());
|
||||
|
||||
std::string sharedextsavedata_directory = FileUtil::GetUserPath(D_EXTSAVEDATA);
|
||||
std::string sharedextsavedata_directory = FileUtil::GetUserPath(D_SHAREDEXTSAVEDATA);
|
||||
auto sharedextsavedata_archive = Common::make_unique<FileSys::Archive_ExtSaveData>(sharedextsavedata_directory);
|
||||
if (sharedextsavedata_archive->Initialize())
|
||||
CreateArchive(std::move(sharedextsavedata_archive), ArchiveIdCode::SharedExtSaveData);
|
||||
|
|
|
@ -142,7 +142,7 @@ Interface::Interface() {
|
|||
Register(FunctionTable, ARRAY_SIZE(FunctionTable));
|
||||
// Create the SharedExtSaveData archive 0xF000000B and the gamecoin.dat file
|
||||
// TODO(Subv): In the future we should use the FS service to query this archive
|
||||
std::string extsavedata_directory = FileUtil::GetUserPath(D_EXTSAVEDATA);
|
||||
std::string extsavedata_directory = FileUtil::GetUserPath(D_SHAREDEXTSAVEDATA);
|
||||
ptm_shared_extsavedata = Common::make_unique<FileSys::Archive_ExtSaveData>(extsavedata_directory);
|
||||
if (!ptm_shared_extsavedata->Initialize()) {
|
||||
LOG_CRITICAL(Service_PTM, "Could not initialize ExtSaveData archive for the PTM:U service");
|
||||
|
|
Loading…
Reference in a new issue