N64 - hook up input for 4 controllers and autofire, still needs to be hooked to the core, and also needs to be added to controller config dialog
This commit is contained in:
parent
dbd25f17d4
commit
c6634273d7
|
@ -54,7 +54,11 @@ namespace BizHawk.Emulation.Consoles.Nintendo.N64
|
|||
Name = "Nintento 64 Controller",
|
||||
BoolButtons =
|
||||
{
|
||||
"DPad R", "DPad L", "DPad D", "DPad U", "Start", "Z", "B", "A", "C Right", "C Left", "C Down", "C Up", "R", "L"
|
||||
"P1 DPad R", "P1 DPad L", "P1 DPad D", "P1 DPad U", "P1 Start", "P1 Z", "P1 B", "P1 A", "P1 C Right", "P1 C Left", "P1 C Down", "P1 C Up", "P1 R", "P1 L",
|
||||
"P2 DPad R", "P2 DPad L", "P2 DPad D", "P2 DPad U", "P2 Start", "P2 Z", "P2 B", "P2 A", "P2 C Right", "P2 C Left", "P2 C Down", "P2 C Up", "P2 R", "P2 L",
|
||||
"P3 DPad R", "P3 DPad L", "P3 DPad D", "P3 DPad U", "P3 Start", "P3 Z", "P3 B", "P3 A", "P3 C Right", "P3 C Left", "P3 C Down", "P3 C Up", "P3 R", "P3 L",
|
||||
"P4 DPad R", "P4 DPad L", "P4 DPad D", "P4 DPad U", "P4 Start", "P4 Z", "P4 B", "P4 A", "P4 C Right", "P4 C Left", "P4 C Down", "P4 C Up", "P4 R", "P4 L",
|
||||
"Reset", "Power"
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -71,6 +71,16 @@ namespace BizHawk.MultiClient
|
|||
SNESAutoController[2] = new SNESControllerTemplate(false);
|
||||
SNESAutoController[3] = new SNESControllerTemplate(false);
|
||||
|
||||
N64Controller[0] = new N64ButtonsTemplate(true);
|
||||
N64Controller[1] = new N64ButtonsTemplate(false);
|
||||
N64Controller[2] = new N64ButtonsTemplate(false);
|
||||
N64Controller[3] = new N64ButtonsTemplate(false);
|
||||
N64AutoController[0] = new N64ButtonsTemplate(false);
|
||||
N64AutoController[1] = new N64ButtonsTemplate(false);
|
||||
N64AutoController[2] = new N64ButtonsTemplate(false);
|
||||
N64AutoController[3] = new N64ButtonsTemplate(false);
|
||||
N64ConsoleButtons = new N64ConsoleButtonsTemplate(true);
|
||||
|
||||
ColecoController[0] = new ColecoVisionControllerTemplate(true);
|
||||
ColecoController[1] = new ColecoVisionControllerTemplate(false);
|
||||
ColecoAutoController[0] = new ColecoVisionControllerTemplate(false);
|
||||
|
@ -796,6 +806,10 @@ namespace BizHawk.MultiClient
|
|||
public bool SNESUseRingBuffer = true;
|
||||
public bool SNESAlwaysDoubleSize = false;
|
||||
|
||||
public N64ButtonsTemplate[] N64Controller = new N64ButtonsTemplate[4];
|
||||
public N64ButtonsTemplate[] N64AutoController = new N64ButtonsTemplate[4];
|
||||
public N64ConsoleButtonsTemplate N64ConsoleButtons = new N64ConsoleButtonsTemplate();
|
||||
|
||||
//TI 83 settings
|
||||
public TI83ControllerTemplate[] TI83Controller = new TI83ControllerTemplate[1];
|
||||
|
||||
|
@ -1379,6 +1393,63 @@ namespace BizHawk.MultiClient
|
|||
}
|
||||
}
|
||||
|
||||
public class N64ButtonsTemplate : iControllerConfigObject
|
||||
{
|
||||
public string DPadU = "UpArrow, X1 DpadUp, X1 LStickUp";
|
||||
public string DPadD = "DownArrow, X1 DpadDown, X1 LStickDown";
|
||||
public string DPadL = "LeftArrow, X1 DpadLeft, X1 LStickLeft";
|
||||
public string DPadR = "RightArrow, X1 DpadRight, X1 LStickRight";
|
||||
public string Start = "V, X1 Start";
|
||||
public string Z = "Z, X1 A";
|
||||
public string B = "X, X1 X";
|
||||
public string A = "C";
|
||||
public string CUp = "NumberPad8, J1 RotationZ-";
|
||||
public string CDown = "NumberPad2, J1 RoationZ+";
|
||||
public string CLeft = "NumberPad4, J1 Z-";
|
||||
public string CRight = "NumberPad6, J1 Z+";
|
||||
public string L = "D";
|
||||
public string R = "F";
|
||||
|
||||
public bool Enabled = false;
|
||||
|
||||
public N64ButtonsTemplate() { }
|
||||
public N64ButtonsTemplate(bool defaults)
|
||||
{
|
||||
if (defaults)
|
||||
{
|
||||
SetDefaults();
|
||||
}
|
||||
}
|
||||
|
||||
public void SetDefaults()
|
||||
{
|
||||
Enabled = true;
|
||||
}
|
||||
}
|
||||
|
||||
public class N64ConsoleButtonsTemplate : iControllerConfigObject
|
||||
{
|
||||
public string Power = "";
|
||||
public string Reset = "";
|
||||
public bool Enabled = false;
|
||||
|
||||
public N64ConsoleButtonsTemplate() { }
|
||||
public N64ConsoleButtonsTemplate(bool defaults)
|
||||
{
|
||||
if (defaults)
|
||||
{
|
||||
SetDefaults();
|
||||
}
|
||||
}
|
||||
|
||||
public void SetDefaults()
|
||||
{
|
||||
Enabled = true;
|
||||
Power = "";
|
||||
Reset = "";
|
||||
}
|
||||
}
|
||||
|
||||
public class ColecoVisionControllerTemplate : iControllerConfigObject
|
||||
{
|
||||
public string Up = "";
|
||||
|
|
|
@ -73,6 +73,9 @@ namespace BizHawk.MultiClient
|
|||
public static Controller Commodore64Controls;
|
||||
public static AutofireController AutofireCommodore64Controls;
|
||||
|
||||
public static Controller N64Controls;
|
||||
public static AutofireController AutofireN64Controls;
|
||||
|
||||
public static readonly Dictionary<string, Dictionary<string, string>> BUTTONS = new Dictionary<string, Dictionary<string, string>>
|
||||
{
|
||||
{
|
||||
|
|
|
@ -1501,6 +1501,137 @@ namespace BizHawk.MultiClient
|
|||
autofireC64Controls.BindMulti("P2 Button", Global.Config.C64AutoJoysticks[1].Button);
|
||||
|
||||
Global.AutofireCommodore64Controls = autofireC64Controls;
|
||||
|
||||
var N64Controls = new Controller(N64.N64ControllerDefinition);
|
||||
|
||||
N64Controls.BindMulti("Power", Global.Config.N64ConsoleButtons.Power);
|
||||
N64Controls.BindMulti("Reset", Global.Config.N64ConsoleButtons.Reset);
|
||||
|
||||
N64Controls.BindMulti("P1 Up", Global.Config.N64Controller[0].DPadU);
|
||||
N64Controls.BindMulti("P1 Left", Global.Config.N64Controller[0].DPadD);
|
||||
N64Controls.BindMulti("P1 Right", Global.Config.N64Controller[0].DPadL);
|
||||
N64Controls.BindMulti("P1 Down", Global.Config.N64Controller[0].DPadR);
|
||||
N64Controls.BindMulti("P1 Start", Global.Config.N64Controller[0].Start);
|
||||
N64Controls.BindMulti("P1 Z", Global.Config.N64Controller[0].Z);
|
||||
N64Controls.BindMulti("P1 B", Global.Config.N64Controller[0].B);
|
||||
N64Controls.BindMulti("P1 A", Global.Config.N64Controller[0].A);
|
||||
N64Controls.BindMulti("P1 C Up", Global.Config.N64Controller[0].CUp);
|
||||
N64Controls.BindMulti("P1 C Down", Global.Config.N64Controller[0].CDown);
|
||||
N64Controls.BindMulti("P1 C Left", Global.Config.N64Controller[0].CLeft);
|
||||
N64Controls.BindMulti("P1 C Right", Global.Config.N64Controller[0].CRight);
|
||||
N64Controls.BindMulti("P1 L", Global.Config.N64Controller[0].L);
|
||||
N64Controls.BindMulti("P1 R", Global.Config.N64Controller[0].R);
|
||||
|
||||
N64Controls.BindMulti("P2 Up", Global.Config.N64Controller[1].DPadU);
|
||||
N64Controls.BindMulti("P2 Left", Global.Config.N64Controller[1].DPadD);
|
||||
N64Controls.BindMulti("P2 Right", Global.Config.N64Controller[1].DPadL);
|
||||
N64Controls.BindMulti("P2 Down", Global.Config.N64Controller[1].DPadR);
|
||||
N64Controls.BindMulti("P2 Start", Global.Config.N64Controller[1].Start);
|
||||
N64Controls.BindMulti("P2 Z", Global.Config.N64Controller[1].Z);
|
||||
N64Controls.BindMulti("P2 B", Global.Config.N64Controller[1].B);
|
||||
N64Controls.BindMulti("P2 A", Global.Config.N64Controller[1].A);
|
||||
N64Controls.BindMulti("P2 C Up", Global.Config.N64Controller[1].CUp);
|
||||
N64Controls.BindMulti("P2 C Down", Global.Config.N64Controller[1].CDown);
|
||||
N64Controls.BindMulti("P2 C Left", Global.Config.N64Controller[1].CLeft);
|
||||
N64Controls.BindMulti("P2 C Right", Global.Config.N64Controller[1].CRight);
|
||||
N64Controls.BindMulti("P2 L", Global.Config.N64Controller[1].L);
|
||||
N64Controls.BindMulti("P2 R", Global.Config.N64Controller[1].R);
|
||||
|
||||
N64Controls.BindMulti("P3 Up", Global.Config.N64Controller[2].DPadU);
|
||||
N64Controls.BindMulti("P3 Left", Global.Config.N64Controller[2].DPadD);
|
||||
N64Controls.BindMulti("P3 Right", Global.Config.N64Controller[2].DPadL);
|
||||
N64Controls.BindMulti("P3 Down", Global.Config.N64Controller[2].DPadR);
|
||||
N64Controls.BindMulti("P3 Start", Global.Config.N64Controller[2].Start);
|
||||
N64Controls.BindMulti("P3 Z", Global.Config.N64Controller[2].Z);
|
||||
N64Controls.BindMulti("P3 B", Global.Config.N64Controller[2].B);
|
||||
N64Controls.BindMulti("P3 A", Global.Config.N64Controller[2].A);
|
||||
N64Controls.BindMulti("P3 C Up", Global.Config.N64Controller[2].CUp);
|
||||
N64Controls.BindMulti("P3 C Down", Global.Config.N64Controller[2].CDown);
|
||||
N64Controls.BindMulti("P3 C Left", Global.Config.N64Controller[2].CLeft);
|
||||
N64Controls.BindMulti("P3 C Right", Global.Config.N64Controller[2].CRight);
|
||||
N64Controls.BindMulti("P3 L", Global.Config.N64Controller[2].L);
|
||||
N64Controls.BindMulti("P3 R", Global.Config.N64Controller[2].R);
|
||||
|
||||
N64Controls.BindMulti("P4 Up", Global.Config.N64Controller[3].DPadU);
|
||||
N64Controls.BindMulti("P4 Left", Global.Config.N64Controller[3].DPadD);
|
||||
N64Controls.BindMulti("P4 Right", Global.Config.N64Controller[3].DPadL);
|
||||
N64Controls.BindMulti("P4 Down", Global.Config.N64Controller[3].DPadR);
|
||||
N64Controls.BindMulti("P4 Start", Global.Config.N64Controller[3].Start);
|
||||
N64Controls.BindMulti("P4 Z", Global.Config.N64Controller[3].Z);
|
||||
N64Controls.BindMulti("P4 B", Global.Config.N64Controller[3].B);
|
||||
N64Controls.BindMulti("P4 A", Global.Config.N64Controller[3].A);
|
||||
N64Controls.BindMulti("P4 C Up", Global.Config.N64Controller[3].CUp);
|
||||
N64Controls.BindMulti("P4 C Down", Global.Config.N64Controller[3].CDown);
|
||||
N64Controls.BindMulti("P4 C Left", Global.Config.N64Controller[3].CLeft);
|
||||
N64Controls.BindMulti("P4 C Right", Global.Config.N64Controller[3].CRight);
|
||||
N64Controls.BindMulti("P4 L", Global.Config.N64Controller[3].L);
|
||||
N64Controls.BindMulti("P4 R", Global.Config.N64Controller[3].R);
|
||||
|
||||
Global.N64Controls = N64Controls;
|
||||
|
||||
var N64AControls = new AutofireController(N64.N64ControllerDefinition);
|
||||
|
||||
N64AControls.BindMulti("P1 Up", Global.Config.N64AutoController[0].DPadU);
|
||||
N64AControls.BindMulti("P1 Left", Global.Config.N64AutoController[0].DPadD);
|
||||
N64AControls.BindMulti("P1 Right", Global.Config.N64AutoController[0].DPadL);
|
||||
N64AControls.BindMulti("P1 Down", Global.Config.N64AutoController[0].DPadR);
|
||||
N64AControls.BindMulti("P1 Start", Global.Config.N64AutoController[0].Start);
|
||||
N64AControls.BindMulti("P1 Z", Global.Config.N64AutoController[0].Z);
|
||||
N64AControls.BindMulti("P1 B", Global.Config.N64AutoController[0].B);
|
||||
N64AControls.BindMulti("P1 A", Global.Config.N64AutoController[0].A);
|
||||
N64AControls.BindMulti("P1 C Up", Global.Config.N64AutoController[0].CUp);
|
||||
N64AControls.BindMulti("P1 C Down", Global.Config.N64AutoController[0].CDown);
|
||||
N64AControls.BindMulti("P1 C Left", Global.Config.N64AutoController[0].CLeft);
|
||||
N64AControls.BindMulti("P1 C Right", Global.Config.N64AutoController[0].CRight);
|
||||
N64AControls.BindMulti("P1 L", Global.Config.N64AutoController[0].L);
|
||||
N64AControls.BindMulti("P1 R", Global.Config.N64AutoController[0].R);
|
||||
|
||||
N64AControls.BindMulti("P2 Up", Global.Config.N64AutoController[1].DPadU);
|
||||
N64AControls.BindMulti("P2 Left", Global.Config.N64AutoController[1].DPadD);
|
||||
N64AControls.BindMulti("P2 Right", Global.Config.N64AutoController[1].DPadL);
|
||||
N64AControls.BindMulti("P2 Down", Global.Config.N64AutoController[1].DPadR);
|
||||
N64AControls.BindMulti("P2 Start", Global.Config.N64AutoController[1].Start);
|
||||
N64AControls.BindMulti("P2 Z", Global.Config.N64AutoController[1].Z);
|
||||
N64AControls.BindMulti("P2 B", Global.Config.N64AutoController[1].B);
|
||||
N64AControls.BindMulti("P2 A", Global.Config.N64AutoController[1].A);
|
||||
N64AControls.BindMulti("P2 C Up", Global.Config.N64AutoController[1].CUp);
|
||||
N64AControls.BindMulti("P2 C Down", Global.Config.N64AutoController[1].CDown);
|
||||
N64AControls.BindMulti("P2 C Left", Global.Config.N64AutoController[1].CLeft);
|
||||
N64AControls.BindMulti("P2 C Right", Global.Config.N64AutoController[1].CRight);
|
||||
N64AControls.BindMulti("P2 L", Global.Config.N64AutoController[1].L);
|
||||
N64AControls.BindMulti("P2 R", Global.Config.N64AutoController[1].R);
|
||||
|
||||
N64AControls.BindMulti("P3 Up", Global.Config.N64AutoController[2].DPadU);
|
||||
N64AControls.BindMulti("P3 Left", Global.Config.N64AutoController[2].DPadD);
|
||||
N64AControls.BindMulti("P3 Right", Global.Config.N64AutoController[2].DPadL);
|
||||
N64AControls.BindMulti("P3 Down", Global.Config.N64AutoController[2].DPadR);
|
||||
N64AControls.BindMulti("P3 Start", Global.Config.N64AutoController[2].Start);
|
||||
N64AControls.BindMulti("P3 Z", Global.Config.N64AutoController[2].Z);
|
||||
N64AControls.BindMulti("P3 B", Global.Config.N64AutoController[2].B);
|
||||
N64AControls.BindMulti("P3 A", Global.Config.N64AutoController[2].A);
|
||||
N64AControls.BindMulti("P3 C Up", Global.Config.N64AutoController[2].CUp);
|
||||
N64AControls.BindMulti("P3 C Down", Global.Config.N64AutoController[2].CDown);
|
||||
N64AControls.BindMulti("P3 C Left", Global.Config.N64AutoController[2].CLeft);
|
||||
N64AControls.BindMulti("P3 C Right", Global.Config.N64AutoController[2].CRight);
|
||||
N64AControls.BindMulti("P3 L", Global.Config.N64AutoController[2].L);
|
||||
N64AControls.BindMulti("P3 R", Global.Config.N64AutoController[2].R);
|
||||
|
||||
N64AControls.BindMulti("P4 Up", Global.Config.N64AutoController[3].DPadU);
|
||||
N64AControls.BindMulti("P4 Left", Global.Config.N64AutoController[3].DPadD);
|
||||
N64AControls.BindMulti("P4 Right", Global.Config.N64AutoController[3].DPadL);
|
||||
N64AControls.BindMulti("P4 Down", Global.Config.N64AutoController[3].DPadR);
|
||||
N64AControls.BindMulti("P4 Start", Global.Config.N64AutoController[3].Start);
|
||||
N64AControls.BindMulti("P4 Z", Global.Config.N64AutoController[3].Z);
|
||||
N64AControls.BindMulti("P4 B", Global.Config.N64AutoController[3].B);
|
||||
N64AControls.BindMulti("P4 A", Global.Config.N64AutoController[3].A);
|
||||
N64AControls.BindMulti("P4 C Up", Global.Config.N64AutoController[3].CUp);
|
||||
N64AControls.BindMulti("P4 C Down", Global.Config.N64AutoController[3].CDown);
|
||||
N64AControls.BindMulti("P4 C Left", Global.Config.N64AutoController[3].CLeft);
|
||||
N64AControls.BindMulti("P4 C Right", Global.Config.N64AutoController[3].CRight);
|
||||
N64AControls.BindMulti("P4 L", Global.Config.N64AutoController[3].L);
|
||||
N64AControls.BindMulti("P4 R", Global.Config.N64AutoController[3].R);
|
||||
|
||||
Global.AutofireN64Controls = N64AControls;
|
||||
}
|
||||
|
||||
private static void FormDragEnter(object sender, DragEventArgs e)
|
||||
|
@ -1700,8 +1831,6 @@ namespace BizHawk.MultiClient
|
|||
case "Coleco":
|
||||
colecoToolStripMenuItem.Visible = true;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1725,7 +1854,6 @@ namespace BizHawk.MultiClient
|
|||
|
||||
void NESSpeicalMenuControls()
|
||||
{
|
||||
|
||||
// ugly and hacky
|
||||
nESSpeicalToolStripMenuItem.Visible = false;
|
||||
nESSpeicalToolStripMenuItem.DropDownItems.Clear();
|
||||
|
@ -1804,6 +1932,10 @@ namespace BizHawk.MultiClient
|
|||
Global.ActiveController = Global.ColecoControls;
|
||||
Global.AutoFireController = Global.AutofireColecoControls;
|
||||
break;
|
||||
case "N64":
|
||||
Global.ActiveController = Global.N64Controls;
|
||||
Global.AutoFireController = Global.AutofireN64Controls;
|
||||
break;
|
||||
case "SAT":
|
||||
Global.ActiveController = Global.SaturnControls;
|
||||
Global.AutoFireController = Global.AutofireSaturnControls;
|
||||
|
|
Loading…
Reference in New Issue