87 lines
2.7 KiB
C#
87 lines
2.7 KiB
C#
using System;
|
|
using System.Linq;
|
|
using System.Windows.Forms;
|
|
|
|
using BizHawk.Client.Common;
|
|
using BizHawk.Emulation.Cores.Computers.AmstradCPC;
|
|
using System.Text;
|
|
|
|
namespace BizHawk.Client.EmuHawk
|
|
{
|
|
public partial class AmstradCPCNonSyncSettings : Form
|
|
{
|
|
private AmstradCPC.AmstradCPCSettings _settings;
|
|
|
|
public AmstradCPCNonSyncSettings()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
private void IntvControllerSettings_Load(object sender, EventArgs e)
|
|
{
|
|
_settings = ((AmstradCPC)Global.Emulator).GetSettings().Clone();
|
|
|
|
|
|
|
|
// OSD Message Verbosity
|
|
var osdTypes = Enum.GetNames(typeof(AmstradCPC.OSDVerbosity));
|
|
foreach (var val in osdTypes)
|
|
{
|
|
osdMessageVerbositycomboBox1.Items.Add(val);
|
|
}
|
|
osdMessageVerbositycomboBox1.SelectedItem = _settings.OSDMessageVerbosity.ToString();
|
|
UpdateOSDNotes((AmstradCPC.OSDVerbosity)Enum.Parse(typeof(AmstradCPC.OSDVerbosity), osdMessageVerbositycomboBox1.SelectedItem.ToString()));
|
|
}
|
|
|
|
private void OkBtn_Click(object sender, EventArgs e)
|
|
{
|
|
bool changed =
|
|
_settings.OSDMessageVerbosity.ToString() != osdMessageVerbositycomboBox1.SelectedItem.ToString();
|
|
|
|
if (changed)
|
|
{
|
|
_settings.OSDMessageVerbosity = (AmstradCPC.OSDVerbosity)Enum.Parse(typeof(AmstradCPC.OSDVerbosity), osdMessageVerbositycomboBox1.SelectedItem.ToString());
|
|
|
|
GlobalWin.MainForm.PutCoreSettings(_settings);
|
|
|
|
DialogResult = DialogResult.OK;
|
|
Close();
|
|
}
|
|
else
|
|
{
|
|
DialogResult = DialogResult.OK;
|
|
Close();
|
|
}
|
|
}
|
|
|
|
private void CancelBtn_Click(object sender, EventArgs e)
|
|
{
|
|
GlobalWin.OSD.AddMessage("Misc settings aborted");
|
|
DialogResult = DialogResult.Cancel;
|
|
Close();
|
|
}
|
|
|
|
private void UpdateOSDNotes(AmstradCPC.OSDVerbosity type)
|
|
{
|
|
switch (type)
|
|
{
|
|
case AmstradCPC.OSDVerbosity.Full:
|
|
lblOSDVerbinfo.Text = "Show all OSD messages";
|
|
break;
|
|
case AmstradCPC.OSDVerbosity.Medium:
|
|
lblOSDVerbinfo.Text = "Only show machine/device generated messages";
|
|
break;
|
|
case AmstradCPC.OSDVerbosity.None:
|
|
lblOSDVerbinfo.Text = "No core-driven OSD messages";
|
|
break;
|
|
}
|
|
}
|
|
|
|
private void OSDComboBox_SelectionChangeCommitted(object sender, EventArgs e)
|
|
{
|
|
ComboBox cb = sender as ComboBox;
|
|
UpdateOSDNotes((AmstradCPC.OSDVerbosity)Enum.Parse(typeof(AmstradCPC.OSDVerbosity), cb.SelectedItem.ToString()));
|
|
}
|
|
}
|
|
}
|