From 2cd651078414fb2ac8f9529b63cec2d9a6b513da Mon Sep 17 00:00:00 2001 From: YoshiRulz Date: Sat, 20 Nov 2021 05:17:33 +1000 Subject: [PATCH] Move `SettingsAdapter` creation to `PutCore{S,SyncS}ettings` callsite --- .../IMainFormForConfig.cs | 10 ++++++++-- src/BizHawk.Client.EmuHawk/MainForm.Debug.cs | 3 ++- src/BizHawk.Client.EmuHawk/MainForm.Events.cs | 4 ++-- src/BizHawk.Client.EmuHawk/MainForm.cs | 16 ++++++++++++---- .../config/A7800/A7800ControllerSettings.cs | 2 +- .../config/A7800/A7800FilterSettings.cs | 2 +- .../AmstradCPC/AmstradCPCAudioSettings.cs | 2 +- .../AmstradCPCCoreEmulationSettings.cs | 2 +- .../AmstradCPC/AmstradCPCNonSyncSettings.cs | 2 +- .../ColecoVision/ColecoControllerSettings.cs | 2 +- .../config/GB/GBLPrefs.cs | 2 +- .../config/GB/GBPrefs.cs | 2 +- .../config/GB/SameBoyColorChooserForm.cs | 2 +- .../config/GenericCoreConfig.cs | 18 +++++++----------- .../config/INTV/IntvControllerSettings.cs | 2 +- .../config/N64/N64ControllersSetup.cs | 2 +- .../config/N64/N64VideoPluginconfig.cs | 5 +++-- .../config/NES/NESGraphicsConfig.cs | 2 +- .../config/NES/NESSyncSettingsForm.cs | 2 +- .../config/NES/NESVSSettings.cs | 2 +- .../config/NES/NesControllerSettings.cs | 2 +- .../config/NES/QuickNesConfig.cs | 2 +- .../config/PSX/PSXControllerConfig.cs | 2 +- .../config/PSX/PSXOptions.cs | 5 +++-- .../config/ProfileConfig.cs | 2 +- .../config/SNES/BSNESControllerConfig.cs | 2 +- .../config/SNES/BSNESOptions.cs | 5 +++-- .../config/SNES/SNESControllerConfig.cs | 2 +- .../config/SNES/SNESOptions.cs | 5 +++-- .../config/TI83/TI83PaletteConfig.cs | 2 +- .../ZXSpectrum/ZXSpectrumAudioSettings.cs | 2 +- .../ZXSpectrumCoreEmulationSettings.cs | 2 +- .../ZXSpectrum/ZXSpectrumJoystickSettings.cs | 2 +- .../ZXSpectrum/ZXSpectrumNonSyncSettings.cs | 2 +- 34 files changed, 68 insertions(+), 53 deletions(-) diff --git a/src/BizHawk.Client.EmuHawk/IMainFormForConfig.cs b/src/BizHawk.Client.EmuHawk/IMainFormForConfig.cs index e4a41ee3ed..137bc6d63b 100644 --- a/src/BizHawk.Client.EmuHawk/IMainFormForConfig.cs +++ b/src/BizHawk.Client.EmuHawk/IMainFormForConfig.cs @@ -1,3 +1,5 @@ +using System; + using BizHawk.Client.Common; using BizHawk.Emulation.Common; @@ -8,8 +10,12 @@ namespace BizHawk.Client.EmuHawk /// only referenced from IEmulator Emulator { get; } - void PutCoreSettings(object o); + /// loaded emulator is not instance of + SettingsAdapter GetSettingsAdapterForLoadedCore() + where T : IEmulator; - void PutCoreSyncSettings(object o); + void PutCoreSettings(object o, SettingsAdapter settable); + + void PutCoreSyncSettings(object o, SettingsAdapter settable); } } diff --git a/src/BizHawk.Client.EmuHawk/MainForm.Debug.cs b/src/BizHawk.Client.EmuHawk/MainForm.Debug.cs index 3c9c158a1a..839d87f6df 100644 --- a/src/BizHawk.Client.EmuHawk/MainForm.Debug.cs +++ b/src/BizHawk.Client.EmuHawk/MainForm.Debug.cs @@ -152,7 +152,8 @@ namespace BizHawk.Client.EmuHawk var ss = ((N64) Emulator!).GetSyncSettings(); var glidenSS = ss.GLideN64Plugin; foreach (var pi in props) pi.SetValue(obj: glidenSS, value: RandomElem(propDict[pi], rng)); - ((MainForm) MainForm).PutCoreSyncSettings(ss); + var mf = (MainForm) MainForm; + mf.PutCoreSyncSettings(ss, mf.GetSettingsAdapterForLoadedCore()); } SzButtonEx btnLightFuzz = new() { Size = new(200, 23), Text = "--> randomise some props" }; btnLightFuzz.Click += (_, _) => Fuzz(limit: true); diff --git a/src/BizHawk.Client.EmuHawk/MainForm.Events.cs b/src/BizHawk.Client.EmuHawk/MainForm.Events.cs index f66c665cea..7ba6562d69 100644 --- a/src/BizHawk.Client.EmuHawk/MainForm.Events.cs +++ b/src/BizHawk.Client.EmuHawk/MainForm.Events.cs @@ -1732,7 +1732,7 @@ namespace BizHawk.Client.EmuHawk { var ss = coleco.GetSyncSettings(); ss.SkipBiosIntro ^= true; - PutCoreSyncSettings(ss); + PutCoreSyncSettings(ss, GetSettingsAdapterForLoadedCore()); } } @@ -1742,7 +1742,7 @@ namespace BizHawk.Client.EmuHawk { var ss = coleco.GetSyncSettings(); ss.UseSGM ^= true; - PutCoreSyncSettings(ss); + PutCoreSyncSettings(ss, GetSettingsAdapterForLoadedCore()); } } diff --git a/src/BizHawk.Client.EmuHawk/MainForm.cs b/src/BizHawk.Client.EmuHawk/MainForm.cs index 38b409f33a..0c7ae6e64e 100644 --- a/src/BizHawk.Client.EmuHawk/MainForm.cs +++ b/src/BizHawk.Client.EmuHawk/MainForm.cs @@ -2411,9 +2411,8 @@ namespace BizHawk.Client.EmuHawk /// /// send core settings to emu, setting reboot flag if needed /// - public void PutCoreSettings(object o) + public void PutCoreSettings(object o, SettingsAdapter settable) { - var settable = new SettingsAdapter(Emulator); if (!settable.HasSettings) return; var dirty = settable.PutSettings(o); @@ -2427,9 +2426,8 @@ namespace BizHawk.Client.EmuHawk /// /// send core sync settings to emu, setting reboot flag if needed /// - public void PutCoreSyncSettings(object o) + public void PutCoreSyncSettings(object o, SettingsAdapter settable) { - var settable = new SettingsAdapter(Emulator); if (MovieSession.Movie.IsActive()) { AddOnScreenMessage("Attempt to change sync-relevant settings while recording BLOCKED."); @@ -2444,6 +2442,16 @@ namespace BizHawk.Client.EmuHawk } } + public SettingsAdapter GetSettingsAdapterForLoadedCore() + where T : IEmulator + { + if (Emulator is not T) throw new InvalidOperationException(); + return GetSettingsAdapterForLoadedCoreUntyped(); + } + + public SettingsAdapter GetSettingsAdapterForLoadedCoreUntyped() + => new(Emulator); + private void SaveConfig(string path = "") { if (Config.SaveWindowPosition) diff --git a/src/BizHawk.Client.EmuHawk/config/A7800/A7800ControllerSettings.cs b/src/BizHawk.Client.EmuHawk/config/A7800/A7800ControllerSettings.cs index 84a6a75bf5..846fb2be2b 100644 --- a/src/BizHawk.Client.EmuHawk/config/A7800/A7800ControllerSettings.cs +++ b/src/BizHawk.Client.EmuHawk/config/A7800/A7800ControllerSettings.cs @@ -42,7 +42,7 @@ namespace BizHawk.Client.EmuHawk _syncSettings.Port1 = Port1ComboBox.SelectedItem.ToString(); _syncSettings.Port2 = Port2ComboBox.SelectedItem.ToString(); - _mainForm.PutCoreSyncSettings(_syncSettings); + _mainForm.PutCoreSyncSettings(_syncSettings, _mainForm.GetSettingsAdapterForLoadedCore()); } DialogResult = DialogResult.OK; diff --git a/src/BizHawk.Client.EmuHawk/config/A7800/A7800FilterSettings.cs b/src/BizHawk.Client.EmuHawk/config/A7800/A7800FilterSettings.cs index 73e344322c..ef4b606b98 100644 --- a/src/BizHawk.Client.EmuHawk/config/A7800/A7800FilterSettings.cs +++ b/src/BizHawk.Client.EmuHawk/config/A7800/A7800FilterSettings.cs @@ -39,7 +39,7 @@ namespace BizHawk.Client.EmuHawk if (changed) { _syncSettings.Filter = Port1ComboBox.SelectedItem.ToString(); - _mainForm.PutCoreSyncSettings(_syncSettings); + _mainForm.PutCoreSyncSettings(_syncSettings, _mainForm.GetSettingsAdapterForLoadedCore()); } DialogResult = DialogResult.OK; diff --git a/src/BizHawk.Client.EmuHawk/config/AmstradCPC/AmstradCPCAudioSettings.cs b/src/BizHawk.Client.EmuHawk/config/AmstradCPC/AmstradCPCAudioSettings.cs index 910cc66da6..68ed052947 100644 --- a/src/BizHawk.Client.EmuHawk/config/AmstradCPC/AmstradCPCAudioSettings.cs +++ b/src/BizHawk.Client.EmuHawk/config/AmstradCPC/AmstradCPCAudioSettings.cs @@ -51,7 +51,7 @@ namespace BizHawk.Client.EmuHawk _settings.TapeVolume = tapeVolumetrackBar.Value; _settings.AYVolume = ayVolumetrackBar.Value; - _mainForm.PutCoreSettings(_settings); + _mainForm.PutCoreSettings(_settings, _mainForm.GetSettingsAdapterForLoadedCore()); } DialogResult = DialogResult.OK; Close(); diff --git a/src/BizHawk.Client.EmuHawk/config/AmstradCPC/AmstradCPCCoreEmulationSettings.cs b/src/BizHawk.Client.EmuHawk/config/AmstradCPC/AmstradCPCCoreEmulationSettings.cs index ab9db646e2..efe9ba34bc 100644 --- a/src/BizHawk.Client.EmuHawk/config/AmstradCPC/AmstradCPCCoreEmulationSettings.cs +++ b/src/BizHawk.Client.EmuHawk/config/AmstradCPC/AmstradCPCCoreEmulationSettings.cs @@ -59,7 +59,7 @@ namespace BizHawk.Client.EmuHawk _syncSettings.DeterministicEmulation = determEmucheckBox1.Checked; _syncSettings.AutoStartStopTape = autoLoadcheckBox1.Checked; - _mainForm.PutCoreSyncSettings(_syncSettings); + _mainForm.PutCoreSyncSettings(_syncSettings, _mainForm.GetSettingsAdapterForLoadedCore()); DialogResult = DialogResult.OK; Close(); diff --git a/src/BizHawk.Client.EmuHawk/config/AmstradCPC/AmstradCPCNonSyncSettings.cs b/src/BizHawk.Client.EmuHawk/config/AmstradCPC/AmstradCPCNonSyncSettings.cs index c948c9e4ff..bbc8855b41 100644 --- a/src/BizHawk.Client.EmuHawk/config/AmstradCPC/AmstradCPCNonSyncSettings.cs +++ b/src/BizHawk.Client.EmuHawk/config/AmstradCPC/AmstradCPCNonSyncSettings.cs @@ -40,7 +40,7 @@ namespace BizHawk.Client.EmuHawk { _settings.OSDMessageVerbosity = (AmstradCPC.OSDVerbosity)Enum.Parse(typeof(AmstradCPC.OSDVerbosity), osdMessageVerbositycomboBox1.SelectedItem.ToString()); - _mainForm.PutCoreSettings(_settings); + _mainForm.PutCoreSettings(_settings, _mainForm.GetSettingsAdapterForLoadedCore()); DialogResult = DialogResult.OK; Close(); diff --git a/src/BizHawk.Client.EmuHawk/config/ColecoVision/ColecoControllerSettings.cs b/src/BizHawk.Client.EmuHawk/config/ColecoVision/ColecoControllerSettings.cs index 3e6824f872..b349701890 100644 --- a/src/BizHawk.Client.EmuHawk/config/ColecoVision/ColecoControllerSettings.cs +++ b/src/BizHawk.Client.EmuHawk/config/ColecoVision/ColecoControllerSettings.cs @@ -42,7 +42,7 @@ namespace BizHawk.Client.EmuHawk _syncSettings.Port1 = Port1ComboBox.SelectedItem.ToString(); _syncSettings.Port2 = Port2ComboBox.SelectedItem.ToString(); - _mainForm.PutCoreSyncSettings(_syncSettings); + _mainForm.PutCoreSyncSettings(_syncSettings, _mainForm.GetSettingsAdapterForLoadedCore()); } DialogResult = DialogResult.OK; diff --git a/src/BizHawk.Client.EmuHawk/config/GB/GBLPrefs.cs b/src/BizHawk.Client.EmuHawk/config/GB/GBLPrefs.cs index 47287e85d0..40b195c975 100644 --- a/src/BizHawk.Client.EmuHawk/config/GB/GBLPrefs.cs +++ b/src/BizHawk.Client.EmuHawk/config/GB/GBLPrefs.cs @@ -68,7 +68,7 @@ namespace BizHawk.Client.EmuHawk gambatte.PutSettings(s); if (dlg.SyncSettingsChanged) { - mainForm.PutCoreSyncSettings(ss); + mainForm.PutCoreSyncSettings(ss, mainForm.GetSettingsAdapterForLoadedCore()); } } return result; diff --git a/src/BizHawk.Client.EmuHawk/config/GB/GBPrefs.cs b/src/BizHawk.Client.EmuHawk/config/GB/GBPrefs.cs index 5d67d442f3..64c83c7649 100644 --- a/src/BizHawk.Client.EmuHawk/config/GB/GBPrefs.cs +++ b/src/BizHawk.Client.EmuHawk/config/GB/GBPrefs.cs @@ -32,7 +32,7 @@ namespace BizHawk.Client.EmuHawk gb.PutSettings(s); if (dlg.gbPrefControl1.SyncSettingsChanged) { - mainForm.PutCoreSyncSettings(ss); + mainForm.PutCoreSyncSettings(ss, mainForm.GetSettingsAdapterForLoadedCore()); } } return result; diff --git a/src/BizHawk.Client.EmuHawk/config/GB/SameBoyColorChooserForm.cs b/src/BizHawk.Client.EmuHawk/config/GB/SameBoyColorChooserForm.cs index 626cccdf97..1e1978ddbb 100644 --- a/src/BizHawk.Client.EmuHawk/config/GB/SameBoyColorChooserForm.cs +++ b/src/BizHawk.Client.EmuHawk/config/GB/SameBoyColorChooserForm.cs @@ -316,7 +316,7 @@ namespace BizHawk.Client.EmuHawk _settings.SetCustomPalette(colors); - _mainForm.PutCoreSettings(_settings); + _mainForm.PutCoreSettings(_settings, _mainForm.GetSettingsAdapterForLoadedCore()); DialogResult = DialogResult.OK; Close(); diff --git a/src/BizHawk.Client.EmuHawk/config/GenericCoreConfig.cs b/src/BizHawk.Client.EmuHawk/config/GenericCoreConfig.cs index a38c37f690..12fe5cc3fa 100644 --- a/src/BizHawk.Client.EmuHawk/config/GenericCoreConfig.cs +++ b/src/BizHawk.Client.EmuHawk/config/GenericCoreConfig.cs @@ -8,6 +8,8 @@ namespace BizHawk.Client.EmuHawk { public partial class GenericCoreConfig : Form { + private readonly SettingsAdapter _settable; + private readonly IMainFormForConfig _mainForm; private object _s; private object _ss; @@ -23,17 +25,11 @@ namespace BizHawk.Client.EmuHawk InitializeComponent(); _mainForm = mainForm; - var settable = new SettingsAdapter(_mainForm.Emulator); + _settable = ((MainForm) _mainForm).GetSettingsAdapterForLoadedCoreUntyped(); //HACK - if (settable.HasSettings && !ignoreSettings) - { - _s = settable.GetSettings(); - } + if (_settable.HasSettings && !ignoreSettings) _s = _settable.GetSettings(); - if (settable.HasSyncSettings && !ignoreSyncSettings) - { - _ss = settable.GetSyncSettings(); - } + if (_settable.HasSyncSettings && !ignoreSyncSettings) _ss = _settable.GetSyncSettings(); if (_s != null) { @@ -65,12 +61,12 @@ namespace BizHawk.Client.EmuHawk { if (_s != null && _settingsChanged) { - _mainForm.PutCoreSettings(_s); + _mainForm.PutCoreSettings(_s, _settable); } if (_ss != null && _syncSettingsChanged) { - _mainForm.PutCoreSyncSettings(_ss); + _mainForm.PutCoreSyncSettings(_ss, _settable); } DialogResult = DialogResult.OK; diff --git a/src/BizHawk.Client.EmuHawk/config/INTV/IntvControllerSettings.cs b/src/BizHawk.Client.EmuHawk/config/INTV/IntvControllerSettings.cs index f1099ff0fe..c27b8cccc1 100644 --- a/src/BizHawk.Client.EmuHawk/config/INTV/IntvControllerSettings.cs +++ b/src/BizHawk.Client.EmuHawk/config/INTV/IntvControllerSettings.cs @@ -42,7 +42,7 @@ namespace BizHawk.Client.EmuHawk _syncSettings.Port1 = Port1ComboBox.SelectedItem.ToString(); _syncSettings.Port2 = Port2ComboBox.SelectedItem.ToString(); - _mainForm.PutCoreSyncSettings(_syncSettings); + _mainForm.PutCoreSyncSettings(_syncSettings, _mainForm.GetSettingsAdapterForLoadedCore()); } DialogResult = DialogResult.OK; diff --git a/src/BizHawk.Client.EmuHawk/config/N64/N64ControllersSetup.cs b/src/BizHawk.Client.EmuHawk/config/N64/N64ControllersSetup.cs index 331ddd1ac6..d08996ce1c 100644 --- a/src/BizHawk.Client.EmuHawk/config/N64/N64ControllersSetup.cs +++ b/src/BizHawk.Client.EmuHawk/config/N64/N64ControllersSetup.cs @@ -52,7 +52,7 @@ namespace BizHawk.Client.EmuHawk _syncSettings.Controllers[c.ControllerNumber - 1].PakType = c.PakType; }); - _mainForm.PutCoreSyncSettings(_syncSettings); + _mainForm.PutCoreSyncSettings(_syncSettings, _mainForm.GetSettingsAdapterForLoadedCore()); DialogResult = DialogResult.OK; Close(); diff --git a/src/BizHawk.Client.EmuHawk/config/N64/N64VideoPluginconfig.cs b/src/BizHawk.Client.EmuHawk/config/N64/N64VideoPluginconfig.cs index 8dfbbe3784..e35a02931b 100644 --- a/src/BizHawk.Client.EmuHawk/config/N64/N64VideoPluginconfig.cs +++ b/src/BizHawk.Client.EmuHawk/config/N64/N64VideoPluginconfig.cs @@ -123,8 +123,9 @@ namespace BizHawk.Client.EmuHawk if (_emulator is N64) { - _mainForm.PutCoreSettings(_s); - _mainForm.PutCoreSyncSettings(_ss); + var settable = _mainForm.GetSettingsAdapterForLoadedCore(); + _mainForm.PutCoreSettings(_s, settable); + _mainForm.PutCoreSyncSettings(_ss, settable); } else { diff --git a/src/BizHawk.Client.EmuHawk/config/NES/NESGraphicsConfig.cs b/src/BizHawk.Client.EmuHawk/config/NES/NESGraphicsConfig.cs index 023cc78e82..86a1cd148f 100644 --- a/src/BizHawk.Client.EmuHawk/config/NES/NESGraphicsConfig.cs +++ b/src/BizHawk.Client.EmuHawk/config/NES/NESGraphicsConfig.cs @@ -149,7 +149,7 @@ namespace BizHawk.Client.EmuHawk _settings.BackgroundColor &= 0x00FFFFFF; } - _mainForm.PutCoreSettings(_settings); + _mainForm.PutCoreSettings(_settings, _mainForm.GetSettingsAdapterForLoadedCore()); Close(); } diff --git a/src/BizHawk.Client.EmuHawk/config/NES/NESSyncSettingsForm.cs b/src/BizHawk.Client.EmuHawk/config/NES/NESSyncSettingsForm.cs index 3131d933a3..9cfb8ebde9 100644 --- a/src/BizHawk.Client.EmuHawk/config/NES/NESSyncSettingsForm.cs +++ b/src/BizHawk.Client.EmuHawk/config/NES/NESSyncSettingsForm.cs @@ -92,7 +92,7 @@ namespace BizHawk.Client.EmuHawk DialogResult = DialogResult.OK; if (changed) { - _mainForm.PutCoreSyncSettings(_syncSettings); + _mainForm.PutCoreSyncSettings(_syncSettings, _mainForm.GetSettingsAdapterForLoadedCore()); } } diff --git a/src/BizHawk.Client.EmuHawk/config/NES/NESVSSettings.cs b/src/BizHawk.Client.EmuHawk/config/NES/NESVSSettings.cs index a4a260d0a3..714561b0b9 100644 --- a/src/BizHawk.Client.EmuHawk/config/NES/NESVSSettings.cs +++ b/src/BizHawk.Client.EmuHawk/config/NES/NESVSSettings.cs @@ -42,7 +42,7 @@ namespace BizHawk.Client.EmuHawk _settings.VSDipswitches.Dip_Switch_7 = Dipswitch7CheckBox.Checked; _settings.VSDipswitches.Dip_Switch_8 = Dipswitch8CheckBox.Checked; - _mainForm.PutCoreSyncSettings(_settings); + _mainForm.PutCoreSyncSettings(_settings, _mainForm.GetSettingsAdapterForLoadedCore()); Close(); } diff --git a/src/BizHawk.Client.EmuHawk/config/NES/NesControllerSettings.cs b/src/BizHawk.Client.EmuHawk/config/NES/NesControllerSettings.cs index bfc5a2bcc6..77b41cb7b1 100644 --- a/src/BizHawk.Client.EmuHawk/config/NES/NesControllerSettings.cs +++ b/src/BizHawk.Client.EmuHawk/config/NES/NesControllerSettings.cs @@ -53,7 +53,7 @@ namespace BizHawk.Client.EmuHawk if (changed) { - _mainForm.PutCoreSyncSettings(_syncSettings); + _mainForm.PutCoreSyncSettings(_syncSettings, _mainForm.GetSettingsAdapterForLoadedCore()); } DialogResult = DialogResult.OK; diff --git a/src/BizHawk.Client.EmuHawk/config/NES/QuickNesConfig.cs b/src/BizHawk.Client.EmuHawk/config/NES/QuickNesConfig.cs index 964833f8fb..2d20801b9c 100644 --- a/src/BizHawk.Client.EmuHawk/config/NES/QuickNesConfig.cs +++ b/src/BizHawk.Client.EmuHawk/config/NES/QuickNesConfig.cs @@ -106,7 +106,7 @@ namespace BizHawk.Client.EmuHawk private void ButtonOk_Click(object sender, EventArgs e) { - _mainForm.PutCoreSettings(_settings); + _mainForm.PutCoreSettings(_settings, _mainForm.GetSettingsAdapterForLoadedCore()); DialogResult = DialogResult.OK; Close(); } diff --git a/src/BizHawk.Client.EmuHawk/config/PSX/PSXControllerConfig.cs b/src/BizHawk.Client.EmuHawk/config/PSX/PSXControllerConfig.cs index f46bc9ba3c..54855b2981 100644 --- a/src/BizHawk.Client.EmuHawk/config/PSX/PSXControllerConfig.cs +++ b/src/BizHawk.Client.EmuHawk/config/PSX/PSXControllerConfig.cs @@ -141,7 +141,7 @@ namespace BizHawk.Client.EmuHawk private void BtnOk_Click(object sender, EventArgs e) { _syncSettings.FIOConfig = UserConfigFromGui(); - _mainForm.PutCoreSyncSettings(_syncSettings); + _mainForm.PutCoreSyncSettings(_syncSettings, _mainForm.GetSettingsAdapterForLoadedCore()); DialogResult = DialogResult.OK; Close(); diff --git a/src/BizHawk.Client.EmuHawk/config/PSX/PSXOptions.cs b/src/BizHawk.Client.EmuHawk/config/PSX/PSXOptions.cs index 4cf48078ca..64052730f5 100644 --- a/src/BizHawk.Client.EmuHawk/config/PSX/PSXOptions.cs +++ b/src/BizHawk.Client.EmuHawk/config/PSX/PSXOptions.cs @@ -125,8 +125,9 @@ namespace BizHawk.Client.EmuHawk SyncSettingsFromGui(_settings, _syncSettings); _settings.Validate(); - _mainForm.PutCoreSettings(_settings); - _mainForm.PutCoreSyncSettings(_syncSettings); + var settable = _mainForm.GetSettingsAdapterForLoadedCore(); + _mainForm.PutCoreSettings(_settings, settable); + _mainForm.PutCoreSyncSettings(_syncSettings, settable); DialogResult = DialogResult.OK; Close(); diff --git a/src/BizHawk.Client.EmuHawk/config/ProfileConfig.cs b/src/BizHawk.Client.EmuHawk/config/ProfileConfig.cs index 786cb5d810..e6db36aec8 100644 --- a/src/BizHawk.Client.EmuHawk/config/ProfileConfig.cs +++ b/src/BizHawk.Client.EmuHawk/config/ProfileConfig.cs @@ -257,7 +257,7 @@ namespace BizHawk.Client.EmuHawk { if (_emulator is TEmulator) { - _mainForm.PutCoreSyncSettings(o); + _mainForm.PutCoreSyncSettings(o, _mainForm.GetSettingsAdapterForLoadedCore()); } else { diff --git a/src/BizHawk.Client.EmuHawk/config/SNES/BSNESControllerConfig.cs b/src/BizHawk.Client.EmuHawk/config/SNES/BSNESControllerConfig.cs index 8175ff19f0..3b9adacf5d 100644 --- a/src/BizHawk.Client.EmuHawk/config/SNES/BSNESControllerConfig.cs +++ b/src/BizHawk.Client.EmuHawk/config/SNES/BSNESControllerConfig.cs @@ -41,7 +41,7 @@ namespace BizHawk.Client.EmuHawk _syncSettings.RightPort = (BsnesApi.BSNES_INPUT_DEVICE) Port2ComboBox.SelectedIndex; _syncSettings.LimitAnalogChangeSensitivity = LimitAnalogChangeCheckBox.Checked; - _mainForm.PutCoreSyncSettings(_syncSettings); + _mainForm.PutCoreSyncSettings(_syncSettings, _mainForm.GetSettingsAdapterForLoadedCore()); } DialogResult = DialogResult.OK; diff --git a/src/BizHawk.Client.EmuHawk/config/SNES/BSNESOptions.cs b/src/BizHawk.Client.EmuHawk/config/SNES/BSNESOptions.cs index e6d8bcae72..d724426c71 100644 --- a/src/BizHawk.Client.EmuHawk/config/SNES/BSNESOptions.cs +++ b/src/BizHawk.Client.EmuHawk/config/SNES/BSNESOptions.cs @@ -65,8 +65,9 @@ namespace BizHawk.Client.EmuHawk s.ShowBG4_0 = dlg.ShowBg4_0; s.ShowBG4_1 = dlg.ShowBg4_1; - mainForm.PutCoreSettings(s); - mainForm.PutCoreSyncSettings(ss); + var settable = mainForm.GetSettingsAdapterForLoadedCore(); + mainForm.PutCoreSettings(s, settable); + mainForm.PutCoreSyncSettings(ss, settable); } return result; } diff --git a/src/BizHawk.Client.EmuHawk/config/SNES/SNESControllerConfig.cs b/src/BizHawk.Client.EmuHawk/config/SNES/SNESControllerConfig.cs index f0ca2c16a2..742d927516 100644 --- a/src/BizHawk.Client.EmuHawk/config/SNES/SNESControllerConfig.cs +++ b/src/BizHawk.Client.EmuHawk/config/SNES/SNESControllerConfig.cs @@ -44,7 +44,7 @@ namespace BizHawk.Client.EmuHawk _syncSettings.RightPort = (LibsnesControllerDeck.ControllerType)Enum.Parse(typeof(LibsnesControllerDeck.ControllerType), Port2ComboBox.SelectedItem.ToString()); _syncSettings.LimitAnalogChangeSensitivity = LimitAnalogChangeCheckBox.Checked; - _mainForm.PutCoreSyncSettings(_syncSettings); + _mainForm.PutCoreSyncSettings(_syncSettings, _mainForm.GetSettingsAdapterForLoadedCore()); } DialogResult = DialogResult.OK; diff --git a/src/BizHawk.Client.EmuHawk/config/SNES/SNESOptions.cs b/src/BizHawk.Client.EmuHawk/config/SNES/SNESOptions.cs index 14548dd535..bf3a650cdf 100644 --- a/src/BizHawk.Client.EmuHawk/config/SNES/SNESOptions.cs +++ b/src/BizHawk.Client.EmuHawk/config/SNES/SNESOptions.cs @@ -48,8 +48,9 @@ namespace BizHawk.Client.EmuHawk s.ShowBG3_0 = s.ShowBG3_1 = dlg.ShowBg3; s.ShowBG4_0 = s.ShowBG4_1 = dlg.ShowBg4; - mainForm.PutCoreSettings(s); - mainForm.PutCoreSyncSettings(ss); + var settable = mainForm.GetSettingsAdapterForLoadedCore(); + mainForm.PutCoreSettings(s, settable); + mainForm.PutCoreSyncSettings(ss, settable); } return result; } diff --git a/src/BizHawk.Client.EmuHawk/config/TI83/TI83PaletteConfig.cs b/src/BizHawk.Client.EmuHawk/config/TI83/TI83PaletteConfig.cs index ffa7858257..7729bff451 100644 --- a/src/BizHawk.Client.EmuHawk/config/TI83/TI83PaletteConfig.cs +++ b/src/BizHawk.Client.EmuHawk/config/TI83/TI83PaletteConfig.cs @@ -32,7 +32,7 @@ namespace BizHawk.Client.EmuHawk _settings.BGColor = (uint)BackgroundPanel.BackColor.ToArgb(); _settings.ForeColor = (uint)ForeGroundPanel.BackColor.ToArgb(); - _mainForm.PutCoreSettings(_settings); + _mainForm.PutCoreSettings(_settings, _mainForm.GetSettingsAdapterForLoadedCore()); DialogResult = DialogResult.OK; Close(); diff --git a/src/BizHawk.Client.EmuHawk/config/ZXSpectrum/ZXSpectrumAudioSettings.cs b/src/BizHawk.Client.EmuHawk/config/ZXSpectrum/ZXSpectrumAudioSettings.cs index e628fe907b..a8a73f6a61 100644 --- a/src/BizHawk.Client.EmuHawk/config/ZXSpectrum/ZXSpectrumAudioSettings.cs +++ b/src/BizHawk.Client.EmuHawk/config/ZXSpectrum/ZXSpectrumAudioSettings.cs @@ -55,7 +55,7 @@ namespace BizHawk.Client.EmuHawk _settings.EarVolume = earVolumetrackBar.Value; _settings.AYVolume = ayVolumetrackBar.Value; - _mainForm.PutCoreSettings(_settings); + _mainForm.PutCoreSettings(_settings, _mainForm.GetSettingsAdapterForLoadedCore()); } DialogResult = DialogResult.OK; Close(); diff --git a/src/BizHawk.Client.EmuHawk/config/ZXSpectrum/ZXSpectrumCoreEmulationSettings.cs b/src/BizHawk.Client.EmuHawk/config/ZXSpectrum/ZXSpectrumCoreEmulationSettings.cs index c4dd5e284f..e248ed89b4 100644 --- a/src/BizHawk.Client.EmuHawk/config/ZXSpectrum/ZXSpectrumCoreEmulationSettings.cs +++ b/src/BizHawk.Client.EmuHawk/config/ZXSpectrum/ZXSpectrumCoreEmulationSettings.cs @@ -61,7 +61,7 @@ namespace BizHawk.Client.EmuHawk _syncSettings.DeterministicEmulation = determEmucheckBox1.Checked; _syncSettings.AutoLoadTape = autoLoadcheckBox1.Checked; - _mainForm.PutCoreSyncSettings(_syncSettings); + _mainForm.PutCoreSyncSettings(_syncSettings, _mainForm.GetSettingsAdapterForLoadedCore()); } DialogResult = DialogResult.OK; Close(); diff --git a/src/BizHawk.Client.EmuHawk/config/ZXSpectrum/ZXSpectrumJoystickSettings.cs b/src/BizHawk.Client.EmuHawk/config/ZXSpectrum/ZXSpectrumJoystickSettings.cs index 69fb1df88b..3359ba8533 100644 --- a/src/BizHawk.Client.EmuHawk/config/ZXSpectrum/ZXSpectrumJoystickSettings.cs +++ b/src/BizHawk.Client.EmuHawk/config/ZXSpectrum/ZXSpectrumJoystickSettings.cs @@ -103,7 +103,7 @@ namespace BizHawk.Client.EmuHawk _syncSettings.JoystickType2 = (JoystickType)Enum.Parse(typeof(JoystickType), Port2ComboBox.SelectedItem.ToString()); _syncSettings.JoystickType3 = (JoystickType)Enum.Parse(typeof(JoystickType), Port3ComboBox.SelectedItem.ToString()); - _mainForm.PutCoreSyncSettings(_syncSettings); + _mainForm.PutCoreSyncSettings(_syncSettings, _mainForm.GetSettingsAdapterForLoadedCore()); DialogResult = DialogResult.OK; Close(); diff --git a/src/BizHawk.Client.EmuHawk/config/ZXSpectrum/ZXSpectrumNonSyncSettings.cs b/src/BizHawk.Client.EmuHawk/config/ZXSpectrum/ZXSpectrumNonSyncSettings.cs index 709d960db0..e2d9810cd4 100644 --- a/src/BizHawk.Client.EmuHawk/config/ZXSpectrum/ZXSpectrumNonSyncSettings.cs +++ b/src/BizHawk.Client.EmuHawk/config/ZXSpectrum/ZXSpectrumNonSyncSettings.cs @@ -58,7 +58,7 @@ namespace BizHawk.Client.EmuHawk _settings.BackgroundColor = _bgColor; _settings.UseCoreBorderForBackground = checkBoxShowCoreBrdColor.Checked; - _mainForm.PutCoreSettings(_settings); + _mainForm.PutCoreSettings(_settings, _mainForm.GetSettingsAdapterForLoadedCore()); DialogResult = DialogResult.OK; Close();