Mutliclient hookups for dual gb core

This commit is contained in:
adelikat 2012-12-29 02:30:31 +00:00
parent ab8af9f73e
commit c01919a376
3 changed files with 117 additions and 1 deletions

View File

@ -23,6 +23,8 @@ namespace BizHawk.MultiClient
SNESController[2] = new SNESControllerTemplate(false);
SNESController[3] = new SNESControllerTemplate(false);
GBController[0] = new GBControllerTemplate(true);
DualGBController[0] = new DualGBControllerTemplate(true);
AutoDualGBController[0] = new DualGBControllerTemplate(true);
GBAutoController[0] = new GBControllerTemplate(true);
TI83Controller[0] = new TI83ControllerTemplate(true);
@ -761,6 +763,10 @@ namespace BizHawk.MultiClient
public bool GB_AsSGB = false;
public Emulation.Consoles.GB.GBColors.ColorType CGBColors = Emulation.Consoles.GB.GBColors.ColorType.gambatte;
//Dual Gb
public DualGBControllerTemplate[] DualGBController = new DualGBControllerTemplate[1];
public DualGBControllerTemplate[] AutoDualGBController = new DualGBControllerTemplate[1];
//GBA settings
public GBAControllerTemplate[] GBAController = new GBAControllerTemplate[1];
public GBAControllerTemplate[] GBAAutoController = new GBAControllerTemplate[1];
@ -1063,6 +1069,62 @@ namespace BizHawk.MultiClient
}
}
public class DualGBControllerTemplate : iControllerConfigObject
{
public string P1_Up = "";
public string P1_Down = "";
public string P1_Left = "";
public string P1_Right = "";
public string P1_A = "";
public string P1_B = "";
public string P1_Select = "";
public string P1_Start = "";
public string P1_Power = "";
public string P2_Up = "";
public string P2_Down = "";
public string P2_Left = "";
public string P2_Right = "";
public string P2_A = "";
public string P2_B = "";
public string P2_Select = "";
public string P2_Start = "";
public string P2_Power = "";
public bool Enabled = false;
public DualGBControllerTemplate() { }
public DualGBControllerTemplate(bool defaults)
{
if (defaults)
{
SetDefaults();
}
}
public void SetDefaults()
{
Enabled = true;
P1_Up = "UpArrow, X1 DpadUp, X1 LStickUp";
P1_Down = "DownArrow, X1 DpadDown, X1 LStickDown";
P1_Left = "LeftArrow, X1 DpadLeft, X1 LStickLeft";
P1_Right = "RightArrow, X1 DpadRight, X1 LStickRight";
P1_A = "X, X1 B";
P1_B = "Z, X1 A";
P1_Start = "Return, X1 Start";
P1_Select = "Space, X1 Back";
P1_Power = "";
P2_Up = "NumberPad8";
P2_Down = "NumberPad2";
P2_Left = "NumberPad4";
P2_Right = "NumberPad6";
P2_A = "C";
P2_B = "V";
P2_Select = "";
P2_Start = "";
}
}
public class GenControllerTemplate : iControllerConfigObject
{
public string Up = "";

View File

@ -36,7 +36,10 @@ namespace BizHawk.MultiClient
public static Controller GBControls;
public static AutofireController AutofireGBControls;
public static Controller DualGBControls;
public static AutofireController DualAutofireGBControls;
public static Controller GBAControls;
public static AutofireController AutofireGBAControls;

View File

@ -948,6 +948,53 @@ namespace BizHawk.MultiClient
agbControls.BindMulti("Start", Global.Config.GBAutoController[0].Start);
Global.AutofireGBControls = agbControls;
var dualgbControls = new Controller(Gameboy.GbController);
dualgbControls.BindMulti("P1 Up", Global.Config.DualGBController[0].P1_Up);
dualgbControls.BindMulti("P1 Down", Global.Config.DualGBController[0].P1_Down);
dualgbControls.BindMulti("P1 Left", Global.Config.DualGBController[0].P1_Left);
dualgbControls.BindMulti("P1 Right", Global.Config.DualGBController[0].P1_Right);
dualgbControls.BindMulti("P1 A", Global.Config.DualGBController[0].P1_A);
dualgbControls.BindMulti("P1 B", Global.Config.DualGBController[0].P1_B);
dualgbControls.BindMulti("P1 Select", Global.Config.DualGBController[0].P1_Select);
dualgbControls.BindMulti("P1 Start", Global.Config.DualGBController[0].P1_Start);
dualgbControls.BindMulti("P1 Power", Global.Config.DualGBController[0].P1_Power);
dualgbControls.BindMulti("P2 Up", Global.Config.DualGBController[0].P2_Up);
dualgbControls.BindMulti("P2 Down", Global.Config.DualGBController[0].P2_Down);
dualgbControls.BindMulti("P2 Left", Global.Config.DualGBController[0].P2_Left);
dualgbControls.BindMulti("P2 Right", Global.Config.DualGBController[0].P2_Right);
dualgbControls.BindMulti("P2 A", Global.Config.DualGBController[0].P2_A);
dualgbControls.BindMulti("P2 B", Global.Config.DualGBController[0].P2_B);
dualgbControls.BindMulti("P2 Select", Global.Config.DualGBController[0].P2_Select);
dualgbControls.BindMulti("P2 Start", Global.Config.DualGBController[0].P2_Start);
dualgbControls.BindMulti("P2 Power", Global.Config.DualGBController[0].P2_Power);
Global.DualGBControls = dualgbControls;
var adualgbControls = new AutofireController(Gameboy.GbController);
adualgbControls.Autofire = true;
adualgbControls.BindMulti("P1 Up", Global.Config.AutoDualGBController[0].P1_Up);
adualgbControls.BindMulti("P1 Down", Global.Config.AutoDualGBController[0].P1_Down);
adualgbControls.BindMulti("P1 Left", Global.Config.AutoDualGBController[0].P1_Left);
adualgbControls.BindMulti("P1 Right", Global.Config.AutoDualGBController[0].P1_Right);
adualgbControls.BindMulti("P1 A", Global.Config.AutoDualGBController[0].P1_A);
adualgbControls.BindMulti("P1 B", Global.Config.AutoDualGBController[0].P1_B);
adualgbControls.BindMulti("P1 Select", Global.Config.AutoDualGBController[0].P1_Select);
adualgbControls.BindMulti("P1 Start", Global.Config.AutoDualGBController[0].P1_Start);
adualgbControls.BindMulti("P2 Up", Global.Config.AutoDualGBController[0].P2_Up);
adualgbControls.BindMulti("P2 Down", Global.Config.AutoDualGBController[0].P2_Down);
adualgbControls.BindMulti("P2 Left", Global.Config.AutoDualGBController[0].P2_Left);
adualgbControls.BindMulti("P2 Right", Global.Config.AutoDualGBController[0].P2_Right);
adualgbControls.BindMulti("P2 A", Global.Config.AutoDualGBController[0].P2_A);
adualgbControls.BindMulti("P2 B", Global.Config.AutoDualGBController[0].P2_B);
adualgbControls.BindMulti("P2 Select", Global.Config.AutoDualGBController[0].P2_Select);
adualgbControls.BindMulti("P2 Start", Global.Config.AutoDualGBController[0].P2_Start);
Global.DualAutofireGBControls = adualgbControls;
var gbaControls = new Controller(GBA.GBAController);
gbaControls.BindMulti("Up", Global.Config.GBAController[0].Up);
gbaControls.BindMulti("Down", Global.Config.GBAController[0].Down);
@ -1691,6 +1738,10 @@ namespace BizHawk.MultiClient
Global.ActiveController = Global.IntellivisionControls;
Global.AutoFireController = Global.AutofireIntellivisionControls;
break;
case "DGB":
Global.ActiveController = Global.DualGBControls;
Global.AutoFireController = Global.DualAutofireGBControls;
break;
default:
Global.ActiveController = Global.NullControls;
break;