From 513e2287c48edbe4dc5dd536869dd3bae01ade30 Mon Sep 17 00:00:00 2001 From: adelikat Date: Sat, 16 May 2020 18:51:52 -0500 Subject: [PATCH] Hex Editor - bulk read the char viewer as well, fixes #2012 --- .../tools/HexEditor/HexEditor.cs | 27 +++++-------------- 1 file changed, 7 insertions(+), 20 deletions(-) diff --git a/src/BizHawk.Client.EmuHawk/tools/HexEditor/HexEditor.cs b/src/BizHawk.Client.EmuHawk/tools/HexEditor/HexEditor.cs index 5cfe10660c..e16381f91e 100644 --- a/src/BizHawk.Client.EmuHawk/tools/HexEditor/HexEditor.cs +++ b/src/BizHawk.Client.EmuHawk/tools/HexEditor/HexEditor.cs @@ -499,7 +499,8 @@ namespace BizHawk.Client.EmuHawk private string GenerateMemoryViewString(bool forWindow) { var rowStr = new StringBuilder(); - var test = MakeValues(); + var hexValues = MakeValues(DataSize); + var charValues = MakeValues(1); for (var i = 0; i < _rowsVisible; i++) { _row = i + HexScrollBar.Value; @@ -513,23 +514,8 @@ namespace BizHawk.Client.EmuHawk { if (_addr + j + DataSize <= _domain.Size) { - var addressVal = test[_addr + j]; + var addressVal = hexValues[_addr + j]; rowStr.AppendFormat(_digitFormatString, addressVal); - //int tVal = 0; - //for (int k = 0; k < DataSize; k++) - //{ - // int tNext = MakeValue(1, _addr + j + k); - // if (BigEndian) - // { - // tVal += (tNext << (k * 8)); - // } - // else - // { - // tVal += (tNext << ((DataSize - k - 1) * 8)); - // } - //} - - //rowStr.AppendFormat(_digitFormatString, tVal); } else { @@ -547,7 +533,8 @@ namespace BizHawk.Client.EmuHawk { if (_addr + k < _domain.Size) { - byte b = MakeByte(_addr + k); + + byte b = (byte)charValues[_addr + k]; char c = Remap(b); rowStr.Append(c); //winforms will be using these as escape codes for hotkeys @@ -561,7 +548,7 @@ namespace BizHawk.Client.EmuHawk return rowStr.ToString(); } - private Dictionary MakeValues() + private Dictionary MakeValues(int dataSize) { var addresses = new List(); @@ -576,7 +563,7 @@ namespace BizHawk.Client.EmuHawk for (var j = 0; j < 16; j += DataSize) { - if (_addr + j + DataSize <= _domain.Size) + if (_addr + j + dataSize <= _domain.Size) { var address = _addr + j; addresses.Add(address);