public JoinControl() { presets = ConnectionPreset.ReadPresetsFile(); InitializeComponent(); cboPresetName.DataSource = presets.ConnectionPresets; btnDeletePreset.Enabled = presets.ConnectionPresets.Count > 1; Dictionary <string, string> RegionOptions = new Dictionary <string, string>(); RegionOptions["Japan"] = "japan"; RegionOptions["USA"] = "usa"; cboRegion.DataSource = new BindingSource(RegionOptions, null); cboRegion.DisplayMember = "Key"; cboRegion.ValueMember = "Value"; var us_bios_path = Path.Combine(Launcher.rootDir, "nulldc-1-0-4-en-win", "data", "naomi_boot.bin"); if (!File.Exists(us_bios_path) && !File.Exists($"{us_bios_path}.inactive")) { cboRegion.Enabled = false; } }
public static ConnectionPresetList ReadPresetsFile() { string path = Launcher.GetApplicationConfigurationDirectoryName() + "//ConnectionPresetList.xml"; ConnectionPresetList readPresetList; try { XmlSerializer serializer = new XmlSerializer(typeof(ConnectionPresetList)); FileStream fs = new FileStream(path, FileMode.Open); readPresetList = (ConnectionPresetList)serializer.Deserialize(fs); fs.Close(); } catch (Exception) { ConnectionPreset defaultPreset = new ConnectionPreset(); defaultPreset.Name = "Default"; defaultPreset.IP = "0.0.0.0"; defaultPreset.Port = "27886"; defaultPreset.Delay = 1; readPresetList = new ConnectionPresetList(); readPresetList.ConnectionPresets.Add(defaultPreset); } return(readPresetList); }
public NetplayLaunchForm() { launcher = new Launcher(); romDict = ScanRoms(); presets = ConnectionPreset.ReadPresetsFile(); string launcherCfgText = File.ReadAllText(Launcher.rootDir + "nullDCNetplayLauncher\\launcher.cfg"); if (launcherCfgText.Contains("launch_antimicro=1")) { if (Process.GetProcessesByName("antimicro").Length == 0) { Process.Start(Launcher.rootDir + "antimicro\\antimicro.exe", " --hidden --profile " + Launcher.rootDir + "\\antimicro\\profiles\\nulldc.gamecontroller.amgp"); } } InitializeComponent(); cboGameSelect.DataSource = new BindingSource(romDict, null); cboGameSelect.DisplayMember = "Key"; cboGameSelect.ValueMember = "Value"; if (romDict.Count == 1 && romDict.First().Key == "") { btnOffline.Enabled = false; btnHost.Enabled = false; btnJoin.Enabled = false; cboGameSelect.Enabled = false; } cboPresetName.DataSource = presets.ConnectionPresets; btnDeletePreset.Enabled = presets.ConnectionPresets.Count > 1; }
public HostControl() { presets = ConnectionPreset.ReadPresetsFile(); InitializeComponent(); cboPresetName.DataSource = presets.ConnectionPresets; btnDeletePreset.Enabled = presets.ConnectionPresets.Count > 1; }
public NetplayLaunchForm() { launcher = new Launcher(); romDict = ScanRoms(); presets = ConnectionPreset.ReadPresetsFile(); string launcherCfgText = ""; try { launcherCfgText = File.ReadAllText(Launcher.rootDir + "nullDCNetplayLauncher\\launcher.cfg"); } catch (System.IO.DirectoryNotFoundException e) { MessageBox.Show("launcher.cfg not found. Please enter a valid root directory."); System.Environment.Exit(1); } if (launcherCfgText.Contains("launch_antimicro=1")) { if (Process.GetProcessesByName("antimicro").Length == 0) { Process.Start(Launcher.rootDir + "antimicro\\antimicro.exe", " --hidden --profile " + Launcher.rootDir + "\\antimicro\\profiles\\nulldc.gamecontroller.amgp"); } } InitializeComponent(); cboGameSelect.DataSource = new BindingSource(romDict, null); cboGameSelect.DisplayMember = "Key"; cboGameSelect.ValueMember = "Value"; if (romDict.Count == 1 && romDict.First().Key == "") { btnOffline.Enabled = false; btnHost.Enabled = false; btnJoin.Enabled = false; cboGameSelect.Enabled = false; } else { Launcher.SelectedGame = romDict.First().Value; } }
public void SavePreset(string presetName) { var toEdit = presets.ConnectionPresets.FirstOrDefault(p => p.Name == presetName); if (toEdit != null) { toEdit.IP = txtOpponentIP.Text; toEdit.Port = txtHostPort.Text; toEdit.Delay = numDelay.Value; toEdit.Method = Convert.ToInt32(cboMethod.SelectedValue); toEdit.Region = cboRegion.SelectedValue.ToString(); } else { var toAdd = new ConnectionPreset(); toAdd.Name = cboPresetName.Text; toAdd.IP = txtOpponentIP.Text; toAdd.Port = txtHostPort.Text; toAdd.Delay = numDelay.Value; toAdd.Method = Convert.ToInt32(cboMethod.SelectedValue); toAdd.Region = cboRegion.SelectedValue.ToString(); presets.ConnectionPresets.Add(toAdd); } var path = Launcher.GetApplicationConfigurationDirectoryName() + "//ConnectionPresetList.xml"; System.Xml.Serialization.XmlSerializer serializer = new System.Xml.Serialization.XmlSerializer(typeof(ConnectionPresetList)); StreamWriter writer = new StreamWriter(path); serializer.Serialize(writer.BaseStream, presets); writer.Close(); presets = ConnectionPreset.ReadPresetsFile(); cboPresetName.DataSource = presets.ConnectionPresets; cboPresetName.SelectedIndex = cboPresetName.FindStringExact(presetName); if (presets.ConnectionPresets.Count > 1) { btnDeletePreset.Enabled = true; } cboPresetName.BackColor = Color.LemonChiffon; }
public void DeletePreset(string presetName) { if (presets.ConnectionPresets.Count > 1) { var toDelete = presets.ConnectionPresets.FirstOrDefault(p => p.Name == presetName); presets.ConnectionPresets.Remove(toDelete); var path = Launcher.GetApplicationConfigurationDirectoryName() + "//ConnectionPresetList.xml"; System.Xml.Serialization.XmlSerializer serializer = new System.Xml.Serialization.XmlSerializer(typeof(ConnectionPresetList)); StreamWriter writer = new StreamWriter(path); serializer.Serialize(writer.BaseStream, presets); writer.Close(); presets = ConnectionPreset.ReadPresetsFile(); cboPresetName.DataSource = presets.ConnectionPresets; cboPresetName.SelectedIndex = 0; if (presets.ConnectionPresets.Count == 1) { btnDeletePreset.Enabled = false; } } }
public static ConnectionPresetList ReadPresetsFile() { string path = Launcher.GetDistributionRootDirectoryName() + "//ConnectionPresetList.xml"; ConnectionPresetList readPresetList; try { XmlSerializer serializer = new XmlSerializer(typeof(ConnectionPresetList)); FileStream fs = new FileStream(path, FileMode.Open); readPresetList = (ConnectionPresetList)serializer.Deserialize(fs); fs.Close(); } catch (Exception) { ConnectionPreset defaultPreset = new ConnectionPreset { Name = "Default", IP = "127.0.0.1", Port = "27886", Delay = 1, Method = 0, Region = "japan" }; readPresetList = new ConnectionPresetList(); readPresetList.ConnectionPresets.Add(defaultPreset); // generates a new file if it does not exist System.Xml.Serialization.XmlSerializer serializer = new System.Xml.Serialization.XmlSerializer(typeof(ConnectionPresetList)); StreamWriter writer = new StreamWriter(path); serializer.Serialize(writer.BaseStream, readPresetList); writer.Close(); } return(readPresetList); }
public NetplayLaunchForm(bool tray = false, bool controllerSetup = false) { controller = new ControllerEngine(); launcher = new Launcher(); presets = ConnectionPreset.ReadPresetsFile(); StartTray = tray; string launcherCfgText = ""; try { var launcherCfgUri = new System.Uri(Path.Combine(Launcher.rootDir, @"launcher.cfg")); launcherCfgText = File.ReadAllText(launcherCfgUri.LocalPath); } catch (System.IO.DirectoryNotFoundException) { MessageBox.Show("launcher.cfg not found. Please enter a valid root directory."); System.Environment.Exit(1); } if (launcherCfgText.Contains("enable_mapper=1")) { StartMapper(); } if (controllerSetup) { LaunchControllerSetup(true); } else { if (!StartTray) { try { launcher.UpdateLauncher(true); } catch { } if (!Launcher.FilesRestored) { Launcher.RestoreFiles(); } } InitializeComponent(StartTray); //InitializeComponent(); if (StartTray) { this.WindowState = FormWindowState.Minimized; } ReloadRomList(); Launcher.LoadRegionSettings(); if (StartTray) { Process[] processes = Process.GetProcessesByName("nullDC_Win32_Release-NoTrace"); if (processes.Length > 0) { Process nulldcProcess = processes[0]; nulldcProcess.EnableRaisingEvents = true; nulldcProcess.Exited += (sender, e) => { Application.Exit(); }; } } } }