N64 plugin config - revert the user's plugin choice if they pick jabo and aren't ready to use it (but still show them the jabo warning messages)

This commit is contained in:
adelikat 2014-07-22 01:08:45 +00:00
parent 1fe27185f5
commit 41d33337e7
1 changed files with 17 additions and 4 deletions

View File

@ -16,10 +16,10 @@ namespace BizHawk.Client.EmuHawk
{ {
public partial class N64VideoPluginconfig : Form public partial class N64VideoPluginconfig : Form
{ {
N64Settings s; private N64Settings s;
N64SyncSettings ss; private N64SyncSettings ss;
enum JaboStatus private enum JaboStatus
{ {
NotReady, NotReady,
ReadyToPatch, ReadyToPatch,
@ -28,7 +28,9 @@ namespace BizHawk.Client.EmuHawk
WrongVersion16 WrongVersion16
}; };
JaboStatus currentJaboStatus = JaboStatus.NotReady; private JaboStatus currentJaboStatus = JaboStatus.NotReady;
private string previousPluginSelection = string.Empty;
private bool programmaticallyChangingPluginComboBox = false;
public N64VideoPluginconfig() public N64VideoPluginconfig()
{ {
@ -919,6 +921,11 @@ namespace BizHawk.Client.EmuHawk
private void PluginComboBox_SelectedIndexChanged(object sender, EventArgs e) private void PluginComboBox_SelectedIndexChanged(object sender, EventArgs e)
{ {
if (programmaticallyChangingPluginComboBox)
{
return;
}
if (PluginComboBox.Text == "Jabo 1.6.1") if (PluginComboBox.Text == "Jabo 1.6.1")
{ {
if (currentJaboStatus == JaboStatus.Ready || currentJaboStatus == JaboStatus.ReadyToPatch) if (currentJaboStatus == JaboStatus.Ready || currentJaboStatus == JaboStatus.ReadyToPatch)
@ -941,6 +948,10 @@ namespace BizHawk.Client.EmuHawk
{ {
jaboStatusLabel.Text = "You are NOT ready to use Jabo. Bizhawk requires Jabo Direct3D8 v1.6.1, but found v2.0 instead."; jaboStatusLabel.Text = "You are NOT ready to use Jabo. Bizhawk requires Jabo Direct3D8 v1.6.1, but found v2.0 instead.";
} }
programmaticallyChangingPluginComboBox = true;
PluginComboBox.SelectedItem = previousPluginSelection;
programmaticallyChangingPluginComboBox = false;
} }
} }
else else
@ -948,6 +959,8 @@ namespace BizHawk.Client.EmuHawk
jaboStatusLabel.Text = ""; jaboStatusLabel.Text = "";
jaboStatusDetailLabel.Text = ""; jaboStatusDetailLabel.Text = "";
} }
previousPluginSelection = PluginComboBox.SelectedItem.ToString();
} }
} }