-Fixed my GetMnemonic crash fix. It's "Null Controller", not "NULL Controller".
-Made it so that each new search zeroes out the change count. --This prevents all non-zero items from starting out with 1 change. --A similar fix needs to be applied to Ram Watch (Filing issue...). -Allowed changing data size, endian, and unaligned address setting in the middle of the search and maintaining valid values, fixing Issue 72 (The last open Ram Search issue until my "Difference" idea is hopefully accepted). --Unlike my previous model, this does not align unaligned addresses; all it does is change the size / endian and PeekAddress. --It does remove unaligned addresses, however, if you have it set to. --This version converts System Bus instantly whereas the previous version stopped responding.
This commit is contained in:
parent
51547d208a
commit
646a6c1c58
|
@ -177,7 +177,7 @@ namespace BizHawk.MultiClient
|
|||
|
||||
public string GetControllersAsMnemonic()
|
||||
{
|
||||
if (Global.Emulator.SystemId == "NULL" || ControlType == "NULL Controller")
|
||||
if (Global.Emulator.SystemId == "NULL" || ControlType == "Null Controller")
|
||||
return "|.|";
|
||||
|
||||
StringBuilder input = new StringBuilder("|");
|
||||
|
@ -386,7 +386,7 @@ namespace BizHawk.MultiClient
|
|||
/// </summary>
|
||||
public void SetControllersAsMnemonic(string mnemonic)
|
||||
{
|
||||
if (Global.Emulator.SystemId == "NULL" || ControlType == "NULL Controller")
|
||||
if (Global.Emulator.SystemId == "NULL" || ControlType == "Null Controller")
|
||||
return;
|
||||
MnemonicChecker c = new MnemonicChecker(mnemonic);
|
||||
|
||||
|
|
|
@ -401,6 +401,7 @@ namespace BizHawk.MultiClient
|
|||
searchList[x].original = searchList[x].value;
|
||||
searchList[x].lastchange = searchList[x].value;
|
||||
searchList[x].lastsearch = searchList[x].value;
|
||||
searchList[x].changecount = 0;
|
||||
if (includeMisalignedToolStripMenuItem.Checked)
|
||||
count++;
|
||||
else
|
||||
|
@ -1216,9 +1217,56 @@ namespace BizHawk.MultiClient
|
|||
for (int x = 0; x < redoList.Count; x++)
|
||||
redoList[x].signed = s;
|
||||
SetSpecificValueBoxMaxLength();
|
||||
sortReverse = false;
|
||||
sortedCol = "";
|
||||
DisplaySearchList();
|
||||
}
|
||||
|
||||
private void ConvertListsDataSize(atype s, bool bigendian)
|
||||
{
|
||||
ConvertDataSize(s, bigendian, ref searchList);
|
||||
ConvertDataSize(s, bigendian, ref undoList);
|
||||
ConvertDataSize(s, bigendian, ref weededList);
|
||||
ConvertDataSize(s, bigendian, ref redoList);
|
||||
SetSpecificValueBoxMaxLength();
|
||||
sortReverse = false;
|
||||
sortedCol = "";
|
||||
DisplaySearchList();
|
||||
}
|
||||
|
||||
private void ConvertDataSize(atype s, bool bigendian, ref List<Watch> list)
|
||||
{
|
||||
List<Watch> converted = new List<Watch>();
|
||||
int divisor = 1;
|
||||
if (!includeMisalignedToolStripMenuItem.Checked)
|
||||
{
|
||||
switch (s)
|
||||
{
|
||||
case atype.WORD:
|
||||
divisor = 2;
|
||||
break;
|
||||
case atype.DWORD:
|
||||
divisor = 4;
|
||||
break;
|
||||
}
|
||||
}
|
||||
for (int x = 0; x < list.Count; x++)
|
||||
if (list[x].address % divisor == 0)
|
||||
{
|
||||
int changes = list[x].changecount;
|
||||
list[x].type = s;
|
||||
list[x].bigendian = GetBigEndian();
|
||||
list[x].PeekAddress(Domain);
|
||||
list[x].prev = list[x].value;
|
||||
list[x].original = list[x].value;
|
||||
list[x].lastchange = list[x].value;
|
||||
list[x].lastsearch = list[x].value;
|
||||
list[x].changecount = changes;
|
||||
converted.Add(list[x]);
|
||||
}
|
||||
list = converted;
|
||||
}
|
||||
|
||||
private void unsignedToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
Watch specificValue = new Watch();
|
||||
|
@ -1233,8 +1281,6 @@ namespace BizHawk.MultiClient
|
|||
hexadecimalToolStripMenuItem.Checked = false;
|
||||
SpecificValueBox.Text = converted;
|
||||
ConvertListsDataType(asigned.UNSIGNED);
|
||||
sortReverse = false;
|
||||
sortedCol = "";
|
||||
}
|
||||
|
||||
private void signedToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
|
@ -1251,8 +1297,6 @@ namespace BizHawk.MultiClient
|
|||
hexadecimalToolStripMenuItem.Checked = false;
|
||||
SpecificValueBox.Text = converted;
|
||||
ConvertListsDataType(asigned.SIGNED);
|
||||
sortReverse = false;
|
||||
sortedCol = "";
|
||||
}
|
||||
|
||||
private void hexadecimalToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
|
@ -1269,8 +1313,6 @@ namespace BizHawk.MultiClient
|
|||
hexadecimalToolStripMenuItem.Checked = true;
|
||||
SpecificValueBox.Text = converted;
|
||||
ConvertListsDataType(asigned.HEX);
|
||||
sortReverse = false;
|
||||
sortedCol = "";
|
||||
}
|
||||
|
||||
private void SearchListView_MouseDoubleClick(object sender, MouseEventArgs e)
|
||||
|
@ -1348,8 +1390,7 @@ namespace BizHawk.MultiClient
|
|||
byteToolStripMenuItem.Checked = true;
|
||||
bytesToolStripMenuItem.Checked = false;
|
||||
dWordToolStripMenuItem1.Checked = false;
|
||||
sortReverse = false;
|
||||
sortedCol = "";
|
||||
ConvertListsDataSize(atype.BYTE, GetBigEndian());
|
||||
}
|
||||
|
||||
private void bytesToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
|
@ -1357,8 +1398,7 @@ namespace BizHawk.MultiClient
|
|||
byteToolStripMenuItem.Checked = false;
|
||||
bytesToolStripMenuItem.Checked = true;
|
||||
dWordToolStripMenuItem1.Checked = false;
|
||||
sortReverse = false;
|
||||
sortedCol = "";
|
||||
ConvertListsDataSize(atype.WORD, GetBigEndian());
|
||||
}
|
||||
|
||||
private void dWordToolStripMenuItem1_Click(object sender, EventArgs e)
|
||||
|
@ -1366,31 +1406,28 @@ namespace BizHawk.MultiClient
|
|||
byteToolStripMenuItem.Checked = false;
|
||||
bytesToolStripMenuItem.Checked = false;
|
||||
dWordToolStripMenuItem1.Checked = true;
|
||||
sortReverse = false;
|
||||
sortedCol = "";
|
||||
ConvertListsDataSize(atype.DWORD, GetBigEndian());
|
||||
}
|
||||
|
||||
private void includeMisalignedToolStripMenuItem_Click_1(object sender, EventArgs e)
|
||||
{
|
||||
includeMisalignedToolStripMenuItem.Checked ^= true;
|
||||
sortReverse = false;
|
||||
sortedCol = "";
|
||||
if (!includeMisalignedToolStripMenuItem.Checked)
|
||||
ConvertListsDataSize(GetDataSize(), GetBigEndian());
|
||||
}
|
||||
|
||||
private void SetLittleEndian()
|
||||
{
|
||||
bigEndianToolStripMenuItem.Checked = false;
|
||||
littleEndianToolStripMenuItem.Checked = true;
|
||||
sortReverse = false;
|
||||
sortedCol = "";
|
||||
ConvertListsDataSize(GetDataSize(), false);
|
||||
}
|
||||
|
||||
private void SetBigEndian()
|
||||
{
|
||||
bigEndianToolStripMenuItem.Checked = true;
|
||||
littleEndianToolStripMenuItem.Checked = false;
|
||||
sortReverse = false;
|
||||
sortedCol = "";
|
||||
ConvertListsDataSize(GetDataSize(), true);
|
||||
}
|
||||
|
||||
private void bigEndianToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
|
|
Loading…
Reference in New Issue