ColecoHawk - fix rerecording, fix virtualpads, C64 - start keyboard virtualpad

This commit is contained in:
adelikat 2012-11-18 15:03:23 +00:00
parent 41dbbcb8b7
commit 8e43109a01
5 changed files with 60 additions and 9 deletions

View File

@ -395,6 +395,10 @@ namespace BizHawk.MultiClient
return input.ToString();
}
private string GetC64ControllersAsMnemonic()
{
return ""; //TODO
}
public string GetControllersAsMnemonic()
{
@ -402,15 +406,18 @@ namespace BizHawk.MultiClient
{
return "|.|";
}
if (ControlType == "Atari 7800 Basic Controller")
else if (ControlType == "Atari 7800 Basic Controller")
{
return "|.|"; //TODO
}
else if (ControlType == "SNES Controller")
{
return GetSNESControllersAsMnemonic();
}
else if (ControlType == "Commodore 64 Controller")
{
return GetC64ControllersAsMnemonic();
}
StringBuilder input = new StringBuilder("|");
@ -485,7 +492,7 @@ namespace BizHawk.MultiClient
{
input.Append(IsBasePressed("Power") ? Global.COMMANDS[ControlType]["Power"] : ".");
}
else if (ControlType != "SMS Controller" && ControlType != "TI83 Controller")
else if (ControlType != "SMS Controller" && ControlType != "TI83 Controller" && ControlType != "ColecoVision Basic Controller")
{
input.Append("|");
}
@ -706,6 +713,11 @@ namespace BizHawk.MultiClient
}
private void SetSNESControllersAsMnemonic()
{
//TODO
}
/// <summary>
/// latches all buttons from the supplied mnemonic string
/// </summary>
@ -720,6 +732,12 @@ namespace BizHawk.MultiClient
SetSNESControllersAsMnemonic(mnemonic);
return;
}
else if (ControlType == "Commodore 64 Controller")
{
SetSNESControllersAsMnemonic();
return;
}
MnemonicChecker c = new MnemonicChecker(mnemonic);
MyBoolButtons.Clear();
@ -778,7 +796,7 @@ namespace BizHawk.MultiClient
if (mnemonic.Length < 2) return;
Force("Reset", mnemonic[1] != '.');
}
if (ControlType == "SMS Controller" || ControlType == "TI83 Controller")
if (ControlType == "SMS Controller" || ControlType == "TI83 Controller" || ControlType == "ColecoVision Basic Controller")
{
start = 1;
}

View File

@ -1,4 +1,4 @@
namespace BizHawk.MultiClient.tools
namespace BizHawk.MultiClient
{
partial class VirtualPadC64Keyboard
{
@ -1024,6 +1024,7 @@
this.Controls.Add(this.checkBox1);
this.Name = "VirtualPadC64Keyboard";
this.Size = new System.Drawing.Size(454, 140);
this.Load += new System.EventHandler(this.VirtualPadC64Keyboard_Load);
this.ResumeLayout(false);
this.PerformLayout();

View File

@ -7,13 +7,33 @@ using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace BizHawk.MultiClient.tools
namespace BizHawk.MultiClient
{
public partial class VirtualPadC64Keyboard : UserControl
public partial class VirtualPadC64Keyboard : UserControl , IVirtualPad
{
public VirtualPadC64Keyboard()
{
InitializeComponent();
}
private void VirtualPadC64Keyboard_Load(object sender, EventArgs e)
{
}
public void Clear()
{
//TODO
}
public string GetMnemonic()
{
return ""; //TODO
}
public void SetButtons(string buttons)
{
//TODO
}
}
}

View File

@ -63,8 +63,8 @@ namespace BizHawk.MultiClient
StringBuilder input = new StringBuilder("");
input.Append(PU.Checked ? "U" : ".");
input.Append(PD.Checked ? "D" : ".");
input.Append(PL.Checked ? "L" : "L");
input.Append(PR.Checked ? "R" : "R");
input.Append(PL.Checked ? "L" : ".");
input.Append(PR.Checked ? "R" : ".");
input.Append(KeyLeft.Checked ? "l" : ".");
input.Append(KeyRight.Checked ? "r" : ".");

View File

@ -180,6 +180,12 @@ namespace BizHawk.MultiClient
ControllerBox.Controls.Add(coleco1);
ControllerBox.Controls.Add(coleco2);
break;
case "C64":
VirtualPadC64Keyboard c64k = new VirtualPadC64Keyboard();
c64k.Location = new Point(8, 19);
Pads.Add(c64k);
ControllerBox.Controls.Add(c64k);
break;
}
}
@ -256,6 +262,12 @@ namespace BizHawk.MultiClient
case "GB":
Pads[0].SetButtons(str.Substring(3, 8));
break;
case "Coleco":
Pads[0].SetButtons(str.Substring(1, 18));
Pads[1].SetButtons(str.Substring(20, 18));
break;
case "C64":
break;
default:
break;
}