summaryrefslogtreecommitdiff
path: root/Config.cs
blob: 2e43817663230de9e1c89282a7b56fb81a2f7148 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
using SharpPluginLoader.Core.Configuration;
using SharpPluginLoader.Core;

namespace WorldTuningTool
{
    internal class Config : IConfig
    {
        public String Name => "WorldTuningTool";
        public String Version => "0.9";

        public static string StageToString(Stage stage)
        {
            switch (stage)
            {
                case Stage.InfinityOfNothingHandler:
                    return "Global";
                case Stage.AncientForest:
                    return "Ancient Forest";
                case Stage.WildspireWaste:
                    return "Wildspire Waste";
                case Stage.CoralHighlands:
                    return "Coral Highlands";
                case Stage.RottenVale:
                    return "Rotten Vale";
                case Stage.ElderRecess:
                    return "Elder Recess";
                case Stage.GreatRavine:
                    return "Great Ravine";
                case Stage.GreatRavineStory:
                    return "Great Ravine Story";
                case Stage.HoarfrostReach:
                    return "Hoarfrost Reach";
                case Stage.GuidingLands:
                    return "Guiding Lands";
                case Stage.InfinityOfNothing:
                    return "Infinity Of Nothing";
                case Stage.SpecialArena:
                    return "Special Arena";
                case Stage.ChallengeArena:
                    return "Challenge Arena";
                case Stage.Astera:
                    return "Astera";
                case Stage.AsteraHub:
                    return "Astera Hub";
                case Stage.ResearchBase:
                    return "Research Base";
                case Stage.Seliana:
                    return "Seliana";
                case Stage.SelianaHub:
                    return "Seliana Hub";
                case Stage.Everstream:
                    return "Everstream";
                case Stage.ConfluenceOfFates:
                    return "Confluence Of Fates";
                case Stage.CharacterCreation:
                    return "Character Creation";
                case Stage.DebugMap:
                    return "Debug Map";
                case Stage.ElDorado:
                    return "El Dorado";
                case Stage.SelianaSupplyCache:
                    return "Seliana Supply Cache";
                case Stage.OriginIsleNergigante:
                    return "Origin Isle Nergigante";
                case Stage.OriginIsleSharaIshvalda:
                    return "Origin Isle Shara Ishvalda";
                case Stage.SecludedValley:
                    return "Secluded Valley";
                case Stage.AlatreonStage:
                    return "Alatreon Stage";
                case Stage.CastleSchrade:
                    return "Castle Schrade";
                case Stage.LivingQuarters:
                    return "Living Quarters";
                case Stage.PrivateQuarters:
                    return "Private Quarters";
                case Stage.PrivateSuite:
                    return "Private Suite";
                case Stage.TrainingCamp:
                    return "Training Camp";
                case Stage.ChamberOfFive:
                    return "Chamber Of Five";
                case Stage.SelianaRoom:
                    return "Seliana Room";
            }
            return "Global (null)";
        }

        public struct PatchConfig
        {
            public bool FullResolutionVolumeBlur { get; set; } = false;
            public bool HigherThanHighestVolumeRendering { get; set; } = false;
            public bool DisableLODLimits { get; set; } = false;
            public bool LargerFoliageSwayRange { get; set; } = false;
            public bool DisableReducedRateAnimations { get; set; } = false;
            public PatchConfig() {}
        }

        public PatchConfig Patches { get; set; } = new PatchConfig();

        public Dictionary<Stage, List<Plugin.Override>> Overrides { get; set; } = new Dictionary<Stage, List<Plugin.Override>>();
        public Dictionary<string, List<Plugin.Override>> Presets { get; set; } = new Dictionary<string, List<Plugin.Override>>();
    }
}