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.freezeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.addToRamWatchToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.addToRamWatchToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.MemoryViewer = new BizHawk.MultiClient.MemoryViewer();
|
this.MemoryViewer = new BizHawk.MultiClient.MemoryViewer();
|
||||||
|
this.freezeAddressToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.menuStrip1.SuspendLayout();
|
this.menuStrip1.SuspendLayout();
|
||||||
this.ViewerContextMenuStrip.SuspendLayout();
|
this.ViewerContextMenuStrip.SuspendLayout();
|
||||||
this.SuspendLayout();
|
this.SuspendLayout();
|
||||||
|
@ -108,7 +109,8 @@
|
||||||
this.enToolStripMenuItem,
|
this.enToolStripMenuItem,
|
||||||
this.toolStripSeparator2,
|
this.toolStripSeparator2,
|
||||||
this.goToAddressToolStripMenuItem,
|
this.goToAddressToolStripMenuItem,
|
||||||
this.addToRamWatchToolStripMenuItem1});
|
this.addToRamWatchToolStripMenuItem1,
|
||||||
|
this.freezeAddressToolStripMenuItem});
|
||||||
this.optionsToolStripMenuItem.Name = "optionsToolStripMenuItem";
|
this.optionsToolStripMenuItem.Name = "optionsToolStripMenuItem";
|
||||||
this.optionsToolStripMenuItem.Size = new System.Drawing.Size(56, 20);
|
this.optionsToolStripMenuItem.Size = new System.Drawing.Size(56, 20);
|
||||||
this.optionsToolStripMenuItem.Text = "&Options";
|
this.optionsToolStripMenuItem.Text = "&Options";
|
||||||
|
@ -237,10 +239,10 @@
|
||||||
//
|
//
|
||||||
// freezeToolStripMenuItem
|
// freezeToolStripMenuItem
|
||||||
//
|
//
|
||||||
this.freezeToolStripMenuItem.Enabled = false;
|
|
||||||
this.freezeToolStripMenuItem.Name = "freezeToolStripMenuItem";
|
this.freezeToolStripMenuItem.Name = "freezeToolStripMenuItem";
|
||||||
this.freezeToolStripMenuItem.Size = new System.Drawing.Size(175, 22);
|
this.freezeToolStripMenuItem.Size = new System.Drawing.Size(175, 22);
|
||||||
this.freezeToolStripMenuItem.Text = "&Freeze";
|
this.freezeToolStripMenuItem.Text = "&Freeze";
|
||||||
|
this.freezeToolStripMenuItem.Click += new System.EventHandler(this.freezeToolStripMenuItem_Click);
|
||||||
//
|
//
|
||||||
// addToRamWatchToolStripMenuItem
|
// addToRamWatchToolStripMenuItem
|
||||||
//
|
//
|
||||||
|
@ -264,6 +266,13 @@
|
||||||
this.MemoryViewer.Paint += new System.Windows.Forms.PaintEventHandler(this.MemoryViewer_Paint);
|
this.MemoryViewer.Paint += new System.Windows.Forms.PaintEventHandler(this.MemoryViewer_Paint);
|
||||||
this.MemoryViewer.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.MemoryViewer_MouseDoubleClick);
|
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
|
// HexEditor
|
||||||
//
|
//
|
||||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||||
|
@ -313,5 +322,6 @@
|
||||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator2;
|
private System.Windows.Forms.ToolStripSeparator toolStripSeparator2;
|
||||||
private System.Windows.Forms.ToolStripMenuItem addToRamWatchToolStripMenuItem1;
|
private System.Windows.Forms.ToolStripMenuItem addToRamWatchToolStripMenuItem1;
|
||||||
private System.Windows.Forms.ToolStripMenuItem saveWindowsSettingsToolStripMenuItem;
|
private System.Windows.Forms.ToolStripMenuItem saveWindowsSettingsToolStripMenuItem;
|
||||||
|
private System.Windows.Forms.ToolStripMenuItem freezeAddressToolStripMenuItem;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -110,9 +110,15 @@ namespace BizHawk.MultiClient
|
||||||
}
|
}
|
||||||
|
|
||||||
if (MemoryViewer.GetHighlightedAddress() >= 0)
|
if (MemoryViewer.GetHighlightedAddress() >= 0)
|
||||||
|
{
|
||||||
addToRamWatchToolStripMenuItem1.Enabled = true;
|
addToRamWatchToolStripMenuItem1.Enabled = true;
|
||||||
|
freezeAddressToolStripMenuItem.Enabled = true;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
addToRamWatchToolStripMenuItem1.Enabled = false;
|
addToRamWatchToolStripMenuItem1.Enabled = false;
|
||||||
|
freezeAddressToolStripMenuItem.Enabled = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SetMemoryDomain(int pos)
|
private void SetMemoryDomain(int pos)
|
||||||
|
@ -295,6 +301,41 @@ namespace BizHawk.MultiClient
|
||||||
saveWindowsSettingsToolStripMenuItem.Checked = Global.Config.HexEditorSaveWindowPosition;
|
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;
|
return Domain.Size;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public byte GetPointedValue()
|
||||||
|
{
|
||||||
|
return Domain.PeekByte(addressOver);
|
||||||
|
}
|
||||||
|
|
||||||
|
public MemoryDomain GetDomain()
|
||||||
|
{
|
||||||
|
return Domain;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue