Hex Editor - implement big/little endian toggling
This commit is contained in:
parent
80d84888df
commit
e913d5e0cb
|
@ -44,6 +44,7 @@
|
||||||
this.restoreWindowSizeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.restoreWindowSizeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.autoloadToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.autoloadToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.MemoryViewer = new BizHawk.MultiClient.MemoryViewer();
|
this.MemoryViewer = new BizHawk.MultiClient.MemoryViewer();
|
||||||
|
this.enToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.menuStrip1.SuspendLayout();
|
this.menuStrip1.SuspendLayout();
|
||||||
this.SuspendLayout();
|
this.SuspendLayout();
|
||||||
//
|
//
|
||||||
|
@ -93,6 +94,7 @@
|
||||||
this.optionsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
this.optionsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||||
this.memoryDomainsToolStripMenuItem,
|
this.memoryDomainsToolStripMenuItem,
|
||||||
this.dataSizeToolStripMenuItem,
|
this.dataSizeToolStripMenuItem,
|
||||||
|
this.enToolStripMenuItem,
|
||||||
this.goToAddressToolStripMenuItem});
|
this.goToAddressToolStripMenuItem});
|
||||||
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);
|
||||||
|
@ -178,6 +180,13 @@
|
||||||
this.MemoryViewer.TabStop = false;
|
this.MemoryViewer.TabStop = false;
|
||||||
this.MemoryViewer.Text = "RAM";
|
this.MemoryViewer.Text = "RAM";
|
||||||
//
|
//
|
||||||
|
// enToolStripMenuItem
|
||||||
|
//
|
||||||
|
this.enToolStripMenuItem.Name = "enToolStripMenuItem";
|
||||||
|
this.enToolStripMenuItem.Size = new System.Drawing.Size(192, 22);
|
||||||
|
this.enToolStripMenuItem.Text = "Big Endian";
|
||||||
|
this.enToolStripMenuItem.Click += new System.EventHandler(this.enToolStripMenuItem_Click);
|
||||||
|
//
|
||||||
// HexEditor
|
// HexEditor
|
||||||
//
|
//
|
||||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||||
|
@ -215,5 +224,6 @@
|
||||||
private System.Windows.Forms.ToolStripMenuItem settingsToolStripMenuItem;
|
private System.Windows.Forms.ToolStripMenuItem settingsToolStripMenuItem;
|
||||||
private System.Windows.Forms.ToolStripMenuItem restoreWindowSizeToolStripMenuItem;
|
private System.Windows.Forms.ToolStripMenuItem restoreWindowSizeToolStripMenuItem;
|
||||||
private System.Windows.Forms.ToolStripMenuItem autoloadToolStripMenuItem;
|
private System.Windows.Forms.ToolStripMenuItem autoloadToolStripMenuItem;
|
||||||
|
private System.Windows.Forms.ToolStripMenuItem enToolStripMenuItem;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -87,7 +87,7 @@ namespace BizHawk.MultiClient
|
||||||
private void optionsToolStripMenuItem_DropDownOpened(object sender, EventArgs e)
|
private void optionsToolStripMenuItem_DropDownOpened(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
autoloadToolStripMenuItem.Checked = Global.Config.AutoLoadHexEditor;
|
autoloadToolStripMenuItem.Checked = Global.Config.AutoLoadHexEditor;
|
||||||
|
enToolStripMenuItem.Checked = MemoryViewer.BigEndian;
|
||||||
switch (MemoryViewer.GetDataSize())
|
switch (MemoryViewer.GetDataSize())
|
||||||
{
|
{
|
||||||
default:
|
default:
|
||||||
|
@ -180,6 +180,11 @@ namespace BizHawk.MultiClient
|
||||||
MemoryViewer.SetDataSize(4);
|
MemoryViewer.SetDataSize(4);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void enToolStripMenuItem_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
MemoryViewer.BigEndian ^= true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,7 +17,7 @@ namespace BizHawk.MultiClient
|
||||||
Brush regBrush = Brushes.Black;
|
Brush regBrush = Brushes.Black;
|
||||||
int RowsVisible = 0;
|
int RowsVisible = 0;
|
||||||
int DataSize = 1;
|
int DataSize = 1;
|
||||||
bool BigEndian = false;
|
public bool BigEndian = false;
|
||||||
string Header = "";
|
string Header = "";
|
||||||
|
|
||||||
public MemoryViewer()
|
public MemoryViewer()
|
||||||
|
@ -62,8 +62,7 @@ namespace BizHawk.MultiClient
|
||||||
for (int i = 0; i < RowsVisible; i++)
|
for (int i = 0; i < RowsVisible; i++)
|
||||||
{
|
{
|
||||||
row = i + vScrollBar1.Value;
|
row = i + vScrollBar1.Value;
|
||||||
rowStr = String.Format("{0:X4}", row * 16) + " "; //TODO: num digits based on size of domain
|
rowStr = String.Format("{0:X" + GetNumDigits(Domain.Size) + "}", row * 16) + " "; //TODO: fix offsets on vertical line & digits if > 4
|
||||||
|
|
||||||
switch (DataSize)
|
switch (DataSize)
|
||||||
{
|
{
|
||||||
default:
|
default:
|
||||||
|
@ -192,5 +191,12 @@ namespace BizHawk.MultiClient
|
||||||
{
|
{
|
||||||
return DataSize;
|
return DataSize;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private int GetNumDigits(Int32 i)
|
||||||
|
{
|
||||||
|
if (i < 0x10000) return 4;
|
||||||
|
if (i < 0x1000000) return 6;
|
||||||
|
else return 8;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue