From 1c3d28aa1986c5e05609e8b081f45180186f5c6a Mon Sep 17 00:00:00 2001 From: Kade Date: Sun, 6 Sep 2026 23:53:34 -0400 Subject: [PATCH] Common: prefer Steam/GOG path for C&C Suppresses errors when multiple game versions are installed (which normally causes problems) but Steam has silently "fixed" the issue by overwriting the registry --- ModAPI.Common/SporePath.cs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/ModAPI.Common/SporePath.cs b/ModAPI.Common/SporePath.cs index a2226dc..53d3ba4 100644 --- a/ModAPI.Common/SporePath.cs +++ b/ModAPI.Common/SporePath.cs @@ -222,6 +222,8 @@ private static object GetFromRegistry(string keyName, string valueName) /// private static string[] GetRegistryKeySuffixes(Game game) { + // The registry paths will be checked in the order set here + // This is usually irrelevant, as we deter users from having multiple installs, but Steam tries to overwrite registry paths (silently "fixing" issues from multiple installs), so we list Steam paths first as to pretend like it's the only one installed switch (game) { case Game.GalacticAdventures: @@ -229,12 +231,12 @@ private static string[] GetRegistryKeySuffixes(Game game) case Game.Spore: return new[] { "Electronic Arts\\SPORE" }; case Game.CreepyAndCute: - // Disc/Origin/EA use the former, Steam/GOG use the latter, game hardcodes both - return new[] { "Electronic Arts\\SPORE(TM) Creepy & Cute Parts Pack", "Electronic Arts\\SPORE Creepy and Cute Parts Pack" }; + // Steam/GOG use the former, Disc/Origin/EA use the latter, game hardcodes both + return new[] { "Electronic Arts\\SPORE Creepy and Cute Parts Pack", "Electronic Arts\\SPORE(TM) Creepy & Cute Parts Pack" }; default: return new string[] { }; } } } -} \ No newline at end of file +}