From e9f3e7afe4e9c7b6fa7505a979e5f9ff6d513cf0 Mon Sep 17 00:00:00 2001 From: adelikat Date: Sat, 28 Sep 2013 01:24:45 +0000 Subject: [PATCH] Remove old ram search and replace with new one --- .../BizHawk.MultiClient.csproj | 27 +- .../BizHawk.MultiClient_v4.5.csproj | 19 +- BizHawk.MultiClient/MainForm.MenuItems.cs | 4 +- BizHawk.MultiClient/MainForm.cs | 56 +- BizHawk.MultiClient/tools/Cheats.cs | 6 +- .../tools/HexEditor/HexEditor.cs | 10 +- BizHawk.MultiClient/tools/ToolHelpers.cs | 5 +- .../tools/Watch/NewRamSearch.Designer.cs | 1461 ------- .../tools/Watch/NewRamSearch.cs | 1371 ------- .../tools/Watch/NewRamSearch.resx | 670 --- .../tools/Watch/RamSearch.Designer.cs | 2305 +++++------ BizHawk.MultiClient/tools/Watch/RamSearch.cs | 3637 +++++------------ .../tools/Watch/RamSearch.resx | 100 +- .../tools/Watch/RamSearchEngine.cs | 10 +- BizHawk.MultiClient/tools/Watch/RamWatch.cs | 1 - 15 files changed, 2346 insertions(+), 7336 deletions(-) delete mode 100644 BizHawk.MultiClient/tools/Watch/NewRamSearch.Designer.cs delete mode 100644 BizHawk.MultiClient/tools/Watch/NewRamSearch.cs delete mode 100644 BizHawk.MultiClient/tools/Watch/NewRamSearch.resx diff --git a/BizHawk.MultiClient/BizHawk.MultiClient.csproj b/BizHawk.MultiClient/BizHawk.MultiClient.csproj index 55b131de77..05af6478ac 100644 --- a/BizHawk.MultiClient/BizHawk.MultiClient.csproj +++ b/BizHawk.MultiClient/BizHawk.MultiClient.csproj @@ -657,18 +657,18 @@ Component - - Form - - - NewRamSearch.cs - Form RamPoke.cs + + Form + + + RamSearch.cs + Form @@ -676,12 +676,6 @@ RamWatch.cs - - Form - - - RamSearch.cs - @@ -873,18 +867,15 @@ VirtualPadSaturnControl.cs - - NewRamSearch.cs - RamPoke.cs - - RamWatch.cs - RamSearch.cs + + RamWatch.cs + WatchEditor.cs diff --git a/BizHawk.MultiClient/BizHawk.MultiClient_v4.5.csproj b/BizHawk.MultiClient/BizHawk.MultiClient_v4.5.csproj index d522d75677..34cc382d59 100644 --- a/BizHawk.MultiClient/BizHawk.MultiClient_v4.5.csproj +++ b/BizHawk.MultiClient/BizHawk.MultiClient_v4.5.csproj @@ -659,11 +659,11 @@ Component - + Form - - NewRamSearch.cs + + RamSearch.cs Form @@ -671,12 +671,6 @@ RamPoke.cs - - Form - - - RamSearch.cs - Form @@ -873,15 +867,12 @@ VirtualPadSaturnControl.cs - - NewRamSearch.cs + + RamSearch.cs RamPoke.cs - - RamSearch.cs - RamWatch.cs diff --git a/BizHawk.MultiClient/MainForm.MenuItems.cs b/BizHawk.MultiClient/MainForm.MenuItems.cs index ed75283ca2..6450bbfdf1 100644 --- a/BizHawk.MultiClient/MainForm.MenuItems.cs +++ b/BizHawk.MultiClient/MainForm.MenuItems.cs @@ -527,7 +527,7 @@ namespace BizHawk.MultiClient private void exitToolStripMenuItem_Click(object sender, EventArgs e) { - if (NewRamWatch1.AskSave()) + if (RamWatch1.AskSave()) Close(); } @@ -2186,7 +2186,7 @@ namespace BizHawk.MultiClient else if (ext.ToUpper() == ".WCH") { LoadRamWatch(true); - NewRamWatch1.LoadWatchFile(new FileInfo(filePaths[0]), false); + RamWatch1.LoadWatchFile(new FileInfo(filePaths[0]), false); } else if (MovieImport.IsValidMovieExtension(Path.GetExtension(filePaths[0]))) diff --git a/BizHawk.MultiClient/MainForm.cs b/BizHawk.MultiClient/MainForm.cs index 666b534863..103ebf21a9 100644 --- a/BizHawk.MultiClient/MainForm.cs +++ b/BizHawk.MultiClient/MainForm.cs @@ -86,7 +86,6 @@ namespace BizHawk.MultiClient //tool dialogs private RamSearch _ramsearch = null; - private NewRamSearch _newramsearch = null; private HexEditor _hexeditor = null; private TraceLogger _tracelogger = null; @@ -107,11 +106,10 @@ namespace BizHawk.MultiClient private GBGameGenie _gbgg = null; private GenGameGenie _gengg = null; private NESSoundConfig _nessound = null; - private RamWatch _newramwatch = null; + private RamWatch _ramwatch = null; //TODO: this is a lazy way to refactor things, but works for now. The point is to not have these objects created until needed, without refactoring a lot of code public RamSearch RamSearch1 { get { if (_ramsearch == null) _ramsearch = new RamSearch(); return _ramsearch; } set { _ramsearch = value; } } - public NewRamSearch NewRamSearch1 { get { if (_newramsearch == null) _newramsearch = new NewRamSearch(); return _newramsearch; } set { _newramsearch = value; } } public HexEditor HexEditor1 { get { if (_hexeditor == null) _hexeditor = new HexEditor(); return _hexeditor; } set { _hexeditor = value; } } public TraceLogger TraceLogger1 { get { if (_tracelogger == null) _tracelogger = new TraceLogger(); return _tracelogger; } set { _tracelogger = value; } } @@ -133,7 +131,7 @@ namespace BizHawk.MultiClient public GenGameGenie Gengg { get { if (_gengg == null) _gengg = new GenGameGenie(); return _gengg; } set { _gengg = value; } } public NESSoundConfig NesSound { get { if (_nessound == null) _nessound = new NESSoundConfig(); return _nessound; } set { _nessound = value; } } - public RamWatch NewRamWatch1 { get { if (_newramwatch == null) _newramwatch = new RamWatch(); return _newramwatch; } set { _newramwatch = value; } } + public RamWatch RamWatch1 { get { if (_ramwatch == null) _ramwatch = new RamWatch(); return _ramwatch; } set { _ramwatch = value; } } //TODO: eventually start doing this, rather than tools attempting to talk to tools public void Cheats_UpdateValues() { if (_cheats != null) { _cheats.UpdateValues(); } } @@ -1582,9 +1580,7 @@ namespace BizHawk.MultiClient // SyncThrottle(); //} if (_ramsearch != null) RamSearch1.Restart(); - if (_newramsearch != null) NewRamSearch1.Restart(); - - if (_newramwatch != null) NewRamWatch1.Restart(); + if (_ramwatch != null) RamWatch1.Restart(); if (_hexeditor != null) HexEditor1.Restart(); if (_nesppu != null) NESPPU1.Restart(); if (_nesnametableview != null) NESNameTableViewer1.Restart(); @@ -2328,10 +2324,8 @@ namespace BizHawk.MultiClient } #endif - if (_newramwatch != null) NewRamWatch1.UpdateValues(); + if (_ramwatch != null) RamWatch1.UpdateValues(); if (_ramsearch != null) RamSearch1.UpdateValues(); - if (_newramsearch != null) NewRamSearch1.UpdateValues(); - if (_hexeditor != null) HexEditor1.UpdateValues(); //The other tool updates are earlier, TAStudio needs to be later so it can display the latest //frame of execution in its list view. @@ -2674,30 +2668,14 @@ namespace BizHawk.MultiClient public void LoadRamSearch() { - //TODO - if (MainForm.INTERIM && Global.Config.RecentSearches.AutoLoad) + if (!RamSearch1.IsHandleCreated || RamSearch1.IsDisposed) { - if (!NewRamSearch1.IsHandleCreated || NewRamSearch1.IsDisposed) - { - NewRamSearch1 = new NewRamSearch(); - NewRamSearch1.Show(); - } - else - { - NewRamSearch1.Focus(); - } + RamSearch1 = new RamSearch(); + RamSearch1.Show(); } else { - if (!RamSearch1.IsHandleCreated || RamSearch1.IsDisposed) - { - RamSearch1 = new RamSearch(); - RamSearch1.Show(); - } - else - { - RamSearch1.Focus(); - } + RamSearch1.Focus(); } } @@ -3212,8 +3190,7 @@ namespace BizHawk.MultiClient RewireSound(); ResetRewindBuffer(); RamSearch1.Restart(); - NewRamSearch1.Restart(); - NewRamWatch1.Restart(); + RamWatch1.Restart(); HexEditor1.Restart(); NESPPU1.Restart(); NESNameTableViewer1.Restart(); @@ -3254,9 +3231,8 @@ namespace BizHawk.MultiClient public void CloseTools() { - CloseForm(NewRamWatch1); + CloseForm(RamWatch1); CloseForm(RamSearch1); - CloseForm(NewRamSearch1); CloseForm(HexEditor1); CloseForm(NESNameTableViewer1); CloseForm(NESPPU1); @@ -4183,27 +4159,27 @@ namespace BizHawk.MultiClient public void LoadRamWatch(bool load_dialog) { - if (!NewRamWatch1.IsHandleCreated || NewRamWatch1.IsDisposed) + if (!RamWatch1.IsHandleCreated || RamWatch1.IsDisposed) { - NewRamWatch1 = new RamWatch(); + RamWatch1 = new RamWatch(); if (Global.Config.RecentWatches.AutoLoad && !Global.Config.RecentWatches.Empty) { - NewRamWatch1.LoadFileFromRecent(Global.Config.RecentWatches[0]); + RamWatch1.LoadFileFromRecent(Global.Config.RecentWatches[0]); } if (load_dialog) { - NewRamWatch1.Show(); + RamWatch1.Show(); } } else { - NewRamWatch1.Focus(); + RamWatch1.Focus(); } } private void newRamSearchToolStripMenuItem_Click(object sender, EventArgs e) { - new NewRamSearch().Show(); + new RamSearch().Show(); } } } diff --git a/BizHawk.MultiClient/tools/Cheats.cs b/BizHawk.MultiClient/tools/Cheats.cs index caf52be18a..0016557798 100644 --- a/BizHawk.MultiClient/tools/Cheats.cs +++ b/BizHawk.MultiClient/tools/Cheats.cs @@ -230,9 +230,8 @@ namespace BizHawk.MultiClient private void UpdateOtherTools() { - Global.MainForm.NewRamWatch1.UpdateValues(); + Global.MainForm.RamWatch1.UpdateValues(); Global.MainForm.RamSearch1.UpdateValues(); - Global.MainForm.NewRamSearch1.UpdateValues(); Global.MainForm.HexEditor1.UpdateValues(); } @@ -781,9 +780,8 @@ namespace BizHawk.MultiClient } CheatListView.Refresh(); - Global.MainForm.NewRamWatch1.UpdateValues(); + Global.MainForm.RamWatch1.UpdateValues(); Global.MainForm.RamSearch1.UpdateValues(); - Global.MainForm.NewRamSearch1.UpdateValues(); Global.MainForm.HexEditor1.UpdateValues(); } UpdateNumberOfCheats(); diff --git a/BizHawk.MultiClient/tools/HexEditor/HexEditor.cs b/BizHawk.MultiClient/tools/HexEditor/HexEditor.cs index 7945492eaf..3a121a0624 100644 --- a/BizHawk.MultiClient/tools/HexEditor/HexEditor.cs +++ b/BizHawk.MultiClient/tools/HexEditor/HexEditor.cs @@ -700,11 +700,11 @@ namespace BizHawk.MultiClient if (HighlightedAddress.HasValue) { - Global.MainForm.NewRamWatch1.AddWatch(MakeWatch(HighlightedAddress.Value)); + Global.MainForm.RamWatch1.AddWatch(MakeWatch(HighlightedAddress.Value)); } foreach (int i in SecondaryHighlightedAddresses) { - Global.MainForm.NewRamWatch1.AddWatch(MakeWatch(i)); + Global.MainForm.RamWatch1.AddWatch(MakeWatch(i)); } } @@ -847,8 +847,7 @@ namespace BizHawk.MultiClient } Global.MainForm.RamSearch1.UpdateValues(); - Global.MainForm.NewRamSearch1.UpdateValues(); - Global.MainForm.NewRamWatch1.UpdateValues(); + Global.MainForm.RamWatch1.UpdateValues(); Global.MainForm.Cheats_UpdateValues(); } @@ -1663,8 +1662,7 @@ namespace BizHawk.MultiClient MemoryViewerBox.Refresh(); Global.MainForm.RamSearch1.UpdateValues(); - Global.MainForm.NewRamSearch1.UpdateValues(); - Global.MainForm.NewRamWatch1.UpdateValues(); + Global.MainForm.RamWatch1.UpdateValues(); Global.MainForm.Cheats_UpdateValues(); } diff --git a/BizHawk.MultiClient/tools/ToolHelpers.cs b/BizHawk.MultiClient/tools/ToolHelpers.cs index b172b11892..57549aa53c 100644 --- a/BizHawk.MultiClient/tools/ToolHelpers.cs +++ b/BizHawk.MultiClient/tools/ToolHelpers.cs @@ -40,11 +40,10 @@ namespace BizHawk.MultiClient { Global.MainForm.Cheats1.RemoveAllCheats(); - Global.MainForm.NewRamWatch1.UpdateValues(); + Global.MainForm.RamWatch1.UpdateValues(); Global.MainForm.HexEditor1.UpdateValues(); Global.MainForm.Cheats_UpdateValues(); Global.MainForm.RamSearch1.UpdateValues(); - Global.MainForm.NewRamSearch1.UpdateValues(); } public static void FreezeAddress(List watches) @@ -117,7 +116,7 @@ namespace BizHawk.MultiClient } } - Global.MainForm.NewRamWatch1.UpdateValues(); + Global.MainForm.RamWatch1.UpdateValues(); Global.MainForm.HexEditor1.UpdateValues(); Global.MainForm.Cheats_UpdateValues(); } diff --git a/BizHawk.MultiClient/tools/Watch/NewRamSearch.Designer.cs b/BizHawk.MultiClient/tools/Watch/NewRamSearch.Designer.cs deleted file mode 100644 index b735710677..0000000000 --- a/BizHawk.MultiClient/tools/Watch/NewRamSearch.Designer.cs +++ /dev/null @@ -1,1461 +0,0 @@ -namespace BizHawk.MultiClient -{ - partial class NewRamSearch - { - /// - /// Required designer variable. - /// - private System.ComponentModel.IContainer components = null; - - /// - /// Clean up any resources being used. - /// - /// true if managed resources should be disposed; otherwise, false. - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Windows Form Designer generated code - - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() - { - this.components = new System.ComponentModel.Container(); - System.Windows.Forms.ToolStripMenuItem SearchMenuItem; - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(NewRamSearch)); - this.TotalSearchLabel = new System.Windows.Forms.Label(); - this.WatchListView = new BizHawk.VirtualListView(); - this.AddressColumn = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); - this.ValueColumn = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); - this.PreviousColumn = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); - this.ChangesColumn = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); - this.DiffColumn = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); - this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); - this.DoSearchContextMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.NewSearchContextMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.ContextMenuSeparator1 = new System.Windows.Forms.ToolStripSeparator(); - this.RemoveContextMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.AddToRamWatchContextMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.PokeContextMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.FreezeContextMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.UnfreezeAllContextMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.ContextMenuSeparator2 = new System.Windows.Forms.ToolStripSeparator(); - this.ViewInHexEditorContextMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.ContextMenuSeparator3 = new System.Windows.Forms.ToolStripSeparator(); - this.ClearPreviewContextMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.menuStrip1 = new MenuStripEx(); - this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.OpenMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.SaveMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.SaveAsMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.AppendFileMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.TruncateFromFileMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.RecentSubMenu = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator(); - this.toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator(); - this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.settingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.modeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.DetailedMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.FastMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.MemoryDomainsSubMenu = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator6 = new System.Windows.Forms.ToolStripSeparator(); - this.sizeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this._1ByteMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this._2ByteMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this._4ByteMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.CheckMisalignedMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator8 = new System.Windows.Forms.ToolStripSeparator(); - this.DisplayTypeSubMenu = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); - this.DefinePreviousValueSubMenu = new System.Windows.Forms.ToolStripMenuItem(); - this.PreviousFrameMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.Previous_LastSearchMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.Previous_LastChangeMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.Previous_OriginalMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.BigEndianMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.searchToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.newSearchToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator7 = new System.Windows.Forms.ToolStripSeparator(); - this.UndoMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.RedoMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.CopyValueToPrevMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.ClearChangeCountsMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.RemoveMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator(); - this.AddToRamWatchMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.PokeAddressMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.FreezeAddressMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator13 = new System.Windows.Forms.ToolStripSeparator(); - this.ClearUndoMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.optionsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.PreviewModeMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.AutoSearchMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator9 = new System.Windows.Forms.ToolStripSeparator(); - this.ExcludeRamWatchMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.UseUndoHistoryMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator11 = new System.Windows.Forms.ToolStripSeparator(); - this.AutoloadDialogMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.SaveWinPositionMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.AlwaysOnTopMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator(); - this.RestoreDefaultsMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.ColumnsMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.ShowPreviousMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.ShowChangesMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.ShowDiffMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.MemDomainLabel = new System.Windows.Forms.Label(); - this.MessageLabel = new System.Windows.Forms.Label(); - this.toolTip1 = new System.Windows.Forms.ToolTip(this.components); - this.AutoSearchCheckBox = new System.Windows.Forms.CheckBox(); - this.CompareToBox = new System.Windows.Forms.GroupBox(); - this.DifferenceBox = new BizHawk.UnsignedIntegerBox(); - this.DifferenceRadio = new System.Windows.Forms.RadioButton(); - this.NumberOfChangesBox = new BizHawk.UnsignedIntegerBox(); - this.SpecificAddressBox = new BizHawk.HexTextBox(); - this.SpecificValueBox = new BizHawk.MultiClient.WatchValueBox(); - this.NumberOfChangesRadio = new System.Windows.Forms.RadioButton(); - this.SpecificAddressRadio = new System.Windows.Forms.RadioButton(); - this.SpecificValueRadio = new System.Windows.Forms.RadioButton(); - this.PreviousValueRadio = new System.Windows.Forms.RadioButton(); - this.toolStrip1 = new ToolStripEx(); - this.DoSearchToolButton = new System.Windows.Forms.ToolStripButton(); - this.toolStripSeparator10 = new System.Windows.Forms.ToolStripSeparator(); - this.NewSearchToolButton = new System.Windows.Forms.ToolStripButton(); - this.toolStripSeparator15 = new System.Windows.Forms.ToolStripSeparator(); - this.CopyValueToPrevToolBarItem = new System.Windows.Forms.ToolStripButton(); - this.ClearChangeCountsToolBarItem = new System.Windows.Forms.ToolStripButton(); - this.toolStripSeparator16 = new System.Windows.Forms.ToolStripSeparator(); - this.RemoveToolBarItem = new System.Windows.Forms.ToolStripButton(); - this.AddToRamWatchToolBarItem = new System.Windows.Forms.ToolStripButton(); - this.PokeAddressToolBarItem = new System.Windows.Forms.ToolStripButton(); - this.FreezeAddressToolBarItem = new System.Windows.Forms.ToolStripButton(); - this.toolStripSeparator12 = new System.Windows.Forms.ToolStripSeparator(); - this.UndoToolBarButton = new System.Windows.Forms.ToolStripButton(); - this.RedoToolBarItem = new System.Windows.Forms.ToolStripButton(); - this.RebootToolBarSeparator = new System.Windows.Forms.ToolStripSeparator(); - this.RebootToolbarButton = new System.Windows.Forms.ToolStripButton(); - this.ComparisonBox = new System.Windows.Forms.GroupBox(); - this.DifferentByBox = new BizHawk.UnsignedIntegerBox(); - this.DifferentByRadio = new System.Windows.Forms.RadioButton(); - this.NotEqualToRadio = new System.Windows.Forms.RadioButton(); - this.EqualToRadio = new System.Windows.Forms.RadioButton(); - this.GreaterThanOrEqualToRadio = new System.Windows.Forms.RadioButton(); - this.LessThanOrEqualToRadio = new System.Windows.Forms.RadioButton(); - this.GreaterThanRadio = new System.Windows.Forms.RadioButton(); - this.LessThanRadio = new System.Windows.Forms.RadioButton(); - this.SearchButton = new System.Windows.Forms.Button(); - SearchMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.contextMenuStrip1.SuspendLayout(); - this.menuStrip1.SuspendLayout(); - this.CompareToBox.SuspendLayout(); - this.toolStrip1.SuspendLayout(); - this.ComparisonBox.SuspendLayout(); - this.SuspendLayout(); - // - // SearchMenuItem - // - SearchMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.search; - SearchMenuItem.Name = "SearchMenuItem"; - SearchMenuItem.Size = new System.Drawing.Size(215, 22); - SearchMenuItem.Text = "&Search"; - SearchMenuItem.Click += new System.EventHandler(this.SearchMenuItem_Click); - // - // TotalSearchLabel - // - this.TotalSearchLabel.AutoSize = true; - this.TotalSearchLabel.Location = new System.Drawing.Point(12, 49); - this.TotalSearchLabel.Name = "TotalSearchLabel"; - this.TotalSearchLabel.Size = new System.Drawing.Size(64, 13); - this.TotalSearchLabel.TabIndex = 2; - this.TotalSearchLabel.Text = "0 addresses"; - // - // WatchListView - // - this.WatchListView.AllowColumnReorder = true; - this.WatchListView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) - | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.WatchListView.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { - this.AddressColumn, - this.ValueColumn, - this.PreviousColumn, - this.ChangesColumn, - this.DiffColumn}); - this.WatchListView.ContextMenuStrip = this.contextMenuStrip1; - this.WatchListView.FullRowSelect = true; - this.WatchListView.GridLines = true; - this.WatchListView.HideSelection = false; - this.WatchListView.ItemCount = 0; - this.WatchListView.LabelEdit = true; - this.WatchListView.Location = new System.Drawing.Point(9, 65); - this.WatchListView.Name = "WatchListView"; - this.WatchListView.selectedItem = -1; - this.WatchListView.Size = new System.Drawing.Size(230, 366); - this.WatchListView.TabIndex = 1; - this.WatchListView.UseCompatibleStateImageBehavior = false; - this.WatchListView.View = System.Windows.Forms.View.Details; - this.WatchListView.VirtualMode = true; - this.WatchListView.ColumnClick += new System.Windows.Forms.ColumnClickEventHandler(this.WatchListView_ColumnClick); - this.WatchListView.ColumnReordered += new System.Windows.Forms.ColumnReorderedEventHandler(this.WatchListView_ColumnReordered); - this.WatchListView.SelectedIndexChanged += new System.EventHandler(this.WatchListView_SelectedIndexChanged); - this.WatchListView.Enter += new System.EventHandler(this.WatchListView_Enter); - this.WatchListView.KeyDown += new System.Windows.Forms.KeyEventHandler(this.WatchListView_KeyDown); - this.WatchListView.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.WatchListView_MouseDoubleClick); - // - // AddressColumn - // - this.AddressColumn.Text = "Address"; - this.AddressColumn.Width = 61; - // - // ValueColumn - // - this.ValueColumn.Text = "Value"; - this.ValueColumn.Width = 48; - // - // PreviousColumn - // - this.PreviousColumn.Text = "Prev"; - this.PreviousColumn.Width = 48; - // - // ChangesColumn - // - this.ChangesColumn.Text = "Changes"; - this.ChangesColumn.Width = 55; - // - // DiffColumn - // - this.DiffColumn.Text = "Diff"; - // - // contextMenuStrip1 - // - this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.DoSearchContextMenuItem, - this.NewSearchContextMenuItem, - this.ContextMenuSeparator1, - this.RemoveContextMenuItem, - this.AddToRamWatchContextMenuItem, - this.PokeContextMenuItem, - this.FreezeContextMenuItem, - this.UnfreezeAllContextMenuItem, - this.ContextMenuSeparator2, - this.ViewInHexEditorContextMenuItem, - this.ContextMenuSeparator3, - this.ClearPreviewContextMenuItem}); - this.contextMenuStrip1.Name = "contextMenuStrip1"; - this.contextMenuStrip1.Size = new System.Drawing.Size(216, 220); - this.contextMenuStrip1.Opening += new System.ComponentModel.CancelEventHandler(this.contextMenuStrip1_Opening); - // - // DoSearchContextMenuItem - // - this.DoSearchContextMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.search; - this.DoSearchContextMenuItem.Name = "DoSearchContextMenuItem"; - this.DoSearchContextMenuItem.Size = new System.Drawing.Size(215, 22); - this.DoSearchContextMenuItem.Text = "&Search"; - this.DoSearchContextMenuItem.Click += new System.EventHandler(this.SearchMenuItem_Click); - // - // NewSearchContextMenuItem - // - this.NewSearchContextMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.restart; - this.NewSearchContextMenuItem.Name = "NewSearchContextMenuItem"; - this.NewSearchContextMenuItem.Size = new System.Drawing.Size(215, 22); - this.NewSearchContextMenuItem.Text = "&Start New Search"; - this.NewSearchContextMenuItem.Click += new System.EventHandler(this.NewSearchMenuMenuItem_Click); - // - // ContextMenuSeparator1 - // - this.ContextMenuSeparator1.Name = "ContextMenuSeparator1"; - this.ContextMenuSeparator1.Size = new System.Drawing.Size(212, 6); - // - // RemoveContextMenuItem - // - this.RemoveContextMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.Delete; - this.RemoveContextMenuItem.Name = "RemoveContextMenuItem"; - this.RemoveContextMenuItem.ShortcutKeyDisplayString = "Del"; - this.RemoveContextMenuItem.Size = new System.Drawing.Size(215, 22); - this.RemoveContextMenuItem.Text = "Remove Selected"; - this.RemoveContextMenuItem.Click += new System.EventHandler(this.RemoveMenuItem_Click); - // - // AddToRamWatchContextMenuItem - // - this.AddToRamWatchContextMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.FindHS; - this.AddToRamWatchContextMenuItem.Name = "AddToRamWatchContextMenuItem"; - this.AddToRamWatchContextMenuItem.ShortcutKeyDisplayString = "Ctrl+R"; - this.AddToRamWatchContextMenuItem.Size = new System.Drawing.Size(215, 22); - this.AddToRamWatchContextMenuItem.Text = "Add to Ram Watch"; - this.AddToRamWatchContextMenuItem.Click += new System.EventHandler(this.AddToRamWatchMenuItem_Click); - // - // PokeContextMenuItem - // - this.PokeContextMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.poke; - this.PokeContextMenuItem.Name = "PokeContextMenuItem"; - this.PokeContextMenuItem.ShortcutKeyDisplayString = "Ctrl+P"; - this.PokeContextMenuItem.Size = new System.Drawing.Size(215, 22); - this.PokeContextMenuItem.Text = "Poke Address"; - this.PokeContextMenuItem.Click += new System.EventHandler(this.PokeAddressMenuItem_Click); - // - // FreezeContextMenuItem - // - this.FreezeContextMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.Freeze; - this.FreezeContextMenuItem.Name = "FreezeContextMenuItem"; - this.FreezeContextMenuItem.ShortcutKeyDisplayString = "Ctrl+F"; - this.FreezeContextMenuItem.Size = new System.Drawing.Size(215, 22); - this.FreezeContextMenuItem.Text = "Freeze Address"; - this.FreezeContextMenuItem.Click += new System.EventHandler(this.FreezeAddressMenuItem_Click); - // - // UnfreezeAllContextMenuItem - // - this.UnfreezeAllContextMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.Unfreeze; - this.UnfreezeAllContextMenuItem.Name = "UnfreezeAllContextMenuItem"; - this.UnfreezeAllContextMenuItem.Size = new System.Drawing.Size(215, 22); - this.UnfreezeAllContextMenuItem.Text = "Unfreeze &All"; - this.UnfreezeAllContextMenuItem.Click += new System.EventHandler(this.UnfreezeAllContextMenuItem_Click); - // - // ContextMenuSeparator2 - // - this.ContextMenuSeparator2.Name = "ContextMenuSeparator2"; - this.ContextMenuSeparator2.Size = new System.Drawing.Size(212, 6); - // - // ViewInHexEditorContextMenuItem - // - this.ViewInHexEditorContextMenuItem.Name = "ViewInHexEditorContextMenuItem"; - this.ViewInHexEditorContextMenuItem.Size = new System.Drawing.Size(215, 22); - this.ViewInHexEditorContextMenuItem.Text = "View in Hex Editor"; - this.ViewInHexEditorContextMenuItem.Click += new System.EventHandler(this.ViewInHexEditorContextMenuItem_Click); - // - // ContextMenuSeparator3 - // - this.ContextMenuSeparator3.Name = "ContextMenuSeparator3"; - this.ContextMenuSeparator3.Size = new System.Drawing.Size(212, 6); - // - // ClearPreviewContextMenuItem - // - this.ClearPreviewContextMenuItem.Name = "ClearPreviewContextMenuItem"; - this.ClearPreviewContextMenuItem.Size = new System.Drawing.Size(215, 22); - this.ClearPreviewContextMenuItem.Text = "&Clear Preview"; - this.ClearPreviewContextMenuItem.Click += new System.EventHandler(this.ClearPreviewContextMenuItem_Click); - // - // menuStrip1 - // - this.menuStrip1.ClickThrough = true; - this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.fileToolStripMenuItem, - this.settingsToolStripMenuItem, - this.searchToolStripMenuItem, - this.optionsToolStripMenuItem, - this.ColumnsMenuItem}); - this.menuStrip1.Location = new System.Drawing.Point(0, 0); - this.menuStrip1.Name = "menuStrip1"; - this.menuStrip1.Size = new System.Drawing.Size(438, 24); - this.menuStrip1.TabIndex = 4; - this.menuStrip1.Text = "menuStrip1"; - // - // fileToolStripMenuItem - // - this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.OpenMenuItem, - this.SaveMenuItem, - this.SaveAsMenuItem, - this.AppendFileMenuItem, - this.TruncateFromFileMenuItem, - this.RecentSubMenu, - this.toolStripSeparator4, - this.exitToolStripMenuItem}); - this.fileToolStripMenuItem.Name = "fileToolStripMenuItem"; - this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20); - this.fileToolStripMenuItem.Text = "&File"; - this.fileToolStripMenuItem.DropDownOpened += new System.EventHandler(this.FileSubMenu_DropDownOpened); - // - // OpenMenuItem - // - this.OpenMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.OpenFile; - this.OpenMenuItem.Name = "OpenMenuItem"; - this.OpenMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.O))); - this.OpenMenuItem.Size = new System.Drawing.Size(195, 22); - this.OpenMenuItem.Text = "&Open..."; - this.OpenMenuItem.Click += new System.EventHandler(this.OpenMenuItem_Click); - // - // SaveMenuItem - // - this.SaveMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.SaveAs; - this.SaveMenuItem.Name = "SaveMenuItem"; - this.SaveMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.S))); - this.SaveMenuItem.Size = new System.Drawing.Size(195, 22); - this.SaveMenuItem.Text = "&Save"; - this.SaveMenuItem.Click += new System.EventHandler(this.SaveMenuItem_Click); - // - // SaveAsMenuItem - // - this.SaveAsMenuItem.Name = "SaveAsMenuItem"; - this.SaveAsMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift) - | System.Windows.Forms.Keys.S))); - this.SaveAsMenuItem.Size = new System.Drawing.Size(195, 22); - this.SaveAsMenuItem.Text = "Save As..."; - this.SaveAsMenuItem.Click += new System.EventHandler(this.SaveAsMenuItem_Click); - // - // AppendFileMenuItem - // - this.AppendFileMenuItem.Name = "AppendFileMenuItem"; - this.AppendFileMenuItem.Size = new System.Drawing.Size(195, 22); - this.AppendFileMenuItem.Text = "&Append File..."; - this.AppendFileMenuItem.Click += new System.EventHandler(this.OpenMenuItem_Click); - // - // TruncateFromFileMenuItem - // - this.TruncateFromFileMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.TruncateFromFile; - this.TruncateFromFileMenuItem.Name = "TruncateFromFileMenuItem"; - this.TruncateFromFileMenuItem.Size = new System.Drawing.Size(195, 22); - this.TruncateFromFileMenuItem.Text = "&Truncate from File..."; - this.TruncateFromFileMenuItem.Click += new System.EventHandler(this.OpenMenuItem_Click); - // - // RecentSubMenu - // - this.RecentSubMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.toolStripSeparator2}); - this.RecentSubMenu.Image = global::BizHawk.MultiClient.Properties.Resources.Recent; - this.RecentSubMenu.Name = "RecentSubMenu"; - this.RecentSubMenu.Size = new System.Drawing.Size(195, 22); - this.RecentSubMenu.Text = "Recent"; - this.RecentSubMenu.DropDownOpened += new System.EventHandler(this.RecentSubMenu_DropDownOpened); - // - // toolStripSeparator2 - // - this.toolStripSeparator2.Name = "toolStripSeparator2"; - this.toolStripSeparator2.Size = new System.Drawing.Size(57, 6); - // - // toolStripSeparator4 - // - this.toolStripSeparator4.Name = "toolStripSeparator4"; - this.toolStripSeparator4.Size = new System.Drawing.Size(192, 6); - // - // exitToolStripMenuItem - // - this.exitToolStripMenuItem.Name = "exitToolStripMenuItem"; - this.exitToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Alt | System.Windows.Forms.Keys.F4))); - this.exitToolStripMenuItem.Size = new System.Drawing.Size(195, 22); - this.exitToolStripMenuItem.Text = "&Close"; - this.exitToolStripMenuItem.Click += new System.EventHandler(this.CloseMenuItem_Click); - // - // settingsToolStripMenuItem - // - this.settingsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.modeToolStripMenuItem, - this.MemoryDomainsSubMenu, - this.sizeToolStripMenuItem, - this.CheckMisalignedMenuItem, - this.toolStripSeparator8, - this.DisplayTypeSubMenu, - this.DefinePreviousValueSubMenu, - this.BigEndianMenuItem}); - this.settingsToolStripMenuItem.Name = "settingsToolStripMenuItem"; - this.settingsToolStripMenuItem.Size = new System.Drawing.Size(61, 20); - this.settingsToolStripMenuItem.Text = "&Settings"; - this.settingsToolStripMenuItem.DropDownOpened += new System.EventHandler(this.SettingsSubMenu_DropDownOpened); - // - // modeToolStripMenuItem - // - this.modeToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.DetailedMenuItem, - this.FastMenuItem}); - this.modeToolStripMenuItem.Name = "modeToolStripMenuItem"; - this.modeToolStripMenuItem.Size = new System.Drawing.Size(188, 22); - this.modeToolStripMenuItem.Text = "&Mode"; - this.modeToolStripMenuItem.DropDownOpened += new System.EventHandler(this.ModeSubMenu_DropDownOpened); - // - // DetailedMenuItem - // - this.DetailedMenuItem.Name = "DetailedMenuItem"; - this.DetailedMenuItem.Size = new System.Drawing.Size(117, 22); - this.DetailedMenuItem.Text = "&Detailed"; - this.DetailedMenuItem.Click += new System.EventHandler(this.DetailedMenuItem_Click); - // - // FastMenuItem - // - this.FastMenuItem.Name = "FastMenuItem"; - this.FastMenuItem.Size = new System.Drawing.Size(117, 22); - this.FastMenuItem.Text = "&Fast"; - this.FastMenuItem.Click += new System.EventHandler(this.FastMenuItem_Click); - // - // MemoryDomainsSubMenu - // - this.MemoryDomainsSubMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.toolStripSeparator6}); - this.MemoryDomainsSubMenu.Name = "MemoryDomainsSubMenu"; - this.MemoryDomainsSubMenu.Size = new System.Drawing.Size(188, 22); - this.MemoryDomainsSubMenu.Text = "&Memory Domains"; - this.MemoryDomainsSubMenu.DropDownOpened += new System.EventHandler(this.MemoryDomainsSubMenu_DropDownOpened); - // - // toolStripSeparator6 - // - this.toolStripSeparator6.Name = "toolStripSeparator6"; - this.toolStripSeparator6.Size = new System.Drawing.Size(57, 6); - // - // sizeToolStripMenuItem - // - this.sizeToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this._1ByteMenuItem, - this._2ByteMenuItem, - this._4ByteMenuItem}); - this.sizeToolStripMenuItem.Name = "sizeToolStripMenuItem"; - this.sizeToolStripMenuItem.Size = new System.Drawing.Size(188, 22); - this.sizeToolStripMenuItem.Text = "&Size"; - this.sizeToolStripMenuItem.DropDownOpened += new System.EventHandler(this.SizeSubMenu_DropDownOpened); - // - // _1ByteMenuItem - // - this._1ByteMenuItem.Name = "_1ByteMenuItem"; - this._1ByteMenuItem.Size = new System.Drawing.Size(106, 22); - this._1ByteMenuItem.Text = "&1 Byte"; - this._1ByteMenuItem.Click += new System.EventHandler(this._1ByteMenuItem_Click); - // - // _2ByteMenuItem - // - this._2ByteMenuItem.Name = "_2ByteMenuItem"; - this._2ByteMenuItem.Size = new System.Drawing.Size(106, 22); - this._2ByteMenuItem.Text = "&2 Byte"; - this._2ByteMenuItem.Click += new System.EventHandler(this._2ByteMenuItem_Click); - // - // _4ByteMenuItem - // - this._4ByteMenuItem.Name = "_4ByteMenuItem"; - this._4ByteMenuItem.Size = new System.Drawing.Size(106, 22); - this._4ByteMenuItem.Text = "&4 Byte"; - this._4ByteMenuItem.Click += new System.EventHandler(this._4ByteMenuItem_Click); - // - // CheckMisalignedMenuItem - // - this.CheckMisalignedMenuItem.Name = "CheckMisalignedMenuItem"; - this.CheckMisalignedMenuItem.Size = new System.Drawing.Size(188, 22); - this.CheckMisalignedMenuItem.Text = "Check Mis-aligned"; - this.CheckMisalignedMenuItem.Click += new System.EventHandler(this.CheckMisalignedMenuItem_Click); - // - // toolStripSeparator8 - // - this.toolStripSeparator8.Name = "toolStripSeparator8"; - this.toolStripSeparator8.Size = new System.Drawing.Size(185, 6); - // - // DisplayTypeSubMenu - // - this.DisplayTypeSubMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.toolStripSeparator1}); - this.DisplayTypeSubMenu.Name = "DisplayTypeSubMenu"; - this.DisplayTypeSubMenu.Size = new System.Drawing.Size(188, 22); - this.DisplayTypeSubMenu.Text = "&Display Type"; - this.DisplayTypeSubMenu.DropDownOpened += new System.EventHandler(this.DisplayTypeSubMenu_DropDownOpened); - // - // toolStripSeparator1 - // - this.toolStripSeparator1.Name = "toolStripSeparator1"; - this.toolStripSeparator1.Size = new System.Drawing.Size(57, 6); - // - // DefinePreviousValueSubMenu - // - this.DefinePreviousValueSubMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.PreviousFrameMenuItem, - this.Previous_LastSearchMenuItem, - this.Previous_LastChangeMenuItem, - this.Previous_OriginalMenuItem}); - this.DefinePreviousValueSubMenu.Name = "DefinePreviousValueSubMenu"; - this.DefinePreviousValueSubMenu.Size = new System.Drawing.Size(188, 22); - this.DefinePreviousValueSubMenu.Text = "Define Previous Value"; - this.DefinePreviousValueSubMenu.DropDownOpened += new System.EventHandler(this.DefinePreviousValueSubMenu_DropDownOpened); - // - // PreviousFrameMenuItem - // - this.PreviousFrameMenuItem.Name = "PreviousFrameMenuItem"; - this.PreviousFrameMenuItem.Size = new System.Drawing.Size(155, 22); - this.PreviousFrameMenuItem.Text = "&Previous Frame"; - this.PreviousFrameMenuItem.Click += new System.EventHandler(this.Previous_LastFrameMenuItem_Click); - // - // Previous_LastSearchMenuItem - // - this.Previous_LastSearchMenuItem.Name = "Previous_LastSearchMenuItem"; - this.Previous_LastSearchMenuItem.Size = new System.Drawing.Size(155, 22); - this.Previous_LastSearchMenuItem.Text = "Last &Search"; - this.Previous_LastSearchMenuItem.Click += new System.EventHandler(this.Previous_LastSearchMenuItem_Click); - // - // Previous_LastChangeMenuItem - // - this.Previous_LastChangeMenuItem.Name = "Previous_LastChangeMenuItem"; - this.Previous_LastChangeMenuItem.Size = new System.Drawing.Size(155, 22); - this.Previous_LastChangeMenuItem.Text = "Last &Change"; - this.Previous_LastChangeMenuItem.Click += new System.EventHandler(this.Previous_LastChangeMenuItem_Click); - // - // Previous_OriginalMenuItem - // - this.Previous_OriginalMenuItem.Name = "Previous_OriginalMenuItem"; - this.Previous_OriginalMenuItem.Size = new System.Drawing.Size(155, 22); - this.Previous_OriginalMenuItem.Text = "&Original"; - this.Previous_OriginalMenuItem.Click += new System.EventHandler(this.Previous_OriginalMenuItem_Click); - // - // BigEndianMenuItem - // - this.BigEndianMenuItem.Name = "BigEndianMenuItem"; - this.BigEndianMenuItem.Size = new System.Drawing.Size(188, 22); - this.BigEndianMenuItem.Text = "&Big Endian"; - this.BigEndianMenuItem.Click += new System.EventHandler(this.BigEndianMenuItem_Click); - // - // searchToolStripMenuItem - // - this.searchToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.newSearchToolStripMenuItem, - this.toolStripSeparator7, - SearchMenuItem, - this.UndoMenuItem, - this.RedoMenuItem, - this.CopyValueToPrevMenuItem, - this.ClearChangeCountsMenuItem, - this.RemoveMenuItem, - this.toolStripSeparator5, - this.AddToRamWatchMenuItem, - this.PokeAddressMenuItem, - this.FreezeAddressMenuItem, - this.toolStripSeparator13, - this.ClearUndoMenuItem}); - this.searchToolStripMenuItem.Name = "searchToolStripMenuItem"; - this.searchToolStripMenuItem.Size = new System.Drawing.Size(54, 20); - this.searchToolStripMenuItem.Text = "&Search"; - this.searchToolStripMenuItem.DropDownOpened += new System.EventHandler(this.SearchSubMenu_DropDownOpened); - // - // newSearchToolStripMenuItem - // - this.newSearchToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.restart; - this.newSearchToolStripMenuItem.Name = "newSearchToolStripMenuItem"; - this.newSearchToolStripMenuItem.Size = new System.Drawing.Size(215, 22); - this.newSearchToolStripMenuItem.Text = "&New Search"; - this.newSearchToolStripMenuItem.Click += new System.EventHandler(this.NewSearchMenuMenuItem_Click); - // - // toolStripSeparator7 - // - this.toolStripSeparator7.Name = "toolStripSeparator7"; - this.toolStripSeparator7.Size = new System.Drawing.Size(212, 6); - // - // UndoMenuItem - // - this.UndoMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.undo; - this.UndoMenuItem.Name = "UndoMenuItem"; - this.UndoMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Z))); - this.UndoMenuItem.Size = new System.Drawing.Size(215, 22); - this.UndoMenuItem.Text = "&Undo"; - this.UndoMenuItem.Click += new System.EventHandler(this.UndoMenuItem_Click); - // - // RedoMenuItem - // - this.RedoMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.redo; - this.RedoMenuItem.Name = "RedoMenuItem"; - this.RedoMenuItem.ShortcutKeyDisplayString = ""; - this.RedoMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Y))); - this.RedoMenuItem.Size = new System.Drawing.Size(215, 22); - this.RedoMenuItem.Text = "&Redo"; - this.RedoMenuItem.Click += new System.EventHandler(this.RedoMenuItem_Click); - // - // CopyValueToPrevMenuItem - // - this.CopyValueToPrevMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.Previous; - this.CopyValueToPrevMenuItem.Name = "CopyValueToPrevMenuItem"; - this.CopyValueToPrevMenuItem.Size = new System.Drawing.Size(215, 22); - this.CopyValueToPrevMenuItem.Text = "Copy Value to Prev"; - this.CopyValueToPrevMenuItem.Click += new System.EventHandler(this.CopyValueToPrevMenuItem_Click); - // - // ClearChangeCountsMenuItem - // - this.ClearChangeCountsMenuItem.Name = "ClearChangeCountsMenuItem"; - this.ClearChangeCountsMenuItem.Size = new System.Drawing.Size(215, 22); - this.ClearChangeCountsMenuItem.Text = "&Clear Change Counts"; - this.ClearChangeCountsMenuItem.Click += new System.EventHandler(this.ClearChangeCountsMenuItem_Click); - // - // RemoveMenuItem - // - this.RemoveMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.Delete; - this.RemoveMenuItem.Name = "RemoveMenuItem"; - this.RemoveMenuItem.ShortcutKeyDisplayString = "Delete"; - this.RemoveMenuItem.Size = new System.Drawing.Size(215, 22); - this.RemoveMenuItem.Text = "&Remove selected"; - this.RemoveMenuItem.Click += new System.EventHandler(this.RemoveMenuItem_Click); - // - // toolStripSeparator5 - // - this.toolStripSeparator5.Name = "toolStripSeparator5"; - this.toolStripSeparator5.Size = new System.Drawing.Size(212, 6); - // - // AddToRamWatchMenuItem - // - this.AddToRamWatchMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.FindHS; - this.AddToRamWatchMenuItem.Name = "AddToRamWatchMenuItem"; - this.AddToRamWatchMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.R))); - this.AddToRamWatchMenuItem.Size = new System.Drawing.Size(215, 22); - this.AddToRamWatchMenuItem.Text = "&Add to Ram Watch"; - this.AddToRamWatchMenuItem.Click += new System.EventHandler(this.AddToRamWatchMenuItem_Click); - // - // PokeAddressMenuItem - // - this.PokeAddressMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.poke; - this.PokeAddressMenuItem.Name = "PokeAddressMenuItem"; - this.PokeAddressMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.P))); - this.PokeAddressMenuItem.Size = new System.Drawing.Size(215, 22); - this.PokeAddressMenuItem.Text = "&Poke Address"; - this.PokeAddressMenuItem.Click += new System.EventHandler(this.PokeAddressMenuItem_Click); - // - // FreezeAddressMenuItem - // - this.FreezeAddressMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.Freeze; - this.FreezeAddressMenuItem.Name = "FreezeAddressMenuItem"; - this.FreezeAddressMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.F))); - this.FreezeAddressMenuItem.Size = new System.Drawing.Size(215, 22); - this.FreezeAddressMenuItem.Text = "Freeze Address"; - this.FreezeAddressMenuItem.Click += new System.EventHandler(this.FreezeAddressMenuItem_Click); - // - // toolStripSeparator13 - // - this.toolStripSeparator13.Name = "toolStripSeparator13"; - this.toolStripSeparator13.Size = new System.Drawing.Size(212, 6); - // - // ClearUndoMenuItem - // - this.ClearUndoMenuItem.Name = "ClearUndoMenuItem"; - this.ClearUndoMenuItem.Size = new System.Drawing.Size(215, 22); - this.ClearUndoMenuItem.Text = "Clear Undo History"; - this.ClearUndoMenuItem.Click += new System.EventHandler(this.ClearUndoMenuItem_Click); - // - // optionsToolStripMenuItem - // - this.optionsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.PreviewModeMenuItem, - this.AutoSearchMenuItem, - this.toolStripSeparator9, - this.ExcludeRamWatchMenuItem, - this.UseUndoHistoryMenuItem, - this.toolStripSeparator11, - this.AutoloadDialogMenuItem, - this.SaveWinPositionMenuItem, - this.AlwaysOnTopMenuItem, - this.toolStripSeparator3, - this.RestoreDefaultsMenuItem}); - this.optionsToolStripMenuItem.Name = "optionsToolStripMenuItem"; - this.optionsToolStripMenuItem.Size = new System.Drawing.Size(61, 20); - this.optionsToolStripMenuItem.Text = "&Options"; - this.optionsToolStripMenuItem.DropDownOpened += new System.EventHandler(this.OptionsSubMenu_DropDownOpened); - // - // PreviewModeMenuItem - // - this.PreviewModeMenuItem.Name = "PreviewModeMenuItem"; - this.PreviewModeMenuItem.Size = new System.Drawing.Size(240, 22); - this.PreviewModeMenuItem.Text = "Preview Mode"; - this.PreviewModeMenuItem.Click += new System.EventHandler(this.PreviewModeMenuItem_Click); - // - // AutoSearchMenuItem - // - this.AutoSearchMenuItem.Name = "AutoSearchMenuItem"; - this.AutoSearchMenuItem.Size = new System.Drawing.Size(240, 22); - this.AutoSearchMenuItem.Text = "Auto-Search"; - this.AutoSearchMenuItem.Click += new System.EventHandler(this.AutoSearchMenuItem_Click); - // - // toolStripSeparator9 - // - this.toolStripSeparator9.Name = "toolStripSeparator9"; - this.toolStripSeparator9.Size = new System.Drawing.Size(237, 6); - // - // ExcludeRamWatchMenuItem - // - this.ExcludeRamWatchMenuItem.Name = "ExcludeRamWatchMenuItem"; - this.ExcludeRamWatchMenuItem.Size = new System.Drawing.Size(240, 22); - this.ExcludeRamWatchMenuItem.Text = "Always Exclude Ram Search List"; - this.ExcludeRamWatchMenuItem.Click += new System.EventHandler(this.ExcludeRamWatchMenuItem_Click); - // - // UseUndoHistoryMenuItem - // - this.UseUndoHistoryMenuItem.Name = "UseUndoHistoryMenuItem"; - this.UseUndoHistoryMenuItem.Size = new System.Drawing.Size(240, 22); - this.UseUndoHistoryMenuItem.Text = "&Use Undo History"; - this.UseUndoHistoryMenuItem.Click += new System.EventHandler(this.UseUndoHistoryMenuItem_Click); - // - // toolStripSeparator11 - // - this.toolStripSeparator11.Name = "toolStripSeparator11"; - this.toolStripSeparator11.Size = new System.Drawing.Size(237, 6); - // - // AutoloadDialogMenuItem - // - this.AutoloadDialogMenuItem.Name = "AutoloadDialogMenuItem"; - this.AutoloadDialogMenuItem.Size = new System.Drawing.Size(240, 22); - this.AutoloadDialogMenuItem.Text = "Autoload"; - this.AutoloadDialogMenuItem.Click += new System.EventHandler(this.AutoloadDialogMenuItem_Click); - // - // SaveWinPositionMenuItem - // - this.SaveWinPositionMenuItem.Name = "SaveWinPositionMenuItem"; - this.SaveWinPositionMenuItem.Size = new System.Drawing.Size(240, 22); - this.SaveWinPositionMenuItem.Text = "Save Window Position"; - this.SaveWinPositionMenuItem.Click += new System.EventHandler(this.SaveWinPositionMenuItem_Click); - // - // AlwaysOnTopMenuItem - // - this.AlwaysOnTopMenuItem.Name = "AlwaysOnTopMenuItem"; - this.AlwaysOnTopMenuItem.Size = new System.Drawing.Size(240, 22); - this.AlwaysOnTopMenuItem.Text = "Always On Top"; - this.AlwaysOnTopMenuItem.Click += new System.EventHandler(this.AlwaysOnTopMenuItem_Click); - // - // toolStripSeparator3 - // - this.toolStripSeparator3.Name = "toolStripSeparator3"; - this.toolStripSeparator3.Size = new System.Drawing.Size(237, 6); - // - // RestoreDefaultsMenuItem - // - this.RestoreDefaultsMenuItem.Name = "RestoreDefaultsMenuItem"; - this.RestoreDefaultsMenuItem.Size = new System.Drawing.Size(240, 22); - this.RestoreDefaultsMenuItem.Text = "Restore Default Settings"; - this.RestoreDefaultsMenuItem.Click += new System.EventHandler(this.RestoreDefaultsMenuItem_Click); - // - // ColumnsMenuItem - // - this.ColumnsMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.ShowPreviousMenuItem, - this.ShowChangesMenuItem, - this.ShowDiffMenuItem}); - this.ColumnsMenuItem.Name = "ColumnsMenuItem"; - this.ColumnsMenuItem.Size = new System.Drawing.Size(67, 20); - this.ColumnsMenuItem.Text = "&Columns"; - this.ColumnsMenuItem.DropDownOpened += new System.EventHandler(this.ColumnsMenuItem_DropDownOpened); - // - // ShowPreviousMenuItem - // - this.ShowPreviousMenuItem.Name = "ShowPreviousMenuItem"; - this.ShowPreviousMenuItem.Size = new System.Drawing.Size(156, 22); - this.ShowPreviousMenuItem.Text = "&Previous Value"; - this.ShowPreviousMenuItem.Click += new System.EventHandler(this.ShowPreviousMenuItem_Click); - // - // ShowChangesMenuItem - // - this.ShowChangesMenuItem.Name = "ShowChangesMenuItem"; - this.ShowChangesMenuItem.Size = new System.Drawing.Size(156, 22); - this.ShowChangesMenuItem.Text = "&Change Counts"; - this.ShowChangesMenuItem.Click += new System.EventHandler(this.ShowChangesMenuItem_Click); - // - // ShowDiffMenuItem - // - this.ShowDiffMenuItem.Name = "ShowDiffMenuItem"; - this.ShowDiffMenuItem.Size = new System.Drawing.Size(156, 22); - this.ShowDiffMenuItem.Text = "&Difference"; - this.ShowDiffMenuItem.Click += new System.EventHandler(this.ShowDiffMenuItem_Click); - // - // MemDomainLabel - // - this.MemDomainLabel.AutoSize = true; - this.MemDomainLabel.Location = new System.Drawing.Point(135, 49); - this.MemDomainLabel.Name = "MemDomainLabel"; - this.MemDomainLabel.Size = new System.Drawing.Size(70, 13); - this.MemDomainLabel.TabIndex = 8; - this.MemDomainLabel.Text = "Main Memory"; - // - // MessageLabel - // - this.MessageLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.MessageLabel.AutoSize = true; - this.MessageLabel.Location = new System.Drawing.Point(9, 434); - this.MessageLabel.Name = "MessageLabel"; - this.MessageLabel.Size = new System.Drawing.Size(106, 13); - this.MessageLabel.TabIndex = 9; - this.MessageLabel.Text = " todo "; - // - // AutoSearchCheckBox - // - this.AutoSearchCheckBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.AutoSearchCheckBox.Appearance = System.Windows.Forms.Appearance.Button; - this.AutoSearchCheckBox.AutoSize = true; - this.AutoSearchCheckBox.Image = global::BizHawk.MultiClient.Properties.Resources.AutoSearch; - this.AutoSearchCheckBox.Location = new System.Drawing.Point(317, 361); - this.AutoSearchCheckBox.Name = "AutoSearchCheckBox"; - this.AutoSearchCheckBox.Size = new System.Drawing.Size(38, 22); - this.AutoSearchCheckBox.TabIndex = 95; - this.AutoSearchCheckBox.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; - this.toolTip1.SetToolTip(this.AutoSearchCheckBox, "Automatically search each frame"); - this.AutoSearchCheckBox.UseVisualStyleBackColor = true; - this.AutoSearchCheckBox.Click += new System.EventHandler(this.AutoSearchMenuItem_Click); - // - // CompareToBox - // - this.CompareToBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.CompareToBox.Controls.Add(this.DifferenceBox); - this.CompareToBox.Controls.Add(this.DifferenceRadio); - this.CompareToBox.Controls.Add(this.NumberOfChangesBox); - this.CompareToBox.Controls.Add(this.SpecificAddressBox); - this.CompareToBox.Controls.Add(this.SpecificValueBox); - this.CompareToBox.Controls.Add(this.NumberOfChangesRadio); - this.CompareToBox.Controls.Add(this.SpecificAddressRadio); - this.CompareToBox.Controls.Add(this.SpecificValueRadio); - this.CompareToBox.Controls.Add(this.PreviousValueRadio); - this.CompareToBox.Location = new System.Drawing.Point(244, 65); - this.CompareToBox.Name = "CompareToBox"; - this.CompareToBox.Size = new System.Drawing.Size(183, 125); - this.CompareToBox.TabIndex = 10; - this.CompareToBox.TabStop = false; - this.CompareToBox.Text = "Compare To / By"; - // - // DifferenceBox - // - this.DifferenceBox.CharacterCasing = System.Windows.Forms.CharacterCasing.Upper; - this.DifferenceBox.Enabled = false; - this.DifferenceBox.Location = new System.Drawing.Point(114, 98); - this.DifferenceBox.MaxLength = 8; - this.DifferenceBox.Name = "DifferenceBox"; - this.DifferenceBox.Size = new System.Drawing.Size(65, 20); - this.DifferenceBox.TabIndex = 45; - this.DifferenceBox.TextChanged += new System.EventHandler(this.CompareToValue_TextChanged); - // - // DifferenceRadio - // - this.DifferenceRadio.AutoSize = true; - this.DifferenceRadio.Location = new System.Drawing.Point(6, 100); - this.DifferenceRadio.Name = "DifferenceRadio"; - this.DifferenceRadio.Size = new System.Drawing.Size(89, 17); - this.DifferenceRadio.TabIndex = 40; - this.DifferenceRadio.Text = "Difference of:"; - this.DifferenceRadio.UseVisualStyleBackColor = true; - this.DifferenceRadio.Click += new System.EventHandler(this.DifferenceRadio_Click); - // - // NumberOfChangesBox - // - this.NumberOfChangesBox.CharacterCasing = System.Windows.Forms.CharacterCasing.Upper; - this.NumberOfChangesBox.Enabled = false; - this.NumberOfChangesBox.Location = new System.Drawing.Point(114, 78); - this.NumberOfChangesBox.MaxLength = 8; - this.NumberOfChangesBox.Name = "NumberOfChangesBox"; - this.NumberOfChangesBox.Size = new System.Drawing.Size(65, 20); - this.NumberOfChangesBox.TabIndex = 35; - this.NumberOfChangesBox.TextChanged += new System.EventHandler(this.CompareToValue_TextChanged); - // - // SpecificAddressBox - // - this.SpecificAddressBox.CharacterCasing = System.Windows.Forms.CharacterCasing.Upper; - this.SpecificAddressBox.Enabled = false; - this.SpecificAddressBox.Location = new System.Drawing.Point(114, 58); - this.SpecificAddressBox.MaxLength = 8; - this.SpecificAddressBox.Name = "SpecificAddressBox"; - this.SpecificAddressBox.Size = new System.Drawing.Size(65, 20); - this.SpecificAddressBox.TabIndex = 25; - this.SpecificAddressBox.TextChanged += new System.EventHandler(this.CompareToValue_TextChanged); - // - // SpecificValueBox - // - this.SpecificValueBox.ByteSize = BizHawk.MultiClient.Watch.WatchSize.Byte; - this.SpecificValueBox.CharacterCasing = System.Windows.Forms.CharacterCasing.Upper; - this.SpecificValueBox.Enabled = false; - this.SpecificValueBox.Location = new System.Drawing.Point(114, 38); - this.SpecificValueBox.MaxLength = 2; - this.SpecificValueBox.Name = "SpecificValueBox"; - this.SpecificValueBox.Size = new System.Drawing.Size(65, 20); - this.SpecificValueBox.TabIndex = 15; - this.SpecificValueBox.Type = BizHawk.MultiClient.Watch.DisplayType.Hex; - this.SpecificValueBox.TextChanged += new System.EventHandler(this.CompareToValue_TextChanged); - // - // NumberOfChangesRadio - // - this.NumberOfChangesRadio.AutoSize = true; - this.NumberOfChangesRadio.Location = new System.Drawing.Point(7, 80); - this.NumberOfChangesRadio.Name = "NumberOfChangesRadio"; - this.NumberOfChangesRadio.Size = new System.Drawing.Size(111, 17); - this.NumberOfChangesRadio.TabIndex = 30; - this.NumberOfChangesRadio.Text = "Specific Changes:"; - this.NumberOfChangesRadio.UseVisualStyleBackColor = true; - this.NumberOfChangesRadio.Click += new System.EventHandler(this.NumberOfChangesRadio_Click); - // - // SpecificAddressRadio - // - this.SpecificAddressRadio.AutoSize = true; - this.SpecificAddressRadio.Location = new System.Drawing.Point(7, 60); - this.SpecificAddressRadio.Name = "SpecificAddressRadio"; - this.SpecificAddressRadio.Size = new System.Drawing.Size(107, 17); - this.SpecificAddressRadio.TabIndex = 20; - this.SpecificAddressRadio.Text = "Specific Address:"; - this.SpecificAddressRadio.UseVisualStyleBackColor = true; - this.SpecificAddressRadio.Click += new System.EventHandler(this.SpecificAddressRadio_Click); - // - // SpecificValueRadio - // - this.SpecificValueRadio.AutoSize = true; - this.SpecificValueRadio.Location = new System.Drawing.Point(7, 40); - this.SpecificValueRadio.Name = "SpecificValueRadio"; - this.SpecificValueRadio.Size = new System.Drawing.Size(96, 17); - this.SpecificValueRadio.TabIndex = 10; - this.SpecificValueRadio.Text = "Specific Value:"; - this.SpecificValueRadio.UseVisualStyleBackColor = true; - this.SpecificValueRadio.Click += new System.EventHandler(this.SpecificValueRadio_Click); - // - // PreviousValueRadio - // - this.PreviousValueRadio.AutoSize = true; - this.PreviousValueRadio.Checked = true; - this.PreviousValueRadio.Location = new System.Drawing.Point(7, 20); - this.PreviousValueRadio.Name = "PreviousValueRadio"; - this.PreviousValueRadio.Size = new System.Drawing.Size(96, 17); - this.PreviousValueRadio.TabIndex = 5; - this.PreviousValueRadio.TabStop = true; - this.PreviousValueRadio.Text = "Previous Value"; - this.PreviousValueRadio.UseVisualStyleBackColor = true; - this.PreviousValueRadio.Click += new System.EventHandler(this.PreviousValueRadio_Click); - // - // toolStrip1 - // - this.toolStrip1.ClickThrough = true; - this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.DoSearchToolButton, - this.toolStripSeparator10, - this.NewSearchToolButton, - this.toolStripSeparator15, - this.CopyValueToPrevToolBarItem, - this.ClearChangeCountsToolBarItem, - this.toolStripSeparator16, - this.RemoveToolBarItem, - this.AddToRamWatchToolBarItem, - this.PokeAddressToolBarItem, - this.FreezeAddressToolBarItem, - this.toolStripSeparator12, - this.UndoToolBarButton, - this.RedoToolBarItem, - this.RebootToolBarSeparator, - this.RebootToolbarButton}); - this.toolStrip1.Location = new System.Drawing.Point(0, 24); - this.toolStrip1.Name = "toolStrip1"; - this.toolStrip1.Size = new System.Drawing.Size(438, 25); - this.toolStrip1.TabIndex = 11; - this.toolStrip1.Text = "toolStrip1"; - // - // DoSearchToolButton - // - this.DoSearchToolButton.Enabled = false; - this.DoSearchToolButton.Image = ((System.Drawing.Image)(resources.GetObject("DoSearchToolButton.Image"))); - this.DoSearchToolButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.DoSearchToolButton.Name = "DoSearchToolButton"; - this.DoSearchToolButton.Size = new System.Drawing.Size(65, 22); - this.DoSearchToolButton.Text = "Search "; - this.DoSearchToolButton.Click += new System.EventHandler(this.SearchMenuItem_Click); - // - // toolStripSeparator10 - // - this.toolStripSeparator10.Name = "toolStripSeparator10"; - this.toolStripSeparator10.Size = new System.Drawing.Size(6, 25); - // - // NewSearchToolButton - // - this.NewSearchToolButton.Image = global::BizHawk.MultiClient.Properties.Resources.restart; - this.NewSearchToolButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.NewSearchToolButton.Name = "NewSearchToolButton"; - this.NewSearchToolButton.Size = new System.Drawing.Size(51, 22); - this.NewSearchToolButton.Text = "New"; - this.NewSearchToolButton.Click += new System.EventHandler(this.NewSearchMenuMenuItem_Click); - // - // toolStripSeparator15 - // - this.toolStripSeparator15.Name = "toolStripSeparator15"; - this.toolStripSeparator15.Size = new System.Drawing.Size(6, 25); - // - // CopyValueToPrevToolBarItem - // - this.CopyValueToPrevToolBarItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.CopyValueToPrevToolBarItem.Enabled = false; - this.CopyValueToPrevToolBarItem.Image = global::BizHawk.MultiClient.Properties.Resources.Previous; - this.CopyValueToPrevToolBarItem.ImageTransparentColor = System.Drawing.Color.Magenta; - this.CopyValueToPrevToolBarItem.Name = "CopyValueToPrevToolBarItem"; - this.CopyValueToPrevToolBarItem.Size = new System.Drawing.Size(23, 22); - this.CopyValueToPrevToolBarItem.Text = "Copy Value to Previous"; - this.CopyValueToPrevToolBarItem.Click += new System.EventHandler(this.CopyValueToPrevMenuItem_Click); - // - // ClearChangeCountsToolBarItem - // - this.ClearChangeCountsToolBarItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; - this.ClearChangeCountsToolBarItem.Image = ((System.Drawing.Image)(resources.GetObject("ClearChangeCountsToolBarItem.Image"))); - this.ClearChangeCountsToolBarItem.ImageTransparentColor = System.Drawing.Color.Magenta; - this.ClearChangeCountsToolBarItem.Name = "ClearChangeCountsToolBarItem"; - this.ClearChangeCountsToolBarItem.Size = new System.Drawing.Size(23, 22); - this.ClearChangeCountsToolBarItem.Text = "C"; - this.ClearChangeCountsToolBarItem.ToolTipText = "Clear Change Counts"; - this.ClearChangeCountsToolBarItem.Click += new System.EventHandler(this.ClearChangeCountsMenuItem_Click); - // - // toolStripSeparator16 - // - this.toolStripSeparator16.Name = "toolStripSeparator16"; - this.toolStripSeparator16.Size = new System.Drawing.Size(6, 25); - // - // RemoveToolBarItem - // - this.RemoveToolBarItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.RemoveToolBarItem.Enabled = false; - this.RemoveToolBarItem.Image = global::BizHawk.MultiClient.Properties.Resources.Delete; - this.RemoveToolBarItem.ImageTransparentColor = System.Drawing.Color.Magenta; - this.RemoveToolBarItem.Name = "RemoveToolBarItem"; - this.RemoveToolBarItem.Size = new System.Drawing.Size(23, 22); - this.RemoveToolBarItem.Text = "C&ut"; - this.RemoveToolBarItem.ToolTipText = "Eliminate Selected Items"; - this.RemoveToolBarItem.Click += new System.EventHandler(this.RemoveMenuItem_Click); - // - // AddToRamWatchToolBarItem - // - this.AddToRamWatchToolBarItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.AddToRamWatchToolBarItem.Enabled = false; - this.AddToRamWatchToolBarItem.Image = global::BizHawk.MultiClient.Properties.Resources.FindHS; - this.AddToRamWatchToolBarItem.ImageTransparentColor = System.Drawing.Color.Magenta; - this.AddToRamWatchToolBarItem.Name = "AddToRamWatchToolBarItem"; - this.AddToRamWatchToolBarItem.Size = new System.Drawing.Size(23, 22); - this.AddToRamWatchToolBarItem.Text = "Watch"; - this.AddToRamWatchToolBarItem.Click += new System.EventHandler(this.AddToRamWatchMenuItem_Click); - // - // PokeAddressToolBarItem - // - this.PokeAddressToolBarItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.PokeAddressToolBarItem.Enabled = false; - this.PokeAddressToolBarItem.Image = global::BizHawk.MultiClient.Properties.Resources.poke; - this.PokeAddressToolBarItem.ImageTransparentColor = System.Drawing.Color.Magenta; - this.PokeAddressToolBarItem.Name = "PokeAddressToolBarItem"; - this.PokeAddressToolBarItem.Size = new System.Drawing.Size(23, 22); - this.PokeAddressToolBarItem.Text = "Poke"; - this.PokeAddressToolBarItem.Click += new System.EventHandler(this.PokeAddressMenuItem_Click); - // - // FreezeAddressToolBarItem - // - this.FreezeAddressToolBarItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.FreezeAddressToolBarItem.Enabled = false; - this.FreezeAddressToolBarItem.Image = global::BizHawk.MultiClient.Properties.Resources.Freeze; - this.FreezeAddressToolBarItem.ImageTransparentColor = System.Drawing.Color.Magenta; - this.FreezeAddressToolBarItem.Name = "FreezeAddressToolBarItem"; - this.FreezeAddressToolBarItem.Size = new System.Drawing.Size(23, 22); - this.FreezeAddressToolBarItem.Text = "Freeze"; - this.FreezeAddressToolBarItem.Click += new System.EventHandler(this.FreezeAddressMenuItem_Click); - // - // toolStripSeparator12 - // - this.toolStripSeparator12.Name = "toolStripSeparator12"; - this.toolStripSeparator12.Size = new System.Drawing.Size(6, 25); - // - // UndoToolBarButton - // - this.UndoToolBarButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.UndoToolBarButton.Enabled = false; - this.UndoToolBarButton.Image = global::BizHawk.MultiClient.Properties.Resources.undo; - this.UndoToolBarButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.UndoToolBarButton.Name = "UndoToolBarButton"; - this.UndoToolBarButton.Size = new System.Drawing.Size(23, 22); - this.UndoToolBarButton.Text = "Undo Search"; - this.UndoToolBarButton.Click += new System.EventHandler(this.UndoMenuItem_Click); - // - // RedoToolBarItem - // - this.RedoToolBarItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.RedoToolBarItem.Enabled = false; - this.RedoToolBarItem.Image = global::BizHawk.MultiClient.Properties.Resources.redo; - this.RedoToolBarItem.ImageTransparentColor = System.Drawing.Color.Magenta; - this.RedoToolBarItem.Name = "RedoToolBarItem"; - this.RedoToolBarItem.Size = new System.Drawing.Size(23, 22); - this.RedoToolBarItem.Text = "Redo"; - this.RedoToolBarItem.Click += new System.EventHandler(this.RedoMenuItem_Click); - // - // RebootToolBarSeparator - // - this.RebootToolBarSeparator.Name = "RebootToolBarSeparator"; - this.RebootToolBarSeparator.Size = new System.Drawing.Size(6, 25); - // - // RebootToolbarButton - // - this.RebootToolbarButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.RebootToolbarButton.Image = global::BizHawk.MultiClient.Properties.Resources.reboot; - this.RebootToolbarButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.RebootToolbarButton.Name = "RebootToolbarButton"; - this.RebootToolbarButton.Size = new System.Drawing.Size(23, 22); - this.RebootToolbarButton.Text = "A new search needs to be started in order for these changes to take effect"; - this.RebootToolbarButton.Click += new System.EventHandler(this.NewSearchMenuMenuItem_Click); - // - // ComparisonBox - // - this.ComparisonBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.ComparisonBox.Controls.Add(this.DifferentByBox); - this.ComparisonBox.Controls.Add(this.DifferentByRadio); - this.ComparisonBox.Controls.Add(this.NotEqualToRadio); - this.ComparisonBox.Controls.Add(this.EqualToRadio); - this.ComparisonBox.Controls.Add(this.GreaterThanOrEqualToRadio); - this.ComparisonBox.Controls.Add(this.LessThanOrEqualToRadio); - this.ComparisonBox.Controls.Add(this.GreaterThanRadio); - this.ComparisonBox.Controls.Add(this.LessThanRadio); - this.ComparisonBox.Location = new System.Drawing.Point(244, 196); - this.ComparisonBox.Name = "ComparisonBox"; - this.ComparisonBox.Size = new System.Drawing.Size(183, 159); - this.ComparisonBox.TabIndex = 12; - this.ComparisonBox.TabStop = false; - this.ComparisonBox.Text = "Comparison Operator"; - // - // DifferentByBox - // - this.DifferentByBox.CharacterCasing = System.Windows.Forms.CharacterCasing.Upper; - this.DifferentByBox.Enabled = false; - this.DifferentByBox.Location = new System.Drawing.Point(90, 132); - this.DifferentByBox.MaxLength = 9; - this.DifferentByBox.Name = "DifferentByBox"; - this.DifferentByBox.Size = new System.Drawing.Size(50, 20); - this.DifferentByBox.TabIndex = 85; - this.DifferentByBox.TextChanged += new System.EventHandler(this.DifferentByBox_TextChanged); - // - // DifferentByRadio - // - this.DifferentByRadio.AutoSize = true; - this.DifferentByRadio.Location = new System.Drawing.Point(7, 134); - this.DifferentByRadio.Name = "DifferentByRadio"; - this.DifferentByRadio.Size = new System.Drawing.Size(83, 17); - this.DifferentByRadio.TabIndex = 80; - this.DifferentByRadio.Text = "Different By:"; - this.DifferentByRadio.UseVisualStyleBackColor = true; - this.DifferentByRadio.Click += new System.EventHandler(this.DifferentByRadio_Click); - // - // NotEqualToRadio - // - this.NotEqualToRadio.AutoSize = true; - this.NotEqualToRadio.Location = new System.Drawing.Point(7, 35); - this.NotEqualToRadio.Name = "NotEqualToRadio"; - this.NotEqualToRadio.Size = new System.Drawing.Size(88, 17); - this.NotEqualToRadio.TabIndex = 55; - this.NotEqualToRadio.Text = "Not Equal To"; - this.NotEqualToRadio.UseVisualStyleBackColor = true; - this.NotEqualToRadio.Click += new System.EventHandler(this.NotEqualToRadio_Click); - // - // EqualToRadio - // - this.EqualToRadio.AutoSize = true; - this.EqualToRadio.Checked = true; - this.EqualToRadio.Location = new System.Drawing.Point(7, 15); - this.EqualToRadio.Name = "EqualToRadio"; - this.EqualToRadio.Size = new System.Drawing.Size(68, 17); - this.EqualToRadio.TabIndex = 50; - this.EqualToRadio.TabStop = true; - this.EqualToRadio.Text = "Equal To"; - this.EqualToRadio.UseVisualStyleBackColor = true; - this.EqualToRadio.Click += new System.EventHandler(this.EqualToRadio_Click); - // - // GreaterThanOrEqualToRadio - // - this.GreaterThanOrEqualToRadio.AutoSize = true; - this.GreaterThanOrEqualToRadio.Location = new System.Drawing.Point(7, 113); - this.GreaterThanOrEqualToRadio.Name = "GreaterThanOrEqualToRadio"; - this.GreaterThanOrEqualToRadio.Size = new System.Drawing.Size(146, 17); - this.GreaterThanOrEqualToRadio.TabIndex = 75; - this.GreaterThanOrEqualToRadio.Text = "Greater Than or Equal To"; - this.GreaterThanOrEqualToRadio.UseVisualStyleBackColor = true; - this.GreaterThanOrEqualToRadio.Click += new System.EventHandler(this.GreaterThanOrEqualToRadio_Click); - // - // LessThanOrEqualToRadio - // - this.LessThanOrEqualToRadio.AutoSize = true; - this.LessThanOrEqualToRadio.Location = new System.Drawing.Point(7, 93); - this.LessThanOrEqualToRadio.Name = "LessThanOrEqualToRadio"; - this.LessThanOrEqualToRadio.Size = new System.Drawing.Size(133, 17); - this.LessThanOrEqualToRadio.TabIndex = 70; - this.LessThanOrEqualToRadio.Text = "Less Than or Equal To"; - this.LessThanOrEqualToRadio.UseVisualStyleBackColor = true; - this.LessThanOrEqualToRadio.Click += new System.EventHandler(this.LessThanOrEqualToRadio_Click); - // - // GreaterThanRadio - // - this.GreaterThanRadio.AutoSize = true; - this.GreaterThanRadio.Location = new System.Drawing.Point(7, 74); - this.GreaterThanRadio.Name = "GreaterThanRadio"; - this.GreaterThanRadio.Size = new System.Drawing.Size(88, 17); - this.GreaterThanRadio.TabIndex = 65; - this.GreaterThanRadio.Text = "Greater Than"; - this.GreaterThanRadio.UseVisualStyleBackColor = true; - this.GreaterThanRadio.Click += new System.EventHandler(this.GreaterThanRadio_Click); - // - // LessThanRadio - // - this.LessThanRadio.AutoSize = true; - this.LessThanRadio.Location = new System.Drawing.Point(7, 54); - this.LessThanRadio.Name = "LessThanRadio"; - this.LessThanRadio.Size = new System.Drawing.Size(75, 17); - this.LessThanRadio.TabIndex = 60; - this.LessThanRadio.Text = "Less Than"; - this.LessThanRadio.UseVisualStyleBackColor = true; - this.LessThanRadio.Click += new System.EventHandler(this.LessThanRadio_Click); - // - // SearchButton - // - this.SearchButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.SearchButton.Image = global::BizHawk.MultiClient.Properties.Resources.search; - this.SearchButton.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; - this.SearchButton.Location = new System.Drawing.Point(244, 361); - this.SearchButton.Name = "SearchButton"; - this.SearchButton.Size = new System.Drawing.Size(70, 23); - this.SearchButton.TabIndex = 90; - this.SearchButton.Text = "&Search"; - this.SearchButton.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - this.SearchButton.UseVisualStyleBackColor = true; - this.SearchButton.Click += new System.EventHandler(this.SearchMenuItem_Click); - // - // NewRamSearch - // - this.AllowDrop = true; - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(438, 459); - this.Controls.Add(this.SearchButton); - this.Controls.Add(this.AutoSearchCheckBox); - this.Controls.Add(this.ComparisonBox); - this.Controls.Add(this.toolStrip1); - this.Controls.Add(this.MessageLabel); - this.Controls.Add(this.MemDomainLabel); - this.Controls.Add(this.CompareToBox); - this.Controls.Add(this.WatchListView); - this.Controls.Add(this.TotalSearchLabel); - this.Controls.Add(this.menuStrip1); - this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); - this.MainMenuStrip = this.menuStrip1; - this.MinimumSize = new System.Drawing.Size(291, 400); - this.Name = "NewRamSearch"; - this.Text = "Brand New Experimental Ram Search"; - this.Activated += new System.EventHandler(this.NewRamSearch_Activated); - this.Load += new System.EventHandler(this.RamSearch_Load); - this.DragDrop += new System.Windows.Forms.DragEventHandler(this.NewRamSearch_DragDrop); - this.DragEnter += new System.Windows.Forms.DragEventHandler(this.NewRamSearch_DragEnter); - this.contextMenuStrip1.ResumeLayout(false); - this.menuStrip1.ResumeLayout(false); - this.menuStrip1.PerformLayout(); - this.CompareToBox.ResumeLayout(false); - this.CompareToBox.PerformLayout(); - this.toolStrip1.ResumeLayout(false); - this.toolStrip1.PerformLayout(); - this.ComparisonBox.ResumeLayout(false); - this.ComparisonBox.PerformLayout(); - this.ResumeLayout(false); - this.PerformLayout(); - - } - - #endregion - - private System.Windows.Forms.Label TotalSearchLabel; - VirtualListView WatchListView; - private System.Windows.Forms.ColumnHeader AddressColumn; - private System.Windows.Forms.ColumnHeader ValueColumn; - private System.Windows.Forms.ColumnHeader PreviousColumn; - private System.Windows.Forms.ColumnHeader ChangesColumn; - private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem OpenMenuItem; - private System.Windows.Forms.ToolStripMenuItem SaveAsMenuItem; - private System.Windows.Forms.ToolStripMenuItem SaveMenuItem; - private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem optionsToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem RestoreDefaultsMenuItem; - private System.Windows.Forms.ToolStripMenuItem SaveWinPositionMenuItem; - private System.Windows.Forms.Label MemDomainLabel; - private System.Windows.Forms.Label MessageLabel; - private System.Windows.Forms.ToolStripMenuItem RecentSubMenu; - private System.Windows.Forms.ToolStripSeparator toolStripSeparator2; - private System.Windows.Forms.ToolStripMenuItem AppendFileMenuItem; - private System.Windows.Forms.ToolStripSeparator toolStripSeparator4; - private System.Windows.Forms.ToolStripMenuItem searchToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem ClearChangeCountsMenuItem; - private System.Windows.Forms.ToolStripMenuItem UndoMenuItem; - private System.Windows.Forms.ToolStripMenuItem RemoveMenuItem; - private System.Windows.Forms.ToolStripSeparator toolStripSeparator5; - private System.Windows.Forms.ToolStripMenuItem AddToRamWatchMenuItem; - private System.Windows.Forms.ToolStripMenuItem PokeAddressMenuItem; - private System.Windows.Forms.ToolStripMenuItem TruncateFromFileMenuItem; - private System.Windows.Forms.ToolStripMenuItem ExcludeRamWatchMenuItem; - private System.Windows.Forms.ToolStripMenuItem CopyValueToPrevMenuItem; - private System.Windows.Forms.ContextMenuStrip contextMenuStrip1; - private System.Windows.Forms.ToolStripMenuItem NewSearchContextMenuItem; - private System.Windows.Forms.ToolStripSeparator ContextMenuSeparator1; - private System.Windows.Forms.ToolStripMenuItem DoSearchContextMenuItem; - private System.Windows.Forms.ToolStripMenuItem FreezeAddressMenuItem; - private System.Windows.Forms.ToolStripMenuItem RemoveContextMenuItem; - private System.Windows.Forms.ToolStripMenuItem AddToRamWatchContextMenuItem; - private System.Windows.Forms.ToolStripMenuItem PokeContextMenuItem; - private System.Windows.Forms.ToolStripMenuItem FreezeContextMenuItem; - private MenuStripEx menuStrip1; - private System.Windows.Forms.ToolTip toolTip1; - private System.Windows.Forms.ToolStripMenuItem RedoMenuItem; - private System.Windows.Forms.ToolStripMenuItem ViewInHexEditorContextMenuItem; - private System.Windows.Forms.ToolStripMenuItem AutoloadDialogMenuItem; - private System.Windows.Forms.ToolStripSeparator toolStripSeparator11; - private System.Windows.Forms.ToolStripMenuItem UnfreezeAllContextMenuItem; - private System.Windows.Forms.ToolStripSeparator ContextMenuSeparator3; - private System.Windows.Forms.ToolStripMenuItem AlwaysOnTopMenuItem; - private System.Windows.Forms.ToolStripSeparator toolStripSeparator13; - private System.Windows.Forms.ToolStripMenuItem ClearUndoMenuItem; - private System.Windows.Forms.ToolStripMenuItem UseUndoHistoryMenuItem; - private System.Windows.Forms.ToolStripSeparator ContextMenuSeparator2; - private System.Windows.Forms.ToolStripMenuItem ClearPreviewContextMenuItem; - private System.Windows.Forms.ToolStripSeparator toolStripSeparator3; - private System.Windows.Forms.ToolStripMenuItem newSearchToolStripMenuItem; - private System.Windows.Forms.ToolStripSeparator toolStripSeparator7; - private System.Windows.Forms.ToolStripMenuItem settingsToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem modeToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem DetailedMenuItem; - private System.Windows.Forms.ToolStripMenuItem FastMenuItem; - private System.Windows.Forms.ToolStripMenuItem MemoryDomainsSubMenu; - private System.Windows.Forms.ToolStripSeparator toolStripSeparator6; - private System.Windows.Forms.ToolStripMenuItem sizeToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem _1ByteMenuItem; - private System.Windows.Forms.ToolStripMenuItem _2ByteMenuItem; - private System.Windows.Forms.ToolStripMenuItem _4ByteMenuItem; - private System.Windows.Forms.ToolStripMenuItem DisplayTypeSubMenu; - private System.Windows.Forms.ToolStripSeparator toolStripSeparator1; - private System.Windows.Forms.ToolStripMenuItem BigEndianMenuItem; - private System.Windows.Forms.ToolStripMenuItem CheckMisalignedMenuItem; - private System.Windows.Forms.ToolStripSeparator toolStripSeparator8; - private System.Windows.Forms.ToolStripMenuItem DefinePreviousValueSubMenu; - private System.Windows.Forms.ToolStripMenuItem PreviousFrameMenuItem; - private System.Windows.Forms.ToolStripMenuItem Previous_LastSearchMenuItem; - private System.Windows.Forms.ToolStripMenuItem Previous_LastChangeMenuItem; - private System.Windows.Forms.ToolStripMenuItem Previous_OriginalMenuItem; - private System.Windows.Forms.GroupBox CompareToBox; - private System.Windows.Forms.RadioButton DifferenceRadio; - private UnsignedIntegerBox NumberOfChangesBox; - private HexTextBox SpecificAddressBox; - private WatchValueBox SpecificValueBox; - private System.Windows.Forms.RadioButton NumberOfChangesRadio; - private System.Windows.Forms.RadioButton SpecificAddressRadio; - private System.Windows.Forms.RadioButton SpecificValueRadio; - private System.Windows.Forms.RadioButton PreviousValueRadio; - private ToolStripEx toolStrip1; - private System.Windows.Forms.ToolStripButton DoSearchToolButton; - private System.Windows.Forms.ToolStripSeparator toolStripSeparator10; - private System.Windows.Forms.ToolStripButton NewSearchToolButton; - private System.Windows.Forms.ToolStripSeparator toolStripSeparator15; - private System.Windows.Forms.GroupBox ComparisonBox; - private UnsignedIntegerBox DifferentByBox; - private System.Windows.Forms.RadioButton DifferentByRadio; - private System.Windows.Forms.RadioButton NotEqualToRadio; - private System.Windows.Forms.RadioButton EqualToRadio; - private System.Windows.Forms.RadioButton GreaterThanOrEqualToRadio; - private System.Windows.Forms.RadioButton LessThanOrEqualToRadio; - private System.Windows.Forms.RadioButton GreaterThanRadio; - private System.Windows.Forms.RadioButton LessThanRadio; - private System.Windows.Forms.ToolStripButton CopyValueToPrevToolBarItem; - private System.Windows.Forms.ToolStripButton ClearChangeCountsToolBarItem; - private System.Windows.Forms.ToolStripMenuItem PreviewModeMenuItem; - private System.Windows.Forms.ToolStripButton RemoveToolBarItem; - private System.Windows.Forms.ToolStripSeparator toolStripSeparator16; - private System.Windows.Forms.ToolStripButton AddToRamWatchToolBarItem; - private System.Windows.Forms.ToolStripButton PokeAddressToolBarItem; - private System.Windows.Forms.ToolStripButton FreezeAddressToolBarItem; - private UnsignedIntegerBox DifferenceBox; - private System.Windows.Forms.ToolStripMenuItem AutoSearchMenuItem; - private System.Windows.Forms.ToolStripSeparator toolStripSeparator9; - private System.Windows.Forms.ColumnHeader DiffColumn; - private System.Windows.Forms.ToolStripSeparator toolStripSeparator12; - private System.Windows.Forms.ToolStripButton UndoToolBarButton; - private System.Windows.Forms.ToolStripButton RedoToolBarItem; - private System.Windows.Forms.ToolStripMenuItem ColumnsMenuItem; - private System.Windows.Forms.ToolStripMenuItem ShowPreviousMenuItem; - private System.Windows.Forms.ToolStripMenuItem ShowChangesMenuItem; - private System.Windows.Forms.ToolStripMenuItem ShowDiffMenuItem; - private System.Windows.Forms.CheckBox AutoSearchCheckBox; - private System.Windows.Forms.Button SearchButton; - private System.Windows.Forms.ToolStripSeparator RebootToolBarSeparator; - private System.Windows.Forms.ToolStripButton RebootToolbarButton; - } -} \ No newline at end of file diff --git a/BizHawk.MultiClient/tools/Watch/NewRamSearch.cs b/BizHawk.MultiClient/tools/Watch/NewRamSearch.cs deleted file mode 100644 index 48018250ed..0000000000 --- a/BizHawk.MultiClient/tools/Watch/NewRamSearch.cs +++ /dev/null @@ -1,1371 +0,0 @@ -using System; -using System.Collections; -using System.Collections.Generic; -using System.ComponentModel; -using System.Drawing; -using System.Linq; -using System.Text; -using System.Windows.Forms; -using System.IO; -using System.Globalization; - -namespace BizHawk.MultiClient -{ - /// - /// A winform designed to search through ram values - /// - public partial class NewRamSearch : Form - { - public const string ADDRESS = "AddressColumn"; - public const string VALUE = "ValueColumn"; - public const string PREV = "PrevColumn"; - public const string CHANGES = "ChangesColumn"; - public const string DIFF = "DiffColumn"; - - private readonly Dictionary DefaultColumnWidths = new Dictionary - { - { ADDRESS, 60 }, - { VALUE, 59 }, - { PREV, 59 }, - { CHANGES, 55 }, - { DIFF, 59 }, - }; - - private string CurrentFileName = String.Empty; - - private RamSearchEngine Searches; - private RamSearchEngine.Settings Settings; - - private int defaultWidth; //For saving the default size of the dialog, so the user can restore if desired - private int defaultHeight; - private string _sortedColumn = ""; - private bool _sortReverse = false; - private bool forcePreviewClear = false; - private bool autoSearch = false; - - #region Initialize, Load, and Save - - public NewRamSearch() - { - SetStyle(ControlStyles.AllPaintingInWmPaint, true); - SetStyle(ControlStyles.UserPaint, true); - SetStyle(ControlStyles.OptimizedDoubleBuffer, true); - InitializeComponent(); - WatchListView.QueryItemText += ListView_QueryItemText; - WatchListView.QueryItemBkColor += ListView_QueryItemBkColor; - WatchListView.VirtualMode = true; - Closing += (o, e) => SaveConfigSettings(); - - _sortedColumn = ""; - _sortReverse = false; - - Settings = new RamSearchEngine.Settings(); - Searches = new RamSearchEngine(Settings); - - TopMost = Global.Config.RamSearchAlwaysOnTop; - SetReboot(false); - } - - private void RamSearch_Load(object sender, EventArgs e) - { - LoadConfigSettings(); - SpecificValueBox.ByteSize = Settings.Size; - SpecificValueBox.Type = Settings.Type; - MessageLabel.Text = String.Empty; - NewSearch(); - } - - private void ListView_QueryItemBkColor(int index, int column, ref Color color) - { - if (Searches.Count > 0 && column == 0) - { - Color nextColor = Color.White; - - bool isCheat = Global.CheatList.IsActiveCheat(Settings.Domain, Searches[index].Address.Value); - bool isWeeded = Global.Config.RamSearchPreviewMode && Searches.Preview(Searches[index].Address.Value) && !forcePreviewClear; - - if (isCheat) - { - if (isWeeded) - { - nextColor = Color.Lavender; - } - else - { - nextColor = Color.LightCyan; - } - } - else - { - if (isWeeded) - { - nextColor = Color.Pink; - } - } - - if (color != nextColor) - { - color = nextColor; - } - } - } - - private void ListView_QueryItemText(int index, int column, out string text) - { - text = ""; - - if (index >= Searches.Count) - { - return; - } - - string columnName = WatchListView.Columns[column].Name; - switch (columnName) - { - case ADDRESS: - text = Searches[index].AddressString; - break; - case VALUE: - text = Searches[index].ValueString; - break; - case PREV: - text = Searches[index].PreviousStr; - break; - case CHANGES: - if (Searches[index] is IWatchDetails) - { - text = (Searches[index] as IWatchDetails).ChangeCount.ToString(); - } - break; - case DIFF: - if (Searches[index] is IWatchDetails) - { - text = (Searches[index] as IWatchDetails).Diff; - } - break; - } - } - - private void LoadConfigSettings() - { - //Size and Positioning - defaultWidth = Size.Width; //Save these first so that the user can restore to its original size - defaultHeight = Size.Height; - - if (Global.Config.RamSearchSaveWindowPosition && Global.Config.RamSearchWndx >= 0 && Global.Config.RamSearchWndy >= 0) - { - Location = new Point(Global.Config.RamSearchWndx, Global.Config.RamSearchWndy); - } - - if (Global.Config.RamSearchWidth >= 0 && Global.Config.RamSearchHeight >= 0) - { - Size = new Size(Global.Config.RamSearchWidth, Global.Config.RamSearchHeight); - } - - TopMost = Global.Config.RamSearchAlwaysOnTop; - - LoadColumnInfo(); - } - - #endregion - - #region Public - - public void UpdateValues() - { - //TODO: autosearch logic - if (Searches.Count > 0) - { - Searches.Update(); - - if (autoSearch) - { - DoSearch(); - } - - WatchListView.Refresh(); - } - } - - public void Restart() - { - //TODO - if (!IsHandleCreated || IsDisposed) return; - } - - public void SaveConfigSettings() - { - SaveColumnInfo(); - - Global.Config.RamSearchWndx = Location.X; - Global.Config.RamSearchWndy = Location.Y; - Global.Config.RamSearchWidth = Right - Left; - Global.Config.RamSearchHeight = Bottom - Top; - } - - #endregion - - #region Private - - private void NewSearch() - { - Searches = new RamSearchEngine(Settings); - Searches.Start(); - if (Global.Config.RamSearchAlwaysExcludeRamWatch) - { - RemoveRamWatchesFromList(); - } - - SetTotal(); - WatchListView.ItemCount = Searches.Count; - ToggleSearchDependentToolBarItems(); - SetReboot(false); - } - - private void ToggleSearchDependentToolBarItems() - { - DoSearchToolButton.Enabled = - CopyValueToPrevToolBarItem.Enabled = - Searches.Count > 0; - UpdateUndoToolBarButtons(); - } - - private void DoSearch() - { - int removed = Searches.DoSearch(); - SetTotal(); - WatchListView.ItemCount = Searches.Count; - SetRemovedMessage(removed); - ToggleSearchDependentToolBarItems(); - } - - private List SelectedIndices - { - get - { - var indices = new List(); - foreach (int index in WatchListView.SelectedIndices) - { - indices.Add(index); - } - return indices; - } - } - - private void SetRemovedMessage(int val) - { - MessageLabel.Text = val.ToString() + " address" + (val != 1 ? "es" : String.Empty) + " removed"; - } - - private void SetTotal() - { - TotalSearchLabel.Text = String.Format("{0:n0}", Searches.Count) + " addresses"; - } - - private void SetDomainLabel() - { - MemDomainLabel.Text = Searches.DomainName; - } - - private void LoadFileFromRecent(string path) - { - FileInfo file = new FileInfo(path); - - if (!file.Exists) - { - Global.Config.RecentSearches.HandleLoadError(path); - } - else - { - LoadWatchFile(file, append: false); - } - } - - private void SetPlatformAndMemoryDomainLabel() - { - MemDomainLabel.Text = Global.Emulator.SystemId + " " + Searches.DomainName; - } - - private void SetMemoryDomain(int pos) - { - if (pos < Global.Emulator.MemoryDomains.Count) //Sanity check - { - Settings.Domain = Global.Emulator.MemoryDomains[pos]; - SetDomainLabel(); - SetReboot(true); - } - } - - private void LoadColumnInfo() - { - WatchListView.Columns.Clear(); - AddColumn(ADDRESS, true); - AddColumn(VALUE, true); - AddColumn(PREV, Global.Config.RamSearchShowPrevColumn); - AddColumn(CHANGES, Global.Config.RamSearchShowChangeColumn); - AddColumn(DIFF, Global.Config.RamSearchShowDiffColumn); - - ColumnPositions(); - } - - private void ColumnPositions() - { - List> Columns = - Global.Config.RamSearchColumnIndexes - .Where(x => WatchListView.Columns.ContainsKey(x.Key)) - .OrderBy(x => x.Value).ToList(); - - for (int i = 0; i < Columns.Count; i++) - { - if (WatchListView.Columns.ContainsKey(Columns[i].Key)) - { - WatchListView.Columns[Columns[i].Key].DisplayIndex = i; - } - } - } - - private void SaveColumnInfo() - { - if (WatchListView.Columns[ADDRESS] != null) - { - Global.Config.RamSearchColumnIndexes[ADDRESS] = WatchListView.Columns[ADDRESS].DisplayIndex; - Global.Config.RamSearchColumnWidths[ADDRESS] = WatchListView.Columns[ADDRESS].Width; - } - - if (WatchListView.Columns[VALUE] != null) - { - Global.Config.RamSearchColumnIndexes[VALUE] = WatchListView.Columns[VALUE].DisplayIndex; - Global.Config.RamSearchColumnWidths[VALUE] = WatchListView.Columns[VALUE].Width; - } - - if (WatchListView.Columns[PREV] != null) - { - Global.Config.RamSearchColumnIndexes[PREV] = WatchListView.Columns[PREV].DisplayIndex; - Global.Config.RamSearchColumnWidths[PREV] = WatchListView.Columns[PREV].Width; - } - - if (WatchListView.Columns[CHANGES] != null) - { - Global.Config.RamSearchColumnIndexes[CHANGES] = WatchListView.Columns[CHANGES].DisplayIndex; - Global.Config.RamSearchColumnWidths[CHANGES] = WatchListView.Columns[CHANGES].Width; - } - - if (WatchListView.Columns[DIFF] != null) - { - Global.Config.RamSearchColumnIndexes[DIFF] = WatchListView.Columns[DIFF].DisplayIndex; - Global.Config.RamSearchColumnWidths[DIFF] = WatchListView.Columns[DIFF].Width; - } - } - - private int GetColumnWidth(string columnName) - { - var width = Global.Config.RamSearchColumnWidths[columnName]; - if (width == -1) - { - width = DefaultColumnWidths[columnName]; - } - - return width; - } - - private void AddColumn(string columnName, bool enabled) - { - if (enabled) - { - if (WatchListView.Columns[columnName] == null) - { - ColumnHeader column = new ColumnHeader - { - Name = columnName, - Text = columnName.Replace("Column", ""), - Width = GetColumnWidth(columnName), - }; - - WatchListView.Columns.Add(column); - } - } - } - - private void DoDisplayTypeClick(Watch.DisplayType type) - { - SpecificValueBox.Type = Settings.Type = type; - Searches.SetType(type); - } - - private void SetPreviousStype(Watch.PreviousType type) - { - Settings.PreviousType = type; - Searches.SetPreviousType(type); - } - - private void SetSize(Watch.WatchSize size) - { - SpecificValueBox.ByteSize = Settings.Size = size; - SetReboot(true); - } - - private void SetComparisonOperator(RamSearchEngine.ComparisonOperator op) - { - Searches.Operator = op; - } - - private void SetCompareTo(RamSearchEngine.Compare comp) - { - Searches.CompareTo = comp; - } - - private void SetCompareValue(int? value) - { - Searches.CompareValue = value; - } - - private void SetReboot(bool rebootNeeded) - { - RebootToolBarSeparator.Visible = - RebootToolbarButton.Visible = - rebootNeeded; - } - - private void SetToDetailedMode() - { - Settings.Mode = RamSearchEngine.Settings.SearchMode.Detailed; - NumberOfChangesRadio.Enabled = true; - NumberOfChangesBox.Enabled = true; - DifferenceRadio.Enabled = true; - DifferentByBox.Enabled = true; - ClearChangeCountsToolBarItem.Enabled = true; - WatchListView.Columns[CHANGES].Width = Global.Config.RamSearchColumnWidths[CHANGES]; - SetReboot(true); - } - - private void SetToFastMode() - { - Settings.Mode = RamSearchEngine.Settings.SearchMode.Fast; - - if (Settings.PreviousType == Watch.PreviousType.LastFrame || Settings.PreviousType == Watch.PreviousType.LastChange) - { - SetPreviousStype(Watch.PreviousType.LastSearch); - } - - NumberOfChangesRadio.Enabled = false; - NumberOfChangesBox.Enabled = false; - NumberOfChangesBox.Text = String.Empty; - ClearChangeCountsToolBarItem.Enabled = false; - - if (NumberOfChangesRadio.Checked || DifferenceRadio.Checked) - { - PreviousValueRadio.Checked = true; - } - - Global.Config.RamSearchColumnWidths[CHANGES] = WatchListView.Columns[CHANGES].Width; - WatchListView.Columns[CHANGES].Width = 0; - SetReboot(true); - } - - private void RemoveAddresses() - { - if (SelectedIndices.Count > 0) - { - SetRemovedMessage(SelectedIndices.Count); - - var addresses = new List(); - foreach (int index in SelectedIndices) - { - addresses.Add(Searches[index].Address.Value); - } - Searches.RemoveRange(addresses); - - WatchListView.ItemCount = Searches.Count; - SetTotal(); - WatchListView.SelectedIndices.Clear(); - } - } - - public void LoadWatchFile(FileInfo file, bool append, bool truncate = false) - { - if (file != null) - { - if (!truncate) - { - CurrentFileName = file.FullName; - } - - WatchList watches = new WatchList(Settings.Domain); - watches.Load(file.FullName, false, append); - List addresses = watches.Where(x => !x.IsSeparator).Select(x => x.Address.Value).ToList(); - - if (truncate) - { - SetRemovedMessage(addresses.Count); - Searches.RemoveRange(addresses); - } - else - { - Searches.AddRange(addresses, append); - MessageLabel.Text = file.Name + " loaded"; - } - - WatchListView.ItemCount = Searches.Count; - SetTotal(); - Global.Config.RecentSearches.Add(file.FullName); - - if (!append && !truncate) - { - Searches.ClearHistory(); - } - - ToggleSearchDependentToolBarItems(); - } - } - - private void AddToRamWatch() - { - if (SelectedIndices.Count > 0) - { - Global.MainForm.LoadRamWatch(true); - for (int x = 0; x < SelectedIndices.Count; x++) - { - Global.MainForm.NewRamWatch1.AddWatch(Searches[SelectedIndices[x]]); - } - - if (Global.Config.RamSearchAlwaysExcludeRamWatch) - { - RemoveRamWatchesFromList(); - } - } - } - - private Point GetPromptPoint() - { - return PointToScreen(new Point(WatchListView.Location.X, WatchListView.Location.Y)); - } - - private void PokeAddress() - { - if (SelectedIndices.Count > 0) - { - Global.Sound.StopSound(); - var poke = new RamPoke(); - - var watches = new List(); - for (int i = 0; i < SelectedIndices.Count; i++) - { - watches.Add(Searches[SelectedIndices[i]]); - } - - poke.SetWatch(watches); - poke.InitialLocation = GetPromptPoint(); - poke.ShowDialog(); - UpdateValues(); - Global.Sound.StartSound(); - } - } - - private List SelectedWatches - { - get - { - var selected = new List(); - ListView.SelectedIndexCollection indexes = WatchListView.SelectedIndices; - if (indexes.Count > 0) - { - foreach (int index in indexes) - { - if (!Searches[index].IsSeparator) - { - selected.Add(Searches[index]); - } - } - } - return selected; - } - } - - private void FreezeAddress() - { - ToolHelpers.FreezeAddress(SelectedWatches); - } - - private void RemoveRamWatchesFromList() - { - Searches.RemoveRange(Global.MainForm.NewRamWatch1.AddressList); - WatchListView.ItemCount = Searches.Count; - SetTotal(); - } - - private void UpdateUndoToolBarButtons() - { - UndoToolBarButton.Enabled = Searches.CanUndo; - RedoToolBarItem.Enabled = Searches.CanRedo; - } - - private string GetColumnValue(string name, int index) - { - switch (name) - { - default: - return String.Empty; - case ADDRESS: - return Searches[index].AddressString; - case VALUE: - return Searches[index].ValueString; - case PREV: - return Searches[index].PreviousStr; - case CHANGES: - return (Searches[index] as IWatchDetails).ChangeCount.ToString(); - case DIFF: - return (Searches[index] as IWatchDetails).Diff; - } - } - - private void ToggleAutoSearch() - { - autoSearch ^= true; - AutoSearchCheckBox.Checked = autoSearch; - DoSearchToolButton.Enabled = - SearchButton.Enabled = - !autoSearch; - } - - #endregion - - #region Winform Events - - #region File - - private void FileSubMenu_DropDownOpened(object sender, EventArgs e) - { - SaveMenuItem.Enabled = !String.IsNullOrWhiteSpace(CurrentFileName); - } - - private void RecentSubMenu_DropDownOpened(object sender, EventArgs e) - { - RecentSubMenu.DropDownItems.Clear(); - RecentSubMenu.DropDownItems.AddRange(Global.Config.RecentSearches.GenerateRecentMenu(LoadFileFromRecent)); - } - - private void OpenMenuItem_Click(object sender, EventArgs e) - { - LoadWatchFile( - WatchList.GetFileFromUser(String.Empty), - sender == AppendFileMenuItem, - sender == TruncateFromFileMenuItem - ); - } - - private void SaveMenuItem_Click(object sender, EventArgs e) - { - if (!String.IsNullOrWhiteSpace(CurrentFileName)) - { - WatchList watches = new WatchList(Settings.Domain); - watches.CurrentFileName = CurrentFileName; - for (int i = 0; i < Searches.Count; i++) - { - watches.Add(Searches[i]); - } - - if (watches.Save()) - { - CurrentFileName = watches.CurrentFileName; - MessageLabel.Text = Path.GetFileName(CurrentFileName) + " saved"; - } - } - } - - private void SaveAsMenuItem_Click(object sender, EventArgs e) - { - WatchList watches = new WatchList(Settings.Domain); - watches.CurrentFileName = CurrentFileName; - for (int i = 0; i < Searches.Count; i++) - { - watches.Add(Searches[i]); - } - - if (watches.SaveAs()) - { - CurrentFileName = watches.CurrentFileName; - MessageLabel.Text = Path.GetFileName(CurrentFileName) + " saved"; - Global.Config.RecentSearches.Add(watches.CurrentFileName); - } - } - - private void CloseMenuItem_Click(object sender, EventArgs e) - { - Close(); - } - - #endregion - - #region Settings - - private void SettingsSubMenu_DropDownOpened(object sender, EventArgs e) - { - CheckMisalignedMenuItem.Checked = Settings.CheckMisAligned; - BigEndianMenuItem.Checked = Settings.BigEndian; - } - - private void ModeSubMenu_DropDownOpened(object sender, EventArgs e) - { - DetailedMenuItem.Checked = Settings.Mode == RamSearchEngine.Settings.SearchMode.Detailed; - FastMenuItem.Checked = Settings.Mode == RamSearchEngine.Settings.SearchMode.Fast; - } - - private void MemoryDomainsSubMenu_DropDownOpened(object sender, EventArgs e) - { - MemoryDomainsSubMenu.DropDownItems.Clear(); - MemoryDomainsSubMenu.DropDownItems.AddRange(ToolHelpers.GenerateMemoryDomainMenuItems(SetMemoryDomain, Searches.DomainName)); - } - - private void SizeSubMenu_DropDownOpened(object sender, EventArgs e) - { - _1ByteMenuItem.Checked = Settings.Size == Watch.WatchSize.Byte; - _2ByteMenuItem.Checked = Settings.Size == Watch.WatchSize.Word; - _4ByteMenuItem.Checked = Settings.Size == Watch.WatchSize.DWord; - } - - private void DisplayTypeSubMenu_DropDownOpened(object sender, EventArgs e) - { - DisplayTypeSubMenu.DropDownItems.Clear(); - - foreach (var type in Watch.AvailableTypes(Settings.Size)) - { - var item = new ToolStripMenuItem() - { - Name = type.ToString() + "ToolStripMenuItem", - Text = Watch.DisplayTypeToString(type), - Checked = Settings.Type == type, - }; - item.Click += (o, ev) => DoDisplayTypeClick(type); - - DisplayTypeSubMenu.DropDownItems.Add(item); - } - } - - private void DefinePreviousValueSubMenu_DropDownOpened(object sender, EventArgs e) - { - Previous_LastSearchMenuItem.Checked = false; - Previous_LastChangeMenuItem.Checked = false; - PreviousFrameMenuItem.Checked = false; - Previous_OriginalMenuItem.Checked = false; - - switch (Settings.PreviousType) - { - default: - case Watch.PreviousType.LastSearch: - Previous_LastSearchMenuItem.Checked = true; - break; - case Watch.PreviousType.LastChange: - Previous_LastChangeMenuItem.Checked = true; - break; - case Watch.PreviousType.LastFrame: - PreviousFrameMenuItem.Checked = true; - break; - case Watch.PreviousType.Original: - Previous_OriginalMenuItem.Checked = true; - break; - } - - if (Settings.Mode == RamSearchEngine.Settings.SearchMode.Fast) - { - Previous_LastChangeMenuItem.Enabled = false; - PreviousFrameMenuItem.Enabled = false; - } - else - { - Previous_LastChangeMenuItem.Enabled = true; - PreviousFrameMenuItem.Enabled = true; - } - } - - private void DetailedMenuItem_Click(object sender, EventArgs e) - { - SetToDetailedMode(); - } - - private void FastMenuItem_Click(object sender, EventArgs e) - { - SetToFastMode(); - } - - private void _1ByteMenuItem_Click(object sender, EventArgs e) - { - SetSize(Watch.WatchSize.Byte); - } - - private void _2ByteMenuItem_Click(object sender, EventArgs e) - { - SetSize(Watch.WatchSize.Word); - } - - private void _4ByteMenuItem_Click(object sender, EventArgs e) - { - SetSize(Watch.WatchSize.DWord); - } - - private void CheckMisalignedMenuItem_Click(object sender, EventArgs e) - { - Settings.CheckMisAligned ^= true; - SetReboot(true); - } - - private void Previous_LastFrameMenuItem_Click(object sender, EventArgs e) - { - SetPreviousStype(Watch.PreviousType.LastFrame); - } - - private void Previous_LastSearchMenuItem_Click(object sender, EventArgs e) - { - SetPreviousStype(Watch.PreviousType.LastSearch); - } - - private void Previous_LastChangeMenuItem_Click(object sender, EventArgs e) - { - SetPreviousStype(Watch.PreviousType.LastChange); - } - - private void Previous_OriginalMenuItem_Click(object sender, EventArgs e) - { - SetPreviousStype(Watch.PreviousType.Original); - } - - private void BigEndianMenuItem_Click(object sender, EventArgs e) - { - Settings.BigEndian ^= true; - Searches.SetEndian(Settings.BigEndian); - } - - #endregion - - #region Search - - private void SearchSubMenu_DropDownOpened(object sender, EventArgs e) - { - ClearChangeCountsMenuItem.Enabled = Settings.Mode == RamSearchEngine.Settings.SearchMode.Detailed; - - RemoveMenuItem.Enabled = - AddToRamWatchMenuItem.Enabled = - PokeAddressMenuItem.Enabled = - FreezeAddressMenuItem.Enabled = - SelectedIndices.Any(); - - UndoMenuItem.Enabled = - ClearUndoMenuItem.Enabled = - Searches.CanUndo; - - RedoMenuItem.Enabled = Searches.CanRedo; - } - - private void NewSearchMenuMenuItem_Click(object sender, EventArgs e) - { - NewSearch(); - } - - private void SearchMenuItem_Click(object sender, EventArgs e) - { - DoSearch(); - } - - private void UndoMenuItem_Click(object sender, EventArgs e) - { - if (Searches.CanUndo) - { - Searches.Undo(); - UpdateUndoToolBarButtons(); - } - } - - private void RedoMenuItem_Click(object sender, EventArgs e) - { - if (Searches.CanRedo) - { - Searches.Redo(); - UpdateUndoToolBarButtons(); - } - } - - private void CopyValueToPrevMenuItem_Click(object sender, EventArgs e) - { - Searches.SetPrevousToCurrent(); - WatchListView.Refresh(); - } - - private void ClearChangeCountsMenuItem_Click(object sender, EventArgs e) - { - Searches.ClearChangeCounts(); - WatchListView.Refresh(); - } - - private void RemoveMenuItem_Click(object sender, EventArgs e) - { - RemoveAddresses(); - } - - private void AddToRamWatchMenuItem_Click(object sender, EventArgs e) - { - AddToRamWatch(); - } - - private void PokeAddressMenuItem_Click(object sender, EventArgs e) - { - PokeAddress(); - } - - private void FreezeAddressMenuItem_Click(object sender, EventArgs e) - { - FreezeAddress(); - } - - private void ClearUndoMenuItem_Click(object sender, EventArgs e) - { - Searches.ClearHistory(); - UpdateUndoToolBarButtons(); - } - - #endregion - - #region Options - - private void OptionsSubMenu_DropDownOpened(object sender, EventArgs e) - { - AutoloadDialogMenuItem.Checked = Global.Config.RecentSearches.AutoLoad; - SaveWinPositionMenuItem.Checked = Global.Config.RamSearchSaveWindowPosition; - ExcludeRamWatchMenuItem.Checked = Global.Config.RamSearchAlwaysExcludeRamWatch; - UseUndoHistoryMenuItem.Checked = Searches.UndoEnabled; - PreviewModeMenuItem.Checked = Global.Config.RamSearchPreviewMode; - AlwaysOnTopMenuItem.Checked = Global.Config.RamSearchAlwaysOnTop; - AutoSearchMenuItem.Checked = autoSearch; - } - - private void PreviewModeMenuItem_Click(object sender, EventArgs e) - { - Global.Config.RamSearchPreviewMode ^= true; - } - - private void AutoSearchMenuItem_Click(object sender, EventArgs e) - { - ToggleAutoSearch(); - } - - private void ExcludeRamWatchMenuItem_Click(object sender, EventArgs e) - { - Global.Config.RamSearchAlwaysExcludeRamWatch ^= true; - if (Global.Config.RamSearchAlwaysExcludeRamWatch) - { - RemoveRamWatchesFromList(); - } - } - - private void UseUndoHistoryMenuItem_Click(object sender, EventArgs e) - { - Searches.UndoEnabled ^= true; - } - - private void AutoloadDialogMenuItem_Click(object sender, EventArgs e) - { - Global.Config.RecentSearches.AutoLoad ^= true; - } - - private void SaveWinPositionMenuItem_Click(object sender, EventArgs e) - { - Global.Config.RamSearchSaveWindowPosition ^= true; - } - - private void AlwaysOnTopMenuItem_Click(object sender, EventArgs e) - { - Global.Config.RamSearchAlwaysOnTop ^= true; - TopMost = Global.Config.RamSearchAlwaysOnTop; - } - - private void RestoreDefaultsMenuItem_Click(object sender, EventArgs e) - { - Size = new Size(defaultWidth, defaultHeight); - - Global.Config.RamSearchColumnIndexes = new Dictionary - { - { "AddressColumn", 0 }, - { "ValueColumn", 1 }, - { "PrevColumn", 2 }, - { "ChangesColumn", 3 }, - { "DiffColumn", 4 }, - { "DomainColumn", 5 }, - { "NotesColumn", 6 }, - }; - - ColumnPositions(); - - Global.Config.RamSearchShowChangeColumn = true; - Global.Config.RamSearchShowPrevColumn = true; - Global.Config.RamSearchShowDiffColumn = false; - - WatchListView.Columns[ADDRESS].Width = DefaultColumnWidths[ADDRESS]; - WatchListView.Columns[VALUE].Width = DefaultColumnWidths[VALUE]; - //WatchListView.Columns[PREV].Width = DefaultColumnWidths[PREV]; - WatchListView.Columns[CHANGES].Width = DefaultColumnWidths[CHANGES]; - //WatchListView.Columns[DIFF].Width = DefaultColumnWidths[DIFF]; - - Global.Config.RamSearchSaveWindowPosition = true; - Global.Config.RamSearchAlwaysOnTop = TopMost = false; - - LoadColumnInfo(); - } - - #endregion - - #region Columns - - private void ColumnsMenuItem_DropDownOpened(object sender, EventArgs e) - { - ShowPreviousMenuItem.Checked = Global.Config.RamSearchShowPrevColumn; - ShowChangesMenuItem.Checked = Global.Config.RamSearchShowChangeColumn; - ShowDiffMenuItem.Checked = Global.Config.RamSearchShowDiffColumn; - } - - private void ShowPreviousMenuItem_Click(object sender, EventArgs e) - { - Global.Config.RamSearchShowPrevColumn ^= true; - SaveColumnInfo(); - LoadColumnInfo(); - } - - private void ShowChangesMenuItem_Click(object sender, EventArgs e) - { - Global.Config.RamSearchShowChangeColumn ^= true; - SaveColumnInfo(); - LoadColumnInfo(); - } - - private void ShowDiffMenuItem_Click(object sender, EventArgs e) - { - Global.Config.RamSearchShowDiffColumn ^= true; - SaveColumnInfo(); - LoadColumnInfo(); - } - - #endregion - - #region ContextMenu and Toolbar - - private void contextMenuStrip1_Opening(object sender, CancelEventArgs e) - { - DoSearchContextMenuItem.Enabled = Searches.Count > 0; - - RemoveContextMenuItem.Visible = - AddToRamWatchContextMenuItem.Visible = - PokeContextMenuItem.Visible = - FreezeContextMenuItem.Visible = - ContextMenuSeparator2.Visible = - - ViewInHexEditorContextMenuItem.Visible = - SelectedIndices.Count > 0; - - UnfreezeAllContextMenuItem.Visible = Global.CheatList.Any(); - - ContextMenuSeparator3.Visible = (SelectedIndices.Count > 0) || (Global.CheatList.Any()); - - bool allCheats = true; - foreach (int index in SelectedIndices) - { - if (!Global.CheatList.IsActiveCheat(Settings.Domain, Searches[index].Address.Value)) - { - allCheats = false; - } - } - - if (allCheats) - { - FreezeContextMenuItem.Text = "&Unfreeze address"; - FreezeContextMenuItem.Image = Properties.Resources.Unfreeze; - } - else - { - FreezeContextMenuItem.Text = "&Freeze address"; - FreezeContextMenuItem.Image = Properties.Resources.Freeze; - } - } - - private void UnfreezeAllContextMenuItem_Click(object sender, EventArgs e) - { - ToolHelpers.UnfreezeAll(); - } - - private void ViewInHexEditorContextMenuItem_Click(object sender, EventArgs e) - { - if (SelectedIndices.Count > 0) - { - Global.MainForm.LoadHexEditor(); - Global.MainForm.HexEditor1.SetDomain(Settings.Domain); - Global.MainForm.HexEditor1.GoToAddress(Searches[SelectedIndices[0]].Address.Value); - - //TODO: secondary highlighted on remaining indexes - } - } - - private void ClearPreviewContextMenuItem_Click(object sender, EventArgs e) - { - forcePreviewClear = true; - WatchListView.Refresh(); - } - - #endregion - - #region Compare To Box - - private void PreviousValueRadio_Click(object sender, EventArgs e) - { - SpecificValueBox.Enabled = false; - SpecificAddressBox.Enabled = false; - NumberOfChangesBox.Enabled = false; - DifferenceBox.Enabled = false; - SetCompareTo(RamSearchEngine.Compare.Previous); - } - - private void SpecificValueRadio_Click(object sender, EventArgs e) - { - SpecificValueBox.Enabled = true; - if (String.IsNullOrWhiteSpace(SpecificValueBox.Text)) - { - SpecificValueBox.Text = "0"; - Searches.CompareValue = 0; - } - SpecificValueBox.Focus(); - SpecificAddressBox.Enabled = false; - NumberOfChangesBox.Enabled = false; - DifferenceBox.Enabled = false; - SetCompareTo(RamSearchEngine.Compare.SpecificValue); - } - - private void SpecificAddressRadio_Click(object sender, EventArgs e) - { - SpecificValueBox.Enabled = false; - SpecificAddressBox.Enabled = true; - if (String.IsNullOrWhiteSpace(SpecificAddressBox.Text)) - { - SpecificAddressBox.Text = "0"; - Searches.CompareValue = 0; - } - SpecificAddressBox.Focus(); - NumberOfChangesBox.Enabled = false; - DifferenceBox.Enabled = false; - SetCompareTo(RamSearchEngine.Compare.SpecificAddress); - } - - private void NumberOfChangesRadio_Click(object sender, EventArgs e) - { - SpecificValueBox.Enabled = false; - SpecificAddressBox.Enabled = false; - NumberOfChangesBox.Enabled = true; - if (String.IsNullOrWhiteSpace(NumberOfChangesBox.Text)) - { - NumberOfChangesBox.Text = "0"; - Searches.CompareValue = 0; - } - NumberOfChangesBox.Focus(); - DifferenceBox.Enabled = false; - SetCompareTo(RamSearchEngine.Compare.Changes); - } - - private void DifferenceRadio_Click(object sender, EventArgs e) - { - SpecificValueBox.Enabled = false; - SpecificAddressBox.Enabled = false; - NumberOfChangesBox.Enabled = false; - DifferenceBox.Enabled = true; - if (String.IsNullOrWhiteSpace(DifferenceBox.Text)) - { - DifferenceBox.Text = "0"; - Searches.CompareValue = 0; - } - DifferenceBox.Focus(); - SetCompareTo(RamSearchEngine.Compare.Difference); - } - - private void CompareToValue_TextChanged(object sender, EventArgs e) - { - SetCompareValue((sender as INumberBox).ToInt()); - } - - #endregion - - #region Comparison Operator Box - - private void EqualToRadio_Click(object sender, EventArgs e) - { - DifferentByBox.Enabled = false; - SetComparisonOperator(RamSearchEngine.ComparisonOperator.Equal); - } - - private void NotEqualToRadio_Click(object sender, EventArgs e) - { - DifferentByBox.Enabled = false; - SetComparisonOperator(RamSearchEngine.ComparisonOperator.NotEqual); - } - - private void LessThanRadio_Click(object sender, EventArgs e) - { - DifferentByBox.Enabled = false; - SetComparisonOperator(RamSearchEngine.ComparisonOperator.LessThan); - } - - private void GreaterThanRadio_Click(object sender, EventArgs e) - { - DifferentByBox.Enabled = false; - SetComparisonOperator(RamSearchEngine.ComparisonOperator.GreaterThan); - } - - private void LessThanOrEqualToRadio_Click(object sender, EventArgs e) - { - DifferentByBox.Enabled = false; - SetComparisonOperator(RamSearchEngine.ComparisonOperator.LessThanEqual); - } - - private void GreaterThanOrEqualToRadio_Click(object sender, EventArgs e) - { - DifferentByBox.Enabled = false; - SetComparisonOperator(RamSearchEngine.ComparisonOperator.GreaterThanEqual); - } - - private void DifferentByRadio_Click(object sender, EventArgs e) - { - DifferentByBox.Enabled = true; - SetComparisonOperator(RamSearchEngine.ComparisonOperator.DifferentBy); - if (String.IsNullOrWhiteSpace(DifferentByBox.Text)) - { - DifferentByBox.Text = "0"; - } - DifferentByBox.Focus(); - } - - private void DifferentByBox_TextChanged(object sender, EventArgs e) - { - if (!String.IsNullOrWhiteSpace(DifferentByBox.Text)) - { - Searches.DifferentBy = DifferentByBox.ToInt(); - } - else - { - Searches.DifferentBy = null; - } - } - - #endregion - - #region ListView Events - - private void WatchListView_KeyDown(object sender, KeyEventArgs e) - { - if (e.KeyCode == Keys.Delete && !e.Control && !e.Alt && !e.Shift) - { - RemoveAddresses(); - } - else if (e.KeyCode == Keys.A && e.Control && !e.Alt && !e.Shift) //Select All - { - for (int x = 0; x < Searches.Count; x++) - { - WatchListView.SelectItem(x, true); - } - } - else if (e.KeyCode == Keys.C && e.Control && !e.Alt && !e.Shift) //Copy - { - if (SelectedIndices.Count > 0) - { - StringBuilder sb = new StringBuilder(); - foreach (int index in SelectedIndices) - { - foreach (ColumnHeader column in WatchListView.Columns) - { - sb.Append(GetColumnValue(column.Name, index)).Append('\t'); - } - sb.Remove(sb.Length - 1, 1); - sb.AppendLine(); - } - - if (sb.Length > 0) - { - Clipboard.SetDataObject(sb.ToString()); - } - } - } - else if (e.KeyCode == Keys.Escape && !e.Control && !e.Alt && !e.Shift) - { - WatchListView.SelectedIndices.Clear(); - } - } - - private void WatchListView_SelectedIndexChanged(object sender, EventArgs e) - { - RemoveToolBarItem.Enabled = - AddToRamWatchToolBarItem.Enabled = - PokeAddressToolBarItem.Enabled = - FreezeAddressToolBarItem.Enabled = - SelectedIndices.Any(); - } - - private void WatchListView_ColumnReordered(object sender, ColumnReorderedEventArgs e) - { - Global.Config.RamSearchColumnIndexes[ADDRESS] = WatchListView.Columns[ADDRESS].DisplayIndex; - Global.Config.RamSearchColumnIndexes[VALUE] = WatchListView.Columns[VALUE].DisplayIndex; - Global.Config.RamSearchColumnIndexes[PREV] = WatchListView.Columns[ADDRESS].DisplayIndex; - Global.Config.RamSearchColumnIndexes[CHANGES] = WatchListView.Columns[CHANGES].DisplayIndex; - Global.Config.RamSearchColumnIndexes[DIFF] = WatchListView.Columns[DIFF].DisplayIndex; - } - - private void WatchListView_Enter(object sender, EventArgs e) - { - WatchListView.Refresh(); - } - - private void WatchListView_ColumnClick(object sender, ColumnClickEventArgs e) - { - var column = WatchListView.Columns[e.Column]; - if (column.Name != _sortedColumn) - { - _sortReverse = false; - } - - Searches.Sort(column.Name, _sortReverse); - - _sortedColumn = column.Name; - _sortReverse ^= true; - WatchListView.Refresh(); - } - - private void WatchListView_MouseDoubleClick(object sender, MouseEventArgs e) - { - if (SelectedIndices.Count > 0) - { - AddToRamWatch(); - } - } - - #endregion - - #region Dialog Events - - private void NewRamSearch_Activated(object sender, EventArgs e) - { - WatchListView.Refresh(); - } - - private void NewRamSearch_DragEnter(object sender, DragEventArgs e) - { - e.Effect = e.Data.GetDataPresent(DataFormats.FileDrop) ? DragDropEffects.Copy : DragDropEffects.None; - } - - private void NewRamSearch_DragDrop(object sender, DragEventArgs e) - { - string[] filePaths = (string[])e.Data.GetData(DataFormats.FileDrop); - if (Path.GetExtension(filePaths[0]) == (".wch")) - { - var file = new FileInfo(filePaths[0]); - if (file.Exists) - { - LoadWatchFile(file, false); - } - } - } - - #endregion - - #endregion - } -} diff --git a/BizHawk.MultiClient/tools/Watch/NewRamSearch.resx b/BizHawk.MultiClient/tools/Watch/NewRamSearch.resx deleted file mode 100644 index 1fa045f760..0000000000 --- a/BizHawk.MultiClient/tools/Watch/NewRamSearch.resx +++ /dev/null @@ -1,670 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - False - - - 457, 17 - - - 150, 17 - - - 602, 17 - - - 699, 17 - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAI3SURBVDhPlZLRS9NRHMW3hwgKBxXRH1BR0UMvPfoQVBAJ - PbiXWETgQw/2MJopjdksa7RyuNQIIlC2alu2dJrQFslklmvQXOthtqlskjORam5jma46nfv7JbathA58 - Xu4953u/33uvYj0ZDG6d5WFwpt01jm5vCl2OcK7pkrOTW9vJBsn0L7V3+G3T6Szmi0D4G/DiCzCWBx5E - Cjiv743RsodslMzlslpH6gKJDIQWlgD/J8CdBDwfgOFFwPUuj5oa7TNaRZFK3XNGR8NfgYkc4GPInwUC - BSC4DLxkwTHuXbg5lKf1lJwoldLhTyPEgG+OrbORMDuZIJPkPYl+B7rcb0BvqxwplfL+sFygd1o+OcZQ - mnASfCRxcndQKiAutELKW92vQwG2PTDLdtm2OFmEeZ/gBEgQk7V/id6/F2hutl9xhDIY4R2ImUXb84SP - ISnxOY/q6tOT9FaOUOw73vq03/nc3PYYjyJZvOII0R9yF1MklSlA29C2QKuNaKTQqlaeHLP/9KoRsZyE - Xqeb0Wga45ctvsIdzzj6gin09Lwt1qq1U7TaST3ZLXKSVlxHpXDs6hE49XqcqzcnudxBLpJrRMx7m5iI - eD4Rlj+SaBs+NeKmw1K4pcWRq6ra5ubWWbKf7CR7yT6yi6x95WXPiTp4a0vCKtXWQW7pyQEiTlGWsaah - zjOjSfMhuJoa/gwbyEGyiZQGymU0Gr03GkXYtqhSbRng0mp4M1k//Fs7iLiU60RH/iOsUPwCTRuEcdPL - 7RYAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG - YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9 - 0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw - bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc - VzOOpHI7Jr376Hi9ogHqFIANO0/MmmmbmSmm9a8ze+I4MrNWAdjtoJgWcx+PSzg166yZZ8xM8XvXDix9 - c4jIqFYAjoriBV9AhEPv1mH/sonogha0afbZMMZz+yreTGyhpusHwtNNCsA5U1zS4BLxzJIfg299qO32 - Ir7UJtZfftyATqeT+8o2D8JSjQrAJblrncYL7ZJ2+bfaFnC/1S1NjL3diRat7qrO7wLRP3HjWsojBeCo - mDEo5mNjuweFGvjWg2EBhCbpkW78htSHHwRyNdmgAFzPEee2iFkzayy2OLXzT4gr6UdUnlXrullsxxQ+ - kx0g8BTA3aZlButjSTyjODq/WcQcW/B/Je4OQhLvKQDnzN1mp0nnkvAhR8VuMzNrpm1mpjgkoVwB/v8D - TgDQASA1MVpwzwAAAABJRU5ErkJggg== - - - - - AAABAAwAMDAQAAAAAABoBgAAxgAAACAgEAAAAAAA6AIAAC4HAAAYGBAAAAAAAOgBAAAWCgAAEBAQAAAA - AAAoAQAA/gsAADAwAAABAAgAqA4AACYNAAAgIAAAAQAIAKgIAADOGwAAGBgAAAEACADIBgAAdiQAABAQ - AAABAAgAaAUAAD4rAAAwMAAAAQAgAKglAACmMAAAICAAAAEAIACoEAAATlYAABgYAAABACAAiAkAAPZm - AAAQEAAAAQAgAGgEAAB+cAAAKAAAADAAAABgAAAAAQAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAIAAAACAgACAAAAAgACAAICAAACAgIAAwMDAAAAA/wAAAAAAAP//AP8AAAD/AP8A//8AAP// - /wAREREREREREREREREREREREREREREREREREQAAAREREREREREREREREREREREREREREHeEQBERERER - ERERERERERERERERERERB3hMhAERERERERERERERERERERERERERB4RMyEARERERERERERERERERERER - ERERCEREzIQBERERERERERERERERERERERERBGZETMhAERERERERERERERERERERERERTuZkRMyEARER - ERERERERERERERERERERTO5mREzIQBERERERERERERERERERERERFM7mZETMhAERERERERERERERERER - EREREUzuZkRMyEARERERERERERERERERERERERTO5mREzIQBERERERERERERERERERERERFM7mZETMhA - EREREREREREREREREREREREUzuZkRMyEARERERERERERERERERERERERTO5mREzIARERERERERERERER - ERERERERFM7mZETMAREREREREREREREREREREREREUzuZkRMAREREQAAAAARERERERERERERERTO5mRE - QBEQAGZmZmYAARERERERERERERFM7mZEdwEGZujo6OhmYBEREREREREREREUzu5IhwBujo6Ojo6OhgAR - ERERERERERERRET/h2jo6Ojo6Ojo6GYBERERERERERERERF/do6Oju7u7u6OjohgEREREREREREREREX - 6Oju7u7u7u7o6OhgEREREREREREREREXjo7u7u7u7u7ujo6GARERERERERERERF46O7u7u7u7u7u6Ojo - YBERERERERERERF+jo7u7u7u7u7u7o6IYBERERERERERERF46O7u7u7u7u7u7ujoYBEREREREREREReO - ju7u7u7u7u7u7u6OhgERERERERERERfo7u7u/u7u7u7u7ujo5gEREREREREREReOju7+7u7v7u7u7u6O - hgERERERERERERfo7u7v7+/u7u7u7u7o5gEREREREREREReO7v7u7u7v7+7u7u6OhgERERERERERERfo - 7u7+/v7u7u7u7u7o5gEREREREREREReO7u/v7+/v7v7+/u6OhgERERERERERERfo7v7+/v7+/u7u7v7o - 5gERERERERERERF+j+/v7+/v7+7+7+6OgBERERERERERERF47v7+//7+/v7u7u7oYBERERERERERERF4 - 7+/v////7+/u/u6OYBEREREREREREREXjv7+///+/v7+7ujmARERERERERERERERf+/v////7+/u7o6A - ERERERERERERERERfv7+///+/v7+6OhgERERERERERERERERF+/v7+/v7+/ujo4BERERERERERERERER - EXeO/v7+/o7u6HARERERERERERERERERERF4iOjo6OjohxEREREREREREREREREREREXd46Ojoh3cRER - EREREREREREREREREREREXd3d3cRERERERERERERERERERERERERERERERERERERERERERERERERERER - ERERERERERERERERERH///////8AAPB//////wAA4D//////AADAH/////8AAMAP/////wAAwAf///// - AADAA/////8AAMAB/////wAAwAD/////AADgAH////8AAPAAP////wAA+AAf////AAD8AA////8AAP4A - B////wAA/wAH////AAD/gAf///8AAP/AB/AP/wAA/+ADgAH/AAD/8AEAAP8AAP/4AAAAPwAA//wAAAAf - AAD//8AAAA8AAP//4AAADwAA///gAAAHAAD//8AAAAMAAP//wAAAAwAA///AAAADAAD//4AAAAEAAP// - gAAAAQAA//+AAAABAAD//4AAAAEAAP//gAAAAQAA//+AAAABAAD//4AAAAEAAP//gAAAAQAA///AAAAD - AAD//8AAAAMAAP//wAAAAwAA///gAAAHAAD///AAAA8AAP//8AAADwAA///4AAAfAAD///wAAD8AAP// - /wAA/wAA////gAH/AAD////wD/8AAP///////wAA////////AAAoAAAAIAAAAEAAAAABAAQAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAICAAIAAAACAAIAAgIAAAICAgADAwMAAAAD/AAAA - AAAA//8A/wAAAP8A/wD//wAA////ABEQABERERERERERERERERERB3gBEREREREREREREREREHZMgBER - ERERERERERERERRmZMgBEREREREREREREREU7mZMgBERERERERERERERFM7mZMgBERERERERERERERFM - 7mZMgBERERERERERERERFM7mZMgBERERERERERERERFM7mZMgBERERERERERERERFM7mZMARERERERER - ERERERFM7mZMAREAAAABERERERERFM7mZHAAZmZmYAERERERERFM7khwZo6OjoZgERERERERFET3Bujo - 6OjohgERERERERERcI6Oju7ujo5gEREREREREXjo7u7u7ujo5gERERERERF+ju7u7u7ujoYBEREREREX - 6O7u/v7u7ujoYBERERERF47u7u7u7u7uiGARERERERfu7+/v7v7u6OhgEREREREXju7u7u7u7u6IYBER - ERERF+7+/v7+/v7u6GAREREREReP7+/v7+/u7uhgEREREREXjv7+//7+/v7oYBEREREREX/v7////+7u - 5gERERERERF+/v7///7+/oYBERERERERF+/v////7u5gERERERERERF+/v///v7mARERERERERERF+/v - 7+/uhxERERERERERERF3/v7+93EREREREREREREREXd3d3ERERERERERERERERERERERERER4////8H/ - //+A////gH///4A///+AH///wA///+AH///wA///+AP///wBwH/+AAAf/wAAD/+AAAf/8AAD//AAAf/w - AAH/4AAA/+AAAP/gAAD/4AAA/+AAAP/gAAD/4AAA//AAAf/wAAH/+AAD//wAB//+AA///wAf///Af/// - //8oAAAAGAAAADAAAAABAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAICAAIAA - AACAAIAAgIAAAICAgADAwMAAAAD/AAAAAAAA//8A/wAAAP8A/wD//wAA////ABEAARERERERERERERDI - QBEREREREREREQDMhAEREREREREREU5syEAREREREREREUjmzIQBERERERERERSObMhAERERERERERFI - 5syEAREREREREREUjmzIARERERERERERSObHARAAAAERERERFI54cAZmZmABEREREUR/eOjo6OZgERER - EREXjo6Ojo6GAREREREX6O7u7ujmARERERF+ju7u7u6OYBERERF47u7+7u7oYBERERF+7+7u7u7uYBER - ERF+/u/v7+7+YBERERF+7v7+/v7uYBERERF+7+//7+7+YBEREREX/v///v7uAREREREX7+//7+7oARER - ERERfv7+/v6HERERERERF3/v7+dxERERERERERd3d3EREcf//xGD///uAf//7gD//2AAf/8RgD//78Af - //7gH/9g8BgfEfgAB+78AAPu/4ABYP+AARH/AAD+/wAA/v8AAGD/AAAR/wAA7/8AAO//gAFg/4ABEf/A - A/7/4Af+//gfYCgAAAAQAAAAIAAAAAEABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACA - AAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAAAAAAD//wD/AAAA/wD/AP//AAD///8AEAARERER - EREMhAEREREREUbIQBERERERTmyEAREREREU5shAERERERFObHcAAAERERTkgI7ugBEREUcO7u7oARER - F47u7u6AEREX7u/u7uARERfu7u/u4BERF+7+/v7gEREXju//7oARERF+/v7+AREREReP74cREREREXd3 - cRGP/2ARB/8REQP/jo4B/4YBgP8REcAH7u7gA+YB8AEREfgA7u74AI5g+AAREfgA7v74AOhg/AEREf4D - 7u7/B+5gKAAAADAAAABgAAAAAQAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AeHWZAIOA - owB/eqUAbGZuANaY2gCgh6AAg0B5AKNXjwDXjrIAY2FiAIpTbQC0cpAAn2V9AKNrfQC5fIwAyIubAMCU - mwCog4cAnWltAJlmZgCdamoAoW5uAKVycgCba2sAo3FxAKl2dgCfb28ApnZ2ALSBgQCCXV0AtoODALiF - hQC1g4MAeFdXAJ5zcwCAXV0Ag2BgAMGOjgCyg4MAx5SUAMaTkwDLmJgAyZaWALCHhwC1kpIAYU9PAMek - pAB1YWEAbFxcAKakpAB0c3MAtrW1ALF/fgC+i4oAp3VyAKNybwCtfHkAvImGAK+AewCqfHcAu4+KAMma - lADMnpcAu5KKANGkmgDCkYMAto2AANSkkwDEmIUAw5uKANW0pADer5EAyqWOANqzmwDhu6MA0KyTAMin - kQDnt5UA8b+WAOrDoADjybEA/86bAP/RngD/0qAA+NGlAODEpgD/1KEA/9WiAP/WowD706MA/9ipAP/Z - qgD306cA9dKpAOvNqADXwagA/9ekAP/ZpgD51aUA/9qrAP/dsAD/26gA/9ypAP/dqgD/3awA/+G1AP/e - qwD/36wA/+CtAP/jtwD/5b0A/+GuAP/irwD/47AA/+S2AP/luADu1q4A/+i+AP/ksQD/5bIA/+azAP/q - wgD/8dYA/+e0AP/otQD/6LcA/+m6AP/uygD/8NEA/+q3AP/ruAD/67oA++i4AP/svQD/7L8A/+7DAPTk - vAD/7sYA7ODDAP/suQD/7boA/+6/AP/yzQD99uIA/+67AP/vvAD/8cQA//LKAP/wvQD/8b4A//XUAP/6 - 6AD//fYA//K/AP/zwAD/9McA//fYAP/99QD/9MEA//bNAP/30QD/+NkA//neAPr36QD/9cIA//bDAPnx - xQD38MoA//jTAPTuzQD/+MUA8+3EAP/97wD//fAA//nGAP/6xwD/+8gA//vTAP/81QD//MkA//zQAP/8 - 0gD//dcA//3aAP/9ygD//cwA//7LAP//zAD//88A///RAP//0wD//9UA///WAP//2QD//9sA///cAP// - 3wD//+EA///iAP//5QD//+YA///pAP//6gD//+0A///uAP//8AD///MA///0AP//9wD///gA///6AP// - /QAAAAAAYcf/AFG3/wBVu/8AWaziAG/C+QBluPQAQqj/AE+b6QC7wccANpT2AECM2wBkaG0AZ2twAEB9 - 0gBkZmoAlZaYAElqtQBOaqcAUm2qAF9tqgCClP8Aipz9AIuLiwCEhIQAe3t7AGtrawBeXl4AAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADW1tbW1tbW1tbW - 1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbWBQUFBQXW1tbW1tbW1tbW1tbW - 1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tYF7fALEzEF1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW - 1tbW1tbW1tbW1tbW1tbW1gU08OUCBxIxBdbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW - 1tbW1ubu4ujqBAcSBQXW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1u3j4eTn6gQH - EjEF1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1uPa3eDk5+oEBxIxBdbW1tbW1tbW - 1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tzX2d3g5OfqBAcSMQXW1tbW1tbW1tbW1tbW1tbW1tbW - 1tbW1tbW1tbW1tbW1tbW1uvY19nd4OTn6gQHEjEF1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW - 1tbW1tbr2NfZ3eDk5+oEBxIxBdbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW69jX2d3g - 5OfqBAcSMQXW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1uvY19nd4OTn6gQHEjEF1tbW - 1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbr2NfZ3eDk5+oEBxIxBdbW1tbW1tbW1tbW1tbW - 1tbW1tbW1tbW1tbW1tbW1tbW1tbW69jX2d3g5OfqBAcSMQXW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW - 1tbW1tbW1tbW1uvY19nd4OTn6gQHEjHW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbr - 2NfZ3eDk5+oEBxPW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW69jX2d3g5OfqAzTW - 1tbW1tYFBQUFBQUFBQUF1tbW1tbW1tbW1tbW1tbW1tbW1tbW1uvY19nd4OTp4/AF1tbWBQUZFhUaIior - KRMFBQXW1tbW1tbW1tbW1tbW1tbW1tbW1tbr2NfZ3d7mNO3xMzIFGzxKV3acsqiKUkI3KAUFBdbW1tbW - 1tbW1tbW1tbW1tbW1tbW69jX29/m7+0zLjZDUXiDk6e6vb7AwMCpSCAkBQXW1tbW1tbW1tbW1tbW1tbW - 1tbW1uvsBgY1NTQtHklocYCht8DCwsPCxcXEw4w+HQUF1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbWNS07 - UGJyqr+6vb3Aw8TGxsTFzM2RQRoFBdbW1tbW1tbW1tbW1tbW1tbW1tbW1tbWMCdQVXe3spewvb/CxMfI - ysrRAQEBpT4cBQXW1tbW1tbW1tbW1tbW1tbW1tbW1tbWJ09Tdb+ghJe8vsDExsnLzc0BAQEBAas9JgXW - 1tbW1tbW1tbW1tbW1tbW1tbW1tYRRVRmwKB6jaa9v8PFyMvNz9EBAQEBAcRhFwUF1tbW1tbW1tbW1tbW - 1tbW1tbW1tYqVli0sHJ5kqe9wMPGyczP0tPVAQEBz8XCPCUF1tbW1tbW1tbW1tbW1tbW1tbW1gpCZ3u7 - g215kqe9wMPGyszP09XV1NPPxMXCYRYFBdbW1tbW1tbW1tbW1tbW1tbW1ixRZ7Snbmx5kqe9wMPGyczP - 0tPT0c7LyMPCrRYvBdbW1tbW1tbW1tbW1tbW1tbW1ixfdb+WWml5jaa9v8PGyMvNz9DQz8zKyMLCvj0j - BdbW1tbW1tbW1tbW1tbW1tbWPyxzi7V9WWl4hJe8vsHEx8nLzc3NzMvIxsLCvUQfBdbW1tbW1tbW1tbW - 1tbW1tbWPyx4kLF4VWdyfZOxvcDDxcjIysrKycjGxMDCvE4fBdbW1tbW1tbW1tbW1tbW1tbWPyx5qrBy - VGNseY2cvL7Aw8TGyMjIx8bEwr/CrE0fBdbW1tbW1tbW1tbW1tbW1tbWPyx6orF5U1ltg5KTp72+wMLD - xMTExMPBv72zl0cfBdbW1tbW1tbW1tbW1tbW1tbWPyyDlbWNVXuVf4SWp6y8vr/AwMHBwMC+vbudjkQf - BdbW1tbW1tbW1tbW1tbW1tbW1ix2ib+TnnBaaGp5hKygtb29vr6+vr28sL+PfTkMBdbW1tbW1tbW1tbW - 1tbW1tbW1ixMhcO0pGtrZl1qeYOgk6CssrWysqebp7Z6YBYI1tbW1tbW1tbW1tbW1tbW1tbW1j9AjqLK - mIKRgW9lanOXfo2SkpOTko6Tu4lxRhUN1tbW1tbW1tbW1tbW1tbW1tbW1tYqYI+vnwEBAXxvXGmXc3l5 - fX19fXqws2xkOAzW1tbW1tbW1tbW1tbW1tbW1tbW1tY/P4aZAQEBAZp3XWOUaWxucXFxeKe/dGJDFA3W - 1tbW1tbW1tbW1tbW1tbW1tbW1tbWJ0ujAQEBAZ97XItmWWJjY2l+rL91WEkYCdbW1tbW1tbW1tbW1tbW - 1tbW1tbW1tbWPzdX0wEBAaSHmJBVWFpoeZy6tmtTUDoO1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1j8h - SK7V1dDNuaCbm6awur+QXFNPNg/W1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tY/HkeKlYGiuMLCwsKz - lW9jW0U2DdbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbWPxA6SnaNfXmIgG5taV5LNyAN1tbW1tbW - 1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tY/EBg6R0pNS0xMQic3DdbW1tbW1tbW1tbW1tbW1tbW1tbW - 1tbW1tbW1tbW1tbW1tbW1tY/IhUaIioKCgrW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW - 1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW - 1tbW1tbW1tbW1tbW1tb///////8AAPB//////wAA4D//////AADAH/////8AAMAP/////wAAwAf///// - AADAA/////8AAMAB/////wAAwAD/////AADgAH////8AAPAAP////wAA+AAf////AAD8AA////8AAP4A - B////wAA/wAH////AAD/gAf///8AAP/AB+AH/wAA/+ADgAH/AAD/8AAAAH8AAP/4AAAAPwAA//wAAAAf - AAD//+AAAA8AAP//4AAABwAA///gAAAHAAD//8AAAAMAAP//wAAAAwAA//+AAAABAAD//4AAAAEAAP// - gAAAAQAA//8AAAABAAD//wAAAAEAAP//AAAAAQAA//8AAAABAAD//wAAAAEAAP//gAAAAQAA//+AAAAD - AAD//4AAAAMAAP//wAAABwAA///AAAAHAAD//+AAAA8AAP//4AAAHwAA///wAAA/AAD///gAAH8AAP// - /AAA/wAA////AAP/AAD////gD/8AAP///////wAA////////AAAoAAAAIAAAAEAAAAABAAgAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wB4dZkAg4CjAH96pQBsZm4A1pjaAKCHoACDQHkAo1ePANeO - sgBjYWIAilNtALRykACfZX0Ao2t9ALl8jADIi5sAwJSbAKiDhwCdaW0AmWZmAJ1qagChbm4ApXJyAJtr - awCjcXEAqXZ2AJ9vbwCmdnYAtIGBAIJdXQC2g4MAuIWFALWDgwB4V1cAnnNzAIBdXQCDYGAAwY6OALKD - gwDHlJQAxpOTAMuYmADJlpYAsIeHALWSkgBhT08Ax6SkAHVhYQBsXFwApqSkAHRzcwC2tbUAsX9+AL6L - igCndXIAo3JvAK18eQC8iYYAr4B7AKp8dwC7j4oAyZqUAMyelwC7kooA0aSaAMKRgwC2jYAA1KSTAMSY - hQDDm4oA1bSkAN6vkQDKpY4A2rObAOG7owDQrJMAyKeRAOe3lQDxv5YA6sOgAOPJsQD/zpsA/9GeAP/S - oAD40aUA4MSmAP/UoQD/1aIA/9ajAPvTowD/2KkA/9mqAPfTpwD10qkA682oANfBqAD/16QA/9mmAPnV - pQD/2qsA/92wAP/bqAD/3KkA/92qAP/drAD/4bUA/96rAP/frAD/4K0A/+O3AP/lvQD/4a4A/+KvAP/j - sAD/5LYA/+W4AO7WrgD/6L4A/+SxAP/lsgD/5rMA/+rCAP/x1gD/57QA/+i1AP/otwD/6boA/+7KAP/w - 0QD/6rcA/+u4AP/rugD76LgA/+y9AP/svwD/7sMA9OS8AP/uxgDs4MMA/+y5AP/tugD/7r8A//LNAP32 - 4gD/7rsA/++8AP/xxAD/8soA//C9AP/xvgD/9dQA//roAP/99gD/8r8A//PAAP/0xwD/99gA//31AP/0 - wQD/9s0A//fRAP/42QD/+d4A+vfpAP/1wgD/9sMA+fHFAPfwygD/+NMA9O7NAP/4xQDz7cQA//3vAP/9 - 8AD/+cYA//rHAP/7yAD/+9MA//zVAP/8yQD//NAA//zSAP/91wD//doA//3KAP/9zAD//ssA///MAP// - zwD//9EA///TAP//1QD//9YA///ZAP//2wD//9wA///fAP//4QD//+IA///lAP//5gD//+kA///qAP// - 7QD//+4A///wAP//8wD///QA///3AP//+AD///oA///9AAAAAABhx/8AUbf/AFW7/wBZrOIAb8L5AGW4 - 9ABCqP8AT5vpALvBxwA2lPYAQIzbAGRobQBna3AAQH3SAGRmagCVlpgASWq1AE5qpwBSbaoAX22qAIKU - /wCKnP0Ai4uLAISEhAB7e3sAa2trAF5eXgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAANbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tYiBQXW - 1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW7wUQEAXW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1u3j - 6gMSEAXW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbWNODn6gMSEAXW1tbW1tbW1tbW1tbW1tbW1tbW1tbW - 1tbc3eDn6gMSEAXW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tzZ2ODn6gMSEAXW1tbW1tbW1tbW1tbW1tbW - 1tbW1tbW1tzZ3eDk6gMSEAXW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tzZ2ODn6gMSEAXW1tbW1tbW1tbW - 1tbW1tbW1tbW1tbW1tzZ3eDk6gMSEAXW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tzX3eDn6gMSENbW1tbW - 1tbW1tbW1tbW1tbW1tbW1tbW1tzZ2ODk6gMN1tYFBQUFBQUFBQXW1tbW1tbW1tbW1tbW1tzZ3eDn4wIF - BSpEREQ6KisNFQwF1tbW1tbW1tbW1tbW1tzX3ezuBzMPHktgl7G7oYxIHhQF1tbW1tbW1tbW1tbW1tjc - BjXvIkVsh6G3wMLCw8OrQQ4F1tbW1tbW1tbW1tbW1tbWNTtPZZW7ur7CxcbGy9KlPw4F1tbW1tbW1tbW - 1tbW1tYuT122m5e7wMTIy80BAQGlRAwF1tbW1tbW1tbW1tbW1kVYoZd+pr7CxsrO0QEBAc6MFAXW1tbW - 1tbW1tbW1tYKUXencoOnvsPGzNDU1dXTxcI+FAXW1tbW1tbW1tbW1itntn1tg6e+w8bLz9PTz8vEw2EM - BdbW1tbW1tbW1tZCQnWyaWx+nL3CxsnMzs7MycXBihQF1tbW1tbW1tbW1ktMibBaZ3iSur/DxsnKysnG - w7+yFQXW1tbW1tbW1tbWQleVsFliboOgu8DDxcbGxcO/vZwVBdbW1tbW1tbW1tZLQoixanuJg6axu77A - wcHAvr2hYBUF1tbW1tbW1tbW1tZAhbajb2ZleJugsbq9vbqwspRLDtbW1tbW1tbW1tbW1kt2oZmCfHBl - c5yElpaWk5a2c0QM1tbW1tbW1tbW1tbW1kKU1QEBmWtjj3J4eXl9sn9RFNbW1tbW1tbW1tbW1tbWEUya - AQGucHBmYmNofrGJUzwM1tbW1tbW1tbW1tbW1tbWEYwBAa6eqm1pfqa2dVNDPNbW1tbW1tbW1tbW1tbW - 1tbWEEienrS3tra2lGxRQzzW1tbW1tbW1tbW1tbW1tbW1tbWESJLdn54cmZRRRDW1tbW1tbW1tbW1tbW - 1tbW1tbW1tbW1hE6FToqKwrW1tbW1tbW1tb/////x////4P///8B////AP///wB///8AP///gB///8AP - ///gB///8Af///gGAP/8AAA//gAAH/8AAA//4AAH/+AAA//gAAP/wAAB/8AAAf+AAAH/gAAB/4AAAf+A - AAH/wAAD/8AAA//gAAf/4AAH//AAD//4AB///AB///8B/ygAAAAYAAAAMAAAAAEACAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAA////AHh1mQCDgKMAf3qlAGxmbgDWmNoAoIegAINAeQCjV48A146yAGNh - YgCKU20AtHKQAJ9lfQCja30AuXyMAMiLmwDAlJsAqIOHAJ1pbQCZZmYAnWpqAKFubgClcnIAm2trAKNx - cQCpdnYAn29vAKZ2dgC0gYEAgl1dALaDgwC4hYUAtYODAHhXVwCec3MAgF1dAINgYADBjo4AsoODAMeU - lADGk5MAy5iYAMmWlgCwh4cAtZKSAGFPTwDHpKQAdWFhAGxcXACmpKQAdHNzALa1tQCxf34AvouKAKd1 - cgCjcm8ArXx5ALyJhgCvgHsAqnx3ALuPigDJmpQAzJ6XALuSigDRpJoAwpGDALaNgADUpJMAxJiFAMOb - igDVtKQA3q+RAMqljgDas5sA4bujANCskwDIp5EA57eVAPG/lgDqw6AA48mxAP/OmwD/0Z4A/9KgAPjR - pQDgxKYA/9ShAP/VogD/1qMA+9OjAP/YqQD/2aoA99OnAPXSqQDrzagA18GoAP/XpAD/2aYA+dWlAP/a - qwD/3bAA/9uoAP/cqQD/3aoA/92sAP/htQD/3qsA/9+sAP/grQD/47cA/+W9AP/hrgD/4q8A/+OwAP/k - tgD/5bgA7tauAP/ovgD/5LEA/+WyAP/mswD/6sIA//HWAP/ntAD/6LUA/+i3AP/pugD/7soA//DRAP/q - twD/67gA/+u6APvouAD/7L0A/+y/AP/uwwD05LwA/+7GAOzgwwD/7LkA/+26AP/uvwD/8s0A/fbiAP/u - uwD/77wA//HEAP/yygD/8L0A//G+AP/11AD/+ugA//32AP/yvwD/88AA//THAP/32AD//fUA//TBAP/2 - zQD/99EA//jZAP/53gD69+kA//XCAP/2wwD58cUA9/DKAP/40wD07s0A//jFAPPtxAD//e8A//3wAP/5 - xgD/+scA//vIAP/70wD//NUA//zJAP/80AD//NIA//3XAP/92gD//coA//3MAP/+ywD//8wA///PAP// - 0QD//9MA///VAP//1gD//9kA///bAP//3AD//98A///hAP//4gD//+UA///mAP//6QD//+oA///tAP// - 7gD///AA///zAP//9AD///cA///4AP//+gD///0AAAAAAGHH/wBRt/8AVbv/AFms4gBvwvkAZbj0AEKo - /wBPm+kAu8HHADaU9gBAjNsAZGhtAGdrcABAfdIAZGZqAJWWmABJarUATmqnAFJtqgBfbaoAgpT/AIqc - /QCLi4sAhISEAHt7ewBra2sAXl5eAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAA1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW - 1tbW1tbW1vDxBdbW1tbW1tbW1tbW1tbW1tbW1tbW7ujo7gXW1tbW1tbW1tbW1tbW1tbW1tbW6eDk6O0F - 1tbW1tbW1tbW1tbW1tbW1tbW3Nng5OjtBdbW1tbW1tbW1tbW1tbW1tbW1tzY3eTo7QXW1tbW1tbW1tbW - 1tbW1tbW1tbc2d3k6O4F1tbW1tbW1tbW1tbW1tbW1tbW3Nng5OjtBdbW8AUFBQXW1tbW1tbW1tbW1tzZ - 4OTo8TQFLy8vLy8FBdbW1tbW1tbW1tbc2N0C7u08S3awrXYwLwXW1tbW1tbW1tbW3NzmPUl4nbvCw8PG - jBkF1tbW1tbW1tbW1tYzSXSxp7/EycvVAYwyBdbW1tbW1tbW1tZKZqyDscHHzdEBActHL9bW1tbW1tbW - 1khRsHh+tcLIztTU0cOpLwXW1tbW1tbW1u1+pml+scDGzM/Py8PAJgXW1tbW1tbW1u2OnFp5nL7Dx8rJ - xsG8RAXW1tbW1tbW1u2HoGqJoLW+wsPDwb6mPQXW1tbW1tbW1jB2u5hsbpestbu7srt+MgXW1tbW1tbW - 1tZLva6ud2ygjY6Ol51JL9bW1tbW1tbW1tbtigEBfHR/aW1+slskBdbW1tbW1tbW1tbWR54Bmap6fqCU - WzwF1tbW1tbW1tbW1tbW1u1PipyPh3RPRAXW1tbW1tbW1tbW1tbW1tZCRERERERC1tbW1tbW////1v// - /9aP//9RB///gwP//8YB///VgP//wsB//9bgMH/W8AAf1vgAD2f8AAeD/wADxv8AA9P+AAHD/gAB1v4A - Adb+AAHW/gABdf8AA37/AAPG/4AHzv/AD8H/4D/WKAAAABAAAAAgAAAAAQAIAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAD///8AeHWZAIOAowB/eqUAbGZuANaY2gCgh6AAg0B5AKNXjwDXjrIAY2FiAIpT - bQC0cpAAn2V9AKNrfQC5fIwAyIubAMCUmwCog4cAnWltAJlmZgCdamoAoW5uAKVycgCba2sAo3FxAKl2 - dgCfb28ApnZ2ALSBgQCCXV0AtoODALiFhQC1g4MAeFdXAJ5zcwCAXV0Ag2BgAMGOjgCyg4MAx5SUAMaT - kwDLmJgAyZaWALCHhwC1kpIAYU9PAMekpAB1YWEAbFxcAKakpAB0c3MAtrW1ALF/fgC+i4oAp3VyAKNy - bwCtfHkAvImGAK+AewCqfHcAu4+KAMmalADMnpcAu5KKANGkmgDCkYMAto2AANSkkwDEmIUAw5uKANW0 - pADer5EAyqWOANqzmwDhu6MA0KyTAMinkQDnt5UA8b+WAOrDoADjybEA/86bAP/RngD/0qAA+NGlAODE - pgD/1KEA/9WiAP/WowD706MA/9ipAP/ZqgD306cA9dKpAOvNqADXwagA/9ekAP/ZpgD51aUA/9qrAP/d - sAD/26gA/9ypAP/dqgD/3awA/+G1AP/eqwD/36wA/+CtAP/jtwD/5b0A/+GuAP/irwD/47AA/+S2AP/l - uADu1q4A/+i+AP/ksQD/5bIA/+azAP/qwgD/8dYA/+e0AP/otQD/6LcA/+m6AP/uygD/8NEA/+q3AP/r - uAD/67oA++i4AP/svQD/7L8A/+7DAPTkvAD/7sYA7ODDAP/suQD/7boA/+6/AP/yzQD99uIA/+67AP/v - vAD/8cQA//LKAP/wvQD/8b4A//XUAP/66AD//fYA//K/AP/zwAD/9McA//fYAP/99QD/9MEA//bNAP/3 - 0QD/+NkA//neAPr36QD/9cIA//bDAPnxxQD38MoA//jTAPTuzQD/+MUA8+3EAP/97wD//fAA//nGAP/6 - xwD/+8gA//vTAP/81QD//MkA//zQAP/80gD//dcA//3aAP/9ygD//cwA//7LAP//zAD//88A///RAP// - 0wD//9UA///WAP//2QD//9sA///cAP//3wD//+EA///iAP//5QD//+YA///pAP//6gD//+0A///uAP// - 8AD///MA///0AP//9wD///gA///6AP///QAAAAAAYcf/AFG3/wBVu/8AWaziAG/C+QBluPQAQqj/AE+b - 6QC7wccANpT2AECM2wBkaG0AZ2twAEB90gBkZmoAlZaYAElqtQBOaqcAUm2qAF9tqgCClP8Aipz9AIuL - iwCEhIQAe3t7AGtrawBeXl4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAADWL/Ht1tbW1tbW1tbW1tbWLwIT8e3W1tbW1tbW1tbW1tzhBBPx7dbW1tbW1tbW - 1tbr2OEEE/Ht1tbW1tbW1tbW1uvY4QQt8e3W1tbW1tbW1tbW69nkBBMFBQUFBe3W1tbW1tbr2OHt70ZN - Ukg0BdbW1tbW1uvrLV+dtsTFkRMF1tbW1tbWTWCbp8PL0wGrMe3W1tbW1kiUeLDEzdTSxEcF1tbW1tZN - oWmmwsnNysNNBdbW1tbWSJ11k73CxMO2TQXW1tbW1kihfG+XprCnrETt1tbW1tZLjAGZiG1zll8k1tbW - 1tbW1kirmaGSnVZB1tbW1tbW1tbWSEhKTEvt1tbWj/8vBQf/1tYD/9bWAf/c3ID/SXjAB8LD4AOMGfAB - 1tb4ANbW+ADW1vgAdLH4AMTJ+AABjPgB1tb8A9bW/gfW1igAAAAwAAAAYAAAAAEAIAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAEAAAABAAAAAQAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAkAAAAXAAAAHQAAAB0AAAAgAAAAHgAA - ABAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAADQAAABjAAAAdAAA - AHQAAAB8AAAAdgAAAE4AAAAbAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzMzQHBw - cMyGhobpX19f4lxaW/Glf4XxXkdHzwAAAJcAAABWAAAAHAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAHb29v5nV1df9sbGz/ZGZq/3h1mf+gh6D/wJSb/11GRtMAAACYAAAAVgAAABwAAAAEAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAB7e3tFk5OT/4SEhP9kaG3/Tmqn/19tqv9/eqX/oIeg/8CUm/9dRkbTAAAAmAAA - AFYAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACDg4MkjIyM/2RqcP9AjNv/QH3S/0lqtf9fbar/f3ql/6CH - oP/AlJv/XUZG0wAAAJgAAABWAAAAHAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABdXV0jZmxw/1ms4v9CqP//NpT2/0B9 - 0v9JarX/X22q/396pf+gh6D/wJSb/11GRtMAAACYAAAAVgAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtiOMSUa3w42HH - //9Vu///Qqj//zaU9v9AfdL/SWq1/19tqv9/eqX/oIeg/8CUm/9dRkbTAAAAmAAAAFYAAAAcAAAABAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAwkPARP6X90VG3//9hx///Vbv//0Ko//82lPb/QH3S/0lqtf9fbar/f3ql/6CHoP/AlJv/XUZG0wAA - AJgAAABWAAAAHAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAMJDwET+l/dFRt///Ycf//1W7//9CqP//NpT2/0B90v9JarX/X22q/396 - pf+gh6D/wJSb/11GRtMAAACYAAAAVgAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADCQ8BE/pf3RUbf//2HH//9Vu///Qqj//zaU - 9v9AfdL/SWq1/19tqv9/eqX/oIeg/8CUm/9dRkbTAAAAmAAAAFYAAAAcAAAABAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwkPARP6X90VG3 - //9hx///Vbv//0Ko//82lPb/QH3S/0lqtf9fbar/f3ql/6CHoP/AlJv/XUZG0wAAAJgAAABWAAAAHAAA - AAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAMJDwET+l/dFRt///Ycf//1W7//9CqP//NpT2/0B90v9JarX/X22q/396pf+gh6D/wJSb/11G - RtMAAACYAAAAVgAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAADCQ8BE/pf3RUbf//2HH//9Vu///Qqj//zaU9v9AfdL/SWq1/19t - qv9/eqX/oIeg/8CUm/9dRkbTAAAAlwAAAE4AAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwkPARP6X90VG3//9hx///Vbv//0Ko - //82lPb/QH3S/0lqtf9fbar/f3ql/6CHoP/AlJv/X0dHzgAAAG8AAAAbAAAAAQAAAAAAAAAAAAAAAAAA - AAEAAAACAAAABwAAAAwAAAASAAAAEwAAAA0AAAAJAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMJDwET+l - /dFRt///Ycf//1W7//9CqP//NpT2/0B90v9JarX/X22q/396pf+gh6D/poCG8AAAAGcAAAAYAAAAAQAA - AAEAAAAEAAAADgAAABwAAAAqAAAAOgAAAEgAAABWAAAAWAAAAEsAAAA/AAAALgAAACAAAAATAAAABgAA - AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAADCQ8BE/pf3RUbf//2HH//9Vu///Qqj//zaU9v9AfdL/SWq1/19tqv+DgKP/ZGJj1gAA - AGoAAAAlAAAAGQAAABgAAAApAAAATAAAAHAvICChNyQks1s+PspuUFDTQzIyvUY0NLkAAACdAAAAkwAA - AHwAAABYAAAAMgAAABYAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwkPARP6X90VG3//9hx///Vbv//0Ko//82lPb/QH3S/1Jt - qv9sbHD/VlZW2wAAAI4AAABiAAAAZgAAAGdQODipgFlZ4Zppafqdamr/mWZm/6NwcP+1g4P/xpOT/8uY - mP/HlJT/pXp682NISNYSDQ2sAAAAiwAAAF0AAAAqAAAADQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMJDwET+l/dFRt///Ycf//1W7 - //9CqP//T5vp/5GVmv9xcXH/hYWF8zs7O8empqbpVkJCy51vb/Wpdnb/sIB6/8qijP/gxKH/7NWs///z - wP//+8j/+fHF//Llv//jybH/zaSc/76Li/+xgYH7ak1N3AAAAKUAAAB7AAAAQAAAABIAAAACAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADCQ - 8BE/pf3RUbf//2HH//9vwvn/u8HH/5ubm/97e3v/iIiI/6OgoP+1kpL/sX5+/8KShf/qw53//+Sx///q - t///77z///bD///9yv///8z////Q////0////9P////T//fwyv/UtKP/toOD/5dsbPMsHx/AAAAAiQAA - AEQAAAASAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAwkPARP6X90U6x+NWvtrrJsLCwyLa2tv+4uLj/d3R0/6+Ghv+0gYH/3a6S///c - qf//4a7//+m6///3zf///NL///7T////1v///9f////Y////1////9z////c////2////9r/7ODD/7uP - iv+ldHT7Kh0dwgAAAIsAAABDAAAADwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMJDwES2I4xIAAAACAAAAAaWlpZC0sLD/sIeH/7yJ - hv/xwpn//9ek///hsf//+NL////S///9y////8z////N////0////9j////b////3v///97////b//// - 3f///+r////t//r34/+8k4z/oXBw+ykcHMIAAACFAAAANQAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZ+f - n/HHpKT/wY6L//K/lf//06D//+i+///90v//+8j///G+///5xv///8z////S////1////9v////h//// - 4////+b////n////9P/////////////////69+n/uZCI/51tbfsPCgqyAAAAbQAAACAAAAADAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAABZJ0dKXBjo7/57eX///Nmv//5Lj////S///0wf//67j///G+///+y////8/////U//// - 2////+D////l////6f///+z////t////////////////////////////9O7N/6p7eP95UlLqAAAAmgAA - AEYAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAZEtLIMGPj/TRoJT//9Cd///csf///9P///TB///ms///7Ln///XC//// - zP///9H////Y////3f///+L////p////7f////H////0///////////////////////////////b/9fB - qf+hbm7/MyMjxAAAAHIAAAAfAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABpHp6dcWSkv/40aX//9Oi///81f//+cb//+Kv///l - sv//7rv///bD////zP///9P////Z////3////+X////q////8P////f////5/////f////////////// - //////D////c////1v+tgHv/dk9P6gAAAJQAAAA3AAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHv46O2dSlmP//26j//+nB///9 - zP//6rf//9+s///lsv//7rv///bD////zP///9P////Z////4P///+b////r////8P////j////+//// - /P////r////4////8f///9v////d////1//WwKf/nWpq/xwSErAAAABSAAAAEAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYcnIryZaW/+rD - o///26j///zU///3xP//4K3//96r///lsv//7rv///bD////zP///9P////Z////3////+X////q//// - 8P////f////5////+P////T////u////6f///+L////Z////1//z7cT/nWpq/0gwMMwAAABqAAAAGQAA - AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAGvg4NdyZaW//XSqf//5rn////S///wvf//1qP//92q///lsv//7Ln///XC////zP///9L////Y//// - 3v///+L////p////7f////H////z////8v////D////q////5v///+L////X////1v///8//qX12/2tI - SOIAAAB3AAAAHgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAG+jo6KyZaW///jsP//7sb///zK///ntP//1aL//92q///ksf//67j///G+///+ - y////9D////V////2////+H////l////6f///+z////t////7f///+r////o////4v///9/////W//// - 1v///83/to+D/3xSUuwAAAB6AAAAHwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG+jo6KyZaW///ksf//8sz///rH///ksf//06D//9uo///i - r///57T//++8///6x////8z////T////2P///9z////i////4////+b////n////5////+X////i//// - 3////9v////T////1v///sv/yKeR/3xSUuwAAAB6AAAAHwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG+jo6KyZaW///lsv//+NT///nG///i - r///0Z7//9mm///eq///5bL//+y5///zwP///sv////P////1P///9n////b////3////+L////i//// - 4v///+H////e////2////9b////R////1v//+MX/zq2U/3xSUuwAAAB6AAAAHwAAAAEAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG+j4+JyZaW///m - s///99L///rH///lsv//zpv//9Wi///frP//6rj//+67///vvP//9sP////M////z////9P////X//// - 2v///9v////b////2////9v////Z////1f///9L////N///80///8b7/wpyI/3xSUuwAAAB2AAAAHgAA - AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AADEk5OFyZaW///qt///8sn///zK///suf//0aD//+vD///zyv//6Lf//+u5///wvf//9sP///jF///+ - y////87////R////0////9T////V////1f///9T////T////0P///8z///7N///0x///7br/top9/31T - U+oAAABkAAAAFwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAADGlJRCyZaW//HXsf//7cL////R///vvP//99j//+W9///WpP//3Kr//96s///l - sv//67j///jF///0wf///Mn////M////zf///87////Q////0P///87////M///+y///+cb////R///w - wP//57T/o3Jv/2dERNUAAABJAAAADQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAByZaW/9+7pP//67r////Z///81v//+N3//+G2///g - tP//3rD//9mq///crP//5bL//+q3///0wf//77z///TB///4xf//+8j///zJ///7yP//+8j///bD///y - v///98T///vQ///ms//tzqX/nWpq/0YvL68AAAAsAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAw5GRs8yel///7br///bQ//// - 5v//9NP///DR///04P//7Mv//+O4///aq///3az//+Ow///xvv//6LX//+y5///uu///7rv//++8///v - vP//7rv//+26///vvP///s3//+/D///hrv/EmIX/lmVl+gAAAGcAAAAZAAAAAQAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwpCQQsWS - kv/oy6v//+6////98P///fT///////////////////HW///it///2an//92q///wv///47D//+Wy///l - sv//57T//+e0///ntP//57T//+az///5xv//+9L//96r//nVpf+ndXL/dk9P1AAAADoAAAAJAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAMGPj8LJmpT/++i4///66P////////////////////////32///nvv//2ar//9im///x - xP//3ar//96r///grf//4a7//+Gu///hrv//5LH///bD////0v//5Lb//9ek/8GQgP+bamr5LB4ecQAA - ABgAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAALyLizLBjo7/1rCd///42f////////////////////////z1///q - wf//2Kn//+3G///erv//1aL//9ek///Zpv//2qf//92q///otf//+MX////S///kuP//1KH/3rCQ/6Vy - cv9vTEy5AAAAKAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC9i4tyvYqK/+DEqv///vj///////// - //////////nf///svf//9dX///LN///Sn///1KH//9aj///cqf//5bL///PA///9yv///ND//+G2///P - nP/vvZP/rnt4/49jY94AAAAyAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAuIaGoriF - hf/VtKX///3v/////f////z////z////7f///dr///TB///yv///8r////XC///5xv///cr////S///0 - zP//2Kn//8+c/+a2k/+yf3z/mWtr5SkcHEEAAAAKAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAALWDg5G0gYH/xZqN//Xjuf//8sn//+/I///30f///df////W////1v///9b////W///7 - 0///8sr//+O3///Zpv/706P/1qeR/7F/f/+fcHDhMyMjNgAAAAoAAAABAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwfn5SsH5+8K16ev/Jo5D/7tet///suf//57T//+Wy///s - v///6Lr//+Ct///frP//3ar/99On/960mv++jIn/toOD/5BnZ54AAAAYAAAABQAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAp3d3Eal3d4OodnbwpXJy/61+ - eP/CnIj/zKmP/9Grkf/atJv/4ryi/+K6o//Ro5n/wo+P/76Li/+kd3e0aUxMOAAAAAkAAAABAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AACfb28RoG5uY5tqaqWZaGjUmWZm/6NwcP+1g4P/xpOT/8aUlOS7i4u6qn19gH9dXTAAAAAHAAAAAQAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg//////8AAIA/ - /////wAAgB//////AAAAD/////8AAAAH/////wAAAAP/////AAAAAf////8AAAAA/////wAAAAB///// - AAAAAD////8AAIAAH////wAAwAAP////AADgAAf///8AAPAAA////wAA+AAD////AAD8AAHAD/8AAP4A - AAAB/wAA/wAAAAD/AAD/gAAAAD8AAP/AAAAAHwAA/+AAAAAPAAD/8AAAAAcAAP/4AAAABwAA//8AAAAD - AAD//wAAAAMAAP//AAAAAQAA//4AAAABAAD//gAAAAEAAP/+AAAAAAAA//wAAAAAAAD//AAAAAAAAP/8 - AAAAAAAA//wAAAAAAAD//AAAAAAAAP/+AAAAAAAA//4AAAABAAD//gAAAAEAAP//AAAAAQAA//8AAAAD - AAD//4AAAAMAAP//gAAABwAA///AAAAPAAD//+AAAA8AAP//8AAAHwAA///4AAB/AAD///wAAP8AAP// - /wAD/wAA////4B//AAAoAAAAIAAAAEAAAAABACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA - AAgAAAAYAAAAIAAAACUAAAAhAAAAEQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAGAAAAJwAAAGEAAAB8AAAAiAAAAH0AAABPAAAAGwAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAADY2Nh5oaGjHZ2dn5mRkZfqog4n2XkZG0QAAAJcAAABWAAAAHAAAAAQAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAfX19eoiIiP9ha3r/YW2l/4t/o/++k5v/XUZG0wAAAJgAAABWAAAAHAAA - AAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/f394ZnmG/z6P5v9Fc8P/YW6q/4t/o/++k5v/XUZG0wAA - AJgAAABWAAAAHAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFODqmVdvfX/Sa///zqR7v9Fc8P/YW6q/4t/ - o/++k5v/XUZG0wAAAJgAAABWAAAAHAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP6P6MUuw/vBdw///Sa///zqR - 7v9EdMT/YW+r/4t/o/++k5v/XUZG0wAAAJgAAABWAAAAHAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPZ/1Mkuw - /vBdw///Sa///zqR7v9Edcb/YW+r/4t/o/++k5v/XUZG0wAAAJgAAABWAAAAHAAAAAQAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAPZ/1Mkuw/vBdw///Sa///zqR7v9Edcb/YW+r/4t/o/++k5v/XUZG0wAAAJgAAABWAAAAHAAA - AAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAPZ/1Mkuw/vBdw///Sa///zmT8v9Edcb/YW+r/4t/o/++k5v/XUZG0wAA - AJQAAABJAAAADwAAAAAAAAAAAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPZ/1Mkuw/vBdw///Sa///zmU8/9Edcb/YW+r/4t/ - o/+6kpz/YUlJywAAAGQAAAAXAAAAAwAAAAoAAAAZAAAAIwAAACgAAAAqAAAAKgAAACgAAAAfAAAAEAAA - AAUAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPZ/1Mkuw/vBdw///Sa///zmU - 8/9Edcb/YW+r/4t/o/99Zm/hAAAAdAAAADQAAAAnAAAAQgAAAGkAAACFAAAAkgAAAJUAAACVAAAAjwAA - AHcAAABTAAAAMAAAABUAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPZ/1Mkuw - /vBdw///Sa///zmU8/9Edcb/Y2yQ/1RUVNsAAACiAAAAiDUlJZt6VFTZkWJi9ZpnZ/+senr/xpOT/8qX - l/+edXXuWEBA0BINDakAAACJAAAAWAAAACIAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAPZ/1Mkuw/vBdw///Sa///4erz/+CgoL/mZmZ+p+cnPKQa2vttoV//9iylf/t0qj///G+///6 - x////sz//PjM/+3dvf/WtqX/r39/+1xCQtcAAACfAAAAZwAAACcAAAAGAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAANZf1Mkit/vCLvNjIsbGx16ysrP+Fe3v/tISE/9iqkf//3qv//+u8///3 - yv///dL////T////1v///9b////a////2f/y6Mn/v5eP/3hVVeUAAACjAAAAZgAAAB8AAAAEAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMJDwEQAAAAJ4eHg5wLa2/7iIiP/ktJT//9uq///1 - yv///Mz///3K////z////9b////c////4P///97////p////9v/69+z/wJqT/3NQUOUAAACbAAAATgAA - ABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFVVVT+8kpL/47GU///Z - qv///ND///K////xvv///sz////U////2////+P////p////7P////7////////////69+f/tYyE/z8r - K8wAAACBAAAAKgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABoXh4ddKi - lf//06L///jO///xvv//6bb///XC////zv///9f////f////5////+/////1//////////////////// - 7v/o277/j2Fh9wAAAKEAAABPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAa+jY3Z8Mii///ovP//98T//+Kv///qt///9sP////Q////2f///+D////r////8/////r////8//// - /P////n////d////1/+3kIX/STExzgAAAG8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAm3R0KsuZlv//26j///zQ///ntP//36z//+q3///2w////9D////Y////4P///+n////x//// - +P////j////x////6P///9v////Y/9rHqv90Tk7pAAAAggAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAGnfX1O1qmc///muf//+sr//92q///eq///6LX///PA////zf///9b////e//// - 5f///+v////u////7v///+v////l////3P///9X/7eO6/4NYWPMAAACRAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAb6Pj4nkvaT//+7E///5xv//1qP//9uo///ksf//7rv///3K//// - 0f///9r////f////5P///+b////m////5P///9/////Z////0f//+8j/mmdn/wAAAJEAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAw5KShuS/pf//8sn///nG///Vov//16T//+Ct///q - t///9MH///7M////0////9n////d////3////9/////d////2P///9L///7O///zwP+aZ2f/AAAAggAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAkJBE1quf///sv///+cj//96t///r - w///78L//+q4///1wv//+sf///7M////0P///9T////V////1f///9T////Q////zP//+Mr/7dSq/4VZ - WfAAAABvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMaUlCHOoJn//+u6///9 - 0f//+dj//+O5///brP//26v//+Sx///yv///9MH///rH///9yv///83////N///9yv//+cb///vJ///w - w//at5f/d1BQ4gAAAE8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMSS - ktLw1rD///fO///85///8NP///Lb///kvP//26z//+Ow///zwP//67j///C9///wvf//8L3//++8///w - vf///M///+Ow/7eIfP9VOTmwAAAAKgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAwY+PYtKnm///8cL////8//////////////nt///htf//2qj///DA///ir///5LH//+Wy///l - sv//57T///vJ///ouf/ov5n/k2Rk8gAAAE4AAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAwI6O0ePDpv////n/////////////+e7//+a7///mu///36///9il///a - p///3Kn//+i1///6yP//78X/+s6e/7WEev9WOzuWAAAAHwAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4h4cyu4iI8OTPxP/////////////87f//9tf///jU///f - rP//3ar//+i1///1wv///c///+a6//rImf/AjYH/hVxcxgAAACcAAAAGAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACygYEytYKC8Ni6pv//99j///ba///8 - 2P///dL///zP///90f//+8////HH///bq//yxpz/v4+F/49lZcAAAAAiAAAABgAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACpeXkRrXt7sraH - gf/YuJz/7dOq///otf//5LH//+Kv//zcrP/txqP/1qmW/7SCgvSOZmaLAAAAFQAAAAQAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAo3JyMqJwcKOda2vimmdn/6x6ev/Gk5P/ypeX/7qKismkeHiBW0JCIQAAAAYAAAABAAAAAAAA - AAAAAAAAAAAAAAD///8Af///AD///wAf//8AD///AAf//wAD//+AAf//wAD//+AAwH/wAAAP+AAAB/wA - AAP+AAAB/wAAAP+AAAD/4AAA/8AAAP/AAAD/wAAA/4AAAP+AAAD/wAAA/8AAAP/AAAD/4AAA/+AAAP/w - AAD/8AAB//gAA//8AAf//wAPKAAAABgAAAAwAAAAAQAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAQAAAARAAAAHwAAACEAAAAWAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMAAABGAAAAbQAAAHMAAABYAAAAKAAA - AAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAF1dXXdycnLdbGRo6oRjY90AAACdAAAAZwAAACkAAAAHAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAISEhPFKcYz/LXKb/5+O - mf+OamrlAAAAoQAAAGgAAAApAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAGCLpuI+pPn/FnzE/y1ym/+fjpn/jmpq5QAAAKEAAABoAAAAKQAA - AAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEmt - +qJZv///PqT5/xZ8xP8tcpv/n46Z/45qauUAAAChAAAAaAAAACkAAAAHAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKrvqiWb///z6k+f8WfMT/LXKb/5+O - mf+OamrlAAAAoQAAAGcAAAAoAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAASq76olm///8+pPn/FnzE/y1ym/+fjpn/jmpq5QAAAJoAAABSAAAAEwAA - AAYAAAAQAAAAFgAAABgAAAAWAAAAEAAAAAYAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEqu - +qJZv///PqT5/xZ8xP8tcpv/n46Z/4ZkZNsAAAByAAAAPAAAADcAAABOAAAAXAAAAF8AAABcAAAATwAA - ADYAAAAaAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKrvqiWb///z6k+f8WfMT/MXGX/1JS - VtYAAACZEw0Nj1Q5OblgQEDOa0xM03tcXNNeRUXIEw4OpQAAAIsAAABhAAAALQAAAAoAAAABAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAASq76olm///9GpfT/domY/4mJie2ji4vxrYB5+926mv/s1q3///nG//Xr - xP/p1br/zKWb/3JSUuEAAACkAAAAcwAAADIAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEqu - +pKOscWJnZ2d86GBgf/esJP//+Oy///3yf///c7////W////2P///9n////g/+fXxP+Xb2zzEAsLrQAA - AGoAAAAiAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHtp6e5uKwk///5bb///nJ///3 - xP///9H////b////5P///+n////8///////p3M7/e1VV6gAAAJUAAABGAAAADQAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAABfR0ci0KGU9P/fsP//+Mb//+q3///6x////9X////h////7f////X///////// - /////+v/xKSV/zQjI8AAAABnAAAAGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACugoKB6sCg///4 - yv//5LL//+m2///8yf///9f////j////7/////r////6////9P///9r/8+3I/2xJSeQAAAB9AAAAJgAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC+jo66++G2///3xf//3ar//+m2///6x////9T////g//// - 6v////H////w////6P///9r////T/5FsZvIAAACJAAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AADCkZHH/+q6///zwP//1qP//+Wy///zwP///8/////Z////4f///+b////l////4P///9X///3O/7OK - fv8AAACGAAAAKwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADEkpLF/+y+///0wf//3Kz//+/B///0 - wf///Mn////Q////1v///9j////Y////1f///8////XH/6Z8c/oAAABzAAAAIQAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAADBkJCF8dWw///6zf//9dX//96r///grf//8b7///jF///8yv///cz///3M///7 - yP///M3//+m2/4BWVucAAABTAAAAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADBkJAy27Wi///3 - 0////O////vu///pwP//3qv///TC///suf//7br//+26///xvv//88f/27SU/1c6Oq0AAAAuAAAABgAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv42NwvPgwP/////////////z2v//5bb//+e4///d - qv//36z//+m2///6zP/606T/o3Vv8CAVFU8AAAAQAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAtISEEcidkvD27+L////+///65f//+dX//+az///otf//9ML///HC//rQov+1hHr3TTY2ZwAA - ABMAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALOCgiG3h4PR27uf//np - v///88T///HB///vwP//5bf/5bqa/7mJgvVeQkJYAAAAEAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqHZ2YqBubsO0iXz/w5eL/9irn//Bko7XnnNzhFQ9 - PSMAAAAHAAAAAQAAAAAAAAAAAAAAAAP//wAB//8AAP//AAB//wAAP/8AAB//AIAP/wDAAA8A4AAHAPAA - AQD4AAEG/AAA2f4AAP/+AAD//gAA//4AAP/+AAD//gAA//4AAP/+AAD//wAA//8AAf//gAP//+AH/ygA - AAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAWwAAAIcAAAByAAAANAAA - AAsAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfn5+uHN1if+jf4bwEg4OsQAA - AHsAAAA0AAAACwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGCStMNAiN//c3ao/6Z/ - hfISDg6yAAAAewAAADQAAAAKAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABNsfpiUrj//0OF - 2f95eaf/pn+F8hIODrIAAAB5AAAALwAAAAcAAAABAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAEqu - +4JTuf//Q4XZ/3l5p/+mf4XyEw4OrAAAAGYAAAArAAAAIwAAACgAAAApAAAAJAAAABUAAAAFAAAAAAAA - AAAAAAAARqr6olO4/v9Eg9b/eXmn/4hqb98AAACRAAAAeAAAAIQAAACSAAAAlAAAAIUAAABbAAAAJQAA - AAcAAAAAAAAAAAAAAABJrfqiU7j+/1iMz/91dXnhd11d2bmUgPXOsJb/4Meu/9CyoftvVVLcAAAAogAA - AGoAAAAlAAAAAAAAAAAAAAAAAAAAAEuv+4Knr7W6q4uI//HPqf//9cX///3R////2////9z/9e/g/5B0 - b+oAAAChAAAAWgAAAAAAAAAAAAAAAAAAAAAAAAABo319ge/Jpv//8sD///fE////2P///+j////4//// - ///z7dr/XT8/2wAAAIIAAAAAAAAAAAAAAAAAAAAAAAAAAcqeksn/8cL//+Sx///5xv///9v////s//// - +/////f////a/7KYhfcAAACSAAAAAAAAAAAAAAAAAAAAAAAAAAHlvaP///XJ///dqv//9cL////W//// - 5f///+z////n////2f/Mspn/AAAAkgAAAAAAAAAAAAAAAAAAAAAAAAAB5b+m///1yf//5rn//++8//// - zf///9f////b////2P///NH/zKyT/wAAAIIAAAAAAAAAAAAAAAAAAAAAAAAAANGom8P/9s3///LX///j - uf//8b////XC///5x///98T///bG/7WQfPMAAABbAAAAAAAAAAAAAAAAAAAAAAAAAADBj49i79rC//// - ////9+r//+y////frP//47D///C9//PSqP9vS0u3AAAAJwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL+R - jqHx5d3///vo///4zf//7rz///PG//XPpP+qfHHWAAAAJwAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAArHp6csmlj+HOqI7/4Lie/9esmPKofXeSAAAAFQAAAAUAAAAAAf+6/wD/m/8Af1LhAAcApIAB - AHPAAAAy4AAACfAAAADwAAAA8AAAAPAAAADwAAAA+AAAAPgAAAD8APqS/gHFiQ== - - - \ No newline at end of file diff --git a/BizHawk.MultiClient/tools/Watch/RamSearch.Designer.cs b/BizHawk.MultiClient/tools/Watch/RamSearch.Designer.cs index 0c7cadf7ef..d29903ea79 100644 --- a/BizHawk.MultiClient/tools/Watch/RamSearch.Designer.cs +++ b/BizHawk.MultiClient/tools/Watch/RamSearch.Designer.cs @@ -29,115 +29,122 @@ private void InitializeComponent() { this.components = new System.ComponentModel.Container(); + System.Windows.Forms.ToolStripMenuItem SearchMenuItem; System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(RamSearch)); - this.SearchtoolStrip1 = new ToolStripEx(); - this.openToolStripButton = new System.Windows.Forms.ToolStripButton(); - this.saveToolStripButton = new System.Windows.Forms.ToolStripButton(); - this.toolStripSeparator = new System.Windows.Forms.ToolStripSeparator(); - this.cutToolStripButton = new System.Windows.Forms.ToolStripButton(); - this.TruncateFromFiletoolStripButton2 = new System.Windows.Forms.ToolStripButton(); - this.ExcludeRamWatchtoolStripButton2 = new System.Windows.Forms.ToolStripButton(); - this.toolStripSeparator8 = new System.Windows.Forms.ToolStripSeparator(); - this.WatchtoolStripButton1 = new System.Windows.Forms.ToolStripButton(); - this.PoketoolStripButton1 = new System.Windows.Forms.ToolStripButton(); - this.FreezeAddressToolStrip = new System.Windows.Forms.ToolStripButton(); this.TotalSearchLabel = new System.Windows.Forms.Label(); - this.SearchListView = new BizHawk.VirtualListView(); - this.Address = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); - this.Value = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); - this.Previous = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); - this.Changes = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.WatchListView = new BizHawk.VirtualListView(); + this.AddressColumn = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.ValueColumn = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.PreviousColumn = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.ChangesColumn = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.DiffColumn = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); - this.startNewSearchToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.searchToolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator9 = new System.Windows.Forms.ToolStripSeparator(); - this.removeSelectedToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); - this.addToRamWatchToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.freezeAddressToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); - this.pokeAddressToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); - this.unfreezeAllToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator12 = new System.Windows.Forms.ToolStripSeparator(); - this.viewInHexEditorToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator14 = new System.Windows.Forms.ToolStripSeparator(); - this.clearPreviewToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.DoSearchContextMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.NewSearchContextMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.ContextMenuSeparator1 = new System.Windows.Forms.ToolStripSeparator(); + this.RemoveContextMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.AddToRamWatchContextMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.PokeContextMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.FreezeContextMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.UnfreezeAllContextMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.ContextMenuSeparator2 = new System.Windows.Forms.ToolStripSeparator(); + this.ViewInHexEditorContextMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.ContextMenuSeparator3 = new System.Windows.Forms.ToolStripSeparator(); + this.ClearPreviewContextMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.menuStrip1 = new MenuStripEx(); this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.newSearchToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); - this.openToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.saveToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.saveAsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.appendFileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.TruncateFromFileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.recentToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.OpenMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.SaveMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.SaveAsMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.AppendFileMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.TruncateFromFileMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.RecentSubMenu = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator(); this.toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator(); this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.searchToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.memoryDomainsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.searchToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); - this.undoToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.redoToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.copyValueToPrevToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.clearChangeCountsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.removeSelectedToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.excludeRamWatchListToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator(); - this.addSelectedToRamWatchToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.pokeAddressToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.freezeAddressToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator13 = new System.Windows.Forms.ToolStripSeparator(); - this.clearUndoHistoryToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.optionsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.definePreviousValueToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.sinceLastSearchToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.originalValueToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.sinceLastFrameToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.sinceLastChangeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.fastModeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.previewModeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.alwaysExcludeRamSearchListToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.autoloadDialogToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.saveWindowPositionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator11 = new System.Windows.Forms.ToolStripSeparator(); - this.alwaysOnTopToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.restoreOriginalWindowSizeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.useUndoHistoryToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStrip1 = new ToolStripEx(); - this.toolStripButton1 = new System.Windows.Forms.ToolStripButton(); - this.toolStripSeparator7 = new System.Windows.Forms.ToolStripSeparator(); - this.NewSearchtoolStripButton = new System.Windows.Forms.ToolStripButton(); + this.settingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.modeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.DetailedMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.FastMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.MemoryDomainsSubMenu = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripSeparator6 = new System.Windows.Forms.ToolStripSeparator(); - this.SetCurrToPrevtoolStripButton2 = new System.Windows.Forms.ToolStripButton(); - this.ClearChangeCountstoolStripButton = new System.Windows.Forms.ToolStripButton(); - this.toolStripSeparator10 = new System.Windows.Forms.ToolStripSeparator(); - this.UndotoolStripButton = new System.Windows.Forms.ToolStripButton(); - this.RedotoolStripButton2 = new System.Windows.Forms.ToolStripButton(); - this.toolStrip2 = new ToolStripEx(); - this.DataSizetoolStripSplitButton1 = new System.Windows.Forms.ToolStripSplitButton(); - this.byteToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.bytesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.dWordToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.sizeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this._1ByteMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this._2ByteMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this._4ByteMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.CheckMisalignedMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator8 = new System.Windows.Forms.ToolStripSeparator(); + this.DisplayTypeSubMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); + this.DefinePreviousValueSubMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.PreviousFrameMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.Previous_LastSearchMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.Previous_LastChangeMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.Previous_OriginalMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.BigEndianMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.searchToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.newSearchToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator7 = new System.Windows.Forms.ToolStripSeparator(); + this.UndoMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.RedoMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.CopyValueToPrevMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.ClearChangeCountsMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.RemoveMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator(); + this.AddToRamWatchMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.PokeAddressMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.FreezeAddressMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator13 = new System.Windows.Forms.ToolStripSeparator(); + this.ClearUndoMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.optionsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.PreviewModeMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.AutoSearchMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator9 = new System.Windows.Forms.ToolStripSeparator(); + this.ExcludeRamWatchMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.UseUndoHistoryMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator11 = new System.Windows.Forms.ToolStripSeparator(); + this.AutoloadDialogMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.SaveWinPositionMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.AlwaysOnTopMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator(); - this.includeMisalignedToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.DataTypetoolStripSplitButton1 = new System.Windows.Forms.ToolStripSplitButton(); - this.unsignedToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.signedToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.hexadecimalToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.EndiantoolSplitButton = new System.Windows.Forms.ToolStripSplitButton(); - this.bigEndianToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.littleEndianToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.RestoreDefaultsMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.ColumnsMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.ShowPreviousMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.ShowChangesMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.ShowDiffMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.MemDomainLabel = new System.Windows.Forms.Label(); + this.MessageLabel = new System.Windows.Forms.Label(); + this.toolTip1 = new System.Windows.Forms.ToolTip(this.components); + this.AutoSearchCheckBox = new System.Windows.Forms.CheckBox(); this.CompareToBox = new System.Windows.Forms.GroupBox(); - this.label1 = new System.Windows.Forms.Label(); - this.NumberOfChangesBox = new System.Windows.Forms.TextBox(); + this.DifferenceBox = new BizHawk.UnsignedIntegerBox(); + this.DifferenceRadio = new System.Windows.Forms.RadioButton(); + this.NumberOfChangesBox = new BizHawk.UnsignedIntegerBox(); this.SpecificAddressBox = new BizHawk.HexTextBox(); - this.SpecificValueBox = new System.Windows.Forms.TextBox(); + this.SpecificValueBox = new BizHawk.MultiClient.WatchValueBox(); this.NumberOfChangesRadio = new System.Windows.Forms.RadioButton(); this.SpecificAddressRadio = new System.Windows.Forms.RadioButton(); this.SpecificValueRadio = new System.Windows.Forms.RadioButton(); this.PreviousValueRadio = new System.Windows.Forms.RadioButton(); + this.toolStrip1 = new ToolStripEx(); + this.DoSearchToolButton = new System.Windows.Forms.ToolStripButton(); + this.toolStripSeparator10 = new System.Windows.Forms.ToolStripSeparator(); + this.NewSearchToolButton = new System.Windows.Forms.ToolStripButton(); + this.toolStripSeparator15 = new System.Windows.Forms.ToolStripSeparator(); + this.CopyValueToPrevToolBarItem = new System.Windows.Forms.ToolStripButton(); + this.ClearChangeCountsToolBarItem = new System.Windows.Forms.ToolStripButton(); + this.toolStripSeparator16 = new System.Windows.Forms.ToolStripSeparator(); + this.RemoveToolBarItem = new System.Windows.Forms.ToolStripButton(); + this.AddToRamWatchToolBarItem = new System.Windows.Forms.ToolStripButton(); + this.PokeAddressToolBarItem = new System.Windows.Forms.ToolStripButton(); + this.FreezeAddressToolBarItem = new System.Windows.Forms.ToolStripButton(); + this.toolStripSeparator12 = new System.Windows.Forms.ToolStripSeparator(); + this.UndoToolBarButton = new System.Windows.Forms.ToolStripButton(); + this.RedoToolBarItem = new System.Windows.Forms.ToolStripButton(); + this.RebootToolBarSeparator = new System.Windows.Forms.ToolStripSeparator(); + this.RebootToolbarButton = new System.Windows.Forms.ToolStripButton(); this.ComparisonBox = new System.Windows.Forms.GroupBox(); - this.DifferentByBox = new System.Windows.Forms.TextBox(); + this.DifferentByBox = new BizHawk.UnsignedIntegerBox(); this.DifferentByRadio = new System.Windows.Forms.RadioButton(); this.NotEqualToRadio = new System.Windows.Forms.RadioButton(); this.EqualToRadio = new System.Windows.Forms.RadioButton(); @@ -145,398 +152,279 @@ this.LessThanOrEqualToRadio = new System.Windows.Forms.RadioButton(); this.GreaterThanRadio = new System.Windows.Forms.RadioButton(); this.LessThanRadio = new System.Windows.Forms.RadioButton(); - this.AutoSearchCheckBox = new System.Windows.Forms.CheckBox(); - this.MemDomainLabel = new System.Windows.Forms.Label(); - this.MessageLabel = new System.Windows.Forms.Label(); - this.toolTip1 = new System.Windows.Forms.ToolTip(this.components); - this.SearchtoolStrip1.SuspendLayout(); + this.SearchButton = new System.Windows.Forms.Button(); + SearchMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.contextMenuStrip1.SuspendLayout(); this.menuStrip1.SuspendLayout(); - this.toolStrip1.SuspendLayout(); - this.toolStrip2.SuspendLayout(); this.CompareToBox.SuspendLayout(); + this.toolStrip1.SuspendLayout(); this.ComparisonBox.SuspendLayout(); this.SuspendLayout(); // - // SearchtoolStrip1 + // SearchMenuItem // - this.SearchtoolStrip1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.SearchtoolStrip1.ClickThrough = true; - this.SearchtoolStrip1.Dock = System.Windows.Forms.DockStyle.None; - this.SearchtoolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.openToolStripButton, - this.saveToolStripButton, - this.toolStripSeparator, - this.cutToolStripButton, - this.TruncateFromFiletoolStripButton2, - this.ExcludeRamWatchtoolStripButton2, - this.toolStripSeparator8, - this.WatchtoolStripButton1, - this.PoketoolStripButton1, - this.FreezeAddressToolStrip}); - this.SearchtoolStrip1.Location = new System.Drawing.Point(249, 58); - this.SearchtoolStrip1.Name = "SearchtoolStrip1"; - this.SearchtoolStrip1.Size = new System.Drawing.Size(208, 25); - this.SearchtoolStrip1.TabIndex = 7; - this.SearchtoolStrip1.TabStop = true; - this.SearchtoolStrip1.Text = "Search"; - // - // openToolStripButton - // - this.openToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.openToolStripButton.Image = ((System.Drawing.Image)(resources.GetObject("openToolStripButton.Image"))); - this.openToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.openToolStripButton.Name = "openToolStripButton"; - this.openToolStripButton.Size = new System.Drawing.Size(23, 22); - this.openToolStripButton.Text = "&Open"; - this.openToolStripButton.ToolTipText = "Open Search List"; - this.openToolStripButton.Click += new System.EventHandler(this.openToolStripButton_Click); - // - // saveToolStripButton - // - this.saveToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.saveToolStripButton.Image = ((System.Drawing.Image)(resources.GetObject("saveToolStripButton.Image"))); - this.saveToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.saveToolStripButton.Name = "saveToolStripButton"; - this.saveToolStripButton.Size = new System.Drawing.Size(23, 22); - this.saveToolStripButton.Text = "&Save"; - this.saveToolStripButton.ToolTipText = "Save Watch List"; - this.saveToolStripButton.Click += new System.EventHandler(this.saveToolStripMenuItem_Click); - // - // toolStripSeparator - // - this.toolStripSeparator.Name = "toolStripSeparator"; - this.toolStripSeparator.Size = new System.Drawing.Size(6, 25); - // - // cutToolStripButton - // - this.cutToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.cutToolStripButton.Image = global::BizHawk.MultiClient.Properties.Resources.Delete; - this.cutToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.cutToolStripButton.Name = "cutToolStripButton"; - this.cutToolStripButton.Size = new System.Drawing.Size(23, 22); - this.cutToolStripButton.Text = "C&ut"; - this.cutToolStripButton.ToolTipText = "Eliminate Selected Items"; - this.cutToolStripButton.Click += new System.EventHandler(this.cutToolStripButton_Click); - // - // TruncateFromFiletoolStripButton2 - // - this.TruncateFromFiletoolStripButton2.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.TruncateFromFiletoolStripButton2.Image = global::BizHawk.MultiClient.Properties.Resources.TruncateFromFile; - this.TruncateFromFiletoolStripButton2.ImageTransparentColor = System.Drawing.Color.Magenta; - this.TruncateFromFiletoolStripButton2.Name = "TruncateFromFiletoolStripButton2"; - this.TruncateFromFiletoolStripButton2.Size = new System.Drawing.Size(23, 22); - this.TruncateFromFiletoolStripButton2.Text = "Eliminate from File"; - this.TruncateFromFiletoolStripButton2.Click += new System.EventHandler(this.TruncateFromFiletoolStripButton2_Click); - // - // ExcludeRamWatchtoolStripButton2 - // - this.ExcludeRamWatchtoolStripButton2.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.ExcludeRamWatchtoolStripButton2.Image = global::BizHawk.MultiClient.Properties.Resources.TruncateFromRW; - this.ExcludeRamWatchtoolStripButton2.ImageTransparentColor = System.Drawing.Color.Magenta; - this.ExcludeRamWatchtoolStripButton2.Name = "ExcludeRamWatchtoolStripButton2"; - this.ExcludeRamWatchtoolStripButton2.Size = new System.Drawing.Size(23, 22); - this.ExcludeRamWatchtoolStripButton2.Text = "Elmininate Ram Watch list"; - this.ExcludeRamWatchtoolStripButton2.Click += new System.EventHandler(this.ExcludeRamWatchtoolStripButton2_Click); - // - // toolStripSeparator8 - // - this.toolStripSeparator8.Name = "toolStripSeparator8"; - this.toolStripSeparator8.Size = new System.Drawing.Size(6, 25); - // - // WatchtoolStripButton1 - // - this.WatchtoolStripButton1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.WatchtoolStripButton1.Image = global::BizHawk.MultiClient.Properties.Resources.FindHS; - this.WatchtoolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta; - this.WatchtoolStripButton1.Name = "WatchtoolStripButton1"; - this.WatchtoolStripButton1.Size = new System.Drawing.Size(23, 22); - this.WatchtoolStripButton1.Text = "Watch"; - this.WatchtoolStripButton1.Click += new System.EventHandler(this.WatchtoolStripButton1_Click_1); - // - // PoketoolStripButton1 - // - this.PoketoolStripButton1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.PoketoolStripButton1.Image = global::BizHawk.MultiClient.Properties.Resources.poke; - this.PoketoolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta; - this.PoketoolStripButton1.Name = "PoketoolStripButton1"; - this.PoketoolStripButton1.Size = new System.Drawing.Size(23, 22); - this.PoketoolStripButton1.Text = "Poke"; - this.PoketoolStripButton1.Click += new System.EventHandler(this.PoketoolStripButton1_Click); - // - // FreezeAddressToolStrip - // - this.FreezeAddressToolStrip.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.FreezeAddressToolStrip.Image = global::BizHawk.MultiClient.Properties.Resources.Freeze; - this.FreezeAddressToolStrip.ImageTransparentColor = System.Drawing.Color.Magenta; - this.FreezeAddressToolStrip.Name = "FreezeAddressToolStrip"; - this.FreezeAddressToolStrip.Size = new System.Drawing.Size(23, 22); - this.FreezeAddressToolStrip.Text = "Freeze"; - this.FreezeAddressToolStrip.Click += new System.EventHandler(this.FreezeAddressToolStrip_Click); + SearchMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.search; + SearchMenuItem.Name = "SearchMenuItem"; + SearchMenuItem.Size = new System.Drawing.Size(215, 22); + SearchMenuItem.Text = "&Search"; + SearchMenuItem.Click += new System.EventHandler(this.SearchMenuItem_Click); // // TotalSearchLabel // this.TotalSearchLabel.AutoSize = true; - this.TotalSearchLabel.Location = new System.Drawing.Point(13, 33); + this.TotalSearchLabel.Location = new System.Drawing.Point(12, 49); this.TotalSearchLabel.Name = "TotalSearchLabel"; this.TotalSearchLabel.Size = new System.Drawing.Size(64, 13); this.TotalSearchLabel.TabIndex = 2; this.TotalSearchLabel.Text = "0 addresses"; // - // SearchListView + // WatchListView // - this.SearchListView.AllowColumnReorder = true; - this.SearchListView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + this.WatchListView.AllowColumnReorder = true; + this.WatchListView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); - this.SearchListView.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { - this.Address, - this.Value, - this.Previous, - this.Changes}); - this.SearchListView.ContextMenuStrip = this.contextMenuStrip1; - this.SearchListView.FullRowSelect = true; - this.SearchListView.GridLines = true; - this.SearchListView.HideSelection = false; - this.SearchListView.ItemCount = 0; - this.SearchListView.Location = new System.Drawing.Point(9, 58); - this.SearchListView.Name = "SearchListView"; - this.SearchListView.selectedItem = -1; - this.SearchListView.Size = new System.Drawing.Size(221, 363); - this.SearchListView.TabIndex = 1; - this.SearchListView.UseCompatibleStateImageBehavior = false; - this.SearchListView.View = System.Windows.Forms.View.Details; - this.SearchListView.VirtualMode = true; - this.SearchListView.QueryItemBkColor += new BizHawk.QueryItemBkColorHandler(this.SearchListView_QueryItemBkColor); - this.SearchListView.QueryItemText += new BizHawk.QueryItemTextHandler(this.SearchListView_QueryItemText); - this.SearchListView.ColumnClick += new System.Windows.Forms.ColumnClickEventHandler(this.SearchListView_ColumnClick); - this.SearchListView.ColumnReordered += new System.Windows.Forms.ColumnReorderedEventHandler(this.SearchListView_ColumnReordered); - this.SearchListView.Enter += new System.EventHandler(this.SearchListView_Enter); - this.SearchListView.KeyDown += new System.Windows.Forms.KeyEventHandler(this.SearchListView_KeyDown); - this.SearchListView.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.SearchListView_MouseDoubleClick); + this.WatchListView.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { + this.AddressColumn, + this.ValueColumn, + this.PreviousColumn, + this.ChangesColumn, + this.DiffColumn}); + this.WatchListView.ContextMenuStrip = this.contextMenuStrip1; + this.WatchListView.FullRowSelect = true; + this.WatchListView.GridLines = true; + this.WatchListView.HideSelection = false; + this.WatchListView.ItemCount = 0; + this.WatchListView.LabelEdit = true; + this.WatchListView.Location = new System.Drawing.Point(9, 65); + this.WatchListView.Name = "WatchListView"; + this.WatchListView.selectedItem = -1; + this.WatchListView.Size = new System.Drawing.Size(230, 366); + this.WatchListView.TabIndex = 1; + this.WatchListView.UseCompatibleStateImageBehavior = false; + this.WatchListView.View = System.Windows.Forms.View.Details; + this.WatchListView.VirtualMode = true; + this.WatchListView.ColumnClick += new System.Windows.Forms.ColumnClickEventHandler(this.WatchListView_ColumnClick); + this.WatchListView.ColumnReordered += new System.Windows.Forms.ColumnReorderedEventHandler(this.WatchListView_ColumnReordered); + this.WatchListView.SelectedIndexChanged += new System.EventHandler(this.WatchListView_SelectedIndexChanged); + this.WatchListView.Enter += new System.EventHandler(this.WatchListView_Enter); + this.WatchListView.KeyDown += new System.Windows.Forms.KeyEventHandler(this.WatchListView_KeyDown); + this.WatchListView.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.WatchListView_MouseDoubleClick); // - // Address + // AddressColumn // - this.Address.Text = "Address"; - this.Address.Width = 65; + this.AddressColumn.Text = "Address"; + this.AddressColumn.Width = 61; // - // Value + // ValueColumn // - this.Value.Text = "Value"; - this.Value.Width = 48; + this.ValueColumn.Text = "Value"; + this.ValueColumn.Width = 48; // - // Previous + // PreviousColumn // - this.Previous.Text = "Prev"; - this.Previous.Width = 48; + this.PreviousColumn.Text = "Prev"; + this.PreviousColumn.Width = 48; // - // Changes + // ChangesColumn // - this.Changes.Text = "Changes"; - this.Changes.Width = 55; + this.ChangesColumn.Text = "Changes"; + this.ChangesColumn.Width = 55; + // + // DiffColumn + // + this.DiffColumn.Text = "Diff"; // // contextMenuStrip1 // this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.startNewSearchToolStripMenuItem, - this.searchToolStripMenuItem2, - this.toolStripSeparator9, - this.removeSelectedToolStripMenuItem1, - this.addToRamWatchToolStripMenuItem, - this.freezeAddressToolStripMenuItem1, - this.pokeAddressToolStripMenuItem1, - this.unfreezeAllToolStripMenuItem, - this.toolStripSeparator12, - this.viewInHexEditorToolStripMenuItem, - this.toolStripSeparator14, - this.clearPreviewToolStripMenuItem}); + this.DoSearchContextMenuItem, + this.NewSearchContextMenuItem, + this.ContextMenuSeparator1, + this.RemoveContextMenuItem, + this.AddToRamWatchContextMenuItem, + this.PokeContextMenuItem, + this.FreezeContextMenuItem, + this.UnfreezeAllContextMenuItem, + this.ContextMenuSeparator2, + this.ViewInHexEditorContextMenuItem, + this.ContextMenuSeparator3, + this.ClearPreviewContextMenuItem}); this.contextMenuStrip1.Name = "contextMenuStrip1"; this.contextMenuStrip1.Size = new System.Drawing.Size(216, 220); this.contextMenuStrip1.Opening += new System.ComponentModel.CancelEventHandler(this.contextMenuStrip1_Opening); // - // startNewSearchToolStripMenuItem + // DoSearchContextMenuItem // - this.startNewSearchToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.restart; - this.startNewSearchToolStripMenuItem.Name = "startNewSearchToolStripMenuItem"; - this.startNewSearchToolStripMenuItem.Size = new System.Drawing.Size(215, 22); - this.startNewSearchToolStripMenuItem.Text = "&Start New Search"; - this.startNewSearchToolStripMenuItem.Click += new System.EventHandler(this.startNewSearchToolStripMenuItem_Click); + this.DoSearchContextMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.search; + this.DoSearchContextMenuItem.Name = "DoSearchContextMenuItem"; + this.DoSearchContextMenuItem.Size = new System.Drawing.Size(215, 22); + this.DoSearchContextMenuItem.Text = "&Search"; + this.DoSearchContextMenuItem.Click += new System.EventHandler(this.SearchMenuItem_Click); // - // searchToolStripMenuItem2 + // NewSearchContextMenuItem // - this.searchToolStripMenuItem2.Image = global::BizHawk.MultiClient.Properties.Resources.search; - this.searchToolStripMenuItem2.Name = "searchToolStripMenuItem2"; - this.searchToolStripMenuItem2.Size = new System.Drawing.Size(215, 22); - this.searchToolStripMenuItem2.Text = "&Search"; - this.searchToolStripMenuItem2.Click += new System.EventHandler(this.searchToolStripMenuItem2_Click); + this.NewSearchContextMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.restart; + this.NewSearchContextMenuItem.Name = "NewSearchContextMenuItem"; + this.NewSearchContextMenuItem.Size = new System.Drawing.Size(215, 22); + this.NewSearchContextMenuItem.Text = "&Start New Search"; + this.NewSearchContextMenuItem.Click += new System.EventHandler(this.NewSearchMenuMenuItem_Click); // - // toolStripSeparator9 + // ContextMenuSeparator1 // - this.toolStripSeparator9.Name = "toolStripSeparator9"; - this.toolStripSeparator9.Size = new System.Drawing.Size(212, 6); + this.ContextMenuSeparator1.Name = "ContextMenuSeparator1"; + this.ContextMenuSeparator1.Size = new System.Drawing.Size(212, 6); // - // removeSelectedToolStripMenuItem1 + // RemoveContextMenuItem // - this.removeSelectedToolStripMenuItem1.Image = global::BizHawk.MultiClient.Properties.Resources.Delete; - this.removeSelectedToolStripMenuItem1.Name = "removeSelectedToolStripMenuItem1"; - this.removeSelectedToolStripMenuItem1.ShortcutKeyDisplayString = "Del"; - this.removeSelectedToolStripMenuItem1.Size = new System.Drawing.Size(215, 22); - this.removeSelectedToolStripMenuItem1.Text = "Remove Selected"; - this.removeSelectedToolStripMenuItem1.Click += new System.EventHandler(this.removeSelectedToolStripMenuItem1_Click); + this.RemoveContextMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.Delete; + this.RemoveContextMenuItem.Name = "RemoveContextMenuItem"; + this.RemoveContextMenuItem.ShortcutKeyDisplayString = "Del"; + this.RemoveContextMenuItem.Size = new System.Drawing.Size(215, 22); + this.RemoveContextMenuItem.Text = "Remove Selected"; + this.RemoveContextMenuItem.Click += new System.EventHandler(this.RemoveMenuItem_Click); // - // addToRamWatchToolStripMenuItem + // AddToRamWatchContextMenuItem // - this.addToRamWatchToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.FindHS; - this.addToRamWatchToolStripMenuItem.Name = "addToRamWatchToolStripMenuItem"; - this.addToRamWatchToolStripMenuItem.ShortcutKeyDisplayString = "Ctrl+R"; - this.addToRamWatchToolStripMenuItem.Size = new System.Drawing.Size(215, 22); - this.addToRamWatchToolStripMenuItem.Text = "Add to Ram Watch"; - this.addToRamWatchToolStripMenuItem.Click += new System.EventHandler(this.addToRamWatchToolStripMenuItem_Click); + this.AddToRamWatchContextMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.FindHS; + this.AddToRamWatchContextMenuItem.Name = "AddToRamWatchContextMenuItem"; + this.AddToRamWatchContextMenuItem.ShortcutKeyDisplayString = "Ctrl+R"; + this.AddToRamWatchContextMenuItem.Size = new System.Drawing.Size(215, 22); + this.AddToRamWatchContextMenuItem.Text = "Add to Ram Watch"; + this.AddToRamWatchContextMenuItem.Click += new System.EventHandler(this.AddToRamWatchMenuItem_Click); // - // freezeAddressToolStripMenuItem1 + // PokeContextMenuItem // - this.freezeAddressToolStripMenuItem1.Image = global::BizHawk.MultiClient.Properties.Resources.Freeze; - this.freezeAddressToolStripMenuItem1.Name = "freezeAddressToolStripMenuItem1"; - this.freezeAddressToolStripMenuItem1.ShortcutKeyDisplayString = "Ctrl+F"; - this.freezeAddressToolStripMenuItem1.Size = new System.Drawing.Size(215, 22); - this.freezeAddressToolStripMenuItem1.Text = "Freeze Address"; - this.freezeAddressToolStripMenuItem1.Click += new System.EventHandler(this.freezeAddressToolStripMenuItem1_Click); + this.PokeContextMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.poke; + this.PokeContextMenuItem.Name = "PokeContextMenuItem"; + this.PokeContextMenuItem.ShortcutKeyDisplayString = "Ctrl+P"; + this.PokeContextMenuItem.Size = new System.Drawing.Size(215, 22); + this.PokeContextMenuItem.Text = "Poke Address"; + this.PokeContextMenuItem.Click += new System.EventHandler(this.PokeAddressMenuItem_Click); // - // pokeAddressToolStripMenuItem1 + // FreezeContextMenuItem // - this.pokeAddressToolStripMenuItem1.Image = global::BizHawk.MultiClient.Properties.Resources.poke; - this.pokeAddressToolStripMenuItem1.Name = "pokeAddressToolStripMenuItem1"; - this.pokeAddressToolStripMenuItem1.ShortcutKeyDisplayString = "Ctrl+P"; - this.pokeAddressToolStripMenuItem1.Size = new System.Drawing.Size(215, 22); - this.pokeAddressToolStripMenuItem1.Text = "Poke Address"; - this.pokeAddressToolStripMenuItem1.Click += new System.EventHandler(this.pokeAddressToolStripMenuItem1_Click); + this.FreezeContextMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.Freeze; + this.FreezeContextMenuItem.Name = "FreezeContextMenuItem"; + this.FreezeContextMenuItem.ShortcutKeyDisplayString = "Ctrl+F"; + this.FreezeContextMenuItem.Size = new System.Drawing.Size(215, 22); + this.FreezeContextMenuItem.Text = "Freeze Address"; + this.FreezeContextMenuItem.Click += new System.EventHandler(this.FreezeAddressMenuItem_Click); // - // unfreezeAllToolStripMenuItem + // UnfreezeAllContextMenuItem // - this.unfreezeAllToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.Unfreeze; - this.unfreezeAllToolStripMenuItem.Name = "unfreezeAllToolStripMenuItem"; - this.unfreezeAllToolStripMenuItem.Size = new System.Drawing.Size(215, 22); - this.unfreezeAllToolStripMenuItem.Text = "Unfreeze &All"; - this.unfreezeAllToolStripMenuItem.Click += new System.EventHandler(this.unfreezeAllToolStripMenuItem_Click); + this.UnfreezeAllContextMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.Unfreeze; + this.UnfreezeAllContextMenuItem.Name = "UnfreezeAllContextMenuItem"; + this.UnfreezeAllContextMenuItem.Size = new System.Drawing.Size(215, 22); + this.UnfreezeAllContextMenuItem.Text = "Unfreeze &All"; + this.UnfreezeAllContextMenuItem.Click += new System.EventHandler(this.UnfreezeAllContextMenuItem_Click); // - // toolStripSeparator12 + // ContextMenuSeparator2 // - this.toolStripSeparator12.Name = "toolStripSeparator12"; - this.toolStripSeparator12.Size = new System.Drawing.Size(212, 6); + this.ContextMenuSeparator2.Name = "ContextMenuSeparator2"; + this.ContextMenuSeparator2.Size = new System.Drawing.Size(212, 6); // - // viewInHexEditorToolStripMenuItem + // ViewInHexEditorContextMenuItem // - this.viewInHexEditorToolStripMenuItem.Name = "viewInHexEditorToolStripMenuItem"; - this.viewInHexEditorToolStripMenuItem.Size = new System.Drawing.Size(215, 22); - this.viewInHexEditorToolStripMenuItem.Text = "View in Hex Editor"; - this.viewInHexEditorToolStripMenuItem.Click += new System.EventHandler(this.viewInHexEditorToolStripMenuItem_Click); + this.ViewInHexEditorContextMenuItem.Name = "ViewInHexEditorContextMenuItem"; + this.ViewInHexEditorContextMenuItem.Size = new System.Drawing.Size(215, 22); + this.ViewInHexEditorContextMenuItem.Text = "View in Hex Editor"; + this.ViewInHexEditorContextMenuItem.Click += new System.EventHandler(this.ViewInHexEditorContextMenuItem_Click); // - // toolStripSeparator14 + // ContextMenuSeparator3 // - this.toolStripSeparator14.Name = "toolStripSeparator14"; - this.toolStripSeparator14.Size = new System.Drawing.Size(212, 6); + this.ContextMenuSeparator3.Name = "ContextMenuSeparator3"; + this.ContextMenuSeparator3.Size = new System.Drawing.Size(212, 6); // - // clearPreviewToolStripMenuItem + // ClearPreviewContextMenuItem // - this.clearPreviewToolStripMenuItem.Name = "clearPreviewToolStripMenuItem"; - this.clearPreviewToolStripMenuItem.Size = new System.Drawing.Size(215, 22); - this.clearPreviewToolStripMenuItem.Text = "&Clear Preview"; - this.clearPreviewToolStripMenuItem.Click += new System.EventHandler(this.clearPreviewToolStripMenuItem_Click); + this.ClearPreviewContextMenuItem.Name = "ClearPreviewContextMenuItem"; + this.ClearPreviewContextMenuItem.Size = new System.Drawing.Size(215, 22); + this.ClearPreviewContextMenuItem.Text = "&Clear Preview"; + this.ClearPreviewContextMenuItem.Click += new System.EventHandler(this.ClearPreviewContextMenuItem_Click); // // menuStrip1 // this.menuStrip1.ClickThrough = true; this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.fileToolStripMenuItem, + this.settingsToolStripMenuItem, this.searchToolStripMenuItem, - this.optionsToolStripMenuItem}); + this.optionsToolStripMenuItem, + this.ColumnsMenuItem}); this.menuStrip1.Location = new System.Drawing.Point(0, 0); this.menuStrip1.Name = "menuStrip1"; - this.menuStrip1.Size = new System.Drawing.Size(470, 24); + this.menuStrip1.Size = new System.Drawing.Size(438, 24); this.menuStrip1.TabIndex = 4; this.menuStrip1.Text = "menuStrip1"; // // fileToolStripMenuItem // this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.newSearchToolStripMenuItem, - this.toolStripSeparator1, - this.openToolStripMenuItem, - this.saveToolStripMenuItem, - this.saveAsToolStripMenuItem, - this.appendFileToolStripMenuItem, - this.TruncateFromFileToolStripMenuItem, - this.recentToolStripMenuItem, + this.OpenMenuItem, + this.SaveMenuItem, + this.SaveAsMenuItem, + this.AppendFileMenuItem, + this.TruncateFromFileMenuItem, + this.RecentSubMenu, this.toolStripSeparator4, this.exitToolStripMenuItem}); this.fileToolStripMenuItem.Name = "fileToolStripMenuItem"; this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20); this.fileToolStripMenuItem.Text = "&File"; + this.fileToolStripMenuItem.DropDownOpened += new System.EventHandler(this.FileSubMenu_DropDownOpened); // - // newSearchToolStripMenuItem + // OpenMenuItem // - this.newSearchToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.restart; - this.newSearchToolStripMenuItem.Name = "newSearchToolStripMenuItem"; - this.newSearchToolStripMenuItem.Size = new System.Drawing.Size(195, 22); - this.newSearchToolStripMenuItem.Text = "&New Search"; - this.newSearchToolStripMenuItem.Click += new System.EventHandler(this.newSearchToolStripMenuItem_Click); + this.OpenMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.OpenFile; + this.OpenMenuItem.Name = "OpenMenuItem"; + this.OpenMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.O))); + this.OpenMenuItem.Size = new System.Drawing.Size(195, 22); + this.OpenMenuItem.Text = "&Open..."; + this.OpenMenuItem.Click += new System.EventHandler(this.OpenMenuItem_Click); // - // toolStripSeparator1 + // SaveMenuItem // - this.toolStripSeparator1.Name = "toolStripSeparator1"; - this.toolStripSeparator1.Size = new System.Drawing.Size(192, 6); + this.SaveMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.SaveAs; + this.SaveMenuItem.Name = "SaveMenuItem"; + this.SaveMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.S))); + this.SaveMenuItem.Size = new System.Drawing.Size(195, 22); + this.SaveMenuItem.Text = "&Save"; + this.SaveMenuItem.Click += new System.EventHandler(this.SaveMenuItem_Click); // - // openToolStripMenuItem + // SaveAsMenuItem // - this.openToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.OpenFile; - this.openToolStripMenuItem.Name = "openToolStripMenuItem"; - this.openToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.O))); - this.openToolStripMenuItem.Size = new System.Drawing.Size(195, 22); - this.openToolStripMenuItem.Text = "&Open..."; - this.openToolStripMenuItem.Click += new System.EventHandler(this.openToolStripMenuItem_Click); - // - // saveToolStripMenuItem - // - this.saveToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.SaveAs; - this.saveToolStripMenuItem.Name = "saveToolStripMenuItem"; - this.saveToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.S))); - this.saveToolStripMenuItem.Size = new System.Drawing.Size(195, 22); - this.saveToolStripMenuItem.Text = "&Save"; - this.saveToolStripMenuItem.Click += new System.EventHandler(this.saveToolStripMenuItem_Click); - // - // saveAsToolStripMenuItem - // - this.saveAsToolStripMenuItem.Name = "saveAsToolStripMenuItem"; - this.saveAsToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift) + this.SaveAsMenuItem.Name = "SaveAsMenuItem"; + this.SaveAsMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift) | System.Windows.Forms.Keys.S))); - this.saveAsToolStripMenuItem.Size = new System.Drawing.Size(195, 22); - this.saveAsToolStripMenuItem.Text = "Save As..."; - this.saveAsToolStripMenuItem.Click += new System.EventHandler(this.saveAsToolStripMenuItem_Click); + this.SaveAsMenuItem.Size = new System.Drawing.Size(195, 22); + this.SaveAsMenuItem.Text = "Save As..."; + this.SaveAsMenuItem.Click += new System.EventHandler(this.SaveAsMenuItem_Click); // - // appendFileToolStripMenuItem + // AppendFileMenuItem // - this.appendFileToolStripMenuItem.Name = "appendFileToolStripMenuItem"; - this.appendFileToolStripMenuItem.Size = new System.Drawing.Size(195, 22); - this.appendFileToolStripMenuItem.Text = "&Append File..."; - this.appendFileToolStripMenuItem.Click += new System.EventHandler(this.appendFileToolStripMenuItem_Click); + this.AppendFileMenuItem.Name = "AppendFileMenuItem"; + this.AppendFileMenuItem.Size = new System.Drawing.Size(195, 22); + this.AppendFileMenuItem.Text = "&Append File..."; + this.AppendFileMenuItem.Click += new System.EventHandler(this.OpenMenuItem_Click); // - // TruncateFromFileToolStripMenuItem + // TruncateFromFileMenuItem // - this.TruncateFromFileToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.TruncateFromFile; - this.TruncateFromFileToolStripMenuItem.Name = "TruncateFromFileToolStripMenuItem"; - this.TruncateFromFileToolStripMenuItem.Size = new System.Drawing.Size(195, 22); - this.TruncateFromFileToolStripMenuItem.Text = "&Truncate from File..."; - this.TruncateFromFileToolStripMenuItem.Click += new System.EventHandler(this.TruncateFromFileToolStripMenuItem_Click); + this.TruncateFromFileMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.TruncateFromFile; + this.TruncateFromFileMenuItem.Name = "TruncateFromFileMenuItem"; + this.TruncateFromFileMenuItem.Size = new System.Drawing.Size(195, 22); + this.TruncateFromFileMenuItem.Text = "&Truncate from File..."; + this.TruncateFromFileMenuItem.Click += new System.EventHandler(this.OpenMenuItem_Click); // - // recentToolStripMenuItem + // RecentSubMenu // - this.recentToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.RecentSubMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.toolStripSeparator2}); - this.recentToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.Recent; - this.recentToolStripMenuItem.Name = "recentToolStripMenuItem"; - this.recentToolStripMenuItem.Size = new System.Drawing.Size(195, 22); - this.recentToolStripMenuItem.Text = "Recent"; - this.recentToolStripMenuItem.DropDownOpened += new System.EventHandler(this.recentToolStripMenuItem_DropDownOpened); + this.RecentSubMenu.Image = global::BizHawk.MultiClient.Properties.Resources.Recent; + this.RecentSubMenu.Name = "RecentSubMenu"; + this.RecentSubMenu.Size = new System.Drawing.Size(195, 22); + this.RecentSubMenu.Text = "Recent"; + this.RecentSubMenu.DropDownOpened += new System.EventHandler(this.RecentSubMenu_DropDownOpened); // // toolStripSeparator2 // @@ -554,722 +442,415 @@ this.exitToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Alt | System.Windows.Forms.Keys.F4))); this.exitToolStripMenuItem.Size = new System.Drawing.Size(195, 22); this.exitToolStripMenuItem.Text = "&Close"; - this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click); + this.exitToolStripMenuItem.Click += new System.EventHandler(this.CloseMenuItem_Click); + // + // settingsToolStripMenuItem + // + this.settingsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.modeToolStripMenuItem, + this.MemoryDomainsSubMenu, + this.sizeToolStripMenuItem, + this.CheckMisalignedMenuItem, + this.toolStripSeparator8, + this.DisplayTypeSubMenu, + this.DefinePreviousValueSubMenu, + this.BigEndianMenuItem}); + this.settingsToolStripMenuItem.Name = "settingsToolStripMenuItem"; + this.settingsToolStripMenuItem.Size = new System.Drawing.Size(61, 20); + this.settingsToolStripMenuItem.Text = "&Settings"; + this.settingsToolStripMenuItem.DropDownOpened += new System.EventHandler(this.SettingsSubMenu_DropDownOpened); + // + // modeToolStripMenuItem + // + this.modeToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.DetailedMenuItem, + this.FastMenuItem}); + this.modeToolStripMenuItem.Name = "modeToolStripMenuItem"; + this.modeToolStripMenuItem.Size = new System.Drawing.Size(188, 22); + this.modeToolStripMenuItem.Text = "&Mode"; + this.modeToolStripMenuItem.DropDownOpened += new System.EventHandler(this.ModeSubMenu_DropDownOpened); + // + // DetailedMenuItem + // + this.DetailedMenuItem.Name = "DetailedMenuItem"; + this.DetailedMenuItem.Size = new System.Drawing.Size(117, 22); + this.DetailedMenuItem.Text = "&Detailed"; + this.DetailedMenuItem.Click += new System.EventHandler(this.DetailedMenuItem_Click); + // + // FastMenuItem + // + this.FastMenuItem.Name = "FastMenuItem"; + this.FastMenuItem.Size = new System.Drawing.Size(117, 22); + this.FastMenuItem.Text = "&Fast"; + this.FastMenuItem.Click += new System.EventHandler(this.FastMenuItem_Click); + // + // MemoryDomainsSubMenu + // + this.MemoryDomainsSubMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.toolStripSeparator6}); + this.MemoryDomainsSubMenu.Name = "MemoryDomainsSubMenu"; + this.MemoryDomainsSubMenu.Size = new System.Drawing.Size(188, 22); + this.MemoryDomainsSubMenu.Text = "&Memory Domains"; + this.MemoryDomainsSubMenu.DropDownOpened += new System.EventHandler(this.MemoryDomainsSubMenu_DropDownOpened); + // + // toolStripSeparator6 + // + this.toolStripSeparator6.Name = "toolStripSeparator6"; + this.toolStripSeparator6.Size = new System.Drawing.Size(57, 6); + // + // sizeToolStripMenuItem + // + this.sizeToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this._1ByteMenuItem, + this._2ByteMenuItem, + this._4ByteMenuItem}); + this.sizeToolStripMenuItem.Name = "sizeToolStripMenuItem"; + this.sizeToolStripMenuItem.Size = new System.Drawing.Size(188, 22); + this.sizeToolStripMenuItem.Text = "&Size"; + this.sizeToolStripMenuItem.DropDownOpened += new System.EventHandler(this.SizeSubMenu_DropDownOpened); + // + // _1ByteMenuItem + // + this._1ByteMenuItem.Name = "_1ByteMenuItem"; + this._1ByteMenuItem.Size = new System.Drawing.Size(106, 22); + this._1ByteMenuItem.Text = "&1 Byte"; + this._1ByteMenuItem.Click += new System.EventHandler(this._1ByteMenuItem_Click); + // + // _2ByteMenuItem + // + this._2ByteMenuItem.Name = "_2ByteMenuItem"; + this._2ByteMenuItem.Size = new System.Drawing.Size(106, 22); + this._2ByteMenuItem.Text = "&2 Byte"; + this._2ByteMenuItem.Click += new System.EventHandler(this._2ByteMenuItem_Click); + // + // _4ByteMenuItem + // + this._4ByteMenuItem.Name = "_4ByteMenuItem"; + this._4ByteMenuItem.Size = new System.Drawing.Size(106, 22); + this._4ByteMenuItem.Text = "&4 Byte"; + this._4ByteMenuItem.Click += new System.EventHandler(this._4ByteMenuItem_Click); + // + // CheckMisalignedMenuItem + // + this.CheckMisalignedMenuItem.Name = "CheckMisalignedMenuItem"; + this.CheckMisalignedMenuItem.Size = new System.Drawing.Size(188, 22); + this.CheckMisalignedMenuItem.Text = "Check Mis-aligned"; + this.CheckMisalignedMenuItem.Click += new System.EventHandler(this.CheckMisalignedMenuItem_Click); + // + // toolStripSeparator8 + // + this.toolStripSeparator8.Name = "toolStripSeparator8"; + this.toolStripSeparator8.Size = new System.Drawing.Size(185, 6); + // + // DisplayTypeSubMenu + // + this.DisplayTypeSubMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.toolStripSeparator1}); + this.DisplayTypeSubMenu.Name = "DisplayTypeSubMenu"; + this.DisplayTypeSubMenu.Size = new System.Drawing.Size(188, 22); + this.DisplayTypeSubMenu.Text = "&Display Type"; + this.DisplayTypeSubMenu.DropDownOpened += new System.EventHandler(this.DisplayTypeSubMenu_DropDownOpened); + // + // toolStripSeparator1 + // + this.toolStripSeparator1.Name = "toolStripSeparator1"; + this.toolStripSeparator1.Size = new System.Drawing.Size(57, 6); + // + // DefinePreviousValueSubMenu + // + this.DefinePreviousValueSubMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.PreviousFrameMenuItem, + this.Previous_LastSearchMenuItem, + this.Previous_LastChangeMenuItem, + this.Previous_OriginalMenuItem}); + this.DefinePreviousValueSubMenu.Name = "DefinePreviousValueSubMenu"; + this.DefinePreviousValueSubMenu.Size = new System.Drawing.Size(188, 22); + this.DefinePreviousValueSubMenu.Text = "Define Previous Value"; + this.DefinePreviousValueSubMenu.DropDownOpened += new System.EventHandler(this.DefinePreviousValueSubMenu_DropDownOpened); + // + // PreviousFrameMenuItem + // + this.PreviousFrameMenuItem.Name = "PreviousFrameMenuItem"; + this.PreviousFrameMenuItem.Size = new System.Drawing.Size(155, 22); + this.PreviousFrameMenuItem.Text = "&Previous Frame"; + this.PreviousFrameMenuItem.Click += new System.EventHandler(this.Previous_LastFrameMenuItem_Click); + // + // Previous_LastSearchMenuItem + // + this.Previous_LastSearchMenuItem.Name = "Previous_LastSearchMenuItem"; + this.Previous_LastSearchMenuItem.Size = new System.Drawing.Size(155, 22); + this.Previous_LastSearchMenuItem.Text = "Last &Search"; + this.Previous_LastSearchMenuItem.Click += new System.EventHandler(this.Previous_LastSearchMenuItem_Click); + // + // Previous_LastChangeMenuItem + // + this.Previous_LastChangeMenuItem.Name = "Previous_LastChangeMenuItem"; + this.Previous_LastChangeMenuItem.Size = new System.Drawing.Size(155, 22); + this.Previous_LastChangeMenuItem.Text = "Last &Change"; + this.Previous_LastChangeMenuItem.Click += new System.EventHandler(this.Previous_LastChangeMenuItem_Click); + // + // Previous_OriginalMenuItem + // + this.Previous_OriginalMenuItem.Name = "Previous_OriginalMenuItem"; + this.Previous_OriginalMenuItem.Size = new System.Drawing.Size(155, 22); + this.Previous_OriginalMenuItem.Text = "&Original"; + this.Previous_OriginalMenuItem.Click += new System.EventHandler(this.Previous_OriginalMenuItem_Click); + // + // BigEndianMenuItem + // + this.BigEndianMenuItem.Name = "BigEndianMenuItem"; + this.BigEndianMenuItem.Size = new System.Drawing.Size(188, 22); + this.BigEndianMenuItem.Text = "&Big Endian"; + this.BigEndianMenuItem.Click += new System.EventHandler(this.BigEndianMenuItem_Click); // // searchToolStripMenuItem // this.searchToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.memoryDomainsToolStripMenuItem, - this.searchToolStripMenuItem1, - this.undoToolStripMenuItem, - this.redoToolStripMenuItem, - this.copyValueToPrevToolStripMenuItem, - this.clearChangeCountsToolStripMenuItem, - this.removeSelectedToolStripMenuItem, - this.excludeRamWatchListToolStripMenuItem, + this.newSearchToolStripMenuItem, + this.toolStripSeparator7, + SearchMenuItem, + this.UndoMenuItem, + this.RedoMenuItem, + this.CopyValueToPrevMenuItem, + this.ClearChangeCountsMenuItem, + this.RemoveMenuItem, this.toolStripSeparator5, - this.addSelectedToRamWatchToolStripMenuItem, - this.pokeAddressToolStripMenuItem, - this.freezeAddressToolStripMenuItem, + this.AddToRamWatchMenuItem, + this.PokeAddressMenuItem, + this.FreezeAddressMenuItem, this.toolStripSeparator13, - this.clearUndoHistoryToolStripMenuItem}); + this.ClearUndoMenuItem}); this.searchToolStripMenuItem.Name = "searchToolStripMenuItem"; this.searchToolStripMenuItem.Size = new System.Drawing.Size(54, 20); this.searchToolStripMenuItem.Text = "&Search"; - this.searchToolStripMenuItem.DropDownOpened += new System.EventHandler(this.searchToolStripMenuItem_DropDownOpened); + this.searchToolStripMenuItem.DropDownOpened += new System.EventHandler(this.SearchSubMenu_DropDownOpened); // - // memoryDomainsToolStripMenuItem + // newSearchToolStripMenuItem // - this.memoryDomainsToolStripMenuItem.Name = "memoryDomainsToolStripMenuItem"; - this.memoryDomainsToolStripMenuItem.Size = new System.Drawing.Size(215, 22); - this.memoryDomainsToolStripMenuItem.Text = "&Memory Domains"; - this.memoryDomainsToolStripMenuItem.DropDownOpened += new System.EventHandler(this.memoryDomainsToolStripMenuItem_DropDownOpened); + this.newSearchToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.restart; + this.newSearchToolStripMenuItem.Name = "newSearchToolStripMenuItem"; + this.newSearchToolStripMenuItem.Size = new System.Drawing.Size(215, 22); + this.newSearchToolStripMenuItem.Text = "&New Search"; + this.newSearchToolStripMenuItem.Click += new System.EventHandler(this.NewSearchMenuMenuItem_Click); // - // searchToolStripMenuItem1 + // toolStripSeparator7 // - this.searchToolStripMenuItem1.Image = global::BizHawk.MultiClient.Properties.Resources.search; - this.searchToolStripMenuItem1.Name = "searchToolStripMenuItem1"; - this.searchToolStripMenuItem1.Size = new System.Drawing.Size(215, 22); - this.searchToolStripMenuItem1.Text = "&Search"; - this.searchToolStripMenuItem1.Click += new System.EventHandler(this.searchToolStripMenuItem1_Click); + this.toolStripSeparator7.Name = "toolStripSeparator7"; + this.toolStripSeparator7.Size = new System.Drawing.Size(212, 6); // - // undoToolStripMenuItem + // UndoMenuItem // - this.undoToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.undo; - this.undoToolStripMenuItem.Name = "undoToolStripMenuItem"; - this.undoToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Z))); - this.undoToolStripMenuItem.Size = new System.Drawing.Size(215, 22); - this.undoToolStripMenuItem.Text = "&Undo"; - this.undoToolStripMenuItem.Click += new System.EventHandler(this.undoToolStripMenuItem_Click_1); + this.UndoMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.undo; + this.UndoMenuItem.Name = "UndoMenuItem"; + this.UndoMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Z))); + this.UndoMenuItem.Size = new System.Drawing.Size(215, 22); + this.UndoMenuItem.Text = "&Undo"; + this.UndoMenuItem.Click += new System.EventHandler(this.UndoMenuItem_Click); // - // redoToolStripMenuItem + // RedoMenuItem // - this.redoToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.redo; - this.redoToolStripMenuItem.Name = "redoToolStripMenuItem"; - this.redoToolStripMenuItem.ShortcutKeyDisplayString = ""; - this.redoToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Y))); - this.redoToolStripMenuItem.Size = new System.Drawing.Size(215, 22); - this.redoToolStripMenuItem.Text = "&Redo"; - this.redoToolStripMenuItem.Click += new System.EventHandler(this.redoToolStripMenuItem_Click); + this.RedoMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.redo; + this.RedoMenuItem.Name = "RedoMenuItem"; + this.RedoMenuItem.ShortcutKeyDisplayString = ""; + this.RedoMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Y))); + this.RedoMenuItem.Size = new System.Drawing.Size(215, 22); + this.RedoMenuItem.Text = "&Redo"; + this.RedoMenuItem.Click += new System.EventHandler(this.RedoMenuItem_Click); // - // copyValueToPrevToolStripMenuItem + // CopyValueToPrevMenuItem // - this.copyValueToPrevToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.Previous; - this.copyValueToPrevToolStripMenuItem.Name = "copyValueToPrevToolStripMenuItem"; - this.copyValueToPrevToolStripMenuItem.Size = new System.Drawing.Size(215, 22); - this.copyValueToPrevToolStripMenuItem.Text = "Copy Value to Prev"; - this.copyValueToPrevToolStripMenuItem.Click += new System.EventHandler(this.copyValueToPrevToolStripMenuItem_Click); + this.CopyValueToPrevMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.Previous; + this.CopyValueToPrevMenuItem.Name = "CopyValueToPrevMenuItem"; + this.CopyValueToPrevMenuItem.Size = new System.Drawing.Size(215, 22); + this.CopyValueToPrevMenuItem.Text = "Copy Value to Prev"; + this.CopyValueToPrevMenuItem.Click += new System.EventHandler(this.CopyValueToPrevMenuItem_Click); // - // clearChangeCountsToolStripMenuItem + // ClearChangeCountsMenuItem // - this.clearChangeCountsToolStripMenuItem.Name = "clearChangeCountsToolStripMenuItem"; - this.clearChangeCountsToolStripMenuItem.Size = new System.Drawing.Size(215, 22); - this.clearChangeCountsToolStripMenuItem.Text = "&Clear Change Counts"; - this.clearChangeCountsToolStripMenuItem.Click += new System.EventHandler(this.clearChangeCountsToolStripMenuItem_Click); + this.ClearChangeCountsMenuItem.Name = "ClearChangeCountsMenuItem"; + this.ClearChangeCountsMenuItem.Size = new System.Drawing.Size(215, 22); + this.ClearChangeCountsMenuItem.Text = "&Clear Change Counts"; + this.ClearChangeCountsMenuItem.Click += new System.EventHandler(this.ClearChangeCountsMenuItem_Click); // - // removeSelectedToolStripMenuItem + // RemoveMenuItem // - this.removeSelectedToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.Delete; - this.removeSelectedToolStripMenuItem.Name = "removeSelectedToolStripMenuItem"; - this.removeSelectedToolStripMenuItem.ShortcutKeyDisplayString = "Delete"; - this.removeSelectedToolStripMenuItem.Size = new System.Drawing.Size(215, 22); - this.removeSelectedToolStripMenuItem.Text = "&Remove selected"; - this.removeSelectedToolStripMenuItem.Click += new System.EventHandler(this.removeSelectedToolStripMenuItem_Click); - // - // excludeRamWatchListToolStripMenuItem - // - this.excludeRamWatchListToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.TruncateFromRW; - this.excludeRamWatchListToolStripMenuItem.Name = "excludeRamWatchListToolStripMenuItem"; - this.excludeRamWatchListToolStripMenuItem.Size = new System.Drawing.Size(215, 22); - this.excludeRamWatchListToolStripMenuItem.Text = "Exclude Ram Watch List"; - this.excludeRamWatchListToolStripMenuItem.Click += new System.EventHandler(this.excludeRamWatchListToolStripMenuItem_Click); + this.RemoveMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.Delete; + this.RemoveMenuItem.Name = "RemoveMenuItem"; + this.RemoveMenuItem.ShortcutKeyDisplayString = "Delete"; + this.RemoveMenuItem.Size = new System.Drawing.Size(215, 22); + this.RemoveMenuItem.Text = "&Remove selected"; + this.RemoveMenuItem.Click += new System.EventHandler(this.RemoveMenuItem_Click); // // toolStripSeparator5 // this.toolStripSeparator5.Name = "toolStripSeparator5"; this.toolStripSeparator5.Size = new System.Drawing.Size(212, 6); // - // addSelectedToRamWatchToolStripMenuItem + // AddToRamWatchMenuItem // - this.addSelectedToRamWatchToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.FindHS; - this.addSelectedToRamWatchToolStripMenuItem.Name = "addSelectedToRamWatchToolStripMenuItem"; - this.addSelectedToRamWatchToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.R))); - this.addSelectedToRamWatchToolStripMenuItem.Size = new System.Drawing.Size(215, 22); - this.addSelectedToRamWatchToolStripMenuItem.Text = "&Add to Ram Watch"; - this.addSelectedToRamWatchToolStripMenuItem.Click += new System.EventHandler(this.addSelectedToRamWatchToolStripMenuItem_Click); + this.AddToRamWatchMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.FindHS; + this.AddToRamWatchMenuItem.Name = "AddToRamWatchMenuItem"; + this.AddToRamWatchMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.R))); + this.AddToRamWatchMenuItem.Size = new System.Drawing.Size(215, 22); + this.AddToRamWatchMenuItem.Text = "&Add to Ram Watch"; + this.AddToRamWatchMenuItem.Click += new System.EventHandler(this.AddToRamWatchMenuItem_Click); // - // pokeAddressToolStripMenuItem + // PokeAddressMenuItem // - this.pokeAddressToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.poke; - this.pokeAddressToolStripMenuItem.Name = "pokeAddressToolStripMenuItem"; - this.pokeAddressToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.P))); - this.pokeAddressToolStripMenuItem.Size = new System.Drawing.Size(215, 22); - this.pokeAddressToolStripMenuItem.Text = "&Poke Address"; - this.pokeAddressToolStripMenuItem.Click += new System.EventHandler(this.pokeAddressToolStripMenuItem_Click); + this.PokeAddressMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.poke; + this.PokeAddressMenuItem.Name = "PokeAddressMenuItem"; + this.PokeAddressMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.P))); + this.PokeAddressMenuItem.Size = new System.Drawing.Size(215, 22); + this.PokeAddressMenuItem.Text = "&Poke Address"; + this.PokeAddressMenuItem.Click += new System.EventHandler(this.PokeAddressMenuItem_Click); // - // freezeAddressToolStripMenuItem + // FreezeAddressMenuItem // - this.freezeAddressToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.Freeze; - this.freezeAddressToolStripMenuItem.Name = "freezeAddressToolStripMenuItem"; - this.freezeAddressToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.F))); - this.freezeAddressToolStripMenuItem.Size = new System.Drawing.Size(215, 22); - this.freezeAddressToolStripMenuItem.Text = "Freeze Address"; - this.freezeAddressToolStripMenuItem.Click += new System.EventHandler(this.freezeAddressToolStripMenuItem_Click); + this.FreezeAddressMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.Freeze; + this.FreezeAddressMenuItem.Name = "FreezeAddressMenuItem"; + this.FreezeAddressMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.F))); + this.FreezeAddressMenuItem.Size = new System.Drawing.Size(215, 22); + this.FreezeAddressMenuItem.Text = "Freeze Address"; + this.FreezeAddressMenuItem.Click += new System.EventHandler(this.FreezeAddressMenuItem_Click); // // toolStripSeparator13 // this.toolStripSeparator13.Name = "toolStripSeparator13"; this.toolStripSeparator13.Size = new System.Drawing.Size(212, 6); // - // clearUndoHistoryToolStripMenuItem + // ClearUndoMenuItem // - this.clearUndoHistoryToolStripMenuItem.Name = "clearUndoHistoryToolStripMenuItem"; - this.clearUndoHistoryToolStripMenuItem.Size = new System.Drawing.Size(215, 22); - this.clearUndoHistoryToolStripMenuItem.Text = "Clear Undo History"; - this.clearUndoHistoryToolStripMenuItem.Click += new System.EventHandler(this.clearUndoHistoryToolStripMenuItem_Click); + this.ClearUndoMenuItem.Name = "ClearUndoMenuItem"; + this.ClearUndoMenuItem.Size = new System.Drawing.Size(215, 22); + this.ClearUndoMenuItem.Text = "Clear Undo History"; + this.ClearUndoMenuItem.Click += new System.EventHandler(this.ClearUndoMenuItem_Click); // // optionsToolStripMenuItem // this.optionsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.definePreviousValueToolStripMenuItem, - this.fastModeToolStripMenuItem, - this.previewModeToolStripMenuItem, - this.alwaysExcludeRamSearchListToolStripMenuItem, - this.autoloadDialogToolStripMenuItem, - this.saveWindowPositionToolStripMenuItem, + this.PreviewModeMenuItem, + this.AutoSearchMenuItem, + this.toolStripSeparator9, + this.ExcludeRamWatchMenuItem, + this.UseUndoHistoryMenuItem, this.toolStripSeparator11, - this.alwaysOnTopToolStripMenuItem, - this.restoreOriginalWindowSizeToolStripMenuItem, - this.useUndoHistoryToolStripMenuItem}); + this.AutoloadDialogMenuItem, + this.SaveWinPositionMenuItem, + this.AlwaysOnTopMenuItem, + this.toolStripSeparator3, + this.RestoreDefaultsMenuItem}); this.optionsToolStripMenuItem.Name = "optionsToolStripMenuItem"; this.optionsToolStripMenuItem.Size = new System.Drawing.Size(61, 20); this.optionsToolStripMenuItem.Text = "&Options"; - this.optionsToolStripMenuItem.DropDownOpened += new System.EventHandler(this.optionsToolStripMenuItem_DropDownOpened); + this.optionsToolStripMenuItem.DropDownOpened += new System.EventHandler(this.OptionsSubMenu_DropDownOpened); // - // definePreviousValueToolStripMenuItem + // PreviewModeMenuItem // - this.definePreviousValueToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.sinceLastSearchToolStripMenuItem, - this.originalValueToolStripMenuItem, - this.sinceLastFrameToolStripMenuItem, - this.sinceLastChangeToolStripMenuItem}); - this.definePreviousValueToolStripMenuItem.Name = "definePreviousValueToolStripMenuItem"; - this.definePreviousValueToolStripMenuItem.Size = new System.Drawing.Size(240, 22); - this.definePreviousValueToolStripMenuItem.Text = "Define Previous Value As"; - this.definePreviousValueToolStripMenuItem.DropDownOpened += new System.EventHandler(this.definePreviousValueToolStripMenuItem_DropDownOpened); + this.PreviewModeMenuItem.Name = "PreviewModeMenuItem"; + this.PreviewModeMenuItem.Size = new System.Drawing.Size(240, 22); + this.PreviewModeMenuItem.Text = "Preview Mode"; + this.PreviewModeMenuItem.Click += new System.EventHandler(this.PreviewModeMenuItem_Click); // - // sinceLastSearchToolStripMenuItem + // AutoSearchMenuItem // - this.sinceLastSearchToolStripMenuItem.Name = "sinceLastSearchToolStripMenuItem"; - this.sinceLastSearchToolStripMenuItem.Size = new System.Drawing.Size(167, 22); - this.sinceLastSearchToolStripMenuItem.Text = "Since last Search"; - this.sinceLastSearchToolStripMenuItem.Click += new System.EventHandler(this.sinceLastSearchToolStripMenuItem_Click); + this.AutoSearchMenuItem.Name = "AutoSearchMenuItem"; + this.AutoSearchMenuItem.Size = new System.Drawing.Size(240, 22); + this.AutoSearchMenuItem.Text = "Auto-Search"; + this.AutoSearchMenuItem.Click += new System.EventHandler(this.AutoSearchMenuItem_Click); // - // originalValueToolStripMenuItem + // toolStripSeparator9 // - this.originalValueToolStripMenuItem.Name = "originalValueToolStripMenuItem"; - this.originalValueToolStripMenuItem.Size = new System.Drawing.Size(167, 22); - this.originalValueToolStripMenuItem.Text = "Original value"; - this.originalValueToolStripMenuItem.Click += new System.EventHandler(this.originalValueToolStripMenuItem_Click); + this.toolStripSeparator9.Name = "toolStripSeparator9"; + this.toolStripSeparator9.Size = new System.Drawing.Size(237, 6); // - // sinceLastFrameToolStripMenuItem + // ExcludeRamWatchMenuItem // - this.sinceLastFrameToolStripMenuItem.Name = "sinceLastFrameToolStripMenuItem"; - this.sinceLastFrameToolStripMenuItem.Size = new System.Drawing.Size(167, 22); - this.sinceLastFrameToolStripMenuItem.Text = "Since last Frame"; - this.sinceLastFrameToolStripMenuItem.Click += new System.EventHandler(this.sinceLastFrameToolStripMenuItem_Click); + this.ExcludeRamWatchMenuItem.Name = "ExcludeRamWatchMenuItem"; + this.ExcludeRamWatchMenuItem.Size = new System.Drawing.Size(240, 22); + this.ExcludeRamWatchMenuItem.Text = "Always Exclude Ram Search List"; + this.ExcludeRamWatchMenuItem.Click += new System.EventHandler(this.ExcludeRamWatchMenuItem_Click); // - // sinceLastChangeToolStripMenuItem + // UseUndoHistoryMenuItem // - this.sinceLastChangeToolStripMenuItem.Name = "sinceLastChangeToolStripMenuItem"; - this.sinceLastChangeToolStripMenuItem.Size = new System.Drawing.Size(167, 22); - this.sinceLastChangeToolStripMenuItem.Text = "Since last Change"; - this.sinceLastChangeToolStripMenuItem.Click += new System.EventHandler(this.sinceLastChangeToolStripMenuItem_Click); - // - // fastModeToolStripMenuItem - // - this.fastModeToolStripMenuItem.Name = "fastModeToolStripMenuItem"; - this.fastModeToolStripMenuItem.Size = new System.Drawing.Size(240, 22); - this.fastModeToolStripMenuItem.Text = "Fast Mode"; - this.fastModeToolStripMenuItem.Click += new System.EventHandler(this.fastModeToolStripMenuItem_Click); - // - // previewModeToolStripMenuItem - // - this.previewModeToolStripMenuItem.Name = "previewModeToolStripMenuItem"; - this.previewModeToolStripMenuItem.Size = new System.Drawing.Size(240, 22); - this.previewModeToolStripMenuItem.Text = "Preview Mode"; - this.previewModeToolStripMenuItem.Click += new System.EventHandler(this.previewModeToolStripMenuItem_Click); - // - // alwaysExcludeRamSearchListToolStripMenuItem - // - this.alwaysExcludeRamSearchListToolStripMenuItem.Name = "alwaysExcludeRamSearchListToolStripMenuItem"; - this.alwaysExcludeRamSearchListToolStripMenuItem.Size = new System.Drawing.Size(240, 22); - this.alwaysExcludeRamSearchListToolStripMenuItem.Text = "Always Exclude Ram Search List"; - this.alwaysExcludeRamSearchListToolStripMenuItem.Click += new System.EventHandler(this.alwaysExcludeRamSearchListToolStripMenuItem_Click); - // - // autoloadDialogToolStripMenuItem - // - this.autoloadDialogToolStripMenuItem.Name = "autoloadDialogToolStripMenuItem"; - this.autoloadDialogToolStripMenuItem.Size = new System.Drawing.Size(240, 22); - this.autoloadDialogToolStripMenuItem.Text = "Autoload Dialog"; - this.autoloadDialogToolStripMenuItem.Click += new System.EventHandler(this.autoloadDialogToolStripMenuItem_Click); - // - // saveWindowPositionToolStripMenuItem - // - this.saveWindowPositionToolStripMenuItem.Name = "saveWindowPositionToolStripMenuItem"; - this.saveWindowPositionToolStripMenuItem.Size = new System.Drawing.Size(240, 22); - this.saveWindowPositionToolStripMenuItem.Text = "Save Window Position"; - this.saveWindowPositionToolStripMenuItem.Click += new System.EventHandler(this.saveWindowPositionToolStripMenuItem_Click); + this.UseUndoHistoryMenuItem.Name = "UseUndoHistoryMenuItem"; + this.UseUndoHistoryMenuItem.Size = new System.Drawing.Size(240, 22); + this.UseUndoHistoryMenuItem.Text = "&Use Undo History"; + this.UseUndoHistoryMenuItem.Click += new System.EventHandler(this.UseUndoHistoryMenuItem_Click); // // toolStripSeparator11 // this.toolStripSeparator11.Name = "toolStripSeparator11"; this.toolStripSeparator11.Size = new System.Drawing.Size(237, 6); // - // alwaysOnTopToolStripMenuItem + // AutoloadDialogMenuItem // - this.alwaysOnTopToolStripMenuItem.Name = "alwaysOnTopToolStripMenuItem"; - this.alwaysOnTopToolStripMenuItem.Size = new System.Drawing.Size(240, 22); - this.alwaysOnTopToolStripMenuItem.Text = "Always On Top"; - this.alwaysOnTopToolStripMenuItem.Click += new System.EventHandler(this.alwaysOnTopToolStripMenuItem_Click); + this.AutoloadDialogMenuItem.Name = "AutoloadDialogMenuItem"; + this.AutoloadDialogMenuItem.Size = new System.Drawing.Size(240, 22); + this.AutoloadDialogMenuItem.Text = "Autoload"; + this.AutoloadDialogMenuItem.Click += new System.EventHandler(this.AutoloadDialogMenuItem_Click); // - // restoreOriginalWindowSizeToolStripMenuItem + // SaveWinPositionMenuItem // - this.restoreOriginalWindowSizeToolStripMenuItem.Name = "restoreOriginalWindowSizeToolStripMenuItem"; - this.restoreOriginalWindowSizeToolStripMenuItem.Size = new System.Drawing.Size(240, 22); - this.restoreOriginalWindowSizeToolStripMenuItem.Text = "Restore Window Size"; - this.restoreOriginalWindowSizeToolStripMenuItem.Click += new System.EventHandler(this.restoreOriginalWindowSizeToolStripMenuItem_Click); + this.SaveWinPositionMenuItem.Name = "SaveWinPositionMenuItem"; + this.SaveWinPositionMenuItem.Size = new System.Drawing.Size(240, 22); + this.SaveWinPositionMenuItem.Text = "Save Window Position"; + this.SaveWinPositionMenuItem.Click += new System.EventHandler(this.SaveWinPositionMenuItem_Click); // - // useUndoHistoryToolStripMenuItem + // AlwaysOnTopMenuItem // - this.useUndoHistoryToolStripMenuItem.Name = "useUndoHistoryToolStripMenuItem"; - this.useUndoHistoryToolStripMenuItem.Size = new System.Drawing.Size(240, 22); - this.useUndoHistoryToolStripMenuItem.Text = "&Use Undo History"; - this.useUndoHistoryToolStripMenuItem.Click += new System.EventHandler(this.useUndoHistoryToolStripMenuItem_Click); - // - // toolStrip1 - // - this.toolStrip1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.toolStrip1.ClickThrough = true; - this.toolStrip1.Dock = System.Windows.Forms.DockStyle.None; - this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.toolStripButton1, - this.toolStripSeparator7, - this.NewSearchtoolStripButton, - this.toolStripSeparator6, - this.SetCurrToPrevtoolStripButton2, - this.ClearChangeCountstoolStripButton, - this.toolStripSeparator10, - this.UndotoolStripButton, - this.RedotoolStripButton2}); - this.toolStrip1.Location = new System.Drawing.Point(248, 33); - this.toolStrip1.Name = "toolStrip1"; - this.toolStrip1.Size = new System.Drawing.Size(210, 25); - this.toolStrip1.TabIndex = 5; - this.toolStrip1.TabStop = true; - // - // toolStripButton1 - // - this.toolStripButton1.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton1.Image"))); - this.toolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta; - this.toolStripButton1.Name = "toolStripButton1"; - this.toolStripButton1.Size = new System.Drawing.Size(65, 22); - this.toolStripButton1.Text = "Search "; - this.toolStripButton1.Click += new System.EventHandler(this.toolStripButton1_Click); - // - // toolStripSeparator7 - // - this.toolStripSeparator7.Name = "toolStripSeparator7"; - this.toolStripSeparator7.Size = new System.Drawing.Size(6, 25); - // - // NewSearchtoolStripButton - // - this.NewSearchtoolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.NewSearchtoolStripButton.Image = global::BizHawk.MultiClient.Properties.Resources.restart; - this.NewSearchtoolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.NewSearchtoolStripButton.Name = "NewSearchtoolStripButton"; - this.NewSearchtoolStripButton.Size = new System.Drawing.Size(23, 22); - this.NewSearchtoolStripButton.Text = "New Search"; - this.NewSearchtoolStripButton.Click += new System.EventHandler(this.NewSearchtoolStripButton_Click); - // - // toolStripSeparator6 - // - this.toolStripSeparator6.Name = "toolStripSeparator6"; - this.toolStripSeparator6.Size = new System.Drawing.Size(6, 25); - // - // SetCurrToPrevtoolStripButton2 - // - this.SetCurrToPrevtoolStripButton2.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.SetCurrToPrevtoolStripButton2.Image = global::BizHawk.MultiClient.Properties.Resources.Previous; - this.SetCurrToPrevtoolStripButton2.ImageTransparentColor = System.Drawing.Color.Magenta; - this.SetCurrToPrevtoolStripButton2.Name = "SetCurrToPrevtoolStripButton2"; - this.SetCurrToPrevtoolStripButton2.Size = new System.Drawing.Size(23, 22); - this.SetCurrToPrevtoolStripButton2.Text = "Copy Value to Prev"; - this.SetCurrToPrevtoolStripButton2.Click += new System.EventHandler(this.SetCurrToPrevtoolStripButton2_Click); - // - // ClearChangeCountstoolStripButton - // - this.ClearChangeCountstoolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; - this.ClearChangeCountstoolStripButton.Image = ((System.Drawing.Image)(resources.GetObject("ClearChangeCountstoolStripButton.Image"))); - this.ClearChangeCountstoolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.ClearChangeCountstoolStripButton.Name = "ClearChangeCountstoolStripButton"; - this.ClearChangeCountstoolStripButton.Size = new System.Drawing.Size(23, 22); - this.ClearChangeCountstoolStripButton.Text = "C"; - this.ClearChangeCountstoolStripButton.ToolTipText = "Clear Change Counts"; - this.ClearChangeCountstoolStripButton.Click += new System.EventHandler(this.ClearChangeCountstoolStripButton_Click); - // - // toolStripSeparator10 - // - this.toolStripSeparator10.Name = "toolStripSeparator10"; - this.toolStripSeparator10.Size = new System.Drawing.Size(6, 25); - // - // UndotoolStripButton - // - this.UndotoolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.UndotoolStripButton.Image = global::BizHawk.MultiClient.Properties.Resources.undo; - this.UndotoolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.UndotoolStripButton.Name = "UndotoolStripButton"; - this.UndotoolStripButton.Size = new System.Drawing.Size(23, 22); - this.UndotoolStripButton.Text = "Undo Search"; - this.UndotoolStripButton.Click += new System.EventHandler(this.UndotoolStripButton_Click_1); - // - // RedotoolStripButton2 - // - this.RedotoolStripButton2.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.RedotoolStripButton2.Image = global::BizHawk.MultiClient.Properties.Resources.redo; - this.RedotoolStripButton2.ImageTransparentColor = System.Drawing.Color.Magenta; - this.RedotoolStripButton2.Name = "RedotoolStripButton2"; - this.RedotoolStripButton2.Size = new System.Drawing.Size(23, 22); - this.RedotoolStripButton2.Text = "Redo"; - this.RedotoolStripButton2.Click += new System.EventHandler(this.RedotoolStripButton2_Click); - // - // toolStrip2 - // - this.toolStrip2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.toolStrip2.ClickThrough = true; - this.toolStrip2.Dock = System.Windows.Forms.DockStyle.None; - this.toolStrip2.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.DataSizetoolStripSplitButton1, - this.DataTypetoolStripSplitButton1, - this.EndiantoolSplitButton}); - this.toolStrip2.Location = new System.Drawing.Point(240, 83); - this.toolStrip2.Name = "toolStrip2"; - this.toolStrip2.Size = new System.Drawing.Size(217, 25); - this.toolStrip2.TabIndex = 10; - this.toolStrip2.TabStop = true; - // - // DataSizetoolStripSplitButton1 - // - this.DataSizetoolStripSplitButton1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; - this.DataSizetoolStripSplitButton1.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.byteToolStripMenuItem, - this.bytesToolStripMenuItem, - this.dWordToolStripMenuItem1, - this.toolStripSeparator3, - this.includeMisalignedToolStripMenuItem}); - this.DataSizetoolStripSplitButton1.Image = ((System.Drawing.Image)(resources.GetObject("DataSizetoolStripSplitButton1.Image"))); - this.DataSizetoolStripSplitButton1.ImageTransparentColor = System.Drawing.Color.Magenta; - this.DataSizetoolStripSplitButton1.Name = "DataSizetoolStripSplitButton1"; - this.DataSizetoolStripSplitButton1.Size = new System.Drawing.Size(70, 22); - this.DataSizetoolStripSplitButton1.Text = "Data Size"; - // - // byteToolStripMenuItem - // - this.byteToolStripMenuItem.Checked = true; - this.byteToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked; - this.byteToolStripMenuItem.Name = "byteToolStripMenuItem"; - this.byteToolStripMenuItem.Size = new System.Drawing.Size(179, 22); - this.byteToolStripMenuItem.Text = "1 Byte"; - this.byteToolStripMenuItem.Click += new System.EventHandler(this.byteToolStripMenuItem_Click); - // - // bytesToolStripMenuItem - // - this.bytesToolStripMenuItem.Name = "bytesToolStripMenuItem"; - this.bytesToolStripMenuItem.Size = new System.Drawing.Size(179, 22); - this.bytesToolStripMenuItem.Text = "2 Bytes"; - this.bytesToolStripMenuItem.Click += new System.EventHandler(this.bytesToolStripMenuItem_Click); - // - // dWordToolStripMenuItem1 - // - this.dWordToolStripMenuItem1.Name = "dWordToolStripMenuItem1"; - this.dWordToolStripMenuItem1.Size = new System.Drawing.Size(179, 22); - this.dWordToolStripMenuItem1.Text = "4 Bytes"; - this.dWordToolStripMenuItem1.Click += new System.EventHandler(this.dWordToolStripMenuItem1_Click); + this.AlwaysOnTopMenuItem.Name = "AlwaysOnTopMenuItem"; + this.AlwaysOnTopMenuItem.Size = new System.Drawing.Size(240, 22); + this.AlwaysOnTopMenuItem.Text = "Always On Top"; + this.AlwaysOnTopMenuItem.Click += new System.EventHandler(this.AlwaysOnTopMenuItem_Click); // // toolStripSeparator3 // this.toolStripSeparator3.Name = "toolStripSeparator3"; - this.toolStripSeparator3.Size = new System.Drawing.Size(176, 6); + this.toolStripSeparator3.Size = new System.Drawing.Size(237, 6); // - // includeMisalignedToolStripMenuItem + // RestoreDefaultsMenuItem // - this.includeMisalignedToolStripMenuItem.Name = "includeMisalignedToolStripMenuItem"; - this.includeMisalignedToolStripMenuItem.Size = new System.Drawing.Size(179, 22); - this.includeMisalignedToolStripMenuItem.Text = "Include mis-aligned"; - this.includeMisalignedToolStripMenuItem.Click += new System.EventHandler(this.includeMisalignedToolStripMenuItem_Click_1); + this.RestoreDefaultsMenuItem.Name = "RestoreDefaultsMenuItem"; + this.RestoreDefaultsMenuItem.Size = new System.Drawing.Size(240, 22); + this.RestoreDefaultsMenuItem.Text = "Restore Default Settings"; + this.RestoreDefaultsMenuItem.Click += new System.EventHandler(this.RestoreDefaultsMenuItem_Click); // - // DataTypetoolStripSplitButton1 + // ColumnsMenuItem // - this.DataTypetoolStripSplitButton1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; - this.DataTypetoolStripSplitButton1.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.unsignedToolStripMenuItem, - this.signedToolStripMenuItem, - this.hexadecimalToolStripMenuItem}); - this.DataTypetoolStripSplitButton1.Image = ((System.Drawing.Image)(resources.GetObject("DataTypetoolStripSplitButton1.Image"))); - this.DataTypetoolStripSplitButton1.ImageTransparentColor = System.Drawing.Color.Magenta; - this.DataTypetoolStripSplitButton1.Name = "DataTypetoolStripSplitButton1"; - this.DataTypetoolStripSplitButton1.Size = new System.Drawing.Size(76, 22); - this.DataTypetoolStripSplitButton1.Text = "Data Type"; + this.ColumnsMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.ShowPreviousMenuItem, + this.ShowChangesMenuItem, + this.ShowDiffMenuItem}); + this.ColumnsMenuItem.Name = "ColumnsMenuItem"; + this.ColumnsMenuItem.Size = new System.Drawing.Size(67, 20); + this.ColumnsMenuItem.Text = "&Columns"; + this.ColumnsMenuItem.DropDownOpened += new System.EventHandler(this.ColumnsMenuItem_DropDownOpened); // - // unsignedToolStripMenuItem + // ShowPreviousMenuItem // - this.unsignedToolStripMenuItem.Checked = true; - this.unsignedToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked; - this.unsignedToolStripMenuItem.Name = "unsignedToolStripMenuItem"; - this.unsignedToolStripMenuItem.Size = new System.Drawing.Size(142, 22); - this.unsignedToolStripMenuItem.Text = "Unsigned"; - this.unsignedToolStripMenuItem.Click += new System.EventHandler(this.unsignedToolStripMenuItem_Click); + this.ShowPreviousMenuItem.Name = "ShowPreviousMenuItem"; + this.ShowPreviousMenuItem.Size = new System.Drawing.Size(156, 22); + this.ShowPreviousMenuItem.Text = "&Previous Value"; + this.ShowPreviousMenuItem.Click += new System.EventHandler(this.ShowPreviousMenuItem_Click); // - // signedToolStripMenuItem + // ShowChangesMenuItem // - this.signedToolStripMenuItem.Name = "signedToolStripMenuItem"; - this.signedToolStripMenuItem.Size = new System.Drawing.Size(142, 22); - this.signedToolStripMenuItem.Text = "Signed"; - this.signedToolStripMenuItem.Click += new System.EventHandler(this.signedToolStripMenuItem_Click); + this.ShowChangesMenuItem.Name = "ShowChangesMenuItem"; + this.ShowChangesMenuItem.Size = new System.Drawing.Size(156, 22); + this.ShowChangesMenuItem.Text = "&Change Counts"; + this.ShowChangesMenuItem.Click += new System.EventHandler(this.ShowChangesMenuItem_Click); // - // hexadecimalToolStripMenuItem + // ShowDiffMenuItem // - this.hexadecimalToolStripMenuItem.Name = "hexadecimalToolStripMenuItem"; - this.hexadecimalToolStripMenuItem.Size = new System.Drawing.Size(142, 22); - this.hexadecimalToolStripMenuItem.Text = "Hexadecimal"; - this.hexadecimalToolStripMenuItem.Click += new System.EventHandler(this.hexadecimalToolStripMenuItem_Click); - // - // EndiantoolSplitButton - // - this.EndiantoolSplitButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; - this.EndiantoolSplitButton.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.bigEndianToolStripMenuItem, - this.littleEndianToolStripMenuItem}); - this.EndiantoolSplitButton.Image = ((System.Drawing.Image)(resources.GetObject("EndiantoolSplitButton.Image"))); - this.EndiantoolSplitButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.EndiantoolSplitButton.Name = "EndiantoolSplitButton"; - this.EndiantoolSplitButton.Size = new System.Drawing.Size(59, 22); - this.EndiantoolSplitButton.Text = "Endian"; - // - // bigEndianToolStripMenuItem - // - this.bigEndianToolStripMenuItem.Checked = true; - this.bigEndianToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked; - this.bigEndianToolStripMenuItem.Name = "bigEndianToolStripMenuItem"; - this.bigEndianToolStripMenuItem.Size = new System.Drawing.Size(139, 22); - this.bigEndianToolStripMenuItem.Text = "Big Endian"; - this.bigEndianToolStripMenuItem.Click += new System.EventHandler(this.bigEndianToolStripMenuItem_Click); - // - // littleEndianToolStripMenuItem - // - this.littleEndianToolStripMenuItem.Name = "littleEndianToolStripMenuItem"; - this.littleEndianToolStripMenuItem.Size = new System.Drawing.Size(139, 22); - this.littleEndianToolStripMenuItem.Text = "Little Endian"; - this.littleEndianToolStripMenuItem.Click += new System.EventHandler(this.littleEndianToolStripMenuItem_Click); - // - // CompareToBox - // - this.CompareToBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.CompareToBox.Controls.Add(this.label1); - this.CompareToBox.Controls.Add(this.NumberOfChangesBox); - this.CompareToBox.Controls.Add(this.SpecificAddressBox); - this.CompareToBox.Controls.Add(this.SpecificValueBox); - this.CompareToBox.Controls.Add(this.NumberOfChangesRadio); - this.CompareToBox.Controls.Add(this.SpecificAddressRadio); - this.CompareToBox.Controls.Add(this.SpecificValueRadio); - this.CompareToBox.Controls.Add(this.PreviousValueRadio); - this.CompareToBox.Location = new System.Drawing.Point(248, 114); - this.CompareToBox.Name = "CompareToBox"; - this.CompareToBox.Size = new System.Drawing.Size(211, 111); - this.CompareToBox.TabIndex = 0; - this.CompareToBox.TabStop = false; - this.CompareToBox.Text = "Compare To / By"; - // - // label1 - // - this.label1.AutoSize = true; - this.label1.Location = new System.Drawing.Point(116, 65); - this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(18, 13); - this.label1.TabIndex = 10; - this.label1.Text = "0x"; - // - // NumberOfChangesBox - // - this.NumberOfChangesBox.Enabled = false; - this.NumberOfChangesBox.Location = new System.Drawing.Point(135, 82); - this.NumberOfChangesBox.MaxLength = 8; - this.NumberOfChangesBox.Name = "NumberOfChangesBox"; - this.NumberOfChangesBox.Size = new System.Drawing.Size(65, 20); - this.NumberOfChangesBox.TabIndex = 28; - this.NumberOfChangesBox.TextChanged += new System.EventHandler(this.NumberOfChangesBox_TextChanged); - this.NumberOfChangesBox.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.NumberOfChangesBox_KeyPress); - this.NumberOfChangesBox.Leave += new System.EventHandler(this.NumberOfChangesBox_Leave); - // - // SpecificAddressBox - // - this.SpecificAddressBox.CharacterCasing = System.Windows.Forms.CharacterCasing.Upper; - this.SpecificAddressBox.Enabled = false; - this.SpecificAddressBox.Location = new System.Drawing.Point(135, 60); - this.SpecificAddressBox.MaxLength = 8; - this.SpecificAddressBox.Name = "SpecificAddressBox"; - this.SpecificAddressBox.Size = new System.Drawing.Size(65, 20); - this.SpecificAddressBox.TabIndex = 26; - this.SpecificAddressBox.TextChanged += new System.EventHandler(this.SpecificAddressBox_TextChanged); - this.SpecificAddressBox.Leave += new System.EventHandler(this.SpecificAddressBox_Leave); - // - // SpecificValueBox - // - this.SpecificValueBox.CharacterCasing = System.Windows.Forms.CharacterCasing.Upper; - this.SpecificValueBox.Enabled = false; - this.SpecificValueBox.Location = new System.Drawing.Point(135, 38); - this.SpecificValueBox.MaxLength = 9; - this.SpecificValueBox.Name = "SpecificValueBox"; - this.SpecificValueBox.Size = new System.Drawing.Size(65, 20); - this.SpecificValueBox.TabIndex = 24; - this.SpecificValueBox.TextChanged += new System.EventHandler(this.SpecificValueBox_TextChanged); - this.SpecificValueBox.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.SpecificValueBox_KeyPress); - this.SpecificValueBox.Leave += new System.EventHandler(this.SpecificValueBox_Leave); - // - // NumberOfChangesRadio - // - this.NumberOfChangesRadio.AutoSize = true; - this.NumberOfChangesRadio.Location = new System.Drawing.Point(7, 85); - this.NumberOfChangesRadio.Name = "NumberOfChangesRadio"; - this.NumberOfChangesRadio.Size = new System.Drawing.Size(122, 17); - this.NumberOfChangesRadio.TabIndex = 3; - this.NumberOfChangesRadio.Text = "Number of Changes:"; - this.NumberOfChangesRadio.UseVisualStyleBackColor = true; - this.NumberOfChangesRadio.CheckedChanged += new System.EventHandler(this.NumberOfChangesRadio_CheckedChanged); - // - // SpecificAddressRadio - // - this.SpecificAddressRadio.AutoSize = true; - this.SpecificAddressRadio.Location = new System.Drawing.Point(7, 63); - this.SpecificAddressRadio.Name = "SpecificAddressRadio"; - this.SpecificAddressRadio.Size = new System.Drawing.Size(107, 17); - this.SpecificAddressRadio.TabIndex = 2; - this.SpecificAddressRadio.Text = "Specific Address:"; - this.SpecificAddressRadio.UseVisualStyleBackColor = true; - this.SpecificAddressRadio.CheckedChanged += new System.EventHandler(this.SpecificAddressRadio_CheckedChanged); - // - // SpecificValueRadio - // - this.SpecificValueRadio.AutoSize = true; - this.SpecificValueRadio.Location = new System.Drawing.Point(7, 41); - this.SpecificValueRadio.Name = "SpecificValueRadio"; - this.SpecificValueRadio.Size = new System.Drawing.Size(96, 17); - this.SpecificValueRadio.TabIndex = 22; - this.SpecificValueRadio.Text = "Specific Value:"; - this.SpecificValueRadio.UseVisualStyleBackColor = true; - this.SpecificValueRadio.CheckedChanged += new System.EventHandler(this.SpecificValueRadio_CheckedChanged); - // - // PreviousValueRadio - // - this.PreviousValueRadio.AutoSize = true; - this.PreviousValueRadio.Checked = true; - this.PreviousValueRadio.Location = new System.Drawing.Point(7, 20); - this.PreviousValueRadio.Name = "PreviousValueRadio"; - this.PreviousValueRadio.Size = new System.Drawing.Size(96, 17); - this.PreviousValueRadio.TabIndex = 20; - this.PreviousValueRadio.TabStop = true; - this.PreviousValueRadio.Text = "Previous Value"; - this.PreviousValueRadio.UseVisualStyleBackColor = true; - this.PreviousValueRadio.CheckedChanged += new System.EventHandler(this.PreviousValueRadio_CheckedChanged); - // - // ComparisonBox - // - this.ComparisonBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.ComparisonBox.Controls.Add(this.DifferentByBox); - this.ComparisonBox.Controls.Add(this.DifferentByRadio); - this.ComparisonBox.Controls.Add(this.NotEqualToRadio); - this.ComparisonBox.Controls.Add(this.EqualToRadio); - this.ComparisonBox.Controls.Add(this.GreaterThanOrEqualToRadio); - this.ComparisonBox.Controls.Add(this.LessThanOrEqualToRadio); - this.ComparisonBox.Controls.Add(this.GreaterThanRadio); - this.ComparisonBox.Controls.Add(this.LessThanRadio); - this.ComparisonBox.Location = new System.Drawing.Point(248, 231); - this.ComparisonBox.Name = "ComparisonBox"; - this.ComparisonBox.Size = new System.Drawing.Size(211, 159); - this.ComparisonBox.TabIndex = 6; - this.ComparisonBox.TabStop = false; - this.ComparisonBox.Text = "Comparison Operator"; - // - // DifferentByBox - // - this.DifferentByBox.Enabled = false; - this.DifferentByBox.Location = new System.Drawing.Point(90, 131); - this.DifferentByBox.MaxLength = 9; - this.DifferentByBox.Name = "DifferentByBox"; - this.DifferentByBox.Size = new System.Drawing.Size(50, 20); - this.DifferentByBox.TabIndex = 34; - this.DifferentByBox.TextChanged += new System.EventHandler(this.DifferentByBox_TextChanged); - this.DifferentByBox.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.DifferentByBox_KeyPress); - this.DifferentByBox.Leave += new System.EventHandler(this.DifferentByBox_Leave); - // - // DifferentByRadio - // - this.DifferentByRadio.AutoSize = true; - this.DifferentByRadio.Location = new System.Drawing.Point(7, 134); - this.DifferentByRadio.Name = "DifferentByRadio"; - this.DifferentByRadio.Size = new System.Drawing.Size(83, 17); - this.DifferentByRadio.TabIndex = 6; - this.DifferentByRadio.Text = "Different By:"; - this.DifferentByRadio.UseVisualStyleBackColor = true; - this.DifferentByRadio.CheckedChanged += new System.EventHandler(this.DifferentByRadio_CheckedChanged); - // - // NotEqualToRadio - // - this.NotEqualToRadio.AutoSize = true; - this.NotEqualToRadio.Location = new System.Drawing.Point(7, 35); - this.NotEqualToRadio.Name = "NotEqualToRadio"; - this.NotEqualToRadio.Size = new System.Drawing.Size(88, 17); - this.NotEqualToRadio.TabIndex = 5; - this.NotEqualToRadio.Text = "Not Equal To"; - this.NotEqualToRadio.UseVisualStyleBackColor = true; - this.NotEqualToRadio.CheckedChanged += new System.EventHandler(this.LessThanRadio_CheckedChanged); - // - // EqualToRadio - // - this.EqualToRadio.AutoSize = true; - this.EqualToRadio.Checked = true; - this.EqualToRadio.Location = new System.Drawing.Point(7, 15); - this.EqualToRadio.Name = "EqualToRadio"; - this.EqualToRadio.Size = new System.Drawing.Size(68, 17); - this.EqualToRadio.TabIndex = 32; - this.EqualToRadio.TabStop = true; - this.EqualToRadio.Text = "Equal To"; - this.EqualToRadio.UseVisualStyleBackColor = true; - this.EqualToRadio.CheckedChanged += new System.EventHandler(this.LessThanRadio_CheckedChanged); - // - // GreaterThanOrEqualToRadio - // - this.GreaterThanOrEqualToRadio.AutoSize = true; - this.GreaterThanOrEqualToRadio.Location = new System.Drawing.Point(7, 113); - this.GreaterThanOrEqualToRadio.Name = "GreaterThanOrEqualToRadio"; - this.GreaterThanOrEqualToRadio.Size = new System.Drawing.Size(146, 17); - this.GreaterThanOrEqualToRadio.TabIndex = 3; - this.GreaterThanOrEqualToRadio.Text = "Greater Than or Equal To"; - this.GreaterThanOrEqualToRadio.UseVisualStyleBackColor = true; - this.GreaterThanOrEqualToRadio.CheckedChanged += new System.EventHandler(this.LessThanRadio_CheckedChanged); - // - // LessThanOrEqualToRadio - // - this.LessThanOrEqualToRadio.AutoSize = true; - this.LessThanOrEqualToRadio.Location = new System.Drawing.Point(7, 93); - this.LessThanOrEqualToRadio.Name = "LessThanOrEqualToRadio"; - this.LessThanOrEqualToRadio.Size = new System.Drawing.Size(133, 17); - this.LessThanOrEqualToRadio.TabIndex = 2; - this.LessThanOrEqualToRadio.Text = "Less Than or Equal To"; - this.LessThanOrEqualToRadio.UseVisualStyleBackColor = true; - this.LessThanOrEqualToRadio.CheckedChanged += new System.EventHandler(this.LessThanRadio_CheckedChanged); - // - // GreaterThanRadio - // - this.GreaterThanRadio.AutoSize = true; - this.GreaterThanRadio.Location = new System.Drawing.Point(7, 74); - this.GreaterThanRadio.Name = "GreaterThanRadio"; - this.GreaterThanRadio.Size = new System.Drawing.Size(88, 17); - this.GreaterThanRadio.TabIndex = 1; - this.GreaterThanRadio.Text = "Greater Than"; - this.GreaterThanRadio.UseVisualStyleBackColor = true; - this.GreaterThanRadio.CheckedChanged += new System.EventHandler(this.LessThanRadio_CheckedChanged); - // - // LessThanRadio - // - this.LessThanRadio.AutoSize = true; - this.LessThanRadio.Location = new System.Drawing.Point(7, 54); - this.LessThanRadio.Name = "LessThanRadio"; - this.LessThanRadio.Size = new System.Drawing.Size(75, 17); - this.LessThanRadio.TabIndex = 0; - this.LessThanRadio.Text = "Less Than"; - this.LessThanRadio.UseVisualStyleBackColor = true; - this.LessThanRadio.CheckedChanged += new System.EventHandler(this.LessThanRadio_CheckedChanged); - // - // AutoSearchCheckBox - // - this.AutoSearchCheckBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.AutoSearchCheckBox.Appearance = System.Windows.Forms.Appearance.Button; - this.AutoSearchCheckBox.AutoSize = true; - this.AutoSearchCheckBox.Image = global::BizHawk.MultiClient.Properties.Resources.AutoSearch; - this.AutoSearchCheckBox.Location = new System.Drawing.Point(248, 399); - this.AutoSearchCheckBox.Name = "AutoSearchCheckBox"; - this.AutoSearchCheckBox.Size = new System.Drawing.Size(38, 22); - this.AutoSearchCheckBox.TabIndex = 36; - this.AutoSearchCheckBox.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; - this.toolTip1.SetToolTip(this.AutoSearchCheckBox, "Automatically search each frame"); - this.AutoSearchCheckBox.UseVisualStyleBackColor = true; - this.AutoSearchCheckBox.CheckedChanged += new System.EventHandler(this.AutoSearchCheckBox_CheckedChanged); + this.ShowDiffMenuItem.Name = "ShowDiffMenuItem"; + this.ShowDiffMenuItem.Size = new System.Drawing.Size(156, 22); + this.ShowDiffMenuItem.Text = "&Difference"; + this.ShowDiffMenuItem.Click += new System.EventHandler(this.ShowDiffMenuItem_Click); // // MemDomainLabel // this.MemDomainLabel.AutoSize = true; - this.MemDomainLabel.Location = new System.Drawing.Point(129, 33); + this.MemDomainLabel.Location = new System.Drawing.Point(135, 49); this.MemDomainLabel.Name = "MemDomainLabel"; this.MemDomainLabel.Size = new System.Drawing.Size(70, 13); this.MemDomainLabel.TabIndex = 8; @@ -1281,47 +862,470 @@ this.MessageLabel.AutoSize = true; this.MessageLabel.Location = new System.Drawing.Point(9, 434); this.MessageLabel.Name = "MessageLabel"; - this.MessageLabel.Size = new System.Drawing.Size(85, 13); + this.MessageLabel.Size = new System.Drawing.Size(106, 13); this.MessageLabel.TabIndex = 9; - this.MessageLabel.Text = " "; + this.MessageLabel.Text = " todo "; // - // RamSearch + // AutoSearchCheckBox + // + this.AutoSearchCheckBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.AutoSearchCheckBox.Appearance = System.Windows.Forms.Appearance.Button; + this.AutoSearchCheckBox.AutoSize = true; + this.AutoSearchCheckBox.Image = global::BizHawk.MultiClient.Properties.Resources.AutoSearch; + this.AutoSearchCheckBox.Location = new System.Drawing.Point(317, 361); + this.AutoSearchCheckBox.Name = "AutoSearchCheckBox"; + this.AutoSearchCheckBox.Size = new System.Drawing.Size(38, 22); + this.AutoSearchCheckBox.TabIndex = 95; + this.AutoSearchCheckBox.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; + this.toolTip1.SetToolTip(this.AutoSearchCheckBox, "Automatically search each frame"); + this.AutoSearchCheckBox.UseVisualStyleBackColor = true; + this.AutoSearchCheckBox.Click += new System.EventHandler(this.AutoSearchMenuItem_Click); + // + // CompareToBox + // + this.CompareToBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.CompareToBox.Controls.Add(this.DifferenceBox); + this.CompareToBox.Controls.Add(this.DifferenceRadio); + this.CompareToBox.Controls.Add(this.NumberOfChangesBox); + this.CompareToBox.Controls.Add(this.SpecificAddressBox); + this.CompareToBox.Controls.Add(this.SpecificValueBox); + this.CompareToBox.Controls.Add(this.NumberOfChangesRadio); + this.CompareToBox.Controls.Add(this.SpecificAddressRadio); + this.CompareToBox.Controls.Add(this.SpecificValueRadio); + this.CompareToBox.Controls.Add(this.PreviousValueRadio); + this.CompareToBox.Location = new System.Drawing.Point(244, 65); + this.CompareToBox.Name = "CompareToBox"; + this.CompareToBox.Size = new System.Drawing.Size(183, 125); + this.CompareToBox.TabIndex = 10; + this.CompareToBox.TabStop = false; + this.CompareToBox.Text = "Compare To / By"; + // + // DifferenceBox + // + this.DifferenceBox.CharacterCasing = System.Windows.Forms.CharacterCasing.Upper; + this.DifferenceBox.Enabled = false; + this.DifferenceBox.Location = new System.Drawing.Point(114, 98); + this.DifferenceBox.MaxLength = 8; + this.DifferenceBox.Name = "DifferenceBox"; + this.DifferenceBox.Size = new System.Drawing.Size(65, 20); + this.DifferenceBox.TabIndex = 45; + this.DifferenceBox.TextChanged += new System.EventHandler(this.CompareToValue_TextChanged); + // + // DifferenceRadio + // + this.DifferenceRadio.AutoSize = true; + this.DifferenceRadio.Location = new System.Drawing.Point(6, 100); + this.DifferenceRadio.Name = "DifferenceRadio"; + this.DifferenceRadio.Size = new System.Drawing.Size(89, 17); + this.DifferenceRadio.TabIndex = 40; + this.DifferenceRadio.Text = "Difference of:"; + this.DifferenceRadio.UseVisualStyleBackColor = true; + this.DifferenceRadio.Click += new System.EventHandler(this.DifferenceRadio_Click); + // + // NumberOfChangesBox + // + this.NumberOfChangesBox.CharacterCasing = System.Windows.Forms.CharacterCasing.Upper; + this.NumberOfChangesBox.Enabled = false; + this.NumberOfChangesBox.Location = new System.Drawing.Point(114, 78); + this.NumberOfChangesBox.MaxLength = 8; + this.NumberOfChangesBox.Name = "NumberOfChangesBox"; + this.NumberOfChangesBox.Size = new System.Drawing.Size(65, 20); + this.NumberOfChangesBox.TabIndex = 35; + this.NumberOfChangesBox.TextChanged += new System.EventHandler(this.CompareToValue_TextChanged); + // + // SpecificAddressBox + // + this.SpecificAddressBox.CharacterCasing = System.Windows.Forms.CharacterCasing.Upper; + this.SpecificAddressBox.Enabled = false; + this.SpecificAddressBox.Location = new System.Drawing.Point(114, 58); + this.SpecificAddressBox.MaxLength = 8; + this.SpecificAddressBox.Name = "SpecificAddressBox"; + this.SpecificAddressBox.Size = new System.Drawing.Size(65, 20); + this.SpecificAddressBox.TabIndex = 25; + this.SpecificAddressBox.TextChanged += new System.EventHandler(this.CompareToValue_TextChanged); + // + // SpecificValueBox + // + this.SpecificValueBox.ByteSize = BizHawk.MultiClient.Watch.WatchSize.Byte; + this.SpecificValueBox.CharacterCasing = System.Windows.Forms.CharacterCasing.Upper; + this.SpecificValueBox.Enabled = false; + this.SpecificValueBox.Location = new System.Drawing.Point(114, 38); + this.SpecificValueBox.MaxLength = 2; + this.SpecificValueBox.Name = "SpecificValueBox"; + this.SpecificValueBox.Size = new System.Drawing.Size(65, 20); + this.SpecificValueBox.TabIndex = 15; + this.SpecificValueBox.Type = BizHawk.MultiClient.Watch.DisplayType.Hex; + this.SpecificValueBox.TextChanged += new System.EventHandler(this.CompareToValue_TextChanged); + // + // NumberOfChangesRadio + // + this.NumberOfChangesRadio.AutoSize = true; + this.NumberOfChangesRadio.Location = new System.Drawing.Point(7, 80); + this.NumberOfChangesRadio.Name = "NumberOfChangesRadio"; + this.NumberOfChangesRadio.Size = new System.Drawing.Size(111, 17); + this.NumberOfChangesRadio.TabIndex = 30; + this.NumberOfChangesRadio.Text = "Specific Changes:"; + this.NumberOfChangesRadio.UseVisualStyleBackColor = true; + this.NumberOfChangesRadio.Click += new System.EventHandler(this.NumberOfChangesRadio_Click); + // + // SpecificAddressRadio + // + this.SpecificAddressRadio.AutoSize = true; + this.SpecificAddressRadio.Location = new System.Drawing.Point(7, 60); + this.SpecificAddressRadio.Name = "SpecificAddressRadio"; + this.SpecificAddressRadio.Size = new System.Drawing.Size(107, 17); + this.SpecificAddressRadio.TabIndex = 20; + this.SpecificAddressRadio.Text = "Specific Address:"; + this.SpecificAddressRadio.UseVisualStyleBackColor = true; + this.SpecificAddressRadio.Click += new System.EventHandler(this.SpecificAddressRadio_Click); + // + // SpecificValueRadio + // + this.SpecificValueRadio.AutoSize = true; + this.SpecificValueRadio.Location = new System.Drawing.Point(7, 40); + this.SpecificValueRadio.Name = "SpecificValueRadio"; + this.SpecificValueRadio.Size = new System.Drawing.Size(96, 17); + this.SpecificValueRadio.TabIndex = 10; + this.SpecificValueRadio.Text = "Specific Value:"; + this.SpecificValueRadio.UseVisualStyleBackColor = true; + this.SpecificValueRadio.Click += new System.EventHandler(this.SpecificValueRadio_Click); + // + // PreviousValueRadio + // + this.PreviousValueRadio.AutoSize = true; + this.PreviousValueRadio.Checked = true; + this.PreviousValueRadio.Location = new System.Drawing.Point(7, 20); + this.PreviousValueRadio.Name = "PreviousValueRadio"; + this.PreviousValueRadio.Size = new System.Drawing.Size(96, 17); + this.PreviousValueRadio.TabIndex = 5; + this.PreviousValueRadio.TabStop = true; + this.PreviousValueRadio.Text = "Previous Value"; + this.PreviousValueRadio.UseVisualStyleBackColor = true; + this.PreviousValueRadio.Click += new System.EventHandler(this.PreviousValueRadio_Click); + // + // toolStrip1 + // + this.toolStrip1.ClickThrough = true; + this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.DoSearchToolButton, + this.toolStripSeparator10, + this.NewSearchToolButton, + this.toolStripSeparator15, + this.CopyValueToPrevToolBarItem, + this.ClearChangeCountsToolBarItem, + this.toolStripSeparator16, + this.RemoveToolBarItem, + this.AddToRamWatchToolBarItem, + this.PokeAddressToolBarItem, + this.FreezeAddressToolBarItem, + this.toolStripSeparator12, + this.UndoToolBarButton, + this.RedoToolBarItem, + this.RebootToolBarSeparator, + this.RebootToolbarButton}); + this.toolStrip1.Location = new System.Drawing.Point(0, 24); + this.toolStrip1.Name = "toolStrip1"; + this.toolStrip1.Size = new System.Drawing.Size(438, 25); + this.toolStrip1.TabIndex = 11; + this.toolStrip1.Text = "toolStrip1"; + // + // DoSearchToolButton + // + this.DoSearchToolButton.Enabled = false; + this.DoSearchToolButton.Image = ((System.Drawing.Image)(resources.GetObject("DoSearchToolButton.Image"))); + this.DoSearchToolButton.ImageTransparentColor = System.Drawing.Color.Magenta; + this.DoSearchToolButton.Name = "DoSearchToolButton"; + this.DoSearchToolButton.Size = new System.Drawing.Size(65, 22); + this.DoSearchToolButton.Text = "Search "; + this.DoSearchToolButton.Click += new System.EventHandler(this.SearchMenuItem_Click); + // + // toolStripSeparator10 + // + this.toolStripSeparator10.Name = "toolStripSeparator10"; + this.toolStripSeparator10.Size = new System.Drawing.Size(6, 25); + // + // NewSearchToolButton + // + this.NewSearchToolButton.Image = global::BizHawk.MultiClient.Properties.Resources.restart; + this.NewSearchToolButton.ImageTransparentColor = System.Drawing.Color.Magenta; + this.NewSearchToolButton.Name = "NewSearchToolButton"; + this.NewSearchToolButton.Size = new System.Drawing.Size(51, 22); + this.NewSearchToolButton.Text = "New"; + this.NewSearchToolButton.Click += new System.EventHandler(this.NewSearchMenuMenuItem_Click); + // + // toolStripSeparator15 + // + this.toolStripSeparator15.Name = "toolStripSeparator15"; + this.toolStripSeparator15.Size = new System.Drawing.Size(6, 25); + // + // CopyValueToPrevToolBarItem + // + this.CopyValueToPrevToolBarItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.CopyValueToPrevToolBarItem.Enabled = false; + this.CopyValueToPrevToolBarItem.Image = global::BizHawk.MultiClient.Properties.Resources.Previous; + this.CopyValueToPrevToolBarItem.ImageTransparentColor = System.Drawing.Color.Magenta; + this.CopyValueToPrevToolBarItem.Name = "CopyValueToPrevToolBarItem"; + this.CopyValueToPrevToolBarItem.Size = new System.Drawing.Size(23, 22); + this.CopyValueToPrevToolBarItem.Text = "Copy Value to Previous"; + this.CopyValueToPrevToolBarItem.Click += new System.EventHandler(this.CopyValueToPrevMenuItem_Click); + // + // ClearChangeCountsToolBarItem + // + this.ClearChangeCountsToolBarItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; + this.ClearChangeCountsToolBarItem.Image = ((System.Drawing.Image)(resources.GetObject("ClearChangeCountsToolBarItem.Image"))); + this.ClearChangeCountsToolBarItem.ImageTransparentColor = System.Drawing.Color.Magenta; + this.ClearChangeCountsToolBarItem.Name = "ClearChangeCountsToolBarItem"; + this.ClearChangeCountsToolBarItem.Size = new System.Drawing.Size(23, 22); + this.ClearChangeCountsToolBarItem.Text = "C"; + this.ClearChangeCountsToolBarItem.ToolTipText = "Clear Change Counts"; + this.ClearChangeCountsToolBarItem.Click += new System.EventHandler(this.ClearChangeCountsMenuItem_Click); + // + // toolStripSeparator16 + // + this.toolStripSeparator16.Name = "toolStripSeparator16"; + this.toolStripSeparator16.Size = new System.Drawing.Size(6, 25); + // + // RemoveToolBarItem + // + this.RemoveToolBarItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.RemoveToolBarItem.Enabled = false; + this.RemoveToolBarItem.Image = global::BizHawk.MultiClient.Properties.Resources.Delete; + this.RemoveToolBarItem.ImageTransparentColor = System.Drawing.Color.Magenta; + this.RemoveToolBarItem.Name = "RemoveToolBarItem"; + this.RemoveToolBarItem.Size = new System.Drawing.Size(23, 22); + this.RemoveToolBarItem.Text = "C&ut"; + this.RemoveToolBarItem.ToolTipText = "Eliminate Selected Items"; + this.RemoveToolBarItem.Click += new System.EventHandler(this.RemoveMenuItem_Click); + // + // AddToRamWatchToolBarItem + // + this.AddToRamWatchToolBarItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.AddToRamWatchToolBarItem.Enabled = false; + this.AddToRamWatchToolBarItem.Image = global::BizHawk.MultiClient.Properties.Resources.FindHS; + this.AddToRamWatchToolBarItem.ImageTransparentColor = System.Drawing.Color.Magenta; + this.AddToRamWatchToolBarItem.Name = "AddToRamWatchToolBarItem"; + this.AddToRamWatchToolBarItem.Size = new System.Drawing.Size(23, 22); + this.AddToRamWatchToolBarItem.Text = "Watch"; + this.AddToRamWatchToolBarItem.Click += new System.EventHandler(this.AddToRamWatchMenuItem_Click); + // + // PokeAddressToolBarItem + // + this.PokeAddressToolBarItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.PokeAddressToolBarItem.Enabled = false; + this.PokeAddressToolBarItem.Image = global::BizHawk.MultiClient.Properties.Resources.poke; + this.PokeAddressToolBarItem.ImageTransparentColor = System.Drawing.Color.Magenta; + this.PokeAddressToolBarItem.Name = "PokeAddressToolBarItem"; + this.PokeAddressToolBarItem.Size = new System.Drawing.Size(23, 22); + this.PokeAddressToolBarItem.Text = "Poke"; + this.PokeAddressToolBarItem.Click += new System.EventHandler(this.PokeAddressMenuItem_Click); + // + // FreezeAddressToolBarItem + // + this.FreezeAddressToolBarItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.FreezeAddressToolBarItem.Enabled = false; + this.FreezeAddressToolBarItem.Image = global::BizHawk.MultiClient.Properties.Resources.Freeze; + this.FreezeAddressToolBarItem.ImageTransparentColor = System.Drawing.Color.Magenta; + this.FreezeAddressToolBarItem.Name = "FreezeAddressToolBarItem"; + this.FreezeAddressToolBarItem.Size = new System.Drawing.Size(23, 22); + this.FreezeAddressToolBarItem.Text = "Freeze"; + this.FreezeAddressToolBarItem.Click += new System.EventHandler(this.FreezeAddressMenuItem_Click); + // + // toolStripSeparator12 + // + this.toolStripSeparator12.Name = "toolStripSeparator12"; + this.toolStripSeparator12.Size = new System.Drawing.Size(6, 25); + // + // UndoToolBarButton + // + this.UndoToolBarButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.UndoToolBarButton.Enabled = false; + this.UndoToolBarButton.Image = global::BizHawk.MultiClient.Properties.Resources.undo; + this.UndoToolBarButton.ImageTransparentColor = System.Drawing.Color.Magenta; + this.UndoToolBarButton.Name = "UndoToolBarButton"; + this.UndoToolBarButton.Size = new System.Drawing.Size(23, 22); + this.UndoToolBarButton.Text = "Undo Search"; + this.UndoToolBarButton.Click += new System.EventHandler(this.UndoMenuItem_Click); + // + // RedoToolBarItem + // + this.RedoToolBarItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.RedoToolBarItem.Enabled = false; + this.RedoToolBarItem.Image = global::BizHawk.MultiClient.Properties.Resources.redo; + this.RedoToolBarItem.ImageTransparentColor = System.Drawing.Color.Magenta; + this.RedoToolBarItem.Name = "RedoToolBarItem"; + this.RedoToolBarItem.Size = new System.Drawing.Size(23, 22); + this.RedoToolBarItem.Text = "Redo"; + this.RedoToolBarItem.Click += new System.EventHandler(this.RedoMenuItem_Click); + // + // RebootToolBarSeparator + // + this.RebootToolBarSeparator.Name = "RebootToolBarSeparator"; + this.RebootToolBarSeparator.Size = new System.Drawing.Size(6, 25); + // + // RebootToolbarButton + // + this.RebootToolbarButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.RebootToolbarButton.Image = global::BizHawk.MultiClient.Properties.Resources.reboot; + this.RebootToolbarButton.ImageTransparentColor = System.Drawing.Color.Magenta; + this.RebootToolbarButton.Name = "RebootToolbarButton"; + this.RebootToolbarButton.Size = new System.Drawing.Size(23, 22); + this.RebootToolbarButton.Text = "A new search needs to be started in order for these changes to take effect"; + this.RebootToolbarButton.Click += new System.EventHandler(this.NewSearchMenuMenuItem_Click); + // + // ComparisonBox + // + this.ComparisonBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.ComparisonBox.Controls.Add(this.DifferentByBox); + this.ComparisonBox.Controls.Add(this.DifferentByRadio); + this.ComparisonBox.Controls.Add(this.NotEqualToRadio); + this.ComparisonBox.Controls.Add(this.EqualToRadio); + this.ComparisonBox.Controls.Add(this.GreaterThanOrEqualToRadio); + this.ComparisonBox.Controls.Add(this.LessThanOrEqualToRadio); + this.ComparisonBox.Controls.Add(this.GreaterThanRadio); + this.ComparisonBox.Controls.Add(this.LessThanRadio); + this.ComparisonBox.Location = new System.Drawing.Point(244, 196); + this.ComparisonBox.Name = "ComparisonBox"; + this.ComparisonBox.Size = new System.Drawing.Size(183, 159); + this.ComparisonBox.TabIndex = 12; + this.ComparisonBox.TabStop = false; + this.ComparisonBox.Text = "Comparison Operator"; + // + // DifferentByBox + // + this.DifferentByBox.CharacterCasing = System.Windows.Forms.CharacterCasing.Upper; + this.DifferentByBox.Enabled = false; + this.DifferentByBox.Location = new System.Drawing.Point(90, 132); + this.DifferentByBox.MaxLength = 9; + this.DifferentByBox.Name = "DifferentByBox"; + this.DifferentByBox.Size = new System.Drawing.Size(50, 20); + this.DifferentByBox.TabIndex = 85; + this.DifferentByBox.TextChanged += new System.EventHandler(this.DifferentByBox_TextChanged); + // + // DifferentByRadio + // + this.DifferentByRadio.AutoSize = true; + this.DifferentByRadio.Location = new System.Drawing.Point(7, 134); + this.DifferentByRadio.Name = "DifferentByRadio"; + this.DifferentByRadio.Size = new System.Drawing.Size(83, 17); + this.DifferentByRadio.TabIndex = 80; + this.DifferentByRadio.Text = "Different By:"; + this.DifferentByRadio.UseVisualStyleBackColor = true; + this.DifferentByRadio.Click += new System.EventHandler(this.DifferentByRadio_Click); + // + // NotEqualToRadio + // + this.NotEqualToRadio.AutoSize = true; + this.NotEqualToRadio.Location = new System.Drawing.Point(7, 35); + this.NotEqualToRadio.Name = "NotEqualToRadio"; + this.NotEqualToRadio.Size = new System.Drawing.Size(88, 17); + this.NotEqualToRadio.TabIndex = 55; + this.NotEqualToRadio.Text = "Not Equal To"; + this.NotEqualToRadio.UseVisualStyleBackColor = true; + this.NotEqualToRadio.Click += new System.EventHandler(this.NotEqualToRadio_Click); + // + // EqualToRadio + // + this.EqualToRadio.AutoSize = true; + this.EqualToRadio.Checked = true; + this.EqualToRadio.Location = new System.Drawing.Point(7, 15); + this.EqualToRadio.Name = "EqualToRadio"; + this.EqualToRadio.Size = new System.Drawing.Size(68, 17); + this.EqualToRadio.TabIndex = 50; + this.EqualToRadio.TabStop = true; + this.EqualToRadio.Text = "Equal To"; + this.EqualToRadio.UseVisualStyleBackColor = true; + this.EqualToRadio.Click += new System.EventHandler(this.EqualToRadio_Click); + // + // GreaterThanOrEqualToRadio + // + this.GreaterThanOrEqualToRadio.AutoSize = true; + this.GreaterThanOrEqualToRadio.Location = new System.Drawing.Point(7, 113); + this.GreaterThanOrEqualToRadio.Name = "GreaterThanOrEqualToRadio"; + this.GreaterThanOrEqualToRadio.Size = new System.Drawing.Size(146, 17); + this.GreaterThanOrEqualToRadio.TabIndex = 75; + this.GreaterThanOrEqualToRadio.Text = "Greater Than or Equal To"; + this.GreaterThanOrEqualToRadio.UseVisualStyleBackColor = true; + this.GreaterThanOrEqualToRadio.Click += new System.EventHandler(this.GreaterThanOrEqualToRadio_Click); + // + // LessThanOrEqualToRadio + // + this.LessThanOrEqualToRadio.AutoSize = true; + this.LessThanOrEqualToRadio.Location = new System.Drawing.Point(7, 93); + this.LessThanOrEqualToRadio.Name = "LessThanOrEqualToRadio"; + this.LessThanOrEqualToRadio.Size = new System.Drawing.Size(133, 17); + this.LessThanOrEqualToRadio.TabIndex = 70; + this.LessThanOrEqualToRadio.Text = "Less Than or Equal To"; + this.LessThanOrEqualToRadio.UseVisualStyleBackColor = true; + this.LessThanOrEqualToRadio.Click += new System.EventHandler(this.LessThanOrEqualToRadio_Click); + // + // GreaterThanRadio + // + this.GreaterThanRadio.AutoSize = true; + this.GreaterThanRadio.Location = new System.Drawing.Point(7, 74); + this.GreaterThanRadio.Name = "GreaterThanRadio"; + this.GreaterThanRadio.Size = new System.Drawing.Size(88, 17); + this.GreaterThanRadio.TabIndex = 65; + this.GreaterThanRadio.Text = "Greater Than"; + this.GreaterThanRadio.UseVisualStyleBackColor = true; + this.GreaterThanRadio.Click += new System.EventHandler(this.GreaterThanRadio_Click); + // + // LessThanRadio + // + this.LessThanRadio.AutoSize = true; + this.LessThanRadio.Location = new System.Drawing.Point(7, 54); + this.LessThanRadio.Name = "LessThanRadio"; + this.LessThanRadio.Size = new System.Drawing.Size(75, 17); + this.LessThanRadio.TabIndex = 60; + this.LessThanRadio.Text = "Less Than"; + this.LessThanRadio.UseVisualStyleBackColor = true; + this.LessThanRadio.Click += new System.EventHandler(this.LessThanRadio_Click); + // + // SearchButton + // + this.SearchButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.SearchButton.Image = global::BizHawk.MultiClient.Properties.Resources.search; + this.SearchButton.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.SearchButton.Location = new System.Drawing.Point(244, 361); + this.SearchButton.Name = "SearchButton"; + this.SearchButton.Size = new System.Drawing.Size(70, 23); + this.SearchButton.TabIndex = 90; + this.SearchButton.Text = "&Search"; + this.SearchButton.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.SearchButton.UseVisualStyleBackColor = true; + this.SearchButton.Click += new System.EventHandler(this.SearchMenuItem_Click); + // + // NewRamSearch // this.AllowDrop = true; this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(470, 459); - this.Controls.Add(this.toolStrip2); - this.Controls.Add(this.SearchtoolStrip1); + this.ClientSize = new System.Drawing.Size(438, 459); + this.Controls.Add(this.SearchButton); + this.Controls.Add(this.AutoSearchCheckBox); + this.Controls.Add(this.ComparisonBox); this.Controls.Add(this.toolStrip1); this.Controls.Add(this.MessageLabel); this.Controls.Add(this.MemDomainLabel); - this.Controls.Add(this.ComparisonBox); - this.Controls.Add(this.AutoSearchCheckBox); this.Controls.Add(this.CompareToBox); - this.Controls.Add(this.SearchListView); + this.Controls.Add(this.WatchListView); this.Controls.Add(this.TotalSearchLabel); this.Controls.Add(this.menuStrip1); this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.MainMenuStrip = this.menuStrip1; - this.MinimumSize = new System.Drawing.Size(291, 463); - this.Name = "RamSearch"; - this.Text = "Ram Search"; - this.Activated += new System.EventHandler(this.RamSearch_Activated); + this.MinimumSize = new System.Drawing.Size(291, 400); + this.Name = "NewRamSearch"; + this.Text = "Brand New Experimental Ram Search"; + this.Activated += new System.EventHandler(this.NewRamSearch_Activated); this.Load += new System.EventHandler(this.RamSearch_Load); - this.DragDrop += new System.Windows.Forms.DragEventHandler(this.RamSearch_DragDrop); - this.DragEnter += new System.Windows.Forms.DragEventHandler(this.RamSearch_DragEnter); - this.SearchtoolStrip1.ResumeLayout(false); - this.SearchtoolStrip1.PerformLayout(); + this.DragDrop += new System.Windows.Forms.DragEventHandler(this.NewRamSearch_DragDrop); + this.DragEnter += new System.Windows.Forms.DragEventHandler(this.NewRamSearch_DragEnter); this.contextMenuStrip1.ResumeLayout(false); this.menuStrip1.ResumeLayout(false); this.menuStrip1.PerformLayout(); - this.toolStrip1.ResumeLayout(false); - this.toolStrip1.PerformLayout(); - this.toolStrip2.ResumeLayout(false); - this.toolStrip2.PerformLayout(); this.CompareToBox.ResumeLayout(false); this.CompareToBox.PerformLayout(); + this.toolStrip1.ResumeLayout(false); + this.toolStrip1.PerformLayout(); this.ComparisonBox.ResumeLayout(false); this.ComparisonBox.PerformLayout(); this.ResumeLayout(false); @@ -1331,124 +1335,127 @@ #endregion - private System.Windows.Forms.ToolStripButton openToolStripButton; - private System.Windows.Forms.ToolStripButton saveToolStripButton; - private System.Windows.Forms.ToolStripSeparator toolStripSeparator; - private System.Windows.Forms.ToolStripButton cutToolStripButton; - private System.Windows.Forms.ToolStripButton PoketoolStripButton1; - private System.Windows.Forms.Label TotalSearchLabel; - VirtualListView SearchListView; - private System.Windows.Forms.ColumnHeader Address; - private System.Windows.Forms.ColumnHeader Value; - private System.Windows.Forms.ColumnHeader Previous; - private System.Windows.Forms.ColumnHeader Changes; + private System.Windows.Forms.Label TotalSearchLabel; + VirtualListView WatchListView; + private System.Windows.Forms.ColumnHeader AddressColumn; + private System.Windows.Forms.ColumnHeader ValueColumn; + private System.Windows.Forms.ColumnHeader PreviousColumn; + private System.Windows.Forms.ColumnHeader ChangesColumn; private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem; - private System.Windows.Forms.ToolStripButton NewSearchtoolStripButton; - private System.Windows.Forms.ToolStripButton toolStripButton1; - private System.Windows.Forms.ToolStripButton ClearChangeCountstoolStripButton; - private System.Windows.Forms.ToolStripButton UndotoolStripButton; - private System.Windows.Forms.ToolStripSplitButton DataSizetoolStripSplitButton1; - private System.Windows.Forms.ToolStripMenuItem byteToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem bytesToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem dWordToolStripMenuItem1; - private System.Windows.Forms.ToolStripSplitButton DataTypetoolStripSplitButton1; - private System.Windows.Forms.ToolStripMenuItem signedToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem unsignedToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem hexadecimalToolStripMenuItem; - private System.Windows.Forms.GroupBox CompareToBox; - private System.Windows.Forms.RadioButton NumberOfChangesRadio; - private System.Windows.Forms.RadioButton SpecificAddressRadio; - private System.Windows.Forms.RadioButton SpecificValueRadio; - private System.Windows.Forms.RadioButton PreviousValueRadio; - private System.Windows.Forms.TextBox NumberOfChangesBox; - private HexTextBox SpecificAddressBox; - private System.Windows.Forms.TextBox SpecificValueBox; - private System.Windows.Forms.ToolStripSplitButton EndiantoolSplitButton; - private System.Windows.Forms.ToolStripMenuItem bigEndianToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem littleEndianToolStripMenuItem; - private System.Windows.Forms.GroupBox ComparisonBox; - private System.Windows.Forms.RadioButton DifferentByRadio; - private System.Windows.Forms.RadioButton NotEqualToRadio; - private System.Windows.Forms.RadioButton EqualToRadio; - private System.Windows.Forms.RadioButton GreaterThanOrEqualToRadio; - private System.Windows.Forms.RadioButton LessThanOrEqualToRadio; - private System.Windows.Forms.RadioButton GreaterThanRadio; - private System.Windows.Forms.RadioButton LessThanRadio; - private System.Windows.Forms.TextBox DifferentByBox; - private System.Windows.Forms.CheckBox AutoSearchCheckBox; - private System.Windows.Forms.ToolStripMenuItem openToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem saveAsToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem saveToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem newSearchToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem OpenMenuItem; + private System.Windows.Forms.ToolStripMenuItem SaveAsMenuItem; + private System.Windows.Forms.ToolStripMenuItem SaveMenuItem; + private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem optionsToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem restoreOriginalWindowSizeToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem saveWindowPositionToolStripMenuItem; - private System.Windows.Forms.ToolStripSeparator toolStripSeparator1; + private System.Windows.Forms.ToolStripMenuItem RestoreDefaultsMenuItem; + private System.Windows.Forms.ToolStripMenuItem SaveWinPositionMenuItem; private System.Windows.Forms.Label MemDomainLabel; - private System.Windows.Forms.Label MessageLabel; - private System.Windows.Forms.Label label1; - private System.Windows.Forms.ToolStripMenuItem recentToolStripMenuItem; + private System.Windows.Forms.Label MessageLabel; + private System.Windows.Forms.ToolStripMenuItem RecentSubMenu; private System.Windows.Forms.ToolStripSeparator toolStripSeparator2; - private System.Windows.Forms.ToolStripMenuItem appendFileToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem AppendFileMenuItem; private System.Windows.Forms.ToolStripSeparator toolStripSeparator4; - private System.Windows.Forms.ToolStripMenuItem searchToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem searchToolStripMenuItem1; - private System.Windows.Forms.ToolStripMenuItem clearChangeCountsToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem undoToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem removeSelectedToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem searchToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem ClearChangeCountsMenuItem; + private System.Windows.Forms.ToolStripMenuItem UndoMenuItem; + private System.Windows.Forms.ToolStripMenuItem RemoveMenuItem; private System.Windows.Forms.ToolStripSeparator toolStripSeparator5; - private System.Windows.Forms.ToolStripMenuItem addSelectedToRamWatchToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem pokeAddressToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem definePreviousValueToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem sinceLastSearchToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem sinceLastFrameToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem previewModeToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem originalValueToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem TruncateFromFileToolStripMenuItem; - private System.Windows.Forms.ToolStripButton TruncateFromFiletoolStripButton2; - private System.Windows.Forms.ToolStripButton ExcludeRamWatchtoolStripButton2; - private System.Windows.Forms.ToolStripMenuItem excludeRamWatchListToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem alwaysExcludeRamSearchListToolStripMenuItem; - private System.Windows.Forms.ToolStripButton SetCurrToPrevtoolStripButton2; - private System.Windows.Forms.ToolStripMenuItem copyValueToPrevToolStripMenuItem; - private System.Windows.Forms.ToolStripSeparator toolStripSeparator8; - private System.Windows.Forms.ToolStripSeparator toolStripSeparator6; - private System.Windows.Forms.ToolStripSeparator toolStripSeparator7; + private System.Windows.Forms.ToolStripMenuItem AddToRamWatchMenuItem; + private System.Windows.Forms.ToolStripMenuItem PokeAddressMenuItem; + private System.Windows.Forms.ToolStripMenuItem TruncateFromFileMenuItem; + private System.Windows.Forms.ToolStripMenuItem ExcludeRamWatchMenuItem; + private System.Windows.Forms.ToolStripMenuItem CopyValueToPrevMenuItem; private System.Windows.Forms.ContextMenuStrip contextMenuStrip1; - private System.Windows.Forms.ToolStripMenuItem startNewSearchToolStripMenuItem; - private System.Windows.Forms.ToolStripSeparator toolStripSeparator9; - private System.Windows.Forms.ToolStripMenuItem searchToolStripMenuItem2; - private System.Windows.Forms.ToolStripMenuItem memoryDomainsToolStripMenuItem; - private System.Windows.Forms.ToolStripButton FreezeAddressToolStrip; - private System.Windows.Forms.ToolStripMenuItem freezeAddressToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem removeSelectedToolStripMenuItem1; - private System.Windows.Forms.ToolStripMenuItem addToRamWatchToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem pokeAddressToolStripMenuItem1; - private System.Windows.Forms.ToolStripMenuItem freezeAddressToolStripMenuItem1; - private ToolStripEx SearchtoolStrip1; + private System.Windows.Forms.ToolStripMenuItem NewSearchContextMenuItem; + private System.Windows.Forms.ToolStripSeparator ContextMenuSeparator1; + private System.Windows.Forms.ToolStripMenuItem DoSearchContextMenuItem; + private System.Windows.Forms.ToolStripMenuItem FreezeAddressMenuItem; + private System.Windows.Forms.ToolStripMenuItem RemoveContextMenuItem; + private System.Windows.Forms.ToolStripMenuItem AddToRamWatchContextMenuItem; + private System.Windows.Forms.ToolStripMenuItem PokeContextMenuItem; + private System.Windows.Forms.ToolStripMenuItem FreezeContextMenuItem; private MenuStripEx menuStrip1; - private ToolStripEx toolStrip1; - private ToolStripEx toolStrip2; private System.Windows.Forms.ToolTip toolTip1; - private System.Windows.Forms.ToolStripButton WatchtoolStripButton1; - private System.Windows.Forms.ToolStripButton RedotoolStripButton2; - private System.Windows.Forms.ToolStripSeparator toolStripSeparator10; - private System.Windows.Forms.ToolStripMenuItem redoToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem viewInHexEditorToolStripMenuItem; - private System.Windows.Forms.ToolStripSeparator toolStripSeparator3; - private System.Windows.Forms.ToolStripMenuItem includeMisalignedToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem sinceLastChangeToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem autoloadDialogToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem RedoMenuItem; + private System.Windows.Forms.ToolStripMenuItem ViewInHexEditorContextMenuItem; + private System.Windows.Forms.ToolStripMenuItem AutoloadDialogMenuItem; private System.Windows.Forms.ToolStripSeparator toolStripSeparator11; - private System.Windows.Forms.ToolStripMenuItem unfreezeAllToolStripMenuItem; - private System.Windows.Forms.ToolStripSeparator toolStripSeparator12; - private System.Windows.Forms.ToolStripMenuItem alwaysOnTopToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem UnfreezeAllContextMenuItem; + private System.Windows.Forms.ToolStripSeparator ContextMenuSeparator3; + private System.Windows.Forms.ToolStripMenuItem AlwaysOnTopMenuItem; private System.Windows.Forms.ToolStripSeparator toolStripSeparator13; - private System.Windows.Forms.ToolStripMenuItem clearUndoHistoryToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem fastModeToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem useUndoHistoryToolStripMenuItem; - private System.Windows.Forms.ToolStripSeparator toolStripSeparator14; - private System.Windows.Forms.ToolStripMenuItem clearPreviewToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem ClearUndoMenuItem; + private System.Windows.Forms.ToolStripMenuItem UseUndoHistoryMenuItem; + private System.Windows.Forms.ToolStripSeparator ContextMenuSeparator2; + private System.Windows.Forms.ToolStripMenuItem ClearPreviewContextMenuItem; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator3; + private System.Windows.Forms.ToolStripMenuItem newSearchToolStripMenuItem; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator7; + private System.Windows.Forms.ToolStripMenuItem settingsToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem modeToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem DetailedMenuItem; + private System.Windows.Forms.ToolStripMenuItem FastMenuItem; + private System.Windows.Forms.ToolStripMenuItem MemoryDomainsSubMenu; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator6; + private System.Windows.Forms.ToolStripMenuItem sizeToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem _1ByteMenuItem; + private System.Windows.Forms.ToolStripMenuItem _2ByteMenuItem; + private System.Windows.Forms.ToolStripMenuItem _4ByteMenuItem; + private System.Windows.Forms.ToolStripMenuItem DisplayTypeSubMenu; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator1; + private System.Windows.Forms.ToolStripMenuItem BigEndianMenuItem; + private System.Windows.Forms.ToolStripMenuItem CheckMisalignedMenuItem; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator8; + private System.Windows.Forms.ToolStripMenuItem DefinePreviousValueSubMenu; + private System.Windows.Forms.ToolStripMenuItem PreviousFrameMenuItem; + private System.Windows.Forms.ToolStripMenuItem Previous_LastSearchMenuItem; + private System.Windows.Forms.ToolStripMenuItem Previous_LastChangeMenuItem; + private System.Windows.Forms.ToolStripMenuItem Previous_OriginalMenuItem; + private System.Windows.Forms.GroupBox CompareToBox; + private System.Windows.Forms.RadioButton DifferenceRadio; + private UnsignedIntegerBox NumberOfChangesBox; + private HexTextBox SpecificAddressBox; + private WatchValueBox SpecificValueBox; + private System.Windows.Forms.RadioButton NumberOfChangesRadio; + private System.Windows.Forms.RadioButton SpecificAddressRadio; + private System.Windows.Forms.RadioButton SpecificValueRadio; + private System.Windows.Forms.RadioButton PreviousValueRadio; + private ToolStripEx toolStrip1; + private System.Windows.Forms.ToolStripButton DoSearchToolButton; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator10; + private System.Windows.Forms.ToolStripButton NewSearchToolButton; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator15; + private System.Windows.Forms.GroupBox ComparisonBox; + private UnsignedIntegerBox DifferentByBox; + private System.Windows.Forms.RadioButton DifferentByRadio; + private System.Windows.Forms.RadioButton NotEqualToRadio; + private System.Windows.Forms.RadioButton EqualToRadio; + private System.Windows.Forms.RadioButton GreaterThanOrEqualToRadio; + private System.Windows.Forms.RadioButton LessThanOrEqualToRadio; + private System.Windows.Forms.RadioButton GreaterThanRadio; + private System.Windows.Forms.RadioButton LessThanRadio; + private System.Windows.Forms.ToolStripButton CopyValueToPrevToolBarItem; + private System.Windows.Forms.ToolStripButton ClearChangeCountsToolBarItem; + private System.Windows.Forms.ToolStripMenuItem PreviewModeMenuItem; + private System.Windows.Forms.ToolStripButton RemoveToolBarItem; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator16; + private System.Windows.Forms.ToolStripButton AddToRamWatchToolBarItem; + private System.Windows.Forms.ToolStripButton PokeAddressToolBarItem; + private System.Windows.Forms.ToolStripButton FreezeAddressToolBarItem; + private UnsignedIntegerBox DifferenceBox; + private System.Windows.Forms.ToolStripMenuItem AutoSearchMenuItem; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator9; + private System.Windows.Forms.ColumnHeader DiffColumn; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator12; + private System.Windows.Forms.ToolStripButton UndoToolBarButton; + private System.Windows.Forms.ToolStripButton RedoToolBarItem; + private System.Windows.Forms.ToolStripMenuItem ColumnsMenuItem; + private System.Windows.Forms.ToolStripMenuItem ShowPreviousMenuItem; + private System.Windows.Forms.ToolStripMenuItem ShowChangesMenuItem; + private System.Windows.Forms.ToolStripMenuItem ShowDiffMenuItem; + private System.Windows.Forms.CheckBox AutoSearchCheckBox; + private System.Windows.Forms.Button SearchButton; + private System.Windows.Forms.ToolStripSeparator RebootToolBarSeparator; + private System.Windows.Forms.ToolStripButton RebootToolbarButton; } } \ No newline at end of file diff --git a/BizHawk.MultiClient/tools/Watch/RamSearch.cs b/BizHawk.MultiClient/tools/Watch/RamSearch.cs index 837ddc5b8a..8252dc5bd5 100644 --- a/BizHawk.MultiClient/tools/Watch/RamSearch.cs +++ b/BizHawk.MultiClient/tools/Watch/RamSearch.cs @@ -1,4 +1,5 @@ using System; +using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; @@ -15,47 +16,34 @@ namespace BizHawk.MultiClient /// public partial class RamSearch : Form { - //TODO: - //Go To Address (Ctrl+G) feature - //Multiple undo levels (List> UndoLists) + public const string ADDRESS = "AddressColumn"; + public const string VALUE = "ValueColumn"; + public const string PREV = "PrevColumn"; + public const string CHANGES = "ChangesColumn"; + public const string DIFF = "DiffColumn"; - private string systemID = "NULL"; - private List Searches = new List(); - private HistoryCollection SearchHistory = new HistoryCollection(enabled:true); - private bool IsAWeededList = false; //For deciding whether the weeded list is relevant (0 size could mean all were removed in a legit preview - private readonly List domainMenuItems = new List(); - private MemoryDomain Domain = new MemoryDomain("NULL", 1, Endian.Little, addr => 0, (a, v) => { }); + private readonly Dictionary DefaultColumnWidths = new Dictionary + { + { ADDRESS, 60 }, + { VALUE, 59 }, + { PREV, 59 }, + { CHANGES, 55 }, + { DIFF, 59 }, + }; - public enum SCompareTo { PREV, VALUE, ADDRESS, CHANGES }; - public enum SOperator { LESS, GREATER, LESSEQUAL, GREATEREQUAL, EQUAL, NOTEQUAL, DIFFBY }; - public enum SSigned { SIGNED, UNSIGNED, HEX }; + private string CurrentFileName = String.Empty; + + private RamSearchEngine Searches; + private RamSearchEngine.Settings Settings; - //Reset window position item private int defaultWidth; //For saving the default size of the dialog, so the user can restore if desired private int defaultHeight; - private int defaultAddressWidth; - private int defaultValueWidth; - private int defaultPrevWidth; - private int defaultChangesWidth; - private string currentFile = ""; - private string addressFormatStr = "{0:X4} "; - private bool sortReverse; - private string sortedCol; + private string _sortedColumn = ""; + private bool _sortReverse = false; private bool forcePreviewClear = false; + private bool autoSearch = false; - public void SaveConfigSettings() - { - ColumnPositionSet(); - Global.Config.RamSearchAddressWidth = SearchListView.Columns[Global.Config.RamSearchAddressIndex].Width; - Global.Config.RamSearchValueWidth = SearchListView.Columns[Global.Config.RamSearchValueIndex].Width; - Global.Config.RamSearchPrevWidth = SearchListView.Columns[Global.Config.RamSearchPrevIndex].Width; - Global.Config.RamSearchChangesWidth = SearchListView.Columns[Global.Config.RamSearchChangesIndex].Width; - - Global.Config.RamSearchWndx = Location.X; - Global.Config.RamSearchWndy = Location.Y; - Global.Config.RamSearchWidth = Right - Left; - Global.Config.RamSearchHeight = Bottom - Top; - } + #region Initialize, Load, and Save public RamSearch() { @@ -63,436 +51,510 @@ namespace BizHawk.MultiClient SetStyle(ControlStyles.UserPaint, true); SetStyle(ControlStyles.OptimizedDoubleBuffer, true); InitializeComponent(); + WatchListView.QueryItemText += ListView_QueryItemText; + WatchListView.QueryItemBkColor += ListView_QueryItemBkColor; + WatchListView.VirtualMode = true; Closing += (o, e) => SaveConfigSettings(); - } - public void UpdateValues() - { - if (!IsHandleCreated || IsDisposed) return; + _sortedColumn = ""; + _sortReverse = false; - if (Searches.Count > 8) - { - SearchListView.BlazingFast = true; - } + Settings = new RamSearchEngine.Settings(); + Searches = new RamSearchEngine(Settings); - sortReverse = false; - sortedCol = ""; - - if (!Global.Config.RamSearchFastMode) - { - for (int x = Searches.Count - 1; x >= 0; x--) - { - Searches[x].PeekAddress(); - } - } - - if (AutoSearchCheckBox.Checked) - { - DoSearch(); - } - else if (Global.Config.RamSearchPreviewMode) - { - DoPreview(); - } - - SearchListView.Refresh(); - SearchListView.BlazingFast = false; + TopMost = Global.Config.RamSearchAlwaysOnTop; + SetReboot(false); } private void RamSearch_Load(object sender, EventArgs e) { LoadConfigSettings(); - SetMemoryDomainMenu(); + SpecificValueBox.ByteSize = Settings.Size; + SpecificValueBox.Type = Settings.Type; + MessageLabel.Text = String.Empty; + NewSearch(); } - private void SetEndian() + private void ListView_QueryItemBkColor(int index, int column, ref Color color) { - if (Domain.Endian == Endian.Big) + if (Searches.Count > 0 && column == 0) { - SetBigEndian(); + Color nextColor = Color.White; + + bool isCheat = Global.CheatList.IsActiveCheat(Settings.Domain, Searches[index].Address.Value); + bool isWeeded = Global.Config.RamSearchPreviewMode && Searches.Preview(Searches[index].Address.Value) && !forcePreviewClear; + + if (isCheat) + { + if (isWeeded) + { + nextColor = Color.Lavender; + } + else + { + nextColor = Color.LightCyan; + } + } + else + { + if (isWeeded) + { + nextColor = Color.Pink; + } + } + + if (color != nextColor) + { + color = nextColor; + } } - else + } + + private void ListView_QueryItemText(int index, int column, out string text) + { + text = ""; + + if (index >= Searches.Count) { - SetLittleEndian(); + return; + } + + string columnName = WatchListView.Columns[column].Name; + switch (columnName) + { + case ADDRESS: + text = Searches[index].AddressString; + break; + case VALUE: + text = Searches[index].ValueString; + break; + case PREV: + text = Searches[index].PreviousStr; + break; + case CHANGES: + if (Searches[index] is IWatchDetails) + { + text = (Searches[index] as IWatchDetails).ChangeCount.ToString(); + } + break; + case DIFF: + if (Searches[index] is IWatchDetails) + { + text = (Searches[index] as IWatchDetails).Diff; + } + break; } } private void LoadConfigSettings() { - ColumnPositionSet(); - + //Size and Positioning defaultWidth = Size.Width; //Save these first so that the user can restore to its original size defaultHeight = Size.Height; - defaultAddressWidth = SearchListView.Columns[Global.Config.RamSearchAddressIndex].Width; - defaultValueWidth = SearchListView.Columns[Global.Config.RamSearchValueIndex].Width; - defaultPrevWidth = SearchListView.Columns[Global.Config.RamSearchPrevIndex].Width; - defaultChangesWidth = SearchListView.Columns[Global.Config.RamSearchChangesIndex].Width; - - SetEndian(); if (Global.Config.RamSearchSaveWindowPosition && Global.Config.RamSearchWndx >= 0 && Global.Config.RamSearchWndy >= 0) + { Location = new Point(Global.Config.RamSearchWndx, Global.Config.RamSearchWndy); + } if (Global.Config.RamSearchWidth >= 0 && Global.Config.RamSearchHeight >= 0) { Size = new Size(Global.Config.RamSearchWidth, Global.Config.RamSearchHeight); } - if (Global.Config.RamSearchAddressWidth > 0) - SearchListView.Columns[Global.Config.RamSearchAddressIndex].Width = Global.Config.RamSearchAddressWidth; - if (Global.Config.RamSearchValueWidth > 0) - SearchListView.Columns[Global.Config.RamSearchValueIndex].Width = Global.Config.RamSearchValueWidth; - if (Global.Config.RamSearchPrevWidth > 0) - SearchListView.Columns[Global.Config.RamSearchPrevIndex].Width = Global.Config.RamSearchPrevWidth; - if (Global.Config.RamSearchChangesWidth > 0) - SearchListView.Columns[Global.Config.RamSearchChangesIndex].Width = Global.Config.RamSearchChangesWidth; + TopMost = Global.Config.RamSearchAlwaysOnTop; + + LoadColumnInfo(); } - private void SetMemoryDomainMenu() + #endregion + + #region Public + + public void UpdateValues() { - memoryDomainsToolStripMenuItem.DropDownItems.Clear(); - if (Global.Emulator.MemoryDomains.Count > 0) + if (Searches.Count > 0) { - for (int x = 0; x < Global.Emulator.MemoryDomains.Count; x++) + Searches.Update(); + + if (autoSearch) { - string str = Global.Emulator.MemoryDomains[x].ToString(); - var item = new ToolStripMenuItem { Text = str }; - { - int z = x; - item.Click += (o, ev) => SetMemoryDomainNew(z); - } - if (x == 0) - { - SetMemoryDomainNew(x); - } - memoryDomainsToolStripMenuItem.DropDownItems.Add(item); - domainMenuItems.Add(item); + DoSearch(); } + + WatchListView.Refresh(); } - else - memoryDomainsToolStripMenuItem.Enabled = false; } public void Restart() { + //TODO if (!IsHandleCreated || IsDisposed) return; - SetMemoryDomainMenu(); //Calls Start New Search + Settings.Domain = Global.Emulator.MainMemory; + NewSearch(); } - private void SetMemoryDomainNew(int pos) + public void SaveConfigSettings() { - SetMemoryDomain(pos); - SetEndian(); - StartNewSearch(); + SaveColumnInfo(); + + Global.Config.RamSearchWndx = Location.X; + Global.Config.RamSearchWndy = Location.Y; + Global.Config.RamSearchWidth = Right - Left; + Global.Config.RamSearchHeight = Bottom - Top; + } + + #endregion + + #region Private + + private void NewSearch() + { + Searches = new RamSearchEngine(Settings); + Searches.Start(); + if (Global.Config.RamSearchAlwaysExcludeRamWatch) + { + RemoveRamWatchesFromList(); + } + + SetTotal(); + WatchListView.ItemCount = Searches.Count; + ToggleSearchDependentToolBarItems(); + SetReboot(false); + } + + private void ToggleSearchDependentToolBarItems() + { + DoSearchToolButton.Enabled = + CopyValueToPrevToolBarItem.Enabled = + Searches.Count > 0; + UpdateUndoToolBarButtons(); + } + + private void DoSearch() + { + int removed = Searches.DoSearch(); + SetTotal(); + WatchListView.ItemCount = Searches.Count; + SetRemovedMessage(removed); + ToggleSearchDependentToolBarItems(); + } + + private List SelectedIndices + { + get + { + var indices = new List(); + foreach (int index in WatchListView.SelectedIndices) + { + indices.Add(index); + } + return indices; + } + } + + private void SetRemovedMessage(int val) + { + MessageLabel.Text = val.ToString() + " address" + (val != 1 ? "es" : String.Empty) + " removed"; + } + + private void SetTotal() + { + TotalSearchLabel.Text = String.Format("{0:n0}", Searches.Count) + " addresses"; + } + + private void SetDomainLabel() + { + MemDomainLabel.Text = Searches.DomainName; + } + + private void LoadFileFromRecent(string path) + { + FileInfo file = new FileInfo(path); + + if (!file.Exists) + { + Global.Config.RecentSearches.HandleLoadError(path); + } + else + { + LoadWatchFile(file, append: false); + } + } + + private void SetPlatformAndMemoryDomainLabel() + { + MemDomainLabel.Text = Global.Emulator.SystemId + " " + Searches.DomainName; } private void SetMemoryDomain(int pos) { if (pos < Global.Emulator.MemoryDomains.Count) //Sanity check { - Domain = Global.Emulator.MemoryDomains[pos]; + Settings.Domain = Global.Emulator.MemoryDomains[pos]; + SetDomainLabel(); + SetReboot(true); } - SetPlatformAndMemoryDomainLabel(); - addressFormatStr = "X" + GetNumDigits(Domain.Size - 1).ToString(); } - private void SetTotal() + private void LoadColumnInfo() { - int x = Searches.Count; - string str; - if (x == 1) - str = " address"; - else - str = " addresses"; - TotalSearchLabel.Text = String.Format("{0:n0}", x) + str; + WatchListView.Columns.Clear(); + AddColumn(ADDRESS, true); + AddColumn(VALUE, true); + AddColumn(PREV, Global.Config.RamSearchShowPrevColumn); + AddColumn(CHANGES, Global.Config.RamSearchShowChangeColumn); + AddColumn(DIFF, Global.Config.RamSearchShowDiffColumn); + + ColumnPositions(); } - private void OpenSearchFile() + private void ColumnPositions() + { + List> Columns = + Global.Config.RamSearchColumnIndexes + .Where(x => WatchListView.Columns.ContainsKey(x.Key)) + .OrderBy(x => x.Value).ToList(); + + for (int i = 0; i < Columns.Count; i++) + { + if (WatchListView.Columns.ContainsKey(Columns[i].Key)) + { + WatchListView.Columns[Columns[i].Key].DisplayIndex = i; + } + } + } + + private void SaveColumnInfo() + { + if (WatchListView.Columns[ADDRESS] != null) + { + Global.Config.RamSearchColumnIndexes[ADDRESS] = WatchListView.Columns[ADDRESS].DisplayIndex; + Global.Config.RamSearchColumnWidths[ADDRESS] = WatchListView.Columns[ADDRESS].Width; + } + + if (WatchListView.Columns[VALUE] != null) + { + Global.Config.RamSearchColumnIndexes[VALUE] = WatchListView.Columns[VALUE].DisplayIndex; + Global.Config.RamSearchColumnWidths[VALUE] = WatchListView.Columns[VALUE].Width; + } + + if (WatchListView.Columns[PREV] != null) + { + Global.Config.RamSearchColumnIndexes[PREV] = WatchListView.Columns[PREV].DisplayIndex; + Global.Config.RamSearchColumnWidths[PREV] = WatchListView.Columns[PREV].Width; + } + + if (WatchListView.Columns[CHANGES] != null) + { + Global.Config.RamSearchColumnIndexes[CHANGES] = WatchListView.Columns[CHANGES].DisplayIndex; + Global.Config.RamSearchColumnWidths[CHANGES] = WatchListView.Columns[CHANGES].Width; + } + + if (WatchListView.Columns[DIFF] != null) + { + Global.Config.RamSearchColumnIndexes[DIFF] = WatchListView.Columns[DIFF].DisplayIndex; + Global.Config.RamSearchColumnWidths[DIFF] = WatchListView.Columns[DIFF].Width; + } + } + + private int GetColumnWidth(string columnName) + { + var width = Global.Config.RamSearchColumnWidths[columnName]; + if (width == -1) + { + width = DefaultColumnWidths[columnName]; + } + + return width; + } + + private void AddColumn(string columnName, bool enabled) + { + if (enabled) + { + if (WatchListView.Columns[columnName] == null) + { + ColumnHeader column = new ColumnHeader + { + Name = columnName, + Text = columnName.Replace("Column", ""), + Width = GetColumnWidth(columnName), + }; + + WatchListView.Columns.Add(column); + } + } + } + + private void DoDisplayTypeClick(Watch.DisplayType type) + { + SpecificValueBox.Type = Settings.Type = type; + Searches.SetType(type); + } + + private void SetPreviousStype(Watch.PreviousType type) + { + Settings.PreviousType = type; + Searches.SetPreviousType(type); + } + + private void SetSize(Watch.WatchSize size) + { + SpecificValueBox.ByteSize = Settings.Size = size; + SetReboot(true); + } + + private void SetComparisonOperator(RamSearchEngine.ComparisonOperator op) + { + Searches.Operator = op; + } + + private void SetCompareTo(RamSearchEngine.Compare comp) + { + Searches.CompareTo = comp; + } + + private void SetCompareValue(int? value) + { + Searches.CompareValue = value; + } + + private void SetReboot(bool rebootNeeded) + { + RebootToolBarSeparator.Visible = + RebootToolbarButton.Visible = + rebootNeeded; + } + + private void SetToDetailedMode() + { + Settings.Mode = RamSearchEngine.Settings.SearchMode.Detailed; + NumberOfChangesRadio.Enabled = true; + NumberOfChangesBox.Enabled = true; + DifferenceRadio.Enabled = true; + DifferentByBox.Enabled = true; + ClearChangeCountsToolBarItem.Enabled = true; + WatchListView.Columns[CHANGES].Width = Global.Config.RamSearchColumnWidths[CHANGES]; + SetReboot(true); + } + + private void SetToFastMode() + { + Settings.Mode = RamSearchEngine.Settings.SearchMode.Fast; + + if (Settings.PreviousType == Watch.PreviousType.LastFrame || Settings.PreviousType == Watch.PreviousType.LastChange) + { + SetPreviousStype(Watch.PreviousType.LastSearch); + } + + NumberOfChangesRadio.Enabled = false; + NumberOfChangesBox.Enabled = false; + NumberOfChangesBox.Text = String.Empty; + ClearChangeCountsToolBarItem.Enabled = false; + + if (NumberOfChangesRadio.Checked || DifferenceRadio.Checked) + { + PreviousValueRadio.Checked = true; + } + + Global.Config.RamSearchColumnWidths[CHANGES] = WatchListView.Columns[CHANGES].Width; + WatchListView.Columns[CHANGES].Width = 0; + SetReboot(true); + } + + private void RemoveAddresses() + { + if (SelectedIndices.Count > 0) + { + SetRemovedMessage(SelectedIndices.Count); + + var addresses = new List(); + foreach (int index in SelectedIndices) + { + addresses.Add(Searches[index].Address.Value); + } + Searches.RemoveRange(addresses); + + WatchListView.ItemCount = Searches.Count; + SetTotal(); + WatchListView.SelectedIndices.Clear(); + } + } + + public void LoadWatchFile(FileInfo file, bool append, bool truncate = false) { - var file = GetFileFromUser(); if (file != null) { - LoadSearchFile(file.FullName, false, Searches); - DisplaySearchList(); + if (!truncate) + { + CurrentFileName = file.FullName; + } + + WatchList watches = new WatchList(Settings.Domain); + watches.Load(file.FullName, false, append); + List addresses = watches.Where(x => !x.IsSeparator).Select(x => x.Address.Value).ToList(); + + if (truncate) + { + SetRemovedMessage(addresses.Count); + Searches.RemoveRange(addresses); + } + else + { + Searches.AddRange(addresses, append); + MessageLabel.Text = file.Name + " loaded"; + } + + WatchListView.ItemCount = Searches.Count; + SetTotal(); + Global.Config.RecentSearches.Add(file.FullName); + + if (!append && !truncate) + { + Searches.ClearHistory(); + } + + ToggleSearchDependentToolBarItems(); } } - private void openToolStripMenuItem_Click(object sender, EventArgs e) - { - OpenSearchFile(); - } - - private void openToolStripButton_Click(object sender, EventArgs e) - { - OpenSearchFile(); - } - - private void saveAsToolStripMenuItem_Click(object sender, EventArgs e) - { - SaveAs(); - } - - private void exitToolStripMenuItem_Click(object sender, EventArgs e) - { - Hide(); - } - - private void SpecificValueRadio_CheckedChanged(object sender, EventArgs e) - { - if (SpecificValueRadio.Checked) - { - if (SpecificValueBox.Text == "") SpecificValueBox.Text = "0"; - SpecificValueBox.Enabled = true; - SpecificAddressBox.Enabled = false; - NumberOfChangesBox.Enabled = false; - SpecificValueBox.Focus(); - SpecificValueBox.SelectAll(); - } - DoPreview(); - } - - private void PreviousValueRadio_CheckedChanged(object sender, EventArgs e) - { - if (PreviousValueRadio.Checked) - { - SpecificValueBox.Enabled = false; - SpecificAddressBox.Enabled = false; - NumberOfChangesBox.Enabled = false; - } - DoPreview(); - } - - private void SpecificAddressRadio_CheckedChanged(object sender, EventArgs e) - { - if (SpecificAddressRadio.Checked) - { - if (SpecificAddressBox.Text == "") SpecificAddressBox.Text = "0"; - SpecificValueBox.Enabled = false; - SpecificAddressBox.Enabled = true; - NumberOfChangesBox.Enabled = false; - SpecificAddressBox.Focus(); - SpecificAddressBox.SelectAll(); - } - DoPreview(); - } - - private void NumberOfChangesRadio_CheckedChanged(object sender, EventArgs e) - { - if (NumberOfChangesRadio.Checked) - { - if (NumberOfChangesBox.Text == "") NumberOfChangesBox.Text = "0"; - SpecificValueBox.Enabled = false; - SpecificAddressBox.Enabled = false; - NumberOfChangesBox.Enabled = true; - NumberOfChangesBox.Focus(); - NumberOfChangesBox.SelectAll(); - } - } - - private void DifferentByRadio_CheckedChanged(object sender, EventArgs e) - { - if (DifferentByRadio.Checked) - { - if (DifferentByBox.Text == "0") DifferentByBox.Text = "0"; - DifferentByBox.Enabled = true; - DoPreview(); - } - else - DifferentByBox.Enabled = false; - DifferentByBox.Focus(); - DifferentByBox.SelectAll(); - } - private void AddToRamWatch() { - ListView.SelectedIndexCollection indexes = SearchListView.SelectedIndices; - - if (indexes.Count > 0) + if (SelectedIndices.Count > 0) { Global.MainForm.LoadRamWatch(true); - for (int x = 0; x < indexes.Count; x++) + for (int x = 0; x < SelectedIndices.Count; x++) { - Global.MainForm.NewRamWatch1.AddOldWatch(Searches[indexes[x]]); - } - } - } - - private void restoreOriginalWindowSizeToolStripMenuItem_Click(object sender, EventArgs e) - { - Size = new Size(defaultWidth, defaultHeight); - Global.Config.RamSearchAddressIndex = 0; - Global.Config.RamSearchValueIndex = 1; - Global.Config.RamSearchPrevIndex = 2; - Global.Config.RamSearchChangesIndex = 3; - ColumnPositionSet(); - - SearchListView.Columns[0].Width = defaultAddressWidth; - SearchListView.Columns[1].Width = defaultValueWidth; - SearchListView.Columns[2].Width = defaultPrevWidth; - SearchListView.Columns[3].Width = defaultChangesWidth; - } - - private void NewSearchtoolStripButton_Click(object sender, EventArgs e) - { - StartNewSearch(); - } - - private Watch_Legacy.DISPTYPE GetDataType() - { - if (unsignedToolStripMenuItem.Checked) - { - return Watch_Legacy.DISPTYPE.UNSIGNED; - } - else if (signedToolStripMenuItem.Checked) - { - return Watch_Legacy.DISPTYPE.SIGNED; - } - else if (hexadecimalToolStripMenuItem.Checked) - { - return Watch_Legacy.DISPTYPE.HEX; - } - else - { - return Watch_Legacy.DISPTYPE.UNSIGNED; //Just in case - } - } - - private Watch_Legacy.TYPE GetDataSize() - { - if (byteToolStripMenuItem.Checked) - { - return Watch_Legacy.TYPE.BYTE; - } - else if (bytesToolStripMenuItem.Checked) - { - return Watch_Legacy.TYPE.WORD; - } - else if (dWordToolStripMenuItem1.Checked) - { - return Watch_Legacy.TYPE.DWORD; - } - else - { - return Watch_Legacy.TYPE.BYTE; - } - } - - private bool GetBigEndian() - { - if (bigEndianToolStripMenuItem.Checked) - return true; - else - return false; - } - - private void StartNewSearch() - { - useUndoHistoryToolStripMenuItem.Checked = true; - if (Global.Emulator.SystemId == "N64") - { - byteToolStripMenuItem.Checked = false; - bytesToolStripMenuItem.Checked = false; - dWordToolStripMenuItem1.Checked = true; - useUndoHistoryToolStripMenuItem.Checked = false; - Global.Config.RamSearchFastMode = true; - - } - IsAWeededList = false; - SearchHistory.Clear(); - Searches.Clear(); - SetPlatformAndMemoryDomainLabel(); - int count = 0; - int divisor = 1; - - if (!includeMisalignedToolStripMenuItem.Checked) - { - switch (GetDataSize()) - { - case Watch_Legacy.TYPE.WORD: - divisor = 2; - break; - case Watch_Legacy.TYPE.DWORD: - divisor = 4; - break; - } - } - - for (int x = 0; x <= ((Domain.Size / divisor) - 1); x++) - { - Searches.Add(new Watch_Legacy()); - Searches[x].Address = count; - Searches[x].Type = GetDataSize(); - Searches[x].BigEndian = GetBigEndian(); - Searches[x].Signed = GetDataType(); - Searches[x].Domain = Domain; - Searches[x].PeekAddress(); - Searches[x].Prev = Searches[x].Value; - Searches[x].Original = Searches[x].Value; - Searches[x].LastChange = Searches[x].Value; - Searches[x].LastSearch = Searches[x].Value; - Searches[x].Changecount = 0; - if (includeMisalignedToolStripMenuItem.Checked) - count++; - else - { - switch (GetDataSize()) - { - case Watch_Legacy.TYPE.BYTE: - count++; - break; - case Watch_Legacy.TYPE.WORD: - count += 2; - break; - case Watch_Legacy.TYPE.DWORD: - count += 4; - break; - } + Global.MainForm.RamWatch1.AddWatch(Searches[SelectedIndices[x]]); } + if (Global.Config.RamSearchAlwaysExcludeRamWatch) + { + RemoveRamWatchesFromList(); + } } - if (Global.Config.RamSearchAlwaysExcludeRamWatch) - ExcludeRamWatchList(); - SetSpecificValueBoxMaxLength(); - MessageLabel.Text = "New search started"; - sortReverse = false; - sortedCol = ""; - DisplaySearchList(); - SearchHistory = new HistoryCollection(Searches, useUndoHistoryToolStripMenuItem.Checked); - UpdateUndoRedoToolItems(); - } - - private void DisplaySearchList() - { - SearchListView.ItemCount = Searches.Count; - SetTotal(); - } - - private void newSearchToolStripMenuItem_Click(object sender, EventArgs e) - { - StartNewSearch(); - } - - private void SetPlatformAndMemoryDomainLabel() - { - string memoryDomain = Domain.ToString(); - systemID = Global.Emulator.SystemId; - MemDomainLabel.Text = systemID + " " + memoryDomain; } private Point GetPromptPoint() { - return PointToScreen(new Point(SearchListView.Location.X, SearchListView.Location.Y)); + return PointToScreen(new Point(WatchListView.Location.X, WatchListView.Location.Y)); } private void PokeAddress() { - ListView.SelectedIndexCollection indexes = SearchListView.SelectedIndices; - if (indexes.Count > 0) + if (SelectedIndices.Count > 0) { Global.Sound.StopSound(); var poke = new RamPoke(); - var watch = Watch.ConvertLegacyWatch(Searches[indexes[0]]); - poke.SetWatch(new List { watch }); + + var watches = new List(); + for (int i = 0; i < SelectedIndices.Count; i++) + { + watches.Add(Searches[SelectedIndices[i]]); + } + + poke.SetWatch(watches); poke.InitialLocation = GetPromptPoint(); poke.ShowDialog(); UpdateValues(); @@ -500,2099 +562,697 @@ namespace BizHawk.MultiClient } } - private void PoketoolStripButton1_Click(object sender, EventArgs e) + private List SelectedWatches { - PokeAddress(); - } - - private string MakeAddressString(int num) - { - if (num == 1) - return " 1 address"; - else if (num < 10) - return " " + num.ToString() + " addresses"; - else - return num.ToString() + " addresses"; - } - - private void RemoveAddresses() - { - ListView.SelectedIndexCollection indexes = SearchListView.SelectedIndices; - if (indexes.Count > 0) + get { - MessageLabel.Text = MakeAddressString(indexes.Count) + " removed"; - for (int x = 0; x < indexes.Count; x++) + var selected = new List(); + ListView.SelectedIndexCollection indexes = WatchListView.SelectedIndices; + if (indexes.Count > 0) { - Searches.Remove(Searches[indexes[x] - x]); - } - indexes.Clear(); - DisplaySearchList(); - - SearchHistory.AddState(Searches); - UpdateUndoRedoToolItems(); - } - } - - private void cutToolStripButton_Click(object sender, EventArgs e) - { - RemoveAddresses(); - } - - private void UpdateUndoRedoToolItems() - { - UndotoolStripButton.Enabled = SearchHistory.CanUndo; - RedotoolStripButton2.Enabled = SearchHistory.CanRedo; - } - - private void DoUndo() - { - if (SearchHistory.CanUndo) - { - int oldVal = Searches.Count; - Searches = SearchHistory.Undo(); - int newVal = Searches.Count; - MessageLabel.Text = MakeAddressString(newVal - oldVal) + " restored"; - UpdateUndoRedoToolItems(); - DisplaySearchList(); - } - } - - private void DoRedo() - { - if (SearchHistory.CanRedo) - { - int oldVal = Searches.Count; - Searches = SearchHistory.Redo(); - int newVal = Searches.Count; - MessageLabel.Text = MakeAddressString(newVal - oldVal) + " removed"; - UpdateUndoRedoToolItems(); - DisplaySearchList(); - } - } - - private void SearchListView_QueryItemBkColor(int index, int column, ref Color color) - { - if (IsAWeededList && column == 0 && Searches[index].Deleted) - { - if (color == Color.Pink) - { - return; - } - else if (Global.CheatList.IsActiveCheat(Domain, Searches[index].Address)) - { - if (forcePreviewClear) + foreach (int index in indexes) { - color = Color.LightCyan; - } - else if (color == Color.Lavender) - { - return; - } - else - { - color = Color.Lavender; + if (!Searches[index].IsSeparator) + { + selected.Add(Searches[index]); + } } } - else - { - if (forcePreviewClear) - { - color = Color.White; - } - else if (color == Color.Pink) - { - return; - } - else - { - color = Color.Pink; - } - } - } - else if (Global.CheatList.IsActiveCheat(Domain, Searches[index].Address)) - { - if (color == Color.LightCyan) - { - return; - } - else - { - color = Color.LightCyan; - } - } - else - { - if (color == Color.White) - { - return; - } - else - { - color = Color.White; - } - } - } - - private void SearchListView_QueryItemText(int index, int column, out string text) - { - if (column == 0) - { - text = Searches[index].Address.ToString(addressFormatStr); - } - else if (column == 1) - { - text = Searches[index].ValueString; - } - else if (column == 2) - { - switch (Global.Config.RamSearchPreviousAs) - { - case 0: - text = Searches[index].LastSearchString; - break; - case 1: - text = Searches[index].OriginalString; - break; - default: - case 2: - text = Searches[index].PrevString; - break; - case 3: - text = Searches[index].LastChangeString; - break; - } - } - else if (column == 3) - { - text = Searches[index].Changecount.ToString(); - } - else - { - text = ""; - } - } - - private void ClearChangeCounts() - { - foreach (Watch_Legacy t in Searches) - { - t.Changecount = 0; - } - DisplaySearchList(); - MessageLabel.Text = "Change counts cleared"; - - SearchHistory.AddState(Searches); - UpdateUndoRedoToolItems(); - } - - private void ClearChangeCountstoolStripButton_Click(object sender, EventArgs e) - { - ClearChangeCounts(); - } - - private void UndotoolStripButton_Click_1(object sender, EventArgs e) - { - DoUndo(); - } - - private void DoPreview() - { - if (Global.Config.RamSearchPreviewMode) - { - forcePreviewClear = false; - GenerateWeedOutList(); - } - } - - private void TrimWeededList() - { - Searches = Searches.Where(x => x.Deleted == false).ToList(); - } - - private void DoSearch() - { - if (Global.Config.RamSearchFastMode) - { - for (int x = Searches.Count - 1; x >= 0; x--) - { - Searches[x].PeekAddress(); - } - } - - if (GenerateWeedOutList()) - { - MessageLabel.Text = MakeAddressString(Searches.Count(x => x.Deleted)) + " removed"; - TrimWeededList(); - UpdateLastSearch(); - DisplaySearchList(); - SearchHistory.AddState(Searches); - UpdateUndoRedoToolItems(); - } - else - { - MessageLabel.Text = "Search failed."; - } - } - - private void toolStripButton1_Click(object sender, EventArgs e) - { - DoSearch(); - } - - private SCompareTo GetCompareTo() - { - if (PreviousValueRadio.Checked) - return SCompareTo.PREV; - if (SpecificValueRadio.Checked) - return SCompareTo.VALUE; - if (SpecificAddressRadio.Checked) - return SCompareTo.ADDRESS; - if (NumberOfChangesRadio.Checked) - return SCompareTo.CHANGES; - - return SCompareTo.PREV; //Just in case - } - - private SOperator GetOperator() - { - if (LessThanRadio.Checked) - return SOperator.LESS; - if (GreaterThanRadio.Checked) - return SOperator.GREATER; - if (LessThanOrEqualToRadio.Checked) - return SOperator.LESSEQUAL; - if (GreaterThanOrEqualToRadio.Checked) - return SOperator.GREATEREQUAL; - if (EqualToRadio.Checked) - return SOperator.EQUAL; - if (NotEqualToRadio.Checked) - return SOperator.NOTEQUAL; - if (DifferentByRadio.Checked) - return SOperator.DIFFBY; - - return SOperator.LESS; //Just in case - } - - private bool GenerateWeedOutList() - { - //Switch based on user criteria - //Generate search list - //Use search list to generate a list of flagged address (for displaying pink) - IsAWeededList = true; - switch (GetCompareTo()) - { - case SCompareTo.PREV: - return DoPreviousValue(); - case SCompareTo.VALUE: - return DoSpecificValue(); - case SCompareTo.ADDRESS: - return DoSpecificAddress(); - case SCompareTo.CHANGES: - return DoNumberOfChanges(); - default: - return false; - } - } - - private int GetPreviousValue(int pos) - { - switch (Global.Config.RamSearchPreviousAs) - { - case 0: - return Searches[pos].LastSearch; - case 1: - return Searches[pos].Original; - default: - case 2: - return Searches[pos].Prev; - case 3: - return Searches[pos].LastChange; - } - } - - private bool DoPreviousValue() - { - switch (GetOperator()) - { - case SOperator.LESS: - for (int x = 0; x < Searches.Count; x++) - { - int previous = GetPreviousValue(x); - if (Searches[x].Signed == Watch_Legacy.DISPTYPE.SIGNED) - { - if (Searches[x].SignedVal(Searches[x].Value) < Searches[x].SignedVal(previous)) - { - Searches[x].Deleted = false; - } - else - { - Searches[x].Deleted = true; - } - } - else - { - if (Searches[x].UnsignedVal(Searches[x].Value) < Searches[x].UnsignedVal(previous)) - { - Searches[x].Deleted = false; - } - else - { - Searches[x].Deleted = true; - } - } - } - break; - case SOperator.GREATER: - for (int x = 0; x < Searches.Count; x++) - { - int previous = GetPreviousValue(x); - if (Searches[x].Signed == Watch_Legacy.DISPTYPE.SIGNED) - { - if (Searches[x].SignedVal(Searches[x].Value) > Searches[x].SignedVal(previous)) - { - Searches[x].Deleted = false; - } - else - { - Searches[x].Deleted = true; - } - } - else - { - if (Searches[x].UnsignedVal(Searches[x].Value) > Searches[x].UnsignedVal(previous)) - { - Searches[x].Deleted = false; - } - else - { - Searches[x].Deleted = true; - } - } - } - break; - case SOperator.LESSEQUAL: - for (int x = 0; x < Searches.Count; x++) - { - int previous = GetPreviousValue(x); - if (Searches[x].Signed == Watch_Legacy.DISPTYPE.SIGNED) - { - if (Searches[x].SignedVal(Searches[x].Value) <= Searches[x].SignedVal(previous)) - { - Searches[x].Deleted = false; - } - else - { - Searches[x].Deleted = true; - } - } - else - { - if (Searches[x].UnsignedVal(Searches[x].Value) <= Searches[x].UnsignedVal(previous)) - { - Searches[x].Deleted = false; - } - else - { - Searches[x].Deleted = true; - } - } - } - break; - case SOperator.GREATEREQUAL: - for (int x = 0; x < Searches.Count; x++) - { - int previous = GetPreviousValue(x); - if (Searches[x].Signed == Watch_Legacy.DISPTYPE.SIGNED) - { - if (Searches[x].SignedVal(Searches[x].Value) >= Searches[x].SignedVal(previous)) - { - Searches[x].Deleted = false; - } - else - { - Searches[x].Deleted = true; - } - } - else - { - if (Searches[x].UnsignedVal(Searches[x].Value) >= Searches[x].UnsignedVal(previous)) - { - Searches[x].Deleted = false; - } - else - { - Searches[x].Deleted = true; - } - } - } - break; - case SOperator.EQUAL: - for (int x = 0; x < Searches.Count; x++) - { - int previous = GetPreviousValue(x); - if (Searches[x].Signed == Watch_Legacy.DISPTYPE.SIGNED) - { - if (Searches[x].SignedVal(Searches[x].Value) == Searches[x].SignedVal(previous)) - { - Searches[x].Deleted = false; - } - else - { - Searches[x].Deleted = true; - } - } - else - { - if (Searches[x].UnsignedVal(Searches[x].Value) == Searches[x].UnsignedVal(previous)) - { - Searches[x].Deleted = false; - } - else - { - Searches[x].Deleted = true; - } - } - } - break; - case SOperator.NOTEQUAL: - for (int x = 0; x < Searches.Count; x++) - { - int previous = GetPreviousValue(x); - if (Searches[x].Signed == Watch_Legacy.DISPTYPE.SIGNED) - { - if (Searches[x].SignedVal(Searches[x].Value) != Searches[x].SignedVal(previous)) - { - Searches[x].Deleted = false; - } - else - { - Searches[x].Deleted = true; - } - } - else - { - if (Searches[x].UnsignedVal(Searches[x].Value) != Searches[x].UnsignedVal(previous)) - { - Searches[x].Deleted = false; - } - else - { - Searches[x].Deleted = true; - } - } - } - break; - case SOperator.DIFFBY: - int diff = GetDifferentBy(); - if (diff < 0) return false; - for (int x = 0; x < Searches.Count; x++) - { - int previous = GetPreviousValue(x); - if (Searches[x].Signed == Watch_Legacy.DISPTYPE.SIGNED) - { - if (Searches[x].SignedVal(Searches[x].Value) == Searches[x].SignedVal(previous) + diff || Searches[x].SignedVal(Searches[x].Value) == Searches[x].SignedVal(previous) - diff) - { - Searches[x].Deleted = false; - } - else - { - Searches[x].Deleted = true; - } - } - else - { - if (Searches[x].UnsignedVal(Searches[x].Value) == Searches[x].UnsignedVal(previous) + diff || Searches[x].UnsignedVal(Searches[x].Value) == Searches[x].UnsignedVal(previous) - diff) - { - Searches[x].Deleted = false; - } - else - { - Searches[x].Deleted = true; - } - } - } - break; - } - return true; - } - - private void ValidateSpecificValue(int? value) - { - if (value == null) - { - MessageBox.Show("Missing or invalid value", "Invalid value", MessageBoxButtons.OK, MessageBoxIcon.Error); - SpecificValueBox.Text = "0"; - SpecificValueBox.Focus(); - SpecificValueBox.SelectAll(); - } - } - private bool DoSpecificValue() - { - int? value = GetSpecificValue(); - ValidateSpecificValue(value); - if (value == null) - return false; - switch (GetOperator()) - { - case SOperator.LESS: - foreach (Watch_Legacy t in Searches) - { - if (t.Signed == Watch_Legacy.DISPTYPE.SIGNED) - { - if (t.SignedVal(t.Value) < t.SignedVal((int)value)) - { - t.Deleted = false; - } - else - { - t.Deleted = true; - } - } - else - { - if (t.UnsignedVal(t.Value) < t.UnsignedVal((int)value)) - { - t.Deleted = false; - } - else - { - t.Deleted = true; - } - } - } - break; - case SOperator.GREATER: - foreach (Watch_Legacy t in Searches) - { - if (t.Signed == Watch_Legacy.DISPTYPE.SIGNED) - { - if (t.SignedVal(t.Value) > t.SignedVal((int)value)) - { - t.Deleted = false; - } - else - { - t.Deleted = true; - } - } - else - { - if (t.UnsignedVal(t.Value) > t.UnsignedVal((int)value)) - { - t.Deleted = false; - } - else - { - t.Deleted = true; - } - } - } - break; - case SOperator.LESSEQUAL: - foreach (Watch_Legacy t in Searches) - { - if (t.Signed == Watch_Legacy.DISPTYPE.SIGNED) - { - if (t.SignedVal(t.Value) <= t.SignedVal((int)value)) - { - t.Deleted = false; - } - else - { - t.Deleted = true; - } - } - else - { - if (t.UnsignedVal(t.Value) <= t.UnsignedVal((int)value)) - { - t.Deleted = false; - } - else - { - t.Deleted = true; - } - } - } - break; - case SOperator.GREATEREQUAL: - foreach (Watch_Legacy t in Searches) - { - if (t.Signed == Watch_Legacy.DISPTYPE.SIGNED) - { - if (t.SignedVal(t.Value) >= t.SignedVal((int)value)) - { - t.Deleted = false; - } - else - { - t.Deleted = true; - } - } - else - { - if (t.UnsignedVal(t.Value) >= t.UnsignedVal((int)value)) - { - t.Deleted = false; - } - else - { - t.Deleted = true; - } - } - } - break; - case SOperator.EQUAL: - foreach (Watch_Legacy t in Searches) - { - if (t.Signed == Watch_Legacy.DISPTYPE.SIGNED) - { - if (t.SignedVal(t.Value) == t.SignedVal((int)value)) - { - t.Deleted = false; - } - else - { - t.Deleted = true; - - } - } - else - { - if (t.UnsignedVal(t.Value) == t.UnsignedVal((int)value)) - { - t.Deleted = false; - } - else - { - t.Deleted = true; - } - } - } - break; - case SOperator.NOTEQUAL: - foreach (Watch_Legacy t in Searches) - { - if (t.Signed == Watch_Legacy.DISPTYPE.SIGNED) - { - if (t.SignedVal(t.Value) != t.SignedVal((int)value)) - { - t.Deleted = false; - } - else - { - t.Deleted = true; - } - } - else - { - if (t.UnsignedVal(t.Value) != t.UnsignedVal((int)value)) - { - t.Deleted = false; - } - else - { - t.Deleted = true; - } - } - } - break; - case SOperator.DIFFBY: - int diff = GetDifferentBy(); - if (diff < 0) return false; - foreach (Watch_Legacy t in Searches) - { - if (t.Signed == Watch_Legacy.DISPTYPE.SIGNED) - { - if (t.SignedVal(t.Value) == t.SignedVal((int)value) + diff || t.SignedVal(t.Value) == t.SignedVal((int)value) - diff) - { - t.Deleted = false; - } - else - { - t.Deleted = true; - } - } - else - { - if (t.UnsignedVal(t.Value) == t.UnsignedVal((int)value) + diff || t.UnsignedVal(t.Value) == t.UnsignedVal((int)value) - diff) - { - t.Deleted = false; - } - else - { - t.Deleted = true; - } - } - } - break; - } - return true; - } - - private int? GetSpecificValue() - { - if (SpecificValueBox.Text == "" || SpecificValueBox.Text == "-") return 0; - bool i; - switch (GetDataType()) - { - case Watch_Legacy.DISPTYPE.UNSIGNED: - i = InputValidate.IsValidUnsignedNumber(SpecificValueBox.Text); - if (!i) - return null; - return (int)Int64.Parse(SpecificValueBox.Text); //Note: 64 to be safe since 4 byte values can be entered - case Watch_Legacy.DISPTYPE.SIGNED: - i = InputValidate.IsValidSignedNumber(SpecificValueBox.Text); - if (!i) - return null; - int value = (int)Int64.Parse(SpecificValueBox.Text); - switch (GetDataSize()) - { - case Watch_Legacy.TYPE.BYTE: - return (byte)value; - case Watch_Legacy.TYPE.WORD: - return (ushort)value; - case Watch_Legacy.TYPE.DWORD: - return (int)(uint)value; - } - return value; - case Watch_Legacy.DISPTYPE.HEX: - i = InputValidate.IsValidHexNumber(SpecificValueBox.Text); - if (!i) - return null; - return (int)Int64.Parse(SpecificValueBox.Text, NumberStyles.HexNumber); - } - return null; - } - - private int GetSpecificAddress() - { - if (SpecificAddressBox.Text == "") return 0; - bool i = InputValidate.IsValidHexNumber(SpecificAddressBox.Text); - if (!i) return -1; - - return int.Parse(SpecificAddressBox.Text, NumberStyles.HexNumber); - } - - private int GetDifferentBy() - { - if (DifferentByBox.Text == "") return 0; - bool i = InputValidate.IsValidUnsignedNumber(DifferentByBox.Text); - if (!i) - { - MessageBox.Show("Missing or invalid Different By value", "Invalid value", MessageBoxButtons.OK, MessageBoxIcon.Error); - DifferentByBox.Focus(); - DifferentByBox.SelectAll(); - return -1; - } - else - return int.Parse(DifferentByBox.Text); - } - - private bool DoSpecificAddress() - { - int address = GetSpecificAddress(); - if (address < 0) - { - MessageBox.Show("Missing or invalid address", "Invalid address", MessageBoxButtons.OK, MessageBoxIcon.Error); - SpecificAddressBox.Focus(); - SpecificAddressBox.SelectAll(); - return false; - } - switch (GetOperator()) - { - case SOperator.LESS: - foreach (Watch_Legacy t in Searches) - { - if (t.Address < address) - { - t.Deleted = false; - } - else - { - t.Deleted = true; - } - } - break; - case SOperator.GREATER: - foreach (Watch_Legacy t in Searches) - { - if (t.Address > address) - { - t.Deleted = false; - } - else - { - t.Deleted = true; - } - } - break; - case SOperator.LESSEQUAL: - foreach (Watch_Legacy t in Searches) - { - if (t.Address <= address) - { - t.Deleted = false; - } - else - { - t.Deleted = true; - } - } - break; - case SOperator.GREATEREQUAL: - foreach (Watch_Legacy t in Searches) - { - if (t.Address >= address) - { - t.Deleted = false; - } - else - { - t.Deleted = true; - } - } - break; - case SOperator.EQUAL: - foreach (Watch_Legacy t in Searches) - { - if (t.Address == address) - { - t.Deleted = false; - } - else - { - t.Deleted = true; - } - } - break; - case SOperator.NOTEQUAL: - foreach (Watch_Legacy t in Searches) - { - if (t.Address != address) - { - t.Deleted = false; - } - else - { - t.Deleted = true; - } - } - break; - case SOperator.DIFFBY: - { - int diff = GetDifferentBy(); - if (diff < 0) return false; - foreach (Watch_Legacy t in Searches) - { - if (t.Address == address + diff || t.Address == address - diff) - { - t.Deleted = false; - } - else - { - t.Deleted = true; - } - } - } - break; - } - return true; - } - - private int GetSpecificChanges() - { - if (NumberOfChangesBox.Text == "") return 0; - bool i = InputValidate.IsValidUnsignedNumber(NumberOfChangesBox.Text); - if (!i) return -1; - - return int.Parse(NumberOfChangesBox.Text); - } - - private bool DoNumberOfChanges() - { - int changes = GetSpecificChanges(); - if (changes < 0) - { - MessageBox.Show("Missing or invalid number of changes", "Invalid number", MessageBoxButtons.OK, MessageBoxIcon.Error); - NumberOfChangesBox.Focus(); - NumberOfChangesBox.SelectAll(); - return false; - } - switch (GetOperator()) - { - case SOperator.LESS: - foreach (Watch_Legacy t in Searches) - { - if (t.Changecount < changes) - { - t.Deleted = false; - } - else - { - t.Deleted = true; - } - } - break; - case SOperator.GREATER: - foreach (Watch_Legacy t in Searches) - { - if (t.Changecount > changes) - { - t.Deleted = false; - } - else - { - t.Deleted = true; - } - } - break; - case SOperator.LESSEQUAL: - foreach (Watch_Legacy t in Searches) - { - if (t.Changecount <= changes) - { - t.Deleted = false; - } - else - { - t.Deleted = true; - } - } - break; - case SOperator.GREATEREQUAL: - foreach (Watch_Legacy t in Searches) - { - if (t.Changecount >= changes) - { - t.Deleted = false; - } - else - { - t.Deleted = true; - } - } - break; - case SOperator.EQUAL: - foreach (Watch_Legacy t in Searches) - { - if (t.Changecount == changes) - { - t.Deleted = false; - } - else - { - t.Deleted = true; - } - } - break; - case SOperator.NOTEQUAL: - foreach (Watch_Legacy t in Searches) - { - if (t.Changecount != changes) - { - t.Deleted = false; - } - else - { - t.Deleted = true; - } - } - break; - case SOperator.DIFFBY: - int diff = GetDifferentBy(); - if (diff < 0) return false; - foreach (Watch_Legacy t in Searches) - { - if (t.Address == changes + diff || t.Address == changes - diff) - { - t.Deleted = false; - } - else - { - t.Deleted = true; - } - } - break; - } - return true; - } - - private void ConvertListsDataType(Watch_Legacy.DISPTYPE s) - { - foreach (Watch_Legacy t in Searches) - { - t.Signed = s; - } - - foreach (List state in SearchHistory.History) - { - foreach (Watch_Legacy watch in state) - { - watch.Signed = s; - } - } - - SetSpecificValueBoxMaxLength(); - sortReverse = false; - sortedCol = ""; - DisplaySearchList(); - } - - private void ConvertListsDataSize(Watch_Legacy.TYPE s, bool bigendian) - { - ConvertDataSize(s, ref Searches); - - //TODO - //for (int i = 0; i < SearchHistory.History.Count; i++) - //{ - // ConvertDataSize(s, bigendian, ref SearchHistory.History[i]); - //} - - SetSpecificValueBoxMaxLength(); - sortReverse = false; - sortedCol = ""; - DisplaySearchList(); - } - - private void ConvertDataSize(Watch_Legacy.TYPE s, ref List list) - { - List converted = new List(); - int divisor = 1; - if (!includeMisalignedToolStripMenuItem.Checked) - { - switch (s) - { - case Watch_Legacy.TYPE.WORD: - divisor = 2; - break; - case Watch_Legacy.TYPE.DWORD: - divisor = 4; - break; - } - } - foreach (Watch_Legacy t in list) - if (t.Address % divisor == 0) - { - int changes = t.Changecount; - t.Type = s; - t.BigEndian = GetBigEndian(); - t.PeekAddress(); - t.Prev = t.Value; - t.Original = t.Value; - t.LastChange = t.Value; - t.LastSearch = t.Value; - t.Changecount = changes; - converted.Add(t); - } - list = converted; - } - - private void unsignedToolStripMenuItem_Click(object sender, EventArgs e) - { - Watch_Legacy specificValue = new Watch_Legacy(); - int? value = GetSpecificValue(); - ValidateSpecificValue(value); - if (value != null) specificValue.Value = (int)value; - specificValue.Signed = Watch_Legacy.DISPTYPE.UNSIGNED; - specificValue.Type = GetDataSize(); - string converted = specificValue.ValueString; - unsignedToolStripMenuItem.Checked = true; - signedToolStripMenuItem.Checked = false; - hexadecimalToolStripMenuItem.Checked = false; - SpecificValueBox.Text = converted; - ConvertListsDataType(Watch_Legacy.DISPTYPE.UNSIGNED); - } - - private void signedToolStripMenuItem_Click(object sender, EventArgs e) - { - Watch_Legacy specificValue = new Watch_Legacy(); - int? value = GetSpecificValue(); - ValidateSpecificValue(value); - if (value != null) specificValue.Value = (int)value; - specificValue.Signed = Watch_Legacy.DISPTYPE.SIGNED; - specificValue.Type = GetDataSize(); - string converted = specificValue.ValueString; - unsignedToolStripMenuItem.Checked = false; - signedToolStripMenuItem.Checked = true; - hexadecimalToolStripMenuItem.Checked = false; - SpecificValueBox.Text = converted; - ConvertListsDataType(Watch_Legacy.DISPTYPE.SIGNED); - } - - private void hexadecimalToolStripMenuItem_Click(object sender, EventArgs e) - { - Watch_Legacy specificValue = new Watch_Legacy(); - int? value = GetSpecificValue(); - ValidateSpecificValue(value); - if (value != null) specificValue.Value = (int)value; - specificValue.Signed = Watch_Legacy.DISPTYPE.HEX; - specificValue.Type = GetDataSize(); - string converted = specificValue.ValueString; - unsignedToolStripMenuItem.Checked = false; - signedToolStripMenuItem.Checked = false; - hexadecimalToolStripMenuItem.Checked = true; - SpecificValueBox.Text = converted; - ConvertListsDataType(Watch_Legacy.DISPTYPE.HEX); - } - - private void SearchListView_MouseDoubleClick(object sender, MouseEventArgs e) - { - ListView.SelectedIndexCollection indexes = SearchListView.SelectedIndices; - if (indexes.Count > 0) - { - AddToRamWatch(); - } - } - - private void SetSpecificValueBoxMaxLength() - { - switch (GetDataType()) - { - case Watch_Legacy.DISPTYPE.UNSIGNED: - switch (GetDataSize()) - { - case Watch_Legacy.TYPE.BYTE: - SpecificValueBox.MaxLength = 3; - break; - case Watch_Legacy.TYPE.WORD: - SpecificValueBox.MaxLength = 5; - break; - case Watch_Legacy.TYPE.DWORD: - SpecificValueBox.MaxLength = 10; - break; - default: - SpecificValueBox.MaxLength = 10; - break; - } - break; - case Watch_Legacy.DISPTYPE.SIGNED: - switch (GetDataSize()) - { - case Watch_Legacy.TYPE.BYTE: - SpecificValueBox.MaxLength = 4; - break; - case Watch_Legacy.TYPE.WORD: - SpecificValueBox.MaxLength = 6; - break; - case Watch_Legacy.TYPE.DWORD: - SpecificValueBox.MaxLength = 11; - break; - default: - SpecificValueBox.MaxLength = 11; - break; - } - break; - case Watch_Legacy.DISPTYPE.HEX: - switch (GetDataSize()) - { - case Watch_Legacy.TYPE.BYTE: - SpecificValueBox.MaxLength = 2; - break; - case Watch_Legacy.TYPE.WORD: - SpecificValueBox.MaxLength = 4; - break; - case Watch_Legacy.TYPE.DWORD: - SpecificValueBox.MaxLength = 8; - break; - default: - SpecificValueBox.MaxLength = 8; - break; - } - break; - default: - SpecificValueBox.MaxLength = 11; - break; - } - } - - private void byteToolStripMenuItem_Click(object sender, EventArgs e) - { - byteToolStripMenuItem.Checked = true; - bytesToolStripMenuItem.Checked = false; - dWordToolStripMenuItem1.Checked = false; - ConvertListsDataSize(Watch_Legacy.TYPE.BYTE, GetBigEndian()); - } - - private void bytesToolStripMenuItem_Click(object sender, EventArgs e) - { - byteToolStripMenuItem.Checked = false; - bytesToolStripMenuItem.Checked = true; - dWordToolStripMenuItem1.Checked = false; - ConvertListsDataSize(Watch_Legacy.TYPE.WORD, GetBigEndian()); - } - - private void dWordToolStripMenuItem1_Click(object sender, EventArgs e) - { - byteToolStripMenuItem.Checked = false; - bytesToolStripMenuItem.Checked = false; - dWordToolStripMenuItem1.Checked = true; - ConvertListsDataSize(Watch_Legacy.TYPE.DWORD, GetBigEndian()); - } - - private void includeMisalignedToolStripMenuItem_Click_1(object sender, EventArgs e) - { - includeMisalignedToolStripMenuItem.Checked ^= true; - if (!includeMisalignedToolStripMenuItem.Checked) - ConvertListsDataSize(GetDataSize(), GetBigEndian()); - } - - private void SetLittleEndian() - { - bigEndianToolStripMenuItem.Checked = false; - littleEndianToolStripMenuItem.Checked = true; - ConvertListsDataSize(GetDataSize(), false); - } - - private void SetBigEndian() - { - bigEndianToolStripMenuItem.Checked = true; - littleEndianToolStripMenuItem.Checked = false; - ConvertListsDataSize(GetDataSize(), true); - } - - private void bigEndianToolStripMenuItem_Click(object sender, EventArgs e) - { - SetBigEndian(); - } - - private void littleEndianToolStripMenuItem_Click(object sender, EventArgs e) - { - SetLittleEndian(); - } - - private void AutoSearchCheckBox_CheckedChanged(object sender, EventArgs e) - { - if (AutoSearchCheckBox.Checked) - { - AutoSearchCheckBox.BackColor = Color.Pink; - } - else - { - AutoSearchCheckBox.BackColor = BackColor; - } - } - - private void SpecificValueBox_Leave(object sender, EventArgs e) - { - DoPreview(); - } - - private void SpecificAddressBox_Leave(object sender, EventArgs e) - { - DoPreview(); - } - - private void NumberOfChangesBox_Leave(object sender, EventArgs e) - { - DoPreview(); - } - - private void DifferentByBox_Leave(object sender, EventArgs e) - { - if (!InputValidate.IsValidUnsignedNumber(DifferentByBox.Text)) //Actually the only way this could happen is from putting dashes after the first character - { - DifferentByBox.Focus(); - DifferentByBox.SelectAll(); - ToolTip t = new ToolTip(); - t.Show("Must be a valid unsigned decimal value", DifferentByBox, 5000); - return; - } - DoPreview(); - } - - private void SaveSearchFile(string path) - { - WatchCommon.SaveWchFile(path, Domain.Name, Searches); - } - - public void SaveAs() - { - var file = WatchCommon.GetSaveFileFromUser(currentFile); - if (file != null) - { - SaveSearchFile(file.FullName); - currentFile = file.FullName; - MessageLabel.Text = Path.GetFileName(currentFile) + " saved."; - Global.Config.RecentSearches.Add(currentFile); - } - } - - private void LoadSearchFromRecent(string path) - { - if (!LoadSearchFile(path, false, Searches)) - { - Global.Config.RecentSearches.HandleLoadError(path); - } - else - { - DisplaySearchList(); - } - } - - bool LoadSearchFile(string path, bool append, List list) - { - string domain; - bool result = WatchCommon.LoadWatchFile(path, append, list, out domain); - - if (result) - { - if (!append) - { - currentFile = path; - } - - MessageLabel.Text = Path.GetFileNameWithoutExtension(path); - SetTotal(); - Global.Config.RecentSearches.Add(path); - SetMemoryDomain(WatchCommon.GetDomainPos(domain)); - return true; - } - else - { - return false; - } - } - - private void recentToolStripMenuItem_DropDownOpened(object sender, EventArgs e) - { - recentToolStripMenuItem.DropDownItems.Clear(); - recentToolStripMenuItem.DropDownItems.AddRange(Global.Config.RecentSearches.GenerateRecentMenu(LoadSearchFromRecent)); - } - - private void appendFileToolStripMenuItem_Click(object sender, EventArgs e) - { - var file = GetFileFromUser(); - if (file != null) - LoadSearchFile(file.FullName, true, Searches); - DisplaySearchList(); - } - - private FileInfo GetFileFromUser() - { - var ofd = new OpenFileDialog(); - if (currentFile.Length > 0) - ofd.FileName = Path.GetFileNameWithoutExtension(currentFile); - ofd.InitialDirectory = PathManager.MakeAbsolutePath(Global.Config.PathEntries.WatchPath, null); - ofd.Filter = "Watch Files (*.wch)|*.wch|All Files|*.*"; - ofd.RestoreDirectory = true; - if (currentFile.Length > 0) - ofd.FileName = Path.GetFileNameWithoutExtension(currentFile); - Global.Sound.StopSound(); - var result = ofd.ShowDialog(); - Global.Sound.StartSound(); - if (result != DialogResult.OK) - return null; - var file = new FileInfo(ofd.FileName); - return file; - } - - private void saveWindowPositionToolStripMenuItem_Click(object sender, EventArgs e) - { - Global.Config.RamSearchSaveWindowPosition ^= true; - } - - private void optionsToolStripMenuItem_DropDownOpened(object sender, EventArgs e) - { - fastModeToolStripMenuItem.Checked = Global.Config.RamSearchFastMode; - saveWindowPositionToolStripMenuItem.Checked = Global.Config.RamSearchSaveWindowPosition; - previewModeToolStripMenuItem.Checked = Global.Config.RamSearchPreviewMode; - alwaysExcludeRamSearchListToolStripMenuItem.Checked = Global.Config.RamSearchAlwaysExcludeRamWatch; - autoloadDialogToolStripMenuItem.Checked = Global.Config.RecentSearches.AutoLoad; - } - - private void searchToolStripMenuItem1_Click(object sender, EventArgs e) - { - DoSearch(); - } - - private void clearChangeCountsToolStripMenuItem_Click(object sender, EventArgs e) - { - ClearChangeCounts(); - } - - private void undoToolStripMenuItem_Click_1(object sender, EventArgs e) - { - DoUndo(); - } - - private void removeSelectedToolStripMenuItem_Click(object sender, EventArgs e) - { - RemoveAddresses(); - } - - private void saveToolStripMenuItem_Click(object sender, EventArgs e) - { - if (string.Compare(currentFile, "") == 0) - SaveAs(); - else - SaveSearchFile(currentFile); - } - - private void addSelectedToRamWatchToolStripMenuItem_Click(object sender, EventArgs e) - { - AddToRamWatch(); - } - - private void pokeAddressToolStripMenuItem_Click(object sender, EventArgs e) - { - PokeAddress(); - } - - private void searchToolStripMenuItem_DropDownOpened(object sender, EventArgs e) - { - clearUndoHistoryToolStripMenuItem.Enabled = SearchHistory.HasHistory; - searchToolStripMenuItem.Enabled = Searches.Any(); - undoToolStripMenuItem.Enabled = SearchHistory.CanUndo; - redoToolStripMenuItem.Enabled = SearchHistory.CanRedo; - - ListView.SelectedIndexCollection indexes = SearchListView.SelectedIndices; - - if (indexes.Count == 0) - { - removeSelectedToolStripMenuItem.Enabled = false; - addSelectedToRamWatchToolStripMenuItem.Enabled = false; - pokeAddressToolStripMenuItem.Enabled = false; - } - else - { - removeSelectedToolStripMenuItem.Enabled = true; - addSelectedToRamWatchToolStripMenuItem.Enabled = true; - pokeAddressToolStripMenuItem.Enabled = true; - } - } - - private void sinceLastSearchToolStripMenuItem_Click(object sender, EventArgs e) - { - Global.Config.RamSearchPreviousAs = 0; - sortReverse = false; - sortedCol = ""; - DisplaySearchList(); - } - - private void originalValueToolStripMenuItem_Click(object sender, EventArgs e) - { - Global.Config.RamSearchPreviousAs = 1; - sortReverse = false; - sortedCol = ""; - DisplaySearchList(); - } - - private void sinceLastFrameToolStripMenuItem_Click(object sender, EventArgs e) - { - Global.Config.RamSearchPreviousAs = 2; - sortReverse = false; - sortedCol = ""; - DisplaySearchList(); - } - - private void sinceLastChangeToolStripMenuItem_Click(object sender, EventArgs e) - { - Global.Config.RamSearchPreviousAs = 3; - sortReverse = false; - sortedCol = ""; - DisplaySearchList(); - } - - private void definePreviousValueToolStripMenuItem_DropDownOpened(object sender, EventArgs e) - { - switch (Global.Config.RamSearchPreviousAs) - { - case 0: //Since last Search - sinceLastSearchToolStripMenuItem.Checked = true; - originalValueToolStripMenuItem.Checked = false; - sinceLastFrameToolStripMenuItem.Checked = false; - sinceLastChangeToolStripMenuItem.Checked = false; - break; - case 1: //Original value (since Start new search) - sinceLastSearchToolStripMenuItem.Checked = false; - originalValueToolStripMenuItem.Checked = true; - sinceLastFrameToolStripMenuItem.Checked = false; - sinceLastChangeToolStripMenuItem.Checked = false; - break; - default: - case 2: //Since last Frame - sinceLastSearchToolStripMenuItem.Checked = false; - originalValueToolStripMenuItem.Checked = false; - sinceLastFrameToolStripMenuItem.Checked = true; - sinceLastChangeToolStripMenuItem.Checked = false; - break; - case 3: //Since last Change - sinceLastSearchToolStripMenuItem.Checked = false; - originalValueToolStripMenuItem.Checked = false; - sinceLastFrameToolStripMenuItem.Checked = false; - sinceLastChangeToolStripMenuItem.Checked = true; - break; - } - } - - private void LessThanRadio_CheckedChanged(object sender, EventArgs e) - { - if (!DifferentByRadio.Checked) DoPreview(); - } - - private void previewModeToolStripMenuItem_Click(object sender, EventArgs e) - { - Global.Config.RamSearchPreviewMode ^= true; - } - - private void SpecificValueBox_TextChanged(object sender, EventArgs e) - { - DoPreview(); - } - - private void SpecificValueBox_KeyPress(object sender, KeyPressEventArgs e) - { - if (e.KeyChar == '\b') return; - - switch (GetDataType()) - { - case Watch_Legacy.DISPTYPE.UNSIGNED: - if (!InputValidate.IsValidUnsignedNumber(e.KeyChar)) - { - e.Handled = true; - } - break; - case Watch_Legacy.DISPTYPE.SIGNED: - if (!InputValidate.IsValidSignedNumber(e.KeyChar)) - { - e.Handled = true; - } - break; - case Watch_Legacy.DISPTYPE.HEX: - if (!InputValidate.IsValidHexNumber(e.KeyChar)) - { - e.Handled = true; - } - break; - } - } - - private void NumberOfChangesBox_KeyPress(object sender, KeyPressEventArgs e) - { - if (e.KeyChar == '\b') return; - - if (!InputValidate.IsValidUnsignedNumber(e.KeyChar)) - e.Handled = true; - } - - private void DifferentByBox_KeyPress(object sender, KeyPressEventArgs e) - { - if (e.KeyChar == '\b') return; - - if (!InputValidate.IsValidUnsignedNumber(e.KeyChar)) - e.Handled = true; - } - - private void SpecificAddressBox_TextChanged(object sender, EventArgs e) - { - DoPreview(); - } - - private void NumberOfChangesBox_TextChanged(object sender, EventArgs e) - { - DoPreview(); - } - - private void DifferentByBox_TextChanged(object sender, EventArgs e) - { - DoPreview(); - } - - private void TruncateFromFileToolStripMenuItem_Click(object sender, EventArgs e) - { - TruncateFromFile(); - } - - private void DoTruncate() - { - MessageLabel.Text = MakeAddressString(Searches.Count(x => x.Deleted)) + " removed"; - TrimWeededList(); - UpdateLastSearch(); - DisplaySearchList(); - SearchHistory.AddState(Searches); - UpdateUndoRedoToolItems(); - } - - private void TruncateFromFile() - { - //TODO: what about byte size? Think about the implications of this - var file = GetFileFromUser(); - if (file != null) - { - List temp = new List(); - LoadSearchFile(file.FullName, false, temp); - TruncateList(temp.Select(watch => watch.Address)); - DoTruncate(); - - } - } - - private void ClearWeeded() - { - foreach (Watch_Legacy watch in Searches) - { - watch.Deleted = false; - } - } - - - private void TruncateList(IEnumerable toRemove) - { - ClearWeeded(); - foreach (int addr in toRemove) - { - var first_or_default = Searches.FirstOrDefault(x => x.Address == addr); - if (first_or_default != null) - { - first_or_default.Deleted = true; - } - } - DoTruncate(); - } - - /// - /// Removes Ram Watch list from the search list - /// - private void ExcludeRamWatchList() - { - TruncateList(Global.MainForm.NewRamWatch1.AddressList); - } - - private void TruncateFromFiletoolStripButton2_Click(object sender, EventArgs e) - { - TruncateFromFile(); - } - - private void excludeRamWatchListToolStripMenuItem_Click(object sender, EventArgs e) - { - ExcludeRamWatchList(); - } - - private void ExcludeRamWatchtoolStripButton2_Click(object sender, EventArgs e) - { - ExcludeRamWatchList(); - } - - private void alwaysExcludeRamSearchListToolStripMenuItem_Click(object sender, EventArgs e) - { - Global.Config.RamSearchAlwaysExcludeRamWatch ^= true; - } - - private void CopyValueToPrev() - { - foreach (Watch_Legacy t in Searches) - { - t.LastSearch = t.Value; - t.Original = t.Value; - t.Prev = t.Value; - t.LastChange = t.Value; - } - DisplaySearchList(); - DoPreview(); - } - - private void UpdateLastSearch() - { - foreach (Watch_Legacy t in Searches) - { - t.LastSearch = t.Value; - } - } - - private void SetCurrToPrevtoolStripButton2_Click(object sender, EventArgs e) - { - CopyValueToPrev(); - } - - private void copyValueToPrevToolStripMenuItem_Click(object sender, EventArgs e) - { - CopyValueToPrev(); - } - - private void startNewSearchToolStripMenuItem_Click(object sender, EventArgs e) - { - StartNewSearch(); - } - - private void searchToolStripMenuItem2_Click(object sender, EventArgs e) - { - DoSearch(); - } - - private int GetNumDigits(Int32 i) - { - //if (i == 0) return 0; - //if (i < 0x10) return 1; - //if (i < 0x100) return 2; - //if (i < 0x1000) return 3; //adelikat: commenting these out because I decided that regardless of domain, 4 digits should be the minimum - if (i < 0x10000) return 4; - if (i < 0x100000) return 5; - if (i < 0x1000000) return 6; - if (i < 0x10000000) return 7; - else return 8; - } - - private void FreezeAddressToolStrip_Click(object sender, EventArgs e) - { - FreezeAddress(); - } - - private void UnfreezeAddress() - { - ListView.SelectedIndexCollection indexes = SearchListView.SelectedIndices; - if (indexes.Count > 0) - { - for (int i = 0; i < indexes.Count; i++) - { - switch (Searches[indexes[i]].Type) - { - case Watch_Legacy.TYPE.BYTE: - Global.CheatList.Remove(Domain, Searches[indexes[i]].Address); - break; - case Watch_Legacy.TYPE.WORD: - Global.CheatList.Remove(Domain, Searches[indexes[i]].Address); - Global.CheatList.Remove(Domain, Searches[indexes[i]].Address + 1); - break; - case Watch_Legacy.TYPE.DWORD: - Global.CheatList.Remove(Domain, Searches[indexes[i]].Address); - Global.CheatList.Remove(Domain, Searches[indexes[i]].Address + 1); - Global.CheatList.Remove(Domain, Searches[indexes[i]].Address + 2); - Global.CheatList.Remove(Domain, Searches[indexes[i]].Address + 3); - break; - } - } - - UpdateValues(); - Global.MainForm.HexEditor1.UpdateValues(); - Global.MainForm.NewRamWatch1.UpdateValues(); - Global.MainForm.Cheats_UpdateValues(); + return selected; } } private void FreezeAddress() { - ListView.SelectedIndexCollection indexes = SearchListView.SelectedIndices; - if (indexes.Count > 0) - { - for (int i = 0; i < indexes.Count; i++) - { - switch (Searches[indexes[i]].Type) - { - case Watch_Legacy.TYPE.BYTE: - Cheat c = new Cheat("", Searches[indexes[i]].Address, (byte)Searches[indexes[i]].Value, - true, Domain); - Global.MainForm.Cheats1.AddCheat(c); - break; - case Watch_Legacy.TYPE.WORD: - { - byte low = (byte)(Searches[indexes[i]].Value / 256); - byte high = (byte)(Searches[indexes[i]].Value); - int a1 = Searches[indexes[i]].Address; - int a2 = Searches[indexes[i]].Address + 1; - if (Searches[indexes[i]].BigEndian) - { - Cheat c1 = new Cheat("", a1, low, true, Domain); - Cheat c2 = new Cheat("", a2, high, true, Domain); - Global.MainForm.Cheats1.AddCheat(c1); - Global.MainForm.Cheats1.AddCheat(c2); - } - else - { - Cheat c1 = new Cheat("", a1, high, true, Domain); - Cheat c2 = new Cheat("", a2, low, true, Domain); - Global.MainForm.Cheats1.AddCheat(c1); - Global.MainForm.Cheats1.AddCheat(c2); - } - } - break; - case Watch_Legacy.TYPE.DWORD: - { - byte HIWORDhigh = (byte)(Searches[indexes[i]].Value / 0x1000000); - byte HIWORDlow = (byte)(Searches[indexes[i]].Value / 0x10000); - byte LOWORDhigh = (byte)(Searches[indexes[i]].Value / 0x100); - byte LOWORDlow = (byte)(Searches[indexes[i]].Value); - int a1 = Searches[indexes[i]].Address; - int a2 = Searches[indexes[i]].Address + 1; - int a3 = Searches[indexes[i]].Address + 2; - int a4 = Searches[indexes[i]].Address + 3; - if (Searches[indexes[i]].BigEndian) - { - Cheat c1 = new Cheat("", a1, HIWORDhigh, true, Domain); - Cheat c2 = new Cheat("", a2, HIWORDlow, true, Domain); - Cheat c3 = new Cheat("", a3, LOWORDhigh, true, Domain); - Cheat c4 = new Cheat("", a4, LOWORDlow, true, Domain); - Global.MainForm.Cheats1.AddCheat(c1); - Global.MainForm.Cheats1.AddCheat(c2); - Global.MainForm.Cheats1.AddCheat(c3); - Global.MainForm.Cheats1.AddCheat(c4); - } - else - { - Cheat c1 = new Cheat("", a1, LOWORDlow, true, Domain); - Cheat c2 = new Cheat("", a2, LOWORDhigh, true, Domain); - Cheat c3 = new Cheat("", a3, HIWORDlow, true, Domain); - Cheat c4 = new Cheat("", a4, HIWORDhigh, true, Domain); - Global.MainForm.Cheats1.AddCheat(c1); - Global.MainForm.Cheats1.AddCheat(c2); - Global.MainForm.Cheats1.AddCheat(c3); - Global.MainForm.Cheats1.AddCheat(c4); - } - } - break; - } - } + ToolHelpers.FreezeAddress(SelectedWatches); + } - UpdateValues(); - Global.MainForm.HexEditor1.UpdateValues(); - Global.MainForm.NewRamWatch1.UpdateValues(); - Global.MainForm.Cheats_UpdateValues(); + private void RemoveRamWatchesFromList() + { + Searches.RemoveRange(Global.MainForm.RamWatch1.AddressList); + WatchListView.ItemCount = Searches.Count; + SetTotal(); + } + + private void UpdateUndoToolBarButtons() + { + UndoToolBarButton.Enabled = Searches.CanUndo; + RedoToolBarItem.Enabled = Searches.CanRedo; + } + + private string GetColumnValue(string name, int index) + { + switch (name) + { + default: + return String.Empty; + case ADDRESS: + return Searches[index].AddressString; + case VALUE: + return Searches[index].ValueString; + case PREV: + return Searches[index].PreviousStr; + case CHANGES: + return (Searches[index] as IWatchDetails).ChangeCount.ToString(); + case DIFF: + return (Searches[index] as IWatchDetails).Diff; } } - private void freezeAddressToolStripMenuItem_Click(object sender, EventArgs e) + private void ToggleAutoSearch() { - FreezeAddress(); + autoSearch ^= true; + AutoSearchCheckBox.Checked = autoSearch; + DoSearchToolButton.Enabled = + SearchButton.Enabled = + !autoSearch; } - private void contextMenuStrip1_Opening(object sender, CancelEventArgs e) + #endregion + + #region Winform Events + + #region File + + private void FileSubMenu_DropDownOpened(object sender, EventArgs e) { - ListView.SelectedIndexCollection indexes = SearchListView.SelectedIndices; - if (indexes.Count == 0) + SaveMenuItem.Enabled = !String.IsNullOrWhiteSpace(CurrentFileName); + } + + private void RecentSubMenu_DropDownOpened(object sender, EventArgs e) + { + RecentSubMenu.DropDownItems.Clear(); + RecentSubMenu.DropDownItems.AddRange(Global.Config.RecentSearches.GenerateRecentMenu(LoadFileFromRecent)); + } + + private void OpenMenuItem_Click(object sender, EventArgs e) + { + LoadWatchFile( + WatchList.GetFileFromUser(String.Empty), + sender == AppendFileMenuItem, + sender == TruncateFromFileMenuItem + ); + } + + private void SaveMenuItem_Click(object sender, EventArgs e) + { + if (!String.IsNullOrWhiteSpace(CurrentFileName)) { - removeSelectedToolStripMenuItem1.Visible = false; - addToRamWatchToolStripMenuItem.Visible = false; - pokeAddressToolStripMenuItem1.Visible = false; - freezeAddressToolStripMenuItem1.Visible = false; - toolStripSeparator14.Visible = false; - clearPreviewToolStripMenuItem.Visible = false; + WatchList watches = new WatchList(Settings.Domain); + watches.CurrentFileName = CurrentFileName; + for (int i = 0; i < Searches.Count; i++) + { + watches.Add(Searches[i]); + } + + if (watches.Save()) + { + CurrentFileName = watches.CurrentFileName; + MessageLabel.Text = Path.GetFileName(CurrentFileName) + " saved"; + } + } + } + + private void SaveAsMenuItem_Click(object sender, EventArgs e) + { + WatchList watches = new WatchList(Settings.Domain); + watches.CurrentFileName = CurrentFileName; + for (int i = 0; i < Searches.Count; i++) + { + watches.Add(Searches[i]); + } + + if (watches.SaveAs()) + { + CurrentFileName = watches.CurrentFileName; + MessageLabel.Text = Path.GetFileName(CurrentFileName) + " saved"; + Global.Config.RecentSearches.Add(watches.CurrentFileName); + } + } + + private void CloseMenuItem_Click(object sender, EventArgs e) + { + Close(); + } + + #endregion + + #region Settings + + private void SettingsSubMenu_DropDownOpened(object sender, EventArgs e) + { + CheckMisalignedMenuItem.Checked = Settings.CheckMisAligned; + BigEndianMenuItem.Checked = Settings.BigEndian; + } + + private void ModeSubMenu_DropDownOpened(object sender, EventArgs e) + { + DetailedMenuItem.Checked = Settings.Mode == RamSearchEngine.Settings.SearchMode.Detailed; + FastMenuItem.Checked = Settings.Mode == RamSearchEngine.Settings.SearchMode.Fast; + } + + private void MemoryDomainsSubMenu_DropDownOpened(object sender, EventArgs e) + { + MemoryDomainsSubMenu.DropDownItems.Clear(); + MemoryDomainsSubMenu.DropDownItems.AddRange(ToolHelpers.GenerateMemoryDomainMenuItems(SetMemoryDomain, Searches.DomainName)); + } + + private void SizeSubMenu_DropDownOpened(object sender, EventArgs e) + { + _1ByteMenuItem.Checked = Settings.Size == Watch.WatchSize.Byte; + _2ByteMenuItem.Checked = Settings.Size == Watch.WatchSize.Word; + _4ByteMenuItem.Checked = Settings.Size == Watch.WatchSize.DWord; + } + + private void DisplayTypeSubMenu_DropDownOpened(object sender, EventArgs e) + { + DisplayTypeSubMenu.DropDownItems.Clear(); + + foreach (var type in Watch.AvailableTypes(Settings.Size)) + { + var item = new ToolStripMenuItem() + { + Name = type.ToString() + "ToolStripMenuItem", + Text = Watch.DisplayTypeToString(type), + Checked = Settings.Type == type, + }; + item.Click += (o, ev) => DoDisplayTypeClick(type); + + DisplayTypeSubMenu.DropDownItems.Add(item); + } + } + + private void DefinePreviousValueSubMenu_DropDownOpened(object sender, EventArgs e) + { + Previous_LastSearchMenuItem.Checked = false; + Previous_LastChangeMenuItem.Checked = false; + PreviousFrameMenuItem.Checked = false; + Previous_OriginalMenuItem.Checked = false; + + switch (Settings.PreviousType) + { + default: + case Watch.PreviousType.LastSearch: + Previous_LastSearchMenuItem.Checked = true; + break; + case Watch.PreviousType.LastChange: + Previous_LastChangeMenuItem.Checked = true; + break; + case Watch.PreviousType.LastFrame: + PreviousFrameMenuItem.Checked = true; + break; + case Watch.PreviousType.Original: + Previous_OriginalMenuItem.Checked = true; + break; + } + + if (Settings.Mode == RamSearchEngine.Settings.SearchMode.Fast) + { + Previous_LastChangeMenuItem.Enabled = false; + PreviousFrameMenuItem.Enabled = false; } else { - for (int i = 0; i < contextMenuStrip1.Items.Count; i++) - { - contextMenuStrip1.Items[i].Visible = true; - } - - if (indexes.Count == 1) - { - if (Global.CheatList.IsActiveCheat(Domain, Searches[indexes[0]].Address)) - { - freezeAddressToolStripMenuItem1.Text = "&Unfreeze address"; - freezeAddressToolStripMenuItem1.Image = Properties.Resources.Unfreeze; - } - else - { - freezeAddressToolStripMenuItem1.Text = "&Freeze address"; - freezeAddressToolStripMenuItem1.Image = Properties.Resources.Freeze; - } - } - else - { - bool allCheats = true; - foreach (int i in indexes) - { - if (!Global.CheatList.IsActiveCheat(Domain, Searches[i].Address)) - { - allCheats = false; - } - } - - if (allCheats) - { - freezeAddressToolStripMenuItem1.Text = "&Unfreeze address"; - freezeAddressToolStripMenuItem1.Image = Properties.Resources.Unfreeze; - } - else - { - freezeAddressToolStripMenuItem1.Text = "&Freeze address"; - freezeAddressToolStripMenuItem1.Image = Properties.Resources.Freeze; - } - } - - - toolStripSeparator14.Visible = Global.Config.RamSearchPreviewMode; - clearPreviewToolStripMenuItem.Visible = Global.Config.RamSearchPreviewMode; + Previous_LastChangeMenuItem.Enabled = true; + PreviousFrameMenuItem.Enabled = true; } - - unfreezeAllToolStripMenuItem.Visible = Global.CheatList.HasActiveCheats; } - private void removeSelectedToolStripMenuItem1_Click(object sender, EventArgs e) + private void DetailedMenuItem_Click(object sender, EventArgs e) + { + SetToDetailedMode(); + } + + private void FastMenuItem_Click(object sender, EventArgs e) + { + SetToFastMode(); + } + + private void _1ByteMenuItem_Click(object sender, EventArgs e) + { + SetSize(Watch.WatchSize.Byte); + } + + private void _2ByteMenuItem_Click(object sender, EventArgs e) + { + SetSize(Watch.WatchSize.Word); + } + + private void _4ByteMenuItem_Click(object sender, EventArgs e) + { + SetSize(Watch.WatchSize.DWord); + } + + private void CheckMisalignedMenuItem_Click(object sender, EventArgs e) + { + Settings.CheckMisAligned ^= true; + SetReboot(true); + } + + private void Previous_LastFrameMenuItem_Click(object sender, EventArgs e) + { + SetPreviousStype(Watch.PreviousType.LastFrame); + } + + private void Previous_LastSearchMenuItem_Click(object sender, EventArgs e) + { + SetPreviousStype(Watch.PreviousType.LastSearch); + } + + private void Previous_LastChangeMenuItem_Click(object sender, EventArgs e) + { + SetPreviousStype(Watch.PreviousType.LastChange); + } + + private void Previous_OriginalMenuItem_Click(object sender, EventArgs e) + { + SetPreviousStype(Watch.PreviousType.Original); + } + + private void BigEndianMenuItem_Click(object sender, EventArgs e) + { + Settings.BigEndian ^= true; + Searches.SetEndian(Settings.BigEndian); + } + + #endregion + + #region Search + + private void SearchSubMenu_DropDownOpened(object sender, EventArgs e) + { + ClearChangeCountsMenuItem.Enabled = Settings.Mode == RamSearchEngine.Settings.SearchMode.Detailed; + + RemoveMenuItem.Enabled = + AddToRamWatchMenuItem.Enabled = + PokeAddressMenuItem.Enabled = + FreezeAddressMenuItem.Enabled = + SelectedIndices.Any(); + + UndoMenuItem.Enabled = + ClearUndoMenuItem.Enabled = + Searches.CanUndo; + + RedoMenuItem.Enabled = Searches.CanRedo; + } + + private void NewSearchMenuMenuItem_Click(object sender, EventArgs e) + { + NewSearch(); + } + + private void SearchMenuItem_Click(object sender, EventArgs e) + { + DoSearch(); + } + + private void UndoMenuItem_Click(object sender, EventArgs e) + { + if (Searches.CanUndo) + { + Searches.Undo(); + UpdateUndoToolBarButtons(); + } + } + + private void RedoMenuItem_Click(object sender, EventArgs e) + { + if (Searches.CanRedo) + { + Searches.Redo(); + UpdateUndoToolBarButtons(); + } + } + + private void CopyValueToPrevMenuItem_Click(object sender, EventArgs e) + { + Searches.SetPrevousToCurrent(); + WatchListView.Refresh(); + } + + private void ClearChangeCountsMenuItem_Click(object sender, EventArgs e) + { + Searches.ClearChangeCounts(); + WatchListView.Refresh(); + } + + private void RemoveMenuItem_Click(object sender, EventArgs e) { RemoveAddresses(); } - private void addToRamWatchToolStripMenuItem_Click(object sender, EventArgs e) + private void AddToRamWatchMenuItem_Click(object sender, EventArgs e) { AddToRamWatch(); } - private void pokeAddressToolStripMenuItem1_Click(object sender, EventArgs e) + private void PokeAddressMenuItem_Click(object sender, EventArgs e) { PokeAddress(); } - private void freezeAddressToolStripMenuItem1_Click(object sender, EventArgs e) + private void FreezeAddressMenuItem_Click(object sender, EventArgs e) { - if (sender.ToString().Contains("Unfreeze")) + FreezeAddress(); + } + + private void ClearUndoMenuItem_Click(object sender, EventArgs e) + { + Searches.ClearHistory(); + UpdateUndoToolBarButtons(); + } + + #endregion + + #region Options + + private void OptionsSubMenu_DropDownOpened(object sender, EventArgs e) + { + AutoloadDialogMenuItem.Checked = Global.Config.RecentSearches.AutoLoad; + SaveWinPositionMenuItem.Checked = Global.Config.RamSearchSaveWindowPosition; + ExcludeRamWatchMenuItem.Checked = Global.Config.RamSearchAlwaysExcludeRamWatch; + UseUndoHistoryMenuItem.Checked = Searches.UndoEnabled; + PreviewModeMenuItem.Checked = Global.Config.RamSearchPreviewMode; + AlwaysOnTopMenuItem.Checked = Global.Config.RamSearchAlwaysOnTop; + AutoSearchMenuItem.Checked = autoSearch; + } + + private void PreviewModeMenuItem_Click(object sender, EventArgs e) + { + Global.Config.RamSearchPreviewMode ^= true; + } + + private void AutoSearchMenuItem_Click(object sender, EventArgs e) + { + ToggleAutoSearch(); + } + + private void ExcludeRamWatchMenuItem_Click(object sender, EventArgs e) + { + Global.Config.RamSearchAlwaysExcludeRamWatch ^= true; + if (Global.Config.RamSearchAlwaysExcludeRamWatch) { - UnfreezeAddress(); + RemoveRamWatchesFromList(); + } + } + + private void UseUndoHistoryMenuItem_Click(object sender, EventArgs e) + { + Searches.UndoEnabled ^= true; + } + + private void AutoloadDialogMenuItem_Click(object sender, EventArgs e) + { + Global.Config.RecentSearches.AutoLoad ^= true; + } + + private void SaveWinPositionMenuItem_Click(object sender, EventArgs e) + { + Global.Config.RamSearchSaveWindowPosition ^= true; + } + + private void AlwaysOnTopMenuItem_Click(object sender, EventArgs e) + { + Global.Config.RamSearchAlwaysOnTop ^= true; + TopMost = Global.Config.RamSearchAlwaysOnTop; + } + + private void RestoreDefaultsMenuItem_Click(object sender, EventArgs e) + { + Size = new Size(defaultWidth, defaultHeight); + + Global.Config.RamSearchColumnIndexes = new Dictionary + { + { "AddressColumn", 0 }, + { "ValueColumn", 1 }, + { "PrevColumn", 2 }, + { "ChangesColumn", 3 }, + { "DiffColumn", 4 }, + { "DomainColumn", 5 }, + { "NotesColumn", 6 }, + }; + + ColumnPositions(); + + Global.Config.RamSearchShowChangeColumn = true; + Global.Config.RamSearchShowPrevColumn = true; + Global.Config.RamSearchShowDiffColumn = false; + + WatchListView.Columns[ADDRESS].Width = DefaultColumnWidths[ADDRESS]; + WatchListView.Columns[VALUE].Width = DefaultColumnWidths[VALUE]; + //WatchListView.Columns[PREV].Width = DefaultColumnWidths[PREV]; + WatchListView.Columns[CHANGES].Width = DefaultColumnWidths[CHANGES]; + //WatchListView.Columns[DIFF].Width = DefaultColumnWidths[DIFF]; + + Global.Config.RamSearchSaveWindowPosition = true; + Global.Config.RamSearchAlwaysOnTop = TopMost = false; + + LoadColumnInfo(); + } + + #endregion + + #region Columns + + private void ColumnsMenuItem_DropDownOpened(object sender, EventArgs e) + { + ShowPreviousMenuItem.Checked = Global.Config.RamSearchShowPrevColumn; + ShowChangesMenuItem.Checked = Global.Config.RamSearchShowChangeColumn; + ShowDiffMenuItem.Checked = Global.Config.RamSearchShowDiffColumn; + } + + private void ShowPreviousMenuItem_Click(object sender, EventArgs e) + { + Global.Config.RamSearchShowPrevColumn ^= true; + SaveColumnInfo(); + LoadColumnInfo(); + } + + private void ShowChangesMenuItem_Click(object sender, EventArgs e) + { + Global.Config.RamSearchShowChangeColumn ^= true; + SaveColumnInfo(); + LoadColumnInfo(); + } + + private void ShowDiffMenuItem_Click(object sender, EventArgs e) + { + Global.Config.RamSearchShowDiffColumn ^= true; + SaveColumnInfo(); + LoadColumnInfo(); + } + + #endregion + + #region ContextMenu and Toolbar + + private void contextMenuStrip1_Opening(object sender, CancelEventArgs e) + { + DoSearchContextMenuItem.Enabled = Searches.Count > 0; + + RemoveContextMenuItem.Visible = + AddToRamWatchContextMenuItem.Visible = + PokeContextMenuItem.Visible = + FreezeContextMenuItem.Visible = + ContextMenuSeparator2.Visible = + + ViewInHexEditorContextMenuItem.Visible = + SelectedIndices.Count > 0; + + UnfreezeAllContextMenuItem.Visible = Global.CheatList.Any(); + + ContextMenuSeparator3.Visible = (SelectedIndices.Count > 0) || (Global.CheatList.Any()); + + bool allCheats = true; + foreach (int index in SelectedIndices) + { + if (!Global.CheatList.IsActiveCheat(Settings.Domain, Searches[index].Address.Value)) + { + allCheats = false; + } + } + + if (allCheats) + { + FreezeContextMenuItem.Text = "&Unfreeze address"; + FreezeContextMenuItem.Image = Properties.Resources.Unfreeze; } else { - FreezeAddress(); + FreezeContextMenuItem.Text = "&Freeze address"; + FreezeContextMenuItem.Image = Properties.Resources.Freeze; } } - private void CheckDomainMenuItems() + private void UnfreezeAllContextMenuItem_Click(object sender, EventArgs e) { - foreach (ToolStripMenuItem t in domainMenuItems) + ToolHelpers.UnfreezeAll(); + } + + private void ViewInHexEditorContextMenuItem_Click(object sender, EventArgs e) + { + if (SelectedIndices.Count > 0) { - if (Domain.Name == t.Text) - { - t.Checked = true; - } - else - { - t.Checked = false; - } + Global.MainForm.LoadHexEditor(); + Global.MainForm.HexEditor1.SetDomain(Settings.Domain); + Global.MainForm.HexEditor1.GoToAddress(Searches[SelectedIndices[0]].Address.Value); + + //TODO: secondary highlighted on remaining indexes } } - private void memoryDomainsToolStripMenuItem_DropDownOpened(object sender, EventArgs e) + private void ClearPreviewContextMenuItem_Click(object sender, EventArgs e) { - CheckDomainMenuItems(); + forcePreviewClear = true; + WatchListView.Refresh(); } - private void SearchListView_ColumnReordered(object sender, ColumnReorderedEventArgs e) - { - ColumnHeader header = e.Header; + #endregion - int lowIndex; - int highIndex; - int changeIndex; - if (e.NewDisplayIndex > e.OldDisplayIndex) + #region Compare To Box + + private void PreviousValueRadio_Click(object sender, EventArgs e) + { + SpecificValueBox.Enabled = false; + SpecificAddressBox.Enabled = false; + NumberOfChangesBox.Enabled = false; + DifferenceBox.Enabled = false; + SetCompareTo(RamSearchEngine.Compare.Previous); + } + + private void SpecificValueRadio_Click(object sender, EventArgs e) + { + SpecificValueBox.Enabled = true; + if (String.IsNullOrWhiteSpace(SpecificValueBox.Text)) { - changeIndex = -1; - highIndex = e.NewDisplayIndex; - lowIndex = e.OldDisplayIndex; + SpecificValueBox.Text = "0"; + Searches.CompareValue = 0; + } + SpecificValueBox.Focus(); + SpecificAddressBox.Enabled = false; + NumberOfChangesBox.Enabled = false; + DifferenceBox.Enabled = false; + SetCompareTo(RamSearchEngine.Compare.SpecificValue); + } + + private void SpecificAddressRadio_Click(object sender, EventArgs e) + { + SpecificValueBox.Enabled = false; + SpecificAddressBox.Enabled = true; + if (String.IsNullOrWhiteSpace(SpecificAddressBox.Text)) + { + SpecificAddressBox.Text = "0"; + Searches.CompareValue = 0; + } + SpecificAddressBox.Focus(); + NumberOfChangesBox.Enabled = false; + DifferenceBox.Enabled = false; + SetCompareTo(RamSearchEngine.Compare.SpecificAddress); + } + + private void NumberOfChangesRadio_Click(object sender, EventArgs e) + { + SpecificValueBox.Enabled = false; + SpecificAddressBox.Enabled = false; + NumberOfChangesBox.Enabled = true; + if (String.IsNullOrWhiteSpace(NumberOfChangesBox.Text)) + { + NumberOfChangesBox.Text = "0"; + Searches.CompareValue = 0; + } + NumberOfChangesBox.Focus(); + DifferenceBox.Enabled = false; + SetCompareTo(RamSearchEngine.Compare.Changes); + } + + private void DifferenceRadio_Click(object sender, EventArgs e) + { + SpecificValueBox.Enabled = false; + SpecificAddressBox.Enabled = false; + NumberOfChangesBox.Enabled = false; + DifferenceBox.Enabled = true; + if (String.IsNullOrWhiteSpace(DifferenceBox.Text)) + { + DifferenceBox.Text = "0"; + Searches.CompareValue = 0; + } + DifferenceBox.Focus(); + SetCompareTo(RamSearchEngine.Compare.Difference); + } + + private void CompareToValue_TextChanged(object sender, EventArgs e) + { + SetCompareValue((sender as INumberBox).ToInt()); + } + + #endregion + + #region Comparison Operator Box + + private void EqualToRadio_Click(object sender, EventArgs e) + { + DifferentByBox.Enabled = false; + SetComparisonOperator(RamSearchEngine.ComparisonOperator.Equal); + } + + private void NotEqualToRadio_Click(object sender, EventArgs e) + { + DifferentByBox.Enabled = false; + SetComparisonOperator(RamSearchEngine.ComparisonOperator.NotEqual); + } + + private void LessThanRadio_Click(object sender, EventArgs e) + { + DifferentByBox.Enabled = false; + SetComparisonOperator(RamSearchEngine.ComparisonOperator.LessThan); + } + + private void GreaterThanRadio_Click(object sender, EventArgs e) + { + DifferentByBox.Enabled = false; + SetComparisonOperator(RamSearchEngine.ComparisonOperator.GreaterThan); + } + + private void LessThanOrEqualToRadio_Click(object sender, EventArgs e) + { + DifferentByBox.Enabled = false; + SetComparisonOperator(RamSearchEngine.ComparisonOperator.LessThanEqual); + } + + private void GreaterThanOrEqualToRadio_Click(object sender, EventArgs e) + { + DifferentByBox.Enabled = false; + SetComparisonOperator(RamSearchEngine.ComparisonOperator.GreaterThanEqual); + } + + private void DifferentByRadio_Click(object sender, EventArgs e) + { + DifferentByBox.Enabled = true; + SetComparisonOperator(RamSearchEngine.ComparisonOperator.DifferentBy); + if (String.IsNullOrWhiteSpace(DifferentByBox.Text)) + { + DifferentByBox.Text = "0"; + } + DifferentByBox.Focus(); + } + + private void DifferentByBox_TextChanged(object sender, EventArgs e) + { + if (!String.IsNullOrWhiteSpace(DifferentByBox.Text)) + { + Searches.DifferentBy = DifferentByBox.ToInt(); } else { - changeIndex = 1; - highIndex = e.OldDisplayIndex; - lowIndex = e.NewDisplayIndex; - } - - if (Global.Config.RamSearchAddressIndex >= lowIndex && Global.Config.RamSearchAddressIndex <= highIndex) - Global.Config.RamSearchAddressIndex += changeIndex; - if (Global.Config.RamSearchValueIndex >= lowIndex && Global.Config.RamSearchValueIndex <= highIndex) - Global.Config.RamSearchValueIndex += changeIndex; - if (Global.Config.RamSearchPrevIndex >= lowIndex && Global.Config.RamSearchPrevIndex <= highIndex) - Global.Config.RamSearchPrevIndex += changeIndex; - if (Global.Config.RamSearchChangesIndex >= lowIndex && Global.Config.RamSearchChangesIndex <= highIndex) - Global.Config.RamSearchChangesIndex += changeIndex; - - if (header.Text == "Address") - Global.Config.RamSearchAddressIndex = e.NewDisplayIndex; - else if (header.Text == "Value") - Global.Config.RamSearchValueIndex = e.NewDisplayIndex; - else if (header.Text == "Prev") - Global.Config.RamSearchPrevIndex = e.NewDisplayIndex; - else if (header.Text == "Changes") - Global.Config.RamSearchChangesIndex = e.NewDisplayIndex; - } - - private void ColumnPositionSet() - { - List columnHeaders = new List(); - int i; - for (i = 0; i < SearchListView.Columns.Count; i++) - { - columnHeaders.Add(SearchListView.Columns[i]); - } - - SearchListView.Columns.Clear(); - - i = 0; - do - { - string column = ""; - if (Global.Config.RamSearchAddressIndex == i) - column = "Address"; - else if (Global.Config.RamSearchValueIndex == i) - column = "Value"; - else if (Global.Config.RamSearchPrevIndex == i) - column = "Prev"; - else if (Global.Config.RamSearchChangesIndex == i) - column = "Changes"; - - for (int k = 0; k < columnHeaders.Count(); k++) - { - if (columnHeaders[k].Text == column) - { - SearchListView.Columns.Add(columnHeaders[k]); - columnHeaders.Remove(columnHeaders[k]); - break; - } - } - i++; - } while (columnHeaders.Any()); - } - - private void RamSearch_DragEnter(object sender, DragEventArgs e) - { - e.Effect = e.Data.GetDataPresent(DataFormats.FileDrop) ? DragDropEffects.Copy : DragDropEffects.None; - } - - private void RamSearch_DragDrop(object sender, DragEventArgs e) - { - string[] filePaths = (string[])e.Data.GetData(DataFormats.FileDrop); - if (Path.GetExtension(filePaths[0]) == (".wch")) - { - LoadSearchFile(filePaths[0], false, Searches); - DisplaySearchList(); + Searches.DifferentBy = null; } } - private void OrderColumn(int columnToOrder) - { - string columnName = SearchListView.Columns[columnToOrder].Text; - if (sortedCol.CompareTo(columnName) != 0) - sortReverse = false; - Searches.Sort((x, y) => x.CompareTo(y, columnName, (Watch_Legacy.PREVDEF)Global.Config.RamSearchPreviousAs) * (sortReverse ? -1 : 1)); - sortedCol = columnName; - sortReverse = !(sortReverse); - SearchListView.Refresh(); - } + #endregion - private void SearchListView_ColumnClick(object sender, ColumnClickEventArgs e) - { - OrderColumn(e.Column); - } + #region ListView Events - private void RedotoolStripButton2_Click(object sender, EventArgs e) - { - DoRedo(); - } - - private void WatchtoolStripButton1_Click_1(object sender, EventArgs e) - { - AddToRamWatch(); - } - - private void SearchListView_Enter(object sender, EventArgs e) - { - SearchListView.Refresh(); - } - - private void RamSearch_Activated(object sender, EventArgs e) - { - SearchListView.Refresh(); - } - - private void SearchListView_KeyDown(object sender, KeyEventArgs e) + private void WatchListView_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Delete && !e.Control && !e.Alt && !e.Shift) { @@ -2602,138 +1262,111 @@ namespace BizHawk.MultiClient { for (int x = 0; x < Searches.Count; x++) { - SearchListView.SelectItem(x, true); + WatchListView.SelectItem(x, true); } } else if (e.KeyCode == Keys.C && e.Control && !e.Alt && !e.Shift) //Copy { - ListView.SelectedIndexCollection indexes = SearchListView.SelectedIndices; - if (indexes.Count > 0) + if (SelectedIndices.Count > 0) { StringBuilder sb = new StringBuilder(); - foreach (int index in indexes) + foreach (int index in SelectedIndices) { - for (int i = 0; i < SearchListView.Columns.Count; i++) + foreach (ColumnHeader column in WatchListView.Columns) { - if (SearchListView.Columns[i].Width > 0) - { - sb.Append(GetColumnValue(i, index)); - sb.Append('\t'); - } + sb.Append(GetColumnValue(column.Name, index)).Append('\t'); } sb.Remove(sb.Length - 1, 1); - sb.Append('\n'); + sb.AppendLine(); } - if (!String.IsNullOrWhiteSpace(sb.ToString())) + if (sb.Length > 0) { Clipboard.SetDataObject(sb.ToString()); } } } - } - - private string GetColumnValue(int column, int watch_index) - { - switch (SearchListView.Columns[column].Text.ToLower()) + else if (e.KeyCode == Keys.Escape && !e.Control && !e.Alt && !e.Shift) { - default: - return ""; - case "address": - return Searches[watch_index].Address.ToString(addressFormatStr); - case "value": - return Searches[watch_index].ValueString; - case "prev": - switch (Global.Config.RamSearchPrev_Type) - { - case 1: - return Searches[watch_index].PrevString; - case 2: - return Searches[watch_index].LastChangeString; - default: - return ""; - } - case "changes": - return Searches[watch_index].Changecount.ToString(); - case "diff": - switch (Global.Config.RamSearchPrev_Type) - { - case 1: - return Searches[watch_index].DiffPrevString; - case 2: - return Searches[watch_index].DiffLastChangeString; - default: - return ""; - } - case "domain": - return Searches[watch_index].Domain.Name; - case "notes": - return Searches[watch_index].Notes; + WatchListView.SelectedIndices.Clear(); } } - private void redoToolStripMenuItem_Click(object sender, EventArgs e) + private void WatchListView_SelectedIndexChanged(object sender, EventArgs e) { - DoRedo(); + RemoveToolBarItem.Enabled = + AddToRamWatchToolBarItem.Enabled = + PokeAddressToolBarItem.Enabled = + FreezeAddressToolBarItem.Enabled = + SelectedIndices.Any(); } - private void viewInHexEditorToolStripMenuItem_Click(object sender, EventArgs e) + private void WatchListView_ColumnReordered(object sender, ColumnReorderedEventArgs e) { - ListView.SelectedIndexCollection indexes = SearchListView.SelectedIndices; - if (indexes.Count > 0) + Global.Config.RamSearchColumnIndexes[ADDRESS] = WatchListView.Columns[ADDRESS].DisplayIndex; + Global.Config.RamSearchColumnIndexes[VALUE] = WatchListView.Columns[VALUE].DisplayIndex; + Global.Config.RamSearchColumnIndexes[PREV] = WatchListView.Columns[ADDRESS].DisplayIndex; + Global.Config.RamSearchColumnIndexes[CHANGES] = WatchListView.Columns[CHANGES].DisplayIndex; + Global.Config.RamSearchColumnIndexes[DIFF] = WatchListView.Columns[DIFF].DisplayIndex; + } + + private void WatchListView_Enter(object sender, EventArgs e) + { + WatchListView.Refresh(); + } + + private void WatchListView_ColumnClick(object sender, ColumnClickEventArgs e) + { + var column = WatchListView.Columns[e.Column]; + if (column.Name != _sortedColumn) { - Global.MainForm.LoadHexEditor(); - Global.MainForm.HexEditor1.SetDomain(Searches[indexes[0]].Domain); - Global.MainForm.HexEditor1.GoToAddress(Searches[indexes[0]].Address); + _sortReverse = false; + } + + Searches.Sort(column.Name, _sortReverse); + + _sortedColumn = column.Name; + _sortReverse ^= true; + WatchListView.Refresh(); + } + + private void WatchListView_MouseDoubleClick(object sender, MouseEventArgs e) + { + if (SelectedIndices.Count > 0) + { + AddToRamWatch(); } } - private void autoloadDialogToolStripMenuItem_Click(object sender, EventArgs e) + #endregion + + #region Dialog Events + + private void NewRamSearch_Activated(object sender, EventArgs e) { - Global.Config.RecentSearches.AutoLoad ^= true; + WatchListView.Refresh(); } - private void unfreezeAllToolStripMenuItem_Click(object sender, EventArgs e) + private void NewRamSearch_DragEnter(object sender, DragEventArgs e) { - Global.MainForm.Cheats1.RemoveAllCheats(); - UpdateValues(); - - Global.MainForm.NewRamWatch1.UpdateValues(); - Global.MainForm.HexEditor1.UpdateValues(); - Global.MainForm.Cheats_UpdateValues(); + e.Effect = e.Data.GetDataPresent(DataFormats.FileDrop) ? DragDropEffects.Copy : DragDropEffects.None; } - private void alwaysOnTopToolStripMenuItem_Click(object sender, EventArgs e) + private void NewRamSearch_DragDrop(object sender, DragEventArgs e) { - alwaysOnTopToolStripMenuItem.Checked = alwaysOnTopToolStripMenuItem.Checked == false; - this.TopMost = alwaysOnTopToolStripMenuItem.Checked; - } - - private void clearUndoHistoryToolStripMenuItem_Click(object sender, EventArgs e) - { - SearchHistory.Clear(); - } - - private void fastModeToolStripMenuItem_Click(object sender, EventArgs e) - { - Global.Config.RamSearchFastMode ^= true; - Global.Config.RamSearchPreviewMode = !Global.Config.RamSearchFastMode; - if (Global.Config.RamSearchFastMode && Global.Config.RamSearchPreviousAs > 1) + string[] filePaths = (string[])e.Data.GetData(DataFormats.FileDrop); + if (Path.GetExtension(filePaths[0]) == (".wch")) { - Global.Config.RamSearchPreviousAs = 0; + var file = new FileInfo(filePaths[0]); + if (file.Exists) + { + LoadWatchFile(file, false); + } } } - private void useUndoHistoryToolStripMenuItem_Click(object sender, EventArgs e) - { - useUndoHistoryToolStripMenuItem.Checked ^= true; - SearchHistory = new HistoryCollection(Searches, useUndoHistoryToolStripMenuItem.Checked); - } + #endregion - private void clearPreviewToolStripMenuItem_Click(object sender, EventArgs e) - { - forcePreviewClear = true; - SearchListView.Refresh(); - } + #endregion } } diff --git a/BizHawk.MultiClient/tools/Watch/RamSearch.resx b/BizHawk.MultiClient/tools/Watch/RamSearch.resx index cdf7cf3cf9..1fa045f760 100644 --- a/BizHawk.MultiClient/tools/Watch/RamSearch.resx +++ b/BizHawk.MultiClient/tools/Watch/RamSearch.resx @@ -117,52 +117,23 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 17, 17 + + False - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJHSURBVDhPxZBdSNNhFMb/F110ZZEVhVBgeeHNICiiuggp - olAUyyxI0oSaH1QYC3N+tKnp5ubm1JUua5uuqdNKMwr7kApFItTUkWZqVhSVYmao5Nevvy7UoYR3HXh4 - 4XCe33nOKyy3lAY7l9RWMo0O/raWXxEyo5spVYTNvOGyfIRPfW+ptOkXqaPl6T83hcRmExSdgzAz3NVm - YWyoYla/B+1M9JtxWLPpaH22JORIjI6gKAMB0jyEimIdo4OlbuaprwVMOOMovammpDADc34qppwUrmnl - 5Kni3aFlFg2j3y1z5mnRTJccnNIltQhwq0jFry+mOXNtpWZWDx1Z1NhV3C3JwGFOw25SYjVe5oYhiUKd - HKMmwQUrMWUw/CF3NnZvvYKqUh1TvUroS3fXe7HXkwidMngTS2t5KLbregSzMY2f3Wr4qKW6LJvGR1rX - 0MLor8OhKYTJBn/GHvvxrliCTBrsOqXIoOBHh5K+hmSq7FqmexTQHuUytkaKxuNMNgYyVneA4Qd7GKjc - hjLaRzxH7gIU6JIZaEvgtk1D8wsxSWecCDgNzWFMvwxm/PkhRmr3Mli1nW9lvjRdWc0Jf+/5jzRmyWmv - S+GOLQu6U6BFjPvqKOP1AYw88WOoZif9DgmfLVtxaj1RSLdwNvrkPCA3M54KqxrnvRia9MKcGrUrqFOt - 5H7qKsqT1mGO9+Lqhc2ELdw+U/r0i+gVZ8hMiCDx3DHORwZyKnQ/hw/uYt9uCTskPvh6e7Fp41rWr/Fg - g6eHO+A/lyD8ARfG3mk9fv1YAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIySURBVDhPrZLfS5NRGMfff6H7boIuuq2pMZyL1eAt11CW - DcOKsB9vpFmaLtNExco0av6CbIVLJ61Wk3BSkT/AFCkRZSpZmrmiJQ41xSaCwdfznL15XEUX0Reem5f3 - 8znnec4j/Zc8fxYGla91CS3eRTx0z6OpMYS7jmnU1X6B/VYA18snUVoyjsKCt8jLHcH5c36ouCQR2NUJ - 1Nas4G9ZXlmFKbULh1Kf8lJxSfI+WeCCyopv6q+/h+DQ/DJ2WV5Ao1FgPegRAveDOS4oLfmq/h6dn/DH - 4AJizD4UXJrCAUuzEDgbZrjgou2DiohshIcnQtgme5GTPYbkJKcQ1N8OckHW2REVi+RXuM8fxGaDG4oy - ALPZIQQ11Z+5QDk1oKJ/hjv7P2FTfCMOH3mFxMQ6IbhROYWOdrCnBI4dfwPr0V4+bRoY9UzXppMjcDdS - rC8hy3YhuFI2gTYf2A4Aza4f7N2/o/zaLB8qDYx6zszwr8P7k1thNFYIweXCMXgeAfedq2xxwjClZUeV - Jd2GtDNFETiJwfs8MBjKhMCWN8pgoLoqzE8miH1GjE7G4PsZjE7OQsm9ij2mFg7rdrug1xcJAa2l4w7W - r00Cgk/n38S7wBwC04u4UGxHrMHF4CbEJtyDLj5fCDIzhljfSxzeavRgyw4Zj9t64GvvQ0d3P3pfD2Kv - 2QqNvgFxDN6urYdWmyMElJMnevh60obRktA701PRtGlg1DOdSkXwzrisaMG/RZLWAE60OMW5fNhvAAAA - AElFTkSuQmCC - - 457, 17 150, 17 - - 259, 17 + + 602, 17 - + + 699, 17 + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAI3SURBVDhPlZLRS9NRHMW3hwgKBxXRH1BR0UMvPfoQVBAJ @@ -178,7 +149,7 @@ 7RYAAAAASUVORK5CYII= - + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG @@ -193,57 +164,6 @@ TgDQASA1MVpwzwAAAABJRU5ErkJggg== - - 358, 17 - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG - YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9 - 0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw - bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc - VzOOpHI7Jr376Hi9ogHqFIANO0/MmmmbmSmm9a8ze+I4MrNWAdjtoJgWcx+PSzg166yZZ8xM8XvXDix9 - c4jIqFYAjoriBV9AhEPv1mH/sonogha0afbZMMZz+yreTGyhpusHwtNNCsA5U1zS4BLxzJIfg299qO32 - Ir7UJtZfftyATqeT+8o2D8JSjQrAJblrncYL7ZJ2+bfaFnC/1S1NjL3diRat7qrO7wLRP3HjWsojBeCo - mDEo5mNjuweFGvjWg2EBhCbpkW78htSHHwRyNdmgAFzPEee2iFkzayy2OLXzT4gr6UdUnlXrullsxxQ+ - kx0g8BTA3aZlButjSTyjODq/WcQcW/B/Je4OQhLvKQDnzN1mp0nnkvAhR8VuMzNrpm1mpjgkoVwB/v8D - TgDQASA1MVpwzwAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG - YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9 - 0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw - bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc - VzOOpHI7Jr376Hi9ogHqFIANO0/MmmmbmSmm9a8ze+I4MrNWAdjtoJgWcx+PSzg166yZZ8xM8XvXDix9 - c4jIqFYAjoriBV9AhEPv1mH/sonogha0afbZMMZz+yreTGyhpusHwtNNCsA5U1zS4BLxzJIfg299qO32 - Ir7UJtZfftyATqeT+8o2D8JSjQrAJblrncYL7ZJ2+bfaFnC/1S1NjL3diRat7qrO7wLRP3HjWsojBeCo - mDEo5mNjuweFGvjWg2EBhCbpkW78htSHHwRyNdmgAFzPEee2iFkzayy2OLXzT4gr6UdUnlXrullsxxQ+ - kx0g8BTA3aZlButjSTyjODq/WcQcW/B/Je4OQhLvKQDnzN1mp0nnkvAhR8VuMzNrpm1mpjgkoVwB/v8D - TgDQASA1MVpwzwAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG - YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9 - 0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw - bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc - VzOOpHI7Jr376Hi9ogHqFIANO0/MmmmbmSmm9a8ze+I4MrNWAdjtoJgWcx+PSzg166yZZ8xM8XvXDix9 - c4jIqFYAjoriBV9AhEPv1mH/sonogha0afbZMMZz+yreTGyhpusHwtNNCsA5U1zS4BLxzJIfg299qO32 - Ir7UJtZfftyATqeT+8o2D8JSjQrAJblrncYL7ZJ2+bfaFnC/1S1NjL3diRat7qrO7wLRP3HjWsojBeCo - mDEo5mNjuweFGvjWg2EBhCbpkW78htSHHwRyNdmgAFzPEee2iFkzayy2OLXzT4gr6UdUnlXrullsxxQ+ - kx0g8BTA3aZlButjSTyjODq/WcQcW/B/Je4OQhLvKQDnzN1mp0nnkvAhR8VuMzNrpm1mpjgkoVwB/v8D - TgDQASA1MVpwzwAAAABJRU5ErkJggg== - - - - 602, 17 - AAABAAwAMDAQAAAAAABoBgAAxgAAACAgEAAAAAAA6AIAAC4HAAAYGBAAAAAAAOgBAAAWCgAAEBAQAAAA diff --git a/BizHawk.MultiClient/tools/Watch/RamSearchEngine.cs b/BizHawk.MultiClient/tools/Watch/RamSearchEngine.cs index 832f101891..4a202e894e 100644 --- a/BizHawk.MultiClient/tools/Watch/RamSearchEngine.cs +++ b/BizHawk.MultiClient/tools/Watch/RamSearchEngine.cs @@ -306,7 +306,7 @@ namespace BizHawk.MultiClient { switch(column) { - case NewRamSearch.ADDRESS: + case RamSearch.ADDRESS: if (reverse) { _watchList = _watchList.OrderByDescending(x => x.Address).ToList(); @@ -316,7 +316,7 @@ namespace BizHawk.MultiClient _watchList = _watchList.OrderBy(x => x.Address).ToList(); } break; - case NewRamSearch.VALUE: + case RamSearch.VALUE: if (reverse) { _watchList = _watchList.OrderByDescending(x => GetValue(x.Address)).ToList(); @@ -326,7 +326,7 @@ namespace BizHawk.MultiClient _watchList = _watchList.OrderBy(x => GetValue(x.Address)).ToList(); } break; - case NewRamSearch.PREV: + case RamSearch.PREV: if (reverse) { _watchList = _watchList.OrderByDescending(x => x.Previous).ToList(); @@ -336,7 +336,7 @@ namespace BizHawk.MultiClient _watchList = _watchList.OrderBy(x => x.Previous).ToList(); } break; - case NewRamSearch.CHANGES: + case RamSearch.CHANGES: if (_settings.Mode == Settings.SearchMode.Detailed) { if (reverse) @@ -355,7 +355,7 @@ namespace BizHawk.MultiClient } } break; - case NewRamSearch.DIFF: + case RamSearch.DIFF: if (reverse) { _watchList = _watchList.OrderByDescending(x => (GetValue(x.Address) - x.Previous)).ToList(); diff --git a/BizHawk.MultiClient/tools/Watch/RamWatch.cs b/BizHawk.MultiClient/tools/Watch/RamWatch.cs index fcca2f6db9..0f741d769e 100644 --- a/BizHawk.MultiClient/tools/Watch/RamWatch.cs +++ b/BizHawk.MultiClient/tools/Watch/RamWatch.cs @@ -1141,7 +1141,6 @@ namespace BizHawk.MultiClient Global.MainForm.Cheats1.RemoveAllCheats(); UpdateValues(); Global.MainForm.RamSearch1.UpdateValues(); - Global.MainForm.NewRamSearch1.UpdateValues(); Global.MainForm.HexEditor1.UpdateValues(); Global.MainForm.Cheats_UpdateValues(); }