From 1b0c77c62039970b8e6106b3e6be5d1c670f1d43 Mon Sep 17 00:00:00 2001 From: adelikat Date: Mon, 7 Oct 2013 01:40:45 +0000 Subject: [PATCH] Ram Search - greatly speed up preview mode --- BizHawk.MultiClient/tools/Watch/RamSearch.cs | 2 +- BizHawk.MultiClient/tools/Watch/RamSearchEngine.cs | 11 ++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/BizHawk.MultiClient/tools/Watch/RamSearch.cs b/BizHawk.MultiClient/tools/Watch/RamSearch.cs index 426a7cd2a1..2fbd263f37 100644 --- a/BizHawk.MultiClient/tools/Watch/RamSearch.cs +++ b/BizHawk.MultiClient/tools/Watch/RamSearch.cs @@ -110,7 +110,7 @@ namespace BizHawk.MultiClient Color nextColor = Color.White; bool isCheat = Global.CheatList.IsActive(Settings.Domain, Searches[index].Address.Value); - bool isWeeded = Global.Config.RamSearchPreviewMode && Searches.Preview(Searches[index].Address.Value) && !forcePreviewClear; + bool isWeeded = Global.Config.RamSearchPreviewMode && !forcePreviewClear && Searches.Preview(Searches[index].Address.Value); if (isCheat) { diff --git a/BizHawk.MultiClient/tools/Watch/RamSearchEngine.cs b/BizHawk.MultiClient/tools/Watch/RamSearchEngine.cs index ec715c03f9..8ed11c6c1f 100644 --- a/BizHawk.MultiClient/tools/Watch/RamSearchEngine.cs +++ b/BizHawk.MultiClient/tools/Watch/RamSearchEngine.cs @@ -172,19 +172,20 @@ namespace BizHawk.MultiClient public bool Preview(int address) { + var listOfOne = new List() { _watchList.FirstOrDefault(x => x.Address == address) }; switch (_compareTo) { default: case RamSearchEngine.Compare.Previous: - return ComparePrevious(_watchList.Where(x => x.Address == address)).Count() == 0; + return ComparePrevious(listOfOne).Count() == 0; case RamSearchEngine.Compare.SpecificValue: - return CompareSpecificValue(_watchList.Where(x => x.Address == address)).Count() == 0; + return CompareSpecificValue(listOfOne).Count() == 0; case RamSearchEngine.Compare.SpecificAddress: - return CompareSpecificAddress(_watchList.Where(x => x.Address == address)).Count() == 0; + return CompareSpecificAddress(listOfOne).Count() == 0; case RamSearchEngine.Compare.Changes: - return CompareChanges(_watchList.Where(x => x.Address == address)).Count() == 0; + return CompareChanges(listOfOne).Count() == 0; case RamSearchEngine.Compare.Difference: - return CompareDifference(_watchList.Where(x => x.Address == address)).Count() == 0; + return CompareDifference(listOfOne).Count() == 0; } }