private void SaveOptionSettings() { MySettings.GameClientUpdateThrottleCache = (int)(Enum.Parse(typeof(ThreadSpeed), (string)this.optioncomboBoxThrottleCache.SelectedItem)); MySettings.GameClientUpdateCache = this.optioncheckboxpso2updatecache.Checked; MySettings.MinimizeNetworkUsage = this.optioncheckBoxMinimizeNetworkUsage.Checked; MySettings.ReshadeSupport = this.checkBoxSupportReshade.Checked; MySettings.UseExternalLauncher = this.checkBoxExternalLauncher.Checked; MySettings.ExternalLauncherUseStrictMode = this.radioButtonExLauncherStrict.Checked; MySettings.ExternalLauncherEXE = this.textBoxExLauncherEXE.Text; MySettings.ExternalLauncherArgs = this.textBoxExLauncherArgs.Text; MySettings.SteamMode = this.checkBoxoptionSteamMode.Checked; MySettings.CheckForPrepatch = this.checkboxoptionPrepatch.Checked; if (this._appearenceChanged) { MySettings.LauncherBGColor = new Nullable <Color>(optionbuttonPickBackColor.BackColor); MySettings.LauncherForeColor = new Nullable <Color>(optionbuttonPickForeColor.BackColor); MySettings.HighlightTexts = this.optioncheckboxHighlightText.Checked; MySettings.LauncherBGlocation = optiontextBoxBGlocation.Text; MySettings.LauncherSizeScale = optionSliderFormScale.Value; MySettings.LauncherBGImgLayout = (ImageLayout)Enum.Parse(typeof(ImageLayout), (string)this.optioncomboBoxBGImgMode.SelectedItem, true); } if (this._displaylanguageChanged) { if (this.optioncomboBoxLanguage.Text.IndexOf(".") > -1) { this.optioncomboBoxLanguage.Text = System.IO.Path.GetFileNameWithoutExtension(this.optioncomboBoxLanguage.Text); } string languageFile = System.IO.Path.Combine(DefaultValues.MyInfo.Directory.LanguageFolder, this.optioncomboBoxLanguage.Text + ".ini"); if (!System.IO.File.Exists(languageFile)) { if (MetroMessageBox.Show(this, LanguageManager.GetMessageText("ConfirmGenerateLanguageFile", "The display language you have just set is not found. Do you want to generate one?"), "Confirm", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { LanguageManager.GenerateLangFile(languageFile); } } MySettings.Language = this.optioncomboBoxLanguage.Text; } if (this._appearenceChanged || this._displaylanguageChanged) { string msgString = string.Empty; if (this._appearenceChanged) { msgString = string.Concat(msgString, "\r\n- ", LanguageManager.GetMessageText("OptionAppearenceApplyNextBoot", "The appearence changes in your settings will be applied at next startup.")); } if (this._displaylanguageChanged) { msgString = string.Concat(msgString, "\r\n- ", LanguageManager.GetMessageText("OptionLanguageApplyNextBoot", "The display language settings will be applied at next startup.")); } this._appearenceChanged = false; this._displaylanguageChanged = false; MetroMessageBox.Show(this, msgString.TrimStart(), "Information", MessageBoxButtons.OK, MessageBoxIcon.Information); } }