diff options
| author | 2019-03-21 21:41:59 -0400 | |
|---|---|---|
| committer | 2019-03-21 21:41:59 -0400 | |
| commit | 639f0c524d3406b7c156dc75af4e934c6b5adcb6 (patch) | |
| tree | e03093771bbffc832c48670331cf9af54aa4a9fc /src/core/core.cpp | |
| parent | Merge pull request #2260 from lioncash/sdl (diff) | |
| parent | vm_manager: Remove cheat-specific ranges from VMManager (diff) | |
| download | yuzu-639f0c524d3406b7c156dc75af4e934c6b5adcb6.tar.gz yuzu-639f0c524d3406b7c156dc75af4e934c6b5adcb6.tar.xz yuzu-639f0c524d3406b7c156dc75af4e934c6b5adcb6.zip | |
Merge pull request #1933 from DarkLordZach/cheat-engine
file_sys: Implement parser and interpreter for game memory cheats
Diffstat (limited to 'src/core/core.cpp')
| -rw-r--r-- | src/core/core.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/core/core.cpp b/src/core/core.cpp index 89b3fb418..a88e332be 100644 --- a/src/core/core.cpp +++ b/src/core/core.cpp | |||
| @@ -32,6 +32,7 @@ | |||
| 32 | #include "core/perf_stats.h" | 32 | #include "core/perf_stats.h" |
| 33 | #include "core/settings.h" | 33 | #include "core/settings.h" |
| 34 | #include "core/telemetry_session.h" | 34 | #include "core/telemetry_session.h" |
| 35 | #include "file_sys/cheat_engine.h" | ||
| 35 | #include "frontend/applets/profile_select.h" | 36 | #include "frontend/applets/profile_select.h" |
| 36 | #include "frontend/applets/software_keyboard.h" | 37 | #include "frontend/applets/software_keyboard.h" |
| 37 | #include "frontend/applets/web_browser.h" | 38 | #include "frontend/applets/web_browser.h" |
| @@ -205,6 +206,7 @@ struct System::Impl { | |||
| 205 | GDBStub::Shutdown(); | 206 | GDBStub::Shutdown(); |
| 206 | Service::Shutdown(); | 207 | Service::Shutdown(); |
| 207 | service_manager.reset(); | 208 | service_manager.reset(); |
| 209 | cheat_engine.reset(); | ||
| 208 | telemetry_session.reset(); | 210 | telemetry_session.reset(); |
| 209 | gpu_core.reset(); | 211 | gpu_core.reset(); |
| 210 | 212 | ||
| @@ -255,6 +257,8 @@ struct System::Impl { | |||
| 255 | CpuCoreManager cpu_core_manager; | 257 | CpuCoreManager cpu_core_manager; |
| 256 | bool is_powered_on = false; | 258 | bool is_powered_on = false; |
| 257 | 259 | ||
| 260 | std::unique_ptr<FileSys::CheatEngine> cheat_engine; | ||
| 261 | |||
| 258 | /// Frontend applets | 262 | /// Frontend applets |
| 259 | std::unique_ptr<Core::Frontend::ProfileSelectApplet> profile_selector; | 263 | std::unique_ptr<Core::Frontend::ProfileSelectApplet> profile_selector; |
| 260 | std::unique_ptr<Core::Frontend::SoftwareKeyboardApplet> software_keyboard; | 264 | std::unique_ptr<Core::Frontend::SoftwareKeyboardApplet> software_keyboard; |
| @@ -453,6 +457,13 @@ Tegra::DebugContext* System::GetGPUDebugContext() const { | |||
| 453 | return impl->debug_context.get(); | 457 | return impl->debug_context.get(); |
| 454 | } | 458 | } |
| 455 | 459 | ||
| 460 | void System::RegisterCheatList(const std::vector<FileSys::CheatList>& list, | ||
| 461 | const std::string& build_id, VAddr code_region_start, | ||
| 462 | VAddr code_region_end) { | ||
| 463 | impl->cheat_engine = | ||
| 464 | std::make_unique<FileSys::CheatEngine>(list, build_id, code_region_start, code_region_end); | ||
| 465 | } | ||
| 466 | |||
| 456 | void System::SetFilesystem(std::shared_ptr<FileSys::VfsFilesystem> vfs) { | 467 | void System::SetFilesystem(std::shared_ptr<FileSys::VfsFilesystem> vfs) { |
| 457 | impl->virtual_filesystem = std::move(vfs); | 468 | impl->virtual_filesystem = std::move(vfs); |
| 458 | } | 469 | } |