Cheats - add compare column, and show active cheat rows in cyan (like other tool dialogs), do validation on address and value textboxes when adding/editing a cheat

This commit is contained in:
adelikat 2012-09-01 17:09:44 +00:00
parent 21cd754a7d
commit 3b39b2b898
5 changed files with 237 additions and 125 deletions

View File

@ -369,13 +369,15 @@ namespace BizHawk.MultiClient
public int CheatsNameWidth = -1; public int CheatsNameWidth = -1;
public int CheatsAddressWidth = -1; public int CheatsAddressWidth = -1;
public int CheatsValueWidth = -1; public int CheatsValueWidth = -1;
public int CheatsCompareWidth = -1;
public int CheatsDomainWidth = -1; public int CheatsDomainWidth = -1;
public int CheatsOnWidth = -1; public int CheatsOnWidth = -1;
public int CheatsNameIndex = 0; public int CheatsNameIndex = 0;
public int CheatsAddressIndex = 1; public int CheatsAddressIndex = 1;
public int CheatsValueIndex = 2; public int CheatsValueIndex = 2;
public int CheatsDomainIndex = 3; public int CheatsCompareIndex = 3;
public int CheatsOnIndex = 4; public int CheatsOnIndex = 4;
public int CheatsDomainIndex = 5;
// TAStudio Dialog // TAStudio Dialog
public bool TAStudioSaveWindowPosition = true; public bool TAStudioSaveWindowPosition = true;

View File

@ -45,30 +45,47 @@ namespace BizHawk.MultiClient
temp = s.Substring(0, 2); temp = s.Substring(0, 2);
c.value = byte.Parse(temp, NumberStyles.HexNumber); c.value = byte.Parse(temp, NumberStyles.HexNumber);
bool comparefailed = false; //adelikat: This is a hack for 1.0.6 to support .cht files made in previous versions before the compare value was implemented
y = s.IndexOf('\t') + 1; y = s.IndexOf('\t') + 1;
s = s.Substring(y, s.Length - y); //Memory Domain s = s.Substring(y, s.Length - y); //Compare
temp = s.Substring(0, s.IndexOf('\t')); temp = s.Substring(0, s.IndexOf('\t'));
c.domain = SetDomain(temp); try
{
if (temp == "N")
{
c.compare = null;
}
else
{
c.compare = byte.Parse(temp, NumberStyles.HexNumber);
}
}
catch
{
comparefailed = true;
c.domain = SetDomain(temp);
}
if (!comparefailed)
{
y = s.IndexOf('\t') + 1;
s = s.Substring(y, s.Length - y); //Memory Domain
temp = s.Substring(0, s.IndexOf('\t'));
c.domain = SetDomain(temp);
}
y = s.IndexOf('\t') + 1; y = s.IndexOf('\t') + 1;
s = s.Substring(y, s.Length - y); //Enabled s = s.Substring(y, s.Length - y); //Enabled
y = int.Parse(s[0].ToString()); y = int.Parse(s[0].ToString());
//try if (y == 0)
//{ {
if (y == 0) c.Disable();
{ }
c.Disable(); else
} {
else c.Enable();
{ }
c.Enable();
}
//}
//catch
//{
// NotSupportedError();
//}
y = s.IndexOf('\t') + 1; y = s.IndexOf('\t') + 1;
s = s.Substring(y, s.Length - y); //Name s = s.Substring(y, s.Length - y); //Name
@ -200,11 +217,27 @@ namespace BizHawk.MultiClient
{ {
str += FormatAddress(cheatList[x].address) + "\t"; str += FormatAddress(cheatList[x].address) + "\t";
str += String.Format("{0:X2}", cheatList[x].value) + "\t"; str += String.Format("{0:X2}", cheatList[x].value) + "\t";
str += cheatList[x].domain.Name + "\t";
if (cheatList[x].IsEnabled()) if (cheatList[x].compare == null)
str += "1\t"; {
str += "N\t";
}
else else
{
str += String.Format("{0:X2}", cheatList[x].compare) + "\t";
}
str += cheatList[x].domain.Name + "\t";
if (cheatList[x].IsEnabled())
{
str += "1\t";
}
else
{
str += "0\t"; str += "0\t";
}
str += cheatList[x].name + "\n"; str += cheatList[x].name + "\n";
} }
@ -258,10 +291,12 @@ namespace BizHawk.MultiClient
public bool AttemptLoadCheatFile() public bool AttemptLoadCheatFile()
{ {
string CheatFile = MakeDefaultFilename(); string CheatFile = MakeDefaultFilename();
var file = new FileInfo(CheatFile); var file = new FileInfo(CheatFile);
if (file.Exists == false) if (file.Exists == false)
{
return false; return false;
}
else else
{ {
LoadCheatFile(CheatFile, false); LoadCheatFile(CheatFile, false);
@ -298,6 +333,10 @@ namespace BizHawk.MultiClient
public void Add(Cheat c) public void Add(Cheat c)
{ {
if (c == null)
{
return;
}
cheatList.Add(c); cheatList.Add(c);
Global.MainForm.UpdateCheatStatus(); Global.MainForm.UpdateCheatStatus();
} }
@ -316,8 +355,12 @@ namespace BizHawk.MultiClient
public bool HasActiveCheat() public bool HasActiveCheat()
{ {
for (int x = 0; x < cheatList.Count; x++) for (int x = 0; x < cheatList.Count; x++)
{
if (cheatList[x].IsEnabled()) if (cheatList[x].IsEnabled())
{
return true; return true;
}
}
return false; return false;
} }
} }

View File

@ -98,6 +98,7 @@
this.toggleToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.toggleToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.removeSelectedToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.removeSelectedToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.disableAllCheatsToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); this.disableAllCheatsToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.Compare = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.CheatsMenu.SuspendLayout(); this.CheatsMenu.SuspendLayout();
this.toolStrip1.SuspendLayout(); this.toolStrip1.SuspendLayout();
this.AddCheatGroup.SuspendLayout(); this.AddCheatGroup.SuspendLayout();
@ -112,7 +113,7 @@
this.optionsToolStripMenuItem}); this.optionsToolStripMenuItem});
this.CheatsMenu.Location = new System.Drawing.Point(0, 0); this.CheatsMenu.Location = new System.Drawing.Point(0, 0);
this.CheatsMenu.Name = "CheatsMenu"; this.CheatsMenu.Name = "CheatsMenu";
this.CheatsMenu.Size = new System.Drawing.Size(509, 24); this.CheatsMenu.Size = new System.Drawing.Size(587, 24);
this.CheatsMenu.TabIndex = 1; this.CheatsMenu.TabIndex = 1;
this.CheatsMenu.Text = "menuStrip1"; this.CheatsMenu.Text = "menuStrip1";
// //
@ -128,7 +129,7 @@
this.toolStripSeparator1, this.toolStripSeparator1,
this.exitToolStripMenuItem}); this.exitToolStripMenuItem});
this.fileToolStripMenuItem.Name = "fileToolStripMenuItem"; this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
this.fileToolStripMenuItem.Size = new System.Drawing.Size(35, 20); this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20);
this.fileToolStripMenuItem.Text = "&File"; this.fileToolStripMenuItem.Text = "&File";
this.fileToolStripMenuItem.DropDownOpened += new System.EventHandler(this.fileToolStripMenuItem_DropDownOpened); this.fileToolStripMenuItem.DropDownOpened += new System.EventHandler(this.fileToolStripMenuItem_DropDownOpened);
// //
@ -137,7 +138,7 @@
this.newToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.NewFile; this.newToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.NewFile;
this.newToolStripMenuItem.Name = "newToolStripMenuItem"; this.newToolStripMenuItem.Name = "newToolStripMenuItem";
this.newToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.N))); this.newToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.N)));
this.newToolStripMenuItem.Size = new System.Drawing.Size(204, 22); this.newToolStripMenuItem.Size = new System.Drawing.Size(195, 22);
this.newToolStripMenuItem.Text = "&New"; this.newToolStripMenuItem.Text = "&New";
this.newToolStripMenuItem.Click += new System.EventHandler(this.newToolStripMenuItem_Click); this.newToolStripMenuItem.Click += new System.EventHandler(this.newToolStripMenuItem_Click);
// //
@ -146,7 +147,7 @@
this.openToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.OpenFile; this.openToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.OpenFile;
this.openToolStripMenuItem.Name = "openToolStripMenuItem"; this.openToolStripMenuItem.Name = "openToolStripMenuItem";
this.openToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.O))); this.openToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.O)));
this.openToolStripMenuItem.Size = new System.Drawing.Size(204, 22); this.openToolStripMenuItem.Size = new System.Drawing.Size(195, 22);
this.openToolStripMenuItem.Text = "&Open..."; this.openToolStripMenuItem.Text = "&Open...";
this.openToolStripMenuItem.Click += new System.EventHandler(this.openToolStripMenuItem_Click); this.openToolStripMenuItem.Click += new System.EventHandler(this.openToolStripMenuItem_Click);
// //
@ -155,7 +156,7 @@
this.saveToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.SaveAs; this.saveToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.SaveAs;
this.saveToolStripMenuItem.Name = "saveToolStripMenuItem"; this.saveToolStripMenuItem.Name = "saveToolStripMenuItem";
this.saveToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.S))); this.saveToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.S)));
this.saveToolStripMenuItem.Size = new System.Drawing.Size(204, 22); this.saveToolStripMenuItem.Size = new System.Drawing.Size(195, 22);
this.saveToolStripMenuItem.Text = "&Save"; this.saveToolStripMenuItem.Text = "&Save";
this.saveToolStripMenuItem.Click += new System.EventHandler(this.saveToolStripMenuItem_Click); this.saveToolStripMenuItem.Click += new System.EventHandler(this.saveToolStripMenuItem_Click);
// //
@ -163,15 +164,15 @@
// //
this.saveAsToolStripMenuItem.Name = "saveAsToolStripMenuItem"; this.saveAsToolStripMenuItem.Name = "saveAsToolStripMenuItem";
this.saveAsToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift) this.saveAsToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift)
| System.Windows.Forms.Keys.S))); | System.Windows.Forms.Keys.S)));
this.saveAsToolStripMenuItem.Size = new System.Drawing.Size(204, 22); this.saveAsToolStripMenuItem.Size = new System.Drawing.Size(195, 22);
this.saveAsToolStripMenuItem.Text = "Save &As..."; this.saveAsToolStripMenuItem.Text = "Save &As...";
this.saveAsToolStripMenuItem.Click += new System.EventHandler(this.saveAsToolStripMenuItem_Click); this.saveAsToolStripMenuItem.Click += new System.EventHandler(this.saveAsToolStripMenuItem_Click);
// //
// appendFileToolStripMenuItem // appendFileToolStripMenuItem
// //
this.appendFileToolStripMenuItem.Name = "appendFileToolStripMenuItem"; this.appendFileToolStripMenuItem.Name = "appendFileToolStripMenuItem";
this.appendFileToolStripMenuItem.Size = new System.Drawing.Size(204, 22); this.appendFileToolStripMenuItem.Size = new System.Drawing.Size(195, 22);
this.appendFileToolStripMenuItem.Text = "Append File"; this.appendFileToolStripMenuItem.Text = "Append File";
this.appendFileToolStripMenuItem.Click += new System.EventHandler(this.appendFileToolStripMenuItem_Click); this.appendFileToolStripMenuItem.Click += new System.EventHandler(this.appendFileToolStripMenuItem_Click);
// //
@ -183,37 +184,37 @@
this.clearToolStripMenuItem}); this.clearToolStripMenuItem});
this.recentToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.Recent; this.recentToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.Recent;
this.recentToolStripMenuItem.Name = "recentToolStripMenuItem"; this.recentToolStripMenuItem.Name = "recentToolStripMenuItem";
this.recentToolStripMenuItem.Size = new System.Drawing.Size(204, 22); this.recentToolStripMenuItem.Size = new System.Drawing.Size(195, 22);
this.recentToolStripMenuItem.Text = "Recent"; this.recentToolStripMenuItem.Text = "Recent";
this.recentToolStripMenuItem.DropDownOpened += new System.EventHandler(this.recentToolStripMenuItem_DropDownOpened); this.recentToolStripMenuItem.DropDownOpened += new System.EventHandler(this.recentToolStripMenuItem_DropDownOpened);
// //
// noneToolStripMenuItem // noneToolStripMenuItem
// //
this.noneToolStripMenuItem.Name = "noneToolStripMenuItem"; this.noneToolStripMenuItem.Name = "noneToolStripMenuItem";
this.noneToolStripMenuItem.Size = new System.Drawing.Size(110, 22); this.noneToolStripMenuItem.Size = new System.Drawing.Size(103, 22);
this.noneToolStripMenuItem.Text = "None"; this.noneToolStripMenuItem.Text = "None";
// //
// toolStripSeparator4 // toolStripSeparator4
// //
this.toolStripSeparator4.Name = "toolStripSeparator4"; this.toolStripSeparator4.Name = "toolStripSeparator4";
this.toolStripSeparator4.Size = new System.Drawing.Size(107, 6); this.toolStripSeparator4.Size = new System.Drawing.Size(100, 6);
// //
// clearToolStripMenuItem // clearToolStripMenuItem
// //
this.clearToolStripMenuItem.Name = "clearToolStripMenuItem"; this.clearToolStripMenuItem.Name = "clearToolStripMenuItem";
this.clearToolStripMenuItem.Size = new System.Drawing.Size(110, 22); this.clearToolStripMenuItem.Size = new System.Drawing.Size(103, 22);
this.clearToolStripMenuItem.Text = "Clear"; this.clearToolStripMenuItem.Text = "Clear";
// //
// toolStripSeparator1 // toolStripSeparator1
// //
this.toolStripSeparator1.Name = "toolStripSeparator1"; this.toolStripSeparator1.Name = "toolStripSeparator1";
this.toolStripSeparator1.Size = new System.Drawing.Size(201, 6); this.toolStripSeparator1.Size = new System.Drawing.Size(192, 6);
// //
// exitToolStripMenuItem // exitToolStripMenuItem
// //
this.exitToolStripMenuItem.Name = "exitToolStripMenuItem"; this.exitToolStripMenuItem.Name = "exitToolStripMenuItem";
this.exitToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Alt | System.Windows.Forms.Keys.F4))); this.exitToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Alt | System.Windows.Forms.Keys.F4)));
this.exitToolStripMenuItem.Size = new System.Drawing.Size(204, 22); this.exitToolStripMenuItem.Size = new System.Drawing.Size(195, 22);
this.exitToolStripMenuItem.Text = "E&xit"; this.exitToolStripMenuItem.Text = "E&xit";
this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click); this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click);
// //
@ -231,7 +232,7 @@
this.toolStripSeparator6, this.toolStripSeparator6,
this.disableAllCheatsToolStripMenuItem}); this.disableAllCheatsToolStripMenuItem});
this.cheatsToolStripMenuItem.Name = "cheatsToolStripMenuItem"; this.cheatsToolStripMenuItem.Name = "cheatsToolStripMenuItem";
this.cheatsToolStripMenuItem.Size = new System.Drawing.Size(53, 20); this.cheatsToolStripMenuItem.Size = new System.Drawing.Size(55, 20);
this.cheatsToolStripMenuItem.Text = "&Cheats"; this.cheatsToolStripMenuItem.Text = "&Cheats";
this.cheatsToolStripMenuItem.DropDownOpened += new System.EventHandler(this.cheatsToolStripMenuItem_DropDownOpened); this.cheatsToolStripMenuItem.DropDownOpened += new System.EventHandler(this.cheatsToolStripMenuItem_DropDownOpened);
// //
@ -239,7 +240,7 @@
// //
this.addCheatToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.Freeze; this.addCheatToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.Freeze;
this.addCheatToolStripMenuItem.Name = "addCheatToolStripMenuItem"; this.addCheatToolStripMenuItem.Name = "addCheatToolStripMenuItem";
this.addCheatToolStripMenuItem.Size = new System.Drawing.Size(201, 22); this.addCheatToolStripMenuItem.Size = new System.Drawing.Size(193, 22);
this.addCheatToolStripMenuItem.Text = "&Add Cheat"; this.addCheatToolStripMenuItem.Text = "&Add Cheat";
this.addCheatToolStripMenuItem.Click += new System.EventHandler(this.addCheatToolStripMenuItem_Click); this.addCheatToolStripMenuItem.Click += new System.EventHandler(this.addCheatToolStripMenuItem_Click);
// //
@ -248,7 +249,7 @@
this.removeCheatToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.Delete; this.removeCheatToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.Delete;
this.removeCheatToolStripMenuItem.Name = "removeCheatToolStripMenuItem"; this.removeCheatToolStripMenuItem.Name = "removeCheatToolStripMenuItem";
this.removeCheatToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.R))); this.removeCheatToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.R)));
this.removeCheatToolStripMenuItem.Size = new System.Drawing.Size(201, 22); this.removeCheatToolStripMenuItem.Size = new System.Drawing.Size(193, 22);
this.removeCheatToolStripMenuItem.Text = "&Remove Cheat"; this.removeCheatToolStripMenuItem.Text = "&Remove Cheat";
this.removeCheatToolStripMenuItem.Click += new System.EventHandler(this.removeCheatToolStripMenuItem_Click); this.removeCheatToolStripMenuItem.Click += new System.EventHandler(this.removeCheatToolStripMenuItem_Click);
// //
@ -257,7 +258,7 @@
this.duplicateToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.Duplicate; this.duplicateToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.Duplicate;
this.duplicateToolStripMenuItem.Name = "duplicateToolStripMenuItem"; this.duplicateToolStripMenuItem.Name = "duplicateToolStripMenuItem";
this.duplicateToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.D))); this.duplicateToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.D)));
this.duplicateToolStripMenuItem.Size = new System.Drawing.Size(201, 22); this.duplicateToolStripMenuItem.Size = new System.Drawing.Size(193, 22);
this.duplicateToolStripMenuItem.Text = "&Duplicate"; this.duplicateToolStripMenuItem.Text = "&Duplicate";
this.duplicateToolStripMenuItem.Click += new System.EventHandler(this.duplicateToolStripMenuItem_Click); this.duplicateToolStripMenuItem.Click += new System.EventHandler(this.duplicateToolStripMenuItem_Click);
// //
@ -266,21 +267,21 @@
this.insertSeparatorToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.InsertSeparator; this.insertSeparatorToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.InsertSeparator;
this.insertSeparatorToolStripMenuItem.Name = "insertSeparatorToolStripMenuItem"; this.insertSeparatorToolStripMenuItem.Name = "insertSeparatorToolStripMenuItem";
this.insertSeparatorToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.I))); this.insertSeparatorToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.I)));
this.insertSeparatorToolStripMenuItem.Size = new System.Drawing.Size(201, 22); this.insertSeparatorToolStripMenuItem.Size = new System.Drawing.Size(193, 22);
this.insertSeparatorToolStripMenuItem.Text = "Insert Separator"; this.insertSeparatorToolStripMenuItem.Text = "Insert Separator";
this.insertSeparatorToolStripMenuItem.Click += new System.EventHandler(this.insertSeparatorToolStripMenuItem_Click); this.insertSeparatorToolStripMenuItem.Click += new System.EventHandler(this.insertSeparatorToolStripMenuItem_Click);
// //
// toolStripSeparator3 // toolStripSeparator3
// //
this.toolStripSeparator3.Name = "toolStripSeparator3"; this.toolStripSeparator3.Name = "toolStripSeparator3";
this.toolStripSeparator3.Size = new System.Drawing.Size(198, 6); this.toolStripSeparator3.Size = new System.Drawing.Size(190, 6);
// //
// moveUpToolStripMenuItem // moveUpToolStripMenuItem
// //
this.moveUpToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.MoveUp; this.moveUpToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.MoveUp;
this.moveUpToolStripMenuItem.Name = "moveUpToolStripMenuItem"; this.moveUpToolStripMenuItem.Name = "moveUpToolStripMenuItem";
this.moveUpToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.U))); this.moveUpToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.U)));
this.moveUpToolStripMenuItem.Size = new System.Drawing.Size(201, 22); this.moveUpToolStripMenuItem.Size = new System.Drawing.Size(193, 22);
this.moveUpToolStripMenuItem.Text = "Move &Up"; this.moveUpToolStripMenuItem.Text = "Move &Up";
this.moveUpToolStripMenuItem.Click += new System.EventHandler(this.moveUpToolStripMenuItem_Click); this.moveUpToolStripMenuItem.Click += new System.EventHandler(this.moveUpToolStripMenuItem_Click);
// //
@ -289,7 +290,7 @@
this.moveDownToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.MoveDown; this.moveDownToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.MoveDown;
this.moveDownToolStripMenuItem.Name = "moveDownToolStripMenuItem"; this.moveDownToolStripMenuItem.Name = "moveDownToolStripMenuItem";
this.moveDownToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.D))); this.moveDownToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.D)));
this.moveDownToolStripMenuItem.Size = new System.Drawing.Size(201, 22); this.moveDownToolStripMenuItem.Size = new System.Drawing.Size(193, 22);
this.moveDownToolStripMenuItem.Text = "Move &Down"; this.moveDownToolStripMenuItem.Text = "Move &Down";
this.moveDownToolStripMenuItem.Click += new System.EventHandler(this.moveDownToolStripMenuItem_Click); this.moveDownToolStripMenuItem.Click += new System.EventHandler(this.moveDownToolStripMenuItem_Click);
// //
@ -297,20 +298,20 @@
// //
this.selectAllToolStripMenuItem.Name = "selectAllToolStripMenuItem"; this.selectAllToolStripMenuItem.Name = "selectAllToolStripMenuItem";
this.selectAllToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.A))); this.selectAllToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.A)));
this.selectAllToolStripMenuItem.Size = new System.Drawing.Size(201, 22); this.selectAllToolStripMenuItem.Size = new System.Drawing.Size(193, 22);
this.selectAllToolStripMenuItem.Text = "Select &All"; this.selectAllToolStripMenuItem.Text = "Select &All";
this.selectAllToolStripMenuItem.Click += new System.EventHandler(this.selectAllToolStripMenuItem_Click); this.selectAllToolStripMenuItem.Click += new System.EventHandler(this.selectAllToolStripMenuItem_Click);
// //
// toolStripSeparator6 // toolStripSeparator6
// //
this.toolStripSeparator6.Name = "toolStripSeparator6"; this.toolStripSeparator6.Name = "toolStripSeparator6";
this.toolStripSeparator6.Size = new System.Drawing.Size(198, 6); this.toolStripSeparator6.Size = new System.Drawing.Size(190, 6);
// //
// disableAllCheatsToolStripMenuItem // disableAllCheatsToolStripMenuItem
// //
this.disableAllCheatsToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.Stop; this.disableAllCheatsToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.Stop;
this.disableAllCheatsToolStripMenuItem.Name = "disableAllCheatsToolStripMenuItem"; this.disableAllCheatsToolStripMenuItem.Name = "disableAllCheatsToolStripMenuItem";
this.disableAllCheatsToolStripMenuItem.Size = new System.Drawing.Size(201, 22); this.disableAllCheatsToolStripMenuItem.Size = new System.Drawing.Size(193, 22);
this.disableAllCheatsToolStripMenuItem.Text = "Disable all Cheats"; this.disableAllCheatsToolStripMenuItem.Text = "Disable all Cheats";
this.disableAllCheatsToolStripMenuItem.Click += new System.EventHandler(this.disableAllCheatsToolStripMenuItem_Click); this.disableAllCheatsToolStripMenuItem.Click += new System.EventHandler(this.disableAllCheatsToolStripMenuItem_Click);
// //
@ -325,54 +326,54 @@
this.toolStripSeparator5, this.toolStripSeparator5,
this.restoreWindowSizeToolStripMenuItem}); this.restoreWindowSizeToolStripMenuItem});
this.optionsToolStripMenuItem.Name = "optionsToolStripMenuItem"; this.optionsToolStripMenuItem.Name = "optionsToolStripMenuItem";
this.optionsToolStripMenuItem.Size = new System.Drawing.Size(56, 20); this.optionsToolStripMenuItem.Size = new System.Drawing.Size(61, 20);
this.optionsToolStripMenuItem.Text = "&Options"; this.optionsToolStripMenuItem.Text = "&Options";
this.optionsToolStripMenuItem.DropDownOpened += new System.EventHandler(this.optionsToolStripMenuItem_DropDownOpened); this.optionsToolStripMenuItem.DropDownOpened += new System.EventHandler(this.optionsToolStripMenuItem_DropDownOpened);
// //
// LoadCheatFileByGameToolStripMenuItem // LoadCheatFileByGameToolStripMenuItem
// //
this.LoadCheatFileByGameToolStripMenuItem.Name = "LoadCheatFileByGameToolStripMenuItem"; this.LoadCheatFileByGameToolStripMenuItem.Name = "LoadCheatFileByGameToolStripMenuItem";
this.LoadCheatFileByGameToolStripMenuItem.Size = new System.Drawing.Size(204, 22); this.LoadCheatFileByGameToolStripMenuItem.Size = new System.Drawing.Size(205, 22);
this.LoadCheatFileByGameToolStripMenuItem.Text = "Load Cheat File by Game"; this.LoadCheatFileByGameToolStripMenuItem.Text = "Load Cheat File by Game";
this.LoadCheatFileByGameToolStripMenuItem.Click += new System.EventHandler(this.LoadCheatFileByGameToolStripMenuItem_Click); this.LoadCheatFileByGameToolStripMenuItem.Click += new System.EventHandler(this.LoadCheatFileByGameToolStripMenuItem_Click);
// //
// saveCheatsOnCloseToolStripMenuItem // saveCheatsOnCloseToolStripMenuItem
// //
this.saveCheatsOnCloseToolStripMenuItem.Name = "saveCheatsOnCloseToolStripMenuItem"; this.saveCheatsOnCloseToolStripMenuItem.Name = "saveCheatsOnCloseToolStripMenuItem";
this.saveCheatsOnCloseToolStripMenuItem.Size = new System.Drawing.Size(204, 22); this.saveCheatsOnCloseToolStripMenuItem.Size = new System.Drawing.Size(205, 22);
this.saveCheatsOnCloseToolStripMenuItem.Text = "Save Cheats on Close"; this.saveCheatsOnCloseToolStripMenuItem.Text = "Save Cheats on Close";
this.saveCheatsOnCloseToolStripMenuItem.Click += new System.EventHandler(this.saveCheatsOnCloseToolStripMenuItem_Click); this.saveCheatsOnCloseToolStripMenuItem.Click += new System.EventHandler(this.saveCheatsOnCloseToolStripMenuItem_Click);
// //
// CheatsOnOffLoadToolStripMenuItem // CheatsOnOffLoadToolStripMenuItem
// //
this.CheatsOnOffLoadToolStripMenuItem.Name = "CheatsOnOffLoadToolStripMenuItem"; this.CheatsOnOffLoadToolStripMenuItem.Name = "CheatsOnOffLoadToolStripMenuItem";
this.CheatsOnOffLoadToolStripMenuItem.Size = new System.Drawing.Size(204, 22); this.CheatsOnOffLoadToolStripMenuItem.Size = new System.Drawing.Size(205, 22);
this.CheatsOnOffLoadToolStripMenuItem.Text = "Disable Cheats on Load"; this.CheatsOnOffLoadToolStripMenuItem.Text = "Disable Cheats on Load";
this.CheatsOnOffLoadToolStripMenuItem.Click += new System.EventHandler(this.CheatsOnOffLoadToolStripMenuItem_Click); this.CheatsOnOffLoadToolStripMenuItem.Click += new System.EventHandler(this.CheatsOnOffLoadToolStripMenuItem_Click);
// //
// autoloadDialogToolStripMenuItem // autoloadDialogToolStripMenuItem
// //
this.autoloadDialogToolStripMenuItem.Name = "autoloadDialogToolStripMenuItem"; this.autoloadDialogToolStripMenuItem.Name = "autoloadDialogToolStripMenuItem";
this.autoloadDialogToolStripMenuItem.Size = new System.Drawing.Size(204, 22); this.autoloadDialogToolStripMenuItem.Size = new System.Drawing.Size(205, 22);
this.autoloadDialogToolStripMenuItem.Text = "Auto-load Dialog"; this.autoloadDialogToolStripMenuItem.Text = "Auto-load Dialog";
this.autoloadDialogToolStripMenuItem.Click += new System.EventHandler(this.autoloadDialogToolStripMenuItem_Click); this.autoloadDialogToolStripMenuItem.Click += new System.EventHandler(this.autoloadDialogToolStripMenuItem_Click);
// //
// saveWindowPositionToolStripMenuItem // saveWindowPositionToolStripMenuItem
// //
this.saveWindowPositionToolStripMenuItem.Name = "saveWindowPositionToolStripMenuItem"; this.saveWindowPositionToolStripMenuItem.Name = "saveWindowPositionToolStripMenuItem";
this.saveWindowPositionToolStripMenuItem.Size = new System.Drawing.Size(204, 22); this.saveWindowPositionToolStripMenuItem.Size = new System.Drawing.Size(205, 22);
this.saveWindowPositionToolStripMenuItem.Text = "Save Window Position"; this.saveWindowPositionToolStripMenuItem.Text = "Save Window Position";
this.saveWindowPositionToolStripMenuItem.Click += new System.EventHandler(this.saveWindowPositionToolStripMenuItem_Click); this.saveWindowPositionToolStripMenuItem.Click += new System.EventHandler(this.saveWindowPositionToolStripMenuItem_Click);
// //
// toolStripSeparator5 // toolStripSeparator5
// //
this.toolStripSeparator5.Name = "toolStripSeparator5"; this.toolStripSeparator5.Name = "toolStripSeparator5";
this.toolStripSeparator5.Size = new System.Drawing.Size(201, 6); this.toolStripSeparator5.Size = new System.Drawing.Size(202, 6);
// //
// restoreWindowSizeToolStripMenuItem // restoreWindowSizeToolStripMenuItem
// //
this.restoreWindowSizeToolStripMenuItem.Name = "restoreWindowSizeToolStripMenuItem"; this.restoreWindowSizeToolStripMenuItem.Name = "restoreWindowSizeToolStripMenuItem";
this.restoreWindowSizeToolStripMenuItem.Size = new System.Drawing.Size(204, 22); this.restoreWindowSizeToolStripMenuItem.Size = new System.Drawing.Size(205, 22);
this.restoreWindowSizeToolStripMenuItem.Text = "Restore Default Settings"; this.restoreWindowSizeToolStripMenuItem.Text = "Restore Default Settings";
this.restoreWindowSizeToolStripMenuItem.Click += new System.EventHandler(this.restoreWindowSizeToolStripMenuItem_Click); this.restoreWindowSizeToolStripMenuItem.Click += new System.EventHandler(this.restoreWindowSizeToolStripMenuItem_Click);
// //
@ -392,7 +393,7 @@
this.toolStripButtonMoveDown}); this.toolStripButtonMoveDown});
this.toolStrip1.Location = new System.Drawing.Point(0, 24); this.toolStrip1.Location = new System.Drawing.Point(0, 24);
this.toolStrip1.Name = "toolStrip1"; this.toolStrip1.Name = "toolStrip1";
this.toolStrip1.Size = new System.Drawing.Size(509, 25); this.toolStrip1.Size = new System.Drawing.Size(587, 25);
this.toolStrip1.TabIndex = 2; this.toolStrip1.TabIndex = 2;
this.toolStrip1.Text = "toolStrip1"; this.toolStrip1.Text = "toolStrip1";
// //
@ -499,7 +500,7 @@
// AddCheatGroup // AddCheatGroup
// //
this.AddCheatGroup.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) this.AddCheatGroup.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Right))); | System.Windows.Forms.AnchorStyles.Right)));
this.AddCheatGroup.Controls.Add(this.EditButton); this.AddCheatGroup.Controls.Add(this.EditButton);
this.AddCheatGroup.Controls.Add(this.label6); this.AddCheatGroup.Controls.Add(this.label6);
this.AddCheatGroup.Controls.Add(this.DomainComboBox); this.AddCheatGroup.Controls.Add(this.DomainComboBox);
@ -512,7 +513,7 @@
this.AddCheatGroup.Controls.Add(this.label3); this.AddCheatGroup.Controls.Add(this.label3);
this.AddCheatGroup.Controls.Add(this.label2); this.AddCheatGroup.Controls.Add(this.label2);
this.AddCheatGroup.Controls.Add(this.label1); this.AddCheatGroup.Controls.Add(this.label1);
this.AddCheatGroup.Location = new System.Drawing.Point(327, 72); this.AddCheatGroup.Location = new System.Drawing.Point(405, 72);
this.AddCheatGroup.Name = "AddCheatGroup"; this.AddCheatGroup.Name = "AddCheatGroup";
this.AddCheatGroup.Size = new System.Drawing.Size(170, 245); this.AddCheatGroup.Size = new System.Drawing.Size(170, 245);
this.AddCheatGroup.TabIndex = 4; this.AddCheatGroup.TabIndex = 4;
@ -648,15 +649,16 @@
// //
this.CheatListView.AllowColumnReorder = true; this.CheatListView.AllowColumnReorder = true;
this.CheatListView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) this.CheatListView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right))); | System.Windows.Forms.AnchorStyles.Right)));
this.CheatListView.AutoArrange = false; this.CheatListView.AutoArrange = false;
this.CheatListView.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { this.CheatListView.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
this.CheatName, this.CheatName,
this.Address, this.Address,
this.Value, this.Value,
this.Domain, this.Compare,
this.On}); this.On,
this.Domain});
this.CheatListView.ContextMenuStrip = this.contextMenuStrip1; this.CheatListView.ContextMenuStrip = this.contextMenuStrip1;
this.CheatListView.FullRowSelect = true; this.CheatListView.FullRowSelect = true;
this.CheatListView.GridLines = true; this.CheatListView.GridLines = true;
@ -666,7 +668,7 @@
this.CheatListView.Location = new System.Drawing.Point(12, 72); this.CheatListView.Location = new System.Drawing.Point(12, 72);
this.CheatListView.Name = "CheatListView"; this.CheatListView.Name = "CheatListView";
this.CheatListView.selectedItem = -1; this.CheatListView.selectedItem = -1;
this.CheatListView.Size = new System.Drawing.Size(298, 236); this.CheatListView.Size = new System.Drawing.Size(376, 236);
this.CheatListView.TabIndex = 0; this.CheatListView.TabIndex = 0;
this.CheatListView.UseCompatibleStateImageBehavior = false; this.CheatListView.UseCompatibleStateImageBehavior = false;
this.CheatListView.View = System.Windows.Forms.View.Details; this.CheatListView.View = System.Windows.Forms.View.Details;
@ -735,12 +737,16 @@
this.disableAllCheatsToolStripMenuItem1.Text = "Disable All Cheats"; this.disableAllCheatsToolStripMenuItem1.Text = "Disable All Cheats";
this.disableAllCheatsToolStripMenuItem1.Click += new System.EventHandler(this.disableAllCheatsToolStripMenuItem1_Click); this.disableAllCheatsToolStripMenuItem1.Click += new System.EventHandler(this.disableAllCheatsToolStripMenuItem1_Click);
// //
// Compare
//
this.Compare.Text = "Compare";
//
// Cheats // Cheats
// //
this.AllowDrop = true; this.AllowDrop = true;
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(509, 328); this.ClientSize = new System.Drawing.Size(587, 328);
this.Controls.Add(this.NumCheatsLabel); this.Controls.Add(this.NumCheatsLabel);
this.Controls.Add(this.AddCheatGroup); this.Controls.Add(this.AddCheatGroup);
this.Controls.Add(this.MessageLabel); this.Controls.Add(this.MessageLabel);
@ -837,5 +843,6 @@
private System.Windows.Forms.ToolStripMenuItem autoloadDialogToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem autoloadDialogToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem saveCheatsOnCloseToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem saveCheatsOnCloseToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem selectAllToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem selectAllToolStripMenuItem;
private System.Windows.Forms.ColumnHeader Compare;
} }
} }

View File

@ -13,11 +13,12 @@ namespace BizHawk.MultiClient
{ {
public partial class Cheats : Form public partial class Cheats : Form
{ {
int defaultWidth; //For saving the default size of the dialog, so the user can restore if desired int defaultWidth; //For saving the default size of the dialog, so the user can restore if desired
int defaultHeight; int defaultHeight;
int defaultNameWidth; int defaultNameWidth;
int defaultAddressWidth; int defaultAddressWidth;
int defaultValueWidth; int defaultValueWidth;
int defaultCompareWidth;
int defaultDomainWidth; int defaultDomainWidth;
int defaultOnWidth; int defaultOnWidth;
@ -61,39 +62,56 @@ namespace BizHawk.MultiClient
private void CheatListView_QueryItemBkColor(int index, int column, ref Color color) private void CheatListView_QueryItemBkColor(int index, int column, ref Color color)
{ {
if (Global.CheatList.Cheat(index).address < 0) if (Global.CheatList.Cheat(index).address < 0)
{
color = Color.DarkGray; color = Color.DarkGray;
else if (!Global.CheatList.Cheat(index).IsEnabled()) }
else if (Global.CheatList.Cheat(index).IsEnabled())
{
color = Color.LightCyan;
}
else
{
color = this.BackColor; color = this.BackColor;
}
} }
private void CheatListView_QueryItemText(int index, int column, out string text) private void CheatListView_QueryItemText(int index, int column, out string text)
{ {
text = ""; text = "";
if (Global.CheatList.Cheat(index).address == -1) if (Global.CheatList.Cheat(index).address == -1) //Separator
{
return; return;
}
if (column == 0) //Name else if (column == 0) //Name
{ {
text = Global.CheatList.Cheat(index).name; text = Global.CheatList.Cheat(index).name;
} }
if (column == 1) //Address else if (column == 1) //Address
{ {
text = Global.CheatList.FormatAddress(Global.CheatList.Cheat(index).address); text = Global.CheatList.FormatAddress(Global.CheatList.Cheat(index).address);
} }
if (column == 2) //Value else if (column == 2) //Value
{ {
text = String.Format("{0:X2}", Global.CheatList.Cheat(index).value); text = String.Format("{0:X2}", Global.CheatList.Cheat(index).value);
} }
if (column == 3) //Domain else if (column == 3) //Compare
{
text = String.Format("{0:X2}", Global.CheatList.Cheat(index).compare);
}
else if (column == 5) //Domain
{ {
text = Global.CheatList.Cheat(index).domain.Name; text = Global.CheatList.Cheat(index).domain.Name;
} }
if (column == 4) //Enabled else if (column == 4) //Enabled
{ {
if (Global.CheatList.Cheat(index).IsEnabled()) if (Global.CheatList.Cheat(index).IsEnabled())
{
text = "*"; text = "*";
}
else else
{
text = ""; text = "";
}
} }
} }
@ -141,6 +159,10 @@ namespace BizHawk.MultiClient
public void AddCheat(Cheat c) public void AddCheat(Cheat c)
{ {
if (c == null)
{
return;
}
Changes(); Changes();
Global.CheatList.Add(c); Global.CheatList.Add(c);
Global.OSD.AddMessage("Cheat added."); Global.OSD.AddMessage("Cheat added.");
@ -223,11 +245,14 @@ namespace BizHawk.MultiClient
defaultNameWidth = CheatListView.Columns[Global.Config.CheatsNameIndex].Width; defaultNameWidth = CheatListView.Columns[Global.Config.CheatsNameIndex].Width;
defaultAddressWidth = CheatListView.Columns[Global.Config.CheatsAddressIndex].Width; defaultAddressWidth = CheatListView.Columns[Global.Config.CheatsAddressIndex].Width;
defaultValueWidth = CheatListView.Columns[Global.Config.CheatsValueIndex].Width; defaultValueWidth = CheatListView.Columns[Global.Config.CheatsValueIndex].Width;
defaultDomainWidth = CheatListView.Columns[Global.Config.CheatsDomainIndex].Width; defaultCompareWidth = CheatListView.Columns[Global.Config.CheatsCompareIndex].Width;
defaultOnWidth = CheatListView.Columns[Global.Config.CheatsOnIndex].Width; defaultOnWidth = CheatListView.Columns[Global.Config.CheatsOnIndex].Width;
defaultDomainWidth = CheatListView.Columns[Global.Config.CheatsDomainIndex].Width;
if (Global.Config.CheatsSaveWindowPosition && Global.Config.CheatsWndx >= 0 && Global.Config.CheatsWndy >= 0) if (Global.Config.CheatsSaveWindowPosition && Global.Config.CheatsWndx >= 0 && Global.Config.CheatsWndy >= 0)
{
Location = new Point(Global.Config.CheatsWndx, Global.Config.CheatsWndy); Location = new Point(Global.Config.CheatsWndx, Global.Config.CheatsWndy);
}
if (Global.Config.CheatsWidth >= 0 && Global.Config.CheatsHeight >= 0) if (Global.Config.CheatsWidth >= 0 && Global.Config.CheatsHeight >= 0)
{ {
@ -235,15 +260,29 @@ namespace BizHawk.MultiClient
} }
if (Global.Config.CheatsNameWidth > 0) if (Global.Config.CheatsNameWidth > 0)
{
CheatListView.Columns[Global.Config.CheatsNameIndex].Width = Global.Config.CheatsNameWidth; CheatListView.Columns[Global.Config.CheatsNameIndex].Width = Global.Config.CheatsNameWidth;
}
if (Global.Config.CheatsAddressWidth > 0) if (Global.Config.CheatsAddressWidth > 0)
{
CheatListView.Columns[Global.Config.CheatsAddressIndex].Width = Global.Config.CheatsAddressWidth; CheatListView.Columns[Global.Config.CheatsAddressIndex].Width = Global.Config.CheatsAddressWidth;
}
if (Global.Config.CheatsValueWidth > 0) if (Global.Config.CheatsValueWidth > 0)
{
CheatListView.Columns[Global.Config.CheatsValueIndex].Width = Global.Config.CheatsValueWidth; CheatListView.Columns[Global.Config.CheatsValueIndex].Width = Global.Config.CheatsValueWidth;
}
if (Global.Config.CheatsCompareWidth > 0)
{
CheatListView.Columns[Global.Config.CheatsValueIndex].Width = Global.Config.CheatsCompareWidth;
}
if (Global.Config.CheatsDomainWidth > 0) if (Global.Config.CheatsDomainWidth > 0)
{
CheatListView.Columns[Global.Config.CheatsDomainIndex].Width = Global.Config.CheatsDomainWidth; CheatListView.Columns[Global.Config.CheatsDomainIndex].Width = Global.Config.CheatsDomainWidth;
}
if (Global.Config.CheatsOnWidth > 0) if (Global.Config.CheatsOnWidth > 0)
{
CheatListView.Columns[Global.Config.CheatsOnIndex].Width = Global.Config.CheatsOnWidth; CheatListView.Columns[Global.Config.CheatsOnIndex].Width = Global.Config.CheatsOnWidth;
}
} }
public void SaveConfigSettings() public void SaveConfigSettings()
@ -257,8 +296,9 @@ namespace BizHawk.MultiClient
Global.Config.CheatsNameWidth = CheatListView.Columns[Global.Config.CheatsNameIndex].Width; Global.Config.CheatsNameWidth = CheatListView.Columns[Global.Config.CheatsNameIndex].Width;
Global.Config.CheatsAddressWidth = CheatListView.Columns[Global.Config.CheatsAddressIndex].Width; Global.Config.CheatsAddressWidth = CheatListView.Columns[Global.Config.CheatsAddressIndex].Width;
Global.Config.CheatsValueWidth = CheatListView.Columns[Global.Config.CheatsValueIndex].Width; Global.Config.CheatsValueWidth = CheatListView.Columns[Global.Config.CheatsValueIndex].Width;
Global.Config.CheatsDomainWidth = CheatListView.Columns[Global.Config.CheatsDomainIndex].Width; Global.Config.CheatsCompareWidth = CheatListView.Columns[Global.Config.CheatsCompareIndex].Width;
Global.Config.CheatsOnWidth = CheatListView.Columns[Global.Config.CheatsOnIndex].Width; Global.Config.CheatsOnWidth = CheatListView.Columns[Global.Config.CheatsOnIndex].Width;
Global.Config.CheatsDomainWidth = CheatListView.Columns[Global.Config.CheatsDomainIndex].Width;
} }
public void DisplayCheatsList() public void DisplayCheatsList()
@ -455,7 +495,9 @@ namespace BizHawk.MultiClient
private void Save() private void Save()
{ {
if (string.Compare(Global.CheatList.currentCheatFile, "") == 0) if (string.Compare(Global.CheatList.currentCheatFile, "") == 0)
{
Global.CheatList.currentCheatFile = Global.CheatList.MakeDefaultFilename(); Global.CheatList.currentCheatFile = Global.CheatList.MakeDefaultFilename();
}
Global.CheatList.SaveCheatFile(Global.CheatList.currentCheatFile); Global.CheatList.SaveCheatFile(Global.CheatList.currentCheatFile);
MessageLabel.Text = Path.GetFileName(Global.CheatList.currentCheatFile) + " saved."; MessageLabel.Text = Path.GetFileName(Global.CheatList.currentCheatFile) + " saved.";
@ -559,20 +601,26 @@ namespace BizHawk.MultiClient
private Cheat MakeCheat() private Cheat MakeCheat()
{ {
if (String.IsNullOrWhiteSpace(AddressBox.Text) || String.IsNullOrWhiteSpace(ValueBox.Text))
{
return null;
}
Cheat c = new Cheat(); Cheat c = new Cheat();
c.name = NameBox.Text; c.name = NameBox.Text;
c.address = int.Parse(AddressBox.Text, NumberStyles.HexNumber); //TODO: validation
c.value = (byte)(int.Parse(ValueBox.Text, NumberStyles.HexNumber));
c.domain = Global.Emulator.MemoryDomains[DomainComboBox.SelectedIndex];
try try
{ {
c.address = int.Parse(AddressBox.Text, NumberStyles.HexNumber);
c.value = (byte)(int.Parse(ValueBox.Text, NumberStyles.HexNumber));
c.Enable(); c.Enable();
} }
catch catch
{ {
Global.CheatList.NotSupportedError(); return null;
} }
c.domain = Global.Emulator.MemoryDomains[DomainComboBox.SelectedIndex];
return c; return c;
} }
@ -792,14 +840,16 @@ namespace BizHawk.MultiClient
Global.Config.CheatsNameIndex = 0; Global.Config.CheatsNameIndex = 0;
Global.Config.CheatsAddressIndex = 1; Global.Config.CheatsAddressIndex = 1;
Global.Config.CheatsValueIndex = 2; Global.Config.CheatsValueIndex = 2;
Global.Config.CheatsDomainIndex = 3; Global.Config.CheatsCompareIndex = 3;
Global.Config.CheatsOnIndex = 4; Global.Config.CheatsOnIndex = 4;
Global.Config.CheatsDomainIndex = 5;
ColumnPositionSet(); ColumnPositionSet();
CheatListView.Columns[0].Width = defaultNameWidth; CheatListView.Columns[0].Width = defaultNameWidth;
CheatListView.Columns[1].Width = defaultAddressWidth; CheatListView.Columns[1].Width = defaultAddressWidth;
CheatListView.Columns[2].Width = defaultValueWidth; CheatListView.Columns[2].Width = defaultValueWidth;
CheatListView.Columns[3].Width = defaultDomainWidth; CheatListView.Columns[3].Width = defaultCompareWidth;
CheatListView.Columns[4].Width = defaultOnWidth; CheatListView.Columns[4].Width = defaultOnWidth;
CheatListView.Columns[5].Width = defaultDomainWidth;
} }
@ -915,8 +965,13 @@ namespace BizHawk.MultiClient
Global.Config.CheatsNameIndex += changeIndex; Global.Config.CheatsNameIndex += changeIndex;
if (Global.Config.CheatsAddressIndex >= lowIndex && Global.Config.CheatsAddressIndex <= highIndex) if (Global.Config.CheatsAddressIndex >= lowIndex && Global.Config.CheatsAddressIndex <= highIndex)
Global.Config.CheatsAddressIndex += changeIndex; Global.Config.CheatsAddressIndex += changeIndex;
if (Global.Config.CheatsValueIndex >= lowIndex && Global.Config.CheatsValueIndex <= highIndex) if (Global.Config.CheatsValueIndex >= lowIndex && Global.Config.CheatsValueIndex <= highIndex)
Global.Config.CheatsValueIndex += changeIndex; Global.Config.CheatsValueIndex += changeIndex;
if (Global.Config.CheatsCompareIndex >= lowIndex && Global.Config.CheatsCompareIndex <= highIndex)
Global.Config.CheatsCompareIndex += changeIndex;
if (Global.Config.CheatsDomainIndex >= lowIndex && Global.Config.CheatsDomainIndex <= highIndex) if (Global.Config.CheatsDomainIndex >= lowIndex && Global.Config.CheatsDomainIndex <= highIndex)
Global.Config.CheatsDomainIndex += changeIndex; Global.Config.CheatsDomainIndex += changeIndex;
if (Global.Config.CheatsOnIndex >= lowIndex && Global.Config.CheatsOnIndex <= highIndex) if (Global.Config.CheatsOnIndex >= lowIndex && Global.Config.CheatsOnIndex <= highIndex)
@ -928,10 +983,13 @@ namespace BizHawk.MultiClient
Global.Config.CheatsAddressIndex = e.NewDisplayIndex; Global.Config.CheatsAddressIndex = e.NewDisplayIndex;
else if (header.Text == "Value") else if (header.Text == "Value")
Global.Config.CheatsValueIndex = e.NewDisplayIndex; Global.Config.CheatsValueIndex = e.NewDisplayIndex;
else if (header.Text == "Domain") else if (header.Text == "Compare")
Global.Config.CheatsDomainIndex = e.NewDisplayIndex; Global.Config.CheatsCompareIndex = e.NewDisplayIndex;
else if (header.Text == "On") else if (header.Text == "On")
Global.Config.CheatsOnIndex = e.NewDisplayIndex; Global.Config.CheatsOnIndex = e.NewDisplayIndex;
else if (header.Text == "Domain")
Global.Config.CheatsDomainIndex = e.NewDisplayIndex;
} }
private void ColumnPositionSet() private void ColumnPositionSet()
@ -939,7 +997,9 @@ namespace BizHawk.MultiClient
List<ColumnHeader> columnHeaders = new List<ColumnHeader>(); List<ColumnHeader> columnHeaders = new List<ColumnHeader>();
int i = 0; int i = 0;
for (i = 0; i < CheatListView.Columns.Count; i++) for (i = 0; i < CheatListView.Columns.Count; i++)
{
columnHeaders.Add(CheatListView.Columns[i]); columnHeaders.Add(CheatListView.Columns[i]);
}
CheatListView.Columns.Clear(); CheatListView.Columns.Clear();
@ -953,6 +1013,8 @@ namespace BizHawk.MultiClient
column = "Address"; column = "Address";
else if (Global.Config.CheatsValueIndex == i) else if (Global.Config.CheatsValueIndex == i)
column = "Value"; column = "Value";
else if (Global.Config.CheatsCompareIndex == i)
column = "Compare";
else if (Global.Config.CheatsDomainIndex == i) else if (Global.Config.CheatsDomainIndex == i)
column = "Domain"; column = "Domain";
else if (Global.Config.CheatsOnIndex == i) else if (Global.Config.CheatsOnIndex == i)

View File

@ -127,60 +127,58 @@
<data name="newToolStripButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="newToolStripButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAQ9JREFUOE+t09lq YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAEPSURBVDhPrdPZasJAFAZgX8q+Q32N9o2kXkjphQsigoJC
wkAUBmBfyr5DfY32jaReSOmFCyKCgkKLFrVUBZeKiEbshqRuaNw1xiXmLxMJBJ0Zc+GBw9zMfDPnHMZm ixa1VAWXiohG7IakbmjcNcYl5i8TCQSdGXPhgcPczHwz5xzGZrtWRN+bOM1wqo5gvAJfrIBy4w/cu8hh
u1ZE35s4zXCqjmC8Al+sgHLjD9y7yGFWPIbecOO45yORtMAEHnxxJHL1IyKI9JeEXqtMwOl50Q8bSS0l VjyG3nDjuOcjkbTABB58cSRy9SMiiPSXhF6rTMDpedEPG0ktJfD8wQT26gEEMSAq4I3mqYCmaZCVHQZj
8PzBBPbqAQQxICrgjeapgKZpkJUdBmNZB+y3d/QSnsIZKrDdqZjMFYj9OR9wB1NngHrQsJC36EkrfIkT WQfst3f0Ep7CGSqw3amYzBWI/TkfcAdTZ4B60LCQt+hJK3yJEz7g8ifOAGWzhzRdo9WdofYt8QFSnzlI
PuDyJ84AZbOHNF2j1Z2h9i3xAVKfOUjjZssN2oMFmq0xSkLfOmBu3E97iurnENlKxzpgbpzwO0Kh1kOy 42bLDdqDBZqtMUpC3zpgbtxPe4rq5xDZSsc6YG6c8DtCodZDsihaA4x5s1bmGI0Zkw2X8lofWHf+AdjM
KFoDjHmzVuYYjRmTDZfyWh9Yd/4B2Mz2w1z7EGUAAAAASUVORK5CYII= 9sNc+xBlAAAAAElFTkSuQmCC
</value> </value>
</data> </data>
<data name="openToolStripButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="openToolStripButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAlpJREFUOE+tk21I YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJQSURBVDhPlZNdSNNRGMb/F110ZZEVhVBgeeHNICiiuggp
k1EYhif0oyA0sqIQCix/+GcQFFH9CCmiUBTLLEjShJofVBgL2fxoU9Pp5ubUlS5rU9f8rCyjsA+pUCRC olAUyyxI0oSaH1QYC3N+tKnp5ubm1JUua5uuqdPKMgr7kApFItTUkWZqVhSVYmao5Nev/xyoQ4k88Nyc
TR1ppmVFUSlmhq78unrnQF1KGHTg/nEOz30993PO+7qJFrmUeiv2n+Mij+XLRLLYULdF2pxlEVIDcw0p 8z6/93nP4QjCfy6lwc4ltZVso4P/tMyXRcmMHqZ0EeY6jZQVInzuf0e1Tb9Ina3P/tkpLD6XkNg8BJe5
AsyxD5fmI/rQ94pqi26eOlsfuZj+7BgSm01QdA4ih7m73Yx9qGpavwatjPebqCzOprPt8YKQgzFagqL0 u93C+HDVrP4M2ZkcMOOw5tLZ9nxJyJE4HSExBoKkBQhVpTrGhso9zNPfiph0JlB+U01ZcRbmwnRMeWlc
BEjyEFWVaBkdLHMxT34uYNwWR9nVTEoL0zHlp2DMSeaSRk6eKt4VWm5WM/rVPNN5SjDTLQebZEHNA1wr 08opUCV6QissGsZ+WOY6z4hmuuXglC6pRYBbJSp+fzXNxnaZ66o1s3rkyKHWruJuWRYOcwZ2kxKr8TI3
UvHjk3E6tsNcV62e1r3KLGqtKm6WplNpSsVqVFJsOM8VfSKFWjkGtcyZptSYzvC7XByx3zQoqCnTMvlG DCkU6+QYNUnuNGWmLEY+5uOK3degoKZcx3SfEvozPfVB3OtNhi4ZvI2nrTIc23U9gtmYwa8eNXzScq8i
CX1prnornPUmQJcUXsbSVhGK5bIOkcmQyveeTHiv4VZ5Nk33Nc6iuSO8CIfmECYa/bE/8ON1iRipJNh5 l6bHWnfRwhHeREJzGFONgYw/CeB9qQSZNNR9FyUGBT87lfQ3plJj1zLTq4COGDegLVo0HmeqKZjx+gOM
F0V6Bd86lfQ1JlFj1TDVq4COKCegLVIwHmGiKRB7/V6G7+5koHozymgfYRy5E1CgTWKgXcZ1i5qWp0KS PNzDYPU2lLF+4jhyN6BIl8pgexK3bRpaXopJuhJEwGloiWDmVSgTLw4xWreXoZrtfK/wp/nKak4E+s6/
rjgBcAJawph6FszYk/2M1O1isGYLX8p9ab6wgqP+3rMvYciS01GfzA1LFvQkQ6sQ9/khxhoCGHnox1Dt hDFHTkd9GndsOdCTBq1i3NdHmWgIYvRpAMO1OxlwSPhi2YpT641CuoWzsSfnAfnZiVRZ1Tjvx9GsF+bU
NvorxXw0b8Km8UQh2cip6GOzgNyMeKqKM7HdjqFZJ5pRk2YJ9aql3EnxoCJxNaZ4Ly6e3UDY3O6OEXRp pF1BvWolD9JXUZmyDnOiD1cvbCZiYXfXCPrMi+gVZ8hOiiL53DHORwdzKnw/hw/uYt9uCTskfvj7+rBp
59ApTpIhiyDh9GHORAZyPHQPB/ZtZ/cOMVvFPvh6e7F+3SrWrHRnraf7Xz/xf/rJ/kvxb84I3U1y+9/W 41rWr/Fig7fX8j/Tsn/fcgx/ARfG3ml6M3rzAAAAAElFTkSuQmCC
AAAAAElFTkSuQmCC
</value> </value>
</data> </data>
<data name="saveToolStripButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="saveToolStripButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAixJREFUOE+tk91L YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIsSURBVDhPrZPdS5NxFMf3L3TfTdBFtzU1hmuxGjzlHMqq
k3EUx/cvdN9N0EW3NTWGa7EaPOUcyqphWBG9PZEv5dJlmqhYmUYtXyBb4dJJy+kknFT4BqZIjaFMJUsz YVgRvT2RL+XSZZqoWJlGLV8gW+HSScvpJJxU+AamSI2hTCVLM1e0xKGm2EQw+PY7v+j5tTIvoh+cy8/n
V7TEoabYRDD49ju/6Pm1Mi+iH5zLz+c855zvo1L9j/fsaRRUvvZltHmX8Ni9gMaGCO47ZlBb8wn22yHc POec76NS/Y/37GkUVL72ZbR5l/DYvYDGhgjuO2ZQW/MJ9tsh3CifQmnJBAoLXiMvdxQXzgeh9Cawtweo
KJ9CackECgteIy93FBfOB6H0JrC3B6ipXsVGb2V1Dca0XhxOe8JLEXhbF7mgsuLLX3mCIwsr2G1+DrVa qV7FRm9ldQ3GtF4cTnvCSxF4Wxe5oLLiy195giMLK9htfg61WoblkEcI3I/muaC05PO6gp/w+/Ai4kw+
huWQRwjcj+a5oLTk87qCn/D78CLiTD4UXJ7GAXOTEDjrZ7ngku3dH4Jf4ZHJCLZJXlhzxpGa4hSCurth FFyexgFzkxA462e54JLt3R+CX+GRyQi2SV5Yc8aRmuIUgrq7YS7IzhqNEfwODwbD2Kx3Q5YDMJkcQlBd
LsjOGo0R/A4PBsPYrHdDlgMwmRxCUF31kQvkMwFFsB7c4/+ATYkNOHL0BZKSaoXgZuU0urvATgkcP/kK 9ZEL5DMBRbAe3OP/gE2JDThy9AWSkmqF4GblNLq7wE4JHD/5CpZjA3zbtDCamT6bOv+A+3DQ0glJsgvB
lmMDfNu0MJqZPps6/4D7cNDSCUmyC8HVskl0+MAyADS5vrG7f0X59Tm+VFoYzZyZEVTg5NR2GAwVQnCl 1bJJdPjAMgA0ub6xu39F+fU5vlRaGM2cmRFU4OTUdhgMFUJwpXAcnmbgoXONBScKY3pOTJlP2JB+roh3
cByeZuChc40FJwpjek5MmU/YkH6uiHdOTmHwfg/0+jIhsOWNMRiouhPlnUnAQoI4rYSht7MYm5qDnHsN Tk5h8H4P9PoyIbDljTEYqLoT5Z1JwEKCOK2EobezGJuag5x7DXuNbRzW7nFBpysSAoql4x6UzyYBwWfz
e41tHNbucUGnKxICiqXjHpTPJgHBZ/Nv4U1oHqGZJVwstiNe72JwI+J3PYA2MV8IMjOG2dzLfOatBg+2 b+FNaB6hmSVcLLYjXu9icCPidz2ANjFfCDIzhtncy3zmrQYPtuyQ0NLRD1/XILr7/Bh4OYR9JgvUunok
7JDQ0tEPX9cguvv8GHg5hH0mC9S6eiQweLumDhqNVQgo06dP9fN4UsIoJHRnOhVtmxZGM1NXKoJ3JmTH MHi7pg4ajVUIKNOnT/XzeFLCKCR0ZzoVbZsWRjNTVyqCdyZkxwr+9a/+Dk60OMVjMFpXAAAAAElFTkSu
Cv71r/4OTrQ4xWMwWlcAAAAASUVORK5CYII= QmCC
</value> </value>
</data> </data>
<data name="copyToolStripButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="copyToolStripButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAeJJREFUOE+lk9FP YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHiSURBVDhPpZPRT5JRGMb9U0rHnHXtH9BaWa0222pe1EVb
klEYxv1TSsecde0f0FpZrTbbal7URVvZuuJCr7pq2WzLNWy0iSHNwtIB9qG0ltLSYRJpBomUgZPMGSyU 2briQq+6atlsyzVstIkhzcLSAfahtJbS0mESaQaJlIGTzBkslPEpiSDor+87LAnawM13e+7O+3uf55z3
8SmJIOiv7zssCdrAzXd77s77e5/nnPdUVR20HBPfUCWNB4QsI176HB8IL/9iX2y1ubTMwx6utz0nuLhc VFUdtBwT31AljQeELCNe+hwfCC//Yl9stbm0zMMerrc9J7i4XBliHwsU9ed2dunqf4PTHeBSS2dliGXU
GWIfCxT153Z26ep/g9Md4FJLZ2WIZdQnAM4QSJ/BH5Z5aH6NNCljm0hgdSV4MppAPxQXCq5kil31OTx7 JwDOEEifwR+WeWh+jTQpY5tIYHUleDKaQD8UFwquZIpd9Tk8ew4y2znkjTSRWFIASqt9YJX6Zje+hfUC
DjLbOeSNNJFYUgBKq31glfpmN76F9QLEZHOJc73ubXQjMreln7Q+DdP/du0/QIsxhmNK5mjTMJ/m43mI xGRziXO97m10IzK3pZ+0Pg3T/3btP0CLMYZjSuZo0zCf5uN5iEHJq+beTGVZTaRYiqzzNbyG6VVUADqk
Qcmr5t5MZVlNpFiKrPM1vIbpVVQAOqSckF+ZekUX5UjTS+ouDFLb+CwPUPNupbN7k7WmEDcMX3hgXSpy nJBfmXpFF+VI00vqLgxS2/gsD1DzbqWze5O1phA3DF94YF0qciD/zrKwsoV7bgOjNIPm3OMCQE6mmf8e
IP/OsrCyhXtuA6M0g+bc4wJATqaZ/x7DF4zg8f9g/OMibb355701kERriHL5fojzd2aFjNI0mjPdBUD9 wxeM4PH/YPzjIm29+ee9NZBEa4hy+X6I83dmhYzSNJoz3QVA/emrlKpVPysAWSVeLJFlLrzJmFfG/i7O
6auUqlU/KwBZJV4skWUuvMmYV8b+Ls6jQQ81DfryO3KtfUoA/p3810G37T3VJ3TlARdvukhldjANeemx o0EPNQ368jtyrX1KAP6d/NdBt+091Sd05QEXb7pIZXYwDXnpsc9gfDEtJqvNBsskh4/fKw9o0DqV27YK
z2B8MS0mq80GyySHj98rD2jQOpXbtgrVNprRnO2h5lQX1Sc7leYODh27W3nN9/WZDnroDx0A5wwhdtmt 1Taa0ZztoeZUF9UnO5XmDg4du1t5zff1mQ566A8dAOcMIXbZrQAAAABJRU5ErkJggg==
AAAAAElFTkSuQmCC
</value> </value>
</data> </data>
<metadata name="contextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="contextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">