Revert "Cleanup GameShark.Designer.cs"
This reverts commit9864d8190c
, reversing changes made to0630be922b
.
This commit is contained in:
parent
9864d8190c
commit
fae4d27bed
|
@ -3979,6 +3979,8 @@ namespace BizHawk.Client.EmuHawk
|
||||||
|
|
||||||
private void gameSharkConverterToolStripMenuItem_Click(object sender, EventArgs e)
|
private void gameSharkConverterToolStripMenuItem_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
|
//TODO:
|
||||||
|
//Wire up the Connection to the Object
|
||||||
GlobalWin.Tools.Load<GameShark>();
|
GlobalWin.Tools.Load<GameShark>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,16 +1,19 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Drawing;
|
using System.Collections.Generic;
|
||||||
|
|
||||||
namespace BizHawk.Client.EmuHawk
|
namespace BizHawk.Client.EmuHawk
|
||||||
{
|
{
|
||||||
[AttributeUsage(AttributeTargets.Class)]
|
[AttributeUsage(AttributeTargets.Class)]
|
||||||
public class ToolAttributes : Attribute
|
public class ToolAttributes : Attribute
|
||||||
{
|
{
|
||||||
public ToolAttributes(bool released)
|
public ToolAttributes(bool released, string[] supportedSystems)
|
||||||
{
|
{
|
||||||
Released = released;
|
Released = released;
|
||||||
|
SupportedSystems = supportedSystems;
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool Released { get; private set; }
|
public bool Released { get; private set; }
|
||||||
|
|
||||||
|
public IEnumerable<string> SupportedSystems { get; private set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,7 +11,7 @@ using BizHawk.Emulation.Common;
|
||||||
|
|
||||||
namespace BizHawk.Client.EmuHawk
|
namespace BizHawk.Client.EmuHawk
|
||||||
{
|
{
|
||||||
[ToolAttributes(released: false)]
|
[ToolAttributes(released: false, supportedSystems: null)]
|
||||||
public partial class AutoHawk : Form, IToolFormAutoConfig
|
public partial class AutoHawk : Form, IToolFormAutoConfig
|
||||||
{
|
{
|
||||||
public AutoHawk()
|
public AutoHawk()
|
||||||
|
|
|
@ -13,7 +13,6 @@ using BizHawk.Client.Common;
|
||||||
|
|
||||||
namespace BizHawk.Client.EmuHawk
|
namespace BizHawk.Client.EmuHawk
|
||||||
{
|
{
|
||||||
[ToolAttributes(released: true)]
|
|
||||||
public partial class GenericDebugger : Form, IToolFormAutoConfig, IControlMainform
|
public partial class GenericDebugger : Form, IToolFormAutoConfig, IControlMainform
|
||||||
{
|
{
|
||||||
public GenericDebugger()
|
public GenericDebugger()
|
||||||
|
|
|
@ -50,7 +50,7 @@
|
||||||
this.btnClear.Location = new System.Drawing.Point(141, 132);
|
this.btnClear.Location = new System.Drawing.Point(141, 132);
|
||||||
this.btnClear.Name = "btnClear";
|
this.btnClear.Name = "btnClear";
|
||||||
this.btnClear.Size = new System.Drawing.Size(75, 23);
|
this.btnClear.Size = new System.Drawing.Size(75, 23);
|
||||||
this.btnClear.TabIndex = 4;
|
this.btnClear.TabIndex = 16;
|
||||||
this.btnClear.Text = "Clear";
|
this.btnClear.Text = "Clear";
|
||||||
this.btnClear.UseVisualStyleBackColor = true;
|
this.btnClear.UseVisualStyleBackColor = true;
|
||||||
this.btnClear.Click += new System.EventHandler(this.btnClear_Click);
|
this.btnClear.Click += new System.EventHandler(this.btnClear_Click);
|
||||||
|
@ -69,14 +69,14 @@
|
||||||
this.txtCheat.Location = new System.Drawing.Point(128, 106);
|
this.txtCheat.Location = new System.Drawing.Point(128, 106);
|
||||||
this.txtCheat.Name = "txtCheat";
|
this.txtCheat.Name = "txtCheat";
|
||||||
this.txtCheat.Size = new System.Drawing.Size(100, 20);
|
this.txtCheat.Size = new System.Drawing.Size(100, 20);
|
||||||
this.txtCheat.TabIndex = 2;
|
this.txtCheat.TabIndex = 10;
|
||||||
//
|
//
|
||||||
// btnGo
|
// btnGo
|
||||||
//
|
//
|
||||||
this.btnGo.Location = new System.Drawing.Point(35, 131);
|
this.btnGo.Location = new System.Drawing.Point(35, 131);
|
||||||
this.btnGo.Name = "btnGo";
|
this.btnGo.Name = "btnGo";
|
||||||
this.btnGo.Size = new System.Drawing.Size(75, 23);
|
this.btnGo.Size = new System.Drawing.Size(75, 23);
|
||||||
this.btnGo.TabIndex = 3;
|
this.btnGo.TabIndex = 9;
|
||||||
this.btnGo.Text = "Convert";
|
this.btnGo.Text = "Convert";
|
||||||
this.btnGo.UseVisualStyleBackColor = true;
|
this.btnGo.UseVisualStyleBackColor = true;
|
||||||
this.btnGo.Click += new System.EventHandler(this.btnGo_Click);
|
this.btnGo.Click += new System.EventHandler(this.btnGo_Click);
|
||||||
|
@ -95,7 +95,7 @@
|
||||||
this.txtDescription.Location = new System.Drawing.Point(22, 106);
|
this.txtDescription.Location = new System.Drawing.Point(22, 106);
|
||||||
this.txtDescription.Name = "txtDescription";
|
this.txtDescription.Name = "txtDescription";
|
||||||
this.txtDescription.Size = new System.Drawing.Size(100, 20);
|
this.txtDescription.Size = new System.Drawing.Size(100, 20);
|
||||||
this.txtDescription.TabIndex = 1;
|
this.txtDescription.TabIndex = 18;
|
||||||
//
|
//
|
||||||
// GameShark
|
// GameShark
|
||||||
//
|
//
|
||||||
|
|
|
@ -1,17 +1,20 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using BizHawk.Emulation.Common;
|
using BizHawk.Emulation.Common;
|
||||||
|
//Using the GameBoy Core Directly, is an issue with the limitations for what this tool does.
|
||||||
|
using BizHawk.Emulation.Cores.Nintendo.Gameboy;
|
||||||
using BizHawk.Client.Common;
|
using BizHawk.Client.Common;
|
||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
|
|
||||||
namespace BizHawk.Client.EmuHawk
|
namespace BizHawk.Client.EmuHawk
|
||||||
{
|
{
|
||||||
|
[ToolAttributes(released: true, supportedSystems: new[] { "GB" })]
|
||||||
public partial class GameShark : Form, IToolForm, IToolFormAutoConfig
|
public partial class GameShark : Form, IToolForm, IToolFormAutoConfig
|
||||||
{
|
{
|
||||||
[ToolAttributes(released: true, supportedSystems: new[] { "GB" })]
|
|
||||||
//We are using Memory Domains, so we NEED this.
|
//We are using Memory Domains, so we NEED this.
|
||||||
[RequiredService]
|
[RequiredService]
|
||||||
private IMemoryDomains MemoryDomains { get; set; }
|
private IMemoryDomains MemoryDomains { get; set; }
|
||||||
|
|
||||||
public GameShark()
|
public GameShark()
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
|
@ -32,7 +35,7 @@ namespace BizHawk.Client.EmuHawk
|
||||||
|
|
||||||
public void FastUpdate()
|
public void FastUpdate()
|
||||||
{
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Restart()
|
public void Restart()
|
||||||
|
@ -71,8 +74,8 @@ namespace BizHawk.Client.EmuHawk
|
||||||
RAMAddress = RAMAddress + parseString.Remove(2, 2);
|
RAMAddress = RAMAddress + parseString.Remove(2, 2);
|
||||||
//We now have our values.
|
//We now have our values.
|
||||||
//This part, is annoying...
|
//This part, is annoying...
|
||||||
try
|
//try
|
||||||
{
|
//{
|
||||||
//A Watch needs to be generated so we can make a cheat out of that. This is due to how the Cheat engine works.
|
//A Watch needs to be generated so we can make a cheat out of that. This is due to how the Cheat engine works.
|
||||||
//System Bus Domain, The Address to Watch, Byte size (Byte), Hex Display, Description. Not Big Endian.
|
//System Bus Domain, The Address to Watch, Byte size (Byte), Hex Display, Description. Not Big Endian.
|
||||||
var watch = Watch.GenerateWatch(MemoryDomains["System Bus"], long.Parse(RAMAddress, NumberStyles.HexNumber), Watch.WatchSize.Byte, Watch.DisplayType.Hex, txtDescription.Text, false);
|
var watch = Watch.GenerateWatch(MemoryDomains["System Bus"], long.Parse(RAMAddress, NumberStyles.HexNumber), Watch.WatchSize.Byte, Watch.DisplayType.Hex, txtDescription.Text, false);
|
||||||
|
@ -81,11 +84,11 @@ namespace BizHawk.Client.EmuHawk
|
||||||
//Clear old Inputs
|
//Clear old Inputs
|
||||||
txtCheat.Clear();
|
txtCheat.Clear();
|
||||||
txtDescription.Clear();
|
txtDescription.Clear();
|
||||||
}
|
/*}
|
||||||
catch (Exception ex)
|
catch
|
||||||
{
|
{
|
||||||
MessageBox.Show("An Error occured:" + ex.GetType().ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
MessageBox.Show("An Error occured", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||||
}
|
} */
|
||||||
}
|
}
|
||||||
|
|
||||||
private void btnClear_Click(object sender, EventArgs e)
|
private void btnClear_Click(object sender, EventArgs e)
|
||||||
|
@ -94,5 +97,10 @@ namespace BizHawk.Client.EmuHawk
|
||||||
txtCheat.Clear();
|
txtCheat.Clear();
|
||||||
txtDescription.Clear();
|
txtDescription.Clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void GameShark_Load(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -43,10 +43,14 @@ namespace BizHawk.Client.EmuHawk
|
||||||
public IToolForm Load(Type toolType, bool focus = true)
|
public IToolForm Load(Type toolType, bool focus = true)
|
||||||
{
|
{
|
||||||
if (!typeof(IToolForm).IsAssignableFrom(toolType))
|
if (!typeof(IToolForm).IsAssignableFrom(toolType))
|
||||||
throw new ArgumentException(String.Format("Type {0} does not implement IToolForm.", toolType.Name));
|
{
|
||||||
|
throw new ArgumentException(string.Format("Type {0} does not implement IToolForm.", toolType.Name));
|
||||||
|
}
|
||||||
|
|
||||||
if (!ServiceInjector.IsAvailable(Global.Emulator.ServiceProvider, toolType))
|
if (!IsAvailable(toolType))
|
||||||
|
{
|
||||||
return null;
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
var existingTool = _tools.FirstOrDefault(x => toolType.IsAssignableFrom(x.GetType()));
|
var existingTool = _tools.FirstOrDefault(x => toolType.IsAssignableFrom(x.GetType()));
|
||||||
|
|
||||||
|
@ -63,6 +67,7 @@ namespace BizHawk.Client.EmuHawk
|
||||||
existingTool.Show();
|
existingTool.Show();
|
||||||
existingTool.Focus();
|
existingTool.Focus();
|
||||||
}
|
}
|
||||||
|
|
||||||
return existingTool;
|
return existingTool;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -580,7 +585,37 @@ namespace BizHawk.Client.EmuHawk
|
||||||
|
|
||||||
public bool IsAvailable(Type t)
|
public bool IsAvailable(Type t)
|
||||||
{
|
{
|
||||||
return ServiceInjector.IsAvailable(Global.Emulator.ServiceProvider, t);
|
if (!ServiceInjector.IsAvailable(Global.Emulator.ServiceProvider, t))
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
var tool = Assembly
|
||||||
|
.GetAssembly(typeof(IToolForm))
|
||||||
|
.GetTypes()
|
||||||
|
.FirstOrDefault(type => type == t);
|
||||||
|
|
||||||
|
if (tool == null) // This isn't a tool, must not be available
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
var attr = tool.GetCustomAttributes(false)
|
||||||
|
.OfType<ToolAttributes>()
|
||||||
|
.FirstOrDefault();
|
||||||
|
|
||||||
|
if (attr == null) // If no attributes there is no supported systems documented so assume all
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// If no supported systems mentioned assume all
|
||||||
|
if (attr.SupportedSystems != null && attr.SupportedSystems.Any())
|
||||||
|
{
|
||||||
|
return attr.SupportedSystems.Contains(Global.Emulator.SystemId);
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Eventually we want a single game genie tool, then this mess goes away
|
// Eventually we want a single game genie tool, then this mess goes away
|
||||||
|
|
Loading…
Reference in New Issue