diff options
| author | bunnei <bunneidev@gmail.com> | 2019-10-14 10:29:10 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-10-14 10:29:10 -0400 |
| commit | cd2efed922740da5c2c4df63360faba009e696c1 (patch) | |
| tree | 340266cd6e90446a051d023409ffe1ded832812b /src/core/file_sys/partition_filesystem.cpp | |
| parent | b41692b69b778ce553c03461e4c66d9a3f58175e (diff) | |
| parent | e0b9ee9b941f3fb47a5b219d27c37081f379d05a (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.cpp | 11 |
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; } |
