Пример #1
0
        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;
                    }
                }
            }
        }
Пример #2
0
        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;
                    }
                }
            }
        }