From 773a53d2e32ca21c96928c931c948aa487ac9b15 Mon Sep 17 00:00:00 2001 From: adelikat Date: Sun, 30 Nov 2014 18:35:25 +0000 Subject: [PATCH] Hotkeys that operate on tools - check that the core has the proper prerequisites before opening them --- BizHawk.Client.EmuHawk/MainForm.Hotkey.cs | 35 ++++++++++++++++----- BizHawk.Client.EmuHawk/tools/ToolManager.cs | 3 ++ 2 files changed, 31 insertions(+), 7 deletions(-) diff --git a/BizHawk.Client.EmuHawk/MainForm.Hotkey.cs b/BizHawk.Client.EmuHawk/MainForm.Hotkey.cs index dff2b1c93b..137e228075 100644 --- a/BizHawk.Client.EmuHawk/MainForm.Hotkey.cs +++ b/BizHawk.Client.EmuHawk/MainForm.Hotkey.cs @@ -315,7 +315,10 @@ namespace BizHawk.Client.EmuHawk } break; case "TAStudio": - GlobalWin.Tools.Load(); + if (Global.Emulator.HasSavestates()) + { + GlobalWin.Tools.Load(); + } break; case "ToolBox": GlobalWin.Tools.Load(); @@ -326,22 +329,40 @@ namespace BizHawk.Client.EmuHawk // Ram Search case "Do Search": - GlobalWin.Tools.RamSearch.DoSearch(); + if (Global.Emulator.HasMemoryDomains()) + { + GlobalWin.Tools.RamSearch.DoSearch(); + } break; case "New Search": - GlobalWin.Tools.RamSearch.NewSearch(); + if (Global.Emulator.HasMemoryDomains()) + { + GlobalWin.Tools.RamSearch.NewSearch(); + } break; case "Previous Compare To": - GlobalWin.Tools.RamSearch.NextCompareTo(reverse: true); + if (Global.Emulator.HasMemoryDomains()) + { + GlobalWin.Tools.RamSearch.NextCompareTo(reverse: true); + } break; case "Next Compare To": - GlobalWin.Tools.RamSearch.NextCompareTo(); + if (Global.Emulator.HasMemoryDomains()) + { + GlobalWin.Tools.RamSearch.NextCompareTo(); + } break; case "Previous Operator": - GlobalWin.Tools.RamSearch.NextOperator(reverse: true); + if (Global.Emulator.HasMemoryDomains()) + { + GlobalWin.Tools.RamSearch.NextOperator(reverse: true); + } break; case "Next Operator": - GlobalWin.Tools.RamSearch.NextOperator(); + if (Global.Emulator.HasMemoryDomains()) + { + GlobalWin.Tools.RamSearch.NextOperator(); + } break; // SNES diff --git a/BizHawk.Client.EmuHawk/tools/ToolManager.cs b/BizHawk.Client.EmuHawk/tools/ToolManager.cs index 109b6602c1..bf120fced4 100644 --- a/BizHawk.Client.EmuHawk/tools/ToolManager.cs +++ b/BizHawk.Client.EmuHawk/tools/ToolManager.cs @@ -2,6 +2,8 @@ using System.Collections.Generic; using System.IO; using System.Linq; + +using BizHawk.Emulation.Common.IEmulatorExtensions; using BizHawk.Client.Common; namespace BizHawk.Client.EmuHawk @@ -448,6 +450,7 @@ namespace BizHawk.Client.EmuHawk public void LoadRamWatch(bool loadDialog) { + if (Global.Emulator.HasMemoryDomains()) if (!IsLoaded() && Global.Config.RecentWatches.AutoLoad && !Global.Config.RecentWatches.Empty) { GlobalWin.Tools.RamWatch.LoadFileFromRecent(Global.Config.RecentWatches.MostRecent);