From 17d8e25cbfd0c8937c8791bc1941af85f9541666 Mon Sep 17 00:00:00 2001 From: Zach Hilman Date: Tue, 20 Nov 2018 17:49:09 -0500 Subject: settings: Add option to dump ExeFS of games upon launch When enabled, all exefs(es) will be copied to yuzu/dump//exefs. --- src/core/file_sys/patch_manager.cpp | 9 +++++++++ src/core/settings.h | 1 + 2 files changed, 10 insertions(+) (limited to 'src/core') diff --git a/src/core/file_sys/patch_manager.cpp b/src/core/file_sys/patch_manager.cpp index 8d062eb3e..f56b1c773 100644 --- a/src/core/file_sys/patch_manager.cpp +++ b/src/core/file_sys/patch_manager.cpp @@ -57,6 +57,15 @@ VirtualDir PatchManager::PatchExeFS(VirtualDir exefs) const { if (exefs == nullptr) return exefs; + if (Settings::values.dump_exefs) { + LOG_INFO(Loader, "Dumping ExeFS for title_id={:016X}", title_id); + const auto dump_dir = Service::FileSystem::GetModificationDumpRoot(title_id); + if (dump_dir != nullptr) { + const auto exefs_dir = GetOrCreateDirectoryRelative(dump_dir, "/exefs"); + VfsRawCopyD(exefs, exefs_dir); + } + } + const auto installed = Service::FileSystem::GetUnionContents(); // Game Updates diff --git a/src/core/settings.h b/src/core/settings.h index e424479f2..9767bc162 100644 --- a/src/core/settings.h +++ b/src/core/settings.h @@ -159,6 +159,7 @@ struct Values { bool use_gdbstub; u16 gdbstub_port; std::string program_args; + bool dump_exefs; bool dump_nso; // WebService -- cgit v1.2.3