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); } }
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()); } }