summaryrefslogtreecommitdiff
path: root/src/core/memory
diff options
context:
space:
mode:
authorGravatar bunnei2019-11-26 21:48:56 -0500
committerGravatar GitHub2019-11-26 21:48:56 -0500
commitec0ce96c568b2b610c5218efd7faa5d9a19350f8 (patch)
tree61b5133e3cc6a9edf3b45c5fe6604493689f6769 /src/core/memory
parentMerge pull request #3164 from ReinUsesLisp/half-cast-float (diff)
downloadyuzu-ec0ce96c568b2b610c5218efd7faa5d9a19350f8.tar.gz
yuzu-ec0ce96c568b2b610c5218efd7faa5d9a19350f8.tar.xz
yuzu-ec0ce96c568b2b610c5218efd7faa5d9a19350f8.zip
core_timing: Use better reference tracking for EventType. (#3159)
* core_timing: Use better reference tracking for EventType. - Moves ownership of the event to the caller, ensuring we don't fire events for destroyed objects. - Removes need for unique names - we won't be using this for save states anyways.
Diffstat (limited to 'src/core/memory')
-rw-r--r--src/core/memory/cheat_engine.cpp2
-rw-r--r--src/core/memory/cheat_engine.h3
2 files changed, 3 insertions, 2 deletions
diff --git a/src/core/memory/cheat_engine.cpp b/src/core/memory/cheat_engine.cpp
index 10821d452..b73cc9fbd 100644
--- a/src/core/memory/cheat_engine.cpp
+++ b/src/core/memory/cheat_engine.cpp
@@ -186,7 +186,7 @@ CheatEngine::~CheatEngine() {
186} 186}
187 187
188void CheatEngine::Initialize() { 188void CheatEngine::Initialize() {
189 event = core_timing.RegisterEvent( 189 event = Core::Timing::CreateEvent(
190 "CheatEngine::FrameCallback::" + Common::HexToString(metadata.main_nso_build_id), 190 "CheatEngine::FrameCallback::" + Common::HexToString(metadata.main_nso_build_id),
191 [this](u64 userdata, s64 cycles_late) { FrameCallback(userdata, cycles_late); }); 191 [this](u64 userdata, s64 cycles_late) { FrameCallback(userdata, cycles_late); });
192 core_timing.ScheduleEvent(CHEAT_ENGINE_TICKS, event); 192 core_timing.ScheduleEvent(CHEAT_ENGINE_TICKS, event);
diff --git a/src/core/memory/cheat_engine.h b/src/core/memory/cheat_engine.h
index 0f012e9b5..e3db90dac 100644
--- a/src/core/memory/cheat_engine.h
+++ b/src/core/memory/cheat_engine.h
@@ -5,6 +5,7 @@
5#pragma once 5#pragma once
6 6
7#include <atomic> 7#include <atomic>
8#include <memory>
8#include <vector> 9#include <vector>
9#include "common/common_types.h" 10#include "common/common_types.h"
10#include "core/memory/dmnt_cheat_types.h" 11#include "core/memory/dmnt_cheat_types.h"
@@ -78,7 +79,7 @@ private:
78 std::vector<CheatEntry> cheats; 79 std::vector<CheatEntry> cheats;
79 std::atomic_bool is_pending_reload{false}; 80 std::atomic_bool is_pending_reload{false};
80 81
81 Core::Timing::EventType* event{}; 82 std::shared_ptr<Core::Timing::EventType> event;
82 Core::Timing::CoreTiming& core_timing; 83 Core::Timing::CoreTiming& core_timing;
83 Core::System& system; 84 Core::System& system;
84}; 85};