Clean up virtualpads to use StickyXORAdapter, have a Clear() function, and to be aware of what controller they are using
This commit is contained in:
parent
06d8792830
commit
ea472ee043
|
@ -107,8 +107,10 @@ namespace BizHawk.MultiClient
|
|||
case "NES":
|
||||
VirtualPadNES nespad1 = new VirtualPadNES();
|
||||
nespad1.Location = new Point(8, 19);
|
||||
nespad1.Controller = "P1";
|
||||
VirtualPadNES nespad2 = new VirtualPadNES();
|
||||
nespad2.Location = new Point(188, 19);
|
||||
nespad2.Controller = "P2";
|
||||
Pads.Add(nespad1);
|
||||
Pads.Add(nespad2);
|
||||
ControllerBox.Controls.Add(Pads[0]);
|
||||
|
@ -142,6 +144,9 @@ namespace BizHawk.MultiClient
|
|||
Global.Config.TASWndy = this.Location.Y;
|
||||
Global.Config.TASWidth = this.Right - this.Left;
|
||||
Global.Config.TASHeight = this.Bottom - this.Top;
|
||||
|
||||
for (int x = 0; x < Pads.Count; x++)
|
||||
Pads[x].Clear();
|
||||
}
|
||||
|
||||
public void Restart()
|
||||
|
|
|
@ -26,6 +26,7 @@ namespace BizHawk.MultiClient
|
|||
public CheckBox B6;
|
||||
public CheckBox B7;
|
||||
public CheckBox B8;
|
||||
public string Controller;
|
||||
|
||||
public VirtualPad()
|
||||
{
|
||||
|
@ -34,11 +35,30 @@ namespace BizHawk.MultiClient
|
|||
SetStyle(ControlStyles.DoubleBuffer, true);
|
||||
this.BorderStyle = BorderStyle.Fixed3D;
|
||||
this.Size = new Size(174, 74);
|
||||
Controller = "P1";
|
||||
}
|
||||
|
||||
public virtual string GetMnemonic()
|
||||
{
|
||||
return "......|";
|
||||
}
|
||||
|
||||
public virtual void Clear()
|
||||
{
|
||||
PU.Checked = false;
|
||||
PD.Checked = false;
|
||||
PL.Checked = false;
|
||||
PR.Checked = false;
|
||||
|
||||
B1.Checked = false;
|
||||
B2.Checked = false;
|
||||
B3.Checked = false;
|
||||
B4.Checked = false;
|
||||
B5.Checked = false;
|
||||
B6.Checked = false;
|
||||
B7.Checked = false;
|
||||
B8.Checked = false;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -172,22 +172,48 @@ namespace BizHawk.MultiClient
|
|||
{
|
||||
if (Global.Emulator.SystemId != "NES") return;
|
||||
if (sender == PU)
|
||||
Global.ActiveController.SetSticky("Up", PU.Checked);
|
||||
Global.StickyXORAdapter.SetSticky(Controller + " Up", PU.Checked);
|
||||
else if (sender == PD)
|
||||
Global.ActiveController.SetSticky("Down", PD.Checked);
|
||||
Global.StickyXORAdapter.SetSticky(Controller + " Down", PD.Checked);
|
||||
else if (sender == PL)
|
||||
Global.ActiveController.SetSticky("Left", PL.Checked);
|
||||
Global.StickyXORAdapter.SetSticky(Controller + " Left", PL.Checked);
|
||||
else if (sender == PR)
|
||||
Global.ActiveController.SetSticky("Right", PR.Checked);
|
||||
Global.StickyXORAdapter.SetSticky(Controller + " Right", PR.Checked);
|
||||
else if (sender == B1)
|
||||
Global.ActiveController.SetSticky("Select", B1.Checked);
|
||||
Global.StickyXORAdapter.SetSticky(Controller + " Select", B1.Checked);
|
||||
else if (sender == B2)
|
||||
Global.ActiveController.SetSticky("Start", B2.Checked);
|
||||
Global.StickyXORAdapter.SetSticky(Controller + " Start", B2.Checked);
|
||||
else if (sender == B3)
|
||||
Global.ActiveController.SetSticky("B", B3.Checked);
|
||||
Global.StickyXORAdapter.SetSticky(Controller + " B", B3.Checked);
|
||||
else if (sender == B4)
|
||||
Global.ActiveController.SetSticky("A", B4.Checked);
|
||||
Global.StickyXORAdapter.SetSticky(Controller + " A", B4.Checked);
|
||||
}
|
||||
|
||||
public override void Clear()
|
||||
{
|
||||
if (Global.Emulator.SystemId != "NES") return;
|
||||
PU.Checked = false;
|
||||
PD.Checked = false;
|
||||
PL.Checked = false;
|
||||
PR.Checked = false;
|
||||
|
||||
B1.Checked = false;
|
||||
B2.Checked = false;
|
||||
B3.Checked = false;
|
||||
B4.Checked = false;
|
||||
B5.Checked = false;
|
||||
B6.Checked = false;
|
||||
B7.Checked = false;
|
||||
B8.Checked = false;
|
||||
|
||||
Global.StickyXORAdapter.SetSticky(Controller + " Up", false);
|
||||
Global.StickyXORAdapter.SetSticky(Controller + " Down", false);
|
||||
Global.StickyXORAdapter.SetSticky(Controller + " Left", false);
|
||||
Global.StickyXORAdapter.SetSticky(Controller + " Right", false);
|
||||
Global.StickyXORAdapter.SetSticky(Controller + " Select", false);
|
||||
Global.StickyXORAdapter.SetSticky(Controller + " Start", false);
|
||||
Global.StickyXORAdapter.SetSticky(Controller + " B", false);
|
||||
Global.StickyXORAdapter.SetSticky(Controller + " A", false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -148,17 +148,44 @@ namespace BizHawk.MultiClient
|
|||
{
|
||||
if (Global.Emulator.SystemId != "SMS") return;
|
||||
if (sender == PU)
|
||||
Global.ActiveController.SetSticky("Up", PU.Checked);
|
||||
Global.StickyXORAdapter.SetSticky(Controller + "Up", PU.Checked);
|
||||
else if (sender == PD)
|
||||
Global.ActiveController.SetSticky("Down", PD.Checked);
|
||||
Global.StickyXORAdapter.SetSticky(Controller + "Down", PD.Checked);
|
||||
else if (sender == PL)
|
||||
Global.ActiveController.SetSticky("Left", PL.Checked);
|
||||
Global.StickyXORAdapter.SetSticky(Controller + "Left", PL.Checked);
|
||||
else if (sender == PR)
|
||||
Global.ActiveController.SetSticky("Right", PR.Checked);
|
||||
Global.StickyXORAdapter.SetSticky(Controller + "Right", PR.Checked);
|
||||
else if (sender == B1)
|
||||
Global.ActiveController.SetSticky("1", B3.Checked);
|
||||
Global.StickyXORAdapter.SetSticky(Controller + "B1", B3.Checked);
|
||||
else if (sender == B2)
|
||||
Global.ActiveController.SetSticky("2", B4.Checked);
|
||||
Global.StickyXORAdapter.SetSticky(Controller + "B2", B4.Checked);
|
||||
}
|
||||
|
||||
public override void Clear()
|
||||
{
|
||||
if (Global.Emulator.SystemId != "SMS") return; //TODO: GG & SG can share pad?
|
||||
PU.Checked = false;
|
||||
PD.Checked = false;
|
||||
PL.Checked = false;
|
||||
PR.Checked = false;
|
||||
|
||||
B1.Checked = false;
|
||||
B2.Checked = false;
|
||||
B3.Checked = false;
|
||||
B4.Checked = false;
|
||||
B5.Checked = false;
|
||||
B6.Checked = false;
|
||||
B7.Checked = false;
|
||||
B8.Checked = false;
|
||||
|
||||
Global.StickyXORAdapter.SetSticky(Controller + " Up", false);
|
||||
Global.StickyXORAdapter.SetSticky(Controller + " Down", false);
|
||||
Global.StickyXORAdapter.SetSticky(Controller + " Left", false);
|
||||
Global.StickyXORAdapter.SetSticky(Controller + " Right", false);
|
||||
Global.StickyXORAdapter.SetSticky(Controller + " Select", false);
|
||||
Global.StickyXORAdapter.SetSticky(Controller + " Start", false);
|
||||
Global.StickyXORAdapter.SetSticky(Controller + " B1", false);
|
||||
Global.StickyXORAdapter.SetSticky(Controller + " B2", false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue