PSX config dialogs - pass in dependencies
This commit is contained in:
parent
bdc8be2f6b
commit
ea8ed79402
|
@ -29,6 +29,7 @@ using BizHawk.Emulation.Cores.Nintendo.Gameboy;
|
|||
using BizHawk.Emulation.Cores.Computers.SinclairSpectrum;
|
||||
using BizHawk.Emulation.Cores.Computers.AmstradCPC;
|
||||
using BizHawk.Emulation.Cores.Intellivision;
|
||||
using BizHawk.Emulation.Cores.Sony.PSX;
|
||||
|
||||
namespace BizHawk.Client.EmuHawk
|
||||
{
|
||||
|
@ -2161,16 +2162,22 @@ namespace BizHawk.Client.EmuHawk
|
|||
|
||||
private void PSXControllerSettingsMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
using var form = new PSXControllerConfigNew();
|
||||
form.ShowDialog();
|
||||
if (Emulator is Octoshock psx)
|
||||
{
|
||||
using var form = new PSXControllerConfig(this, psx.GetSyncSettings().Clone());
|
||||
form.ShowDialog();
|
||||
}
|
||||
}
|
||||
|
||||
private void PSXOptionsMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
var result = PSXOptions.DoSettingsDialog(this);
|
||||
if (result == DialogResult.OK)
|
||||
if (Emulator is Octoshock psx)
|
||||
{
|
||||
FrameBufferResized();
|
||||
var result = PSXOptions.DoSettingsDialog(this, psx);
|
||||
if (result == DialogResult.OK)
|
||||
{
|
||||
FrameBufferResized();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
namespace BizHawk.Client.EmuHawk
|
||||
{
|
||||
partial class PSXControllerConfigNew
|
||||
partial class PSXControllerConfig
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
|
@ -430,7 +430,7 @@
|
|||
this.Icon = global::BizHawk.Client.EmuHawk.Properties.Resources.GameController_MultiSize;
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
this.Name = "PSXControllerConfigNew";
|
||||
this.Name = "PSXControllerConfig";
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
|
||||
this.Text = "Controller / Memcard Configuration";
|
||||
this.Load += new System.EventHandler(this.PSXControllerConfigNew_Load);
|
||||
|
|
|
@ -6,10 +6,17 @@ using BizHawk.Client.Common;
|
|||
|
||||
namespace BizHawk.Client.EmuHawk
|
||||
{
|
||||
public partial class PSXControllerConfigNew : Form
|
||||
public partial class PSXControllerConfig : Form
|
||||
{
|
||||
public PSXControllerConfigNew()
|
||||
private readonly MainForm _mainForm;
|
||||
private readonly Octoshock.SyncSettings _syncSettings;
|
||||
|
||||
public PSXControllerConfig(
|
||||
MainForm mainForm,
|
||||
Octoshock.SyncSettings syncSettings)
|
||||
{
|
||||
_mainForm = mainForm;
|
||||
_syncSettings = syncSettings;
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
|
@ -26,9 +33,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
combo.SelectedIndex = 0;
|
||||
}
|
||||
|
||||
var psxSettings = ((Octoshock)Global.Emulator).GetSyncSettings();
|
||||
GuiFromUserConfig(psxSettings.FIOConfig);
|
||||
|
||||
GuiFromUserConfig(_syncSettings.FIOConfig);
|
||||
RefreshLabels();
|
||||
}
|
||||
|
||||
|
@ -131,13 +136,10 @@ namespace BizHawk.Client.EmuHawk
|
|||
|
||||
private void BtnOk_Click(object sender, EventArgs e)
|
||||
{
|
||||
var psxSettings = ((Octoshock)Global.Emulator).GetSyncSettings();
|
||||
|
||||
psxSettings.FIOConfig = UserConfigFromGui();
|
||||
GlobalWin.MainForm.PutCoreSyncSettings(psxSettings);
|
||||
_syncSettings.FIOConfig = UserConfigFromGui();
|
||||
_mainForm.PutCoreSyncSettings(_syncSettings);
|
||||
|
||||
DialogResult = DialogResult.OK;
|
||||
|
||||
Close();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -10,11 +10,17 @@ namespace BizHawk.Client.EmuHawk
|
|||
public partial class PSXOptions : Form
|
||||
{
|
||||
// backups of the labels for string replacing
|
||||
private readonly string lblPixelPro_text, lblMednafen_text, lblTweakedMednafen_text;
|
||||
private readonly string _lblPixelProText, _lblMednafenText, _lblTweakedMednafenText;
|
||||
|
||||
private PSXOptions(Octoshock.Settings settings, Octoshock.SyncSettings syncSettings, OctoshockDll.eVidStandard vidStandard, Size currentVideoSize)
|
||||
private PSXOptions(
|
||||
MainForm mainForm,
|
||||
Octoshock.Settings settings,
|
||||
Octoshock.SyncSettings syncSettings,
|
||||
OctoshockDll.eVidStandard vidStandard,
|
||||
Size currentVideoSize)
|
||||
{
|
||||
InitializeComponent();
|
||||
_mainForm = mainForm;
|
||||
_settings = settings;
|
||||
_syncSettings = syncSettings;
|
||||
_previewVideoStandard = vidStandard;
|
||||
|
@ -29,9 +35,9 @@ namespace BizHawk.Client.EmuHawk
|
|||
lblPAL.Font = new Font(lblPAL.Font, FontStyle.Bold);
|
||||
}
|
||||
|
||||
lblPixelPro_text = lblPixelPro.Text;
|
||||
lblMednafen_text = lblMednafen.Text;
|
||||
lblTweakedMednafen_text = lblTweakedMednafen.Text;
|
||||
_lblPixelProText = lblPixelPro.Text;
|
||||
_lblMednafenText = lblMednafen.Text;
|
||||
_lblTweakedMednafenText = lblTweakedMednafen.Text;
|
||||
|
||||
rbPixelPro.Checked = _settings.ResolutionMode == Octoshock.eResolutionMode.PixelPro;
|
||||
rbDebugMode.Checked = _settings.ResolutionMode == Octoshock.eResolutionMode.Debug;
|
||||
|
@ -55,6 +61,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
}
|
||||
|
||||
private Size _previewVideoSize;
|
||||
private readonly MainForm _mainForm;
|
||||
private readonly OctoshockDll.eVidStandard _previewVideoStandard;
|
||||
private readonly Octoshock.Settings _settings;
|
||||
private readonly Octoshock.SyncSettings _syncSettings;
|
||||
|
@ -66,16 +73,15 @@ namespace BizHawk.Client.EmuHawk
|
|||
MessageBox.Show("Finetuned Display Options will take effect if you OK from PSX Options");
|
||||
}
|
||||
|
||||
public static DialogResult DoSettingsDialog(IWin32Window owner)
|
||||
public static DialogResult DoSettingsDialog(MainForm mainForm, Octoshock psx)
|
||||
{
|
||||
var psx = (Octoshock)Global.Emulator;
|
||||
var s = psx.GetSettings();
|
||||
var ss = psx.GetSyncSettings();
|
||||
var vid = psx.SystemVidStandard;
|
||||
var size = psx.CurrentVideoSize;
|
||||
using var dlg = new PSXOptions(s, ss, vid, size);
|
||||
using var dlg = new PSXOptions(mainForm, s, ss, vid, size);
|
||||
|
||||
var result = dlg.ShowDialog(owner);
|
||||
var result = dlg.ShowDialog(mainForm);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
@ -116,8 +122,8 @@ namespace BizHawk.Client.EmuHawk
|
|||
|
||||
SyncSettingsFromGui(_settings, _syncSettings);
|
||||
_settings.Validate();
|
||||
GlobalWin.MainForm.PutCoreSettings(_settings);
|
||||
GlobalWin.MainForm.PutCoreSyncSettings(_syncSettings);
|
||||
_mainForm.PutCoreSettings(_settings);
|
||||
_mainForm.PutCoreSyncSettings(_syncSettings);
|
||||
|
||||
DialogResult = DialogResult.OK;
|
||||
Close();
|
||||
|
@ -145,15 +151,15 @@ namespace BizHawk.Client.EmuHawk
|
|||
|
||||
temp.ResolutionMode = Octoshock.eResolutionMode.PixelPro;
|
||||
var ri = Octoshock.CalculateResolution(_previewVideoStandard, temp, w, h);
|
||||
lblPixelPro.Text = lblPixelPro_text.Replace("800x480", $"{ri.Resolution.Width}x{ri.Resolution.Height}");
|
||||
lblPixelPro.Text = _lblPixelProText.Replace("800x480", $"{ri.Resolution.Width}x{ri.Resolution.Height}");
|
||||
|
||||
temp.ResolutionMode = Octoshock.eResolutionMode.Mednafen;
|
||||
ri = Octoshock.CalculateResolution(_previewVideoStandard, temp, w, h);
|
||||
lblMednafen.Text = lblMednafen_text.Replace("320x240", $"{ri.Resolution.Width}x{ri.Resolution.Height}");
|
||||
lblMednafen.Text = _lblMednafenText.Replace("320x240", $"{ri.Resolution.Width}x{ri.Resolution.Height}");
|
||||
|
||||
temp.ResolutionMode = Octoshock.eResolutionMode.TweakedMednafen;
|
||||
ri = Octoshock.CalculateResolution(_previewVideoStandard, temp, w, h);
|
||||
lblTweakedMednafen.Text = lblTweakedMednafen_text.Replace("400x300", $"{ri.Resolution.Width}x{ri.Resolution.Height}");
|
||||
lblTweakedMednafen.Text = _lblTweakedMednafenText.Replace("400x300", $"{ri.Resolution.Width}x{ri.Resolution.Height}");
|
||||
}
|
||||
|
||||
private void DrawingArea_ValueChanged(object sender, EventArgs e)
|
||||
|
|
|
@ -191,6 +191,7 @@
|
|||
<s:Boolean x:Key="/Default/UserDictionary/Words/=Autosave/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=backcolor/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=Bezier/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=bilinear/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=Bizware/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=blitter/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=Bools/@EntryIndexedValue">True</s:Boolean>
|
||||
|
@ -216,6 +217,7 @@
|
|||
<s:Boolean x:Key="/Default/UserDictionary/Words/=Disasm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=Disassemblable/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=disassembly/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=disp/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=Dontfire/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=Ejin/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=Endian/@EntryIndexedValue">True</s:Boolean>
|
||||
|
@ -226,6 +228,7 @@
|
|||
<s:Boolean x:Key="/Default/UserDictionary/Words/=FCEU/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=ffmpeg/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=filenames/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=Finetuned/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=fname/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=frameadvance/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=FCEUX/@EntryIndexedValue">True</s:Boolean>
|
||||
|
@ -265,6 +268,7 @@
|
|||
<s:Boolean x:Key="/Default/UserDictionary/Words/=mainmemory/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=mame/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=Mednafen/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=Mednafen_0027s/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=MOTW/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=Multidisk/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=multilines/@EntryIndexedValue">True</s:Boolean>
|
||||
|
|
Loading…
Reference in New Issue