RAM Search: Implement previous type "last change". Fixes issue 331.

This commit is contained in:
scepheo 2014-12-16 01:19:29 +00:00
parent 528b7ea104
commit 77be509e44
4 changed files with 222 additions and 161 deletions

View File

@ -312,11 +312,6 @@ namespace BizHawk.Client.Common
public void SetPreviousType(Watch.PreviousType type)
{
if (type == Watch.PreviousType.LastChange)
{
throw new InvalidOperationException();
}
if (_settings.Mode == Settings.SearchMode.Fast)
{
if (type == Watch.PreviousType.LastFrame)
@ -1047,6 +1042,10 @@ namespace BizHawk.Client.Common
case Watch.PreviousType.LastFrame:
_previous = _prevFrame;
break;
case Watch.PreviousType.LastChange:
if (_prevFrame != value)
_previous = _prevFrame;
break;
}
_prevFrame = value;
@ -1103,6 +1102,10 @@ namespace BizHawk.Client.Common
case Watch.PreviousType.LastFrame:
_previous = _prevFrame;
break;
case Watch.PreviousType.LastChange:
if (_prevFrame != value)
_previous = _prevFrame;
break;
}
_prevFrame = value;
@ -1159,6 +1162,10 @@ namespace BizHawk.Client.Common
case Watch.PreviousType.LastFrame:
_previous = _prevFrame;
break;
case Watch.PreviousType.LastChange:
if (_prevFrame != value)
_previous = _prevFrame;
break;
}
_prevFrame = value;

File diff suppressed because it is too large Load Diff

View File

@ -1099,6 +1099,7 @@ namespace BizHawk.Client.EmuHawk
Previous_LastSearchMenuItem.Checked = false;
PreviousFrameMenuItem.Checked = false;
Previous_OriginalMenuItem.Checked = false;
Previous_LastChangeMenuItem.Checked = false;
switch (_settings.PreviousType)
{
@ -1112,9 +1113,13 @@ namespace BizHawk.Client.EmuHawk
case Watch.PreviousType.Original:
Previous_OriginalMenuItem.Checked = true;
break;
case Watch.PreviousType.LastChange:
Previous_LastChangeMenuItem.Checked = true;
break;
}
PreviousFrameMenuItem.Enabled = _settings.Mode != RamSearchEngine.Settings.SearchMode.Fast;
Previous_LastChangeMenuItem.Enabled = _settings.Mode != RamSearchEngine.Settings.SearchMode.Fast;
}
private void DetailedMenuItem_Click(object sender, EventArgs e)
@ -1163,6 +1168,11 @@ namespace BizHawk.Client.EmuHawk
SetPreviousStype(Watch.PreviousType.Original);
}
private void Previous_LastChangeMenuItem_Click(object sender, EventArgs e)
{
SetPreviousStype(Watch.PreviousType.LastChange);
}
private void BigEndianMenuItem_Click(object sender, EventArgs e)
{
_settings.BigEndian ^= true;
@ -1226,7 +1236,7 @@ namespace BizHawk.Client.EmuHawk
private void CopyValueToPrevMenuItem_Click(object sender, EventArgs e)
{
_searches.SetPrevousToCurrent();
_searches.SetPreviousToCurrent();
WatchListView.Refresh();
}

View File

@ -136,7 +136,7 @@
<data name="DoSearchToolButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAI3SURBVDhPlZLRS9NRHMW3hwgKBxXRH1BR0UMvPfoQVBAJ
YQUAAAAJcEhZcwAAEnQAABJ0Ad5mH3gAAAI3SURBVDhPlZLRS9NRHMW3hwgKBxXRH1BR0UMvPfoQVBAJ
PbiXWETgQw/2MJopjdksa7RyuNQIIlC2alu2dJrQFslklmvQXOthtqlskjORam5jma46nfv7JbathA58
Xu4953u/33uvYj0ZDG6d5WFwpt01jm5vCl2OcK7pkrOTW9vJBsn0L7V3+G3T6Szmi0D4G/DiCzCWBx5E
Cjiv743RsodslMzlslpH6gKJDIQWlgD/J8CdBDwfgOFFwPUuj5oa7TNaRZFK3XNGR8NfgYkc4GPInwUC
@ -152,7 +152,7 @@
<data name="ClearChangeCountsToolBarItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG
YQUAAAAJcEhZcwAAEnQAABJ0Ad5mH3gAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG
YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9
0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw
bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc