Hook up autofire nes controls to the input config dialog

This commit is contained in:
andres.delikat 2011-08-09 01:38:51 +00:00
parent d10f38af5d
commit 4cd457ada6
3 changed files with 102 additions and 42 deletions

View File

@ -17,6 +17,11 @@
NESController[3] = new NESControllerTemplate(false);
GameBoyController = new NESControllerTemplate(true);
TI83Controller[0] = new TI83ControllerTemplate(true);
NESAutoController[0] = new NESControllerTemplate(false);
NESAutoController[1] = new NESControllerTemplate(false);
NESAutoController[2] = new NESControllerTemplate(false);
NESAutoController[3] = new NESControllerTemplate(false);
}
// Directories
@ -411,6 +416,7 @@
//NES settings
public string NESReset = "Backspace";
public NESControllerTemplate[] NESController = new NESControllerTemplate[4];
public NESControllerTemplate[] NESAutoController = new NESControllerTemplate[4];
//TI 83 settings
public TI83ControllerTemplate[] TI83Controller = new TI83ControllerTemplate[1];

View File

@ -536,16 +536,16 @@ namespace BizHawk.MultiClient
var anesControls = new Controller(NES.NESController);
anesControls.Autofire = true;
for (int i = 0; i < 1 /*TODO make 2*/; i++)
for (int i = 0; i < 2 /*TODO*/; i++)
{
anesControls.BindMulti("P" + (i + 1) + " Up", "");
anesControls.BindMulti("P" + (i + 1) + " Down", "");
anesControls.BindMulti("P" + (i + 1) + " Left", "");
anesControls.BindMulti("P" + (i + 1) + " Right", "");
anesControls.BindMulti("P" + (i + 1) + " A", "D");
anesControls.BindMulti("P" + (i + 1) + " B", "F");
anesControls.BindMulti("P" + (i + 1) + " Select", "");
anesControls.BindMulti("P" + (i + 1) + " Start", "");
anesControls.BindMulti("P" + (i + 1) + " Up", Global.Config.NESAutoController[i].Up);
anesControls.BindMulti("P" + (i + 1) + " Down", Global.Config.NESAutoController[i].Down);
anesControls.BindMulti("P" + (i + 1) + " Left", Global.Config.NESAutoController[i].Left);
anesControls.BindMulti("P" + (i + 1) + " Right", Global.Config.NESAutoController[i].Right);
anesControls.BindMulti("P" + (i + 1) + " A", Global.Config.NESAutoController[i].A);
anesControls.BindMulti("P" + (i + 1) + " B", Global.Config.NESAutoController[i].B);
anesControls.BindMulti("P" + (i + 1) + " Select", Global.Config.NESAutoController[i].Select);
anesControls.BindMulti("P" + (i + 1) + " Start", Global.Config.NESAutoController[i].Start);
}
Global.autofireNESControls = anesControls;

View File

@ -565,16 +565,34 @@ namespace BizHawk.MultiClient
ControllerImage.Image = BizHawk.MultiClient.Properties.Resources.NESController;
int jpad = this.ControllComboBox.SelectedIndex;
string[] ButtonMappings = new string[NESControlList.Length];
ButtonMappings[0] = Global.Config.NESController[jpad].Up;
ButtonMappings[1] = Global.Config.NESController[jpad].Down;
ButtonMappings[2] = Global.Config.NESController[jpad].Left;
ButtonMappings[3] = Global.Config.NESController[jpad].Right;
ButtonMappings[4] = Global.Config.NESController[jpad].A;
ButtonMappings[5] = Global.Config.NESController[jpad].B;
ButtonMappings[6] = Global.Config.NESController[jpad].Select;
ButtonMappings[7] = Global.Config.NESController[jpad].Start;
IDX_CONTROLLERENABLED.Checked = Global.Config.NESController[jpad].Enabled;
if (jpad < 4)
{
ButtonMappings[0] = Global.Config.NESController[jpad].Up;
ButtonMappings[1] = Global.Config.NESController[jpad].Down;
ButtonMappings[2] = Global.Config.NESController[jpad].Left;
ButtonMappings[3] = Global.Config.NESController[jpad].Right;
ButtonMappings[4] = Global.Config.NESController[jpad].A;
ButtonMappings[5] = Global.Config.NESController[jpad].B;
ButtonMappings[6] = Global.Config.NESController[jpad].Select;
ButtonMappings[7] = Global.Config.NESController[jpad].Start;
IDX_CONTROLLERENABLED.Checked = Global.Config.NESController[jpad].Enabled;
}
else
{
ButtonMappings[0] = Global.Config.NESAutoController[jpad - 4].Up;
ButtonMappings[1] = Global.Config.NESAutoController[jpad - 4].Down;
ButtonMappings[2] = Global.Config.NESAutoController[jpad - 4].Left;
ButtonMappings[3] = Global.Config.NESAutoController[jpad - 4].Right;
ButtonMappings[4] = Global.Config.NESAutoController[jpad - 4].A;
ButtonMappings[5] = Global.Config.NESAutoController[jpad - 4].B;
ButtonMappings[6] = Global.Config.NESAutoController[jpad - 4].Select;
ButtonMappings[7] = Global.Config.NESAutoController[jpad - 4].Start;
IDX_CONTROLLERENABLED.Checked = Global.Config.NESController[jpad - 4].Enabled;
}
Changed = true;
Labels.Clear();
TextBoxes.Clear();
@ -599,31 +617,63 @@ namespace BizHawk.MultiClient
InputWidget TempBox;
Label TempLabel;
TempBox = TextBoxes[0] as InputWidget;
Global.Config.NESController[prev].Up = AppendButtonMapping(TempBox.Text, Global.Config.NESController[prev].Up);
TempBox.Dispose();
TempBox = TextBoxes[1] as InputWidget;
Global.Config.NESController[prev].Down = AppendButtonMapping(TempBox.Text, Global.Config.NESController[prev].Down);
TempBox.Dispose();
TempBox = TextBoxes[2] as InputWidget;
Global.Config.NESController[prev].Left = AppendButtonMapping(TempBox.Text, Global.Config.NESController[prev].Left);
TempBox.Dispose();
TempBox = TextBoxes[3] as InputWidget;
Global.Config.NESController[prev].Right = AppendButtonMapping(TempBox.Text, Global.Config.NESController[prev].Right);
TempBox.Dispose();
TempBox = TextBoxes[4] as InputWidget;
Global.Config.NESController[prev].A = AppendButtonMapping(TempBox.Text, Global.Config.NESController[prev].A);
TempBox.Dispose();
TempBox = TextBoxes[5] as InputWidget;
Global.Config.NESController[prev].B = AppendButtonMapping(TempBox.Text, Global.Config.NESController[prev].B);
TempBox.Dispose();
TempBox = TextBoxes[6] as InputWidget;
Global.Config.NESController[prev].Select = AppendButtonMapping(TempBox.Text, Global.Config.NESController[prev].Select);
TempBox.Dispose();
TempBox = TextBoxes[7] as InputWidget;
Global.Config.NESController[prev].Start = AppendButtonMapping(TempBox.Text, Global.Config.NESController[prev].Start);
TempBox.Dispose();
Global.Config.NESController[prev].Enabled = IDX_CONTROLLERENABLED.Checked;
if (prev < 4)
{
Global.Config.NESController[prev].Up = AppendButtonMapping(TempBox.Text, Global.Config.NESController[prev].Up);
TempBox.Dispose();
TempBox = TextBoxes[1] as InputWidget;
Global.Config.NESController[prev].Down = AppendButtonMapping(TempBox.Text, Global.Config.NESController[prev].Down);
TempBox.Dispose();
TempBox = TextBoxes[2] as InputWidget;
Global.Config.NESController[prev].Left = AppendButtonMapping(TempBox.Text, Global.Config.NESController[prev].Left);
TempBox.Dispose();
TempBox = TextBoxes[3] as InputWidget;
Global.Config.NESController[prev].Right = AppendButtonMapping(TempBox.Text, Global.Config.NESController[prev].Right);
TempBox.Dispose();
TempBox = TextBoxes[4] as InputWidget;
Global.Config.NESController[prev].A = AppendButtonMapping(TempBox.Text, Global.Config.NESController[prev].A);
TempBox.Dispose();
TempBox = TextBoxes[5] as InputWidget;
Global.Config.NESController[prev].B = AppendButtonMapping(TempBox.Text, Global.Config.NESController[prev].B);
TempBox.Dispose();
TempBox = TextBoxes[6] as InputWidget;
Global.Config.NESController[prev].Select = AppendButtonMapping(TempBox.Text, Global.Config.NESController[prev].Select);
TempBox.Dispose();
TempBox = TextBoxes[7] as InputWidget;
Global.Config.NESController[prev].Start = AppendButtonMapping(TempBox.Text, Global.Config.NESController[prev].Start);
TempBox.Dispose();
Global.Config.NESController[prev].Enabled = IDX_CONTROLLERENABLED.Checked;
}
else
{
Global.Config.NESAutoController[prev - 4].Up = AppendButtonMapping(TempBox.Text, Global.Config.NESAutoController[prev - 4].Up);
TempBox.Dispose();
TempBox = TextBoxes[1] as InputWidget;
Global.Config.NESAutoController[prev - 4].Down = AppendButtonMapping(TempBox.Text, Global.Config.NESAutoController[prev - 4].Down);
TempBox.Dispose();
TempBox = TextBoxes[2] as InputWidget;
Global.Config.NESAutoController[prev - 4].Left = AppendButtonMapping(TempBox.Text, Global.Config.NESAutoController[prev - 4].Left);
TempBox.Dispose();
TempBox = TextBoxes[3] as InputWidget;
Global.Config.NESAutoController[prev - 4].Right = AppendButtonMapping(TempBox.Text, Global.Config.NESAutoController[prev - 4].Right);
TempBox.Dispose();
TempBox = TextBoxes[4] as InputWidget;
Global.Config.NESAutoController[prev - 4].A = AppendButtonMapping(TempBox.Text, Global.Config.NESAutoController[prev - 4].A);
TempBox.Dispose();
TempBox = TextBoxes[5] as InputWidget;
Global.Config.NESAutoController[prev - 4].B = AppendButtonMapping(TempBox.Text, Global.Config.NESAutoController[prev - 4].B);
TempBox.Dispose();
TempBox = TextBoxes[6] as InputWidget;
Global.Config.NESAutoController[prev - 4].Select = AppendButtonMapping(TempBox.Text, Global.Config.NESAutoController[prev - 4].Select);
TempBox.Dispose();
TempBox = TextBoxes[7] as InputWidget;
Global.Config.NESAutoController[prev - 4].Start = AppendButtonMapping(TempBox.Text, Global.Config.NESAutoController[prev - 4].Start);
TempBox.Dispose();
Global.Config.NESController[prev - 4].Enabled = IDX_CONTROLLERENABLED.Checked;
}
TempBox.Dispose();
for (int i = 0; i < NESControlList.Length; i++)
@ -733,6 +783,10 @@ namespace BizHawk.MultiClient
{
ControllComboBox.Items.Add(string.Format("Joypad {0}", i + 1));
}
for (int i = 0; i < joypads; i++)
{
ControllComboBox.Items.Add(string.Format("Autofire Joypad {0}", i + 1));
}
ControllComboBox.SelectedIndex = 0;
CurSelectConsole = this.SystemComboBox.SelectedItem.ToString();
CurSelectController = 0;