Input Config - autofire for SMS/GG/SG, disable autofire pulldown item for TI83

This commit is contained in:
andres.delikat 2011-08-09 02:16:46 +00:00
parent 4cd457ada6
commit 63b1f9b93a
4 changed files with 109 additions and 38 deletions

View File

@ -22,6 +22,10 @@
NESAutoController[1] = new NESControllerTemplate(false);
NESAutoController[2] = new NESControllerTemplate(false);
NESAutoController[3] = new NESControllerTemplate(false);
SMSAutoController[0] = new SMSControllerTemplate(true);
SMSAutoController[1] = new SMSControllerTemplate(false);
}
// Directories
@ -396,7 +400,8 @@
public string SmsReset = "C";
public string SmsPause = "V, J1 B8";
public SMSControllerTemplate[] SMSController = new SMSControllerTemplate[2];
public SMSControllerTemplate[] SMSAutoController = new SMSControllerTemplate[2];
// PCEngine Settings
public PCEControllerTemplate[] PCEController = new PCEControllerTemplate[5];

View File

@ -24,7 +24,8 @@ namespace BizHawk.MultiClient
public static Controller NullControls;
public static CheatList CheatList;
public static Controller autofireNESControls;
public static Controller AutofireNESControls;
public static Controller AutofireSMSControls;
//the movie will be spliced inbetween these if it is present
public static CopyControllerAdapter MovieInputSourceAdapter = new CopyControllerAdapter();

View File

@ -503,6 +503,21 @@ namespace BizHawk.MultiClient
}
Global.SMSControls = smsControls;
var asmsControls = new Controller(SMS.SmsController);
asmsControls.Autofire = true;
asmsControls.BindMulti("Reset", Global.Config.SmsReset);
asmsControls.BindMulti("Pause", Global.Config.SmsPause);
for (int i = 0; i < 2; i++)
{
asmsControls.BindMulti(string.Format("P{0} Up", i + 1), Global.Config.SMSAutoController[i].Up);
asmsControls.BindMulti(string.Format("P{0} Left", i + 1), Global.Config.SMSAutoController[i].Left);
asmsControls.BindMulti(string.Format("P{0} Right", i + 1), Global.Config.SMSAutoController[i].Right);
asmsControls.BindMulti(string.Format("P{0} Down", i + 1), Global.Config.SMSAutoController[i].Down);
asmsControls.BindMulti(string.Format("P{0} B1", i + 1), Global.Config.SMSAutoController[i].B1);
asmsControls.BindMulti(string.Format("P{0} B2", i + 1), Global.Config.SMSAutoController[i].B2);
}
Global.AutofireSMSControls = asmsControls;
var pceControls = new Controller(PCEngine.PCEngineController);
for (int i = 0; i < 5; i++)
{
@ -547,7 +562,7 @@ namespace BizHawk.MultiClient
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;
Global.AutofireNESControls = anesControls;
var gbControls = new Controller(Gameboy.GbController);
gbControls.BindMulti("Up", Global.Config.GBController.Up);
@ -777,6 +792,7 @@ namespace BizHawk.MultiClient
case "SG":
case "SMS":
Global.ActiveController = Global.SMSControls;
Global.AutoFireController = Global.AutofireSMSControls;
break;
case "GG":
Global.ActiveController = Global.SMSControls;
@ -795,7 +811,7 @@ namespace BizHawk.MultiClient
break;
case "NES":
Global.ActiveController = Global.NESControls;
Global.AutoFireController = Global.autofireNESControls;
Global.AutoFireController = Global.AutofireNESControls;
break;
case "GB":
break;

View File

@ -72,15 +72,32 @@ namespace BizHawk.MultiClient
int jpad = this.ControllComboBox.SelectedIndex;
string[] ButtonMappings = new string[SMSControlList.Length];
ButtonMappings[0] = Global.Config.SMSController[jpad].Up;
ButtonMappings[1] = Global.Config.SMSController[jpad].Down;
ButtonMappings[2] = Global.Config.SMSController[jpad].Left;
ButtonMappings[3] = Global.Config.SMSController[jpad].Right;
ButtonMappings[4] = Global.Config.SMSController[jpad].B1;
ButtonMappings[5] = Global.Config.SMSController[jpad].B2;
ButtonMappings[6] = Global.Config.SmsPause;
ButtonMappings[7] = Global.Config.SmsReset;
IDX_CONTROLLERENABLED.Checked = Global.Config.SMSController[jpad].Enabled;
if (jpad < 2)
{
ButtonMappings[0] = Global.Config.SMSController[jpad].Up;
ButtonMappings[1] = Global.Config.SMSController[jpad].Down;
ButtonMappings[2] = Global.Config.SMSController[jpad].Left;
ButtonMappings[3] = Global.Config.SMSController[jpad].Right;
ButtonMappings[4] = Global.Config.SMSController[jpad].B1;
ButtonMappings[5] = Global.Config.SMSController[jpad].B2;
ButtonMappings[6] = Global.Config.SmsPause;
ButtonMappings[7] = Global.Config.SmsReset;
IDX_CONTROLLERENABLED.Checked = Global.Config.SMSController[jpad].Enabled;
}
else
{
ButtonMappings[0] = Global.Config.SMSAutoController[jpad - 2].Up;
ButtonMappings[1] = Global.Config.SMSAutoController[jpad - 2].Down;
ButtonMappings[2] = Global.Config.SMSAutoController[jpad - 2].Left;
ButtonMappings[3] = Global.Config.SMSAutoController[jpad - 2].Right;
ButtonMappings[4] = Global.Config.SMSAutoController[jpad - 2].B1;
ButtonMappings[5] = Global.Config.SMSAutoController[jpad - 2].B2;
ButtonMappings[6] = Global.Config.SmsPause;
ButtonMappings[7] = Global.Config.SmsReset;
IDX_CONTROLLERENABLED.Checked = Global.Config.SMSController[jpad - 2].Enabled;
}
Changed = true;
Labels.Clear();
TextBoxes.Clear();
@ -104,30 +121,61 @@ namespace BizHawk.MultiClient
ButtonsGroupBox.Controls.Clear();
InputWidget TempBox;
Label TempLabel;
TempBox = TextBoxes[0] as InputWidget;
Global.Config.SMSController[prev].Up = AppendButtonMapping(TempBox.Text, Global.Config.SMSController[prev].Up);
TempBox.Dispose();
TempBox = TextBoxes[1] as InputWidget;
Global.Config.SMSController[prev].Down = AppendButtonMapping(TempBox.Text, Global.Config.SMSController[prev].Down);
TempBox.Dispose();
TempBox = TextBoxes[2] as InputWidget;
Global.Config.SMSController[prev].Left = AppendButtonMapping(TempBox.Text, Global.Config.SMSController[prev].Left);
TempBox.Dispose();
TempBox = TextBoxes[3] as InputWidget;
Global.Config.SMSController[prev].Right = AppendButtonMapping(TempBox.Text, Global.Config.SMSController[prev].Right);
TempBox.Dispose();
TempBox = TextBoxes[4] as InputWidget;
Global.Config.SMSController[prev].B1 = AppendButtonMapping(TempBox.Text, Global.Config.SMSController[prev].B1);
TempBox.Dispose();
TempBox = TextBoxes[5] as InputWidget;
Global.Config.SMSController[prev].B2 = AppendButtonMapping(TempBox.Text, Global.Config.SMSController[prev].B2);
TempBox.Dispose();
TempBox = TextBoxes[6] as InputWidget;
Global.Config.SmsPause = AppendButtonMapping(TempBox.Text, Global.Config.SmsPause);
TempBox.Dispose();
TempBox = TextBoxes[7] as InputWidget;
Global.Config.SmsReset = AppendButtonMapping(TempBox.Text, Global.Config.SmsReset);
Global.Config.SMSController[prev].Enabled = IDX_CONTROLLERENABLED.Checked;
if (prev < 2)
{
TempBox = TextBoxes[0] as InputWidget;
Global.Config.SMSController[prev].Up = AppendButtonMapping(TempBox.Text, Global.Config.SMSController[prev].Up);
TempBox.Dispose();
TempBox = TextBoxes[1] as InputWidget;
Global.Config.SMSController[prev].Down = AppendButtonMapping(TempBox.Text, Global.Config.SMSController[prev].Down);
TempBox.Dispose();
TempBox = TextBoxes[2] as InputWidget;
Global.Config.SMSController[prev].Left = AppendButtonMapping(TempBox.Text, Global.Config.SMSController[prev].Left);
TempBox.Dispose();
TempBox = TextBoxes[3] as InputWidget;
Global.Config.SMSController[prev].Right = AppendButtonMapping(TempBox.Text, Global.Config.SMSController[prev].Right);
TempBox.Dispose();
TempBox = TextBoxes[4] as InputWidget;
Global.Config.SMSController[prev].B1 = AppendButtonMapping(TempBox.Text, Global.Config.SMSController[prev].B1);
TempBox.Dispose();
TempBox = TextBoxes[5] as InputWidget;
Global.Config.SMSController[prev].B2 = AppendButtonMapping(TempBox.Text, Global.Config.SMSController[prev].B2);
TempBox.Dispose();
TempBox = TextBoxes[6] as InputWidget;
Global.Config.SmsPause = AppendButtonMapping(TempBox.Text, Global.Config.SmsPause);
TempBox.Dispose();
TempBox = TextBoxes[7] as InputWidget;
Global.Config.SmsReset = AppendButtonMapping(TempBox.Text, Global.Config.SmsReset);
Global.Config.SMSController[prev].Enabled = IDX_CONTROLLERENABLED.Checked;
}
else
{
TempBox = TextBoxes[0] as InputWidget;
Global.Config.SMSAutoController[prev - 2].Up = AppendButtonMapping(TempBox.Text, Global.Config.SMSAutoController[prev - 2].Up);
TempBox.Dispose();
TempBox = TextBoxes[1] as InputWidget;
Global.Config.SMSAutoController[prev - 2].Down = AppendButtonMapping(TempBox.Text, Global.Config.SMSAutoController[prev - 2].Down);
TempBox.Dispose();
TempBox = TextBoxes[2] as InputWidget;
Global.Config.SMSAutoController[prev - 2].Left = AppendButtonMapping(TempBox.Text, Global.Config.SMSAutoController[prev - 2].Left);
TempBox.Dispose();
TempBox = TextBoxes[3] as InputWidget;
Global.Config.SMSAutoController[prev - 2].Right = AppendButtonMapping(TempBox.Text, Global.Config.SMSAutoController[prev - 2].Right);
TempBox.Dispose();
TempBox = TextBoxes[4] as InputWidget;
Global.Config.SMSAutoController[prev - 2].B1 = AppendButtonMapping(TempBox.Text, Global.Config.SMSAutoController[prev - 2].B1);
TempBox.Dispose();
TempBox = TextBoxes[5] as InputWidget;
Global.Config.SMSAutoController[prev - 2].B2 = AppendButtonMapping(TempBox.Text, Global.Config.SMSAutoController[prev - 2].B2);
TempBox.Dispose();
TempBox = TextBoxes[6] as InputWidget;
Global.Config.SmsPause = AppendButtonMapping(TempBox.Text, Global.Config.SmsPause);
TempBox.Dispose();
TempBox = TextBoxes[7] as InputWidget;
Global.Config.SmsReset = AppendButtonMapping(TempBox.Text, Global.Config.SmsReset);
Global.Config.SMSController[prev - 2].Enabled = IDX_CONTROLLERENABLED.Checked;
}
TempBox.Dispose();
for (int i = 0; i < SMSControlList.Length; i++)
{
@ -785,7 +833,8 @@ namespace BizHawk.MultiClient
}
for (int i = 0; i < joypads; i++)
{
ControllComboBox.Items.Add(string.Format("Autofire Joypad {0}", i + 1));
if (this.SystemComboBox.SelectedItem.ToString() != "TI-83")
ControllComboBox.Items.Add(string.Format("Autofire Joypad {0}", i + 1));
}
ControllComboBox.SelectedIndex = 0;
CurSelectConsole = this.SystemComboBox.SelectedItem.ToString();