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 CheatsAddressWidth = -1;
public int CheatsValueWidth = -1;
public int CheatsCompareWidth = -1;
public int CheatsDomainWidth = -1;
public int CheatsOnWidth = -1;
public int CheatsNameIndex = 0;
public int CheatsAddressIndex = 1;
public int CheatsValueIndex = 2;
public int CheatsDomainIndex = 3;
public int CheatsCompareIndex = 3;
public int CheatsOnIndex = 4;
public int CheatsDomainIndex = 5;
// TAStudio Dialog
public bool TAStudioSaveWindowPosition = true;

View File

@ -45,17 +45,39 @@ namespace BizHawk.MultiClient
temp = s.Substring(0, 2);
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;
s = s.Substring(y, s.Length - y); //Compare
temp = s.Substring(0, s.IndexOf('\t'));
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;
s = s.Substring(y, s.Length - y); //Enabled
y = int.Parse(s[0].ToString());
//try
//{
if (y == 0)
{
c.Disable();
@ -64,11 +86,6 @@ namespace BizHawk.MultiClient
{
c.Enable();
}
//}
//catch
//{
// NotSupportedError();
//}
y = s.IndexOf('\t') + 1;
s = s.Substring(y, s.Length - y); //Name
@ -200,11 +217,27 @@ namespace BizHawk.MultiClient
{
str += FormatAddress(cheatList[x].address) + "\t";
str += String.Format("{0:X2}", cheatList[x].value) + "\t";
str += cheatList[x].domain.Name + "\t";
if (cheatList[x].IsEnabled())
str += "1\t";
if (cheatList[x].compare == null)
{
str += "N\t";
}
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 += cheatList[x].name + "\n";
}
@ -258,10 +291,12 @@ namespace BizHawk.MultiClient
public bool AttemptLoadCheatFile()
{
string CheatFile = MakeDefaultFilename();
var file = new FileInfo(CheatFile);
if (file.Exists == false)
{
return false;
}
else
{
LoadCheatFile(CheatFile, false);
@ -298,6 +333,10 @@ namespace BizHawk.MultiClient
public void Add(Cheat c)
{
if (c == null)
{
return;
}
cheatList.Add(c);
Global.MainForm.UpdateCheatStatus();
}
@ -316,8 +355,12 @@ namespace BizHawk.MultiClient
public bool HasActiveCheat()
{
for (int x = 0; x < cheatList.Count; x++)
{
if (cheatList[x].IsEnabled())
{
return true;
}
}
return false;
}
}

View File

@ -98,6 +98,7 @@
this.toggleToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.removeSelectedToolStripMenuItem = 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.toolStrip1.SuspendLayout();
this.AddCheatGroup.SuspendLayout();
@ -112,7 +113,7 @@
this.optionsToolStripMenuItem});
this.CheatsMenu.Location = new System.Drawing.Point(0, 0);
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.Text = "menuStrip1";
//
@ -128,7 +129,7 @@
this.toolStripSeparator1,
this.exitToolStripMenuItem});
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.DropDownOpened += new System.EventHandler(this.fileToolStripMenuItem_DropDownOpened);
//
@ -137,7 +138,7 @@
this.newToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.NewFile;
this.newToolStripMenuItem.Name = "newToolStripMenuItem";
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.Click += new System.EventHandler(this.newToolStripMenuItem_Click);
//
@ -146,7 +147,7 @@
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(204, 22);
this.openToolStripMenuItem.Size = new System.Drawing.Size(195, 22);
this.openToolStripMenuItem.Text = "&Open...";
this.openToolStripMenuItem.Click += new System.EventHandler(this.openToolStripMenuItem_Click);
//
@ -155,7 +156,7 @@
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(204, 22);
this.saveToolStripMenuItem.Size = new System.Drawing.Size(195, 22);
this.saveToolStripMenuItem.Text = "&Save";
this.saveToolStripMenuItem.Click += new System.EventHandler(this.saveToolStripMenuItem_Click);
//
@ -164,14 +165,14 @@
this.saveAsToolStripMenuItem.Name = "saveAsToolStripMenuItem";
this.saveAsToolStripMenuItem.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(204, 22);
this.saveAsToolStripMenuItem.Size = new System.Drawing.Size(195, 22);
this.saveAsToolStripMenuItem.Text = "Save &As...";
this.saveAsToolStripMenuItem.Click += new System.EventHandler(this.saveAsToolStripMenuItem_Click);
//
// 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.Click += new System.EventHandler(this.appendFileToolStripMenuItem_Click);
//
@ -183,37 +184,37 @@
this.clearToolStripMenuItem});
this.recentToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.Recent;
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.DropDownOpened += new System.EventHandler(this.recentToolStripMenuItem_DropDownOpened);
//
// 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";
//
// toolStripSeparator4
//
this.toolStripSeparator4.Name = "toolStripSeparator4";
this.toolStripSeparator4.Size = new System.Drawing.Size(107, 6);
this.toolStripSeparator4.Size = new System.Drawing.Size(100, 6);
//
// 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";
//
// toolStripSeparator1
//
this.toolStripSeparator1.Name = "toolStripSeparator1";
this.toolStripSeparator1.Size = new System.Drawing.Size(201, 6);
this.toolStripSeparator1.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(204, 22);
this.exitToolStripMenuItem.Size = new System.Drawing.Size(195, 22);
this.exitToolStripMenuItem.Text = "E&xit";
this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click);
//
@ -231,7 +232,7 @@
this.toolStripSeparator6,
this.disableAllCheatsToolStripMenuItem});
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.DropDownOpened += new System.EventHandler(this.cheatsToolStripMenuItem_DropDownOpened);
//
@ -239,7 +240,7 @@
//
this.addCheatToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.Freeze;
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.Click += new System.EventHandler(this.addCheatToolStripMenuItem_Click);
//
@ -248,7 +249,7 @@
this.removeCheatToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.Delete;
this.removeCheatToolStripMenuItem.Name = "removeCheatToolStripMenuItem";
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.Click += new System.EventHandler(this.removeCheatToolStripMenuItem_Click);
//
@ -257,7 +258,7 @@
this.duplicateToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.Duplicate;
this.duplicateToolStripMenuItem.Name = "duplicateToolStripMenuItem";
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.Click += new System.EventHandler(this.duplicateToolStripMenuItem_Click);
//
@ -266,21 +267,21 @@
this.insertSeparatorToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.InsertSeparator;
this.insertSeparatorToolStripMenuItem.Name = "insertSeparatorToolStripMenuItem";
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.Click += new System.EventHandler(this.insertSeparatorToolStripMenuItem_Click);
//
// toolStripSeparator3
//
this.toolStripSeparator3.Name = "toolStripSeparator3";
this.toolStripSeparator3.Size = new System.Drawing.Size(198, 6);
this.toolStripSeparator3.Size = new System.Drawing.Size(190, 6);
//
// moveUpToolStripMenuItem
//
this.moveUpToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.MoveUp;
this.moveUpToolStripMenuItem.Name = "moveUpToolStripMenuItem";
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.Click += new System.EventHandler(this.moveUpToolStripMenuItem_Click);
//
@ -289,7 +290,7 @@
this.moveDownToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.MoveDown;
this.moveDownToolStripMenuItem.Name = "moveDownToolStripMenuItem";
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.Click += new System.EventHandler(this.moveDownToolStripMenuItem_Click);
//
@ -297,20 +298,20 @@
//
this.selectAllToolStripMenuItem.Name = "selectAllToolStripMenuItem";
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.Click += new System.EventHandler(this.selectAllToolStripMenuItem_Click);
//
// toolStripSeparator6
//
this.toolStripSeparator6.Name = "toolStripSeparator6";
this.toolStripSeparator6.Size = new System.Drawing.Size(198, 6);
this.toolStripSeparator6.Size = new System.Drawing.Size(190, 6);
//
// disableAllCheatsToolStripMenuItem
//
this.disableAllCheatsToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.Stop;
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.Click += new System.EventHandler(this.disableAllCheatsToolStripMenuItem_Click);
//
@ -325,54 +326,54 @@
this.toolStripSeparator5,
this.restoreWindowSizeToolStripMenuItem});
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.DropDownOpened += new System.EventHandler(this.optionsToolStripMenuItem_DropDownOpened);
//
// 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.Click += new System.EventHandler(this.LoadCheatFileByGameToolStripMenuItem_Click);
//
// 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.Click += new System.EventHandler(this.saveCheatsOnCloseToolStripMenuItem_Click);
//
// 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.Click += new System.EventHandler(this.CheatsOnOffLoadToolStripMenuItem_Click);
//
// 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.Click += new System.EventHandler(this.autoloadDialogToolStripMenuItem_Click);
//
// 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.Click += new System.EventHandler(this.saveWindowPositionToolStripMenuItem_Click);
//
// toolStripSeparator5
//
this.toolStripSeparator5.Name = "toolStripSeparator5";
this.toolStripSeparator5.Size = new System.Drawing.Size(201, 6);
this.toolStripSeparator5.Size = new System.Drawing.Size(202, 6);
//
// 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.Click += new System.EventHandler(this.restoreWindowSizeToolStripMenuItem_Click);
//
@ -392,7 +393,7 @@
this.toolStripButtonMoveDown});
this.toolStrip1.Location = new System.Drawing.Point(0, 24);
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.Text = "toolStrip1";
//
@ -512,7 +513,7 @@
this.AddCheatGroup.Controls.Add(this.label3);
this.AddCheatGroup.Controls.Add(this.label2);
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.Size = new System.Drawing.Size(170, 245);
this.AddCheatGroup.TabIndex = 4;
@ -655,8 +656,9 @@
this.CheatName,
this.Address,
this.Value,
this.Domain,
this.On});
this.Compare,
this.On,
this.Domain});
this.CheatListView.ContextMenuStrip = this.contextMenuStrip1;
this.CheatListView.FullRowSelect = true;
this.CheatListView.GridLines = true;
@ -666,7 +668,7 @@
this.CheatListView.Location = new System.Drawing.Point(12, 72);
this.CheatListView.Name = "CheatListView";
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.UseCompatibleStateImageBehavior = false;
this.CheatListView.View = System.Windows.Forms.View.Details;
@ -735,12 +737,16 @@
this.disableAllCheatsToolStripMenuItem1.Text = "Disable All Cheats";
this.disableAllCheatsToolStripMenuItem1.Click += new System.EventHandler(this.disableAllCheatsToolStripMenuItem1_Click);
//
// Compare
//
this.Compare.Text = "Compare";
//
// Cheats
//
this.AllowDrop = true;
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
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.AddCheatGroup);
this.Controls.Add(this.MessageLabel);
@ -837,5 +843,6 @@
private System.Windows.Forms.ToolStripMenuItem autoloadDialogToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem saveCheatsOnCloseToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem selectAllToolStripMenuItem;
private System.Windows.Forms.ColumnHeader Compare;
}
}

View File

@ -18,6 +18,7 @@ namespace BizHawk.MultiClient
int defaultNameWidth;
int defaultAddressWidth;
int defaultValueWidth;
int defaultCompareWidth;
int defaultDomainWidth;
int defaultOnWidth;
@ -61,41 +62,58 @@ namespace BizHawk.MultiClient
private void CheatListView_QueryItemBkColor(int index, int column, ref Color color)
{
if (Global.CheatList.Cheat(index).address < 0)
{
color = Color.DarkGray;
else if (!Global.CheatList.Cheat(index).IsEnabled())
}
else if (Global.CheatList.Cheat(index).IsEnabled())
{
color = Color.LightCyan;
}
else
{
color = this.BackColor;
}
}
private void CheatListView_QueryItemText(int index, int column, out string text)
{
text = "";
if (Global.CheatList.Cheat(index).address == -1)
if (Global.CheatList.Cheat(index).address == -1) //Separator
{
return;
if (column == 0) //Name
}
else if (column == 0) //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);
}
if (column == 2) //Value
else if (column == 2) //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;
}
if (column == 4) //Enabled
else if (column == 4) //Enabled
{
if (Global.CheatList.Cheat(index).IsEnabled())
{
text = "*";
}
else
{
text = "";
}
}
}
private int GetNumDigits(Int32 i)
{
@ -141,6 +159,10 @@ namespace BizHawk.MultiClient
public void AddCheat(Cheat c)
{
if (c == null)
{
return;
}
Changes();
Global.CheatList.Add(c);
Global.OSD.AddMessage("Cheat added.");
@ -223,11 +245,14 @@ namespace BizHawk.MultiClient
defaultNameWidth = CheatListView.Columns[Global.Config.CheatsNameIndex].Width;
defaultAddressWidth = CheatListView.Columns[Global.Config.CheatsAddressIndex].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;
defaultDomainWidth = CheatListView.Columns[Global.Config.CheatsDomainIndex].Width;
if (Global.Config.CheatsSaveWindowPosition && Global.Config.CheatsWndx >= 0 && Global.Config.CheatsWndy >= 0)
{
Location = new Point(Global.Config.CheatsWndx, Global.Config.CheatsWndy);
}
if (Global.Config.CheatsWidth >= 0 && Global.Config.CheatsHeight >= 0)
{
@ -235,16 +260,30 @@ namespace BizHawk.MultiClient
}
if (Global.Config.CheatsNameWidth > 0)
{
CheatListView.Columns[Global.Config.CheatsNameIndex].Width = Global.Config.CheatsNameWidth;
}
if (Global.Config.CheatsAddressWidth > 0)
{
CheatListView.Columns[Global.Config.CheatsAddressIndex].Width = Global.Config.CheatsAddressWidth;
}
if (Global.Config.CheatsValueWidth > 0)
{
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)
{
CheatListView.Columns[Global.Config.CheatsDomainIndex].Width = Global.Config.CheatsDomainWidth;
}
if (Global.Config.CheatsOnWidth > 0)
{
CheatListView.Columns[Global.Config.CheatsOnIndex].Width = Global.Config.CheatsOnWidth;
}
}
public void SaveConfigSettings()
{
@ -257,8 +296,9 @@ namespace BizHawk.MultiClient
Global.Config.CheatsNameWidth = CheatListView.Columns[Global.Config.CheatsNameIndex].Width;
Global.Config.CheatsAddressWidth = CheatListView.Columns[Global.Config.CheatsAddressIndex].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.CheatsDomainWidth = CheatListView.Columns[Global.Config.CheatsDomainIndex].Width;
}
public void DisplayCheatsList()
@ -455,7 +495,9 @@ namespace BizHawk.MultiClient
private void Save()
{
if (string.Compare(Global.CheatList.currentCheatFile, "") == 0)
{
Global.CheatList.currentCheatFile = Global.CheatList.MakeDefaultFilename();
}
Global.CheatList.SaveCheatFile(Global.CheatList.currentCheatFile);
MessageLabel.Text = Path.GetFileName(Global.CheatList.currentCheatFile) + " saved.";
@ -559,20 +601,26 @@ namespace BizHawk.MultiClient
private Cheat MakeCheat()
{
if (String.IsNullOrWhiteSpace(AddressBox.Text) || String.IsNullOrWhiteSpace(ValueBox.Text))
{
return null;
}
Cheat c = new Cheat();
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
{
c.address = int.Parse(AddressBox.Text, NumberStyles.HexNumber);
c.value = (byte)(int.Parse(ValueBox.Text, NumberStyles.HexNumber));
c.Enable();
}
catch
{
Global.CheatList.NotSupportedError();
return null;
}
c.domain = Global.Emulator.MemoryDomains[DomainComboBox.SelectedIndex];
return c;
}
@ -792,14 +840,16 @@ namespace BizHawk.MultiClient
Global.Config.CheatsNameIndex = 0;
Global.Config.CheatsAddressIndex = 1;
Global.Config.CheatsValueIndex = 2;
Global.Config.CheatsDomainIndex = 3;
Global.Config.CheatsCompareIndex = 3;
Global.Config.CheatsOnIndex = 4;
Global.Config.CheatsDomainIndex = 5;
ColumnPositionSet();
CheatListView.Columns[0].Width = defaultNameWidth;
CheatListView.Columns[1].Width = defaultAddressWidth;
CheatListView.Columns[2].Width = defaultValueWidth;
CheatListView.Columns[3].Width = defaultDomainWidth;
CheatListView.Columns[3].Width = defaultCompareWidth;
CheatListView.Columns[4].Width = defaultOnWidth;
CheatListView.Columns[5].Width = defaultDomainWidth;
}
@ -915,8 +965,13 @@ namespace BizHawk.MultiClient
Global.Config.CheatsNameIndex += changeIndex;
if (Global.Config.CheatsAddressIndex >= lowIndex && Global.Config.CheatsAddressIndex <= highIndex)
Global.Config.CheatsAddressIndex += changeIndex;
if (Global.Config.CheatsValueIndex >= lowIndex && Global.Config.CheatsValueIndex <= highIndex)
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)
Global.Config.CheatsDomainIndex += changeIndex;
if (Global.Config.CheatsOnIndex >= lowIndex && Global.Config.CheatsOnIndex <= highIndex)
@ -928,10 +983,13 @@ namespace BizHawk.MultiClient
Global.Config.CheatsAddressIndex = e.NewDisplayIndex;
else if (header.Text == "Value")
Global.Config.CheatsValueIndex = e.NewDisplayIndex;
else if (header.Text == "Domain")
Global.Config.CheatsDomainIndex = e.NewDisplayIndex;
else if (header.Text == "Compare")
Global.Config.CheatsCompareIndex = e.NewDisplayIndex;
else if (header.Text == "On")
Global.Config.CheatsOnIndex = e.NewDisplayIndex;
else if (header.Text == "Domain")
Global.Config.CheatsDomainIndex = e.NewDisplayIndex;
}
private void ColumnPositionSet()
@ -939,7 +997,9 @@ namespace BizHawk.MultiClient
List<ColumnHeader> columnHeaders = new List<ColumnHeader>();
int i = 0;
for (i = 0; i < CheatListView.Columns.Count; i++)
{
columnHeaders.Add(CheatListView.Columns[i]);
}
CheatListView.Columns.Clear();
@ -953,6 +1013,8 @@ namespace BizHawk.MultiClient
column = "Address";
else if (Global.Config.CheatsValueIndex == i)
column = "Value";
else if (Global.Config.CheatsCompareIndex == i)
column = "Compare";
else if (Global.Config.CheatsDomainIndex == i)
column = "Domain";
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">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAQ9JREFUOE+t09lq
wkAUBmBfyr5DfY32jaReSOmFCyKCgkKLFrVUBZeKiEbshqRuaNw1xiXmLxMJBJ0Zc+GBw9zMfDPnHMZm
u1ZE35s4zXCqjmC8Al+sgHLjD9y7yGFWPIbecOO45yORtMAEHnxxJHL1IyKI9JeEXqtMwOl50Q8bSS0l
8PzBBPbqAQQxICrgjeapgKZpkJUdBmNZB+y3d/QSnsIZKrDdqZjMFYj9OR9wB1NngHrQsJC36EkrfIkT
PuDyJ84AZbOHNF2j1Z2h9i3xAVKfOUjjZssN2oMFmq0xSkLfOmBu3E97iurnENlKxzpgbpzwO0Kh1kOy
KFoDjHmzVuYYjRmTDZfyWh9Yd/4B2Mz2w1z7EGUAAAAASUVORK5CYII=
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAEPSURBVDhPrdPZasJAFAZgX8q+Q32N9o2kXkjphQsigoJC
ixa1VAWXiohG7IakbmjcNcYl5i8TCQSdGXPhgcPczHwz5xzGZrtWRN+bOM1wqo5gvAJfrIBy4w/cu8hh
VjyG3nDjuOcjkbTABB58cSRy9SMiiPSXhF6rTMDpedEPG0ktJfD8wQT26gEEMSAq4I3mqYCmaZCVHQZj
WQfst3f0Ep7CGSqw3amYzBWI/TkfcAdTZ4B60LCQt+hJK3yJEz7g8ifOAGWzhzRdo9WdofYt8QFSnzlI
42bLDdqDBZqtMUpC3zpgbtxPe4rq5xDZSsc6YG6c8DtCodZDsihaA4x5s1bmGI0Zkw2X8lofWHf+AdjM
9sNc+xBlAAAAAElFTkSuQmCC
</value>
</data>
<data name="openToolStripButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAlpJREFUOE+tk21I
k1EYhif0oyA0sqIQCix/+GcQFFH9CCmiUBTLLEjShJofVBgL2fxoU9Pp5ubUlS5rU9f8rCyjsA+pUCRC
TR1ppmVFUSlmhq78unrnQF1KGHTg/nEOz30993PO+7qJFrmUeiv2n+Mij+XLRLLYULdF2pxlEVIDcw0p
AsyxD5fmI/rQ94pqi26eOlsfuZj+7BgSm01QdA4ih7m73Yx9qGpavwatjPebqCzOprPt8YKQgzFagqL0
BEjyEFWVaBkdLHMxT34uYNwWR9nVTEoL0zHlp2DMSeaSRk6eKt4VWm5WM/rVPNN5SjDTLQebZEHNA1wr
UvHjk3E6tsNcV62e1r3KLGqtKm6WplNpSsVqVFJsOM8VfSKFWjkGtcyZptSYzvC7XByx3zQoqCnTMvlG
CX1prnornPUmQJcUXsbSVhGK5bIOkcmQyveeTHiv4VZ5Nk33Nc6iuSO8CIfmECYa/bE/8ON1iRipJNh5
F0V6Bd86lfQ1JlFj1TDVq4COKCegLVIwHmGiKRB7/V6G7+5koHozymgfYRy5E1CgTWKgXcZ1i5qWp0KS
rjgBcAJawph6FszYk/2M1O1isGYLX8p9ab6wgqP+3rMvYciS01GfzA1LFvQkQ6sQ9/khxhoCGHnox1Dt
NvorxXw0b8Km8UQh2cip6GOzgNyMeKqKM7HdjqFZJ5pRk2YJ9aql3EnxoCJxNaZ4Ly6e3UDY3O6OEXRp
59ApTpIhiyDh9GHORAZyPHQPB/ZtZ/cOMVvFPvh6e7F+3SrWrHRnraf7Xz/xf/rJ/kvxb84I3U1y+9/W
AAAAAElFTkSuQmCC
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJQSURBVDhPlZNdSNNRGMb/F110ZZEVhVBgeeHNICiiuggp
olAUyyxI0oSaH1QYC3N+tKnp5ubm1JUua5uuqdPKMgr7kApFItTUkWZqVhSVYmao5Nev/xyoQ4k88Nyc
8z6/93nP4QjCfy6lwc4ltZVso4P/tMyXRcmMHqZ0EeY6jZQVInzuf0e1Tb9Ina3P/tkpLD6XkNg8BJe5
u93C+HDVrP4M2ZkcMOOw5tLZ9nxJyJE4HSExBoKkBQhVpTrGhso9zNPfiph0JlB+U01ZcRbmwnRMeWlc
08opUCV6QissGsZ+WOY6z4hmuuXglC6pRYBbJSp+fzXNxnaZ66o1s3rkyKHWruJuWRYOcwZ2kxKr8TI3
DCkU6+QYNUnuNGWmLEY+5uOK3degoKZcx3SfEvozPfVB3OtNhi4ZvI2nrTIc23U9gtmYwa8eNXzScq8i
l6bHWnfRwhHeREJzGFONgYw/CeB9qQSZNNR9FyUGBT87lfQ3plJj1zLTq4COGDegLVo0HmeqKZjx+gOM
PNzDYPU2lLF+4jhyN6BIl8pgexK3bRpaXopJuhJEwGloiWDmVSgTLw4xWreXoZrtfK/wp/nKak4E+s6/
hDFHTkd9GndsOdCTBq1i3NdHmWgIYvRpAMO1OxlwSPhi2YpT641CuoWzsSfnAfnZiVRZ1Tjvx9GsF+bU
pF1BvWolD9JXUZmyDnOiD1cvbCZiYXfXCPrMi+gVZ8hOiiL53DHORwdzKnw/hw/uYt9uCTskfvj7+rBp
41rWr/Fig7fX8j/Tsn/fcgx/ARfG3ml6M3rzAAAAAElFTkSuQmCC
</value>
</data>
<data name="saveToolStripButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAixJREFUOE+tk91L
k3EUx/cvdN9N0EW3NTWGa7EaPOUcyqphWBG9PZEv5dJlmqhYmUYtXyBb4dJJy+kknFT4BqZIjaFMJUsz
V7TEoabYRDD49ju/6Pm1Mi+iH5zLz+c855zvo1L9j/fsaRRUvvZltHmX8Ni9gMaGCO47ZlBb8wn22yHc
KJ9CackECgteIy93FBfOB6H0JrC3B6ipXsVGb2V1Dca0XhxOe8JLEXhbF7mgsuLLX3mCIwsr2G1+DrVa
huWQRwjcj+a5oLTk87qCn/D78CLiTD4UXJ7GAXOTEDjrZ7ngku3dH4Jf4ZHJCLZJXlhzxpGa4hSCurth
LsjOGo0R/A4PBsPYrHdDlgMwmRxCUF31kQvkMwFFsB7c4/+ATYkNOHL0BZKSaoXgZuU0urvATgkcP/kK
lmMDfNu0MJqZPps6/4D7cNDSCUmyC8HVskl0+MAyADS5vrG7f0X59Tm+VFoYzZyZEVTg5NR2GAwVQnCl
cByeZuChc40FJwpjek5MmU/YkH6uiHdOTmHwfg/0+jIhsOWNMRiouhPlnUnAQoI4rYSht7MYm5qDnHsN
e41tHNbucUGnKxICiqXjHpTPJgHBZ/Nv4U1oHqGZJVwstiNe72JwI+J3PYA2MV8IMjOG2dzLfOatBg+2
7JDQ0tEPX9cguvv8GHg5hH0mC9S6eiQweLumDhqNVQgo06dP9fN4UsIoJHRnOhVtmxZGM1NXKoJ3JmTH
Cv71r/4OTrQ4xWMwWlcAAAAASUVORK5CYII=
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIsSURBVDhPrZPdS5NxFMf3L3TfTdBFtzU1hmuxGjzlHMqq
YVgRvT2RL+XSZZqoWJlGLV8gW+HSScvpJJxU+AamSI2hTCVLM1e0xKGm2EQw+PY7v+j5tTIvoh+cy8/n
POec76NS/Y/37GkUVL72ZbR5l/DYvYDGhgjuO2ZQW/MJ9tsh3CifQmnJBAoLXiMvdxQXzgeh9Cawtweo
qV7FRm9ldQ3GtF4cTnvCSxF4Wxe5oLLiy195giMLK9htfg61WoblkEcI3I/muaC05PO6gp/w+/Ai4kw+
FFyexgFzkxA462e54JLt3R+CX+GRyQi2SV5Yc8aRmuIUgrq7YS7IzhqNEfwODwbD2Kx3Q5YDMJkcQlBd
9ZEL5DMBRbAe3OP/gE2JDThy9AWSkmqF4GblNLq7wE4JHD/5CpZjA3zbtDCamT6bOv+A+3DQ0glJsgvB
1bJJdPjAMgA0ub6xu39F+fU5vlRaGM2cmRFU4OTUdhgMFUJwpXAcnmbgoXONBScKY3pOTJlP2JB+roh3
Tk5h8H4P9PoyIbDljTEYqLoT5Z1JwEKCOK2EobezGJuag5x7DXuNbRzW7nFBpysSAoql4x6UzyYBwWfz
b+FNaB6hmSVcLLYjXu9icCPidz2ANjFfCDIzhtncy3zmrQYPtuyQ0NLRD1/XILr7/Bh4OYR9JgvUunok
MHi7pg4ajVUIKNOnT/XzeFLCKCR0ZzoVbZsWRjNTVyqCdyZkxwr+9a/+Dk60OMVjMFpXAAAAAElFTkSu
QmCC
</value>
</data>
<data name="copyToolStripButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAeJJREFUOE+lk9FP
klEYxv1TSsecde0f0FpZrTbbal7URVvZuuJCr7pq2WzLNWy0iSHNwtIB9qG0ltLSYRJpBomUgZPMGSyU
8SmJIOiv7zssCdrAzXd77s77e5/nnPdUVR20HBPfUCWNB4QsI176HB8IL/9iX2y1ubTMwx6utz0nuLhc
GWIfCxT153Z26ep/g9Md4FJLZ2WIZdQnAM4QSJ/BH5Z5aH6NNCljm0hgdSV4MppAPxQXCq5kil31OTx7
DjLbOeSNNJFYUgBKq31glfpmN76F9QLEZHOJc73ubXQjMreln7Q+DdP/du0/QIsxhmNK5mjTMJ/m43mI
Qcmr5t5MZVlNpFiKrPM1vIbpVVQAOqSckF+ZekUX5UjTS+ouDFLb+CwPUPNupbN7k7WmEDcMX3hgXSpy
IP/OsrCyhXtuA6M0g+bc4wJATqaZ/x7DF4zg8f9g/OMibb355701kERriHL5fojzd2aFjNI0mjPdBUD9
6auUqlU/KwBZJV4skWUuvMmYV8b+Ls6jQQ81DfryO3KtfUoA/p3810G37T3VJ3TlARdvukhldjANeemx
z2B8MS0mq80GyySHj98rD2jQOpXbtgrVNprRnO2h5lQX1Sc7leYODh27W3nN9/WZDnroDx0A5wwhdtmt
AAAAAElFTkSuQmCC
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHiSURBVDhPpZPRT5JRGMb9U0rHnHXtH9BaWa0222pe1EVb
2briQq+6atlsyzVstIkhzcLSAfahtJbS0mESaQaJlIGTzBkslPEpiSDor+87LAnawM13e+7O+3uf55z3
VFUdtBwT31AljQeELCNe+hwfCC//Yl9stbm0zMMerrc9J7i4XBliHwsU9ed2dunqf4PTHeBSS2dliGXU
JwDOEEifwR+WeWh+jTQpY5tIYHUleDKaQD8UFwquZIpd9Tk8ew4y2znkjTSRWFIASqt9YJX6Zje+hfUC
xGRziXO97m10IzK3pZ+0Pg3T/3btP0CLMYZjSuZo0zCf5uN5iEHJq+beTGVZTaRYiqzzNbyG6VVUADqk
nJBfmXpFF+VI00vqLgxS2/gsD1DzbqWze5O1phA3DF94YF0qciD/zrKwsoV7bgOjNIPm3OMCQE6mmf8e
wxeM4PH/YPzjIm29+ee9NZBEa4hy+X6I83dmhYzSNJoz3QVA/emrlKpVPysAWSVeLJFlLrzJmFfG/i7O
o0EPNQ368jtyrX1KAP6d/NdBt+091Sd05QEXb7pIZXYwDXnpsc9gfDEtJqvNBsskh4/fKw9o0DqV27YK
1Taa0ZztoeZUF9UnO5XmDg4du1t5zff1mQ566A8dAOcMIXbZrQAAAABJRU5ErkJggg==
</value>
</data>
<metadata name="contextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">