From 1b1f0bf4942278d8aa04d4b2135511559bc5e31a Mon Sep 17 00:00:00 2001 From: pointfeev Date: Wed, 31 May 2023 18:33:46 -0400 Subject: [PATCH] v4.9.3 - Fixed selection duplicates caused by using differing-case installation directories as unique factors - File and directory paths are now exact and correctly cased --- CreamInstaller/CreamInstaller.csproj | 2 +- .../Forms/SelectDialogForm.Designer.cs | 1 - CreamInstaller/Platforms/Epic/EpicLibrary.cs | 5 ++--- .../Platforms/Epic/Heroic/HeroicLibrary.cs | 2 +- .../Platforms/Paradox/ParadoxLauncher.cs | 2 +- .../Platforms/Steam/SteamLibrary.cs | 14 +++++--------- .../Platforms/Ubisoft/UbisoftLibrary.cs | 4 ++-- CreamInstaller/Resources/Resources.cs | 8 ++++---- CreamInstaller/Selection.cs | 5 ++--- CreamInstaller/Utility/Diagnostics.cs | 14 ++++++++++++-- CreamInstaller/Utility/SafeIO.cs | 2 +- preview.png | Bin 24745 -> 23917 bytes 12 files changed, 31 insertions(+), 28 deletions(-) diff --git a/CreamInstaller/CreamInstaller.csproj b/CreamInstaller/CreamInstaller.csproj index 0f30b9c..af426ef 100644 --- a/CreamInstaller/CreamInstaller.csproj +++ b/CreamInstaller/CreamInstaller.csproj @@ -4,7 +4,7 @@ net7.0-windows True Resources\ini.ico - 4.9.2 + 4.9.3 2021, pointfeev (https://github.com/pointfeev) CreamInstaller Automatic DLC Unlocker Installer & Configuration Generator diff --git a/CreamInstaller/Forms/SelectDialogForm.Designer.cs b/CreamInstaller/Forms/SelectDialogForm.Designer.cs index 48c3ced..00d29c2 100644 --- a/CreamInstaller/Forms/SelectDialogForm.Designer.cs +++ b/CreamInstaller/Forms/SelectDialogForm.Designer.cs @@ -1,6 +1,5 @@ using System.ComponentModel; using System.Windows.Forms; - using CreamInstaller.Components; namespace CreamInstaller.Forms diff --git a/CreamInstaller/Platforms/Epic/EpicLibrary.cs b/CreamInstaller/Platforms/Epic/EpicLibrary.cs index 0a009ac..cd7f21a 100644 --- a/CreamInstaller/Platforms/Epic/EpicLibrary.cs +++ b/CreamInstaller/Platforms/Epic/EpicLibrary.cs @@ -21,7 +21,7 @@ internal static class EpicLibrary epicManifestsPath ??= Registry.GetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Epic Games\EpicGamesLauncher", "AppDataPath", null) as string; if (epicManifestsPath is not null && epicManifestsPath.EndsWith(@"\Data", StringComparison.Ordinal)) epicManifestsPath += @"\Manifests"; - return epicManifestsPath.BeautifyPath(); + return epicManifestsPath.ResolvePath(); } } @@ -39,8 +39,7 @@ internal static class EpicLibrary try { Manifest manifest = JsonConvert.DeserializeObject(json); - if (manifest is not null && !games.Any(g - => g.CatalogNamespace == manifest.CatalogNamespace && g.InstallLocation == manifest.InstallLocation)) + if (manifest is not null && games.All(g => g.CatalogNamespace != manifest.CatalogNamespace)) games.Add(manifest); } catch diff --git a/CreamInstaller/Platforms/Epic/Heroic/HeroicLibrary.cs b/CreamInstaller/Platforms/Epic/Heroic/HeroicLibrary.cs index 634532e..f7ffeba 100644 --- a/CreamInstaller/Platforms/Epic/Heroic/HeroicLibrary.cs +++ b/CreamInstaller/Platforms/Epic/Heroic/HeroicLibrary.cs @@ -34,7 +34,7 @@ internal static class HeroicLibrary { DisplayName = appData.Title, CatalogNamespace = appData.Namespace, InstallLocation = appData.Install.InstallPath }; - if (!games.Any(g => g.CatalogNamespace == manifest.CatalogNamespace && g.InstallLocation == manifest.InstallLocation)) + if (games.All(g => g.CatalogNamespace != manifest.CatalogNamespace)) games.Add(manifest); } catch diff --git a/CreamInstaller/Platforms/Paradox/ParadoxLauncher.cs b/CreamInstaller/Platforms/Paradox/ParadoxLauncher.cs index 2b72b63..f06af41 100644 --- a/CreamInstaller/Platforms/Paradox/ParadoxLauncher.cs +++ b/CreamInstaller/Platforms/Paradox/ParadoxLauncher.cs @@ -25,7 +25,7 @@ internal static class ParadoxLauncher get { installPath ??= Registry.GetValue(@"HKEY_CURRENT_USER\Software\Paradox Interactive\Paradox Launcher v2", "LauncherInstallation", null) as string; - return installPath.BeautifyPath(); + return installPath.ResolvePath(); } } diff --git a/CreamInstaller/Platforms/Steam/SteamLibrary.cs b/CreamInstaller/Platforms/Steam/SteamLibrary.cs index 9169da5..4084f9c 100644 --- a/CreamInstaller/Platforms/Steam/SteamLibrary.cs +++ b/CreamInstaller/Platforms/Steam/SteamLibrary.cs @@ -17,7 +17,7 @@ internal static class SteamLibrary { installPath ??= Registry.GetValue(@"HKEY_CURRENT_USER\Software\Valve\Steam", "SteamPath", null) as string; installPath ??= Registry.GetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Valve\Steam", "InstallPath", null) as string; - return installPath.BeautifyPath(); + return installPath.ResolvePath(); } } @@ -31,7 +31,7 @@ internal static class SteamLibrary if (Program.Canceled) return games; foreach ((string appId, string name, string branch, int buildId, string gameDirectory) game in (await GetGamesFromLibraryDirectory( - libraryDirectory)).Where(game => !games.Any(_game => _game.appId == game.appId && _game.gameDirectory == game.gameDirectory))) + libraryDirectory)).Where(game => games.All(_game => _game.appId != game.appId))) games.Add(game); } return games; @@ -57,12 +57,8 @@ internal static class SteamLibrary if (string.IsNullOrWhiteSpace(appId) || string.IsNullOrWhiteSpace(installdir) || string.IsNullOrWhiteSpace(name) || string.IsNullOrWhiteSpace(buildId)) continue; - string gameDirectory = (libraryDirectory + @"\common\" + installdir).BeautifyPath(); - if (games.Any(g => g.appId == appId && g.gameDirectory == gameDirectory)) - continue; - if (!int.TryParse(appId, out int _)) - continue; - if (!int.TryParse(buildId, out int buildIdInt)) + string gameDirectory = (libraryDirectory + @"\common\" + installdir).ResolvePath(); + if (gameDirectory is null || !int.TryParse(appId, out int _) || !int.TryParse(buildId, out int buildIdInt) || games.Any(g => g.appId == appId)) continue; VToken userConfig = result.Value.GetChild("UserConfig"); string branch = userConfig?.GetChild("BetaKey")?.ToString(); @@ -108,4 +104,4 @@ internal static class SteamLibrary } return gameDirectories; }); -} +} \ No newline at end of file diff --git a/CreamInstaller/Platforms/Ubisoft/UbisoftLibrary.cs b/CreamInstaller/Platforms/Ubisoft/UbisoftLibrary.cs index b63b4b2..78783e3 100644 --- a/CreamInstaller/Platforms/Ubisoft/UbisoftLibrary.cs +++ b/CreamInstaller/Platforms/Ubisoft/UbisoftLibrary.cs @@ -30,8 +30,8 @@ internal static class UbisoftLibrary foreach (string gameId in installsKey.GetSubKeyNames()) { RegistryKey installKey = installsKey.OpenSubKey(gameId); - string installDir = installKey?.GetValue("InstallDir")?.ToString()?.BeautifyPath(); - if (installDir is not null && !games.Any(g => g.gameId == gameId && g.gameDirectory == installDir)) + string installDir = installKey?.GetValue("InstallDir")?.ToString()?.ResolvePath(); + if (installDir is not null && games.All(g => g.gameId != gameId)) games.Add((gameId, new DirectoryInfo(installDir).Name, installDir)); } return games; diff --git a/CreamInstaller/Resources/Resources.cs b/CreamInstaller/Resources/Resources.cs index 0ca71df..123e985 100644 --- a/CreamInstaller/Resources/Resources.cs +++ b/CreamInstaller/Resources/Resources.cs @@ -522,8 +522,8 @@ internal static class Resources private static bool IsCommonIncorrectExecutable(this string rootDirectory, string path) { - string subPath = path[rootDirectory.Length..].ToUpperInvariant().BeautifyPath(); - return subPath.Contains("SETUP") || subPath.Contains("REDIST") || subPath.Contains("SUPPORT") + string subPath = path[rootDirectory.Length..].ResolvePath(); + return subPath is null || subPath.Contains("SETUP") || subPath.Contains("REDIST") || subPath.Contains("SUPPORT") || subPath.Contains("CRASH") && (subPath.Contains("PAD") || subPath.Contains("REPORT")) || subPath.Contains("HELPER") || subPath.Contains("CEFPROCESS") || subPath.Contains("ZFGAMEBROWSER") || subPath.Contains("MONO") || subPath.Contains("PLUGINS") || subPath.Contains("MODDING") || subPath.Contains("MOD") && subPath.Contains("MANAGER") || subPath.Contains("BATTLEYE") @@ -540,8 +540,8 @@ internal static class Resources { if (Program.Canceled) return null; - string subDirectory = directory.BeautifyPath(); - if (dllDirectories.Contains(subDirectory)) + string subDirectory = directory.ResolvePath(); + if (subDirectory is null || dllDirectories.Contains(subDirectory)) continue; bool koaloaderInstalled = Koaloader.AutoLoadDLLs.Select(pair => (pair.unlocker, path: directory + @"\" + pair.dll)) .Any(pair => pair.path.FileExists() && pair.path.IsResourceFile()); diff --git a/CreamInstaller/Selection.cs b/CreamInstaller/Selection.cs index 0b8a9aa..c921db0 100644 --- a/CreamInstaller/Selection.cs +++ b/CreamInstaller/Selection.cs @@ -103,8 +103,7 @@ internal sealed class Selection : IEquatable } } - public bool Equals(Selection other) - => other is not null && (ReferenceEquals(this, other) || Id == other.Id && Platform == other.Platform && RootDirectory == other.RootDirectory); + public bool Equals(Selection other) => other is not null && (ReferenceEquals(this, other) || Id == other.Id && Platform == other.Platform); internal static Selection GetOrCreate(Platform platform, string id, string name, string rootDirectory, HashSet dllDirectories, List<(string directory, BinaryType binaryType)> executableDirectories) @@ -150,5 +149,5 @@ internal sealed class Selection : IEquatable public override bool Equals(object obj) => ReferenceEquals(this, obj) || obj is Selection other && Equals(other); - public override int GetHashCode() => HashCode.Combine(Id, (int)Platform, RootDirectory); + public override int GetHashCode() => HashCode.Combine(Id, (int)Platform); } \ No newline at end of file diff --git a/CreamInstaller/Utility/Diagnostics.cs b/CreamInstaller/Utility/Diagnostics.cs index 35a9a89..38203e2 100644 --- a/CreamInstaller/Utility/Diagnostics.cs +++ b/CreamInstaller/Utility/Diagnostics.cs @@ -42,5 +42,15 @@ internal static class Diagnostics internal static void OpenUrlInInternetBrowser(string url) => Process.Start(new ProcessStartInfo { FileName = url, UseShellExecute = true }); - internal static string BeautifyPath(this string path) => path is null ? null : Path.TrimEndingDirectorySeparator(Path.GetFullPath(path)).ToLowerInvariant(); -} + internal static string ResolvePath(this string path) + { + if (path is null || !path.FileExists() && !path.DirectoryExists()) + return null; + DirectoryInfo info = new(path); + if (info.Parent is null) + return info.Name.ToUpperInvariant(); + string parent = ResolvePath(info.Parent.FullName); + string name = info.Parent.GetFileSystemInfos(info.Name)[0].Name; + return parent is null ? name : Path.Combine(parent, name); + } +} \ No newline at end of file diff --git a/CreamInstaller/Utility/SafeIO.cs b/CreamInstaller/Utility/SafeIO.cs index 49395eb..e60e59a 100644 --- a/CreamInstaller/Utility/SafeIO.cs +++ b/CreamInstaller/Utility/SafeIO.cs @@ -251,7 +251,7 @@ internal static class SafeIO private static DialogResult IOWarnInternal(this string filePath, string message, Exception e, Form form = null) { using DialogForm dialogForm = new(form); - string description = message + ": " + filePath.BeautifyPath() + "\n\n"; + string description = message + ": " + filePath.ResolvePath() + "\n\n"; if (e is IOException && (e.HResult & 0x0000FFFF) == 225) // virus or potentially unwanted software description += "Please resolve your anti-virus and press retry to continue . . . "; else diff --git a/preview.png b/preview.png index 527364040e22cb57bc5eb7a6659efc1ab57c03d3..1296f670a946e1353977aa8b1b8e947a6010af57 100644 GIT binary patch literal 23917 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 literal 24745 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 fZ-)@g=*Iiz_(bkcg3V437*oX0 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 Ld0j5`KHxt9y;F;1