N64: Some improvements to the virtual pad. 4 pads are now shown and work, input display works
This commit is contained in:
parent
ac9d053895
commit
1e1466a0f9
|
@ -92,5 +92,13 @@ namespace BizHawk.MultiClient
|
|||
|
||||
Refresh();
|
||||
}
|
||||
|
||||
public void SetPosition(int Xval, int Yval)
|
||||
{
|
||||
X = Xval;
|
||||
Y = Yval;
|
||||
|
||||
Refresh();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -174,12 +174,18 @@ namespace BizHawk.MultiClient
|
|||
ControllerBox.Controls.Add(_ataripad2);
|
||||
break;
|
||||
case "N64":
|
||||
VirtualPadN64 n64k = new VirtualPadN64
|
||||
{
|
||||
Location = new Point(8, 19)
|
||||
};
|
||||
Pads.Add(n64k);
|
||||
ControllerBox.Controls.Add(n64k);
|
||||
VirtualPadN64 n64pad1 = new VirtualPadN64 { Location = new Point(8, 19), Controller = "P1" };
|
||||
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);
|
||||
ControllerBox.Controls.Add(n64pad1);
|
||||
ControllerBox.Controls.Add(n64pad2);
|
||||
ControllerBox.Controls.Add(n64pad3);
|
||||
ControllerBox.Controls.Add(n64pad4);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -276,6 +282,12 @@ namespace BizHawk.MultiClient
|
|||
break;
|
||||
case "C64":
|
||||
break;
|
||||
case "N64":
|
||||
Pads[0].SetButtons(str.Substring(3, 20));
|
||||
Pads[1].SetButtons(str.Substring(24, 20));
|
||||
Pads[2].SetButtons(str.Substring(45, 20));
|
||||
Pads[3].SetButtons(str.Substring(66, 20));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -244,7 +244,7 @@
|
|||
this.Controls.Add(this.PU);
|
||||
this.Controls.Add(this.AnalogControl1);
|
||||
this.Name = "VirtualPadN64";
|
||||
this.Size = new System.Drawing.Size(201, 332);
|
||||
this.Size = new System.Drawing.Size(200, 332);
|
||||
this.Load += new System.EventHandler(this.UserControl1_Load);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
|
|
@ -106,6 +106,19 @@ namespace BizHawk.MultiClient
|
|||
if (buttons[11] == '.') CD.Checked = false; else CD.Checked = true;
|
||||
if (buttons[12] == '.') CL.Checked = false; else CL.Checked = true;
|
||||
if (buttons[13] == '.') CR.Checked = false; else CR.Checked = true;
|
||||
|
||||
int x = 0;
|
||||
int y = 0;
|
||||
if (InputValidate.IsValidUnsignedNumber(buttons.Substring(14, 3)))
|
||||
{
|
||||
x = Int32.Parse(buttons.Substring(14, 3)) - 128;
|
||||
|
||||
}
|
||||
if (InputValidate.IsValidUnsignedNumber(buttons.Substring(17, 3)))
|
||||
{
|
||||
y = Int32.Parse(buttons.Substring(17, 3)) - 128;
|
||||
}
|
||||
AnalogControl1.SetPosition(x, y);
|
||||
}
|
||||
|
||||
public string GetMnemonic()
|
||||
|
@ -199,14 +212,14 @@ namespace BizHawk.MultiClient
|
|||
|
||||
private void AnalogControl1_MouseClick(object sender, MouseEventArgs e)
|
||||
{
|
||||
Global.StickyXORAdapter.SetFloat("P1 X Axis", AnalogControl1.X);
|
||||
Global.StickyXORAdapter.SetFloat("P1 Y Axis", -AnalogControl1.Y - 1);
|
||||
Global.StickyXORAdapter.SetFloat(Controller + " X Axis", AnalogControl1.X);
|
||||
Global.StickyXORAdapter.SetFloat(Controller + " Y Axis", -AnalogControl1.Y - 1);
|
||||
}
|
||||
|
||||
private void AnalogControl1_MouseMove(object sender, MouseEventArgs e)
|
||||
{
|
||||
Global.StickyXORAdapter.SetFloat("P1 X Axis", AnalogControl1.X);
|
||||
Global.StickyXORAdapter.SetFloat("P1 Y Axis", -AnalogControl1.Y - 1);
|
||||
Global.StickyXORAdapter.SetFloat(Controller + " X Axis", AnalogControl1.X);
|
||||
Global.StickyXORAdapter.SetFloat(Controller + " Y Axis", -AnalogControl1.Y - 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue