2012-12-25 20:36:04 +00:00
|
|
|
|
using System;
|
|
|
|
|
using System.Windows.Forms;
|
2013-12-27 17:59:19 +00:00
|
|
|
|
using BizHawk.Emulation.Cores.Nintendo.SNES;
|
|
|
|
|
using BizHawk.Client.Common;
|
2012-12-25 20:36:04 +00:00
|
|
|
|
|
2013-11-03 03:54:37 +00:00
|
|
|
|
namespace BizHawk.Client.EmuHawk
|
2012-12-25 20:36:04 +00:00
|
|
|
|
{
|
|
|
|
|
public partial class SNESOptions : Form
|
|
|
|
|
{
|
2017-05-31 14:56:51 +00:00
|
|
|
|
private SNESOptions()
|
2012-12-25 20:36:04 +00:00
|
|
|
|
{
|
|
|
|
|
InitializeComponent();
|
|
|
|
|
}
|
|
|
|
|
|
2017-05-31 14:56:51 +00:00
|
|
|
|
private bool _suppressDoubleSize;
|
|
|
|
|
private bool _userDoubleSizeOption;
|
2014-05-18 05:13:54 +00:00
|
|
|
|
|
2015-12-20 08:57:05 +00:00
|
|
|
|
public static void DoSettingsDialog(IWin32Window owner)
|
|
|
|
|
{
|
|
|
|
|
var s = ((LibsnesCore)Global.Emulator).GetSettings();
|
|
|
|
|
var ss = ((LibsnesCore)Global.Emulator).GetSyncSettings();
|
|
|
|
|
var dlg = new SNESOptions
|
|
|
|
|
{
|
|
|
|
|
AlwaysDoubleSize = s.AlwaysDoubleSize,
|
2017-06-14 01:29:42 +00:00
|
|
|
|
CropSGBFrame = s.CropSGBFrame,
|
|
|
|
|
ShowObj1 = s.ShowOBJ_0,
|
|
|
|
|
ShowObj2 = s.ShowOBJ_1,
|
|
|
|
|
ShowObj3 = s.ShowOBJ_2,
|
|
|
|
|
ShowObj4 = s.ShowOBJ_3,
|
|
|
|
|
ShowBg1 = s.ShowBG1_0,
|
|
|
|
|
ShowBg2 = s.ShowBG2_0,
|
|
|
|
|
ShowBg3 = s.ShowBG3_0,
|
|
|
|
|
ShowBg4 = s.ShowBG4_0
|
2015-12-20 08:57:05 +00:00
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
var result = dlg.ShowDialog(owner);
|
|
|
|
|
if (result == DialogResult.OK)
|
|
|
|
|
{
|
|
|
|
|
s.AlwaysDoubleSize = dlg.AlwaysDoubleSize;
|
2017-06-11 23:20:55 +00:00
|
|
|
|
s.CropSGBFrame = dlg.CropSGBFrame;
|
2017-06-14 01:29:42 +00:00
|
|
|
|
s.ShowOBJ_0 = dlg.ShowObj1;
|
|
|
|
|
s.ShowOBJ_1 = dlg.ShowObj2;
|
|
|
|
|
s.ShowOBJ_2 = dlg.ShowObj3;
|
|
|
|
|
s.ShowOBJ_3 = dlg.ShowObj4;
|
|
|
|
|
s.ShowBG1_0 = s.ShowBG1_1 = dlg.ShowBg1;
|
|
|
|
|
s.ShowBG2_0 = s.ShowBG2_1 = dlg.ShowBg2;
|
|
|
|
|
s.ShowBG3_0 = s.ShowBG3_1 = dlg.ShowBg3;
|
|
|
|
|
s.ShowBG4_0 = s.ShowBG4_1 = dlg.ShowBg4;
|
|
|
|
|
|
2015-12-20 08:57:05 +00:00
|
|
|
|
GlobalWin.MainForm.PutCoreSettings(s);
|
|
|
|
|
GlobalWin.MainForm.PutCoreSyncSettings(ss);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2017-05-31 14:56:51 +00:00
|
|
|
|
private bool AlwaysDoubleSize
|
2013-04-22 22:34:18 +00:00
|
|
|
|
{
|
2017-05-31 14:56:51 +00:00
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
return _userDoubleSizeOption;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
set
|
|
|
|
|
{
|
|
|
|
|
_userDoubleSizeOption = value;
|
|
|
|
|
RefreshDoubleSizeOption();
|
|
|
|
|
}
|
2013-04-22 22:34:18 +00:00
|
|
|
|
}
|
|
|
|
|
|
2017-06-11 23:20:55 +00:00
|
|
|
|
private bool CropSGBFrame
|
|
|
|
|
{
|
|
|
|
|
get { return cbCropSGBFrame.Checked; }
|
|
|
|
|
set { cbCropSGBFrame.Checked = value; }
|
2012-12-25 20:36:04 +00:00
|
|
|
|
}
|
|
|
|
|
|
2017-06-14 01:29:42 +00:00
|
|
|
|
private bool ShowObj1 { get { return 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 ShowObj4 { get { return Obj4Checkbox.Checked; } set { Obj4Checkbox.Checked = value; } }
|
|
|
|
|
|
|
|
|
|
private bool ShowBg1 { get { return Bg1Checkbox.Checked; } set { Bg1Checkbox.Checked = value; } }
|
|
|
|
|
private bool ShowBg2 { get { return Bg2Checkbox.Checked; } set { Bg2Checkbox.Checked = value; } }
|
|
|
|
|
private bool ShowBg3 { get { return Bg3Checkbox.Checked; } set { Bg3Checkbox.Checked = value; } }
|
|
|
|
|
private bool ShowBg4 { get { return Bg4Checkbox.Checked; } set { Bg4Checkbox.Checked = value; } }
|
|
|
|
|
|
|
|
|
|
private void RefreshDoubleSizeOption()
|
2013-12-27 17:59:19 +00:00
|
|
|
|
{
|
2017-05-31 14:56:51 +00:00
|
|
|
|
_suppressDoubleSize = true;
|
|
|
|
|
cbDoubleSize.Checked = !cbDoubleSize.Enabled || _userDoubleSizeOption;
|
|
|
|
|
_suppressDoubleSize = false;
|
2013-12-27 17:59:19 +00:00
|
|
|
|
}
|
2014-05-18 05:13:54 +00:00
|
|
|
|
|
2017-05-31 14:56:51 +00:00
|
|
|
|
private void CbDoubleSize_CheckedChanged(object sender, EventArgs e)
|
2014-05-18 05:13:54 +00:00
|
|
|
|
{
|
2017-05-31 14:56:51 +00:00
|
|
|
|
if (_suppressDoubleSize)
|
|
|
|
|
{
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
_userDoubleSizeOption = cbDoubleSize.Checked;
|
2014-05-18 05:13:54 +00:00
|
|
|
|
}
|
|
|
|
|
|
2017-05-31 14:56:51 +00:00
|
|
|
|
private void BtnOk_Click(object sender, EventArgs e)
|
2015-12-20 08:57:05 +00:00
|
|
|
|
{
|
|
|
|
|
DialogResult = DialogResult.OK;
|
|
|
|
|
Close();
|
|
|
|
|
}
|
|
|
|
|
|
2017-05-31 14:56:51 +00:00
|
|
|
|
private void BtnCancel_Click(object sender, EventArgs e)
|
2015-12-20 08:57:05 +00:00
|
|
|
|
{
|
|
|
|
|
DialogResult = DialogResult.Cancel;
|
|
|
|
|
Close();
|
2014-06-07 00:57:54 +00:00
|
|
|
|
}
|
|
|
|
|
|
2012-12-25 20:36:04 +00:00
|
|
|
|
}
|
|
|
|
|
}
|