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> Overrides { get; set; } = new Dictionary>(); public Dictionary> Presets { get; set; } = new Dictionary>(); } }