diff --git a/BizHawk.Client.EmuHawk/MainForm.Events.cs b/BizHawk.Client.EmuHawk/MainForm.Events.cs
index d736693a30..7d6ae199bd 100644
--- a/BizHawk.Client.EmuHawk/MainForm.Events.cs
+++ b/BizHawk.Client.EmuHawk/MainForm.Events.cs
@@ -2038,10 +2038,13 @@ namespace BizHawk.Client.EmuHawk
private void TI83PaletteMenuItem_Click(object sender, EventArgs e)
{
- using var form = new TI83PaletteConfig();
- GlobalWin.OSD.AddMessage(form.ShowDialog() == DialogResult.OK
- ? "Palette settings saved"
- : "Palette config aborted");
+ if (Emulator is TI83 ti83)
+ {
+ using var form = new TI83PaletteConfig(this, ti83.GetSettings().Clone());
+ GlobalWin.OSD.AddMessage(form.ShowDialog() == DialogResult.OK
+ ? "Palette settings saved"
+ : "Palette config aborted");
+ }
}
#endregion
diff --git a/BizHawk.Client.EmuHawk/config/TI83/TI83PaletteConfig.cs b/BizHawk.Client.EmuHawk/config/TI83/TI83PaletteConfig.cs
index e59d421e98..64643d3a80 100644
--- a/BizHawk.Client.EmuHawk/config/TI83/TI83PaletteConfig.cs
+++ b/BizHawk.Client.EmuHawk/config/TI83/TI83PaletteConfig.cs
@@ -1,36 +1,37 @@
using System;
using System.Drawing;
using System.Windows.Forms;
-
-using BizHawk.Client.Common;
using BizHawk.Emulation.Cores.Calculators;
namespace BizHawk.Client.EmuHawk
{
public partial class TI83PaletteConfig : Form
{
- public TI83PaletteConfig()
+ private readonly MainForm _mainForm;
+ private readonly TI83.TI83Settings _settings;
+
+ public TI83PaletteConfig(
+ MainForm mainForm,
+ TI83.TI83Settings settings)
{
+ _mainForm = mainForm;
+ _settings = settings;
InitializeComponent();
}
private void TI83PaletteConfig_Load(object sender, EventArgs e)
{
- var s = ((TI83)Global.Emulator).GetSettings();
-
// Alpha hack because Winform is lame with colors
- BackgroundPanel.BackColor = Color.FromArgb(255, Color.FromArgb((int)s.BGColor));
- ForeGroundPanel.BackColor = Color.FromArgb(255, Color.FromArgb((int)s.ForeColor));
+ BackgroundPanel.BackColor = Color.FromArgb(255, Color.FromArgb((int)_settings.BGColor));
+ ForeGroundPanel.BackColor = Color.FromArgb(255, Color.FromArgb((int)_settings.ForeColor));
}
private void OkBtn_Click(object sender, EventArgs e)
{
- var ti83 = (TI83)Global.Emulator;
- var s = ti83.GetSettings();
- s.BGColor = (uint)BackgroundPanel.BackColor.ToArgb();
- s.ForeColor = (uint)ForeGroundPanel.BackColor.ToArgb();
+ _settings.BGColor = (uint)BackgroundPanel.BackColor.ToArgb();
+ _settings.ForeColor = (uint)ForeGroundPanel.BackColor.ToArgb();
- ti83.PutSettings(s);
+ _mainForm.PutCoreSettings(_settings);
DialogResult = DialogResult.OK;
Close();
diff --git a/BizHawk.sln.DotSettings b/BizHawk.sln.DotSettings
index 888a1ac200..fa3349a1b1 100644
--- a/BizHawk.sln.DotSettings
+++ b/BizHawk.sln.DotSettings
@@ -251,6 +251,7 @@
True
True
True
+ True
True
True
True