Exemple #1
0
        private void btnSetup_Click(object sender, EventArgs e)
        {
            int    index        = 0;
            object selectedItem = null;
            string selectedText = "";

            if (sender == btnSetupP1)
            {
                selectedItem = cboPlayer1.GetEnumValue <InteropEmu.ControllerType>();
                selectedText = cboPlayer1.SelectedItem.ToString();
                index        = 0;
            }
            else if (sender == btnSetupP2)
            {
                selectedItem = cboPlayer2.GetEnumValue <InteropEmu.ControllerType>();
                selectedText = cboPlayer2.SelectedItem.ToString();
                index        = 1;
            }
            else if (sender == btnSetupP3)
            {
                selectedItem = cboPlayer3.GetEnumValue <InteropEmu.ControllerType>();
                selectedText = cboPlayer3.SelectedItem.ToString();
                index        = 2;
            }
            else if (sender == btnSetupP4)
            {
                selectedItem = cboPlayer4.GetEnumValue <InteropEmu.ControllerType>();
                selectedText = cboPlayer4.SelectedItem.ToString();
                index        = 3;
            }
            else if (sender == btnSetupExp)
            {
                selectedItem = cboExpansionPort.GetEnumValue <InteropEmu.ExpansionPortDevice>();
                selectedText = cboExpansionPort.SelectedItem.ToString();
                index        = 0;
            }

            Form      frm       = null;
            InputInfo inputInfo = (InputInfo)Entity;

            if (selectedItem is InteropEmu.ControllerType)
            {
                InteropEmu.ControllerType type = (InteropEmu.ControllerType)selectedItem;
                switch (type)
                {
                case InteropEmu.ControllerType.StandardController:
                case InteropEmu.ControllerType.SnesController:
                    frm = new frmControllerConfig(inputInfo.Controllers[index], index, cboConsoleType.GetEnumValue <ConsoleType>(), type);
                    break;

                case InteropEmu.ControllerType.PowerPad:
                    frm = new frmPowerPadConfig(inputInfo.Controllers[index], index);
                    break;

                case InteropEmu.ControllerType.Zapper:
                    frm = new frmZapperConfig(inputInfo.Zapper);
                    break;

                case InteropEmu.ControllerType.SnesMouse:
                    frm = new frmMouseConfig(inputInfo.SnesMouse);
                    break;

                case InteropEmu.ControllerType.SuborMouse:
                    frm = new frmMouseConfig(inputInfo.SuborMouse);
                    break;

                case InteropEmu.ControllerType.ArkanoidController:
                    frm = new frmMouseConfig(inputInfo.ArkanoidController);
                    break;

                case InteropEmu.ControllerType.VbController:
                    frm = new frmVirtualBoyConfig(inputInfo.Controllers[index], index);
                    break;
                }
            }
            else if (selectedItem is InteropEmu.ExpansionPortDevice)
            {
                InteropEmu.ExpansionPortDevice device = (InteropEmu.ExpansionPortDevice)selectedItem;
                switch (device)
                {
                case InteropEmu.ExpansionPortDevice.FamilyTrainerMat:
                    frm = new frmPowerPadConfig(inputInfo.Controllers[index], index);
                    break;

                case InteropEmu.ExpansionPortDevice.PartyTap:
                    frm = new frmPartytapConfig(inputInfo.Controllers[index]);
                    break;

                case InteropEmu.ExpansionPortDevice.Pachinko:
                    frm = new frmPachinkoConfig(inputInfo.Controllers[index]);
                    break;

                case InteropEmu.ExpansionPortDevice.ExcitingBoxing:
                    frm = new frmExcitingBoxingConfig(inputInfo.Controllers[index]);
                    break;

                case InteropEmu.ExpansionPortDevice.JissenMahjong:
                    frm = new frmJissenMahjongConfig(inputInfo.Controllers[index]);
                    break;

                case InteropEmu.ExpansionPortDevice.FamilyBasicKeyboard:
                    frm = new frmFamilyBasicKeyboardConfig(inputInfo.Controllers[index]);
                    break;

                case InteropEmu.ExpansionPortDevice.SuborKeyboard:
                    frm = new frmSuborKeyboardConfig(inputInfo.Controllers[index]);
                    break;

                case InteropEmu.ExpansionPortDevice.Zapper:
                case InteropEmu.ExpansionPortDevice.BandaiHyperShot:
                    frm = new frmZapperConfig(inputInfo.Zapper);
                    break;

                case InteropEmu.ExpansionPortDevice.HoriTrack:
                    frm = new frmMouseConfig(inputInfo.HoriTrack);
                    break;

                case InteropEmu.ExpansionPortDevice.ArkanoidController:
                    frm = new frmMouseConfig(inputInfo.ArkanoidController);
                    break;
                }
            }

            if (frm != null)
            {
                OpenSetupWindow(frm, (Button)sender, selectedText);
            }
        }
Exemple #2
0
        public frmControllerConfig(ControllerInfo controllerInfo, int portNumber, ConsoleType consoleType, InteropEmu.ControllerType controllerType)
        {
            InitializeComponent();

            if (!this.DesignMode)
            {
                SetMainTab(this.tabMain);

                Entity = controllerInfo;

                AddBinding("TurboSpeed", trkTurboSpeed);

                ctrlStandardController0.Initialize(controllerInfo.Keys[0]);
                ctrlStandardController1.Initialize(controllerInfo.Keys[1]);
                ctrlStandardController2.Initialize(controllerInfo.Keys[2]);
                ctrlStandardController3.Initialize(controllerInfo.Keys[3]);

                ctrlStandardController0.PortNumber = portNumber;
                ctrlStandardController1.PortNumber = portNumber;
                ctrlStandardController2.PortNumber = portNumber;
                ctrlStandardController3.PortNumber = portNumber;

                if (portNumber == 1 && consoleType == ConsoleType.Famicom)
                {
                    ctrlStandardController0.ShowMicrophone = true;
                    ctrlStandardController1.ShowMicrophone = true;
                    ctrlStandardController2.ShowMicrophone = true;
                    ctrlStandardController3.ShowMicrophone = true;
                }

                if (controllerType == InteropEmu.ControllerType.SnesController)
                {
                    ctrlStandardController0.Type = StandardControllerType.SnesController;
                    ctrlStandardController1.Type = StandardControllerType.SnesController;
                    ctrlStandardController2.Type = StandardControllerType.SnesController;
                    ctrlStandardController3.Type = StandardControllerType.SnesController;
                }

                if (InteropEmu.IsVsSystem())
                {
                    ctrlStandardController0.Type = StandardControllerType.VsSystem;
                    ctrlStandardController1.Type = StandardControllerType.VsSystem;
                    ctrlStandardController2.Type = StandardControllerType.VsSystem;
                    ctrlStandardController3.Type = StandardControllerType.VsSystem;
                }

                this.btnSelectPreset.Image = BaseControl.DownArrow;

                ResourceHelper.ApplyResources(this, mnuStripPreset);
                this.Text += ": " + ResourceHelper.GetMessage("PlayerNumber", (portNumber + 1).ToString());
            }
        }