private void WarOfAssassinsForm_Load(object sender, EventArgs e)
        {
            var campaignManagerService = new CampaignManagerService();

            OKLabel.Text = Missions.TextUib.GetValue("OK", "Ok");
            BackToCampaignSelectionLabel.Text = Missions.TextUib.GetValue("Back", "Back");
            StartGameLabel.Text = Missions.TextUib.GetValue("StartGame", "Start");
            BackToMissionSelectionLabel.Text = Missions.TextUib.GetValue("Back", "Back");
            DifficultyLevelLabel.Text        = Missions.TextUib.GetValue("EnterDifficulty", "Enter Difficulty Level");
            DifficultyLevelComboBox.Items.Add(Missions.TextUib.GetValue("Easy", "Easy"));
            DifficultyLevelComboBox.Items.Add(Missions.TextUib.GetValue("Normal", "Normal"));
            DifficultyLevelComboBox.Items.Add(Missions.TextUib.GetValue("Hard", "Hard"));
            DifficultyLevelComboBox.SelectedIndex = 1;
        }
        public static void StartMission(int difficultyLevel, Mission mission)
        {
            if (!string.IsNullOrWhiteSpace(CurrentCampaignFolder) && !string.IsNullOrWhiteSpace(CurrentModsFolder))
            {
                CampaignManagerService.InstallMods(CurrentCampaignFolder, CurrentModsFolder);
            }

            if (!string.IsNullOrEmpty(CurrentColorsFile))
            {
                CampaignManagerService.InstallColors(CurrentColorsFile, CurrentCampaignFolder);
            }

            string spawnIniPath = Utils.PathCombine(Program.Path, "spawn.ini");

            if (File.Exists(spawnIniPath))
            {
                File.Delete(spawnIniPath);
            }
            var spawnIni = new IniFile(spawnIniPath);

            spawnIni.SetStringValue("Settings", "Scenario", mission.FileName);
            spawnIni.SetIntValue("Settings", "MySideID", mission.SideId);
            spawnIni.SetIntValue("Settings", "MissionNumber", mission.Number);
            spawnIni.SetIntValue("Settings", "DifficultyLevel", difficultyLevel);
            spawnIni.SetIntValue("Settings", "Seed", new Random().Next(int.MaxValue));
            if (mission.TextUib.Length > 0)
            {
                spawnIni.SetStringValue("Settings", "TextUib", mission.TextUib);
            }
            spawnIni.WriteIni();

            var psi = new ProcessStartInfo(Utils.PathCombine(Program.Path, "dune2000.exe"));

            psi.WorkingDirectory = Program.Path;
            psi.Arguments        = "-SPAWN";
            if (Environment.OSVersion.Version >= new Version(6, 2, 9200, 0))
            {
                psi.EnvironmentVariables["__COMPAT_LAYER"] += "DWM8And16BitMitigation 16BITCOLOR ";
                psi.UseShellExecute = false;
            }
            Process.Start(psi)?.WaitForExit();
        }
 public static void StartMission(int difficultyLevel)
 {
     StartMission(difficultyLevel, CurrentMission);
     CampaignManagerService.RestoreFiles();
     CampaignManagerService.RestoreColors();
 }