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;
 }
Ejemplo n.º 4
0
        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;
        }
Ejemplo n.º 5
0
        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;
        }
Ejemplo n.º 7
0
        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);
            }
        }
Ejemplo n.º 8
0
        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;
                }
            }
        }
Ejemplo n.º 9
0
 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);
     }
 }
Ejemplo n.º 10
0
        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;
                }
            }
        }