diff --git a/BizHawk.MultiClient/tools/RamSearch.Designer.cs b/BizHawk.MultiClient/tools/RamSearch.Designer.cs
index 22821e5cb0..a48bc250ab 100644
--- a/BizHawk.MultiClient/tools/RamSearch.Designer.cs
+++ b/BizHawk.MultiClient/tools/RamSearch.Designer.cs
@@ -38,7 +38,7 @@
this.WatchtoolStripButton1 = new System.Windows.Forms.ToolStripButton();
this.PoketoolStripButton1 = new System.Windows.Forms.ToolStripButton();
this.TotalSearchLabel = new System.Windows.Forms.Label();
- this.listView1 = new System.Windows.Forms.ListView();
+ this.SearchListView = new System.Windows.Forms.ListView();
this.Address = new System.Windows.Forms.ColumnHeader();
this.Value = new System.Windows.Forms.ColumnHeader();
this.Previous = new System.Windows.Forms.ColumnHeader();
@@ -48,7 +48,6 @@
this.openToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.saveAsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.saveToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.hackyAutoLoadToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripContainer1 = new System.Windows.Forms.ToolStripContainer();
this.toolStrip1 = new System.Windows.Forms.ToolStrip();
@@ -89,7 +88,12 @@
this.GreaterThanRadio = new System.Windows.Forms.RadioButton();
this.LessThanRadio = new System.Windows.Forms.RadioButton();
this.AutoSearchCheckBox = new System.Windows.Forms.CheckBox();
+ this.optionsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.saveWindowPositionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.restoreOriginalWindowSizeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.hackyAutoLoadToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.newSearchToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
this.SearchtoolStrip1.SuspendLayout();
this.menuStrip1.SuspendLayout();
this.toolStripContainer1.TopToolStripPanel.SuspendLayout();
@@ -191,23 +195,25 @@
this.TotalSearchLabel.TabIndex = 2;
this.TotalSearchLabel.Text = "0 addresses";
//
- // listView1
+ // SearchListView
//
- this.listView1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ this.SearchListView.AllowColumnReorder = true;
+ this.SearchListView.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.listView1.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
+ this.SearchListView.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
this.Address,
this.Value,
this.Previous,
this.Changes});
- this.listView1.GridLines = true;
- this.listView1.Location = new System.Drawing.Point(16, 58);
- this.listView1.Name = "listView1";
- this.listView1.Size = new System.Drawing.Size(221, 391);
- this.listView1.TabIndex = 3;
- this.listView1.UseCompatibleStateImageBehavior = false;
- this.listView1.View = System.Windows.Forms.View.Details;
+ this.SearchListView.GridLines = true;
+ this.SearchListView.LabelEdit = true;
+ this.SearchListView.Location = new System.Drawing.Point(16, 58);
+ this.SearchListView.Name = "SearchListView";
+ this.SearchListView.Size = new System.Drawing.Size(221, 391);
+ this.SearchListView.TabIndex = 3;
+ this.SearchListView.UseCompatibleStateImageBehavior = false;
+ this.SearchListView.View = System.Windows.Forms.View.Details;
//
// Address
//
@@ -232,7 +238,8 @@
// menuStrip1
//
this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.fileToolStripMenuItem});
+ this.fileToolStripMenuItem,
+ this.optionsToolStripMenuItem});
this.menuStrip1.Location = new System.Drawing.Point(0, 0);
this.menuStrip1.Name = "menuStrip1";
this.menuStrip1.Size = new System.Drawing.Size(496, 24);
@@ -242,11 +249,11 @@
// fileToolStripMenuItem
//
this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.newSearchToolStripMenuItem,
+ this.toolStripSeparator1,
this.openToolStripMenuItem,
this.saveAsToolStripMenuItem,
this.saveToolStripMenuItem,
- this.restoreOriginalWindowSizeToolStripMenuItem,
- this.hackyAutoLoadToolStripMenuItem,
this.exitToolStripMenuItem});
this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
this.fileToolStripMenuItem.Size = new System.Drawing.Size(35, 20);
@@ -276,13 +283,6 @@
this.saveToolStripMenuItem.Size = new System.Drawing.Size(204, 22);
this.saveToolStripMenuItem.Text = "Save";
//
- // hackyAutoLoadToolStripMenuItem
- //
- this.hackyAutoLoadToolStripMenuItem.Name = "hackyAutoLoadToolStripMenuItem";
- this.hackyAutoLoadToolStripMenuItem.Size = new System.Drawing.Size(204, 22);
- this.hackyAutoLoadToolStripMenuItem.Text = "HackyAutoLoad";
- this.hackyAutoLoadToolStripMenuItem.Click += new System.EventHandler(this.hackyAutoLoadToolStripMenuItem_Click);
- //
// exitToolStripMenuItem
//
this.exitToolStripMenuItem.Name = "exitToolStripMenuItem";
@@ -332,6 +332,7 @@
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);
//
// toolStripButton1
//
@@ -457,13 +458,13 @@
this.bigEndianToolStripMenuItem.Checked = true;
this.bigEndianToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked;
this.bigEndianToolStripMenuItem.Name = "bigEndianToolStripMenuItem";
- this.bigEndianToolStripMenuItem.Size = new System.Drawing.Size(143, 22);
+ this.bigEndianToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
this.bigEndianToolStripMenuItem.Text = "Big Endian";
//
// littleEndianToolStripMenuItem
//
this.littleEndianToolStripMenuItem.Name = "littleEndianToolStripMenuItem";
- this.littleEndianToolStripMenuItem.Size = new System.Drawing.Size(143, 22);
+ this.littleEndianToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
this.littleEndianToolStripMenuItem.Text = "Little Endian";
//
// CompareToBox
@@ -695,12 +696,45 @@
this.AutoSearchCheckBox.Text = "Auto Search";
this.AutoSearchCheckBox.UseVisualStyleBackColor = true;
//
+ // optionsToolStripMenuItem
+ //
+ this.optionsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.hackyAutoLoadToolStripMenuItem,
+ this.restoreOriginalWindowSizeToolStripMenuItem,
+ this.saveWindowPositionToolStripMenuItem});
+ this.optionsToolStripMenuItem.Name = "optionsToolStripMenuItem";
+ this.optionsToolStripMenuItem.Size = new System.Drawing.Size(56, 20);
+ this.optionsToolStripMenuItem.Text = "&Options";
+ //
+ // saveWindowPositionToolStripMenuItem
+ //
+ this.saveWindowPositionToolStripMenuItem.Name = "saveWindowPositionToolStripMenuItem";
+ this.saveWindowPositionToolStripMenuItem.Size = new System.Drawing.Size(190, 22);
+ this.saveWindowPositionToolStripMenuItem.Text = "Save Window Position";
+ //
// restoreOriginalWindowSizeToolStripMenuItem
//
this.restoreOriginalWindowSizeToolStripMenuItem.Name = "restoreOriginalWindowSizeToolStripMenuItem";
- this.restoreOriginalWindowSizeToolStripMenuItem.Size = new System.Drawing.Size(204, 22);
+ this.restoreOriginalWindowSizeToolStripMenuItem.Size = new System.Drawing.Size(190, 22);
this.restoreOriginalWindowSizeToolStripMenuItem.Text = "Restore Window Size";
- this.restoreOriginalWindowSizeToolStripMenuItem.Click += new System.EventHandler(this.restoreOriginalWindowSizeToolStripMenuItem_Click);
+ //
+ // hackyAutoLoadToolStripMenuItem
+ //
+ this.hackyAutoLoadToolStripMenuItem.Name = "hackyAutoLoadToolStripMenuItem";
+ this.hackyAutoLoadToolStripMenuItem.Size = new System.Drawing.Size(190, 22);
+ this.hackyAutoLoadToolStripMenuItem.Text = "HackyAutoLoad";
+ //
+ // newSearchToolStripMenuItem
+ //
+ this.newSearchToolStripMenuItem.Name = "newSearchToolStripMenuItem";
+ this.newSearchToolStripMenuItem.Size = new System.Drawing.Size(204, 22);
+ this.newSearchToolStripMenuItem.Text = "&New Search";
+ this.newSearchToolStripMenuItem.Click += new System.EventHandler(this.newSearchToolStripMenuItem_Click);
+ //
+ // toolStripSeparator1
+ //
+ this.toolStripSeparator1.Name = "toolStripSeparator1";
+ this.toolStripSeparator1.Size = new System.Drawing.Size(201, 6);
//
// RamSearch
//
@@ -711,7 +745,7 @@
this.Controls.Add(this.ComparisonBox);
this.Controls.Add(this.CompareToBox);
this.Controls.Add(this.toolStripContainer1);
- this.Controls.Add(this.listView1);
+ this.Controls.Add(this.SearchListView);
this.Controls.Add(this.TotalSearchLabel);
this.Controls.Add(this.menuStrip1);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
@@ -753,14 +787,13 @@
private System.Windows.Forms.ToolStripButton WatchtoolStripButton1;
private System.Windows.Forms.ToolStripButton PoketoolStripButton1;
private System.Windows.Forms.Label TotalSearchLabel;
- private System.Windows.Forms.ListView listView1;
+ private System.Windows.Forms.ListView 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.MenuStrip menuStrip1;
private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem hackyAutoLoadToolStripMenuItem;
private System.Windows.Forms.ToolStripContainer toolStripContainer1;
private System.Windows.Forms.ToolStrip toolStrip1;
private System.Windows.Forms.ToolStripButton NewSearchtoolStripButton;
@@ -804,6 +837,11 @@
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 optionsToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem hackyAutoLoadToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem restoreOriginalWindowSizeToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem saveWindowPositionToolStripMenuItem;
+ private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
}
}
\ No newline at end of file
diff --git a/BizHawk.MultiClient/tools/RamSearch.cs b/BizHawk.MultiClient/tools/RamSearch.cs
index 0ea0905f6d..d57dbbbe59 100644
--- a/BizHawk.MultiClient/tools/RamSearch.cs
+++ b/BizHawk.MultiClient/tools/RamSearch.cs
@@ -33,13 +33,19 @@ namespace BizHawk.MultiClient
defaultWidth = this.Size.Width; //Save these first so that the user can restore to its original size
defaultHeight = this.Size.Height;
- SetTotal();
-
- for (int x = 0; x < Global.Emulator.MainMemory.Size; x++)
+ if (Global.Emulator.MainMemory.Endian == Endian.Big)
{
-
+ bigEndianToolStripMenuItem.Checked = true;
+ littleEndianToolStripMenuItem.Checked = false;
}
-
+ else
+ {
+ bigEndianToolStripMenuItem.Checked = false;
+ littleEndianToolStripMenuItem.Checked = true;
+ }
+ SetTotal();
+ StartNewSearch();
+
if (Global.Config.RamSearchWndx >= 0 && Global.Config.RamSearchWndy >= 0)
this.Location = new Point(Global.Config.RamSearchWndx, Global.Config.RamSearchWndy);
@@ -189,5 +195,38 @@ namespace BizHawk.MultiClient
{
this.Size = new System.Drawing.Size(defaultWidth, defaultHeight);
}
+
+ private void NewSearchtoolStripButton_Click(object sender, EventArgs e)
+ {
+ StartNewSearch();
+ }
+
+ private void StartNewSearch()
+ {
+ for (int x = 0; x < Global.Emulator.MainMemory.Size; x++)
+ {
+ searchList.Add(new Watch());
+ searchList[x].value = Global.Emulator.MainMemory.PeekByte(x);
+ }
+ DisplaySearchList();
+ }
+
+ private void DisplaySearchList()
+ {
+ SearchListView.Items.Clear();
+ for (int x = 0; x < searchList.Count; x++)
+ {
+ ListViewItem item = new ListViewItem(String.Format("{0:X}", searchList[x].address));
+ //TODO: if asigned.HeX, switch based on searchList.type
+ item.SubItems.Add(string.Format("{0:X2}", searchList[x].value));
+ SearchListView.Items.Add(item);
+ }
+ }
+
+ private void newSearchToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ StartNewSearch();
+
+ }
}
}
diff --git a/BizHawk.MultiClient/tools/RamSearch.resx b/BizHawk.MultiClient/tools/RamSearch.resx
index c5d67d2275..e6ee9565a7 100644
--- a/BizHawk.MultiClient/tools/RamSearch.resx
+++ b/BizHawk.MultiClient/tools/RamSearch.resx
@@ -177,17 +177,17 @@
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
- YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAjtJREFUOE+Nkl9I
- U2EYxl0RQuFQI7wIuqno30U3XXoRlBAJXbibWkTgRRd2MZoZjcks12iptLQIIqi2alu2dJrQFslkljZo
- rXWxtanMsJVIus2xTFc9PefslFnH6oMf34Hv/J73fb9zFEV/WXq9S1u2fb1mxcriDaWl5UW5mensRDR+
- q8V4yEgtTfLL6hfbfdaxZAaTeSD4GXgyAwxlgTuhHE7oOiMUt5Bi2QCLZaDWH09BWFNzgO8j4EoA7gmg
- Pw04X2dRXa15JIX8mXHdER4MfgKis4CXki8D+HPA8DzwlIFDPDvZ0peleViuA4Xdl0SAgvc9W2cjQXYS
- JSPkDQl/AS67XoBys2zA7f5CQOdYoXKEUpJwEnwgMXKtVwzokA24dON5wM+2e96xXbYtVBZk3ic4AeLE
- ZOmeWzagsdF21h5IYYB3IMwstD1J+DHEFZ/OorLyyIjsCPmu/c0Pux2Pza33cS+UwTOOEP5a6GKUjKdy
- 0NS3TlG2EvWSERYe7LN986gQajsInVb7Vq1uiJ1p8+auul+ia3gcN+++yteoNKOUbKSObP4ZsOCsEuWI
- cS8cOh2O15kTPGwnp8k5ad4r3E3S5xPkwo8ktA2vCjHTHlFuarLPlpSsdfHoGNlBNpKtZBvZRNaRVaI8
- 7z5QC0/NElmpLO/lkY7slKoouP/K4uh9HUcHE+bdcJ6qFytLsp5v7CKrJXFR+P3JYDB4LjQIsjWtVJb1
- 8PyHvOafshRWIV3Kee5aqfJ/y98BrcSCFWcIYBgAAAAASUVORK5CYII=
+ YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAjpJREFUOE+Nkl9I
+ U2EYxl0RQuFQI7oIuqno30U3XXoRVCAJXbibWkTgRRd2MZoZHSazXKOl0tIiiKDakm3Z0mlCWySTWdqg
+ tdbF1qYyxVYi6TbHMl319JyzU2bN6oMf34Hv/J73fb9zFEV/WTqdU1u2a5Nm1erizaWl5UXZ2ZnMZCR2
+ t9lw1EAtRXIr6lfavJaxRBpTOSDwGXg6CwxlgI5gFqeFzjDF7aS4YIDZPFDjiyUhrul5wPsRcMYB1yTQ
+ nwIcbzKoqtI8lkP+zLhlDw0GPgGROcBDyZsGfFlgeAF4xsAhnp1p7svQPFaoA4XNm4Cfguc9W2cjAXYS
+ ISPkLQl9Aa45X4JyU8GAe/35gM6xfOUwpQThJPhAouRmrxTQXjDg6u0Xfh/b7nnHdtm2WFmUeZ/gBIgR
+ o7l7fsWAhgbrBZs/iQHegTiz2PYU4ceQVmwmg4qK4yMFR8h1HWp61G1/Ymp5gPvBNJ5zhNDXfBejZDyZ
+ haauZZqyhaiXjbD4sNL6za1CsPUIBK12Qq2uj55v9WRvuF6ha3gcdzpe56pVmlFKVlJLtv0MWHQclOSw
+ 4QDsgoBTtaY4D9vIOXJRnvc6d6P8+UQ5/yOJbcOjQtS4X5IbG21zJSXrnTw6SXaTLWQH2Um2kg1kjSQv
+ uA7XwF29TFYqy3t5JJA9chUF919ZGr2v/cRg3LQPjrN1UmVZ1vGNvWStLC4Jvz/p9Xr35XpRtqSUyrIe
+ nv+Q1/1TlsM2ypdyibtWrvzf8nesK4IUDprkkgAAAABJRU5ErkJggg==