VirtualPads - allow smaller minimum size, add a clear button for people who don't think to right-click

This commit is contained in:
adelikat 2013-11-16 02:36:42 +00:00
parent 9f75724757
commit cce98bcfe4
2 changed files with 268 additions and 249 deletions

View File

@ -28,66 +28,67 @@
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(VirtualPadForm));
this.ControllerBox = new System.Windows.Forms.GroupBox();
this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components);
this.clearToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.menuStrip1 = new MenuStripEx();
this.optionsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.alwaysOnTopToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.autolaodToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.saveWindowPositionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
this.restoreDefaultSettingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.StickyBox = new System.Windows.Forms.CheckBox();
this.contextMenuStrip1.SuspendLayout();
this.menuStrip1.SuspendLayout();
this.SuspendLayout();
//
// ControllerBox
//
this.ControllerBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(VirtualPadForm));
this.ControllerBox = new System.Windows.Forms.GroupBox();
this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components);
this.clearToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.menuStrip1 = new MenuStripEx();
this.optionsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.alwaysOnTopToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.autolaodToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.saveWindowPositionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
this.restoreDefaultSettingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
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();
//
// ControllerBox
//
this.ControllerBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.ControllerBox.ContextMenuStrip = this.contextMenuStrip1;
this.ControllerBox.Location = new System.Drawing.Point(9, 26);
this.ControllerBox.Name = "ControllerBox";
this.ControllerBox.Size = new System.Drawing.Size(431, 251);
this.ControllerBox.TabIndex = 5;
this.ControllerBox.TabStop = false;
this.ControllerBox.Text = "Controllers";
//
// contextMenuStrip1
//
this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.ControllerBox.ContextMenuStrip = this.contextMenuStrip1;
this.ControllerBox.Location = new System.Drawing.Point(9, 26);
this.ControllerBox.Name = "ControllerBox";
this.ControllerBox.Size = new System.Drawing.Size(431, 251);
this.ControllerBox.TabIndex = 5;
this.ControllerBox.TabStop = false;
this.ControllerBox.Text = "Controllers";
//
// contextMenuStrip1
//
this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.clearToolStripMenuItem});
this.contextMenuStrip1.Name = "contextMenuStrip1";
this.contextMenuStrip1.Size = new System.Drawing.Size(102, 26);
//
// clearToolStripMenuItem
//
this.clearToolStripMenuItem.Name = "clearToolStripMenuItem";
this.clearToolStripMenuItem.Size = new System.Drawing.Size(101, 22);
this.clearToolStripMenuItem.Text = "&Clear";
this.clearToolStripMenuItem.Click += new System.EventHandler(this.clearToolStripMenuItem_Click);
//
// menuStrip1
//
this.menuStrip1.ClickThrough = true;
this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.contextMenuStrip1.Name = "contextMenuStrip1";
this.contextMenuStrip1.Size = new System.Drawing.Size(102, 26);
//
// clearToolStripMenuItem
//
this.clearToolStripMenuItem.Name = "clearToolStripMenuItem";
this.clearToolStripMenuItem.Size = new System.Drawing.Size(101, 22);
this.clearToolStripMenuItem.Text = "&Clear";
this.clearToolStripMenuItem.Click += new System.EventHandler(this.clearToolStripMenuItem_Click);
//
// menuStrip1
//
this.menuStrip1.ClickThrough = true;
this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.optionsToolStripMenuItem});
this.menuStrip1.Location = new System.Drawing.Point(0, 0);
this.menuStrip1.Name = "menuStrip1";
this.menuStrip1.Size = new System.Drawing.Size(452, 24);
this.menuStrip1.TabIndex = 6;
this.menuStrip1.Text = "menuStrip1";
//
// optionsToolStripMenuItem
//
this.optionsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.menuStrip1.Location = new System.Drawing.Point(0, 0);
this.menuStrip1.Name = "menuStrip1";
this.menuStrip1.Size = new System.Drawing.Size(452, 24);
this.menuStrip1.TabIndex = 6;
this.menuStrip1.Text = "menuStrip1";
//
// optionsToolStripMenuItem
//
this.optionsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.alwaysOnTopToolStripMenuItem,
this.autolaodToolStripMenuItem,
this.saveWindowPositionToolStripMenuItem,
@ -95,89 +96,101 @@
this.restoreDefaultSettingsToolStripMenuItem,
this.toolStripSeparator1,
this.exitToolStripMenuItem});
this.optionsToolStripMenuItem.Name = "optionsToolStripMenuItem";
this.optionsToolStripMenuItem.Size = new System.Drawing.Size(61, 20);
this.optionsToolStripMenuItem.Text = "&Options";
this.optionsToolStripMenuItem.DropDownOpened += new System.EventHandler(this.optionsToolStripMenuItem_DropDownOpened);
//
// alwaysOnTopToolStripMenuItem
//
this.alwaysOnTopToolStripMenuItem.Name = "alwaysOnTopToolStripMenuItem";
this.alwaysOnTopToolStripMenuItem.Size = new System.Drawing.Size(199, 22);
this.alwaysOnTopToolStripMenuItem.Text = "Always On Top";
this.alwaysOnTopToolStripMenuItem.Click += new System.EventHandler(this.alwaysOnTopToolStripMenuItem_Click);
//
// autolaodToolStripMenuItem
//
this.autolaodToolStripMenuItem.Name = "autolaodToolStripMenuItem";
this.autolaodToolStripMenuItem.Size = new System.Drawing.Size(199, 22);
this.autolaodToolStripMenuItem.Text = "&Autoload";
this.autolaodToolStripMenuItem.Click += new System.EventHandler(this.autolaodToolStripMenuItem_Click);
//
// saveWindowPositionToolStripMenuItem
//
this.saveWindowPositionToolStripMenuItem.Name = "saveWindowPositionToolStripMenuItem";
this.saveWindowPositionToolStripMenuItem.Size = new System.Drawing.Size(199, 22);
this.saveWindowPositionToolStripMenuItem.Text = "&Save Window Position";
this.saveWindowPositionToolStripMenuItem.Click += new System.EventHandler(this.saveWindowPositionToolStripMenuItem_Click);
//
// toolStripSeparator2
//
this.toolStripSeparator2.Name = "toolStripSeparator2";
this.toolStripSeparator2.Size = new System.Drawing.Size(196, 6);
//
// restoreDefaultSettingsToolStripMenuItem
//
this.restoreDefaultSettingsToolStripMenuItem.Name = "restoreDefaultSettingsToolStripMenuItem";
this.restoreDefaultSettingsToolStripMenuItem.Size = new System.Drawing.Size(199, 22);
this.restoreDefaultSettingsToolStripMenuItem.Text = "Restore Default Settings";
this.restoreDefaultSettingsToolStripMenuItem.Click += new System.EventHandler(this.restoreDefaultSettingsToolStripMenuItem_Click);
//
// toolStripSeparator1
//
this.toolStripSeparator1.Name = "toolStripSeparator1";
this.toolStripSeparator1.Size = new System.Drawing.Size(196, 6);
//
// exitToolStripMenuItem
//
this.exitToolStripMenuItem.Name = "exitToolStripMenuItem";
this.exitToolStripMenuItem.ShortcutKeyDisplayString = "Alt+F4";
this.exitToolStripMenuItem.Size = new System.Drawing.Size(199, 22);
this.exitToolStripMenuItem.Text = "E&xit";
this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click);
//
// StickyBox
//
this.StickyBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.StickyBox.AutoSize = true;
this.StickyBox.Location = new System.Drawing.Point(9, 283);
this.StickyBox.Name = "StickyBox";
this.StickyBox.Size = new System.Drawing.Size(55, 17);
this.StickyBox.TabIndex = 7;
this.StickyBox.Text = "Sticky";
this.StickyBox.UseVisualStyleBackColor = true;
this.StickyBox.CheckedChanged += new System.EventHandler(this.StickyBox_CheckedChanged);
//
// 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.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.Name = "VirtualPadForm";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Virtual Pads";
this.Load += new System.EventHandler(this.VirtualPadForm_Load);
this.contextMenuStrip1.ResumeLayout(false);
this.menuStrip1.ResumeLayout(false);
this.menuStrip1.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
this.optionsToolStripMenuItem.Name = "optionsToolStripMenuItem";
this.optionsToolStripMenuItem.Size = new System.Drawing.Size(61, 20);
this.optionsToolStripMenuItem.Text = "&Options";
this.optionsToolStripMenuItem.DropDownOpened += new System.EventHandler(this.optionsToolStripMenuItem_DropDownOpened);
//
// alwaysOnTopToolStripMenuItem
//
this.alwaysOnTopToolStripMenuItem.Name = "alwaysOnTopToolStripMenuItem";
this.alwaysOnTopToolStripMenuItem.Size = new System.Drawing.Size(199, 22);
this.alwaysOnTopToolStripMenuItem.Text = "Always On Top";
this.alwaysOnTopToolStripMenuItem.Click += new System.EventHandler(this.alwaysOnTopToolStripMenuItem_Click);
//
// autolaodToolStripMenuItem
//
this.autolaodToolStripMenuItem.Name = "autolaodToolStripMenuItem";
this.autolaodToolStripMenuItem.Size = new System.Drawing.Size(199, 22);
this.autolaodToolStripMenuItem.Text = "&Autoload";
this.autolaodToolStripMenuItem.Click += new System.EventHandler(this.autolaodToolStripMenuItem_Click);
//
// saveWindowPositionToolStripMenuItem
//
this.saveWindowPositionToolStripMenuItem.Name = "saveWindowPositionToolStripMenuItem";
this.saveWindowPositionToolStripMenuItem.Size = new System.Drawing.Size(199, 22);
this.saveWindowPositionToolStripMenuItem.Text = "&Save Window Position";
this.saveWindowPositionToolStripMenuItem.Click += new System.EventHandler(this.saveWindowPositionToolStripMenuItem_Click);
//
// toolStripSeparator2
//
this.toolStripSeparator2.Name = "toolStripSeparator2";
this.toolStripSeparator2.Size = new System.Drawing.Size(196, 6);
//
// restoreDefaultSettingsToolStripMenuItem
//
this.restoreDefaultSettingsToolStripMenuItem.Name = "restoreDefaultSettingsToolStripMenuItem";
this.restoreDefaultSettingsToolStripMenuItem.Size = new System.Drawing.Size(199, 22);
this.restoreDefaultSettingsToolStripMenuItem.Text = "Restore Default Settings";
this.restoreDefaultSettingsToolStripMenuItem.Click += new System.EventHandler(this.restoreDefaultSettingsToolStripMenuItem_Click);
//
// toolStripSeparator1
//
this.toolStripSeparator1.Name = "toolStripSeparator1";
this.toolStripSeparator1.Size = new System.Drawing.Size(196, 6);
//
// exitToolStripMenuItem
//
this.exitToolStripMenuItem.Name = "exitToolStripMenuItem";
this.exitToolStripMenuItem.ShortcutKeyDisplayString = "Alt+F4";
this.exitToolStripMenuItem.Size = new System.Drawing.Size(199, 22);
this.exitToolStripMenuItem.Text = "E&xit";
this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click);
//
// StickyBox
//
this.StickyBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.StickyBox.AutoSize = true;
this.StickyBox.Location = new System.Drawing.Point(9, 283);
this.StickyBox.Name = "StickyBox";
this.StickyBox.Size = new System.Drawing.Size(55, 17);
this.StickyBox.TabIndex = 7;
this.StickyBox.Text = "Sticky";
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(100, 100);
this.Name = "VirtualPadForm";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Virtual Pads";
this.Load += new System.EventHandler(this.VirtualPadForm_Load);
this.contextMenuStrip1.ResumeLayout(false);
this.menuStrip1.ResumeLayout(false);
this.menuStrip1.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
}
@ -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;
}
}

View File

@ -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; } }
@ -42,7 +42,7 @@ namespace BizHawk.Client.EmuHawk
Location = new Point(Global.Config.VPadWndx, Global.Config.VPadWndy);
}
if (Global.Config.VirtualPadSaveWindowPosition && Global.Config.VPadWidth >= 0 && Global.Config.VPadHeight >= 0)
if (Global.Config.VirtualPadSaveWindowPosition && Global.Config.VPadWidth >= 0 && Global.Config.VPadHeight >= 0)
{
Size = new Size(Global.Config.VPadWidth, Global.Config.VPadHeight);
}
@ -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()
@ -64,36 +64,36 @@ namespace BizHawk.Client.EmuHawk
switch (Global.Emulator.SystemId)
{
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);
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);
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);
VirtualPadA26Control ataricontrols = new VirtualPadA26Control { Location = new Point(8, 109) };
_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);
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);
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);
VirtualPadA78Control atari78controls = new VirtualPadA78Control { Location = new Point(8, 125) };
_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);
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);
ControllerBox.Controls.Add(nespad1);
ControllerBox.Controls.Add(nespad2);
VirtualPadNESControl controlpad1 = new VirtualPadNESControl {Location = new Point(8, 109)};
Pads.Add(controlpad1);
VirtualPadNESControl controlpad1 = new VirtualPadNESControl { Location = new Point(8, 109) };
_pads.Add(controlpad1);
ControllerBox.Controls.Add(controlpad1);
break;
case "N64":
@ -101,58 +101,58 @@ 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":
case "SG":
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);
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);
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);
VirtualPadSMSControl controlpad2 = new VirtualPadSMSControl { Location = new Point(8, 109) };
_pads.Add(controlpad2);
ControllerBox.Controls.Add(_pads[2] as Control);
break;
case "PCE":
case "PCECD":
case "SGX":
VirtualPadPCE pcepad1 = new VirtualPadPCE {Location = new Point(8, 19), Controller = "P1"};
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);
VirtualPadPCE pcepad1 = new VirtualPadPCE { Location = new Point(8, 19), Controller = "P1" };
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);
ControllerBox.Controls.Add(pcepad1);
ControllerBox.Controls.Add(pcepad2);
ControllerBox.Controls.Add(pcepad3);
ControllerBox.Controls.Add(pcepad4);
break;
case "SNES":
VirtualPadSNES snespad1 = new VirtualPadSNES {Location = new Point(8, 19), Controller = "P1"};
VirtualPadSNES snespad2 = new VirtualPadSNES {Location = new Point(188, 19), Controller = "P2"};
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);
VirtualPadSNES snespad1 = new VirtualPadSNES { Location = new Point(8, 19), Controller = "P1" };
VirtualPadSNES snespad2 = new VirtualPadSNES { Location = new Point(188, 19), Controller = "P2" };
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);
ControllerBox.Controls.Add(snespad1);
ControllerBox.Controls.Add(snespad2);
ControllerBox.Controls.Add(snespad3);
@ -161,52 +161,52 @@ namespace BizHawk.Client.EmuHawk
break;
case "GB":
case "GBC":
VirtualPadGB gbpad1 = new VirtualPadGB {Location = new Point(8, 19), Controller = ""};
Pads.Add(gbpad1);
VirtualPadGB gbpad1 = new VirtualPadGB { Location = new Point(8, 19), Controller = "" };
_pads.Add(gbpad1);
ControllerBox.Controls.Add(gbpad1);
VirtualPadGBControl gbcontrolpad = new VirtualPadGBControl {Location = new Point(8, 109)};
Pads.Add(gbcontrolpad);
VirtualPadGBControl gbcontrolpad = new VirtualPadGBControl { Location = new Point(8, 109) };
_pads.Add(gbcontrolpad);
ControllerBox.Controls.Add(gbcontrolpad);
break;
case "GBA":
VirtualPadGBA gbapad1 = new VirtualPadGBA {Location = new Point(8, 19), Controller = ""};
Pads.Add(gbapad1);
VirtualPadGBA gbapad1 = new VirtualPadGBA { Location = new Point(8, 19), Controller = "" };
_pads.Add(gbapad1);
ControllerBox.Controls.Add(gbapad1);
break;
case "GEN":
VirtualPadGen3Button genpad1 = new VirtualPadGen3Button {Location = new Point(8, 19), Controller = "P1"};
Pads.Add(genpad1);
VirtualPadGen3Button genpad1 = new VirtualPadGen3Button { Location = new Point(8, 19), Controller = "P1" };
_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);
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);
ControllerBox.Controls.Add(coleco1);
ControllerBox.Controls.Add(coleco2);
break;
case "C64":
VirtualPadC64Keyboard c64k = new VirtualPadC64Keyboard {Location = new Point(8, 19)};
Pads.Add(c64k);
VirtualPadC64Keyboard c64k = new VirtualPadC64Keyboard { Location = new Point(8, 19) };
_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);
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);
ControllerBox.Controls.Add(_ataripad1);
ControllerBox.Controls.Add(_ataripad2);
break;
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,17 +377,22 @@ 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();
}
}
private void alwaysOnTopToolStripMenuItem_Click(object sender, EventArgs e)
{
alwaysOnTopToolStripMenuItem.Checked = alwaysOnTopToolStripMenuItem.Checked == false;
this.TopMost = alwaysOnTopToolStripMenuItem.Checked;
}
private void alwaysOnTopToolStripMenuItem_Click(object sender, EventArgs e)
{
alwaysOnTopToolStripMenuItem.Checked = alwaysOnTopToolStripMenuItem.Checked == false;
TopMost = alwaysOnTopToolStripMenuItem.Checked;
}
private void button1_Click(object sender, EventArgs e)
{
ClearVirtualPadHolds();
}
}
}