VirtualPads - allow smaller minimum size, add a clear button for people who don't think to right-click
This commit is contained in:
parent
9f75724757
commit
cce98bcfe4
|
@ -43,6 +43,7 @@
|
|||
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.StickyBox = new System.Windows.Forms.CheckBox();
|
||||
this.button1 = new System.Windows.Forms.Button();
|
||||
this.contextMenuStrip1.SuspendLayout();
|
||||
this.menuStrip1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
|
@ -158,17 +159,29 @@
|
|||
this.StickyBox.UseVisualStyleBackColor = true;
|
||||
this.StickyBox.CheckedChanged += new System.EventHandler(this.StickyBox_CheckedChanged);
|
||||
//
|
||||
// button1
|
||||
//
|
||||
this.button1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.button1.Location = new System.Drawing.Point(79, 279);
|
||||
this.button1.Name = "button1";
|
||||
this.button1.Size = new System.Drawing.Size(75, 23);
|
||||
this.button1.TabIndex = 8;
|
||||
this.button1.Text = "&Clear";
|
||||
this.button1.UseVisualStyleBackColor = true;
|
||||
this.button1.Click += new System.EventHandler(this.button1_Click);
|
||||
//
|
||||
// VirtualPadForm
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(452, 312);
|
||||
this.Controls.Add(this.button1);
|
||||
this.Controls.Add(this.ControllerBox);
|
||||
this.Controls.Add(this.StickyBox);
|
||||
this.Controls.Add(this.menuStrip1);
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.MainMenuStrip = this.menuStrip1;
|
||||
this.MinimumSize = new System.Drawing.Size(400, 100);
|
||||
this.MinimumSize = new System.Drawing.Size(100, 100);
|
||||
this.Name = "VirtualPadForm";
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
|
||||
this.Text = "Virtual Pads";
|
||||
|
@ -196,5 +209,6 @@
|
|||
private System.Windows.Forms.ToolStripMenuItem restoreDefaultSettingsToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
|
||||
private System.Windows.Forms.ToolStripMenuItem alwaysOnTopToolStripMenuItem;
|
||||
private System.Windows.Forms.Button button1;
|
||||
}
|
||||
}
|
|
@ -13,7 +13,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
{
|
||||
private int defaultWidth; //For saving the default size of the dialog, so the user can restore if desired
|
||||
private int defaultHeight;
|
||||
private readonly List<IVirtualPad> Pads = new List<IVirtualPad>();
|
||||
private readonly List<IVirtualPad> _pads = new List<IVirtualPad>();
|
||||
|
||||
public bool AskSave() { return true; }
|
||||
public bool UpdateBefore { get { return false; } }
|
||||
|
@ -56,7 +56,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
Global.Config.VPadWidth = Right - Left;
|
||||
Global.Config.VPadHeight = Bottom - Top;
|
||||
|
||||
Pads.Clear();
|
||||
_pads.Clear();
|
||||
}
|
||||
|
||||
private void LoadPads()
|
||||
|
@ -66,34 +66,34 @@ namespace BizHawk.Client.EmuHawk
|
|||
case "A26":
|
||||
VirtualPadA26 ataripad1 = new VirtualPadA26 { Location = new Point(8, 19), Controller = "P1" };
|
||||
VirtualPadA26 ataripad2 = new VirtualPadA26 { Location = new Point(188, 19), Controller = "P2" };
|
||||
Pads.Add(ataripad1);
|
||||
Pads.Add(ataripad2);
|
||||
_pads.Add(ataripad1);
|
||||
_pads.Add(ataripad2);
|
||||
ControllerBox.Controls.Add(ataripad1);
|
||||
ControllerBox.Controls.Add(ataripad2);
|
||||
VirtualPadA26Control ataricontrols = new VirtualPadA26Control { Location = new Point(8, 109) };
|
||||
Pads.Add(ataricontrols);
|
||||
ControllerBox.Controls.Add(Pads[2] as Control);
|
||||
_pads.Add(ataricontrols);
|
||||
ControllerBox.Controls.Add(_pads[2] as Control);
|
||||
break;
|
||||
case "A78":
|
||||
VirtualPadA78 atari78pad1 = new VirtualPadA78 { Location = new Point(8, 19), Controller = "P1" };
|
||||
VirtualPadA78 atari78pad2 = new VirtualPadA78 { Location = new Point(150, 19), Controller = "P2" };
|
||||
Pads.Add(atari78pad1);
|
||||
Pads.Add(atari78pad2);
|
||||
_pads.Add(atari78pad1);
|
||||
_pads.Add(atari78pad2);
|
||||
ControllerBox.Controls.Add(atari78pad1);
|
||||
ControllerBox.Controls.Add(atari78pad2);
|
||||
VirtualPadA78Control atari78controls = new VirtualPadA78Control { Location = new Point(8, 125) };
|
||||
Pads.Add(atari78controls);
|
||||
ControllerBox.Controls.Add(Pads[2] as Control);
|
||||
_pads.Add(atari78controls);
|
||||
ControllerBox.Controls.Add(_pads[2] as Control);
|
||||
break;
|
||||
case "NES":
|
||||
VirtualPadNES nespad1 = new VirtualPadNES { Location = new Point(8, 19), Controller = "P1" };
|
||||
VirtualPadNES nespad2 = new VirtualPadNES { Location = new Point(188, 19), Controller = "P2" };
|
||||
Pads.Add(nespad1);
|
||||
Pads.Add(nespad2);
|
||||
_pads.Add(nespad1);
|
||||
_pads.Add(nespad2);
|
||||
ControllerBox.Controls.Add(nespad1);
|
||||
ControllerBox.Controls.Add(nespad2);
|
||||
VirtualPadNESControl controlpad1 = new VirtualPadNESControl { Location = new Point(8, 109) };
|
||||
Pads.Add(controlpad1);
|
||||
_pads.Add(controlpad1);
|
||||
ControllerBox.Controls.Add(controlpad1);
|
||||
break;
|
||||
case "N64":
|
||||
|
@ -101,16 +101,16 @@ namespace BizHawk.Client.EmuHawk
|
|||
VirtualPadN64 n64pad2 = new VirtualPadN64 { Location = new Point(208, 19), Controller = "P2" };
|
||||
VirtualPadN64 n64pad3 = new VirtualPadN64 { Location = new Point(408, 19), Controller = "P3" };
|
||||
VirtualPadN64 n64pad4 = new VirtualPadN64 { Location = new Point(608, 19), Controller = "P4" };
|
||||
Pads.Add(n64pad1);
|
||||
Pads.Add(n64pad2);
|
||||
Pads.Add(n64pad3);
|
||||
Pads.Add(n64pad4);
|
||||
_pads.Add(n64pad1);
|
||||
_pads.Add(n64pad2);
|
||||
_pads.Add(n64pad3);
|
||||
_pads.Add(n64pad4);
|
||||
ControllerBox.Controls.Add(n64pad1);
|
||||
ControllerBox.Controls.Add(n64pad2);
|
||||
ControllerBox.Controls.Add(n64pad3);
|
||||
ControllerBox.Controls.Add(n64pad4);
|
||||
VirtualPadN64Control n64controlpad1 = new VirtualPadN64Control { Location = new Point(8, 350) };
|
||||
Pads.Add(n64controlpad1);
|
||||
_pads.Add(n64controlpad1);
|
||||
ControllerBox.Controls.Add(n64controlpad1);
|
||||
break;
|
||||
case "SMS":
|
||||
|
@ -118,13 +118,13 @@ namespace BizHawk.Client.EmuHawk
|
|||
case "GG":
|
||||
VirtualPadSMS smspad1 = new VirtualPadSMS { Location = new Point(8, 19), Controller = "P1" };
|
||||
VirtualPadSMS smspad2 = new VirtualPadSMS { Location = new Point(188, 19), Controller = "P2" };
|
||||
Pads.Add(smspad1);
|
||||
Pads.Add(smspad2);
|
||||
_pads.Add(smspad1);
|
||||
_pads.Add(smspad2);
|
||||
ControllerBox.Controls.Add(smspad1);
|
||||
ControllerBox.Controls.Add(smspad2);
|
||||
VirtualPadSMSControl controlpad2 = new VirtualPadSMSControl { Location = new Point(8, 109) };
|
||||
Pads.Add(controlpad2);
|
||||
ControllerBox.Controls.Add(Pads[2] as Control);
|
||||
_pads.Add(controlpad2);
|
||||
ControllerBox.Controls.Add(_pads[2] as Control);
|
||||
break;
|
||||
case "PCE":
|
||||
case "PCECD":
|
||||
|
@ -133,10 +133,10 @@ namespace BizHawk.Client.EmuHawk
|
|||
VirtualPadPCE pcepad2 = new VirtualPadPCE { Location = new Point(188, 19), Controller = "P2" };
|
||||
VirtualPadPCE pcepad3 = new VirtualPadPCE { Location = new Point(8, 109), Controller = "P3" };
|
||||
VirtualPadPCE pcepad4 = new VirtualPadPCE { Location = new Point(188, 109), Controller = "P4" };
|
||||
Pads.Add(pcepad1);
|
||||
Pads.Add(pcepad2);
|
||||
Pads.Add(pcepad3);
|
||||
Pads.Add(pcepad4);
|
||||
_pads.Add(pcepad1);
|
||||
_pads.Add(pcepad2);
|
||||
_pads.Add(pcepad3);
|
||||
_pads.Add(pcepad4);
|
||||
ControllerBox.Controls.Add(pcepad1);
|
||||
ControllerBox.Controls.Add(pcepad2);
|
||||
ControllerBox.Controls.Add(pcepad3);
|
||||
|
@ -148,11 +148,11 @@ namespace BizHawk.Client.EmuHawk
|
|||
VirtualPadSNES snespad3 = new VirtualPadSNES { Location = new Point(8, 95), Controller = "P3" };
|
||||
VirtualPadSNES snespad4 = new VirtualPadSNES { Location = new Point(188, 95), Controller = "P4" };
|
||||
VirtualPadSNESControl snescontrolpad = new VirtualPadSNESControl { Location = new Point(8, 170) };
|
||||
Pads.Add(snespad1);
|
||||
Pads.Add(snespad2);
|
||||
Pads.Add(snespad3);
|
||||
Pads.Add(snespad4);
|
||||
Pads.Add(snescontrolpad);
|
||||
_pads.Add(snespad1);
|
||||
_pads.Add(snespad2);
|
||||
_pads.Add(snespad3);
|
||||
_pads.Add(snespad4);
|
||||
_pads.Add(snescontrolpad);
|
||||
ControllerBox.Controls.Add(snespad1);
|
||||
ControllerBox.Controls.Add(snespad2);
|
||||
ControllerBox.Controls.Add(snespad3);
|
||||
|
@ -162,38 +162,38 @@ namespace BizHawk.Client.EmuHawk
|
|||
case "GB":
|
||||
case "GBC":
|
||||
VirtualPadGB gbpad1 = new VirtualPadGB { Location = new Point(8, 19), Controller = "" };
|
||||
Pads.Add(gbpad1);
|
||||
_pads.Add(gbpad1);
|
||||
ControllerBox.Controls.Add(gbpad1);
|
||||
VirtualPadGBControl gbcontrolpad = new VirtualPadGBControl { Location = new Point(8, 109) };
|
||||
Pads.Add(gbcontrolpad);
|
||||
_pads.Add(gbcontrolpad);
|
||||
ControllerBox.Controls.Add(gbcontrolpad);
|
||||
break;
|
||||
case "GBA":
|
||||
VirtualPadGBA gbapad1 = new VirtualPadGBA { Location = new Point(8, 19), Controller = "" };
|
||||
Pads.Add(gbapad1);
|
||||
_pads.Add(gbapad1);
|
||||
ControllerBox.Controls.Add(gbapad1);
|
||||
break;
|
||||
case "GEN":
|
||||
VirtualPadGen3Button genpad1 = new VirtualPadGen3Button { Location = new Point(8, 19), Controller = "P1" };
|
||||
Pads.Add(genpad1);
|
||||
_pads.Add(genpad1);
|
||||
ControllerBox.Controls.Add(genpad1);
|
||||
break;
|
||||
case "Coleco":
|
||||
VirtualPadColeco coleco1 = new VirtualPadColeco { Location = new Point(8, 19), Controller = "P1" };
|
||||
VirtualPadColeco coleco2 = new VirtualPadColeco { Location = new Point(130, 19), Controller = "P2" };
|
||||
Pads.Add(coleco1);
|
||||
Pads.Add(coleco2);
|
||||
_pads.Add(coleco1);
|
||||
_pads.Add(coleco2);
|
||||
ControllerBox.Controls.Add(coleco1);
|
||||
ControllerBox.Controls.Add(coleco2);
|
||||
break;
|
||||
case "C64":
|
||||
VirtualPadC64Keyboard c64k = new VirtualPadC64Keyboard { Location = new Point(8, 19) };
|
||||
Pads.Add(c64k);
|
||||
_pads.Add(c64k);
|
||||
ControllerBox.Controls.Add(c64k);
|
||||
VirtualPadA26 _ataripad1 = new VirtualPadA26 { Location = new Point(8, 159), Controller = "P1" };
|
||||
VirtualPadA26 _ataripad2 = new VirtualPadA26 { Location = new Point(218, 159), Controller = "P2" };
|
||||
Pads.Add(_ataripad1);
|
||||
Pads.Add(_ataripad2);
|
||||
_pads.Add(_ataripad1);
|
||||
_pads.Add(_ataripad2);
|
||||
ControllerBox.Controls.Add(_ataripad1);
|
||||
ControllerBox.Controls.Add(_ataripad2);
|
||||
break;
|
||||
|
@ -201,12 +201,12 @@ namespace BizHawk.Client.EmuHawk
|
|||
case "SAT":
|
||||
VirtualPadSaturn saturnpad1 = new VirtualPadSaturn { Location = new Point(8, 19), Controller = "P1" };
|
||||
VirtualPadSaturn saturnpad2 = new VirtualPadSaturn { Location = new Point(213, 19), Controller = "P2" };
|
||||
Pads.Add(saturnpad1);
|
||||
Pads.Add(saturnpad2);
|
||||
_pads.Add(saturnpad1);
|
||||
_pads.Add(saturnpad2);
|
||||
ControllerBox.Controls.Add(saturnpad1);
|
||||
ControllerBox.Controls.Add(saturnpad2);
|
||||
VirtualPadSaturnControl saturncontrols = new VirtualPadSaturnControl { Location = new Point(8, 125) };
|
||||
Pads.Add(saturncontrols);
|
||||
_pads.Add(saturncontrols);
|
||||
ControllerBox.Controls.Add(saturncontrols);
|
||||
break;
|
||||
}
|
||||
|
@ -249,7 +249,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
{
|
||||
if (!IsHandleCreated || IsDisposed) return;
|
||||
ControllerBox.Controls.Clear();
|
||||
Pads.Clear();
|
||||
_pads.Clear();
|
||||
LoadPads();
|
||||
}
|
||||
|
||||
|
@ -265,56 +265,56 @@ namespace BizHawk.Client.EmuHawk
|
|||
switch (Global.Emulator.SystemId)
|
||||
{
|
||||
case "NES":
|
||||
Pads[0].SetButtons(str.Substring(3, 8));
|
||||
Pads[1].SetButtons(str.Substring(12, 8));
|
||||
Pads[2].SetButtons(str[1].ToString());
|
||||
_pads[0].SetButtons(str.Substring(3, 8));
|
||||
_pads[1].SetButtons(str.Substring(12, 8));
|
||||
_pads[2].SetButtons(str[1].ToString());
|
||||
break;
|
||||
case "A26":
|
||||
Pads[0].SetButtons(str.Substring(4, 5));
|
||||
Pads[1].SetButtons(str.Substring(10, 5));
|
||||
Pads[2].SetButtons(str.Substring(1, 2));
|
||||
_pads[0].SetButtons(str.Substring(4, 5));
|
||||
_pads[1].SetButtons(str.Substring(10, 5));
|
||||
_pads[2].SetButtons(str.Substring(1, 2));
|
||||
break;
|
||||
case "SMS":
|
||||
case "GG":
|
||||
case "SG":
|
||||
Pads[0].SetButtons(str.Substring(1, 6));
|
||||
Pads[1].SetButtons(str.Substring(8, 6));
|
||||
Pads[2].SetButtons(str.Substring(15, 2));
|
||||
_pads[0].SetButtons(str.Substring(1, 6));
|
||||
_pads[1].SetButtons(str.Substring(8, 6));
|
||||
_pads[2].SetButtons(str.Substring(15, 2));
|
||||
break;
|
||||
case "PCE":
|
||||
case "SGX":
|
||||
Pads[0].SetButtons(str.Substring(3, 8));
|
||||
Pads[1].SetButtons(str.Substring(12, 8));
|
||||
Pads[2].SetButtons(str.Substring(21, 8));
|
||||
Pads[3].SetButtons(str.Substring(30, 8));
|
||||
_pads[0].SetButtons(str.Substring(3, 8));
|
||||
_pads[1].SetButtons(str.Substring(12, 8));
|
||||
_pads[2].SetButtons(str.Substring(21, 8));
|
||||
_pads[3].SetButtons(str.Substring(30, 8));
|
||||
break;
|
||||
case "TI83":
|
||||
Pads[0].SetButtons(str.Substring(2, 50));
|
||||
_pads[0].SetButtons(str.Substring(2, 50));
|
||||
break;
|
||||
case "SNES":
|
||||
Pads[0].SetButtons(str.Substring(3, 12));
|
||||
Pads[1].SetButtons(str.Substring(16, 12));
|
||||
Pads[2].SetButtons(str.Substring(29, 12));
|
||||
Pads[3].SetButtons(str.Substring(42, 12));
|
||||
_pads[0].SetButtons(str.Substring(3, 12));
|
||||
_pads[1].SetButtons(str.Substring(16, 12));
|
||||
_pads[2].SetButtons(str.Substring(29, 12));
|
||||
_pads[3].SetButtons(str.Substring(42, 12));
|
||||
break;
|
||||
case "GEN":
|
||||
Pads[0].SetButtons(str.Substring(3, 8));
|
||||
Pads[1].SetButtons(str.Substring(12, 8));
|
||||
_pads[0].SetButtons(str.Substring(3, 8));
|
||||
_pads[1].SetButtons(str.Substring(12, 8));
|
||||
break;
|
||||
case "GB":
|
||||
Pads[0].SetButtons(str.Substring(3, 8));
|
||||
_pads[0].SetButtons(str.Substring(3, 8));
|
||||
break;
|
||||
case "Coleco":
|
||||
Pads[0].SetButtons(str.Substring(1, 18));
|
||||
Pads[1].SetButtons(str.Substring(20, 18));
|
||||
_pads[0].SetButtons(str.Substring(1, 18));
|
||||
_pads[1].SetButtons(str.Substring(20, 18));
|
||||
break;
|
||||
case "C64":
|
||||
break;
|
||||
case "N64":
|
||||
Pads[0].SetButtons(str.Substring(3, 23));
|
||||
Pads[1].SetButtons(str.Substring(27, 23));
|
||||
Pads[2].SetButtons(str.Substring(51, 23));
|
||||
Pads[3].SetButtons(str.Substring(75, 23));
|
||||
_pads[0].SetButtons(str.Substring(3, 23));
|
||||
_pads[1].SetButtons(str.Substring(27, 23));
|
||||
_pads[2].SetButtons(str.Substring(51, 23));
|
||||
_pads[3].SetButtons(str.Substring(75, 23));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -323,7 +323,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
{
|
||||
if (!Global.Config.VirtualPadSticky)
|
||||
{
|
||||
foreach (IVirtualPad v in Pads)
|
||||
foreach (IVirtualPad v in _pads)
|
||||
{
|
||||
v.Clear();
|
||||
}
|
||||
|
@ -377,7 +377,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
//TODO: make an analog flag in virtualpads that have it, and check the virtualpads loaded, instead of doing this hardcoded
|
||||
if (Global.Emulator is N64)
|
||||
{
|
||||
(Pads[0] as VirtualPadN64).FudgeAnalog(dx, dy);
|
||||
(_pads[0] as VirtualPadN64).FudgeAnalog(dx, dy);
|
||||
|
||||
UpdateValues();
|
||||
}
|
||||
|
@ -386,7 +386,12 @@ namespace BizHawk.Client.EmuHawk
|
|||
private void alwaysOnTopToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
alwaysOnTopToolStripMenuItem.Checked = alwaysOnTopToolStripMenuItem.Checked == false;
|
||||
this.TopMost = alwaysOnTopToolStripMenuItem.Checked;
|
||||
TopMost = alwaysOnTopToolStripMenuItem.Checked;
|
||||
}
|
||||
|
||||
private void button1_Click(object sender, EventArgs e)
|
||||
{
|
||||
ClearVirtualPadHolds();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue