genesis: virtual pad support multitap

This commit is contained in:
goyuken 2014-06-27 17:59:45 +00:00
parent 903ea5a2f3
commit a1b03a4a20
1 changed files with 16 additions and 25 deletions

View File

@ -12,34 +12,25 @@ namespace BizHawk.Client.EmuHawk
{ {
public IEnumerable<PadSchema> GetPadSchemas() public IEnumerable<PadSchema> GetPadSchemas()
{ {
var ss = (GPGX.GPGXSyncSettings)Global.Emulator.GetSyncSettings(); var devs = ((GPGX)Global.Emulator).GetDevices();
if (ss.ControlType == GPGX.ControlType.OnePlayer) int player = 1;
foreach (var dev in devs)
{ {
if (ss.UseSixButton) switch (dev)
{ {
yield return SixButtonController(1); case LibGPGX.INPUT_DEVICE.DEVICE_NONE:
continue; // do not increment player number
case LibGPGX.INPUT_DEVICE.DEVICE_PAD3B:
yield return ThreeButtonController(player);
break;
case LibGPGX.INPUT_DEVICE.DEVICE_PAD6B:
yield return SixButtonController(player);
break;
default:
// todo
break;
} }
else player++;
{
yield return ThreeButtonController(2);
}
}
else if (ss.ControlType == GPGX.ControlType.Normal)
{
if (ss.UseSixButton)
{
yield return SixButtonController(1);
yield return SixButtonController(2);
}
else
{
yield return ThreeButtonController(1);
yield return ThreeButtonController(2);
}
}
else
{
yield return null;
} }
} }