diff options
author | Zach Hilman <zachhilman@gmail.com> | 2019-04-29 00:42:36 +0200 |
---|---|---|
committer | Zach Hilman <zachhilman@gmail.com> | 2019-09-30 23:20:49 +0200 |
commit | f2073217a4b074f53e1932eaf41cf08d6296b21f (patch) | |
tree | ea7d7fddd9023e42ac37a2219efecaaa6a1ac03c /src | |
parent | vfs: Add function to extract ZIP file into virtual filesystem (diff) | |
download | yuzu-f2073217a4b074f53e1932eaf41cf08d6296b21f.tar yuzu-f2073217a4b074f53e1932eaf41cf08d6296b21f.tar.gz yuzu-f2073217a4b074f53e1932eaf41cf08d6296b21f.tar.bz2 yuzu-f2073217a4b074f53e1932eaf41cf08d6296b21f.tar.lz yuzu-f2073217a4b074f53e1932eaf41cf08d6296b21f.tar.xz yuzu-f2073217a4b074f53e1932eaf41cf08d6296b21f.tar.zst yuzu-f2073217a4b074f53e1932eaf41cf08d6296b21f.zip |
Diffstat (limited to 'src')
-rw-r--r-- | src/core/file_sys/bis_factory.cpp | 5 | ||||
-rw-r--r-- | src/core/file_sys/bis_factory.h | 2 | ||||
-rw-r--r-- | src/core/hle/service/filesystem/filesystem.cpp | 9 |
3 files changed, 16 insertions, 0 deletions
diff --git a/src/core/file_sys/bis_factory.cpp b/src/core/file_sys/bis_factory.cpp index 8f758d6d9..0af44f340 100644 --- a/src/core/file_sys/bis_factory.cpp +++ b/src/core/file_sys/bis_factory.cpp @@ -136,4 +136,9 @@ u64 BISFactory::GetFullNANDTotalSpace() const { return static_cast<u64>(Settings::values.nand_total_size); } +VirtualDir BISFactory::GetBCATDirectory(u64 title_id) const { + return GetOrCreateDirectoryRelative(nand_root, + fmt::format("/system/save/bcat/{:016X}", title_id)); +} + } // namespace FileSys diff --git a/src/core/file_sys/bis_factory.h b/src/core/file_sys/bis_factory.h index bdfe728c9..8f0451c98 100644 --- a/src/core/file_sys/bis_factory.h +++ b/src/core/file_sys/bis_factory.h @@ -61,6 +61,8 @@ public: u64 GetUserNANDTotalSpace() const; u64 GetFullNANDTotalSpace() const; + VirtualDir GetBCATDirectory(u64 title_id) const; + private: VirtualDir nand_root; VirtualDir load_root; diff --git a/src/core/hle/service/filesystem/filesystem.cpp b/src/core/hle/service/filesystem/filesystem.cpp index 14cd0e322..9cb107668 100644 --- a/src/core/hle/service/filesystem/filesystem.cpp +++ b/src/core/hle/service/filesystem/filesystem.cpp @@ -674,6 +674,15 @@ FileSys::VirtualDir FileSystemController::GetModificationDumpRoot(u64 title_id) return bis_factory->GetModificationDumpRoot(title_id); } +FileSys::VirtualDir GetBCATDirectory(u64 title_id) { + LOG_TRACE(Service_FS, "Opening BCAT root for tid={:016X}", title_id); + + if (bis_factory == nullptr) + return nullptr; + + return bis_factory->GetBCATDirectory(title_id); +} + void FileSystemController::CreateFactories(FileSys::VfsFilesystem& vfs, bool overwrite) { if (overwrite) { bis_factory = nullptr; |