Added PCE, todo: Genesis, Gameboy, (LOL TI-83?)

This commit is contained in:
kylethomson 2011-02-19 21:27:10 +00:00
parent 3e22f03e32
commit 23555d06c5
3 changed files with 112 additions and 25 deletions

View File

@ -6,6 +6,11 @@
{
SMSController[0] = new SMSControllerTemplate(1);
SMSController[1] = new SMSControllerTemplate(2);
PCEController[0] = new PCEControllerTemplate(1);
PCEController[1] = new PCEControllerTemplate(2);
PCEController[2] = new PCEControllerTemplate(3);
PCEController[3] = new PCEControllerTemplate(4);
PCEController[4] = new PCEControllerTemplate(5);
}
// General Client Settings
@ -80,14 +85,7 @@
public SMSControllerTemplate[] SMSController = new SMSControllerTemplate[2];
// PCEngine Settings
public string PCEUp = "J1 Up, UpArrow";
public string PCEDown = "J1 Down, DownArrow";
public string PCELeft = "J1 Left, LeftArrow";
public string PCERight = "J1 Right, RightArrow";
public string PCEBII = "J1 B1, Z";
public string PCEBI = "J1 B2, X";
public string PCESelect = "J1 B9, Space";
public string PCERun = "J1 B10, Return";
public PCEControllerTemplate[] PCEController = new PCEControllerTemplate[5];
// Genesis Settings
public string GenP1Up = "J1 Up, UpArrow";
@ -117,5 +115,27 @@
B2 = string.Format("J{0} B2", i);
}
}
public class PCEControllerTemplate
{
public string Up;
public string Down;
public string Left;
public string Right;
public string I;
public string II;
public string Run;
public string Select;
public PCEControllerTemplate(int i)
{
Up = string.Format("J{0} Up", i);
Down = string.Format("J{0} Down", i);
Left = string.Format("J{0} Left", i);
Right = string.Format("J{0} Right", i);
I = string.Format("J{0} I", i);
II = string.Format("J{0} II", i);
Run = string.Format("J{0} Run", i);
Select = string.Format("J{0} Select", i);
}
}
}

View File

@ -196,15 +196,18 @@ namespace BizHawk.MultiClient
Global.SMSControls = smsControls;
var pceControls = new Controller(PCEngine.PCEngineController);
pceControls.BindMulti("Up", Global.Config.PCEUp);
pceControls.BindMulti("Down", Global.Config.PCEDown);
pceControls.BindMulti("Left", Global.Config.PCELeft);
pceControls.BindMulti("Right", Global.Config.PCERight);
for (int i = 0; i < 1; i++)
{
pceControls.BindMulti("Up", Global.Config.PCEController[i].Up);
pceControls.BindMulti("Down", Global.Config.PCEController[i].Down);
pceControls.BindMulti("Left", Global.Config.PCEController[i].Left);
pceControls.BindMulti("Right", Global.Config.PCEController[i].Right);
pceControls.BindMulti("II", Global.Config.PCEBII);
pceControls.BindMulti("I", Global.Config.PCEBI);
pceControls.BindMulti("Select", Global.Config.PCESelect);
pceControls.BindMulti("Run", Global.Config.PCERun);
pceControls.BindMulti("II", Global.Config.PCEController[i].II);
pceControls.BindMulti("I", Global.Config.PCEController[i].I);
pceControls.BindMulti("Select", Global.Config.PCEController[i].Select);
pceControls.BindMulti("Run", Global.Config.PCEController[i].Run);
}
Global.PCEControls = pceControls;
var genControls = new Controller(Genesis.GenesisController);

View File

@ -13,8 +13,10 @@ namespace BizHawk.MultiClient
public partial class InputConfig : Form
{
const string ControllerStr = "Configure Controllers - ";
public static string[] SMSList = new string[] { "Up", "Down", "Left", "Right", "B1", "B2", "Pause", "Reset" };
public static string[] GenesisList = new string[] { "Up", "Down", "Left", "Right", "A", "B", "C", "Start", "X", "Y", "Z" };
public static string[] SMSControlList = new string[] { "Up", "Down", "Left", "Right", "B1", "B2", "Pause", "Reset" };
public static string[] PCEControlList = new string[] { "Up", "Down", "Left", "Right", "I", "II","Run","Select"};
public static string[] GenesisControlList = new string[] { "Up", "Down", "Left", "Right", "A", "B", "C", "Start", "X", "Y", "Z" };
public static string[] GameboyControlList = new string[] { "Up", "Down", "Left", "Right", "A", "B", "Start", "Select" };
private ArrayList Labels;
private ArrayList TextBoxes;
private string CurSelectConsole;
@ -45,6 +47,7 @@ namespace BizHawk.MultiClient
else
return oldmap + ", " + button;
}
private void DoSMS()
{
Label TempLabel;
@ -53,7 +56,7 @@ namespace BizHawk.MultiClient
ControllerImage.Image = BizHawk.MultiClient.Properties.Resources.SMSController;
this.SystemComboBox.SelectedIndex = 0;
int jpad = this.ControllComboBox.SelectedIndex;
string[] ButtonMappings = new string[SMSList.Length];
string[] ButtonMappings = new string[SMSControlList.Length];
ButtonMappings[0] = TruncateButtonMapping(Global.Config.SMSController[jpad].Up);
ButtonMappings[1] = TruncateButtonMapping(Global.Config.SMSController[jpad].Down);
ButtonMappings[2] = TruncateButtonMapping(Global.Config.SMSController[jpad].Left);
@ -63,13 +66,12 @@ namespace BizHawk.MultiClient
ButtonMappings[6] = TruncateButtonMapping(Global.Config.SmsPause);
ButtonMappings[7] = TruncateButtonMapping(Global.Config.SmsReset);
Changed = true;
Labels.Clear();
TextBoxes.Clear();
for (int i = 0; i < SMSList.Length; i++)
for (int i = 0; i < SMSControlList.Length; i++)
{
TempLabel = new Label();
TempLabel.Text = SMSList[i];
TempLabel.Text = SMSControlList[i];
TempLabel.Location = new Point(8, 20 + (i * 24));
Labels.Add(TempLabel);
TempTextBox = new InputWidget();
@ -117,10 +119,72 @@ namespace BizHawk.MultiClient
}
private void DoPCE()
{
Label TempLabel;
InputWidget TempTextBox;
this.Text = ControllerStr + "PCEjin / SGX";
ControllerImage.Image = BizHawk.MultiClient.Properties.Resources.PCEngineController;
ControllerImage.Image = BizHawk.MultiClient.Properties.Resources.PCEngineController;
int jpad = this.ControllComboBox.SelectedIndex;
string[] ButtonMappings = new string[PCEControlList.Length];
ButtonMappings[0] = TruncateButtonMapping(Global.Config.PCEController[jpad].Up);
ButtonMappings[1] = TruncateButtonMapping(Global.Config.PCEController[jpad].Down);
ButtonMappings[2] = TruncateButtonMapping(Global.Config.PCEController[jpad].Left);
ButtonMappings[3] = TruncateButtonMapping(Global.Config.PCEController[jpad].Right);
ButtonMappings[4] = TruncateButtonMapping(Global.Config.PCEController[jpad].I);
ButtonMappings[5] = TruncateButtonMapping(Global.Config.PCEController[jpad].II);
ButtonMappings[6] = TruncateButtonMapping(Global.Config.PCEController[jpad].Run);
ButtonMappings[7] = TruncateButtonMapping(Global.Config.PCEController[jpad].Select);
Changed = true;
Labels.Clear();
TextBoxes.Clear();
for (int i = 0; i < PCEControlList.Length; i++)
{
TempLabel = new Label();
TempLabel.Text = PCEControlList[i];
TempLabel.Location = new Point(8, 20 + (i * 24));
Labels.Add(TempLabel);
TempTextBox = new InputWidget();
TempTextBox.Location = new Point(48, 20 + (i * 24));
TextBoxes.Add(TempTextBox);
TempTextBox.Text = ButtonMappings[i];
ButtonsGroupBox.Controls.Add(TempTextBox);
ButtonsGroupBox.Controls.Add(TempLabel);
}
Changed = true;
}
private void UpdatePCE(int prev)
{
InputWidget TempBox;
Label TempLabel;
TempBox = TextBoxes[0] as InputWidget;
Global.Config.PCEController[prev].Up = AppendButtonMapping(TempBox.Text, Global.Config.PCEController[prev].Up);
TempBox.Dispose();
TempBox = TextBoxes[1] as InputWidget;
Global.Config.PCEController[prev].Down = AppendButtonMapping(TempBox.Text, Global.Config.PCEController[prev].Down);
TempBox.Dispose();
TempBox = TextBoxes[2] as InputWidget;
Global.Config.PCEController[prev].Left = AppendButtonMapping(TempBox.Text, Global.Config.PCEController[prev].Left);
TempBox.Dispose();
TempBox = TextBoxes[3] as InputWidget;
Global.Config.PCEController[prev].Right = AppendButtonMapping(TempBox.Text, Global.Config.PCEController[prev].Right);
TempBox.Dispose();
TempBox = TextBoxes[4] as InputWidget;
Global.Config.PCEController[prev].I = AppendButtonMapping(TempBox.Text, Global.Config.PCEController[prev].I);
TempBox.Dispose();
TempBox = TextBoxes[5] as InputWidget;
Global.Config.PCEController[prev].II = AppendButtonMapping(TempBox.Text, Global.Config.PCEController[prev].II);
TempBox.Dispose();
TempBox = TextBoxes[6] as InputWidget;
Global.Config.PCEController[prev].Run = AppendButtonMapping(TempBox.Text, Global.Config.PCEController[prev].Run);
TempBox.Dispose();
TempBox = TextBoxes[7] as InputWidget;
Global.Config.PCEController[prev].Select = AppendButtonMapping(TempBox.Text, Global.Config.PCEController[prev].Select);
TempBox.Dispose();
for (int i = 0; i < 8; i++)
{
TempLabel = Labels[i] as Label;
TempLabel.Dispose();
}
}
private void DoGen()
{
this.Text = ControllerStr + "Sega Genesis";
@ -203,7 +267,7 @@ namespace BizHawk.MultiClient
UpdateSMS(CurSelectController);
break;
case "PC Engine / SGX":
//UpdatePCE(CurSelectController);
UpdatePCE(CurSelectController);
break;
case "Gameboy":
//UpdateGB();