From 37850eeee57adfb5318aff7cd19bf9ba334ab738 Mon Sep 17 00:00:00 2001 From: Zach Hilman Date: Thu, 30 May 2019 19:36:18 -0400 Subject: [PATCH] core: Update RegisterCheatList for new VM --- src/core/core.cpp | 17 +++++++++-------- src/core/core.h | 10 +++++++--- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/src/core/core.cpp b/src/core/core.cpp index f22244cf7c..67ec8d4b98 100644 --- a/src/core/core.cpp +++ b/src/core/core.cpp @@ -37,6 +37,7 @@ #include "core/hle/service/service.h" #include "core/hle/service/sm/sm.h" #include "core/loader/loader.h" +#include "core/memory/cheat_engine.h" #include "core/perf_stats.h" #include "core/reporter.h" #include "core/settings.h" @@ -329,7 +330,7 @@ struct System::Impl { CpuCoreManager cpu_core_manager; bool is_powered_on = false; - std::unique_ptr cheat_engine; + std::unique_ptr cheat_engine; std::unique_ptr memory_freezer; /// Frontend applets @@ -544,13 +545,6 @@ Tegra::DebugContext* System::GetGPUDebugContext() const { return impl->debug_context.get(); } -void System::RegisterCheatList(const std::vector& list, - const std::string& build_id, VAddr code_region_start, - VAddr code_region_end) { - impl->cheat_engine = std::make_unique(*this, list, build_id, - code_region_start, code_region_end); -} - void System::SetFilesystem(std::shared_ptr vfs) { impl->virtual_filesystem = std::move(vfs); } @@ -559,6 +553,13 @@ std::shared_ptr System::GetFilesystem() const { return impl->virtual_filesystem; } +void System::RegisterCheatList(const std::vector& list, + const std::array& build_id, VAddr main_region_begin, + u64 main_region_size) { + impl->cheat_engine = std::make_unique(*this, list, build_id); + impl->cheat_engine->SetMainMemoryParameters(main_region_begin, main_region_size); +} + void System::SetAppletFrontendSet(Service::AM::Applets::AppletFrontendSet&& set) { impl->applet_manager.SetAppletFrontendSet(std::move(set)); } diff --git a/src/core/core.h b/src/core/core.h index bb2962fdd7..d2a3c82d8a 100644 --- a/src/core/core.h +++ b/src/core/core.h @@ -18,7 +18,6 @@ class EmuWindow; } // namespace Core::Frontend namespace FileSys { -class CheatList; class ContentProvider; class ContentProviderUnion; enum class ContentProviderUnionSlot; @@ -36,6 +35,10 @@ class AppLoader; enum class ResultStatus : u16; } // namespace Loader +namespace Memory { +struct CheatEntry; +} // namespace Memory + namespace Service { namespace AM::Applets { @@ -286,8 +289,9 @@ public: std::shared_ptr GetFilesystem() const; - void RegisterCheatList(const std::vector& list, const std::string& build_id, - VAddr code_region_start, VAddr code_region_end); + void RegisterCheatList(const std::vector& list, + const std::array& build_id, VAddr main_region_begin, + u64 main_region_size); void SetAppletFrontendSet(Service::AM::Applets::AppletFrontendSet&& set);