Exemple #1
0
        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 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);
        }
Exemple #3
0
        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;
            }
        }
Exemple #4
0
        public HostControl()
        {
            presets = ConnectionPreset.ReadPresetsFile();
            InitializeComponent();

            cboPresetName.DataSource = presets.ConnectionPresets;

            btnDeletePreset.Enabled = presets.ConnectionPresets.Count > 1;
        }
Exemple #5
0
        private void LoadPreset(string presetName)
        {
            ConnectionPreset toLoad = presets.ConnectionPresets.FirstOrDefault(p => p.Name == presetName);

            if (toLoad != null)
            {
                txtHostIP.Text   = toLoad.IP;
                txtHostPort.Text = toLoad.Port;
                numDelay.Value   = toLoad.Delay;
            }
        }
Exemple #6
0
        private void LoadPreset(string presetName)
        {
            ConnectionPreset toLoad = presets.ConnectionPresets.FirstOrDefault(p => p.Name == presetName);

            if (toLoad != null)
            {
                cboHostIP.Text          = toLoad.IP;
                txtHostPort.Text        = toLoad.Port;
                numDelay.Value          = toLoad.Delay;
                cboMethod.SelectedValue = toLoad.Method;
                cboRegion.SelectedValue = toLoad.Region;
            }
        }
        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;
            }
        }
Exemple #8
0
        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;
        }
Exemple #9
0
        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();
                        };
                    }
                }
            }
        }