using System.Collections.Generic; using System.Drawing; using BizHawk.Client.Common; namespace BizHawk.Client.EmuHawk { [SchemaAttributes("PCE")] public class PceSchema : IVirtualPadSchema { public IEnumerable GetPadSchemas() { for (var i = 0; i < Global.Emulator.ControllerDefinition.PlayerCount; i++) { yield return StandardController(i + 1); } } public static PadSchema StandardController(int controller) { return new PadSchema { IsConsole = false, DefaultSize = new Size(174, 90), Buttons = new[] { new PadSchema.ButtonScema { Name = "P" + controller + " Up", DisplayName = "", Icon = Properties.Resources.BlueUp, Location = new Point(14, 12), Type = PadSchema.PadInputType.Boolean }, new PadSchema.ButtonScema { Name = "P" + controller + " Down", DisplayName = "", Icon = Properties.Resources.BlueDown, Location = new Point(14, 56), Type = PadSchema.PadInputType.Boolean }, new PadSchema.ButtonScema { Name = "P" + controller + " Left", DisplayName = "", Icon = Properties.Resources.Back, Location = new Point(2, 34), Type = PadSchema.PadInputType.Boolean }, new PadSchema.ButtonScema { Name = "P" + controller + " Right", DisplayName = "", Icon = Properties.Resources.Forward, Location = new Point(24, 34), Type = PadSchema.PadInputType.Boolean }, new PadSchema.ButtonScema { Name = "P" + controller + " B2", DisplayName = "II", Location = new Point(122, 34), Type = PadSchema.PadInputType.Boolean }, new PadSchema.ButtonScema { Name = "P" + controller + " B1", DisplayName = "I", Location = new Point(146, 34), Type = PadSchema.PadInputType.Boolean }, new PadSchema.ButtonScema { Name = "P" + controller + " Select", DisplayName = "s", Location = new Point(52, 34), Type = PadSchema.PadInputType.Boolean }, new PadSchema.ButtonScema { Name = "P" + controller + " Run", DisplayName = "R", Location = new Point(74, 34), Type = PadSchema.PadInputType.Boolean } } }; } } }