New Cheat List - lots of stuff

This commit is contained in:
adelikat 2013-10-05 03:40:36 +00:00
parent 03302508fc
commit 0e758ab1a2
5 changed files with 438 additions and 128 deletions

View File

@ -422,9 +422,12 @@ namespace BizHawk.MultiClient
{ "CompareColumn", -1 },
{ "OnColumn", -1 },
{ "DomainColumn", -1 },
{ "SizeColumn", -1 },
{ "EndianColumn", -1 },
{ "DisplayTypeColumn", -1 },
};
public Dictionary<string, int> CheatsColumnIndexes = new Dictionary<string, int>()
public Dictionary<string, int> CheatsColumnIndices = new Dictionary<string, int>()
{
{ "NamesColumn", 0 },
{ "AddressColumn", 1 },
@ -432,6 +435,22 @@ namespace BizHawk.MultiClient
{ "CompareColumn", 3 },
{ "OnColumn", 4 },
{ "DomainColumn", 5 },
{ "SizeColumn", 6 },
{ "EndianColumn", 7 },
{ "DisplayTypeColumn", 8 },
};
public Dictionary<string, bool> CheatsColumnShow = new Dictionary<string, bool>()
{
{ "NamesColumn", true },
{ "AddressColumn", true },
{ "ValueColumn", true },
{ "CompareColumn", true },
{ "OnColumn", true },
{ "DomainColumn", true },
{ "SizeColumn", true },
{ "EndianColumn", false },
{ "DisplayTypeColumn", false },
};
// TAStudio Dialog

View File

@ -51,6 +51,13 @@ namespace BizHawk.MultiClient
get { return _cheatList.Count(x => x.Enabled); }
}
public void NewList()
{
_cheatList.Clear();
_currentFileName = String.Empty;
_changes = false;
}
public void Update()
{
_cheatList.ForEach(x => x.Pulse());
@ -236,7 +243,7 @@ namespace BizHawk.MultiClient
false
);
NewCheat c = new NewCheat(w, COMPARE, ENABLED);
NewCheat c = new NewCheat(w, COMPARE, Global.Config.DisableCheatsOnLoad ? false : ENABLED);
_cheatList.Add(c);
}
}
@ -319,6 +326,7 @@ namespace BizHawk.MultiClient
_changes = false;
_currentFileName = path;
Global.Config.RecentCheats.Add(_currentFileName);
return true;
}
catch

View File

@ -28,6 +28,7 @@
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(NewCheatForm));
this.CheatListView = new BizHawk.VirtualListView();
this.CheatName = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
@ -36,6 +37,10 @@
this.Compare = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.On = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.Domain = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components);
this.toggleToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.removeSelectedToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.disableAllCheatsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.CheatsMenu = new MenuStripEx();
this.FileSubMenu = new System.Windows.Forms.ToolStripMenuItem();
this.NewMenuItem = new System.Windows.Forms.ToolStripMenuItem();
@ -58,19 +63,28 @@
this.SelectAllMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator6 = new System.Windows.Forms.ToolStripSeparator();
this.DisableAllCheatsMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.ToggleMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.GameGenieSeparator = new System.Windows.Forms.ToolStripSeparator();
this.OpenGameGenieEncoderDecoderMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.OptionsSubMenu = new System.Windows.Forms.ToolStripMenuItem();
this.LoadCheatFileByGameMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.SaveCheatsOnCloseMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.CheatsOnOffLoadMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.ShowValuesAsHexMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.AutoloadDialogMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.DisableCheatsOnLoadMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.AutoloadMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.SaveWindowPositionMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.AlwaysOnTopMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator();
this.RestoreWindowSizeMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.ColumnsSubMenu = new System.Windows.Forms.ToolStripMenuItem();
this.ShowNameMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.ShowAddressMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.ShowValueMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.ShowCompareMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.ShowOnMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.ShowDomainMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.ShowSizeMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.ShowEndianMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.ShowDisplayTypeMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStrip1 = new ToolStripEx();
this.NewToolBarItem = new System.Windows.Forms.ToolStripButton();
this.OpenToolBarItem = new System.Windows.Forms.ToolStripButton();
@ -82,17 +96,11 @@
this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
this.MoveUpToolbarItem = new System.Windows.Forms.ToolStripButton();
this.MoveDownToolbarItem = new System.Windows.Forms.ToolStripButton();
this.GameGenieToolbarSeparator = new System.Windows.Forms.ToolStripSeparator();
this.LoadGameGenieToolbarItem = new System.Windows.Forms.ToolStripButton();
this.TotalLabel = new System.Windows.Forms.Label();
this.MessageLabel = new System.Windows.Forms.Label();
this.nameToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.addressToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.valueToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.compareToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.onToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.domainToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.ToggleMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.GameGenieToolbarSeparator = new System.Windows.Forms.ToolStripSeparator();
this.contextMenuStrip1.SuspendLayout();
this.CheatsMenu.SuspendLayout();
this.toolStrip1.SuspendLayout();
this.SuspendLayout();
@ -111,6 +119,7 @@
this.Compare,
this.On,
this.Domain});
this.CheatListView.ContextMenuStrip = this.contextMenuStrip1;
this.CheatListView.FullRowSelect = true;
this.CheatListView.GridLines = true;
this.CheatListView.HideSelection = false;
@ -154,6 +163,41 @@
this.Domain.Text = "Domain";
this.Domain.Width = 75;
//
// contextMenuStrip1
//
this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.toggleToolStripMenuItem,
this.removeSelectedToolStripMenuItem,
this.disableAllCheatsToolStripMenuItem});
this.contextMenuStrip1.Name = "contextMenuStrip1";
this.contextMenuStrip1.Size = new System.Drawing.Size(158, 70);
//
// toggleToolStripMenuItem
//
this.toggleToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.Refresh1;
this.toggleToolStripMenuItem.Name = "toggleToolStripMenuItem";
this.toggleToolStripMenuItem.ShortcutKeyDisplayString = "Enter";
this.toggleToolStripMenuItem.Size = new System.Drawing.Size(204, 22);
this.toggleToolStripMenuItem.Text = "&Toggle";
this.toggleToolStripMenuItem.Click += new System.EventHandler(this.ToggleMenuItem_Click);
//
// removeSelectedToolStripMenuItem
//
this.removeSelectedToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.Delete;
this.removeSelectedToolStripMenuItem.Name = "removeSelectedToolStripMenuItem";
this.removeSelectedToolStripMenuItem.ShortcutKeyDisplayString = "Delete";
this.removeSelectedToolStripMenuItem.Size = new System.Drawing.Size(157, 22);
this.removeSelectedToolStripMenuItem.Text = "&Remove";
this.removeSelectedToolStripMenuItem.Click += new System.EventHandler(this.RemoveCheatMenuItem_Click);
//
// disableAllCheatsToolStripMenuItem
//
this.disableAllCheatsToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.Stop;
this.disableAllCheatsToolStripMenuItem.Name = "disableAllCheatsToolStripMenuItem";
this.disableAllCheatsToolStripMenuItem.Size = new System.Drawing.Size(204, 22);
this.disableAllCheatsToolStripMenuItem.Text = "&Disable All";
this.disableAllCheatsToolStripMenuItem.Click += new System.EventHandler(this.DisableAllCheatsMenuItem_Click);
//
// CheatsMenu
//
this.CheatsMenu.ClickThrough = true;
@ -186,12 +230,12 @@
//
// NewMenuItem
//
this.NewMenuItem.Enabled = false;
this.NewMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.NewFile;
this.NewMenuItem.Name = "NewMenuItem";
this.NewMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.N)));
this.NewMenuItem.Size = new System.Drawing.Size(195, 22);
this.NewMenuItem.Text = "&New";
this.NewMenuItem.Click += new System.EventHandler(this.NewMenuItem_Click);
//
// OpenMenuItem
//
@ -266,8 +310,8 @@
this.MoveDownMenuItem,
this.SelectAllMenuItem,
this.toolStripSeparator6,
this.DisableAllCheatsMenuItem,
this.ToggleMenuItem,
this.DisableAllCheatsMenuItem,
this.GameGenieSeparator,
this.OpenGameGenieEncoderDecoderMenuItem});
this.CheatsSubMenu.Name = "CheatsSubMenu";
@ -287,7 +331,7 @@
//
this.RemoveCheatMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.Delete;
this.RemoveCheatMenuItem.Name = "RemoveCheatMenuItem";
this.RemoveCheatMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.R)));
this.RemoveCheatMenuItem.ShortcutKeyDisplayString = "Delete";
this.RemoveCheatMenuItem.Size = new System.Drawing.Size(233, 22);
this.RemoveCheatMenuItem.Text = "&Remove Cheat";
this.RemoveCheatMenuItem.Click += new System.EventHandler(this.RemoveCheatMenuItem_Click);
@ -351,9 +395,18 @@
this.DisableAllCheatsMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.Stop;
this.DisableAllCheatsMenuItem.Name = "DisableAllCheatsMenuItem";
this.DisableAllCheatsMenuItem.Size = new System.Drawing.Size(233, 22);
this.DisableAllCheatsMenuItem.Text = "Disable all Cheats";
this.DisableAllCheatsMenuItem.Text = "Disable all";
this.DisableAllCheatsMenuItem.Click += new System.EventHandler(this.DisableAllCheatsMenuItem_Click);
//
// ToggleMenuItem
//
this.ToggleMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.Refresh1;
this.ToggleMenuItem.Name = "ToggleMenuItem";
this.ToggleMenuItem.ShortcutKeyDisplayString = "Enter";
this.ToggleMenuItem.Size = new System.Drawing.Size(233, 22);
this.ToggleMenuItem.Text = "&Toggle";
this.ToggleMenuItem.Click += new System.EventHandler(this.ToggleMenuItem_Click);
//
// GameGenieSeparator
//
this.GameGenieSeparator.Name = "GameGenieSeparator";
@ -371,9 +424,8 @@
this.OptionsSubMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.LoadCheatFileByGameMenuItem,
this.SaveCheatsOnCloseMenuItem,
this.CheatsOnOffLoadMenuItem,
this.ShowValuesAsHexMenuItem,
this.AutoloadDialogMenuItem,
this.DisableCheatsOnLoadMenuItem,
this.AutoloadMenuItem,
this.SaveWindowPositionMenuItem,
this.AlwaysOnTopMenuItem,
this.toolStripSeparator5,
@ -397,26 +449,19 @@
this.SaveCheatsOnCloseMenuItem.Size = new System.Drawing.Size(205, 22);
this.SaveCheatsOnCloseMenuItem.Text = "Save Cheats on Close";
//
// CheatsOnOffLoadMenuItem
// DisableCheatsOnLoadMenuItem
//
this.CheatsOnOffLoadMenuItem.Enabled = false;
this.CheatsOnOffLoadMenuItem.Name = "CheatsOnOffLoadMenuItem";
this.CheatsOnOffLoadMenuItem.Size = new System.Drawing.Size(205, 22);
this.CheatsOnOffLoadMenuItem.Text = "Disable Cheats on Load";
this.DisableCheatsOnLoadMenuItem.Name = "DisableCheatsOnLoadMenuItem";
this.DisableCheatsOnLoadMenuItem.Size = new System.Drawing.Size(205, 22);
this.DisableCheatsOnLoadMenuItem.Text = "Disable Cheats on Load";
this.DisableCheatsOnLoadMenuItem.Click += new System.EventHandler(this.CheatsOnOffLoadMenuItem_Click);
//
// ShowValuesAsHexMenuItem
// AutoloadMenuItem
//
this.ShowValuesAsHexMenuItem.Enabled = false;
this.ShowValuesAsHexMenuItem.Name = "ShowValuesAsHexMenuItem";
this.ShowValuesAsHexMenuItem.Size = new System.Drawing.Size(205, 22);
this.ShowValuesAsHexMenuItem.Text = "Show Values as Hex";
//
// AutoloadDialogMenuItem
//
this.AutoloadDialogMenuItem.Enabled = false;
this.AutoloadDialogMenuItem.Name = "AutoloadDialogMenuItem";
this.AutoloadDialogMenuItem.Size = new System.Drawing.Size(205, 22);
this.AutoloadDialogMenuItem.Text = "Auto-load Dialog";
this.AutoloadMenuItem.Name = "AutoloadMenuItem";
this.AutoloadMenuItem.Size = new System.Drawing.Size(205, 22);
this.AutoloadMenuItem.Text = "Autoload";
this.AutoloadMenuItem.Click += new System.EventHandler(this.AutoloadMenuItem_Click);
//
// SaveWindowPositionMenuItem
//
@ -439,25 +484,91 @@
//
// RestoreWindowSizeMenuItem
//
this.RestoreWindowSizeMenuItem.Enabled = false;
this.RestoreWindowSizeMenuItem.Name = "RestoreWindowSizeMenuItem";
this.RestoreWindowSizeMenuItem.Size = new System.Drawing.Size(205, 22);
this.RestoreWindowSizeMenuItem.Text = "Restore Default Settings";
this.RestoreWindowSizeMenuItem.Click += new System.EventHandler(this.RestoreWindowSizeMenuItem_Click);
//
// ColumnsSubMenu
//
this.ColumnsSubMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.nameToolStripMenuItem,
this.addressToolStripMenuItem,
this.valueToolStripMenuItem,
this.compareToolStripMenuItem,
this.onToolStripMenuItem,
this.domainToolStripMenuItem});
this.ShowNameMenuItem,
this.ShowAddressMenuItem,
this.ShowValueMenuItem,
this.ShowCompareMenuItem,
this.ShowOnMenuItem,
this.ShowDomainMenuItem,
this.ShowSizeMenuItem,
this.ShowEndianMenuItem,
this.ShowDisplayTypeMenuItem});
this.ColumnsSubMenu.Name = "ColumnsSubMenu";
this.ColumnsSubMenu.Size = new System.Drawing.Size(67, 20);
this.ColumnsSubMenu.Text = "&Columns";
this.ColumnsSubMenu.DropDownOpened += new System.EventHandler(this.ColumnsSubMenu_DropDownOpened);
//
// ShowNameMenuItem
//
this.ShowNameMenuItem.Name = "ShowNameMenuItem";
this.ShowNameMenuItem.Size = new System.Drawing.Size(141, 22);
this.ShowNameMenuItem.Text = "&Name";
this.ShowNameMenuItem.Click += new System.EventHandler(this.ShowNameMenuItem_Click);
//
// ShowAddressMenuItem
//
this.ShowAddressMenuItem.Name = "ShowAddressMenuItem";
this.ShowAddressMenuItem.Size = new System.Drawing.Size(141, 22);
this.ShowAddressMenuItem.Text = "&Address";
this.ShowAddressMenuItem.Click += new System.EventHandler(this.ShowAddressMenuItem_Click);
//
// ShowValueMenuItem
//
this.ShowValueMenuItem.Name = "ShowValueMenuItem";
this.ShowValueMenuItem.Size = new System.Drawing.Size(141, 22);
this.ShowValueMenuItem.Text = "&Value";
this.ShowValueMenuItem.Click += new System.EventHandler(this.ShowValueMenuItem_Click);
//
// ShowCompareMenuItem
//
this.ShowCompareMenuItem.Name = "ShowCompareMenuItem";
this.ShowCompareMenuItem.Size = new System.Drawing.Size(141, 22);
this.ShowCompareMenuItem.Text = "&Compare";
this.ShowCompareMenuItem.Click += new System.EventHandler(this.ShowCompareMenuItem_Click);
//
// ShowOnMenuItem
//
this.ShowOnMenuItem.Name = "ShowOnMenuItem";
this.ShowOnMenuItem.Size = new System.Drawing.Size(141, 22);
this.ShowOnMenuItem.Text = "&On";
this.ShowOnMenuItem.Click += new System.EventHandler(this.ShowOnMenuItem_Click);
//
// ShowDomainMenuItem
//
this.ShowDomainMenuItem.Name = "ShowDomainMenuItem";
this.ShowDomainMenuItem.Size = new System.Drawing.Size(141, 22);
this.ShowDomainMenuItem.Text = "&Domain";
this.ShowDomainMenuItem.Click += new System.EventHandler(this.ShowDomainMenuItem_Click);
//
// ShowSizeMenuItem
//
this.ShowSizeMenuItem.Name = "ShowSizeMenuItem";
this.ShowSizeMenuItem.Size = new System.Drawing.Size(141, 22);
this.ShowSizeMenuItem.Text = "&Size";
this.ShowSizeMenuItem.Click += new System.EventHandler(this.ShowSizeMenuItem_Click);
//
// ShowEndianMenuItem
//
this.ShowEndianMenuItem.Name = "ShowEndianMenuItem";
this.ShowEndianMenuItem.Size = new System.Drawing.Size(141, 22);
this.ShowEndianMenuItem.Text = "&Endian";
this.ShowEndianMenuItem.Click += new System.EventHandler(this.ShowEndianMenuItem_Click);
//
// ShowDisplayTypeMenuItem
//
this.ShowDisplayTypeMenuItem.Name = "ShowDisplayTypeMenuItem";
this.ShowDisplayTypeMenuItem.Size = new System.Drawing.Size(141, 22);
this.ShowDisplayTypeMenuItem.Text = "&Display Type";
this.ShowDisplayTypeMenuItem.Click += new System.EventHandler(this.ShowDisplayTypeMenuItem_Click);
//
// toolStrip1
//
this.toolStrip1.ClickThrough = true;
@ -483,12 +594,12 @@
// NewToolBarItem
//
this.NewToolBarItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.NewToolBarItem.Enabled = false;
this.NewToolBarItem.Image = ((System.Drawing.Image)(resources.GetObject("NewToolBarItem.Image")));
this.NewToolBarItem.ImageTransparentColor = System.Drawing.Color.Magenta;
this.NewToolBarItem.Name = "NewToolBarItem";
this.NewToolBarItem.Size = new System.Drawing.Size(23, 22);
this.NewToolBarItem.Text = "&New";
this.NewToolBarItem.Click += new System.EventHandler(this.NewMenuItem_Click);
//
// OpenToolBarItem
//
@ -570,6 +681,11 @@
this.MoveDownToolbarItem.Text = "Move Down";
this.MoveDownToolbarItem.Click += new System.EventHandler(this.MoveDownMenuItem_Click);
//
// GameGenieToolbarSeparator
//
this.GameGenieToolbarSeparator.Name = "GameGenieToolbarSeparator";
this.GameGenieToolbarSeparator.Size = new System.Drawing.Size(6, 25);
//
// LoadGameGenieToolbarItem
//
this.LoadGameGenieToolbarItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
@ -600,61 +716,6 @@
this.MessageLabel.TabIndex = 7;
this.MessageLabel.Text = " ";
//
// nameToolStripMenuItem
//
this.nameToolStripMenuItem.Enabled = false;
this.nameToolStripMenuItem.Name = "nameToolStripMenuItem";
this.nameToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
this.nameToolStripMenuItem.Text = "&Name";
//
// addressToolStripMenuItem
//
this.addressToolStripMenuItem.Enabled = false;
this.addressToolStripMenuItem.Name = "addressToolStripMenuItem";
this.addressToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
this.addressToolStripMenuItem.Text = "&Address";
//
// valueToolStripMenuItem
//
this.valueToolStripMenuItem.Enabled = false;
this.valueToolStripMenuItem.Name = "valueToolStripMenuItem";
this.valueToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
this.valueToolStripMenuItem.Text = "&Value";
//
// compareToolStripMenuItem
//
this.compareToolStripMenuItem.Enabled = false;
this.compareToolStripMenuItem.Name = "compareToolStripMenuItem";
this.compareToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
this.compareToolStripMenuItem.Text = "&Compare";
//
// onToolStripMenuItem
//
this.onToolStripMenuItem.Enabled = false;
this.onToolStripMenuItem.Name = "onToolStripMenuItem";
this.onToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
this.onToolStripMenuItem.Text = "&On";
//
// domainToolStripMenuItem
//
this.domainToolStripMenuItem.Enabled = false;
this.domainToolStripMenuItem.Name = "domainToolStripMenuItem";
this.domainToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
this.domainToolStripMenuItem.Text = "&Domain";
//
// ToggleMenuItem
//
this.ToggleMenuItem.Name = "ToggleMenuItem";
this.ToggleMenuItem.ShortcutKeyDisplayString = "Enter";
this.ToggleMenuItem.Size = new System.Drawing.Size(233, 22);
this.ToggleMenuItem.Text = "&Toggle";
this.ToggleMenuItem.Click += new System.EventHandler(this.ToggleMenuItem_Click);
//
// GameGenieToolbarSeparator
//
this.GameGenieToolbarSeparator.Name = "GameGenieToolbarSeparator";
this.GameGenieToolbarSeparator.Size = new System.Drawing.Size(6, 25);
//
// NewCheatForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
@ -670,6 +731,7 @@
this.Name = "NewCheatForm";
this.Text = "New Cheat form";
this.Load += new System.EventHandler(this.NewCheatForm_Load);
this.contextMenuStrip1.ResumeLayout(false);
this.CheatsMenu.ResumeLayout(false);
this.CheatsMenu.PerformLayout();
this.toolStrip1.ResumeLayout(false);
@ -715,9 +777,8 @@
private System.Windows.Forms.ToolStripMenuItem OptionsSubMenu;
private System.Windows.Forms.ToolStripMenuItem LoadCheatFileByGameMenuItem;
private System.Windows.Forms.ToolStripMenuItem SaveCheatsOnCloseMenuItem;
private System.Windows.Forms.ToolStripMenuItem CheatsOnOffLoadMenuItem;
private System.Windows.Forms.ToolStripMenuItem ShowValuesAsHexMenuItem;
private System.Windows.Forms.ToolStripMenuItem AutoloadDialogMenuItem;
private System.Windows.Forms.ToolStripMenuItem DisableCheatsOnLoadMenuItem;
private System.Windows.Forms.ToolStripMenuItem AutoloadMenuItem;
private System.Windows.Forms.ToolStripMenuItem SaveWindowPositionMenuItem;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator5;
private System.Windows.Forms.ToolStripMenuItem RestoreWindowSizeMenuItem;
@ -737,13 +798,20 @@
private System.Windows.Forms.ToolStripMenuItem ColumnsSubMenu;
private System.Windows.Forms.Label MessageLabel;
private System.Windows.Forms.ToolStripMenuItem AlwaysOnTopMenuItem;
private System.Windows.Forms.ToolStripMenuItem nameToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem addressToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem valueToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem compareToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem onToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem domainToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem ShowNameMenuItem;
private System.Windows.Forms.ToolStripMenuItem ShowAddressMenuItem;
private System.Windows.Forms.ToolStripMenuItem ShowValueMenuItem;
private System.Windows.Forms.ToolStripMenuItem ShowCompareMenuItem;
private System.Windows.Forms.ToolStripMenuItem ShowOnMenuItem;
private System.Windows.Forms.ToolStripMenuItem ShowDomainMenuItem;
private System.Windows.Forms.ToolStripMenuItem ToggleMenuItem;
private System.Windows.Forms.ToolStripSeparator GameGenieToolbarSeparator;
private System.Windows.Forms.ToolStripMenuItem ShowSizeMenuItem;
private System.Windows.Forms.ToolStripMenuItem ShowEndianMenuItem;
private System.Windows.Forms.ToolStripMenuItem ShowDisplayTypeMenuItem;
private System.Windows.Forms.ContextMenuStrip contextMenuStrip1;
private System.Windows.Forms.ToolStripMenuItem toggleToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem removeSelectedToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem disableAllCheatsToolStripMenuItem;
}
}

View File

@ -23,6 +23,9 @@ namespace BizHawk.MultiClient
public const string COMPARE = "CompareColumn";
public const string ON = "OnColumn";
public const string DOMAIN = "DomainColumn";
public const string SIZE = "SizeColumn";
public const string ENDIAN = "EndianColumn";
public const string TYPE = "DisplayTypeColumn";
private readonly Dictionary<string, int> DefaultColumnWidths = new Dictionary<string, int>
{
@ -32,6 +35,9 @@ namespace BizHawk.MultiClient
{ COMPARE, 59 },
{ ON, 28 },
{ DOMAIN, 55 },
{ SIZE, 55 },
{ ENDIAN, 55 },
{ TYPE, 55 },
};
private int defaultWidth;
@ -191,12 +197,15 @@ namespace BizHawk.MultiClient
private void LoadColumnInfo()
{
CheatListView.Columns.Clear();
ToolHelpers.AddColumn(CheatListView, NAME, true, GetColumnWidth(NAME));
ToolHelpers.AddColumn(CheatListView, ADDRESS, true, GetColumnWidth(ADDRESS));
ToolHelpers.AddColumn(CheatListView, VALUE, true, GetColumnWidth(VALUE));
ToolHelpers.AddColumn(CheatListView, COMPARE, true, GetColumnWidth(COMPARE));
ToolHelpers.AddColumn(CheatListView, ON, true, GetColumnWidth(ON));
ToolHelpers.AddColumn(CheatListView, DOMAIN, true, GetColumnWidth(DOMAIN));
ToolHelpers.AddColumn(CheatListView, NAME, Global.Config.CheatsColumnShow[NAME], GetColumnWidth(NAME));
ToolHelpers.AddColumn(CheatListView, ADDRESS, Global.Config.CheatsColumnShow[ADDRESS], GetColumnWidth(ADDRESS));
ToolHelpers.AddColumn(CheatListView, VALUE, Global.Config.CheatsColumnShow[VALUE], GetColumnWidth(VALUE));
ToolHelpers.AddColumn(CheatListView, COMPARE, Global.Config.CheatsColumnShow[COMPARE], GetColumnWidth(COMPARE));
ToolHelpers.AddColumn(CheatListView, ON, Global.Config.CheatsColumnShow[ON], GetColumnWidth(ON));
ToolHelpers.AddColumn(CheatListView, DOMAIN, Global.Config.CheatsColumnShow[DOMAIN], GetColumnWidth(DOMAIN));
ToolHelpers.AddColumn(CheatListView, SIZE, Global.Config.CheatsColumnShow[SIZE], GetColumnWidth(SIZE));
ToolHelpers.AddColumn(CheatListView, ENDIAN, Global.Config.CheatsColumnShow[ENDIAN], GetColumnWidth(ENDIAN));
ToolHelpers.AddColumn(CheatListView, TYPE, Global.Config.CheatsColumnShow[TYPE], GetColumnWidth(TYPE));
}
private int GetColumnWidth(string columnName)
@ -240,6 +249,15 @@ namespace BizHawk.MultiClient
case DOMAIN:
text = Global.CheatList2[index].Domain.Name;
break;
case SIZE:
text = Global.CheatList2[index].Size.ToString();
break;
case ENDIAN:
text = Global.CheatList2[index].BigEndian.Value ? "Big" : "Little";
break;
case TYPE:
text = Watch.DisplayTypeToString(Global.CheatList2[index].Type);
break;
}
}
@ -271,6 +289,7 @@ namespace BizHawk.MultiClient
return selected;
}
}
private List<NewCheat> SelectedItems
{
get
@ -387,6 +406,70 @@ namespace BizHawk.MultiClient
UpdateListView();
}
private void SaveColumnInfo()
{
if (CheatListView.Columns[NAME] != null)
{
Global.Config.CheatsColumnIndices[NAME] = CheatListView.Columns[NAME].DisplayIndex;
Global.Config.CheatsColumnWidths[NAME] = CheatListView.Columns[NAME].Width;
}
if (CheatListView.Columns[ADDRESS] != null)
{
Global.Config.CheatsColumnIndices[ADDRESS] = CheatListView.Columns[ADDRESS].DisplayIndex;
Global.Config.CheatsColumnWidths[ADDRESS] = CheatListView.Columns[ADDRESS].Width;
}
if (CheatListView.Columns[VALUE] != null)
{
Global.Config.CheatsColumnIndices[VALUE] = CheatListView.Columns[VALUE].DisplayIndex;
Global.Config.CheatsColumnWidths[VALUE] = CheatListView.Columns[VALUE].Width;
}
if (CheatListView.Columns[COMPARE] != null)
{
Global.Config.CheatsColumnIndices[COMPARE] = CheatListView.Columns[COMPARE].DisplayIndex;
Global.Config.CheatsColumnWidths[COMPARE] = CheatListView.Columns[COMPARE].Width;
}
if (CheatListView.Columns[ON] != null)
{
Global.Config.CheatsColumnIndices[ON] = CheatListView.Columns[ON].DisplayIndex;
Global.Config.CheatsColumnWidths[ON] = CheatListView.Columns[ON].Width;
}
if (CheatListView.Columns[DOMAIN] != null)
{
Global.Config.CheatsColumnIndices[DOMAIN] = CheatListView.Columns[DOMAIN].DisplayIndex;
Global.Config.CheatsColumnWidths[DOMAIN] = CheatListView.Columns[DOMAIN].Width;
}
if (CheatListView.Columns[SIZE] != null)
{
Global.Config.CheatsColumnIndices[SIZE] = CheatListView.Columns[SIZE].DisplayIndex;
Global.Config.CheatsColumnWidths[SIZE] = CheatListView.Columns[SIZE].Width;
}
if (CheatListView.Columns[ENDIAN] != null)
{
Global.Config.CheatsColumnIndices[ENDIAN] = CheatListView.Columns[ENDIAN].DisplayIndex;
Global.Config.CheatsColumnWidths[ENDIAN] = CheatListView.Columns[ENDIAN].Width;
}
if (CheatListView.Columns[TYPE] != null)
{
Global.Config.CheatsColumnIndices[TYPE] = CheatListView.Columns[TYPE].DisplayIndex;
Global.Config.CheatsColumnWidths[TYPE] = CheatListView.Columns[TYPE].Width;
}
}
private void DoColumnToggle(string column)
{
Global.Config.CheatsColumnShow[column] ^= true;
SaveColumnInfo();
LoadColumnInfo();
}
#region Events
#region File
@ -396,6 +479,34 @@ namespace BizHawk.MultiClient
SaveMenuItem.Enabled = Global.CheatList2.Changes;
}
private void RecentSubMenu_DropDownOpened(object sender, EventArgs e)
{
RecentSubMenu.DropDownItems.Clear();
RecentSubMenu.DropDownItems.AddRange(Global.Config.RecentCheats.GenerateRecentMenu(LoadFileFromRecent));
}
private void NewMenuItem_Click(object sender, EventArgs e)
{
bool result = true;
if (Global.CheatList2.Changes)
{
result = AskSave();
}
if (result)
{
Global.CheatList2.NewList();
UpdateListView();
UpdateMessageLabel();
}
}
private void OpenMenuItem_Click(object sender, EventArgs e)
{
bool append = sender == AppendMenuItem;
LoadFile(NewCheatList.GetFileFromUser(Global.CheatList2.CurrentFileName), append);
}
private void SaveMenuItem_Click(object sender, EventArgs e)
{
if (Global.CheatList2.Changes)
@ -419,18 +530,6 @@ namespace BizHawk.MultiClient
}
}
private void RecentSubMenu_DropDownOpened(object sender, EventArgs e)
{
RecentSubMenu.DropDownItems.Clear();
RecentSubMenu.DropDownItems.AddRange(Global.Config.RecentCheats.GenerateRecentMenu(LoadFileFromRecent));
}
private void OpenMenuItem_Click(object sender, EventArgs e)
{
bool append = sender == AppendMenuItem;
LoadFile(NewCheatList.GetFileFromUser(Global.CheatList2.CurrentFileName), append);
}
private void ExitMenuItem_Click(object sender, EventArgs e)
{
Close();
@ -533,8 +632,19 @@ namespace BizHawk.MultiClient
private void OptionsSubMenu_DropDownOpened(object sender, EventArgs e)
{
AlwaysOnTopMenuItem.Checked = Global.Config.CheatsAlwaysOnTop;
DisableCheatsOnLoadMenuItem.Checked = Global.Config.DisableCheatsOnLoad;
AutoloadMenuItem.Checked = Global.Config.RecentCheats.AutoLoad;
SaveWindowPositionMenuItem.Checked = Global.Config.CheatsSaveWindowPosition;
AlwaysOnTopMenuItem.Checked = Global.Config.CheatsAlwaysOnTop;
}
private void CheatsOnOffLoadMenuItem_Click(object sender, EventArgs e)
{
Global.Config.DisableCheatsOnLoad ^= true;
}
private void AutoloadMenuItem_Click(object sender, EventArgs e)
{
Global.Config.RecentCheats.AutoLoad ^= true;
}
private void SaveWindowPositionMenuItem_Click(object sender, EventArgs e)
@ -547,13 +657,115 @@ namespace BizHawk.MultiClient
Global.Config.CheatsAlwaysOnTop ^= true;
}
private void RestoreWindowSizeMenuItem_Click(object sender, EventArgs e)
{
Size = new Size(defaultWidth, defaultHeight);
Global.Config.CheatsSaveWindowPosition = true;
Global.Config.CheatsAlwaysOnTop = TopMost = false;
Global.Config.DisableCheatsOnLoad = false;
Global.Config.CheatsColumnIndices = new Dictionary<string, int>
{
{ "NamesColumn", 0 },
{ "AddressColumn", 1 },
{ "ValueColumn", 2 },
{ "CompareColumn", 3 },
{ "OnColumn", 4 },
{ "DomainColumn", 5 },
{ "SizeColumn", 6 },
{ "EndianColumn", 7 },
{ "DisplayTypeColumn", 8 },
};
Global.Config.CheatsColumnIndices = new Dictionary<string, int>
{
{ "NamesColumn", 0 },
{ "AddressColumn", 1 },
{ "ValueColumn", 2 },
{ "CompareColumn", 3 },
{ "OnColumn", 4 },
{ "DomainColumn", 5 },
{ "SizeColumn", 6 },
{ "EndianColumn", 7 },
{ "DisplayTypeColumn", 8 },
};
Global.Config.CheatsColumnShow = new Dictionary<string, bool>()
{
{ "NamesColumn", true },
{ "AddressColumn", true },
{ "ValueColumn", true },
{ "CompareColumn", true },
{ "OnColumn", true },
{ "DomainColumn", true },
{ "SizeColumn", true },
{ "EndianColumn", false },
{ "DisplayTypeColumn", false },
};
LoadColumnInfo();
}
#endregion
#region Columns
private void ColumnsSubMenu_DropDownOpened(object sender, EventArgs e)
{
ShowNameMenuItem.Checked = Global.Config.CheatsColumnShow[NAME];
ShowAddressMenuItem.Checked = Global.Config.CheatsColumnShow[ADDRESS];
ShowValueMenuItem.Checked = Global.Config.CheatsColumnShow[VALUE];
ShowCompareMenuItem.Checked = Global.Config.CheatsColumnShow[COMPARE];
ShowOnMenuItem.Checked = Global.Config.CheatsColumnShow[ON];
ShowDomainMenuItem.Checked = Global.Config.CheatsColumnShow[DOMAIN];
ShowSizeMenuItem.Checked = Global.Config.CheatsColumnShow[SIZE];
ShowEndianMenuItem.Checked = Global.Config.CheatsColumnShow[ENDIAN];
ShowDisplayTypeMenuItem.Checked = Global.Config.CheatsColumnShow[TYPE];
}
private void ShowNameMenuItem_Click(object sender, EventArgs e)
{
DoColumnToggle(NAME);
}
private void ShowAddressMenuItem_Click(object sender, EventArgs e)
{
DoColumnToggle(ADDRESS);
}
private void ShowValueMenuItem_Click(object sender, EventArgs e)
{
DoColumnToggle(VALUE);
}
private void ShowCompareMenuItem_Click(object sender, EventArgs e)
{
DoColumnToggle(COMPARE);
}
private void ShowOnMenuItem_Click(object sender, EventArgs e)
{
DoColumnToggle(ON);
}
private void ShowDomainMenuItem_Click(object sender, EventArgs e)
{
DoColumnToggle(DOMAIN);
}
private void ShowSizeMenuItem_Click(object sender, EventArgs e)
{
DoColumnToggle(SIZE);
}
private void ShowEndianMenuItem_Click(object sender, EventArgs e)
{
DoColumnToggle(ENDIAN);
}
private void ShowDisplayTypeMenuItem_Click(object sender, EventArgs e)
{
DoColumnToggle(TYPE);
}
#endregion

View File

@ -117,6 +117,9 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="contextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>339, 17</value>
</metadata>
<metadata name="CheatsMenu.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>