diff options
author | liamwhite <liamwhite@users.noreply.github.com> | 2023-08-21 16:09:15 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-21 16:09:15 -0400 |
commit | a921851ba6238bc541a0b95af573815bab9608fa (patch) | |
tree | 38cadc81ef6487cd976e7308915c0694b1c5e671 /src | |
parent | 18c08cee43ea674738897dff1c869e78016fd7a1 (diff) | |
parent | 133ff3989bf9fc703da1b805c5520243d965a1cc (diff) |
Merge pull request #11342 from liamwhite/skyline-4
patch_manager: apply manual HTML patches when present
Diffstat (limited to 'src')
-rw-r--r-- | src/core/file_sys/patch_manager.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/core/file_sys/patch_manager.cpp b/src/core/file_sys/patch_manager.cpp index 0701e3f0e..a4baddb15 100644 --- a/src/core/file_sys/patch_manager.cpp +++ b/src/core/file_sys/patch_manager.cpp @@ -352,7 +352,8 @@ static void ApplyLayeredFS(VirtualFile& romfs, u64 title_id, ContentRecordType t const Service::FileSystem::FileSystemController& fs_controller) { const auto load_dir = fs_controller.GetModificationLoadRoot(title_id); const auto sdmc_load_dir = fs_controller.GetSDMCModificationLoadRoot(title_id); - if ((type != ContentRecordType::Program && type != ContentRecordType::Data) || + if ((type != ContentRecordType::Program && type != ContentRecordType::Data && + type != ContentRecordType::HtmlDocument) || (load_dir == nullptr && sdmc_load_dir == nullptr)) { return; } @@ -381,6 +382,12 @@ static void ApplyLayeredFS(VirtualFile& romfs, u64 title_id, ContentRecordType t auto ext_dir = FindSubdirectoryCaseless(subdir, "romfs_ext"); if (ext_dir != nullptr) layers_ext.push_back(std::make_shared<CachedVfsDirectory>(ext_dir)); + + if (type == ContentRecordType::HtmlDocument) { + auto manual_dir = FindSubdirectoryCaseless(subdir, "manual_html"); + if (manual_dir != nullptr) + layers.push_back(std::make_shared<CachedVfsDirectory>(manual_dir)); + } } // When there are no layers to apply, return early as there is no need to rebuild the RomFS |