SNES Game Genie dialog - Always on Top, Floating Window, refactor
This commit is contained in:
parent
239ce987da
commit
791a4d655b
|
@ -467,10 +467,8 @@ namespace BizHawk.Client.Common
|
|||
public bool NESGGAutoload = false;
|
||||
|
||||
// SNES Game Genie Encoder/Decoder
|
||||
public ToolDialogSettings SnesGGSettings = new ToolDialogSettings();
|
||||
public bool SNESGGAutoload = false;
|
||||
public bool SNESGGSaveWindowPosition = true;
|
||||
public int SNESGGWndx = -1;
|
||||
public int SNESGGWndy = -1;
|
||||
|
||||
// GB/GG Game Genie Encoder/Decoder
|
||||
public ToolDialogSettings GbGGSettings = new ToolDialogSettings();
|
||||
|
|
|
@ -28,460 +28,478 @@
|
|||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.GameGenieCodeBox = new System.Windows.Forms.GroupBox();
|
||||
this.GGCodeMaskBox = new System.Windows.Forms.MaskedTextBox();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.ValueBox = new BizHawk.Client.EmuHawk.HexTextBox();
|
||||
this.AddressBox = new BizHawk.Client.EmuHawk.HexTextBox();
|
||||
this.addcheatbt = new System.Windows.Forms.Button();
|
||||
this.ButtonPanel = new System.Windows.Forms.Panel();
|
||||
this.BF = new System.Windows.Forms.Button();
|
||||
this.BD = new System.Windows.Forms.Button();
|
||||
this.BB = new System.Windows.Forms.Button();
|
||||
this.B9 = new System.Windows.Forms.Button();
|
||||
this.B7 = new System.Windows.Forms.Button();
|
||||
this.B5 = new System.Windows.Forms.Button();
|
||||
this.B3 = new System.Windows.Forms.Button();
|
||||
this.BE = new System.Windows.Forms.Button();
|
||||
this.B6 = new System.Windows.Forms.Button();
|
||||
this.B1 = new System.Windows.Forms.Button();
|
||||
this.BC = new System.Windows.Forms.Button();
|
||||
this.BA = new System.Windows.Forms.Button();
|
||||
this.B8 = new System.Windows.Forms.Button();
|
||||
this.B4 = new System.Windows.Forms.Button();
|
||||
this.B2 = new System.Windows.Forms.Button();
|
||||
this.B0 = new System.Windows.Forms.Button();
|
||||
this.groupBox1 = new System.Windows.Forms.GroupBox();
|
||||
this.label6 = new System.Windows.Forms.Label();
|
||||
this.label4 = new System.Windows.Forms.Label();
|
||||
this.ClearButton = new System.Windows.Forms.Button();
|
||||
this.menuStrip1 = new MenuStripEx();
|
||||
this.optionsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.autoloadToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.saveWindowPositionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.groupBox2 = new System.Windows.Forms.GroupBox();
|
||||
this.cheatname = new System.Windows.Forms.TextBox();
|
||||
this.GameGenieCodeBox.SuspendLayout();
|
||||
this.ButtonPanel.SuspendLayout();
|
||||
this.groupBox1.SuspendLayout();
|
||||
this.menuStrip1.SuspendLayout();
|
||||
this.groupBox2.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// GameGenieCodeBox
|
||||
//
|
||||
this.GameGenieCodeBox.Controls.Add(this.GGCodeMaskBox);
|
||||
this.GameGenieCodeBox.Location = new System.Drawing.Point(31, 103);
|
||||
this.GameGenieCodeBox.Name = "GameGenieCodeBox";
|
||||
this.GameGenieCodeBox.Size = new System.Drawing.Size(118, 54);
|
||||
this.GameGenieCodeBox.TabIndex = 1;
|
||||
this.GameGenieCodeBox.TabStop = false;
|
||||
this.GameGenieCodeBox.Text = "Game Genie Code";
|
||||
//
|
||||
// GGCodeMaskBox
|
||||
//
|
||||
this.GGCodeMaskBox.Location = new System.Drawing.Point(25, 26);
|
||||
this.GGCodeMaskBox.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.GGCodeMaskBox.Mask = ">AAAA-AAAA";
|
||||
this.GGCodeMaskBox.Name = "GGCodeMaskBox";
|
||||
this.GGCodeMaskBox.Size = new System.Drawing.Size(75, 20);
|
||||
this.GGCodeMaskBox.TabIndex = 10;
|
||||
this.GGCodeMaskBox.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
|
||||
this.GGCodeMaskBox.TextMaskFormat = System.Windows.Forms.MaskFormat.ExcludePromptAndLiterals;
|
||||
this.GGCodeMaskBox.TextChanged += new System.EventHandler(this.GGCodeMaskBox_TextChanged);
|
||||
this.GGCodeMaskBox.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.GGCodeMaskBox_KeyPress);
|
||||
//
|
||||
// label3
|
||||
//
|
||||
this.label3.AutoSize = true;
|
||||
this.label3.Location = new System.Drawing.Point(8, 54);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(34, 13);
|
||||
this.label3.TabIndex = 5;
|
||||
this.label3.Text = "Value";
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(8, 22);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(45, 13);
|
||||
this.label1.TabIndex = 3;
|
||||
this.label1.Text = "Address";
|
||||
//
|
||||
// ValueBox
|
||||
//
|
||||
this.ValueBox.CharacterCasing = System.Windows.Forms.CharacterCasing.Upper;
|
||||
this.ValueBox.Location = new System.Drawing.Point(105, 50);
|
||||
this.ValueBox.MaxLength = 2;
|
||||
this.ValueBox.Name = "ValueBox";
|
||||
this.ValueBox.Nullable = true;
|
||||
this.ValueBox.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
|
||||
this.ValueBox.Size = new System.Drawing.Size(27, 20);
|
||||
this.ValueBox.TabIndex = 23;
|
||||
this.ValueBox.TextChanged += new System.EventHandler(this.ValueBox_TextChanged);
|
||||
//
|
||||
// AddressBox
|
||||
//
|
||||
this.AddressBox.CharacterCasing = System.Windows.Forms.CharacterCasing.Upper;
|
||||
this.AddressBox.Location = new System.Drawing.Point(75, 19);
|
||||
this.AddressBox.MaxLength = 6;
|
||||
this.AddressBox.Name = "AddressBox";
|
||||
this.AddressBox.Nullable = true;
|
||||
this.AddressBox.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
|
||||
this.AddressBox.Size = new System.Drawing.Size(57, 20);
|
||||
this.AddressBox.TabIndex = 21;
|
||||
this.AddressBox.TextChanged += new System.EventHandler(this.AddressBox_TextChanged);
|
||||
//
|
||||
// addcheatbt
|
||||
//
|
||||
this.addcheatbt.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.addcheatbt.Enabled = false;
|
||||
this.addcheatbt.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.addcheatbt.Location = new System.Drawing.Point(85, 163);
|
||||
this.addcheatbt.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.addcheatbt.Name = "addcheatbt";
|
||||
this.addcheatbt.Size = new System.Drawing.Size(65, 26);
|
||||
this.addcheatbt.TabIndex = 33;
|
||||
this.addcheatbt.Text = "&Add Cheat";
|
||||
this.addcheatbt.UseVisualStyleBackColor = true;
|
||||
this.addcheatbt.Click += new System.EventHandler(this.AddCheat_Click);
|
||||
//
|
||||
// ButtonPanel
|
||||
//
|
||||
this.ButtonPanel.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
|
||||
this.ButtonPanel.Controls.Add(this.BF);
|
||||
this.ButtonPanel.Controls.Add(this.BD);
|
||||
this.ButtonPanel.Controls.Add(this.BB);
|
||||
this.ButtonPanel.Controls.Add(this.B9);
|
||||
this.ButtonPanel.Controls.Add(this.B7);
|
||||
this.ButtonPanel.Controls.Add(this.B5);
|
||||
this.ButtonPanel.Controls.Add(this.B3);
|
||||
this.ButtonPanel.Controls.Add(this.BE);
|
||||
this.ButtonPanel.Controls.Add(this.B6);
|
||||
this.ButtonPanel.Controls.Add(this.B1);
|
||||
this.ButtonPanel.Controls.Add(this.BC);
|
||||
this.ButtonPanel.Controls.Add(this.BA);
|
||||
this.ButtonPanel.Controls.Add(this.B8);
|
||||
this.ButtonPanel.Controls.Add(this.B4);
|
||||
this.ButtonPanel.Controls.Add(this.B2);
|
||||
this.ButtonPanel.Controls.Add(this.B0);
|
||||
this.ButtonPanel.Location = new System.Drawing.Point(35, 30);
|
||||
this.ButtonPanel.Name = "ButtonPanel";
|
||||
this.ButtonPanel.Size = new System.Drawing.Size(240, 67);
|
||||
this.ButtonPanel.TabIndex = 4;
|
||||
//
|
||||
// BF
|
||||
//
|
||||
this.BF.Location = new System.Drawing.Point(206, 35);
|
||||
this.BF.Name = "BF";
|
||||
this.BF.Size = new System.Drawing.Size(26, 23);
|
||||
this.BF.TabIndex = 16;
|
||||
this.BF.Text = "F";
|
||||
this.BF.UseVisualStyleBackColor = true;
|
||||
this.BF.Click += new System.EventHandler(this.Keypad_Click);
|
||||
//
|
||||
// BD
|
||||
//
|
||||
this.BD.Location = new System.Drawing.Point(149, 35);
|
||||
this.BD.Name = "BD";
|
||||
this.BD.Size = new System.Drawing.Size(26, 23);
|
||||
this.BD.TabIndex = 14;
|
||||
this.BD.Text = "D";
|
||||
this.BD.UseVisualStyleBackColor = true;
|
||||
this.BD.Click += new System.EventHandler(this.Keypad_Click);
|
||||
//
|
||||
// BB
|
||||
//
|
||||
this.BB.Location = new System.Drawing.Point(91, 35);
|
||||
this.BB.Name = "BB";
|
||||
this.BB.Size = new System.Drawing.Size(26, 23);
|
||||
this.BB.TabIndex = 12;
|
||||
this.BB.Text = "B";
|
||||
this.BB.UseVisualStyleBackColor = true;
|
||||
this.BB.Click += new System.EventHandler(this.Keypad_Click);
|
||||
//
|
||||
// B9
|
||||
//
|
||||
this.B9.Location = new System.Drawing.Point(34, 35);
|
||||
this.B9.Name = "B9";
|
||||
this.B9.Size = new System.Drawing.Size(26, 23);
|
||||
this.B9.TabIndex = 10;
|
||||
this.B9.Text = "9";
|
||||
this.B9.UseVisualStyleBackColor = true;
|
||||
this.B9.Click += new System.EventHandler(this.Keypad_Click);
|
||||
//
|
||||
// B7
|
||||
//
|
||||
this.B7.Location = new System.Drawing.Point(206, 5);
|
||||
this.B7.Name = "B7";
|
||||
this.B7.Size = new System.Drawing.Size(26, 23);
|
||||
this.B7.TabIndex = 8;
|
||||
this.B7.Text = "7";
|
||||
this.B7.UseVisualStyleBackColor = true;
|
||||
this.B7.Click += new System.EventHandler(this.Keypad_Click);
|
||||
//
|
||||
// B5
|
||||
//
|
||||
this.B5.Location = new System.Drawing.Point(149, 6);
|
||||
this.B5.Name = "B5";
|
||||
this.B5.Size = new System.Drawing.Size(26, 23);
|
||||
this.B5.TabIndex = 6;
|
||||
this.B5.Text = "5";
|
||||
this.B5.UseVisualStyleBackColor = true;
|
||||
this.B5.Click += new System.EventHandler(this.Keypad_Click);
|
||||
//
|
||||
// B3
|
||||
//
|
||||
this.B3.Location = new System.Drawing.Point(91, 6);
|
||||
this.B3.Name = "B3";
|
||||
this.B3.Size = new System.Drawing.Size(26, 23);
|
||||
this.B3.TabIndex = 4;
|
||||
this.B3.Text = "3";
|
||||
this.B3.UseVisualStyleBackColor = true;
|
||||
this.B3.Click += new System.EventHandler(this.Keypad_Click);
|
||||
//
|
||||
// BE
|
||||
//
|
||||
this.BE.Location = new System.Drawing.Point(178, 35);
|
||||
this.BE.Name = "BE";
|
||||
this.BE.Size = new System.Drawing.Size(26, 23);
|
||||
this.BE.TabIndex = 15;
|
||||
this.BE.Text = "E";
|
||||
this.BE.UseVisualStyleBackColor = true;
|
||||
this.BE.Click += new System.EventHandler(this.Keypad_Click);
|
||||
//
|
||||
// B6
|
||||
//
|
||||
this.B6.Location = new System.Drawing.Point(178, 5);
|
||||
this.B6.Name = "B6";
|
||||
this.B6.Size = new System.Drawing.Size(26, 23);
|
||||
this.B6.TabIndex = 7;
|
||||
this.B6.Text = "6";
|
||||
this.B6.UseVisualStyleBackColor = true;
|
||||
this.B6.Click += new System.EventHandler(this.Keypad_Click);
|
||||
//
|
||||
// B1
|
||||
//
|
||||
this.B1.Location = new System.Drawing.Point(34, 6);
|
||||
this.B1.Name = "B1";
|
||||
this.B1.Size = new System.Drawing.Size(26, 23);
|
||||
this.B1.TabIndex = 2;
|
||||
this.B1.Text = "1";
|
||||
this.B1.UseVisualStyleBackColor = true;
|
||||
this.B1.Click += new System.EventHandler(this.Keypad_Click);
|
||||
//
|
||||
// BC
|
||||
//
|
||||
this.BC.Location = new System.Drawing.Point(121, 35);
|
||||
this.BC.Name = "BC";
|
||||
this.BC.Size = new System.Drawing.Size(26, 23);
|
||||
this.BC.TabIndex = 13;
|
||||
this.BC.Text = "C";
|
||||
this.BC.UseVisualStyleBackColor = true;
|
||||
this.BC.Click += new System.EventHandler(this.Keypad_Click);
|
||||
//
|
||||
// BA
|
||||
//
|
||||
this.BA.Location = new System.Drawing.Point(63, 35);
|
||||
this.BA.Name = "BA";
|
||||
this.BA.Size = new System.Drawing.Size(26, 23);
|
||||
this.BA.TabIndex = 11;
|
||||
this.BA.Text = "A";
|
||||
this.BA.UseVisualStyleBackColor = true;
|
||||
this.BA.Click += new System.EventHandler(this.Keypad_Click);
|
||||
//
|
||||
// B8
|
||||
//
|
||||
this.B8.Location = new System.Drawing.Point(6, 35);
|
||||
this.B8.Name = "B8";
|
||||
this.B8.Size = new System.Drawing.Size(26, 23);
|
||||
this.B8.TabIndex = 9;
|
||||
this.B8.Text = "8";
|
||||
this.B8.UseVisualStyleBackColor = true;
|
||||
this.B8.Click += new System.EventHandler(this.Keypad_Click);
|
||||
//
|
||||
// B4
|
||||
//
|
||||
this.B4.Location = new System.Drawing.Point(121, 6);
|
||||
this.B4.Name = "B4";
|
||||
this.B4.Size = new System.Drawing.Size(26, 23);
|
||||
this.B4.TabIndex = 5;
|
||||
this.B4.Text = "4";
|
||||
this.B4.UseVisualStyleBackColor = true;
|
||||
this.B4.Click += new System.EventHandler(this.Keypad_Click);
|
||||
//
|
||||
// B2
|
||||
//
|
||||
this.B2.Location = new System.Drawing.Point(63, 6);
|
||||
this.B2.Name = "B2";
|
||||
this.B2.Size = new System.Drawing.Size(26, 23);
|
||||
this.B2.TabIndex = 3;
|
||||
this.B2.Text = "2";
|
||||
this.B2.UseVisualStyleBackColor = true;
|
||||
this.B2.Click += new System.EventHandler(this.Keypad_Click);
|
||||
//
|
||||
// B0
|
||||
//
|
||||
this.B0.Location = new System.Drawing.Point(6, 5);
|
||||
this.B0.Name = "B0";
|
||||
this.B0.Size = new System.Drawing.Size(26, 23);
|
||||
this.B0.TabIndex = 1;
|
||||
this.B0.Text = "0";
|
||||
this.B0.UseVisualStyleBackColor = true;
|
||||
this.B0.Click += new System.EventHandler(this.Keypad_Click);
|
||||
//
|
||||
// groupBox1
|
||||
//
|
||||
this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.groupBox1.Controls.Add(this.label6);
|
||||
this.groupBox1.Controls.Add(this.label4);
|
||||
this.groupBox1.Controls.Add(this.label3);
|
||||
this.groupBox1.Controls.Add(this.label1);
|
||||
this.groupBox1.Controls.Add(this.AddressBox);
|
||||
this.groupBox1.Controls.Add(this.ValueBox);
|
||||
this.groupBox1.Location = new System.Drawing.Point(155, 103);
|
||||
this.groupBox1.Name = "groupBox1";
|
||||
this.groupBox1.Size = new System.Drawing.Size(137, 82);
|
||||
this.groupBox1.TabIndex = 5;
|
||||
this.groupBox1.TabStop = false;
|
||||
this.groupBox1.Text = "Decoded Value";
|
||||
//
|
||||
// label6
|
||||
//
|
||||
this.label6.AutoSize = true;
|
||||
this.label6.Location = new System.Drawing.Point(87, 54);
|
||||
this.label6.Name = "label6";
|
||||
this.label6.Size = new System.Drawing.Size(18, 13);
|
||||
this.label6.TabIndex = 9;
|
||||
this.label6.Text = "0x";
|
||||
//
|
||||
// label4
|
||||
//
|
||||
this.label4.AutoSize = true;
|
||||
this.label4.Location = new System.Drawing.Point(57, 22);
|
||||
this.label4.Name = "label4";
|
||||
this.label4.Size = new System.Drawing.Size(18, 13);
|
||||
this.label4.TabIndex = 7;
|
||||
this.label4.Text = "0x";
|
||||
//
|
||||
// ClearButton
|
||||
//
|
||||
this.ClearButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.ClearButton.Location = new System.Drawing.Point(31, 163);
|
||||
this.ClearButton.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.ClearButton.Name = "ClearButton";
|
||||
this.ClearButton.Size = new System.Drawing.Size(52, 26);
|
||||
this.ClearButton.TabIndex = 32;
|
||||
this.ClearButton.Text = "&Clear";
|
||||
this.ClearButton.UseVisualStyleBackColor = true;
|
||||
this.ClearButton.Click += new System.EventHandler(this.ClearButton_Click);
|
||||
//
|
||||
// menuStrip1
|
||||
//
|
||||
this.menuStrip1.ClickThrough = true;
|
||||
this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.optionsToolStripMenuItem});
|
||||
this.menuStrip1.Location = new System.Drawing.Point(0, 0);
|
||||
this.menuStrip1.Name = "menuStrip1";
|
||||
this.menuStrip1.Size = new System.Drawing.Size(302, 24);
|
||||
this.menuStrip1.TabIndex = 8;
|
||||
this.menuStrip1.Text = "menuStrip1";
|
||||
//
|
||||
// optionsToolStripMenuItem
|
||||
//
|
||||
this.optionsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.autoloadToolStripMenuItem,
|
||||
this.saveWindowPositionToolStripMenuItem,
|
||||
this.GameGenieCodeBox = new System.Windows.Forms.GroupBox();
|
||||
this.GGCodeMaskBox = new System.Windows.Forms.MaskedTextBox();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.ValueBox = new BizHawk.Client.EmuHawk.HexTextBox();
|
||||
this.AddressBox = new BizHawk.Client.EmuHawk.HexTextBox();
|
||||
this.addcheatbt = new System.Windows.Forms.Button();
|
||||
this.ButtonPanel = new System.Windows.Forms.Panel();
|
||||
this.BF = new System.Windows.Forms.Button();
|
||||
this.BD = new System.Windows.Forms.Button();
|
||||
this.BB = new System.Windows.Forms.Button();
|
||||
this.B9 = new System.Windows.Forms.Button();
|
||||
this.B7 = new System.Windows.Forms.Button();
|
||||
this.B5 = new System.Windows.Forms.Button();
|
||||
this.B3 = new System.Windows.Forms.Button();
|
||||
this.BE = new System.Windows.Forms.Button();
|
||||
this.B6 = new System.Windows.Forms.Button();
|
||||
this.B1 = new System.Windows.Forms.Button();
|
||||
this.BC = new System.Windows.Forms.Button();
|
||||
this.BA = new System.Windows.Forms.Button();
|
||||
this.B8 = new System.Windows.Forms.Button();
|
||||
this.B4 = new System.Windows.Forms.Button();
|
||||
this.B2 = new System.Windows.Forms.Button();
|
||||
this.B0 = new System.Windows.Forms.Button();
|
||||
this.groupBox1 = new System.Windows.Forms.GroupBox();
|
||||
this.label6 = new System.Windows.Forms.Label();
|
||||
this.label4 = new System.Windows.Forms.Label();
|
||||
this.ClearButton = new System.Windows.Forms.Button();
|
||||
this.menuStrip1 = new MenuStripEx();
|
||||
this.OptionsSubMenu = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.AutoloadMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.SaveWindowPositionMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.ExitMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.groupBox2 = new System.Windows.Forms.GroupBox();
|
||||
this.CheatNameBox = new System.Windows.Forms.TextBox();
|
||||
this.AlwaysOnTopMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.FloatingWindowMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.GameGenieCodeBox.SuspendLayout();
|
||||
this.ButtonPanel.SuspendLayout();
|
||||
this.groupBox1.SuspendLayout();
|
||||
this.menuStrip1.SuspendLayout();
|
||||
this.groupBox2.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// GameGenieCodeBox
|
||||
//
|
||||
this.GameGenieCodeBox.Controls.Add(this.GGCodeMaskBox);
|
||||
this.GameGenieCodeBox.Location = new System.Drawing.Point(31, 103);
|
||||
this.GameGenieCodeBox.Name = "GameGenieCodeBox";
|
||||
this.GameGenieCodeBox.Size = new System.Drawing.Size(118, 54);
|
||||
this.GameGenieCodeBox.TabIndex = 1;
|
||||
this.GameGenieCodeBox.TabStop = false;
|
||||
this.GameGenieCodeBox.Text = "Game Genie Code";
|
||||
//
|
||||
// GGCodeMaskBox
|
||||
//
|
||||
this.GGCodeMaskBox.Location = new System.Drawing.Point(25, 26);
|
||||
this.GGCodeMaskBox.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.GGCodeMaskBox.Mask = ">AAAA-AAAA";
|
||||
this.GGCodeMaskBox.Name = "GGCodeMaskBox";
|
||||
this.GGCodeMaskBox.Size = new System.Drawing.Size(75, 20);
|
||||
this.GGCodeMaskBox.TabIndex = 10;
|
||||
this.GGCodeMaskBox.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
|
||||
this.GGCodeMaskBox.TextMaskFormat = System.Windows.Forms.MaskFormat.ExcludePromptAndLiterals;
|
||||
this.GGCodeMaskBox.TextChanged += new System.EventHandler(this.GGCodeMaskBox_TextChanged);
|
||||
//
|
||||
// label3
|
||||
//
|
||||
this.label3.AutoSize = true;
|
||||
this.label3.Location = new System.Drawing.Point(8, 54);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(34, 13);
|
||||
this.label3.TabIndex = 5;
|
||||
this.label3.Text = "Value";
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(8, 22);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(45, 13);
|
||||
this.label1.TabIndex = 3;
|
||||
this.label1.Text = "Address";
|
||||
//
|
||||
// ValueBox
|
||||
//
|
||||
this.ValueBox.CharacterCasing = System.Windows.Forms.CharacterCasing.Upper;
|
||||
this.ValueBox.Location = new System.Drawing.Point(105, 50);
|
||||
this.ValueBox.MaxLength = 2;
|
||||
this.ValueBox.Name = "ValueBox";
|
||||
this.ValueBox.Nullable = true;
|
||||
this.ValueBox.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
|
||||
this.ValueBox.Size = new System.Drawing.Size(27, 20);
|
||||
this.ValueBox.TabIndex = 23;
|
||||
this.ValueBox.TextChanged += new System.EventHandler(this.ValueBox_TextChanged);
|
||||
//
|
||||
// AddressBox
|
||||
//
|
||||
this.AddressBox.CharacterCasing = System.Windows.Forms.CharacterCasing.Upper;
|
||||
this.AddressBox.Location = new System.Drawing.Point(75, 19);
|
||||
this.AddressBox.MaxLength = 6;
|
||||
this.AddressBox.Name = "AddressBox";
|
||||
this.AddressBox.Nullable = true;
|
||||
this.AddressBox.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
|
||||
this.AddressBox.Size = new System.Drawing.Size(57, 20);
|
||||
this.AddressBox.TabIndex = 21;
|
||||
this.AddressBox.TextChanged += new System.EventHandler(this.AddressBox_TextChanged);
|
||||
//
|
||||
// addcheatbt
|
||||
//
|
||||
this.addcheatbt.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.addcheatbt.Enabled = false;
|
||||
this.addcheatbt.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.addcheatbt.Location = new System.Drawing.Point(85, 163);
|
||||
this.addcheatbt.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.addcheatbt.Name = "addcheatbt";
|
||||
this.addcheatbt.Size = new System.Drawing.Size(65, 26);
|
||||
this.addcheatbt.TabIndex = 33;
|
||||
this.addcheatbt.Text = "&Add Cheat";
|
||||
this.addcheatbt.UseVisualStyleBackColor = true;
|
||||
this.addcheatbt.Click += new System.EventHandler(this.AddCheat_Click);
|
||||
//
|
||||
// ButtonPanel
|
||||
//
|
||||
this.ButtonPanel.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
|
||||
this.ButtonPanel.Controls.Add(this.BF);
|
||||
this.ButtonPanel.Controls.Add(this.BD);
|
||||
this.ButtonPanel.Controls.Add(this.BB);
|
||||
this.ButtonPanel.Controls.Add(this.B9);
|
||||
this.ButtonPanel.Controls.Add(this.B7);
|
||||
this.ButtonPanel.Controls.Add(this.B5);
|
||||
this.ButtonPanel.Controls.Add(this.B3);
|
||||
this.ButtonPanel.Controls.Add(this.BE);
|
||||
this.ButtonPanel.Controls.Add(this.B6);
|
||||
this.ButtonPanel.Controls.Add(this.B1);
|
||||
this.ButtonPanel.Controls.Add(this.BC);
|
||||
this.ButtonPanel.Controls.Add(this.BA);
|
||||
this.ButtonPanel.Controls.Add(this.B8);
|
||||
this.ButtonPanel.Controls.Add(this.B4);
|
||||
this.ButtonPanel.Controls.Add(this.B2);
|
||||
this.ButtonPanel.Controls.Add(this.B0);
|
||||
this.ButtonPanel.Location = new System.Drawing.Point(35, 30);
|
||||
this.ButtonPanel.Name = "ButtonPanel";
|
||||
this.ButtonPanel.Size = new System.Drawing.Size(240, 67);
|
||||
this.ButtonPanel.TabIndex = 4;
|
||||
//
|
||||
// BF
|
||||
//
|
||||
this.BF.Location = new System.Drawing.Point(206, 35);
|
||||
this.BF.Name = "BF";
|
||||
this.BF.Size = new System.Drawing.Size(26, 23);
|
||||
this.BF.TabIndex = 16;
|
||||
this.BF.Text = "F";
|
||||
this.BF.UseVisualStyleBackColor = true;
|
||||
this.BF.Click += new System.EventHandler(this.Keypad_Click);
|
||||
//
|
||||
// BD
|
||||
//
|
||||
this.BD.Location = new System.Drawing.Point(149, 35);
|
||||
this.BD.Name = "BD";
|
||||
this.BD.Size = new System.Drawing.Size(26, 23);
|
||||
this.BD.TabIndex = 14;
|
||||
this.BD.Text = "D";
|
||||
this.BD.UseVisualStyleBackColor = true;
|
||||
this.BD.Click += new System.EventHandler(this.Keypad_Click);
|
||||
//
|
||||
// BB
|
||||
//
|
||||
this.BB.Location = new System.Drawing.Point(91, 35);
|
||||
this.BB.Name = "BB";
|
||||
this.BB.Size = new System.Drawing.Size(26, 23);
|
||||
this.BB.TabIndex = 12;
|
||||
this.BB.Text = "B";
|
||||
this.BB.UseVisualStyleBackColor = true;
|
||||
this.BB.Click += new System.EventHandler(this.Keypad_Click);
|
||||
//
|
||||
// B9
|
||||
//
|
||||
this.B9.Location = new System.Drawing.Point(34, 35);
|
||||
this.B9.Name = "B9";
|
||||
this.B9.Size = new System.Drawing.Size(26, 23);
|
||||
this.B9.TabIndex = 10;
|
||||
this.B9.Text = "9";
|
||||
this.B9.UseVisualStyleBackColor = true;
|
||||
this.B9.Click += new System.EventHandler(this.Keypad_Click);
|
||||
//
|
||||
// B7
|
||||
//
|
||||
this.B7.Location = new System.Drawing.Point(206, 5);
|
||||
this.B7.Name = "B7";
|
||||
this.B7.Size = new System.Drawing.Size(26, 23);
|
||||
this.B7.TabIndex = 8;
|
||||
this.B7.Text = "7";
|
||||
this.B7.UseVisualStyleBackColor = true;
|
||||
this.B7.Click += new System.EventHandler(this.Keypad_Click);
|
||||
//
|
||||
// B5
|
||||
//
|
||||
this.B5.Location = new System.Drawing.Point(149, 6);
|
||||
this.B5.Name = "B5";
|
||||
this.B5.Size = new System.Drawing.Size(26, 23);
|
||||
this.B5.TabIndex = 6;
|
||||
this.B5.Text = "5";
|
||||
this.B5.UseVisualStyleBackColor = true;
|
||||
this.B5.Click += new System.EventHandler(this.Keypad_Click);
|
||||
//
|
||||
// B3
|
||||
//
|
||||
this.B3.Location = new System.Drawing.Point(91, 6);
|
||||
this.B3.Name = "B3";
|
||||
this.B3.Size = new System.Drawing.Size(26, 23);
|
||||
this.B3.TabIndex = 4;
|
||||
this.B3.Text = "3";
|
||||
this.B3.UseVisualStyleBackColor = true;
|
||||
this.B3.Click += new System.EventHandler(this.Keypad_Click);
|
||||
//
|
||||
// BE
|
||||
//
|
||||
this.BE.Location = new System.Drawing.Point(178, 35);
|
||||
this.BE.Name = "BE";
|
||||
this.BE.Size = new System.Drawing.Size(26, 23);
|
||||
this.BE.TabIndex = 15;
|
||||
this.BE.Text = "E";
|
||||
this.BE.UseVisualStyleBackColor = true;
|
||||
this.BE.Click += new System.EventHandler(this.Keypad_Click);
|
||||
//
|
||||
// B6
|
||||
//
|
||||
this.B6.Location = new System.Drawing.Point(178, 5);
|
||||
this.B6.Name = "B6";
|
||||
this.B6.Size = new System.Drawing.Size(26, 23);
|
||||
this.B6.TabIndex = 7;
|
||||
this.B6.Text = "6";
|
||||
this.B6.UseVisualStyleBackColor = true;
|
||||
this.B6.Click += new System.EventHandler(this.Keypad_Click);
|
||||
//
|
||||
// B1
|
||||
//
|
||||
this.B1.Location = new System.Drawing.Point(34, 6);
|
||||
this.B1.Name = "B1";
|
||||
this.B1.Size = new System.Drawing.Size(26, 23);
|
||||
this.B1.TabIndex = 2;
|
||||
this.B1.Text = "1";
|
||||
this.B1.UseVisualStyleBackColor = true;
|
||||
this.B1.Click += new System.EventHandler(this.Keypad_Click);
|
||||
//
|
||||
// BC
|
||||
//
|
||||
this.BC.Location = new System.Drawing.Point(121, 35);
|
||||
this.BC.Name = "BC";
|
||||
this.BC.Size = new System.Drawing.Size(26, 23);
|
||||
this.BC.TabIndex = 13;
|
||||
this.BC.Text = "C";
|
||||
this.BC.UseVisualStyleBackColor = true;
|
||||
this.BC.Click += new System.EventHandler(this.Keypad_Click);
|
||||
//
|
||||
// BA
|
||||
//
|
||||
this.BA.Location = new System.Drawing.Point(63, 35);
|
||||
this.BA.Name = "BA";
|
||||
this.BA.Size = new System.Drawing.Size(26, 23);
|
||||
this.BA.TabIndex = 11;
|
||||
this.BA.Text = "A";
|
||||
this.BA.UseVisualStyleBackColor = true;
|
||||
this.BA.Click += new System.EventHandler(this.Keypad_Click);
|
||||
//
|
||||
// B8
|
||||
//
|
||||
this.B8.Location = new System.Drawing.Point(6, 35);
|
||||
this.B8.Name = "B8";
|
||||
this.B8.Size = new System.Drawing.Size(26, 23);
|
||||
this.B8.TabIndex = 9;
|
||||
this.B8.Text = "8";
|
||||
this.B8.UseVisualStyleBackColor = true;
|
||||
this.B8.Click += new System.EventHandler(this.Keypad_Click);
|
||||
//
|
||||
// B4
|
||||
//
|
||||
this.B4.Location = new System.Drawing.Point(121, 6);
|
||||
this.B4.Name = "B4";
|
||||
this.B4.Size = new System.Drawing.Size(26, 23);
|
||||
this.B4.TabIndex = 5;
|
||||
this.B4.Text = "4";
|
||||
this.B4.UseVisualStyleBackColor = true;
|
||||
this.B4.Click += new System.EventHandler(this.Keypad_Click);
|
||||
//
|
||||
// B2
|
||||
//
|
||||
this.B2.Location = new System.Drawing.Point(63, 6);
|
||||
this.B2.Name = "B2";
|
||||
this.B2.Size = new System.Drawing.Size(26, 23);
|
||||
this.B2.TabIndex = 3;
|
||||
this.B2.Text = "2";
|
||||
this.B2.UseVisualStyleBackColor = true;
|
||||
this.B2.Click += new System.EventHandler(this.Keypad_Click);
|
||||
//
|
||||
// B0
|
||||
//
|
||||
this.B0.Location = new System.Drawing.Point(6, 5);
|
||||
this.B0.Name = "B0";
|
||||
this.B0.Size = new System.Drawing.Size(26, 23);
|
||||
this.B0.TabIndex = 1;
|
||||
this.B0.Text = "0";
|
||||
this.B0.UseVisualStyleBackColor = true;
|
||||
this.B0.Click += new System.EventHandler(this.Keypad_Click);
|
||||
//
|
||||
// groupBox1
|
||||
//
|
||||
this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.groupBox1.Controls.Add(this.label6);
|
||||
this.groupBox1.Controls.Add(this.label4);
|
||||
this.groupBox1.Controls.Add(this.label3);
|
||||
this.groupBox1.Controls.Add(this.label1);
|
||||
this.groupBox1.Controls.Add(this.AddressBox);
|
||||
this.groupBox1.Controls.Add(this.ValueBox);
|
||||
this.groupBox1.Location = new System.Drawing.Point(155, 103);
|
||||
this.groupBox1.Name = "groupBox1";
|
||||
this.groupBox1.Size = new System.Drawing.Size(137, 82);
|
||||
this.groupBox1.TabIndex = 5;
|
||||
this.groupBox1.TabStop = false;
|
||||
this.groupBox1.Text = "Decoded Value";
|
||||
//
|
||||
// label6
|
||||
//
|
||||
this.label6.AutoSize = true;
|
||||
this.label6.Location = new System.Drawing.Point(87, 54);
|
||||
this.label6.Name = "label6";
|
||||
this.label6.Size = new System.Drawing.Size(18, 13);
|
||||
this.label6.TabIndex = 9;
|
||||
this.label6.Text = "0x";
|
||||
//
|
||||
// label4
|
||||
//
|
||||
this.label4.AutoSize = true;
|
||||
this.label4.Location = new System.Drawing.Point(57, 22);
|
||||
this.label4.Name = "label4";
|
||||
this.label4.Size = new System.Drawing.Size(18, 13);
|
||||
this.label4.TabIndex = 7;
|
||||
this.label4.Text = "0x";
|
||||
//
|
||||
// ClearButton
|
||||
//
|
||||
this.ClearButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.ClearButton.Location = new System.Drawing.Point(31, 163);
|
||||
this.ClearButton.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.ClearButton.Name = "ClearButton";
|
||||
this.ClearButton.Size = new System.Drawing.Size(52, 26);
|
||||
this.ClearButton.TabIndex = 32;
|
||||
this.ClearButton.Text = "&Clear";
|
||||
this.ClearButton.UseVisualStyleBackColor = true;
|
||||
this.ClearButton.Click += new System.EventHandler(this.ClearButton_Click);
|
||||
//
|
||||
// menuStrip1
|
||||
//
|
||||
this.menuStrip1.ClickThrough = true;
|
||||
this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.OptionsSubMenu});
|
||||
this.menuStrip1.Location = new System.Drawing.Point(0, 0);
|
||||
this.menuStrip1.Name = "menuStrip1";
|
||||
this.menuStrip1.Size = new System.Drawing.Size(292, 24);
|
||||
this.menuStrip1.TabIndex = 8;
|
||||
this.menuStrip1.Text = "menuStrip1";
|
||||
//
|
||||
// OptionsSubMenu
|
||||
//
|
||||
this.OptionsSubMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.AutoloadMenuItem,
|
||||
this.SaveWindowPositionMenuItem,
|
||||
this.AlwaysOnTopMenuItem,
|
||||
this.FloatingWindowMenuItem,
|
||||
this.toolStripSeparator1,
|
||||
this.exitToolStripMenuItem});
|
||||
this.optionsToolStripMenuItem.Name = "optionsToolStripMenuItem";
|
||||
this.optionsToolStripMenuItem.Size = new System.Drawing.Size(61, 20);
|
||||
this.optionsToolStripMenuItem.Text = "&Options";
|
||||
this.optionsToolStripMenuItem.DropDownOpened += new System.EventHandler(this.optionsToolStripMenuItem_DropDownOpened);
|
||||
//
|
||||
// autoloadToolStripMenuItem
|
||||
//
|
||||
this.autoloadToolStripMenuItem.Name = "autoloadToolStripMenuItem";
|
||||
this.autoloadToolStripMenuItem.Size = new System.Drawing.Size(191, 22);
|
||||
this.autoloadToolStripMenuItem.Text = "Auto-load";
|
||||
this.autoloadToolStripMenuItem.Click += new System.EventHandler(this.autoloadToolStripMenuItem_Click);
|
||||
//
|
||||
// saveWindowPositionToolStripMenuItem
|
||||
//
|
||||
this.saveWindowPositionToolStripMenuItem.Name = "saveWindowPositionToolStripMenuItem";
|
||||
this.saveWindowPositionToolStripMenuItem.Size = new System.Drawing.Size(191, 22);
|
||||
this.saveWindowPositionToolStripMenuItem.Text = "Save Window Position";
|
||||
this.saveWindowPositionToolStripMenuItem.Click += new System.EventHandler(this.saveWindowPositionToolStripMenuItem_Click);
|
||||
//
|
||||
// toolStripSeparator1
|
||||
//
|
||||
this.toolStripSeparator1.Name = "toolStripSeparator1";
|
||||
this.toolStripSeparator1.Size = new System.Drawing.Size(188, 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(191, 22);
|
||||
this.exitToolStripMenuItem.Text = "E&xit";
|
||||
this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click);
|
||||
//
|
||||
// groupBox2
|
||||
//
|
||||
this.groupBox2.Controls.Add(this.cheatname);
|
||||
this.groupBox2.Location = new System.Drawing.Point(31, 197);
|
||||
this.groupBox2.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.groupBox2.Name = "groupBox2";
|
||||
this.groupBox2.Padding = new System.Windows.Forms.Padding(2);
|
||||
this.groupBox2.Size = new System.Drawing.Size(262, 50);
|
||||
this.groupBox2.TabIndex = 24;
|
||||
this.groupBox2.TabStop = false;
|
||||
this.groupBox2.Text = "Cheat Title (Uses GG code if left empty)";
|
||||
//
|
||||
// cheatname
|
||||
//
|
||||
this.cheatname.Location = new System.Drawing.Point(18, 23);
|
||||
this.cheatname.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.cheatname.Name = "cheatname";
|
||||
this.cheatname.Size = new System.Drawing.Size(227, 20);
|
||||
this.cheatname.TabIndex = 0;
|
||||
//
|
||||
// SNESGameGenie
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(302, 262);
|
||||
this.Controls.Add(this.groupBox2);
|
||||
this.Controls.Add(this.ClearButton);
|
||||
this.Controls.Add(this.groupBox1);
|
||||
this.Controls.Add(this.ButtonPanel);
|
||||
this.Controls.Add(this.addcheatbt);
|
||||
this.Controls.Add(this.GameGenieCodeBox);
|
||||
this.Controls.Add(this.menuStrip1);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D;
|
||||
this.MainMenuStrip = this.menuStrip1;
|
||||
this.MaximizeBox = false;
|
||||
this.MaximumSize = new System.Drawing.Size(312, 294);
|
||||
this.MinimumSize = new System.Drawing.Size(312, 294);
|
||||
this.Name = "SNESGameGenie";
|
||||
this.ShowIcon = false;
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
|
||||
this.Text = "SNES Game Genie Encoder / Decoder";
|
||||
this.GameGenieCodeBox.ResumeLayout(false);
|
||||
this.GameGenieCodeBox.PerformLayout();
|
||||
this.ButtonPanel.ResumeLayout(false);
|
||||
this.groupBox1.ResumeLayout(false);
|
||||
this.groupBox1.PerformLayout();
|
||||
this.menuStrip1.ResumeLayout(false);
|
||||
this.menuStrip1.PerformLayout();
|
||||
this.groupBox2.ResumeLayout(false);
|
||||
this.groupBox2.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
this.ExitMenuItem});
|
||||
this.OptionsSubMenu.Name = "OptionsSubMenu";
|
||||
this.OptionsSubMenu.Size = new System.Drawing.Size(61, 20);
|
||||
this.OptionsSubMenu.Text = "&Options";
|
||||
this.OptionsSubMenu.DropDownOpened += new System.EventHandler(this.OptionsSubMenu_DropDownOpened);
|
||||
//
|
||||
// AutoloadMenuItem
|
||||
//
|
||||
this.AutoloadMenuItem.Name = "AutoloadMenuItem";
|
||||
this.AutoloadMenuItem.Size = new System.Drawing.Size(191, 22);
|
||||
this.AutoloadMenuItem.Text = "Autoload";
|
||||
this.AutoloadMenuItem.Click += new System.EventHandler(this.AutoloadMenuItem_Click);
|
||||
//
|
||||
// SaveWindowPositionMenuItem
|
||||
//
|
||||
this.SaveWindowPositionMenuItem.Name = "SaveWindowPositionMenuItem";
|
||||
this.SaveWindowPositionMenuItem.Size = new System.Drawing.Size(191, 22);
|
||||
this.SaveWindowPositionMenuItem.Text = "Save Window Position";
|
||||
this.SaveWindowPositionMenuItem.Click += new System.EventHandler(this.SaveWindowPositionMenuItem_Click);
|
||||
//
|
||||
// toolStripSeparator1
|
||||
//
|
||||
this.toolStripSeparator1.Name = "toolStripSeparator1";
|
||||
this.toolStripSeparator1.Size = new System.Drawing.Size(188, 6);
|
||||
//
|
||||
// ExitMenuItem
|
||||
//
|
||||
this.ExitMenuItem.Name = "ExitMenuItem";
|
||||
this.ExitMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Alt | System.Windows.Forms.Keys.F4)));
|
||||
this.ExitMenuItem.Size = new System.Drawing.Size(191, 22);
|
||||
this.ExitMenuItem.Text = "E&xit";
|
||||
this.ExitMenuItem.Click += new System.EventHandler(this.ExitMenuItem_Click);
|
||||
//
|
||||
// groupBox2
|
||||
//
|
||||
this.groupBox2.Controls.Add(this.CheatNameBox);
|
||||
this.groupBox2.Location = new System.Drawing.Point(31, 197);
|
||||
this.groupBox2.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.groupBox2.Name = "groupBox2";
|
||||
this.groupBox2.Padding = new System.Windows.Forms.Padding(2);
|
||||
this.groupBox2.Size = new System.Drawing.Size(262, 50);
|
||||
this.groupBox2.TabIndex = 24;
|
||||
this.groupBox2.TabStop = false;
|
||||
this.groupBox2.Text = "Cheat Title (Uses GG code if left empty)";
|
||||
//
|
||||
// cheatname
|
||||
//
|
||||
this.CheatNameBox.Location = new System.Drawing.Point(18, 23);
|
||||
this.CheatNameBox.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.CheatNameBox.Name = "CheatNameBox";
|
||||
this.CheatNameBox.Size = new System.Drawing.Size(227, 20);
|
||||
this.CheatNameBox.TabIndex = 0;
|
||||
//
|
||||
// AlwaysOnTopMenuItem
|
||||
//
|
||||
this.AlwaysOnTopMenuItem.Name = "AlwaysOnTopMenuItem";
|
||||
this.AlwaysOnTopMenuItem.Size = new System.Drawing.Size(191, 22);
|
||||
this.AlwaysOnTopMenuItem.Text = "Always on Top";
|
||||
this.AlwaysOnTopMenuItem.Click += new System.EventHandler(this.AlwaysOnTopMenuItem_Click);
|
||||
//
|
||||
// FloatingWindowMenuItem
|
||||
//
|
||||
this.FloatingWindowMenuItem.Name = "FloatingWindowMenuItem";
|
||||
this.FloatingWindowMenuItem.Size = new System.Drawing.Size(191, 22);
|
||||
this.FloatingWindowMenuItem.Text = "Floating Window";
|
||||
this.FloatingWindowMenuItem.Click += new System.EventHandler(this.FloatingWindowMenuItem_Click);
|
||||
//
|
||||
// SNESGameGenie
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(292, 252);
|
||||
this.Controls.Add(this.groupBox2);
|
||||
this.Controls.Add(this.ClearButton);
|
||||
this.Controls.Add(this.groupBox1);
|
||||
this.Controls.Add(this.ButtonPanel);
|
||||
this.Controls.Add(this.addcheatbt);
|
||||
this.Controls.Add(this.GameGenieCodeBox);
|
||||
this.Controls.Add(this.menuStrip1);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D;
|
||||
this.MainMenuStrip = this.menuStrip1;
|
||||
this.MaximizeBox = false;
|
||||
this.MaximumSize = new System.Drawing.Size(312, 294);
|
||||
this.MinimumSize = new System.Drawing.Size(312, 294);
|
||||
this.Name = "SNESGameGenie";
|
||||
this.ShowIcon = false;
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
|
||||
this.Text = "SNES Game Genie Encoder / Decoder";
|
||||
this.Load += new System.EventHandler(this.SNESGameGenie_Load);
|
||||
this.GameGenieCodeBox.ResumeLayout(false);
|
||||
this.GameGenieCodeBox.PerformLayout();
|
||||
this.ButtonPanel.ResumeLayout(false);
|
||||
this.groupBox1.ResumeLayout(false);
|
||||
this.groupBox1.PerformLayout();
|
||||
this.menuStrip1.ResumeLayout(false);
|
||||
this.menuStrip1.PerformLayout();
|
||||
this.groupBox2.ResumeLayout(false);
|
||||
this.groupBox2.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
|
@ -515,13 +533,15 @@
|
|||
private System.Windows.Forms.Label label4;
|
||||
private System.Windows.Forms.Button ClearButton;
|
||||
private MenuStripEx menuStrip1;
|
||||
private System.Windows.Forms.ToolStripMenuItem optionsToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem autoloadToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem saveWindowPositionToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem OptionsSubMenu;
|
||||
private System.Windows.Forms.ToolStripMenuItem AutoloadMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem SaveWindowPositionMenuItem;
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
|
||||
private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem ExitMenuItem;
|
||||
private System.Windows.Forms.MaskedTextBox GGCodeMaskBox;
|
||||
private System.Windows.Forms.GroupBox groupBox2;
|
||||
private System.Windows.Forms.TextBox cheatname;
|
||||
private System.Windows.Forms.TextBox CheatNameBox;
|
||||
private System.Windows.Forms.ToolStripMenuItem AlwaysOnTopMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem FloatingWindowMenuItem;
|
||||
}
|
||||
}
|
|
@ -1,9 +1,8 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
using System.Globalization;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Windows.Forms;
|
||||
|
||||
using BizHawk.Client.Common;
|
||||
using BizHawk.Emulation.Cores.Nintendo.SNES;
|
||||
|
@ -12,8 +11,53 @@ namespace BizHawk.Client.EmuHawk
|
|||
{
|
||||
public partial class SNESGameGenie : Form, IToolForm
|
||||
{
|
||||
private readonly Dictionary<char, int> GameGenieTable = new Dictionary<char, int>();
|
||||
private bool Processing = false;
|
||||
// including transposition
|
||||
// Code: D F 4 7 0 9 1 5 6 B C 8 A 2 3 E
|
||||
// Hex: 0 1 2 3 4 5 6 7 8 9 A B C D E F
|
||||
private readonly Dictionary<char, int> _gameGenieTable = new Dictionary<char, int>
|
||||
{
|
||||
{ 'D', 0 }, // 0000
|
||||
{ 'F', 1 }, // 0001
|
||||
{ '4', 2 }, // 0010
|
||||
{ '7', 3 }, // 0011
|
||||
{ '0', 4 }, // 0100
|
||||
{ '9', 5 }, // 0101
|
||||
{ '1', 6 }, // 0110
|
||||
{ '5', 7 }, // 0111
|
||||
{ '6', 8 }, // 1000
|
||||
{ 'B', 9 }, // 1001
|
||||
{ 'C', 10 }, // 1010
|
||||
{ '8', 11 }, // 1011
|
||||
{ 'A', 12 }, // 1100
|
||||
{ '2', 13 }, // 1101
|
||||
{ '3', 14 }, // 1110
|
||||
{ 'E', 15 } // 1111
|
||||
};
|
||||
|
||||
private bool _processing;
|
||||
|
||||
public SNESGameGenie()
|
||||
{
|
||||
InitializeComponent();
|
||||
TopMost = Global.Config.SnesGGSettings.TopMost;
|
||||
Closing += (o, e) =>
|
||||
{
|
||||
Global.Config.SnesGGSettings.Wndx = Location.X;
|
||||
Global.Config.SnesGGSettings.Wndy = Location.Y;
|
||||
};
|
||||
}
|
||||
|
||||
private void SNESGameGenie_Load(object sender, EventArgs e)
|
||||
{
|
||||
addcheatbt.Enabled = false;
|
||||
|
||||
if (Global.Config.SnesGGSettings.UseWindowPosition)
|
||||
{
|
||||
Location = Global.Config.SnesGGSettings.WindowPosition;
|
||||
}
|
||||
}
|
||||
|
||||
#region Public API
|
||||
|
||||
public bool AskSave() { return true; }
|
||||
public bool UpdateBefore { get { return false; } }
|
||||
|
@ -24,6 +68,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
Close();
|
||||
}
|
||||
}
|
||||
|
||||
public void UpdateValues()
|
||||
{
|
||||
if (!(Global.Emulator is LibsnesCore))
|
||||
|
@ -32,173 +77,316 @@ namespace BizHawk.Client.EmuHawk
|
|||
}
|
||||
}
|
||||
|
||||
public SNESGameGenie()
|
||||
#endregion
|
||||
|
||||
private void SnesGGDecode(string code, ref int val, ref int add)
|
||||
{
|
||||
InitializeComponent();
|
||||
Closing += (o, e) => SaveConfigSettings();
|
||||
//including transposition
|
||||
//Code: D F 4 7 0 9 1 5 6 B C 8 A 2 3 E
|
||||
//Hex: 0 1 2 3 4 5 6 7 8 9 A B C D E F
|
||||
|
||||
GameGenieTable.Add('D', 0); //0000
|
||||
GameGenieTable.Add('F', 1); //0001
|
||||
GameGenieTable.Add('4', 2); //0010
|
||||
GameGenieTable.Add('7', 3); //0011
|
||||
GameGenieTable.Add('0', 4); //0100
|
||||
GameGenieTable.Add('9', 5); //0101
|
||||
GameGenieTable.Add('1', 6); //0110
|
||||
GameGenieTable.Add('5', 7); //0111
|
||||
GameGenieTable.Add('6', 8); //1000
|
||||
GameGenieTable.Add('B', 9); //1001
|
||||
GameGenieTable.Add('C', 10); //1010
|
||||
GameGenieTable.Add('8', 11); //1011
|
||||
GameGenieTable.Add('A', 12); //1100
|
||||
GameGenieTable.Add('2', 13); //1101
|
||||
GameGenieTable.Add('3', 14); //1110
|
||||
GameGenieTable.Add('E', 15); //1111
|
||||
}
|
||||
|
||||
public void SNESGGDecode(string code, ref int val, ref int add)
|
||||
{
|
||||
|
||||
//Code: D F 4 7 0 9 1 5 6 B C 8 A 2 3 E
|
||||
//Hex: 0 1 2 3 4 5 6 7 8 9 A B C D E F
|
||||
//XXYY-YYYY, where XX is the value, and YY-YYYY is the address.
|
||||
//Char # | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
|
||||
//Bit # |3|2|1|0|3|2|1|0|3|2|1|0|3|2|1|0|3|2|1|0|3|2|1|0|3|2|1|0|3|2|1|0|
|
||||
//maps to| Value |i|j|k|l|q|r|s|t|o|p|a|b|c|d|u|v|w|x|e|f|g|h|m|n|
|
||||
//order | Value |a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|
|
||||
|
||||
// Code: D F 4 7 0 9 1 5 6 B C 8 A 2 3 E
|
||||
// Hex: 0 1 2 3 4 5 6 7 8 9 A B C D E F
|
||||
// XXYY-YYYY, where XX is the value, and YY-YYYY is the address.
|
||||
// Char # | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
|
||||
// Bit # |3|2|1|0|3|2|1|0|3|2|1|0|3|2|1|0|3|2|1|0|3|2|1|0|3|2|1|0|3|2|1|0|
|
||||
// maps to| Value |i|j|k|l|q|r|s|t|o|p|a|b|c|d|u|v|w|x|e|f|g|h|m|n|
|
||||
// order | Value |a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|
|
||||
int x;
|
||||
|
||||
// Getting Value
|
||||
if (code.Length > 0)
|
||||
{
|
||||
GameGenieTable.TryGetValue(code[0], out x);
|
||||
_gameGenieTable.TryGetValue(code[0], out x);
|
||||
val = x << 4;
|
||||
}
|
||||
|
||||
if (code.Length > 1)
|
||||
{
|
||||
GameGenieTable.TryGetValue(code[1], out x);
|
||||
_gameGenieTable.TryGetValue(code[1], out x);
|
||||
val |= x;
|
||||
}
|
||||
//Address
|
||||
|
||||
// Address
|
||||
if (code.Length > 2)
|
||||
{
|
||||
GameGenieTable.TryGetValue(code[2], out x);
|
||||
add = (x << 12);
|
||||
_gameGenieTable.TryGetValue(code[2], out x);
|
||||
add = x << 12;
|
||||
}
|
||||
|
||||
if (code.Length > 3)
|
||||
{
|
||||
GameGenieTable.TryGetValue(code[3], out x);
|
||||
add |= (x << 4);
|
||||
_gameGenieTable.TryGetValue(code[3], out x);
|
||||
add |= x << 4;
|
||||
}
|
||||
|
||||
if (code.Length > 4)
|
||||
{
|
||||
GameGenieTable.TryGetValue(code[4], out x);
|
||||
add |= ((x & 0xC) << 6);
|
||||
add |= ((x & 0x3) << 22);
|
||||
_gameGenieTable.TryGetValue(code[4], out x);
|
||||
add |= (x & 0xC) << 6;
|
||||
add |= (x & 0x3) << 22;
|
||||
}
|
||||
|
||||
if (code.Length > 5)
|
||||
{
|
||||
GameGenieTable.TryGetValue(code[5], out x);
|
||||
add |= ((x & 0xC) << 18);
|
||||
add |= ((x & 0x3) << 2);
|
||||
_gameGenieTable.TryGetValue(code[5], out x);
|
||||
add |= (x & 0xC) << 18;
|
||||
add |= (x & 0x3) << 2;
|
||||
}
|
||||
|
||||
if (code.Length > 6)
|
||||
{
|
||||
GameGenieTable.TryGetValue(code[6], out x);
|
||||
add |= ((x & 0xC) >> 2);
|
||||
add |= ((x & 0x3) << 18);
|
||||
_gameGenieTable.TryGetValue(code[6], out x);
|
||||
add |= (x & 0xC) >> 2;
|
||||
add |= (x & 0x3) << 18;
|
||||
}
|
||||
|
||||
if (code.Length > 7)
|
||||
{
|
||||
GameGenieTable.TryGetValue(code[7], out x);
|
||||
add |= ((x & 0xC) << 14);
|
||||
add |= ((x & 0x3) << 10);
|
||||
_gameGenieTable.TryGetValue(code[7], out x);
|
||||
add |= (x & 0xC) << 14;
|
||||
add |= (x & 0x3) << 10;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private string SNESGGEncode(int val, int add)
|
||||
private static string SnesGGEncode(int val, int add)
|
||||
{
|
||||
//Code: D F 4 7 0 9 1 5 6 B C 8 A 2 3 E
|
||||
//Hex: 0 1 2 3 4 5 6 7 8 9 A B C D E F
|
||||
//Char # | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
|
||||
//Bit # |3|2|1|0|3|2|1|0|3|2|1|0|3|2|1|0|3|2|1|0|3|2|1|0|3|2|1|0|3|2|1|0|
|
||||
//maps to| Value |i|j|k|l|q|r|s|t|o|p|a|b|c|d|u|v|w|x|e|f|g|h|m|n|
|
||||
//order | Value |a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|
|
||||
// Code: D F 4 7 0 9 1 5 6 B C 8 A 2 3 E
|
||||
// Hex: 0 1 2 3 4 5 6 7 8 9 A B C D E F
|
||||
// Char # | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
|
||||
// Bit # |3|2|1|0|3|2|1|0|3|2|1|0|3|2|1|0|3|2|1|0|3|2|1|0|3|2|1|0|3|2|1|0|
|
||||
// maps to| Value |i|j|k|l|q|r|s|t|o|p|a|b|c|d|u|v|w|x|e|f|g|h|m|n|
|
||||
// order | Value |a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|
|
||||
char[] letters = { 'D', 'F', '4', '7', '0', '9', '1', '5', '6', 'B', 'C', '8', 'A', '2', '3', 'E' };
|
||||
string code = "";
|
||||
var code = string.Empty;
|
||||
int[] num = { 0, 0, 0, 0, 0, 0, 0, 0 };
|
||||
num[0] = (val & 0xF0) >>4;
|
||||
num[0] = (val & 0xF0) >> 4;
|
||||
num[1] = val & 0x0F;
|
||||
|
||||
num[2] = (add & 0x00F000) >> 12; //ijkl
|
||||
num[3] = (add & 0x0000F0) >> 4; //qrst
|
||||
num[4] = ((add & 0x000300) >> 6) | ((add & 0xC00000) >> 22); //opab
|
||||
num[5] = ((add & 0x300000) >> 18) | ((add & 0x00000C) >>2); //cduv
|
||||
num[6] = ((add & 0x000003) << 2)| ((add & 0x0C0000) >> 18);//wxef
|
||||
num[7] = ((add & 0x030000) >> 14) | ((add & 0x000C00) >> 10);//ghmn*/
|
||||
for (int x = 0; x < 8; x++)
|
||||
code += letters[num[x]];
|
||||
num[2] = (add & 0x00F000) >> 12; // ijkl
|
||||
num[3] = (add & 0x0000F0) >> 4; // qrst
|
||||
num[4] = ((add & 0x000300) >> 6) | ((add & 0xC00000) >> 22); // opab
|
||||
num[5] = ((add & 0x300000) >> 18) | ((add & 0x00000C) >> 2); // cduv
|
||||
num[6] = ((add & 0x000003) << 2) | ((add & 0x0C0000) >> 18); // wxef
|
||||
num[7] = ((add & 0x030000) >> 14) | ((add & 0x000C00) >> 10); // ghmn
|
||||
|
||||
for (int i = 0; i < 8; i++)
|
||||
{
|
||||
code += letters[num[i]];
|
||||
}
|
||||
|
||||
return code;
|
||||
}
|
||||
private void SNESGameGenie_Load(object sender, EventArgs e)
|
||||
|
||||
private void RefreshFloatingWindowControl()
|
||||
{
|
||||
Owner = Global.Config.SnesGGSettings.FloatingWindow ? null : GlobalWin.MainForm;
|
||||
}
|
||||
|
||||
#region Events
|
||||
|
||||
#region Menu
|
||||
|
||||
private void OptionsSubMenu_DropDownOpened(object sender, EventArgs e)
|
||||
{
|
||||
AutoloadMenuItem.Checked = Global.Config.SNESGGAutoload;
|
||||
SaveWindowPositionMenuItem.Checked = Global.Config.SnesGGSettings.SaveWindowPosition;
|
||||
AlwaysOnTopMenuItem.Checked = Global.Config.SnesGGSettings.TopMost;
|
||||
FloatingWindowMenuItem.Checked = Global.Config.SnesGGSettings.FloatingWindow;
|
||||
}
|
||||
|
||||
private void AutoloadMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
Global.Config.SNESGGAutoload ^= true;
|
||||
}
|
||||
|
||||
private void SaveWindowPositionMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
Global.Config.SnesGGSettings.SaveWindowPosition ^= true;
|
||||
}
|
||||
|
||||
private void AlwaysOnTopMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
Global.Config.SnesGGSettings.TopMost ^= true;
|
||||
TopMost = Global.Config.SnesGGSettings.TopMost;
|
||||
}
|
||||
|
||||
private void FloatingWindowMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
Global.Config.SnesGGSettings.FloatingWindow ^= true;
|
||||
RefreshFloatingWindowControl();
|
||||
}
|
||||
|
||||
private void ExitMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
Close();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Dialog and Controls
|
||||
|
||||
protected override void OnShown(EventArgs e)
|
||||
{
|
||||
RefreshFloatingWindowControl();
|
||||
base.OnShown(e);
|
||||
}
|
||||
|
||||
private void ClearButton_Click(object sender, EventArgs e)
|
||||
{
|
||||
AddressBox.Text = string.Empty;
|
||||
ValueBox.Text = string.Empty;
|
||||
GGCodeMaskBox.Text = string.Empty;
|
||||
addcheatbt.Enabled = false;
|
||||
|
||||
if (Global.Config.SNESGGSaveWindowPosition && Global.Config.SNESGGWndx >= 0 && Global.Config.SNESGGWndy >= 0)
|
||||
Location = new Point(Global.Config.SNESGGWndx, Global.Config.SNESGGWndy);
|
||||
}
|
||||
|
||||
private void SaveConfigSettings()
|
||||
private void AddCheat_Click(object sender, EventArgs e)
|
||||
{
|
||||
Global.Config.SNESGGWndx = Location.X;
|
||||
Global.Config.SNESGGWndy = Location.Y;
|
||||
}
|
||||
|
||||
private void GGCodeMaskBox_KeyPress(object sender, KeyPressEventArgs e)
|
||||
{
|
||||
// Find a better way to remove all NON HEX char, while still allowing copy/paste
|
||||
//Right now its all done through removing em GGCodeMaskBox_TextChanged
|
||||
}
|
||||
|
||||
private void GGCodeMaskBox_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
if (Processing == false)
|
||||
if (Global.Emulator is LibsnesCore)
|
||||
{
|
||||
Processing = true;
|
||||
//insert REGEX Remove non HEXA char
|
||||
if (Regex.IsMatch(GGCodeMaskBox.Text, @"[^a-fA-F0-9]"))
|
||||
string name;
|
||||
var address = 0;
|
||||
var value = 0;
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(CheatNameBox.Text))
|
||||
{
|
||||
string temp = Regex.Replace(GGCodeMaskBox.Text, @"[^a-fA-F0-9]", string.Empty);
|
||||
GGCodeMaskBox.Text = temp;
|
||||
name = CheatNameBox.Text;
|
||||
}
|
||||
else
|
||||
{
|
||||
_processing = true;
|
||||
GGCodeMaskBox.TextMaskFormat = MaskFormat.IncludeLiterals;
|
||||
name = GGCodeMaskBox.Text;
|
||||
GGCodeMaskBox.TextMaskFormat = MaskFormat.ExcludePromptAndLiterals;
|
||||
_processing = false;
|
||||
}
|
||||
|
||||
if (GGCodeMaskBox.Text.Length > 0)
|
||||
if (!string.IsNullOrWhiteSpace(AddressBox.Text))
|
||||
{
|
||||
int val = 0;
|
||||
int add = 0;
|
||||
SNESGGDecode(GGCodeMaskBox.Text, ref val, ref add);
|
||||
AddressBox.Text = String.Format("{0:X6}", add);
|
||||
ValueBox.Text = String.Format("{0:X2}", val);
|
||||
address = int.Parse(AddressBox.Text, NumberStyles.HexNumber)
|
||||
+ 0x8000;
|
||||
}
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(ValueBox.Text))
|
||||
{
|
||||
value = byte.Parse(ValueBox.Text, NumberStyles.HexNumber);
|
||||
}
|
||||
|
||||
var watch = Watch.GenerateWatch(
|
||||
Global.Emulator.MemoryDomains["BUS"],
|
||||
address,
|
||||
Watch.WatchSize.Byte,
|
||||
Watch.DisplayType.Hex,
|
||||
name,
|
||||
bigEndian: false
|
||||
);
|
||||
|
||||
Global.CheatList.Add(new Cheat(
|
||||
watch,
|
||||
value
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
private void AddressBox_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
// Remove invalid character when pasted
|
||||
if (_processing == false)
|
||||
{
|
||||
_processing = true;
|
||||
if (Regex.IsMatch(AddressBox.Text, @"[^a-fA-F0-9]"))
|
||||
{
|
||||
AddressBox.Text = Regex.Replace(AddressBox.Text, @"[^a-fA-F0-9]", string.Empty);
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(AddressBox.Text) || !string.IsNullOrEmpty(ValueBox.Text))
|
||||
{
|
||||
int val = 0, add = 0;
|
||||
if (!string.IsNullOrEmpty(AddressBox.Text))
|
||||
{
|
||||
add = int.Parse(AddressBox.Text, NumberStyles.HexNumber);
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(ValueBox.Text))
|
||||
{
|
||||
val = int.Parse(ValueBox.Text, NumberStyles.HexNumber);
|
||||
}
|
||||
|
||||
GGCodeMaskBox.Text = SnesGGEncode(val, add);
|
||||
addcheatbt.Enabled = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
AddressBox.Text = "";
|
||||
ValueBox.Text = "";
|
||||
GGCodeMaskBox.Text = string.Empty;
|
||||
addcheatbt.Enabled = false;
|
||||
}
|
||||
Processing = false;
|
||||
|
||||
_processing = false;
|
||||
}
|
||||
}
|
||||
|
||||
private void ValueBox_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (_processing == false)
|
||||
{
|
||||
_processing = true;
|
||||
|
||||
// remove invalid character when pasted
|
||||
if (Regex.IsMatch(ValueBox.Text, @"[^a-fA-F0-9]"))
|
||||
{
|
||||
ValueBox.Text = Regex.Replace(ValueBox.Text, @"[^a-fA-F0-9]", string.Empty);
|
||||
}
|
||||
|
||||
if ((AddressBox.Text.Length > 0) || (ValueBox.Text.Length > 0))
|
||||
{
|
||||
int val = 0, add = 0;
|
||||
if (ValueBox.Text.Length > 0)
|
||||
{
|
||||
val = int.Parse(ValueBox.Text, NumberStyles.HexNumber);
|
||||
}
|
||||
|
||||
if (AddressBox.Text.Length > 0)
|
||||
{
|
||||
add = int.Parse(AddressBox.Text, NumberStyles.HexNumber);
|
||||
}
|
||||
|
||||
GGCodeMaskBox.Text = SnesGGEncode(val, add);
|
||||
addcheatbt.Enabled = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
GGCodeMaskBox.Text = string.Empty;
|
||||
addcheatbt.Enabled = false;
|
||||
}
|
||||
|
||||
_processing = false;
|
||||
}
|
||||
}
|
||||
|
||||
private void GGCodeMaskBox_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (_processing == false)
|
||||
{
|
||||
_processing = true;
|
||||
|
||||
// insert REGEX Remove non HEXA char
|
||||
if (Regex.IsMatch(GGCodeMaskBox.Text, @"[^a-fA-F0-9]"))
|
||||
{
|
||||
GGCodeMaskBox.Text = Regex.Replace(GGCodeMaskBox.Text, @"[^a-fA-F0-9]", string.Empty);
|
||||
}
|
||||
|
||||
if (GGCodeMaskBox.Text.Length > 0)
|
||||
{
|
||||
int val = 0, add = 0;
|
||||
SnesGGDecode(GGCodeMaskBox.Text, ref val, ref add);
|
||||
AddressBox.Text = string.Format("{0:X6}", add);
|
||||
ValueBox.Text = string.Format("{0:X2}", val);
|
||||
addcheatbt.Enabled = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
AddressBox.Text = string.Empty;
|
||||
ValueBox.Text = string.Empty;
|
||||
addcheatbt.Enabled = false;
|
||||
}
|
||||
|
||||
_processing = false;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -206,7 +394,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
{
|
||||
if (GGCodeMaskBox.Text.Length < 8)
|
||||
{
|
||||
string code = "";
|
||||
var code = string.Empty;
|
||||
if (sender == B0) code = "0";
|
||||
if (sender == B1) code = "1";
|
||||
if (sender == B2) code = "2";
|
||||
|
@ -225,173 +413,11 @@ namespace BizHawk.Client.EmuHawk
|
|||
if (sender == BF) code = "F";
|
||||
|
||||
GGCodeMaskBox.Text += code;
|
||||
//int x = GGCodeMaskBox.SelectionStart;
|
||||
//GGCodeMaskBox.Text = GGCodeMaskBox.Text.Insert(x, code);
|
||||
//GGCodeMaskBox.SelectionStart = x + 1;
|
||||
}
|
||||
}
|
||||
|
||||
private void AddressBox_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
//remove invalid character when pasted
|
||||
if (Processing == false)
|
||||
{
|
||||
Processing = true;
|
||||
if (Regex.IsMatch(AddressBox.Text, @"[^a-fA-F0-9]"))
|
||||
{
|
||||
string temp = Regex.Replace(AddressBox.Text, @"[^a-fA-F0-9]", string.Empty);
|
||||
AddressBox.Text = temp;
|
||||
}
|
||||
if ((AddressBox.Text.Length > 0) || (ValueBox.Text.Length > 0))
|
||||
{
|
||||
int val = 0;
|
||||
int add = 0;
|
||||
if (ValueBox.Text.Length > 0)
|
||||
val = int.Parse(ValueBox.Text, NumberStyles.HexNumber);
|
||||
if (AddressBox.Text.Length > 0)
|
||||
add = int.Parse(AddressBox.Text, NumberStyles.HexNumber);
|
||||
GGCodeMaskBox.Text = SNESGGEncode(val, add);
|
||||
addcheatbt.Enabled = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
GGCodeMaskBox.Text = "";
|
||||
addcheatbt.Enabled = false;
|
||||
}
|
||||
Processing = false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
private void ValueBox_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (Processing == false)
|
||||
{
|
||||
Processing = true;
|
||||
//remove invalid character when pasted
|
||||
if (Regex.IsMatch(ValueBox.Text, @"[^a-fA-F0-9]"))
|
||||
{
|
||||
string temp = Regex.Replace(ValueBox.Text, @"[^a-fA-F0-9]", string.Empty);
|
||||
ValueBox.Text = temp;
|
||||
}
|
||||
if ((AddressBox.Text.Length > 0) || (ValueBox.Text.Length > 0))
|
||||
{
|
||||
int val = 0;
|
||||
int add = 0;
|
||||
if (ValueBox.Text.Length > 0)
|
||||
val = int.Parse(ValueBox.Text, NumberStyles.HexNumber);
|
||||
if (AddressBox.Text.Length > 0)
|
||||
add = int.Parse(AddressBox.Text, NumberStyles.HexNumber);
|
||||
GGCodeMaskBox.Text = SNESGGEncode(val, add);
|
||||
addcheatbt.Enabled = true;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
GGCodeMaskBox.Text = "";
|
||||
addcheatbt.Enabled = false;
|
||||
}
|
||||
Processing = false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
private void ClearButton_Click(object sender, EventArgs e)
|
||||
{
|
||||
AddressBox.Text = "";
|
||||
ValueBox.Text = "";
|
||||
GGCodeMaskBox.Text = "";
|
||||
addcheatbt.Enabled = false;
|
||||
}
|
||||
|
||||
private void AddCheat_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (Global.Emulator is LibsnesCore)
|
||||
{
|
||||
string NAME;
|
||||
int ADDRESS = 0;
|
||||
int VALUE = 0;
|
||||
int sysBusIndex = 0;
|
||||
|
||||
if (!String.IsNullOrWhiteSpace(cheatname.Text))
|
||||
{
|
||||
NAME = cheatname.Text;
|
||||
}
|
||||
else
|
||||
{
|
||||
Processing = true;
|
||||
GGCodeMaskBox.TextMaskFormat = MaskFormat.IncludeLiterals;
|
||||
NAME = GGCodeMaskBox.Text;
|
||||
GGCodeMaskBox.TextMaskFormat = MaskFormat.ExcludePromptAndLiterals;
|
||||
Processing = false;
|
||||
}
|
||||
|
||||
if (!String.IsNullOrWhiteSpace(AddressBox.Text))
|
||||
{
|
||||
ADDRESS = int.Parse(AddressBox.Text, NumberStyles.HexNumber);
|
||||
ADDRESS += 0x8000;
|
||||
}
|
||||
if (!String.IsNullOrWhiteSpace(ValueBox.Text))
|
||||
{
|
||||
VALUE = (byte)(int.Parse(ValueBox.Text, NumberStyles.HexNumber));
|
||||
}
|
||||
|
||||
for (int i = 0; i < Global.Emulator.MemoryDomains.Count; i++)
|
||||
{
|
||||
if (Global.Emulator.MemoryDomains[i].ToString() == "BUS")
|
||||
{
|
||||
sysBusIndex = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Watch watch = Watch.GenerateWatch(
|
||||
Global.Emulator.MemoryDomains[sysBusIndex],
|
||||
ADDRESS,
|
||||
Watch.WatchSize.Byte,
|
||||
Watch.DisplayType.Hex,
|
||||
NAME,
|
||||
bigEndian: false
|
||||
);
|
||||
|
||||
Global.CheatList.Add(new Cheat(
|
||||
watch,
|
||||
VALUE,
|
||||
compare: null,
|
||||
enabled: true
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
private void exitToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
Close();
|
||||
}
|
||||
|
||||
private void saveWindowPositionToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
Global.Config.SNESGGSaveWindowPosition ^= true;
|
||||
}
|
||||
|
||||
private void autoloadToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
Global.Config.SNESGGAutoload ^= true;
|
||||
}
|
||||
|
||||
private void optionsToolStripMenuItem_DropDownOpened(object sender, EventArgs e)
|
||||
{
|
||||
autoloadToolStripMenuItem.Checked = Global.Config.SNESGGAutoload;
|
||||
saveWindowPositionToolStripMenuItem.Checked = Global.Config.SNESGGSaveWindowPosition;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue