PSX - ui for controller type config
This commit is contained in:
parent
c2621e798d
commit
c299f46439
|
@ -37,7 +37,7 @@
|
|||
//
|
||||
this.CancelBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.CancelBtn.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
||||
this.CancelBtn.Location = new System.Drawing.Point(212, 227);
|
||||
this.CancelBtn.Location = new System.Drawing.Point(294, 227);
|
||||
this.CancelBtn.Name = "CancelBtn";
|
||||
this.CancelBtn.Size = new System.Drawing.Size(60, 23);
|
||||
this.CancelBtn.TabIndex = 5;
|
||||
|
@ -48,7 +48,7 @@
|
|||
// OkBtn
|
||||
//
|
||||
this.OkBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.OkBtn.Location = new System.Drawing.Point(146, 227);
|
||||
this.OkBtn.Location = new System.Drawing.Point(228, 227);
|
||||
this.OkBtn.Name = "OkBtn";
|
||||
this.OkBtn.Size = new System.Drawing.Size(60, 23);
|
||||
this.OkBtn.TabIndex = 4;
|
||||
|
@ -62,11 +62,12 @@
|
|||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.CancelButton = this.CancelBtn;
|
||||
this.ClientSize = new System.Drawing.Size(284, 262);
|
||||
this.ClientSize = new System.Drawing.Size(366, 262);
|
||||
this.Controls.Add(this.CancelBtn);
|
||||
this.Controls.Add(this.OkBtn);
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.Name = "PSXControllerConfig";
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
|
||||
this.Text = "Controller Settings";
|
||||
this.Load += new System.EventHandler(this.PSXControllerConfig_Load);
|
||||
this.ResumeLayout(false);
|
||||
|
|
|
@ -7,10 +7,11 @@ using System.Linq;
|
|||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
|
||||
using BizHawk.Common;
|
||||
using BizHawk.Emulation.Cores.Sony.PSX;
|
||||
using BizHawk.Client.Common;
|
||||
using BizHawk.Common;
|
||||
|
||||
using BizHawk.Client.EmuHawk.WinFormExtensions;
|
||||
using BizHawk.Common.ReflectionExtensions;
|
||||
|
||||
namespace BizHawk.Client.EmuHawk
|
||||
{
|
||||
|
@ -29,15 +30,28 @@ namespace BizHawk.Client.EmuHawk
|
|||
Controls.Add(new Label
|
||||
{
|
||||
Text = "Controller " + (i + 1),
|
||||
Location = new Point(15, 15 + (i * 25))
|
||||
Location = new Point(15, 19 + (i * 25)),
|
||||
Width = 85
|
||||
});
|
||||
Controls.Add(new CheckBox
|
||||
{
|
||||
Text = "Connected",
|
||||
Name = "Controller" + i,
|
||||
Location = new Point(135, 15 + (i * 25)),
|
||||
Checked = psxSettings.Controllers[i].IsConnected
|
||||
Location = new Point(105, 15 + (i * 25)),
|
||||
Checked = psxSettings.Controllers[i].IsConnected,
|
||||
Width = 90
|
||||
});
|
||||
|
||||
var dropdown = new ComboBox
|
||||
{
|
||||
Name = "Controller" + i,
|
||||
DropDownStyle = ComboBoxStyle.DropDownList,
|
||||
Location = new Point(200, 15 + (i * 25))
|
||||
};
|
||||
|
||||
dropdown.PopulateFromEnum<Octoshock.ControllerSetting.ControllerType>(psxSettings.Controllers[i].Type);
|
||||
|
||||
Controls.Add(dropdown);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -54,6 +68,17 @@ namespace BizHawk.Client.EmuHawk
|
|||
var index = int.Parse(c.Name.Replace("Controller", ""));
|
||||
psxSettings.Controllers[index].IsConnected = c.Checked;
|
||||
});
|
||||
|
||||
Controls
|
||||
.OfType<ComboBox>()
|
||||
.OrderBy(c => c.Name)
|
||||
.ToList()
|
||||
.ForEach(c =>
|
||||
{
|
||||
var index = int.Parse(c.Name.Replace("Controller", ""));
|
||||
psxSettings.Controllers[index].Type = c.SelectedItem.ToString().GetEnumFromDescription<Octoshock.ControllerSetting.ControllerType>();
|
||||
});
|
||||
|
||||
GlobalWin.MainForm.PutCoreSyncSettings(psxSettings);
|
||||
DialogResult = DialogResult.OK;
|
||||
Close();
|
||||
|
|
Loading…
Reference in New Issue