summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZach Hilman <zachhilman@gmail.com>2018-12-23 03:32:05 +0100
committerZach Hilman <zachhilman@gmail.com>2019-03-05 00:41:29 +0100
commit70535466877748ed765c11170c573767f61bd744 (patch)
tree956127b47ab9296e9591e256ed9d8c0492102e6a
parentcheat_engine: Add parser and interpreter for game cheats (diff)
downloadyuzu-70535466877748ed765c11170c573767f61bd744.tar
yuzu-70535466877748ed765c11170c573767f61bd744.tar.gz
yuzu-70535466877748ed765c11170c573767f61bd744.tar.bz2
yuzu-70535466877748ed765c11170c573767f61bd744.tar.lz
yuzu-70535466877748ed765c11170c573767f61bd744.tar.xz
yuzu-70535466877748ed765c11170c573767f61bd744.tar.zst
yuzu-70535466877748ed765c11170c573767f61bd744.zip
-rw-r--r--src/core/core.cpp9
-rw-r--r--src/core/core.h4
2 files changed, 13 insertions, 0 deletions
diff --git a/src/core/core.cpp b/src/core/core.cpp
index ab7181a05..ce53ef758 100644
--- a/src/core/core.cpp
+++ b/src/core/core.cpp
@@ -32,6 +32,7 @@
#include "core/perf_stats.h"
#include "core/settings.h"
#include "core/telemetry_session.h"
+#include "file_sys/cheat_engine.h"
#include "frontend/applets/profile_select.h"
#include "frontend/applets/software_keyboard.h"
#include "frontend/applets/web_browser.h"
@@ -197,6 +198,7 @@ struct System::Impl {
GDBStub::Shutdown();
Service::Shutdown();
service_manager.reset();
+ cheat_engine.reset();
telemetry_session.reset();
gpu_core.reset();
@@ -247,6 +249,8 @@ struct System::Impl {
CpuCoreManager cpu_core_manager;
bool is_powered_on = false;
+ std::unique_ptr<FileSys::CheatEngine> cheat_engine;
+
/// Frontend applets
std::unique_ptr<Core::Frontend::ProfileSelectApplet> profile_selector;
std::unique_ptr<Core::Frontend::SoftwareKeyboardApplet> software_keyboard;
@@ -445,6 +449,11 @@ Tegra::DebugContext* System::GetGPUDebugContext() const {
return impl->debug_context.get();
}
+void System::RegisterCheatList(const std::vector<FileSys::CheatList>& list,
+ const std::string& build_id) {
+ impl->cheat_engine = std::make_unique<FileSys::CheatEngine>(list, build_id);
+}
+
void System::SetFilesystem(std::shared_ptr<FileSys::VfsFilesystem> vfs) {
impl->virtual_filesystem = std::move(vfs);
}
diff --git a/src/core/core.h b/src/core/core.h
index d720013f7..bfb75631e 100644
--- a/src/core/core.h
+++ b/src/core/core.h
@@ -20,6 +20,7 @@ class WebBrowserApplet;
} // namespace Core::Frontend
namespace FileSys {
+class CheatList;
class VfsFilesystem;
} // namespace FileSys
@@ -253,6 +254,9 @@ public:
std::shared_ptr<FileSys::VfsFilesystem> GetFilesystem() const;
+ void RegisterCheatList(const std::vector<FileSys::CheatList>& list,
+ const std::string& build_id);
+
void SetProfileSelector(std::unique_ptr<Frontend::ProfileSelectApplet> applet);
const Frontend::ProfileSelectApplet& GetProfileSelector() const;