summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/core/file_sys/cheat_engine.cpp9
-rw-r--r--src/core/file_sys/cheat_engine.h2
2 files changed, 6 insertions, 5 deletions
diff --git a/src/core/file_sys/cheat_engine.cpp b/src/core/file_sys/cheat_engine.cpp
index 1cbdc6020..247fbc864 100644
--- a/src/core/file_sys/cheat_engine.cpp
+++ b/src/core/file_sys/cheat_engine.cpp
@@ -17,7 +17,7 @@
namespace FileSys {
-constexpr u64 CHEAT_ENGINE_TICKS = Core::Timing::BASE_CLOCK_RATE / 60;
+constexpr s64 CHEAT_ENGINE_TICKS = static_cast<s64>(Core::Timing::BASE_CLOCK_RATE / 60);
constexpr u32 KEYPAD_BITMASK = 0x3FFFFFF;
u64 Cheat::Address() const {
@@ -185,8 +185,9 @@ void CheatList::Loop(const Cheat& cheat) {
ASSERT(iter != block_pairs.end());
ASSERT(iter->first < iter->second);
- for (int i = cheat.Value(4, 4); i >= 0; --i) {
- register_3 = i;
+ const s32 initial_value = static_cast<s32>(cheat.Value(4, sizeof(s32)));
+ for (s32 i = initial_value; i >= 0; --i) {
+ register_3 = static_cast<u64>(i);
for (std::size_t c = iter->first + 1; c < iter->second; ++c) {
current_index = c;
ExecuteSingleCheat(
@@ -478,7 +479,7 @@ CheatEngine::~CheatEngine() {
core_timing.UnscheduleEvent(event, 0);
}
-void CheatEngine::FrameCallback(u64 userdata, int cycles_late) {
+void CheatEngine::FrameCallback(u64 userdata, s64 cycles_late) {
for (auto& list : cheats) {
list.Execute();
}
diff --git a/src/core/file_sys/cheat_engine.h b/src/core/file_sys/cheat_engine.h
index c2de3198c..ac22a82cb 100644
--- a/src/core/file_sys/cheat_engine.h
+++ b/src/core/file_sys/cheat_engine.h
@@ -223,7 +223,7 @@ public:
~CheatEngine();
private:
- void FrameCallback(u64 userdata, int cycles_late);
+ void FrameCallback(u64 userdata, s64 cycles_late);
std::vector<CheatList> cheats;