From f519fa0e2d03d775974fa110a04f0cc52fc11269 Mon Sep 17 00:00:00 2001 From: adelikat Date: Sun, 2 Sep 2012 03:05:48 +0000 Subject: [PATCH] Ram Search - fix Truncate from file, and exclude ram watch --- BizHawk.MultiClient/tools/RamSearch.cs | 29 ++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/BizHawk.MultiClient/tools/RamSearch.cs b/BizHawk.MultiClient/tools/RamSearch.cs index 9e752902b2..15b9736e62 100644 --- a/BizHawk.MultiClient/tools/RamSearch.cs +++ b/BizHawk.MultiClient/tools/RamSearch.cs @@ -2128,11 +2128,11 @@ namespace BizHawk.MultiClient TruncateFromFile(); } - private void DoTruncate(List temp) + private void DoTruncate() { SaveUndo(); - MessageLabel.Text = MakeAddressString(undoList.Count) + " removed"; + MessageLabel.Text = MakeAddressString(searchList.Where(x => x.deleted == true).Count()) + " removed"; TrimWeededList(); UpdateLastSearch(); DisplaySearchList(); @@ -2146,16 +2146,37 @@ namespace BizHawk.MultiClient { List temp = new List(); LoadSearchFile(file.FullName, false, true, temp); - DoTruncate(temp); + TruncateList(temp); + DoTruncate(); + } } + private void ClearWeeded() + { + foreach (Watch watch in searchList) + { + watch.deleted = false; + } + } + + + private void TruncateList(List toRemove) + { + ClearWeeded(); + foreach (Watch watch in toRemove) + { + searchList.Where(x => x.address == watch.address).FirstOrDefault().deleted = true; + } + DoTruncate(); + } + /// /// Removes Ram Watch list from the search list /// private void ExcludeRamWatchList() { - DoTruncate(Global.MainForm.RamWatch1.GetRamWatchList()); + TruncateList(Global.MainForm.RamWatch1.GetRamWatchList()); } private void TruncateFromFiletoolStripButton2_Click(object sender, EventArgs e)