public NesVSUnisystemDIPKeyboardConnection(IntPtr handle, IInputSettingsVSUnisystemDIP settings) { DirectInput di = new DirectInput(); keyboard = new Keyboard(di); keyboard.SetCooperativeLevel(handle, CooperativeLevel.Nonexclusive | CooperativeLevel.Foreground); if (settings.CreditServiceButton != "") CreditServiceButton = (SlimDX.DirectInput.Key)Enum.Parse(typeof(SlimDX.DirectInput.Key), settings.CreditServiceButton); if (settings.DIPSwitch1 != "") DIPSwitch1 = (SlimDX.DirectInput.Key)Enum.Parse(typeof(SlimDX.DirectInput.Key), settings.DIPSwitch1); if (settings.DIPSwitch2 != "") DIPSwitch2 = (SlimDX.DirectInput.Key)Enum.Parse(typeof(SlimDX.DirectInput.Key), settings.DIPSwitch2); if (settings.DIPSwitch3 != "") DIPSwitch3 = (SlimDX.DirectInput.Key)Enum.Parse(typeof(SlimDX.DirectInput.Key), settings.DIPSwitch3); if (settings.DIPSwitch4 != "") DIPSwitch4 = (SlimDX.DirectInput.Key)Enum.Parse(typeof(SlimDX.DirectInput.Key), settings.DIPSwitch4); if (settings.DIPSwitch5 != "") DIPSwitch5 = (SlimDX.DirectInput.Key)Enum.Parse(typeof(SlimDX.DirectInput.Key), settings.DIPSwitch5); if (settings.DIPSwitch6 != "") DIPSwitch6 = (SlimDX.DirectInput.Key)Enum.Parse(typeof(SlimDX.DirectInput.Key), settings.DIPSwitch6); if (settings.DIPSwitch7 != "") DIPSwitch7 = (SlimDX.DirectInput.Key)Enum.Parse(typeof(SlimDX.DirectInput.Key), settings.DIPSwitch7); if (settings.DIPSwitch8 != "") DIPSwitch8 = (SlimDX.DirectInput.Key)Enum.Parse(typeof(SlimDX.DirectInput.Key), settings.DIPSwitch8); if (settings.CreditLeftCoinSlot != "") CreditLeftCoinSlot = (SlimDX.DirectInput.Key)Enum.Parse(typeof(SlimDX.DirectInput.Key), settings.CreditLeftCoinSlot); if (settings.CreditRightCoinSlot != "") CreditRightCoinSlot = (SlimDX.DirectInput.Key)Enum.Parse(typeof(SlimDX.DirectInput.Key), settings.CreditRightCoinSlot); NesEmu.EMUShutdown += NesEmu_EMUShutdown; }
public NesVSUnisystemDIPJoystickConnection(IntPtr handle, string guid, IInputSettingsVSUnisystemDIP settings) { DirectInput di = new DirectInput(); joystick = new Joystick(di, Guid.Parse(guid)); joystick.SetCooperativeLevel(handle, CooperativeLevel.Nonexclusive | CooperativeLevel.Foreground); if (settings.CreditServiceButton != "") CreditServiceButton = ParseKey(settings.CreditServiceButton); if (settings.DIPSwitch1 != "") DIPSwitch1 = ParseKey(settings.DIPSwitch1); if (settings.DIPSwitch2 != "") DIPSwitch2 = ParseKey(settings.DIPSwitch2); if (settings.DIPSwitch3 != "") DIPSwitch3 = ParseKey(settings.DIPSwitch3); if (settings.DIPSwitch4 != "") DIPSwitch4 = ParseKey(settings.DIPSwitch4); if (settings.DIPSwitch5 != "") DIPSwitch5 = ParseKey(settings.DIPSwitch5); if (settings.DIPSwitch6 != "") DIPSwitch6 = ParseKey(settings.DIPSwitch6); if (settings.DIPSwitch7 != "") DIPSwitch7 = ParseKey(settings.DIPSwitch7); if (settings.DIPSwitch8 != "") DIPSwitch8 = ParseKey(settings.DIPSwitch8); if (settings.CreditLeftCoinSlot != "") CreditLeftCoinSlot = ParseKey(settings.CreditLeftCoinSlot); if (settings.CreditRightCoinSlot != "") CreditRightCoinSlot = ParseKey(settings.CreditRightCoinSlot); NesEmu.EMUShutdown += NesEmu_EMUShutdown; }
public NesVSUnisystemDIPXControllerConnection(string guid, IInputSettingsVSUnisystemDIP settings) { switch (guid) { case "x-controller-1": x_controller = new Controller(UserIndex.One); break; case "x-controller-2": x_controller = new Controller(UserIndex.Two); break; case "x-controller-3": x_controller = new Controller(UserIndex.Three); break; case "x-controller-4": x_controller = new Controller(UserIndex.Four); break; } if (settings.CreditServiceButton != "") CreditServiceButton = ParseKey(settings.CreditServiceButton); if (settings.DIPSwitch1 != "") DIPSwitch1 = ParseKey(settings.DIPSwitch1); if (settings.DIPSwitch2 != "") DIPSwitch2 = ParseKey(settings.DIPSwitch2); if (settings.DIPSwitch3 != "") DIPSwitch3 = ParseKey(settings.DIPSwitch3); if (settings.DIPSwitch4 != "") DIPSwitch4 = ParseKey(settings.DIPSwitch4); if (settings.DIPSwitch5 != "") DIPSwitch5 = ParseKey(settings.DIPSwitch5); if (settings.DIPSwitch6 != "") DIPSwitch6 = ParseKey(settings.DIPSwitch6); if (settings.DIPSwitch7 != "") DIPSwitch7 = ParseKey(settings.DIPSwitch7); if (settings.DIPSwitch8 != "") DIPSwitch8 = ParseKey(settings.DIPSwitch8); if (settings.CreditLeftCoinSlot != "") CreditLeftCoinSlot = ParseKey(settings.CreditLeftCoinSlot); if (settings.CreditRightCoinSlot != "") CreditRightCoinSlot = ParseKey(settings.CreditRightCoinSlot); NesEmu.EMUShutdown += NesEmu_EMUShutdown; }
public NesVSUnisystemDIPXControllerConnection(string guid, IInputSettingsVSUnisystemDIP settings) { switch (guid) { case "x-controller-1": x_controller = new Controller(UserIndex.One); break; case "x-controller-2": x_controller = new Controller(UserIndex.Two); break; case "x-controller-3": x_controller = new Controller(UserIndex.Three); break; case "x-controller-4": x_controller = new Controller(UserIndex.Four); break; } if (settings.CreditServiceButton != "") { CreditServiceButton = ParseKey(settings.CreditServiceButton); } if (settings.DIPSwitch1 != "") { DIPSwitch1 = ParseKey(settings.DIPSwitch1); } if (settings.DIPSwitch2 != "") { DIPSwitch2 = ParseKey(settings.DIPSwitch2); } if (settings.DIPSwitch3 != "") { DIPSwitch3 = ParseKey(settings.DIPSwitch3); } if (settings.DIPSwitch4 != "") { DIPSwitch4 = ParseKey(settings.DIPSwitch4); } if (settings.DIPSwitch5 != "") { DIPSwitch5 = ParseKey(settings.DIPSwitch5); } if (settings.DIPSwitch6 != "") { DIPSwitch6 = ParseKey(settings.DIPSwitch6); } if (settings.DIPSwitch7 != "") { DIPSwitch7 = ParseKey(settings.DIPSwitch7); } if (settings.DIPSwitch8 != "") { DIPSwitch8 = ParseKey(settings.DIPSwitch8); } if (settings.CreditLeftCoinSlot != "") { CreditLeftCoinSlot = ParseKey(settings.CreditLeftCoinSlot); } if (settings.CreditRightCoinSlot != "") { CreditRightCoinSlot = ParseKey(settings.CreditRightCoinSlot); } NesEmu.EMUShutdown += NesEmu_EMUShutdown; }
public NesVSUnisystemDIPKeyboardConnection(IntPtr handle, IInputSettingsVSUnisystemDIP settings, EmulationState emulationState) { DirectInput di = new DirectInput(); keyboard = new Keyboard(di); keyboard.SetCooperativeLevel(handle, CooperativeLevel.Nonexclusive | CooperativeLevel.Foreground); if (settings.CreditServiceButton != "") { CreditServiceButton = (SlimDX.DirectInput.Key)Enum.Parse(typeof(SlimDX.DirectInput.Key), settings.CreditServiceButton); } if (settings.DIPSwitch1 != "") { DIPSwitch1 = (SlimDX.DirectInput.Key)Enum.Parse(typeof(SlimDX.DirectInput.Key), settings.DIPSwitch1); } if (settings.DIPSwitch2 != "") { DIPSwitch2 = (SlimDX.DirectInput.Key)Enum.Parse(typeof(SlimDX.DirectInput.Key), settings.DIPSwitch2); } if (settings.DIPSwitch3 != "") { DIPSwitch3 = (SlimDX.DirectInput.Key)Enum.Parse(typeof(SlimDX.DirectInput.Key), settings.DIPSwitch3); } if (settings.DIPSwitch4 != "") { DIPSwitch4 = (SlimDX.DirectInput.Key)Enum.Parse(typeof(SlimDX.DirectInput.Key), settings.DIPSwitch4); } if (settings.DIPSwitch5 != "") { DIPSwitch5 = (SlimDX.DirectInput.Key)Enum.Parse(typeof(SlimDX.DirectInput.Key), settings.DIPSwitch5); } if (settings.DIPSwitch6 != "") { DIPSwitch6 = (SlimDX.DirectInput.Key)Enum.Parse(typeof(SlimDX.DirectInput.Key), settings.DIPSwitch6); } if (settings.DIPSwitch7 != "") { DIPSwitch7 = (SlimDX.DirectInput.Key)Enum.Parse(typeof(SlimDX.DirectInput.Key), settings.DIPSwitch7); } if (settings.DIPSwitch8 != "") { DIPSwitch8 = (SlimDX.DirectInput.Key)Enum.Parse(typeof(SlimDX.DirectInput.Key), settings.DIPSwitch8); } if (settings.CreditLeftCoinSlot != "") { CreditLeftCoinSlot = (SlimDX.DirectInput.Key)Enum.Parse(typeof(SlimDX.DirectInput.Key), settings.CreditLeftCoinSlot); } if (settings.CreditRightCoinSlot != "") { CreditRightCoinSlot = (SlimDX.DirectInput.Key)Enum.Parse(typeof(SlimDX.DirectInput.Key), settings.CreditRightCoinSlot); } emulationState.EMUShutdown += NesEmu_EMUShutdown; }
public NesVSUnisystemDIPJoystickConnection(IntPtr handle, string guid, IInputSettingsVSUnisystemDIP settings) { DirectInput di = new DirectInput(); joystick = new Joystick(di, Guid.Parse(guid)); joystick.SetCooperativeLevel(handle, CooperativeLevel.Nonexclusive | CooperativeLevel.Foreground); if (settings.CreditServiceButton != "") { CreditServiceButton = ParseKey(settings.CreditServiceButton); } if (settings.DIPSwitch1 != "") { DIPSwitch1 = ParseKey(settings.DIPSwitch1); } if (settings.DIPSwitch2 != "") { DIPSwitch2 = ParseKey(settings.DIPSwitch2); } if (settings.DIPSwitch3 != "") { DIPSwitch3 = ParseKey(settings.DIPSwitch3); } if (settings.DIPSwitch4 != "") { DIPSwitch4 = ParseKey(settings.DIPSwitch4); } if (settings.DIPSwitch5 != "") { DIPSwitch5 = ParseKey(settings.DIPSwitch5); } if (settings.DIPSwitch6 != "") { DIPSwitch6 = ParseKey(settings.DIPSwitch6); } if (settings.DIPSwitch7 != "") { DIPSwitch7 = ParseKey(settings.DIPSwitch7); } if (settings.DIPSwitch8 != "") { DIPSwitch8 = ParseKey(settings.DIPSwitch8); } if (settings.CreditLeftCoinSlot != "") { CreditLeftCoinSlot = ParseKey(settings.CreditLeftCoinSlot); } if (settings.CreditRightCoinSlot != "") { CreditRightCoinSlot = ParseKey(settings.CreditRightCoinSlot); } NesEmu.EMUShutdown += NesEmu_EMUShutdown; }
public override void SaveSettings() { Program.Settings.ControlSettings.VSUnisystemDIPAutoSwitchBackToKeyboard = checkBox1.Checked; if (comboBox_device.SelectedIndex < 0) { Program.Settings.ControlSettings.VSUnisystemDIPDeviceGuid = ""; return; } bool found = false; for (int i = 0; i < Program.Settings.ControlSettings.VSUnisystemDIPDevices.Count; i++) { if (Program.Settings.ControlSettings.VSUnisystemDIPDevices[i].DeviceGuid.ToLower() == deviceGuides[comboBox_device.SelectedIndex].ToLower()) { Program.Settings.ControlSettings.VSUnisystemDIPDeviceGuid = Program.Settings.ControlSettings.VSUnisystemDIPDevices[i].DeviceGuid; found = true; // Add the inputs Program.Settings.ControlSettings.VSUnisystemDIPDevices[i].CreditLeftCoinSlot = listView1.Items[0].SubItems[1].Text; Program.Settings.ControlSettings.VSUnisystemDIPDevices[i].CreditRightCoinSlot = listView1.Items[1].SubItems[1].Text; Program.Settings.ControlSettings.VSUnisystemDIPDevices[i].CreditServiceButton = listView1.Items[2].SubItems[1].Text; Program.Settings.ControlSettings.VSUnisystemDIPDevices[i].DIPSwitch1 = listView1.Items[3].SubItems[1].Text; Program.Settings.ControlSettings.VSUnisystemDIPDevices[i].DIPSwitch2 = listView1.Items[4].SubItems[1].Text; Program.Settings.ControlSettings.VSUnisystemDIPDevices[i].DIPSwitch3 = listView1.Items[5].SubItems[1].Text; Program.Settings.ControlSettings.VSUnisystemDIPDevices[i].DIPSwitch4 = listView1.Items[6].SubItems[1].Text; Program.Settings.ControlSettings.VSUnisystemDIPDevices[i].DIPSwitch5 = listView1.Items[7].SubItems[1].Text; Program.Settings.ControlSettings.VSUnisystemDIPDevices[i].DIPSwitch6 = listView1.Items[8].SubItems[1].Text; Program.Settings.ControlSettings.VSUnisystemDIPDevices[i].DIPSwitch7 = listView1.Items[9].SubItems[1].Text; Program.Settings.ControlSettings.VSUnisystemDIPDevices[i].DIPSwitch8 = listView1.Items[10].SubItems[1].Text; break; } } if (!found) { // Add the device Program.Settings.ControlSettings.VSUnisystemDIPDeviceGuid = deviceGuides[comboBox_device.SelectedIndex]; IInputSettingsVSUnisystemDIP vs = new IInputSettingsVSUnisystemDIP(); vs.DeviceGuid = Program.Settings.ControlSettings.VSUnisystemDIPDeviceGuid; vs.CreditLeftCoinSlot = listView1.Items[0].SubItems[1].Text; vs.CreditRightCoinSlot = listView1.Items[1].SubItems[1].Text; vs.CreditServiceButton = listView1.Items[2].SubItems[1].Text; vs.DIPSwitch1 = listView1.Items[3].SubItems[1].Text; vs.DIPSwitch2 = listView1.Items[4].SubItems[1].Text; vs.DIPSwitch3 = listView1.Items[5].SubItems[1].Text; vs.DIPSwitch4 = listView1.Items[6].SubItems[1].Text; vs.DIPSwitch5 = listView1.Items[7].SubItems[1].Text; vs.DIPSwitch6 = listView1.Items[8].SubItems[1].Text; vs.DIPSwitch7 = listView1.Items[9].SubItems[1].Text; vs.DIPSwitch8 = listView1.Items[10].SubItems[1].Text; Program.Settings.ControlSettings.VSUnisystemDIPDevices.Add(vs); } }
public static void BuildDefaultControlSettings() { Program.Settings.ControlSettings = new ControlMappingSettings(); Program.Settings.ControlSettings.Joypad1Devices = new List <IInputSettingsJoypad>(); Program.Settings.ControlSettings.Joypad2Devices = new List <IInputSettingsJoypad>(); Program.Settings.ControlSettings.Joypad3Devices = new List <IInputSettingsJoypad>(); Program.Settings.ControlSettings.Joypad4Devices = new List <IInputSettingsJoypad>(); Program.Settings.ControlSettings.VSUnisystemDIPDevices = new List <IInputSettingsVSUnisystemDIP>(); DirectInput di = new DirectInput(); foreach (DeviceInstance ins in di.GetDevices()) { if (ins.Type == DeviceType.Keyboard) { // Player 1 joypad IInputSettingsJoypad joy1 = new IInputSettingsJoypad(); joy1.DeviceGuid = ins.InstanceGuid.ToString(); joy1.ButtonA = "X"; joy1.ButtonB = "Z"; joy1.ButtonTurboA = "S"; joy1.ButtonTurboB = "A"; joy1.ButtonDown = "DownArrow"; joy1.ButtonLeft = "LeftArrow"; joy1.ButtonRight = "RightArrow"; joy1.ButtonUp = "UpArrow"; joy1.ButtonSelect = "C"; joy1.ButtonStart = "V"; Program.Settings.ControlSettings.Joypad1Devices.Add(joy1); Program.Settings.ControlSettings.Joypad1DeviceGuid = joy1.DeviceGuid; // Player 2 joypad IInputSettingsJoypad joy2 = new IInputSettingsJoypad(); joy2.DeviceGuid = ins.InstanceGuid.ToString(); joy2.ButtonA = "K"; joy2.ButtonB = "L"; joy2.ButtonTurboA = "I"; joy2.ButtonTurboB = "O"; joy2.ButtonDown = "S"; joy2.ButtonLeft = "A"; joy2.ButtonRight = "D"; joy2.ButtonUp = "W"; joy2.ButtonSelect = "B"; joy2.ButtonStart = "N"; Program.Settings.ControlSettings.Joypad2Devices.Add(joy2); Program.Settings.ControlSettings.Joypad2DeviceGuid = joy2.DeviceGuid; IInputSettingsVSUnisystemDIP vs = new IInputSettingsVSUnisystemDIP(); // VSUnisystem vs.DeviceGuid = ins.InstanceGuid.ToString(); vs.CreditServiceButton = "End"; vs.DIPSwitch1 = "NumberPad1"; vs.DIPSwitch2 = "NumberPad2"; vs.DIPSwitch3 = "NumberPad3"; vs.DIPSwitch4 = "NumberPad4"; vs.DIPSwitch5 = "NumberPad5"; vs.DIPSwitch6 = "NumberPad6"; vs.DIPSwitch7 = "NumberPad7"; vs.DIPSwitch8 = "NumberPad8"; vs.CreditLeftCoinSlot = "Insert"; vs.CreditRightCoinSlot = "Home"; Program.Settings.ControlSettings.VSUnisystemDIPDevices.Add(vs); Program.Settings.ControlSettings.VSUnisystemDIPDeviceGuid = vs.DeviceGuid; break; } } }
public static void BuildDefaultControlSettings() { Program.Settings.ControlSettings = new ControlMappingSettings(); Program.Settings.ControlSettings.Joypad1Devices = new List<IInputSettingsJoypad>(); Program.Settings.ControlSettings.Joypad2Devices = new List<IInputSettingsJoypad>(); Program.Settings.ControlSettings.Joypad3Devices = new List<IInputSettingsJoypad>(); Program.Settings.ControlSettings.Joypad4Devices = new List<IInputSettingsJoypad>(); Program.Settings.ControlSettings.VSUnisystemDIPDevices = new List<IInputSettingsVSUnisystemDIP>(); DirectInput di = new DirectInput(); foreach (DeviceInstance ins in di.GetDevices()) { if (ins.Type == DeviceType.Keyboard) { // Player 1 joypad IInputSettingsJoypad joy1 = new IInputSettingsJoypad(); joy1.DeviceGuid = ins.InstanceGuid.ToString(); joy1.ButtonA = "X"; joy1.ButtonB = "Z"; joy1.ButtonTurboA = "S"; joy1.ButtonTurboB = "A"; joy1.ButtonDown = "DownArrow"; joy1.ButtonLeft = "LeftArrow"; joy1.ButtonRight = "RightArrow"; joy1.ButtonUp = "UpArrow"; joy1.ButtonSelect = "C"; joy1.ButtonStart = "V"; Program.Settings.ControlSettings.Joypad1Devices.Add(joy1); Program.Settings.ControlSettings.Joypad1DeviceGuid = joy1.DeviceGuid; Program.Settings.ControlSettings.Joypad1AutoSwitchBackToKeyboard = true; // Player 2 joypad IInputSettingsJoypad joy2 = new IInputSettingsJoypad(); joy2.DeviceGuid = ins.InstanceGuid.ToString(); joy2.ButtonA = "K"; joy2.ButtonB = "L"; joy2.ButtonTurboA = "I"; joy2.ButtonTurboB = "O"; joy2.ButtonDown = "S"; joy2.ButtonLeft = "A"; joy2.ButtonRight = "D"; joy2.ButtonUp = "W"; joy2.ButtonSelect = "B"; joy2.ButtonStart = "N"; Program.Settings.ControlSettings.Joypad2Devices.Add(joy2); Program.Settings.ControlSettings.Joypad2DeviceGuid = joy2.DeviceGuid; Program.Settings.ControlSettings.Joypad2AutoSwitchBackToKeyboard = true; // Player 3 Program.Settings.ControlSettings.Joypad3Devices = new List<IInputSettingsJoypad>(); Program.Settings.ControlSettings.Joypad3DeviceGuid = ""; Program.Settings.ControlSettings.Joypad3AutoSwitchBackToKeyboard = true; // Player 4 Program.Settings.ControlSettings.Joypad4Devices = new List<IInputSettingsJoypad>(); Program.Settings.ControlSettings.Joypad4DeviceGuid = ""; Program.Settings.ControlSettings.Joypad4AutoSwitchBackToKeyboard = true; // VSUnisystem IInputSettingsVSUnisystemDIP vs = new IInputSettingsVSUnisystemDIP(); vs.DeviceGuid = ins.InstanceGuid.ToString(); vs.CreditServiceButton = "End"; vs.DIPSwitch1 = "NumberPad1"; vs.DIPSwitch2 = "NumberPad2"; vs.DIPSwitch3 = "NumberPad3"; vs.DIPSwitch4 = "NumberPad4"; vs.DIPSwitch5 = "NumberPad5"; vs.DIPSwitch6 = "NumberPad6"; vs.DIPSwitch7 = "NumberPad7"; vs.DIPSwitch8 = "NumberPad8"; vs.CreditLeftCoinSlot = "Insert"; vs.CreditRightCoinSlot = "Home"; Program.Settings.ControlSettings.VSUnisystemDIPDevices.Add(vs); Program.Settings.ControlSettings.VSUnisystemDIPDeviceGuid = vs.DeviceGuid; Program.Settings.ControlSettings.VSUnisystemDIPAutoSwitchBackToKeyboard = true; break; } } }