diff --git a/SM64RomManager.LangResCollector/Program.cs b/SM64RomManager.LangResCollector/Program.cs index 327fc57..c910e9f 100644 --- a/SM64RomManager.LangResCollector/Program.cs +++ b/SM64RomManager.LangResCollector/Program.cs @@ -22,6 +22,8 @@ namespace SM64RomManager.LangRes_Collector var myAppDir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); var myConfigFilePath = Path.Combine(myAppDir, "FilterConfig.json"); var filterConfig = JObject.Parse(File.ReadAllText(myConfigFilePath)).ToObject(); + var allLoadedAssemblies = AppDomain.CurrentDomain.GetAssemblies().Select(x => x.GetName()).ToArray(); + var typeNameString = typeof(string).Name; // Get root path ofd.Title = "Root (repository) directory"; @@ -68,7 +70,10 @@ namespace SM64RomManager.LangRes_Collector // Copy and prepair files foreach (var resFileInput in resFiles) { - var resReader = new ResXResourceReader(resFileInput); + var resReader = new ResXResourceReader(resFileInput) + { + UseResXDataNodes = true + }; var propsToCopy = new Dictionary(); // Collect input properties @@ -85,10 +90,16 @@ namespace SM64RomManager.LangRes_Collector } // Hold property to write later, if it's a string - if (useProp && kvp.Value is string val) + try + { + if (useProp && kvp.Value is ResXDataNode node && node.GetValue(allLoadedAssemblies) is string val) + { + if (!string.IsNullOrEmpty(val)) + propsToCopy.Add(propName, val); + } + } + catch(FileNotFoundException) { - if (!string.IsNullOrEmpty(val)) - propsToCopy.Add(propName, (string)kvp.Value); } } diff --git a/SM64RomManager.ProgressUpdater/SM64RomManager.ProgressUpdater.csproj b/SM64RomManager.ProgressUpdater/SM64RomManager.ProgressUpdater.csproj index d69c858..37e5256 100644 --- a/SM64RomManager.ProgressUpdater/SM64RomManager.ProgressUpdater.csproj +++ b/SM64RomManager.ProgressUpdater/SM64RomManager.ProgressUpdater.csproj @@ -45,7 +45,7 @@ - + 2023.2.718 @@ -149,9 +149,9 @@ - + - + @@ -159,11 +159,11 @@ - + - + diff --git a/SM64RomManager.UpdateInstallerAddOn/SM64RomManager.UpdateInstallerAddOn.csproj b/SM64RomManager.UpdateInstallerAddOn/SM64RomManager.UpdateInstallerAddOn.csproj index b637e8c..53fa496 100644 --- a/SM64RomManager.UpdateInstallerAddOn/SM64RomManager.UpdateInstallerAddOn.csproj +++ b/SM64RomManager.UpdateInstallerAddOn/SM64RomManager.UpdateInstallerAddOn.csproj @@ -65,6 +65,6 @@ - + \ No newline at end of file