diff --git a/BizHawk.MultiClient/movie/InputAdapters.cs b/BizHawk.MultiClient/movie/InputAdapters.cs index 1d01a6fce5..c731ce8532 100644 --- a/BizHawk.MultiClient/movie/InputAdapters.cs +++ b/BizHawk.MultiClient/movie/InputAdapters.cs @@ -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 + } + /// /// latches all buttons from the supplied mnemonic string /// @@ -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; } diff --git a/BizHawk.MultiClient/tools/VirtualPadC64Keyboard.Designer.cs b/BizHawk.MultiClient/tools/VirtualPadC64Keyboard.Designer.cs index 670657cf67..a56c20d545 100644 --- a/BizHawk.MultiClient/tools/VirtualPadC64Keyboard.Designer.cs +++ b/BizHawk.MultiClient/tools/VirtualPadC64Keyboard.Designer.cs @@ -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(); diff --git a/BizHawk.MultiClient/tools/VirtualPadC64Keyboard.cs b/BizHawk.MultiClient/tools/VirtualPadC64Keyboard.cs index 219886ceb5..5adda336fe 100644 --- a/BizHawk.MultiClient/tools/VirtualPadC64Keyboard.cs +++ b/BizHawk.MultiClient/tools/VirtualPadC64Keyboard.cs @@ -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 + } } } diff --git a/BizHawk.MultiClient/tools/VirtualPadColeco.cs b/BizHawk.MultiClient/tools/VirtualPadColeco.cs index 9efd6ec230..c0f6e80d42 100644 --- a/BizHawk.MultiClient/tools/VirtualPadColeco.cs +++ b/BizHawk.MultiClient/tools/VirtualPadColeco.cs @@ -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" : "."); diff --git a/BizHawk.MultiClient/tools/VirtualPadForm.cs b/BizHawk.MultiClient/tools/VirtualPadForm.cs index 9baf217f76..16c6d4e511 100644 --- a/BizHawk.MultiClient/tools/VirtualPadForm.cs +++ b/BizHawk.MultiClient/tools/VirtualPadForm.cs @@ -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; }