aboutsummaryrefslogtreecommitdiff
path: root/src/core/file_sys/partition_filesystem.cpp
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2019-10-14 10:29:10 -0400
committerGitHub <noreply@github.com>2019-10-14 10:29:10 -0400
commitcd2efed922740da5c2c4df63360faba009e696c1 (patch)
tree340266cd6e90446a051d023409ffe1ded832812b /src/core/file_sys/partition_filesystem.cpp
parentb41692b69b778ce553c03461e4c66d9a3f58175e (diff)
parente0b9ee9b941f3fb47a5b219d27c37081f379d05a (diff)
Merge pull request #2930 from DarkLordZach/gamecard-partitions
file_sys: Add code to access raw gamecard partitions and lazily load them
Diffstat (limited to 'src/core/file_sys/partition_filesystem.cpp')
-rw-r--r--src/core/file_sys/partition_filesystem.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/core/file_sys/partition_filesystem.cpp b/src/core/file_sys/partition_filesystem.cpp
index a5259a593..846986736 100644
--- a/src/core/file_sys/partition_filesystem.cpp
+++ b/src/core/file_sys/partition_filesystem.cpp
@@ -65,6 +65,9 @@ PartitionFilesystem::PartitionFilesystem(std::shared_ptr<VfsFile> file) {
std::string name(
reinterpret_cast<const char*>(&file_data[strtab_offset + entry.strtab_offset]));
+ offsets.insert_or_assign(name, content_offset + entry.offset);
+ sizes.insert_or_assign(name, entry.size);
+
pfs_files.emplace_back(std::make_shared<OffsetVfsFile>(
file, entry.size, content_offset + entry.offset, std::move(name)));
}
@@ -78,6 +81,14 @@ Loader::ResultStatus PartitionFilesystem::GetStatus() const {
return status;
}
+std::map<std::string, u64> PartitionFilesystem::GetFileOffsets() const {
+ return offsets;
+}
+
+std::map<std::string, u64> PartitionFilesystem::GetFileSizes() const {
+ return sizes;
+}
+
std::vector<std::shared_ptr<VfsFile>> PartitionFilesystem::GetFiles() const {
return pfs_files;
}