diff --git a/BizHawk.MultiClient/tools/Cheat.cs b/BizHawk.MultiClient/tools/Cheat.cs index 6030b867fc..11e479cd4e 100644 --- a/BizHawk.MultiClient/tools/Cheat.cs +++ b/BizHawk.MultiClient/tools/Cheat.cs @@ -31,8 +31,13 @@ namespace BizHawk.MultiClient domain = c.domain; compare = c.compare; if (enabled) - MemoryPulse.Add(domain, address, value); - + { + Enable(); + } + else + { + Disable(); + } } public Cheat(string cname, int addr, byte val, bool e, MemoryDomain d, byte? comp = null) @@ -45,14 +50,18 @@ namespace BizHawk.MultiClient compare = comp; if (enabled) { - MemoryPulse.Add(domain, address, value, compare); + Enable(); + } + else + { + Disable(); } } public void Enable() { enabled = true; - if (Global.Emulator is NES) + if (Global.Emulator is NES && domain == Global.Emulator.MemoryDomains[1]) { (Global.Emulator as NES).ApplyGameGenie(address, value, compare); } @@ -70,7 +79,7 @@ namespace BizHawk.MultiClient public void DisposeOfCheat() { - if (Global.Emulator is NES) + if (Global.Emulator is NES && domain == Global.Emulator.MemoryDomains[1]) { (Global.Emulator as NES).RemoveGameGenie(address); } diff --git a/BizHawk.MultiClient/tools/Cheats.cs b/BizHawk.MultiClient/tools/Cheats.cs index a2ab2b5b65..cf3815fa43 100644 --- a/BizHawk.MultiClient/tools/Cheats.cs +++ b/BizHawk.MultiClient/tools/Cheats.cs @@ -621,14 +621,13 @@ namespace BizHawk.MultiClient { c.compare = (byte)(int.Parse(CompareBox.Text, NumberStyles.HexNumber)); } + c.domain = Global.Emulator.MemoryDomains[DomainComboBox.SelectedIndex]; c.Enable(); } catch { return null; } - - c.domain = Global.Emulator.MemoryDomains[DomainComboBox.SelectedIndex]; return c; }