Hex Editor - fix hex editing of 4 byte values, added a Unfreeze All menu/context menu item
This commit is contained in:
parent
550261b831
commit
4017e8a068
|
@ -815,6 +815,15 @@ namespace BizHawk.MultiClient
|
|||
UpdateNumberOfCheats();
|
||||
}
|
||||
|
||||
public void RemoveAllCheats()
|
||||
{
|
||||
Global.CheatList.Clear();
|
||||
MemoryPulse.Clear();
|
||||
if (!this.IsHandleCreated || this.IsDisposed) return;
|
||||
CheatListView.Refresh();
|
||||
UpdateNumberOfCheats();
|
||||
}
|
||||
|
||||
private void disableAllCheatsToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
DisableAllCheats();
|
||||
|
|
|
@ -58,6 +58,8 @@
|
|||
this.MemoryViewerBox = new System.Windows.Forms.GroupBox();
|
||||
this.vScrollBar1 = new System.Windows.Forms.VScrollBar();
|
||||
this.AddressesLabel = new System.Windows.Forms.Label();
|
||||
this.unfreezeAllToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.unfreezeAllToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.menuStrip1.SuspendLayout();
|
||||
this.ViewerContextMenuStrip.SuspendLayout();
|
||||
this.MemoryViewerBox.SuspendLayout();
|
||||
|
@ -82,27 +84,27 @@
|
|||
this.toolStripSeparator1,
|
||||
this.exitToolStripMenuItem});
|
||||
this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
|
||||
this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20);
|
||||
this.fileToolStripMenuItem.Size = new System.Drawing.Size(35, 20);
|
||||
this.fileToolStripMenuItem.Text = "&File";
|
||||
//
|
||||
// dumpToFileToolStripMenuItem
|
||||
//
|
||||
this.dumpToFileToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.SaveAs;
|
||||
this.dumpToFileToolStripMenuItem.Name = "dumpToFileToolStripMenuItem";
|
||||
this.dumpToFileToolStripMenuItem.Size = new System.Drawing.Size(149, 22);
|
||||
this.dumpToFileToolStripMenuItem.Size = new System.Drawing.Size(154, 22);
|
||||
this.dumpToFileToolStripMenuItem.Text = "&Dump to file...";
|
||||
this.dumpToFileToolStripMenuItem.Click += new System.EventHandler(this.dumpToFileToolStripMenuItem_Click);
|
||||
//
|
||||
// toolStripSeparator1
|
||||
//
|
||||
this.toolStripSeparator1.Name = "toolStripSeparator1";
|
||||
this.toolStripSeparator1.Size = new System.Drawing.Size(146, 6);
|
||||
this.toolStripSeparator1.Size = new System.Drawing.Size(151, 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(149, 22);
|
||||
this.exitToolStripMenuItem.Size = new System.Drawing.Size(154, 22);
|
||||
this.exitToolStripMenuItem.Text = "E&xit";
|
||||
this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click);
|
||||
//
|
||||
|
@ -115,16 +117,17 @@
|
|||
this.toolStripSeparator2,
|
||||
this.goToAddressToolStripMenuItem,
|
||||
this.addToRamWatchToolStripMenuItem1,
|
||||
this.freezeAddressToolStripMenuItem});
|
||||
this.freezeAddressToolStripMenuItem,
|
||||
this.unfreezeAllToolStripMenuItem});
|
||||
this.optionsToolStripMenuItem.Name = "optionsToolStripMenuItem";
|
||||
this.optionsToolStripMenuItem.Size = new System.Drawing.Size(61, 20);
|
||||
this.optionsToolStripMenuItem.Size = new System.Drawing.Size(56, 20);
|
||||
this.optionsToolStripMenuItem.Text = "&Options";
|
||||
this.optionsToolStripMenuItem.DropDownOpened += new System.EventHandler(this.optionsToolStripMenuItem_DropDownOpened);
|
||||
//
|
||||
// memoryDomainsToolStripMenuItem
|
||||
//
|
||||
this.memoryDomainsToolStripMenuItem.Name = "memoryDomainsToolStripMenuItem";
|
||||
this.memoryDomainsToolStripMenuItem.Size = new System.Drawing.Size(199, 22);
|
||||
this.memoryDomainsToolStripMenuItem.Size = new System.Drawing.Size(204, 22);
|
||||
this.memoryDomainsToolStripMenuItem.Text = "&Memory Domains";
|
||||
this.memoryDomainsToolStripMenuItem.DropDownOpened += new System.EventHandler(this.memoryDomainsToolStripMenuItem_DropDownOpened);
|
||||
//
|
||||
|
@ -135,47 +138,47 @@
|
|||
this.byteToolStripMenuItem1,
|
||||
this.byteToolStripMenuItem2});
|
||||
this.dataSizeToolStripMenuItem.Name = "dataSizeToolStripMenuItem";
|
||||
this.dataSizeToolStripMenuItem.Size = new System.Drawing.Size(199, 22);
|
||||
this.dataSizeToolStripMenuItem.Size = new System.Drawing.Size(204, 22);
|
||||
this.dataSizeToolStripMenuItem.Text = "Data Size";
|
||||
//
|
||||
// byteToolStripMenuItem
|
||||
//
|
||||
this.byteToolStripMenuItem.Name = "byteToolStripMenuItem";
|
||||
this.byteToolStripMenuItem.Size = new System.Drawing.Size(106, 22);
|
||||
this.byteToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
|
||||
this.byteToolStripMenuItem.Text = "1 Byte";
|
||||
this.byteToolStripMenuItem.Click += new System.EventHandler(this.byteToolStripMenuItem_Click);
|
||||
//
|
||||
// byteToolStripMenuItem1
|
||||
//
|
||||
this.byteToolStripMenuItem1.Name = "byteToolStripMenuItem1";
|
||||
this.byteToolStripMenuItem1.Size = new System.Drawing.Size(106, 22);
|
||||
this.byteToolStripMenuItem1.Size = new System.Drawing.Size(152, 22);
|
||||
this.byteToolStripMenuItem1.Text = "2 Byte";
|
||||
this.byteToolStripMenuItem1.Click += new System.EventHandler(this.byteToolStripMenuItem1_Click);
|
||||
//
|
||||
// byteToolStripMenuItem2
|
||||
//
|
||||
this.byteToolStripMenuItem2.Name = "byteToolStripMenuItem2";
|
||||
this.byteToolStripMenuItem2.Size = new System.Drawing.Size(106, 22);
|
||||
this.byteToolStripMenuItem2.Size = new System.Drawing.Size(152, 22);
|
||||
this.byteToolStripMenuItem2.Text = "4 Byte";
|
||||
this.byteToolStripMenuItem2.Click += new System.EventHandler(this.byteToolStripMenuItem2_Click);
|
||||
//
|
||||
// enToolStripMenuItem
|
||||
//
|
||||
this.enToolStripMenuItem.Name = "enToolStripMenuItem";
|
||||
this.enToolStripMenuItem.Size = new System.Drawing.Size(199, 22);
|
||||
this.enToolStripMenuItem.Size = new System.Drawing.Size(204, 22);
|
||||
this.enToolStripMenuItem.Text = "Big Endian";
|
||||
this.enToolStripMenuItem.Click += new System.EventHandler(this.enToolStripMenuItem_Click);
|
||||
//
|
||||
// toolStripSeparator2
|
||||
//
|
||||
this.toolStripSeparator2.Name = "toolStripSeparator2";
|
||||
this.toolStripSeparator2.Size = new System.Drawing.Size(196, 6);
|
||||
this.toolStripSeparator2.Size = new System.Drawing.Size(201, 6);
|
||||
//
|
||||
// goToAddressToolStripMenuItem
|
||||
//
|
||||
this.goToAddressToolStripMenuItem.Name = "goToAddressToolStripMenuItem";
|
||||
this.goToAddressToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.G)));
|
||||
this.goToAddressToolStripMenuItem.Size = new System.Drawing.Size(199, 22);
|
||||
this.goToAddressToolStripMenuItem.Size = new System.Drawing.Size(204, 22);
|
||||
this.goToAddressToolStripMenuItem.Text = "&Go to Address...";
|
||||
this.goToAddressToolStripMenuItem.Click += new System.EventHandler(this.goToAddressToolStripMenuItem_Click);
|
||||
//
|
||||
|
@ -183,7 +186,7 @@
|
|||
//
|
||||
this.addToRamWatchToolStripMenuItem1.Image = global::BizHawk.MultiClient.Properties.Resources.FindHS;
|
||||
this.addToRamWatchToolStripMenuItem1.Name = "addToRamWatchToolStripMenuItem1";
|
||||
this.addToRamWatchToolStripMenuItem1.Size = new System.Drawing.Size(199, 22);
|
||||
this.addToRamWatchToolStripMenuItem1.Size = new System.Drawing.Size(204, 22);
|
||||
this.addToRamWatchToolStripMenuItem1.Text = "Add to Ram Watch";
|
||||
this.addToRamWatchToolStripMenuItem1.Click += new System.EventHandler(this.addToRamWatchToolStripMenuItem1_Click);
|
||||
//
|
||||
|
@ -191,7 +194,7 @@
|
|||
//
|
||||
this.freezeAddressToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.Freeze;
|
||||
this.freezeAddressToolStripMenuItem.Name = "freezeAddressToolStripMenuItem";
|
||||
this.freezeAddressToolStripMenuItem.Size = new System.Drawing.Size(199, 22);
|
||||
this.freezeAddressToolStripMenuItem.Size = new System.Drawing.Size(204, 22);
|
||||
this.freezeAddressToolStripMenuItem.Text = "&Freeze Address";
|
||||
this.freezeAddressToolStripMenuItem.Click += new System.EventHandler(this.freezeAddressToolStripMenuItem_Click);
|
||||
//
|
||||
|
@ -203,33 +206,33 @@
|
|||
this.toolStripSeparator3,
|
||||
this.restoreWindowSizeToolStripMenuItem});
|
||||
this.settingsToolStripMenuItem.Name = "settingsToolStripMenuItem";
|
||||
this.settingsToolStripMenuItem.Size = new System.Drawing.Size(61, 20);
|
||||
this.settingsToolStripMenuItem.Size = new System.Drawing.Size(58, 20);
|
||||
this.settingsToolStripMenuItem.Text = "&Settings";
|
||||
this.settingsToolStripMenuItem.DropDownOpened += new System.EventHandler(this.settingsToolStripMenuItem_DropDownOpened);
|
||||
//
|
||||
// autoloadToolStripMenuItem
|
||||
//
|
||||
this.autoloadToolStripMenuItem.Name = "autoloadToolStripMenuItem";
|
||||
this.autoloadToolStripMenuItem.Size = new System.Drawing.Size(192, 22);
|
||||
this.autoloadToolStripMenuItem.Size = new System.Drawing.Size(194, 22);
|
||||
this.autoloadToolStripMenuItem.Text = "Auto-load";
|
||||
this.autoloadToolStripMenuItem.Click += new System.EventHandler(this.autoloadToolStripMenuItem_Click);
|
||||
//
|
||||
// saveWindowsSettingsToolStripMenuItem
|
||||
//
|
||||
this.saveWindowsSettingsToolStripMenuItem.Name = "saveWindowsSettingsToolStripMenuItem";
|
||||
this.saveWindowsSettingsToolStripMenuItem.Size = new System.Drawing.Size(192, 22);
|
||||
this.saveWindowsSettingsToolStripMenuItem.Size = new System.Drawing.Size(194, 22);
|
||||
this.saveWindowsSettingsToolStripMenuItem.Text = "Save windows settings";
|
||||
this.saveWindowsSettingsToolStripMenuItem.Click += new System.EventHandler(this.saveWindowsSettingsToolStripMenuItem_Click);
|
||||
//
|
||||
// toolStripSeparator3
|
||||
//
|
||||
this.toolStripSeparator3.Name = "toolStripSeparator3";
|
||||
this.toolStripSeparator3.Size = new System.Drawing.Size(189, 6);
|
||||
this.toolStripSeparator3.Size = new System.Drawing.Size(191, 6);
|
||||
//
|
||||
// restoreWindowSizeToolStripMenuItem
|
||||
//
|
||||
this.restoreWindowSizeToolStripMenuItem.Name = "restoreWindowSizeToolStripMenuItem";
|
||||
this.restoreWindowSizeToolStripMenuItem.Size = new System.Drawing.Size(192, 22);
|
||||
this.restoreWindowSizeToolStripMenuItem.Size = new System.Drawing.Size(194, 22);
|
||||
this.restoreWindowSizeToolStripMenuItem.Text = "&Restore Window Size";
|
||||
this.restoreWindowSizeToolStripMenuItem.Click += new System.EventHandler(this.restoreWindowSizeToolStripMenuItem_Click);
|
||||
//
|
||||
|
@ -238,15 +241,16 @@
|
|||
this.ViewerContextMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.pokeToolStripMenuItem,
|
||||
this.freezeToolStripMenuItem,
|
||||
this.addToRamWatchToolStripMenuItem});
|
||||
this.addToRamWatchToolStripMenuItem,
|
||||
this.unfreezeAllToolStripMenuItem1});
|
||||
this.ViewerContextMenuStrip.Name = "ViewerContextMenuStrip";
|
||||
this.ViewerContextMenuStrip.Size = new System.Drawing.Size(175, 70);
|
||||
this.ViewerContextMenuStrip.Size = new System.Drawing.Size(176, 114);
|
||||
//
|
||||
// pokeToolStripMenuItem
|
||||
//
|
||||
this.pokeToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.poke;
|
||||
this.pokeToolStripMenuItem.Name = "pokeToolStripMenuItem";
|
||||
this.pokeToolStripMenuItem.Size = new System.Drawing.Size(174, 22);
|
||||
this.pokeToolStripMenuItem.Size = new System.Drawing.Size(175, 22);
|
||||
this.pokeToolStripMenuItem.Text = "&Poke";
|
||||
this.pokeToolStripMenuItem.Click += new System.EventHandler(this.pokeToolStripMenuItem_Click);
|
||||
//
|
||||
|
@ -254,7 +258,7 @@
|
|||
//
|
||||
this.freezeToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.Freeze;
|
||||
this.freezeToolStripMenuItem.Name = "freezeToolStripMenuItem";
|
||||
this.freezeToolStripMenuItem.Size = new System.Drawing.Size(174, 22);
|
||||
this.freezeToolStripMenuItem.Size = new System.Drawing.Size(175, 22);
|
||||
this.freezeToolStripMenuItem.Text = "&Freeze";
|
||||
this.freezeToolStripMenuItem.Click += new System.EventHandler(this.freezeToolStripMenuItem_Click);
|
||||
//
|
||||
|
@ -262,7 +266,7 @@
|
|||
//
|
||||
this.addToRamWatchToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.FindHS;
|
||||
this.addToRamWatchToolStripMenuItem.Name = "addToRamWatchToolStripMenuItem";
|
||||
this.addToRamWatchToolStripMenuItem.Size = new System.Drawing.Size(174, 22);
|
||||
this.addToRamWatchToolStripMenuItem.Size = new System.Drawing.Size(175, 22);
|
||||
this.addToRamWatchToolStripMenuItem.Text = "&Add to Ram Watch";
|
||||
this.addToRamWatchToolStripMenuItem.Click += new System.EventHandler(this.addToRamWatchToolStripMenuItem_Click);
|
||||
//
|
||||
|
@ -309,6 +313,22 @@
|
|||
this.AddressesLabel.MouseMove += new System.Windows.Forms.MouseEventHandler(this.AddressesLabel_MouseMove);
|
||||
this.AddressesLabel.MouseClick += new System.Windows.Forms.MouseEventHandler(this.AddressesLabel_MouseClick);
|
||||
//
|
||||
// unfreezeAllToolStripMenuItem
|
||||
//
|
||||
this.unfreezeAllToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.Unfreeze;
|
||||
this.unfreezeAllToolStripMenuItem.Name = "unfreezeAllToolStripMenuItem";
|
||||
this.unfreezeAllToolStripMenuItem.Size = new System.Drawing.Size(204, 22);
|
||||
this.unfreezeAllToolStripMenuItem.Text = "Unfreeze All";
|
||||
this.unfreezeAllToolStripMenuItem.Click += new System.EventHandler(this.unfreezeAllToolStripMenuItem_Click);
|
||||
//
|
||||
// unfreezeAllToolStripMenuItem1
|
||||
//
|
||||
this.unfreezeAllToolStripMenuItem1.Image = global::BizHawk.MultiClient.Properties.Resources.Unfreeze;
|
||||
this.unfreezeAllToolStripMenuItem1.Name = "unfreezeAllToolStripMenuItem1";
|
||||
this.unfreezeAllToolStripMenuItem1.Size = new System.Drawing.Size(175, 22);
|
||||
this.unfreezeAllToolStripMenuItem1.Text = "&Unfreeze All";
|
||||
this.unfreezeAllToolStripMenuItem1.Click += new System.EventHandler(this.unfreezeAllToolStripMenuItem1_Click);
|
||||
//
|
||||
// HexEditor
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
|
@ -366,5 +386,7 @@
|
|||
private System.Windows.Forms.GroupBox MemoryViewerBox;
|
||||
private System.Windows.Forms.Label AddressesLabel;
|
||||
private System.Windows.Forms.VScrollBar vScrollBar1;
|
||||
private System.Windows.Forms.ToolStripMenuItem unfreezeAllToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem unfreezeAllToolStripMenuItem1;
|
||||
}
|
||||
}
|
|
@ -17,19 +17,16 @@ namespace BizHawk.MultiClient
|
|||
//Find text box - autohighlights matches, and shows total matches
|
||||
//Users can customize background, & text colors
|
||||
//Tool strip
|
||||
//Show num addresses in group box title (show "address" if 1 address)
|
||||
//big font for currently mouse over'ed value?
|
||||
//Unfreeze All items - this one is tricky though, the dialog should keep track of
|
||||
// which addresses were frozen using this dialog (its own cheatList), and only
|
||||
// remove those from the Cheats window cheat list
|
||||
//4 byte hex editing
|
||||
int defaultWidth;
|
||||
int defaultHeight;
|
||||
List<ToolStripMenuItem> domainMenuItems = new List<ToolStripMenuItem>();
|
||||
int RowsVisible = 0;
|
||||
string Header = "";
|
||||
int NumDigits = 4;
|
||||
char[] nibbles = { 'G', 'G', 'G', 'G' }; //G = off 0-9 & A-F are acceptable values
|
||||
char[] nibbles = { 'G', 'G', 'G', 'G' , 'G', 'G', 'G', 'G'}; //G = off 0-9 & A-F are acceptable values
|
||||
int addressHighlighted = -1;
|
||||
int addressOver = -1;
|
||||
int addrOffset = 0; //If addresses are > 4 digits, this offset is how much the columns are moved to the right
|
||||
|
@ -316,7 +313,7 @@ namespace BizHawk.MultiClient
|
|||
|
||||
private void ClearNibbles()
|
||||
{
|
||||
for (int x = 0; x < 4; x++)
|
||||
for (int x = 0; x < 8; x++)
|
||||
nibbles[x] = 'G';
|
||||
}
|
||||
|
||||
|
@ -893,7 +890,61 @@ namespace BizHawk.MultiClient
|
|||
}
|
||||
break;
|
||||
case 4:
|
||||
if (nibbles[0] == 'G')
|
||||
{
|
||||
nibbles[0] = (char)e.KeyCode;
|
||||
info = nibbles[0].ToString();
|
||||
}
|
||||
else if (nibbles[1] == 'G')
|
||||
{
|
||||
nibbles[1] = (char)e.KeyCode;
|
||||
info = nibbles[1].ToString();
|
||||
}
|
||||
else if (nibbles[2] == 'G')
|
||||
{
|
||||
nibbles[2] = (char)e.KeyCode;
|
||||
info = nibbles[2].ToString();
|
||||
}
|
||||
else if (nibbles[3] == 'G')
|
||||
{
|
||||
nibbles[3] = (char)e.KeyCode;
|
||||
info = nibbles[3].ToString();
|
||||
}
|
||||
else if (nibbles[4] == 'G')
|
||||
{
|
||||
nibbles[4] = (char)e.KeyCode;
|
||||
info = nibbles[4].ToString();
|
||||
}
|
||||
else if (nibbles[5] == 'G')
|
||||
{
|
||||
nibbles[5] = (char)e.KeyCode;
|
||||
info = nibbles[5].ToString();
|
||||
}
|
||||
else if (nibbles[6] == 'G')
|
||||
{
|
||||
nibbles[6] = (char)e.KeyCode;
|
||||
info = nibbles[6].ToString();
|
||||
}
|
||||
else if (nibbles[7] == 'G')
|
||||
{
|
||||
string temp = nibbles[0].ToString() + nibbles[1].ToString();
|
||||
byte x1 = byte.Parse(temp, NumberStyles.HexNumber);
|
||||
|
||||
string temp2 = nibbles[2].ToString() + nibbles[3].ToString();
|
||||
byte x2 = byte.Parse(temp2, NumberStyles.HexNumber);
|
||||
|
||||
string temp3 = nibbles[4].ToString() + nibbles[5].ToString();
|
||||
byte x3 = byte.Parse(temp3, NumberStyles.HexNumber);
|
||||
|
||||
string temp4 = nibbles[6].ToString() + ((char)e.KeyCode).ToString();
|
||||
byte x4 = byte.Parse(temp4, NumberStyles.HexNumber);
|
||||
|
||||
PokeWord(addressHighlighted, x1, x2);
|
||||
PokeWord(addressHighlighted + 2, x3, x4);
|
||||
ClearNibbles();
|
||||
SetHighlighted(addressHighlighted + 4);
|
||||
UpdateValues();
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -911,5 +962,21 @@ namespace BizHawk.MultiClient
|
|||
Domain.PokeByte(addr + 1, _2);
|
||||
}
|
||||
}
|
||||
|
||||
private void RemoveAllCheats()
|
||||
{
|
||||
Global.MainForm.Cheats1.RemoveAllCheats();
|
||||
MemoryViewerBox.Refresh();
|
||||
}
|
||||
|
||||
private void unfreezeAllToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
RemoveAllCheats();
|
||||
}
|
||||
|
||||
private void unfreezeAllToolStripMenuItem1_Click(object sender, EventArgs e)
|
||||
{
|
||||
RemoveAllCheats();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue