aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Ryujinx.HLE/HOS/ModLoader.cs2
-rw-r--r--Ryujinx.HLE/HOS/TamperMachine.cs6
2 files changed, 7 insertions, 1 deletions
diff --git a/Ryujinx.HLE/HOS/ModLoader.cs b/Ryujinx.HLE/HOS/ModLoader.cs
index 430a0590..a2e9af18 100644
--- a/Ryujinx.HLE/HOS/ModLoader.cs
+++ b/Ryujinx.HLE/HOS/ModLoader.cs
@@ -630,6 +630,8 @@ namespace Ryujinx.HLE.HOS
if (tamperInfo == null || tamperInfo.BuildIds == null || tamperInfo.CodeAddresses == null)
{
Logger.Error?.Print(LogClass.ModLoader, "Unable to install cheat because the associated process is invalid");
+
+ return;
}
Logger.Info?.Print(LogClass.ModLoader, $"Build ids found for title {titleId:X16}:\n {String.Join("\n ", tamperInfo.BuildIds)}");
diff --git a/Ryujinx.HLE/HOS/TamperMachine.cs b/Ryujinx.HLE/HOS/TamperMachine.cs
index 77e27401..9cdea94a 100644
--- a/Ryujinx.HLE/HOS/TamperMachine.cs
+++ b/Ryujinx.HLE/HOS/TamperMachine.cs
@@ -13,6 +13,10 @@ namespace Ryujinx.HLE.HOS
{
public class TamperMachine
{
+ // Atmosphere specifies a delay of 83 milliseconds between the execution of the last
+ // cheat and the re-execution of the first one.
+ private const int TamperMachineSleepMs = 1000 / 12;
+
private Thread _tamperThread = null;
private ConcurrentQueue<ITamperProgram> _programs = new ConcurrentQueue<ITamperProgram>();
private long _pressedKeys = 0;
@@ -76,7 +80,7 @@ namespace Ryujinx.HLE.HOS
if (sleepCounter == 0)
{
sleepCounter = _programs.Count;
- Thread.Sleep(1);
+ Thread.Sleep(TamperMachineSleepMs);
}
else
{