core_timing: Make TimedCallback take std::chrono::nanoseconds

Enforces our desired time units directly with a concrete type.
This commit is contained in:
Lioncash 2020-07-15 19:14:21 -04:00
parent 8b50c660df
commit bef1844a51
16 changed files with 62 additions and 58 deletions

View file

@ -188,9 +188,11 @@ CheatEngine::~CheatEngine() {
}
void CheatEngine::Initialize() {
event = Core::Timing::CreateEvent(
"CheatEngine::FrameCallback::" + Common::HexToString(metadata.main_nso_build_id),
[this](u64 userdata, s64 ns_late) { FrameCallback(userdata, ns_late); });
event = Core::Timing::CreateEvent("CheatEngine::FrameCallback::" +
Common::HexToString(metadata.main_nso_build_id),
[this](u64 userdata, std::chrono::nanoseconds ns_late) {
FrameCallback(userdata, ns_late);
});
core_timing.ScheduleEvent(CHEAT_ENGINE_NS, event);
metadata.process_id = system.CurrentProcess()->GetProcessID();
@ -217,7 +219,7 @@ void CheatEngine::Reload(std::vector<CheatEntry> cheats) {
MICROPROFILE_DEFINE(Cheat_Engine, "Add-Ons", "Cheat Engine", MP_RGB(70, 200, 70));
void CheatEngine::FrameCallback(u64 userdata, s64 ns_late) {
void CheatEngine::FrameCallback(u64, std::chrono::nanoseconds ns_late) {
if (is_pending_reload.exchange(false)) {
vm.LoadProgram(cheats);
}
@ -230,8 +232,7 @@ void CheatEngine::FrameCallback(u64 userdata, s64 ns_late) {
vm.Execute(metadata);
const auto future_ns = CHEAT_ENGINE_NS - std::chrono::nanoseconds{ns_late};
core_timing.ScheduleEvent(future_ns, event);
core_timing.ScheduleEvent(CHEAT_ENGINE_NS - ns_late, event);
}
} // namespace Core::Memory

View file

@ -5,6 +5,7 @@
#pragma once
#include <atomic>
#include <chrono>
#include <memory>
#include <vector>
#include "common/common_types.h"
@ -71,7 +72,7 @@ public:
void Reload(std::vector<CheatEntry> cheats);
private:
void FrameCallback(u64 userdata, s64 cycles_late);
void FrameCallback(u64 userdata, std::chrono::nanoseconds ns_late);
DmntCheatVm vm;
CheatProcessMetadata metadata;