SNES config dialogs - pass in dependencies
This commit is contained in:
parent
4a509fa410
commit
4a332c1fb0
|
@ -2216,9 +2216,12 @@ namespace BizHawk.Client.EmuHawk
|
||||||
|
|
||||||
private void SNESControllerConfigurationMenuItem_Click(object sender, EventArgs e)
|
private void SNESControllerConfigurationMenuItem_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
using var form = new SNESControllerSettings();
|
if (Emulator is LibsnesCore bsnes)
|
||||||
|
{
|
||||||
|
using var form = new SNESControllerSettings(this, bsnes.GetSyncSettings().Clone());
|
||||||
form.ShowDialog();
|
form.ShowDialog();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void SnesGfxDebuggerMenuItem_Click(object sender, EventArgs e)
|
private void SnesGfxDebuggerMenuItem_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
|
@ -2238,7 +2241,10 @@ namespace BizHawk.Client.EmuHawk
|
||||||
|
|
||||||
private void SnesOptionsMenuItem_Click(object sender, EventArgs e)
|
private void SnesOptionsMenuItem_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
SNESOptions.DoSettingsDialog(this);
|
if (Emulator is LibsnesCore bsnes)
|
||||||
|
{
|
||||||
|
SNESOptions.DoSettingsDialog(this, bsnes);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Snes9xSettingsMenuItem_Click(object sender, EventArgs e)
|
private void Snes9xSettingsMenuItem_Click(object sender, EventArgs e)
|
||||||
|
|
|
@ -9,24 +9,27 @@ namespace BizHawk.Client.EmuHawk
|
||||||
{
|
{
|
||||||
public partial class SNESControllerSettings : Form
|
public partial class SNESControllerSettings : Form
|
||||||
{
|
{
|
||||||
private LibsnesCore.SnesSyncSettings _syncSettings;
|
private readonly MainForm _mainForm;
|
||||||
private bool _supressDropdownChangeEvents;
|
private readonly LibsnesCore.SnesSyncSettings _syncSettings;
|
||||||
|
private bool _suppressDropdownChangeEvents;
|
||||||
|
|
||||||
public SNESControllerSettings()
|
public SNESControllerSettings(
|
||||||
|
MainForm mainForm,
|
||||||
|
LibsnesCore.SnesSyncSettings syncSettings)
|
||||||
{
|
{
|
||||||
|
_mainForm = mainForm;
|
||||||
|
_syncSettings = syncSettings;
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SNESControllerSettings_Load(object sender, EventArgs e)
|
private void SNESControllerSettings_Load(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
_syncSettings = ((LibsnesCore)Global.Emulator).GetSyncSettings().Clone();
|
|
||||||
|
|
||||||
LimitAnalogChangeCheckBox.Checked = _syncSettings.LimitAnalogChangeSensitivity;
|
LimitAnalogChangeCheckBox.Checked = _syncSettings.LimitAnalogChangeSensitivity;
|
||||||
|
|
||||||
_supressDropdownChangeEvents = true;
|
_suppressDropdownChangeEvents = true;
|
||||||
Port1ComboBox.PopulateFromEnum<LibsnesControllerDeck.ControllerType>(_syncSettings.LeftPort);
|
Port1ComboBox.PopulateFromEnum<LibsnesControllerDeck.ControllerType>(_syncSettings.LeftPort);
|
||||||
Port2ComboBox.PopulateFromEnum<LibsnesControllerDeck.ControllerType>(_syncSettings.RightPort);
|
Port2ComboBox.PopulateFromEnum<LibsnesControllerDeck.ControllerType>(_syncSettings.RightPort);
|
||||||
_supressDropdownChangeEvents = false;
|
_suppressDropdownChangeEvents = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OkBtn_Click(object sender, EventArgs e)
|
private void OkBtn_Click(object sender, EventArgs e)
|
||||||
|
@ -42,7 +45,7 @@ namespace BizHawk.Client.EmuHawk
|
||||||
_syncSettings.RightPort = (LibsnesControllerDeck.ControllerType)Enum.Parse(typeof(LibsnesControllerDeck.ControllerType), Port2ComboBox.SelectedItem.ToString());
|
_syncSettings.RightPort = (LibsnesControllerDeck.ControllerType)Enum.Parse(typeof(LibsnesControllerDeck.ControllerType), Port2ComboBox.SelectedItem.ToString());
|
||||||
_syncSettings.LimitAnalogChangeSensitivity = LimitAnalogChangeCheckBox.Checked;
|
_syncSettings.LimitAnalogChangeSensitivity = LimitAnalogChangeCheckBox.Checked;
|
||||||
|
|
||||||
GlobalWin.MainForm.PutCoreSyncSettings(_syncSettings);
|
_mainForm.PutCoreSyncSettings(_syncSettings);
|
||||||
}
|
}
|
||||||
|
|
||||||
DialogResult = DialogResult.OK;
|
DialogResult = DialogResult.OK;
|
||||||
|
@ -51,14 +54,14 @@ namespace BizHawk.Client.EmuHawk
|
||||||
|
|
||||||
private void CancelBtn_Click(object sender, EventArgs e)
|
private void CancelBtn_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
GlobalWin.OSD.AddMessage("Controller settings aborted");
|
_mainForm.AddOnScreenMessage("Controller settings aborted");
|
||||||
DialogResult = DialogResult.Cancel;
|
DialogResult = DialogResult.Cancel;
|
||||||
Close();
|
Close();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void PortComboBox_SelectedIndexChanged(object sender, EventArgs e)
|
private void PortComboBox_SelectedIndexChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (!_supressDropdownChangeEvents)
|
if (!_suppressDropdownChangeEvents)
|
||||||
{
|
{
|
||||||
var leftPort = (LibsnesControllerDeck.ControllerType)Enum.Parse(typeof(LibsnesControllerDeck.ControllerType), Port1ComboBox.SelectedItem.ToString());
|
var leftPort = (LibsnesControllerDeck.ControllerType)Enum.Parse(typeof(LibsnesControllerDeck.ControllerType), Port1ComboBox.SelectedItem.ToString());
|
||||||
var rightPort = (LibsnesControllerDeck.ControllerType)Enum.Parse(typeof(LibsnesControllerDeck.ControllerType), Port2ComboBox.SelectedItem.ToString());
|
var rightPort = (LibsnesControllerDeck.ControllerType)Enum.Parse(typeof(LibsnesControllerDeck.ControllerType), Port2ComboBox.SelectedItem.ToString());
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using BizHawk.Emulation.Cores.Nintendo.SNES;
|
using BizHawk.Emulation.Cores.Nintendo.SNES;
|
||||||
using BizHawk.Client.Common;
|
|
||||||
|
|
||||||
namespace BizHawk.Client.EmuHawk
|
namespace BizHawk.Client.EmuHawk
|
||||||
{
|
{
|
||||||
|
@ -15,10 +14,10 @@ namespace BizHawk.Client.EmuHawk
|
||||||
private bool _suppressDoubleSize;
|
private bool _suppressDoubleSize;
|
||||||
private bool _userDoubleSizeOption;
|
private bool _userDoubleSizeOption;
|
||||||
|
|
||||||
public static void DoSettingsDialog(IWin32Window owner)
|
public static void DoSettingsDialog(MainForm mainForm, LibsnesCore bsnes)
|
||||||
{
|
{
|
||||||
var s = ((LibsnesCore)Global.Emulator).GetSettings();
|
var s = bsnes.GetSettings();
|
||||||
var ss = ((LibsnesCore)Global.Emulator).GetSyncSettings();
|
var ss = bsnes.GetSyncSettings();
|
||||||
using var dlg = new SNESOptions
|
using var dlg = new SNESOptions
|
||||||
{
|
{
|
||||||
AlwaysDoubleSize = s.AlwaysDoubleSize,
|
AlwaysDoubleSize = s.AlwaysDoubleSize,
|
||||||
|
@ -33,7 +32,7 @@ namespace BizHawk.Client.EmuHawk
|
||||||
ShowBg4 = s.ShowBG4_0
|
ShowBg4 = s.ShowBG4_0
|
||||||
};
|
};
|
||||||
|
|
||||||
var result = dlg.ShowDialog(owner);
|
var result = dlg.ShowDialog(mainForm);
|
||||||
if (result == DialogResult.OK)
|
if (result == DialogResult.OK)
|
||||||
{
|
{
|
||||||
s.AlwaysDoubleSize = dlg.AlwaysDoubleSize;
|
s.AlwaysDoubleSize = dlg.AlwaysDoubleSize;
|
||||||
|
@ -47,18 +46,14 @@ namespace BizHawk.Client.EmuHawk
|
||||||
s.ShowBG3_0 = s.ShowBG3_1 = dlg.ShowBg3;
|
s.ShowBG3_0 = s.ShowBG3_1 = dlg.ShowBg3;
|
||||||
s.ShowBG4_0 = s.ShowBG4_1 = dlg.ShowBg4;
|
s.ShowBG4_0 = s.ShowBG4_1 = dlg.ShowBg4;
|
||||||
|
|
||||||
GlobalWin.MainForm.PutCoreSettings(s);
|
mainForm.PutCoreSettings(s);
|
||||||
GlobalWin.MainForm.PutCoreSyncSettings(ss);
|
mainForm.PutCoreSyncSettings(ss);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private bool AlwaysDoubleSize
|
private bool AlwaysDoubleSize
|
||||||
{
|
{
|
||||||
get
|
get => _userDoubleSizeOption;
|
||||||
{
|
|
||||||
return _userDoubleSizeOption;
|
|
||||||
}
|
|
||||||
|
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
_userDoubleSizeOption = value;
|
_userDoubleSizeOption = value;
|
||||||
|
@ -68,19 +63,20 @@ namespace BizHawk.Client.EmuHawk
|
||||||
|
|
||||||
private bool CropSGBFrame
|
private bool CropSGBFrame
|
||||||
{
|
{
|
||||||
get { return cbCropSGBFrame.Checked; }
|
get => cbCropSGBFrame.Checked;
|
||||||
set { cbCropSGBFrame.Checked = value; }
|
set => cbCropSGBFrame.Checked = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
private bool ShowObj1 { get { return Obj1Checkbox.Checked; } set { Obj1Checkbox.Checked = value; } }
|
private bool ShowObj1 { get => Obj1Checkbox.Checked; set => Obj1Checkbox.Checked = value;
|
||||||
private bool ShowObj2 { get { return Obj2Checkbox.Checked; } set { Obj2Checkbox.Checked = value; } }
|
}
|
||||||
private bool ShowObj3 { get { return Obj3Checkbox.Checked; } set { Obj3Checkbox.Checked = value; } }
|
private bool ShowObj2 { get => Obj2Checkbox.Checked; set => Obj2Checkbox.Checked = value; }
|
||||||
private bool ShowObj4 { get { return Obj4Checkbox.Checked; } set { Obj4Checkbox.Checked = value; } }
|
private bool ShowObj3 { get => Obj3Checkbox.Checked; set => Obj3Checkbox.Checked = value; }
|
||||||
|
private bool ShowObj4 { get => Obj4Checkbox.Checked; set => Obj4Checkbox.Checked = value; }
|
||||||
|
|
||||||
private bool ShowBg1 { get { return Bg1Checkbox.Checked; } set { Bg1Checkbox.Checked = value; } }
|
private bool ShowBg1 { get => Bg1Checkbox.Checked; set => Bg1Checkbox.Checked = value; }
|
||||||
private bool ShowBg2 { get { return Bg2Checkbox.Checked; } set { Bg2Checkbox.Checked = value; } }
|
private bool ShowBg2 { get => Bg2Checkbox.Checked; set => Bg2Checkbox.Checked = value; }
|
||||||
private bool ShowBg3 { get { return Bg3Checkbox.Checked; } set { Bg3Checkbox.Checked = value; } }
|
private bool ShowBg3 { get => Bg3Checkbox.Checked; set => Bg3Checkbox.Checked = value; }
|
||||||
private bool ShowBg4 { get { return Bg4Checkbox.Checked; } set { Bg4Checkbox.Checked = value; } }
|
private bool ShowBg4 { get => Bg4Checkbox.Checked; set => Bg4Checkbox.Checked = value; }
|
||||||
|
|
||||||
private void RefreshDoubleSizeOption()
|
private void RefreshDoubleSizeOption()
|
||||||
{
|
{
|
||||||
|
@ -110,6 +106,5 @@ namespace BizHawk.Client.EmuHawk
|
||||||
DialogResult = DialogResult.Cancel;
|
DialogResult = DialogResult.Cancel;
|
||||||
Close();
|
Close();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -253,6 +253,7 @@
|
||||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=Intelli/@EntryIndexedValue">True</s:Boolean>
|
<s:Boolean x:Key="/Default/UserDictionary/Words/=Intelli/@EntryIndexedValue">True</s:Boolean>
|
||||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=INTV/@EntryIndexedValue">True</s:Boolean>
|
<s:Boolean x:Key="/Default/UserDictionary/Words/=INTV/@EntryIndexedValue">True</s:Boolean>
|
||||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=Joypad/@EntryIndexedValue">True</s:Boolean>
|
<s:Boolean x:Key="/Default/UserDictionary/Words/=Joypad/@EntryIndexedValue">True</s:Boolean>
|
||||||
|
<s:Boolean x:Key="/Default/UserDictionary/Words/=Justifier/@EntryIndexedValue">True</s:Boolean>
|
||||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=keepalives/@EntryIndexedValue">True</s:Boolean>
|
<s:Boolean x:Key="/Default/UserDictionary/Words/=keepalives/@EntryIndexedValue">True</s:Boolean>
|
||||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=Libretro/@EntryIndexedValue">True</s:Boolean>
|
<s:Boolean x:Key="/Default/UserDictionary/Words/=Libretro/@EntryIndexedValue">True</s:Boolean>
|
||||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=Lightgun/@EntryIndexedValue">True</s:Boolean>
|
<s:Boolean x:Key="/Default/UserDictionary/Words/=Lightgun/@EntryIndexedValue">True</s:Boolean>
|
||||||
|
|
Loading…
Reference in New Issue