public static void Load() { Debug.WriteLine("Loading config"); var fileNameOld = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), ConfigFile); var configFullDir = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), ConfigDir); var fileName = Path.Combine(configFullDir, ConfigFile); if (File.Exists(fileNameOld)) // Moving old config to new directory { Directory.CreateDirectory(configFullDir); File.Copy(fileNameOld, fileName, true); File.Delete(fileNameOld); } if (File.Exists(fileName)) { var configLines = File.ReadAllLines(fileName); string section = ""; foreach (var line in configLines) { var l = line.Trim(); if (l.StartsWith("[") && l.EndsWith("]")) { section = l.Substring(1, l.Length - 2).ToLower(); } int pos = l.IndexOf('='); if (pos <= 0) { continue; } var param = l.Substring(0, pos).Trim(); var value = l.Substring(pos + 1).Trim(); switch (section) { case "config": param = param.ToLower(); switch (param) { case "selectedgames": SelectedGames = value; break; case "hiddengames": HiddenGames = value; break; case "customflashed": CustomFlashed = !value.ToLower().Equals("false"); FirstRun = false; break; case "usefont": UseFont = !value.ToLower().Equals("false"); break; case "firstrun": FirstRun = !value.ToLower().Equals("false"); break; case "antiarmetlevel": AntiArmetLevel = byte.Parse(value); break; case "resethack": case "cloverconhack": ResetHack = !value.ToLower().Equals("false"); break; case "autofirehack": AutofireHack = !value.ToLower().Equals("false"); break; case "autofirexyhack": AutofireXYHack = !value.ToLower().Equals("false"); break; case "resetcombination": ResetCombination = (SelectButtonsForm.NesButtons) byte.Parse(value); break; case "consoletype": ConsoleType = byte.Parse(value); break; case "extracommandlinearguments": ExtraCommandLineArguments = value; break; case "fcstart": FcStart = !value.ToLower().Equals("false"); break; case "maxgamesperfolder": MaxGamesPerFolder = byte.Parse(value); break; case "foldersmode": FoldersMode = (NesMenuCollection.SplitStyle) byte.Parse(value); break; } break; case "presets": Presets[param] = value; break; } } } }
public static void Load() { Debug.WriteLine("Loading config"); var fileName = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), ConfigFile); if (File.Exists(fileName)) { var configLines = File.ReadAllLines(fileName); string section = ""; foreach (var line in configLines) { var l = line.Trim(); if (l.StartsWith("[") && l.EndsWith("]")) { section = l.Substring(1, l.Length - 2).ToLower(); } int pos = l.IndexOf('='); if (pos <= 0) { continue; } var param = l.Substring(0, pos).Trim(); var value = l.Substring(pos + 1).Trim(); switch (section) { case "config": param = param.ToLower(); switch (param) { case "selectedgames": SelectedGames = value; break; case "hiddengames": HiddenGames = value; break; case "customflashed": CustomFlashed = !value.ToLower().Equals("false"); FirstRun = false; break; case "usefont": UseFont = !value.ToLower().Equals("false"); break; case "firstrun": FirstRun = !value.ToLower().Equals("false"); break; case "antiarmetlevel": AntiArmetLevel = byte.Parse(value); break; case "resethack": case "cloverconhack": ResetHack = !value.ToLower().Equals("false"); break; case "autofirehack": AutofireHack = !value.ToLower().Equals("false"); break; case "removethumbnails": RemoveThumbnails = !value.ToLower().Equals("false"); break; case "eightbitpngcompression": EightBitPngCompression = !value.ToLower().Equals("false"); break; case "resetcombination": ResetCombination = (SelectButtonsForm.NesButtons) byte.Parse(value); break; case "consoletype": ConsoleType = byte.Parse(value); break; case "extracommandlinearguments": ExtraCommandLineArguments = value; break; case "fcstart": FcStart = !value.ToLower().Equals("false"); break; case "disablemusic": DisableMusic = !value.ToLower().Equals("false"); break; case "maxgamesperfolder": MaxGamesPerFolder = byte.Parse(value); break; } break; case "presets": Presets[param] = value; break; } } } }