From f38aacf7bfe36c9acb2e450946c43e5e26793d22 Mon Sep 17 00:00:00 2001 From: Dominik Date: Fri, 9 Sep 2022 15:13:28 +0200 Subject: [PATCH 1/2] Fix JSON file lookup for Proton * Add separate lookup for JSON and JSONC files * Add warning when an empty folder is found --- NewHorizons/Main.cs | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/NewHorizons/Main.cs b/NewHorizons/Main.cs index 4c0f4403..a2178860 100644 --- a/NewHorizons/Main.cs +++ b/NewHorizons/Main.cs @@ -490,10 +490,22 @@ namespace NewHorizons } var folder = mod.ModHelper.Manifest.ModFolderPath; + var systemsFolder = Path.Combine(folder, "systems"); + var planetsFolder = Path.Combine(folder, "planets"); + // Load systems first so that when we load bodies later we can check for missing ones - if (Directory.Exists(folder + @"systems\")) + if (Directory.Exists(systemsFolder)) { - foreach (var file in Directory.GetFiles(folder + @"systems\", "*.json?", SearchOption.AllDirectories)) + var systemFiles = Directory.GetFiles(systemsFolder, "*.json", SearchOption.AllDirectories) + .Concat(Directory.GetFiles(systemsFolder, "*.jsonc", SearchOption.AllDirectories)) + .ToArray(); + + if(systemFiles.Length == 0) + { + Logger.LogWarning($"Found no JSON files in systems folder: {systemsFolder}"); + } + + foreach (var file in systemFiles) { var name = Path.GetFileNameWithoutExtension(file); @@ -526,9 +538,18 @@ namespace NewHorizons } } } - if (Directory.Exists(folder + "planets")) + if (Directory.Exists(planetsFolder)) { - foreach (var file in Directory.GetFiles(folder + @"planets\", "*.json?", SearchOption.AllDirectories)) + var planetFiles = Directory.GetFiles(planetsFolder, "*.json", SearchOption.AllDirectories) + .Concat(Directory.GetFiles(planetsFolder, "*.jsonc", SearchOption.AllDirectories)) + .ToArray(); + + if(planetFiles.Length == 0) + { + Logger.LogWarning($"Found no JSON files in planets folder: {planetsFolder}"); + } + + foreach (var file in planetFiles) { var relativeDirectory = file.Replace(folder, ""); var body = LoadConfig(mod, relativeDirectory); From 6bd84bef8353d8408e5f9f0bea62328aa47355f8 Mon Sep 17 00:00:00 2001 From: Dominik Date: Fri, 9 Sep 2022 15:39:07 +0200 Subject: [PATCH 2/2] Change log level to verbose --- NewHorizons/Main.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/NewHorizons/Main.cs b/NewHorizons/Main.cs index a2178860..b86c8d65 100644 --- a/NewHorizons/Main.cs +++ b/NewHorizons/Main.cs @@ -502,7 +502,7 @@ namespace NewHorizons if(systemFiles.Length == 0) { - Logger.LogWarning($"Found no JSON files in systems folder: {systemsFolder}"); + Logger.LogVerbose($"Found no JSON files in systems folder: {systemsFolder}"); } foreach (var file in systemFiles) @@ -546,7 +546,7 @@ namespace NewHorizons if(planetFiles.Length == 0) { - Logger.LogWarning($"Found no JSON files in planets folder: {planetsFolder}"); + Logger.LogVerbose($"Found no JSON files in planets folder: {planetsFolder}"); } foreach (var file in planetFiles)