Hex Editor - freeze address feature
This commit is contained in:
parent
b89f576fae
commit
d21a4ecd88
|
@ -55,6 +55,7 @@
|
|||
this.freezeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.addToRamWatchToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.MemoryViewer = new BizHawk.MultiClient.MemoryViewer();
|
||||
this.freezeAddressToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.menuStrip1.SuspendLayout();
|
||||
this.ViewerContextMenuStrip.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
|
@ -108,7 +109,8 @@
|
|||
this.enToolStripMenuItem,
|
||||
this.toolStripSeparator2,
|
||||
this.goToAddressToolStripMenuItem,
|
||||
this.addToRamWatchToolStripMenuItem1});
|
||||
this.addToRamWatchToolStripMenuItem1,
|
||||
this.freezeAddressToolStripMenuItem});
|
||||
this.optionsToolStripMenuItem.Name = "optionsToolStripMenuItem";
|
||||
this.optionsToolStripMenuItem.Size = new System.Drawing.Size(56, 20);
|
||||
this.optionsToolStripMenuItem.Text = "&Options";
|
||||
|
@ -237,10 +239,10 @@
|
|||
//
|
||||
// freezeToolStripMenuItem
|
||||
//
|
||||
this.freezeToolStripMenuItem.Enabled = false;
|
||||
this.freezeToolStripMenuItem.Name = "freezeToolStripMenuItem";
|
||||
this.freezeToolStripMenuItem.Size = new System.Drawing.Size(175, 22);
|
||||
this.freezeToolStripMenuItem.Text = "&Freeze";
|
||||
this.freezeToolStripMenuItem.Click += new System.EventHandler(this.freezeToolStripMenuItem_Click);
|
||||
//
|
||||
// addToRamWatchToolStripMenuItem
|
||||
//
|
||||
|
@ -264,6 +266,13 @@
|
|||
this.MemoryViewer.Paint += new System.Windows.Forms.PaintEventHandler(this.MemoryViewer_Paint);
|
||||
this.MemoryViewer.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.MemoryViewer_MouseDoubleClick);
|
||||
//
|
||||
// freezeAddressToolStripMenuItem
|
||||
//
|
||||
this.freezeAddressToolStripMenuItem.Name = "freezeAddressToolStripMenuItem";
|
||||
this.freezeAddressToolStripMenuItem.Size = new System.Drawing.Size(204, 22);
|
||||
this.freezeAddressToolStripMenuItem.Text = "&Freeze Address";
|
||||
this.freezeAddressToolStripMenuItem.Click += new System.EventHandler(this.freezeAddressToolStripMenuItem_Click);
|
||||
//
|
||||
// HexEditor
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
|
@ -313,5 +322,6 @@
|
|||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator2;
|
||||
private System.Windows.Forms.ToolStripMenuItem addToRamWatchToolStripMenuItem1;
|
||||
private System.Windows.Forms.ToolStripMenuItem saveWindowsSettingsToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem freezeAddressToolStripMenuItem;
|
||||
}
|
||||
}
|
|
@ -110,9 +110,15 @@ namespace BizHawk.MultiClient
|
|||
}
|
||||
|
||||
if (MemoryViewer.GetHighlightedAddress() >= 0)
|
||||
{
|
||||
addToRamWatchToolStripMenuItem1.Enabled = true;
|
||||
freezeAddressToolStripMenuItem.Enabled = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
addToRamWatchToolStripMenuItem1.Enabled = false;
|
||||
freezeAddressToolStripMenuItem.Enabled = false;
|
||||
}
|
||||
}
|
||||
|
||||
private void SetMemoryDomain(int pos)
|
||||
|
@ -295,6 +301,41 @@ namespace BizHawk.MultiClient
|
|||
saveWindowsSettingsToolStripMenuItem.Checked = Global.Config.HexEditorSaveWindowPosition;
|
||||
}
|
||||
|
||||
|
||||
private void freezeToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
FreezeAddress();
|
||||
}
|
||||
|
||||
private void FreezeAddress()
|
||||
{
|
||||
int address = MemoryViewer.GetPointedAddress();
|
||||
if (address >= 0)
|
||||
{
|
||||
Cheat c = new Cheat();
|
||||
c.address = address;
|
||||
c.value = MemoryViewer.GetPointedValue();
|
||||
c.domain = MemoryViewer.GetDomain();
|
||||
//TODO: multibyte
|
||||
switch (MemoryViewer.GetDataSize())
|
||||
{
|
||||
default:
|
||||
case 1:
|
||||
break;
|
||||
case 2:
|
||||
break;
|
||||
case 4:
|
||||
break;
|
||||
}
|
||||
|
||||
//w.bigendian = MemoryViewer.BigEndian;
|
||||
|
||||
Global.MainForm.Cheats1.AddCheat(c);
|
||||
}
|
||||
}
|
||||
|
||||
private void freezeAddressToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
FreezeAddress();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -408,5 +408,15 @@ namespace BizHawk.MultiClient
|
|||
{
|
||||
return Domain.Size;
|
||||
}
|
||||
|
||||
public byte GetPointedValue()
|
||||
{
|
||||
return Domain.PeekByte(addressOver);
|
||||
}
|
||||
|
||||
public MemoryDomain GetDomain()
|
||||
{
|
||||
return Domain;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue