From 92f8f9982cd94ec35bb0425e74dfdb1915922663 Mon Sep 17 00:00:00 2001 From: adelikat Date: Tue, 5 Nov 2013 19:53:49 +0000 Subject: [PATCH] When adding a cheat, if it already exists, update the existing instead of doing nothing! --- BizHawk.Client.Common/tools/CheatList.cs | 5 +++++ BizHawk.Client.EmuHawk/tools/Cheats/Cheats.cs | 13 ++++++++++--- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/BizHawk.Client.Common/tools/CheatList.cs b/BizHawk.Client.Common/tools/CheatList.cs index a56c8de21c..4e51233469 100644 --- a/BizHawk.Client.Common/tools/CheatList.cs +++ b/BizHawk.Client.Common/tools/CheatList.cs @@ -199,6 +199,11 @@ namespace BizHawk.Client.Common return false; } + public bool HasCheat(Cheat cheat) + { + return _cheatList.FirstOrDefault(x => x.Domain == cheat.Domain && x.Address == cheat.Address) != null; + } + public void SaveOnClose() { if (Global.Config.CheatsAutoSaveOnClose) diff --git a/BizHawk.Client.EmuHawk/tools/Cheats/Cheats.cs b/BizHawk.Client.EmuHawk/tools/Cheats/Cheats.cs index 01a862384b..69b020e9db 100644 --- a/BizHawk.Client.EmuHawk/tools/Cheats/Cheats.cs +++ b/BizHawk.Client.EmuHawk/tools/Cheats/Cheats.cs @@ -222,9 +222,16 @@ namespace BizHawk.Client.EmuHawk private void AddCheat() { - Global.CheatList.Add(CheatEditor.Cheat); - UpdateListView(); - UpdateMessageLabel(); + if (Global.CheatList.HasCheat(CheatEditor.Cheat)) + { + EditCheat(); + } + else + { + Global.CheatList.Add(CheatEditor.Cheat); + UpdateListView(); + UpdateMessageLabel(); + } } private void EditCheat()