new cheat search progress, and make the Saturn preferences dialog a little more professional loooking

This commit is contained in:
adelikat 2013-10-03 23:58:56 +00:00
parent 741a4a9b83
commit 91a189bc60
5 changed files with 158 additions and 109 deletions

View File

@ -818,6 +818,9 @@
<DependentUpon>Resources.resx</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<EmbeddedResource Include="tools\Cheats\NewCheatForm.resx">
<DependentUpon>NewCheatForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="tools\HexEditor\HexColor.resx">
<DependentUpon>HexColor.cs</DependentUpon>
</EmbeddedResource>

View File

@ -29,22 +29,22 @@
private void InitializeComponent()
{
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.radioButtonSoft = new System.Windows.Forms.RadioButton();
this.radioButtonGL = new System.Windows.Forms.RadioButton();
this.radioButtonSoft = new System.Windows.Forms.RadioButton();
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.radioButtonFactor = new System.Windows.Forms.RadioButton();
this.radioButtonFree = new System.Windows.Forms.RadioButton();
this.numericUpDownFactor = new System.Windows.Forms.NumericUpDown();
this.numericUpDown1 = new System.Windows.Forms.NumericUpDown();
this.numericUpDown2 = new System.Windows.Forms.NumericUpDown();
this.label1 = new System.Windows.Forms.Label();
this.numericUpDown2 = new System.Windows.Forms.NumericUpDown();
this.numericUpDown1 = new System.Windows.Forms.NumericUpDown();
this.numericUpDownFactor = new System.Windows.Forms.NumericUpDown();
this.radioButtonFree = new System.Windows.Forms.RadioButton();
this.radioButtonFactor = new System.Windows.Forms.RadioButton();
this.buttonOK = new System.Windows.Forms.Button();
this.buttonCancel = new System.Windows.Forms.Button();
this.groupBox1.SuspendLayout();
this.groupBox2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownFactor)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownFactor)).BeginInit();
this.SuspendLayout();
//
// groupBox1
@ -58,6 +58,17 @@
this.groupBox1.TabStop = false;
this.groupBox1.Text = "Render Type";
//
// radioButtonGL
//
this.radioButtonGL.AutoSize = true;
this.radioButtonGL.Location = new System.Drawing.Point(6, 42);
this.radioButtonGL.Name = "radioButtonGL";
this.radioButtonGL.Size = new System.Drawing.Size(68, 17);
this.radioButtonGL.TabIndex = 1;
this.radioButtonGL.TabStop = true;
this.radioButtonGL.Text = "Open GL";
this.radioButtonGL.UseVisualStyleBackColor = true;
//
// radioButtonSoft
//
this.radioButtonSoft.AutoSize = true;
@ -70,17 +81,6 @@
this.radioButtonSoft.UseVisualStyleBackColor = true;
this.radioButtonSoft.CheckedChanged += new System.EventHandler(this.radioButtonSoft_CheckedChanged);
//
// radioButtonGL
//
this.radioButtonGL.AutoSize = true;
this.radioButtonGL.Location = new System.Drawing.Point(6, 42);
this.radioButtonGL.Name = "radioButtonGL";
this.radioButtonGL.Size = new System.Drawing.Size(68, 17);
this.radioButtonGL.TabIndex = 1;
this.radioButtonGL.TabStop = true;
this.radioButtonGL.Text = "Open GL";
this.radioButtonGL.UseVisualStyleBackColor = true;
//
// groupBox2
//
this.groupBox2.Controls.Add(this.label1);
@ -91,33 +91,73 @@
this.groupBox2.Controls.Add(this.radioButtonFactor);
this.groupBox2.Location = new System.Drawing.Point(129, 12);
this.groupBox2.Name = "groupBox2";
this.groupBox2.Size = new System.Drawing.Size(254, 100);
this.groupBox2.Size = new System.Drawing.Size(215, 100);
this.groupBox2.TabIndex = 1;
this.groupBox2.TabStop = false;
this.groupBox2.Text = "Render Resolution";
//
// radioButtonFactor
// label1
//
this.radioButtonFactor.AutoSize = true;
this.radioButtonFactor.Location = new System.Drawing.Point(6, 19);
this.radioButtonFactor.Name = "radioButtonFactor";
this.radioButtonFactor.Size = new System.Drawing.Size(107, 17);
this.radioButtonFactor.TabIndex = 0;
this.radioButtonFactor.TabStop = true;
this.radioButtonFactor.Text = "Multiple of Native";
this.radioButtonFactor.UseVisualStyleBackColor = true;
this.radioButtonFactor.CheckedChanged += new System.EventHandler(this.radioButtonFactor_CheckedChanged);
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(134, 48);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(14, 13);
this.label1.TabIndex = 5;
this.label1.Text = "X";
//
// radioButtonFree
// numericUpDown2
//
this.radioButtonFree.AutoSize = true;
this.radioButtonFree.Location = new System.Drawing.Point(6, 42);
this.radioButtonFree.Name = "radioButtonFree";
this.radioButtonFree.Size = new System.Drawing.Size(63, 17);
this.radioButtonFree.TabIndex = 1;
this.radioButtonFree.TabStop = true;
this.radioButtonFree.Text = "Specific";
this.radioButtonFree.UseVisualStyleBackColor = true;
this.numericUpDown2.Increment = new decimal(new int[] {
8,
0,
0,
0});
this.numericUpDown2.Location = new System.Drawing.Point(154, 44);
this.numericUpDown2.Maximum = new decimal(new int[] {
1024,
0,
0,
0});
this.numericUpDown2.Minimum = new decimal(new int[] {
224,
0,
0,
0});
this.numericUpDown2.Name = "numericUpDown2";
this.numericUpDown2.Size = new System.Drawing.Size(53, 20);
this.numericUpDown2.TabIndex = 4;
this.numericUpDown2.Value = new decimal(new int[] {
224,
0,
0,
0});
//
// numericUpDown1
//
this.numericUpDown1.Increment = new decimal(new int[] {
8,
0,
0,
0});
this.numericUpDown1.Location = new System.Drawing.Point(75, 44);
this.numericUpDown1.Maximum = new decimal(new int[] {
2048,
0,
0,
0});
this.numericUpDown1.Minimum = new decimal(new int[] {
320,
0,
0,
0});
this.numericUpDown1.Name = "numericUpDown1";
this.numericUpDown1.Size = new System.Drawing.Size(53, 20);
this.numericUpDown1.TabIndex = 3;
this.numericUpDown1.Value = new decimal(new int[] {
320,
0,
0,
0});
//
// numericUpDownFactor
//
@ -141,73 +181,34 @@
0,
0});
//
// numericUpDown1
// radioButtonFree
//
this.numericUpDown1.Increment = new decimal(new int[] {
8,
0,
0,
0});
this.numericUpDown1.Location = new System.Drawing.Point(75, 42);
this.numericUpDown1.Maximum = new decimal(new int[] {
2048,
0,
0,
0});
this.numericUpDown1.Minimum = new decimal(new int[] {
320,
0,
0,
0});
this.numericUpDown1.Name = "numericUpDown1";
this.numericUpDown1.Size = new System.Drawing.Size(67, 20);
this.numericUpDown1.TabIndex = 3;
this.numericUpDown1.Value = new decimal(new int[] {
320,
0,
0,
0});
this.radioButtonFree.AutoSize = true;
this.radioButtonFree.Location = new System.Drawing.Point(6, 46);
this.radioButtonFree.Name = "radioButtonFree";
this.radioButtonFree.Size = new System.Drawing.Size(63, 17);
this.radioButtonFree.TabIndex = 1;
this.radioButtonFree.TabStop = true;
this.radioButtonFree.Text = "Specific";
this.radioButtonFree.UseVisualStyleBackColor = true;
//
// numericUpDown2
// radioButtonFactor
//
this.numericUpDown2.Increment = new decimal(new int[] {
8,
0,
0,
0});
this.numericUpDown2.Location = new System.Drawing.Point(166, 42);
this.numericUpDown2.Maximum = new decimal(new int[] {
1024,
0,
0,
0});
this.numericUpDown2.Minimum = new decimal(new int[] {
224,
0,
0,
0});
this.numericUpDown2.Name = "numericUpDown2";
this.numericUpDown2.Size = new System.Drawing.Size(76, 20);
this.numericUpDown2.TabIndex = 4;
this.numericUpDown2.Value = new decimal(new int[] {
224,
0,
0,
0});
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(148, 49);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(14, 13);
this.label1.TabIndex = 5;
this.label1.Text = "X";
this.radioButtonFactor.AutoSize = true;
this.radioButtonFactor.Location = new System.Drawing.Point(6, 19);
this.radioButtonFactor.Name = "radioButtonFactor";
this.radioButtonFactor.Size = new System.Drawing.Size(107, 17);
this.radioButtonFactor.TabIndex = 0;
this.radioButtonFactor.TabStop = true;
this.radioButtonFactor.Text = "Multiple of Native";
this.radioButtonFactor.UseVisualStyleBackColor = true;
this.radioButtonFactor.CheckedChanged += new System.EventHandler(this.radioButtonFactor_CheckedChanged);
//
// buttonOK
//
this.buttonOK.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.buttonOK.DialogResult = System.Windows.Forms.DialogResult.OK;
this.buttonOK.Location = new System.Drawing.Point(101, 118);
this.buttonOK.Location = new System.Drawing.Point(187, 120);
this.buttonOK.Name = "buttonOK";
this.buttonOK.Size = new System.Drawing.Size(75, 23);
this.buttonOK.TabIndex = 2;
@ -217,8 +218,9 @@
//
// buttonCancel
//
this.buttonCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.buttonCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.buttonCancel.Location = new System.Drawing.Point(216, 118);
this.buttonCancel.Location = new System.Drawing.Point(268, 120);
this.buttonCancel.Name = "buttonCancel";
this.buttonCancel.Size = new System.Drawing.Size(75, 23);
this.buttonCancel.TabIndex = 3;
@ -229,20 +231,21 @@
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(395, 273);
this.ClientSize = new System.Drawing.Size(355, 155);
this.Controls.Add(this.buttonCancel);
this.Controls.Add(this.buttonOK);
this.Controls.Add(this.groupBox2);
this.Controls.Add(this.groupBox1);
this.Name = "SaturnPrefs";
this.Text = "SaturnPrefs";
this.ShowIcon = false;
this.Text = "Preferences";
this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout();
this.groupBox2.ResumeLayout(false);
this.groupBox2.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownFactor)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownFactor)).EndInit();
this.ResumeLayout(false);
}

View File

@ -1,8 +1,9 @@
using System;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Text;
using System.IO;
using System.Windows.Forms;
namespace BizHawk.MultiClient
@ -76,13 +77,13 @@ namespace BizHawk.MultiClient
public void DisableAll()
{
_changes = true;
_cheatList.ForEach(x => x.Enabled = false);
_cheatList.ForEach(x => x.Disable());
}
public void EnableAll()
{
_changes = true;
_cheatList.ForEach(x => x.Enabled = true);
_cheatList.ForEach(x => x.Enable());
}
public bool IsActive(MemoryDomain domain, int address)
@ -169,7 +170,20 @@ namespace BizHawk.MultiClient
{
try
{
int ADDR, VALUE, COMPARE;
MemoryDomain DOMAIN;
bool ENABLED;
string NAME;
if (s.Length < 6) continue;
//NewCheat c = new NewCheat(
string[] vals = s.Split('\t');
ADDR = Int32.Parse(vals[0], NumberStyles.HexNumber);
VALUE = Int32.Parse(vals[1], NumberStyles.HexNumber);
COMPARE = Int32.Parse(vals[2], NumberStyles.HexNumber);
DOMAIN = ToolHelpers.DomainByName(vals[3]);
ENABLED = vals[4] == "1";
NAME = vals[5];
}
catch
{

View File

@ -37,7 +37,6 @@ namespace BizHawk.MultiClient
public bool Enabled
{
get { if (IsSeparator) return false; else return _enabled; }
set { if (!IsSeparator) { _enabled = value; } }
}
public int? Address
@ -76,9 +75,25 @@ namespace BizHawk.MultiClient
#region Actions
public void Enable()
{
if (!IsSeparator)
{
_enabled = true;
}
}
public void Disable()
{
if (!IsSeparator)
{
_enabled = false;
}
}
public void Pulse()
{
if (!_watch.IsSeparator && _enabled)
if (!IsSeparator && _enabled)
{
if (_compare.HasValue)
{

View File

@ -132,5 +132,19 @@ namespace BizHawk.MultiClient
Global.MainForm.HexEditor1.SetDomain(domain);
Global.MainForm.HexEditor1.SetToAddresses(addresses.ToList());
}
public static MemoryDomain DomainByName(string name)
{
//Attempts to find the memory domain by name, if it fails, it defaults to index 0
foreach (MemoryDomain domain in Global.Emulator.MemoryDomains)
{
if (domain.Name == name)
{
return domain;
}
}
return Global.Emulator.MainMemory;
}
}
}