diff options
| author | xbzk <xbzk@eden-emu.dev> | 2026-03-04 22:51:35 +0100 |
|---|---|---|
| committer | crueter <crueter@eden-emu.dev> | 2026-03-04 22:51:35 +0100 |
| commit | 7f5de6bcd651f8145e4746c76d0531b6560fd5e4 (patch) | |
| tree | caefce3d338f65309db1725ac84257c99c14784e /src/core/file_sys/registered_cache.h | |
| parent | c682306788055c57953aea38fdded95a0c6dfc09 (diff) | |
[android/fs] external content loader + nca/xci patches (#3596)
Foreword: WHY DON'T EVERYBODY USE ONE FOLDER FOR EACH GAME+CONTENTS? AIN'T THIS THE FORMAT GAMES COME WHEN YOU BUE THEM? DO YOU LIVE WITH ALL YOUR FRIENDS AND HAVE A 2ND HOUSE FOR ALL THE CHILDREN?
Nice, i feel better now.
This feat extends Maufeat's work on external content loading. It harmonically additions:
"...also, if in each game folder X, you find a folder Y, and in this folder Y you detect ONLY a single game, then mount all external content for that game found in that folder Y and its subfolders."
Permanent (not toggleable). External Content folders are supported equally.
Also:
-Reworked several routines for preserving single source of truth between android and other systems;
-Fixed the annoying unknown format error for content files, by providing proper format detection.
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3596
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Co-authored-by: xbzk <xbzk@eden-emu.dev>
Co-committed-by: xbzk <xbzk@eden-emu.dev>
Diffstat (limited to 'src/core/file_sys/registered_cache.h')
| -rw-r--r-- | src/core/file_sys/registered_cache.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/core/file_sys/registered_cache.h b/src/core/file_sys/registered_cache.h index 2e39f74db8..32134d1c48 100644 --- a/src/core/file_sys/registered_cache.h +++ b/src/core/file_sys/registered_cache.h @@ -9,6 +9,7 @@ #include <array> #include <functional> #include <memory> +#include <optional> #include <string> #include <vector> #include <ankerl/unordered_dense.h> @@ -262,6 +263,8 @@ public: VirtualFile file); void AddEntryWithVersion(TitleType title_type, ContentRecordType content_type, u64 title_id, u32 version, const std::string& version_string, VirtualFile file); + bool AddEntriesFromContainer(VirtualFile file, bool only_content = false, + std::optional<u64> base_program_id = std::nullopt); void ClearAllEntries(); void Refresh() override; @@ -276,7 +279,6 @@ public: std::vector<ExternalUpdateEntry> ListUpdateVersions(u64 title_id) const; VirtualFile GetEntryForVersion(u64 title_id, ContentRecordType type, u32 version) const; - bool HasMultipleVersions(u64 title_id, ContentRecordType type) const; private: std::map<std::tuple<TitleType, ContentRecordType, u64>, VirtualFile> entries; @@ -303,7 +305,6 @@ public: std::vector<ExternalUpdateEntry> ListUpdateVersions(u64 title_id) const; VirtualFile GetEntryForVersion(u64 title_id, ContentRecordType type, u32 version) const; - bool HasMultipleVersions(u64 title_id, ContentRecordType type) const; private: void ScanDirectory(const VirtualDir& dir); |
