diff options
| author | 2019-11-26 21:48:56 -0500 | |
|---|---|---|
| committer | 2019-11-26 21:48:56 -0500 | |
| commit | ec0ce96c568b2b610c5218efd7faa5d9a19350f8 (patch) | |
| tree | 61b5133e3cc6a9edf3b45c5fe6604493689f6769 /src/core/memory | |
| parent | Merge pull request #3164 from ReinUsesLisp/half-cast-float (diff) | |
| download | yuzu-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.cpp | 2 | ||||
| -rw-r--r-- | src/core/memory/cheat_engine.h | 3 |
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 | ||
| 188 | void CheatEngine::Initialize() { | 188 | void 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 | }; |