summaryrefslogtreecommitdiff
path: root/src/SMAPI/Program.cs
diff options
context:
space:
mode:
authorJesse Plamondon-Willard <github@jplamondonw.com>2018-10-20 14:43:09 -0400
committerJesse Plamondon-Willard <github@jplamondonw.com>2018-10-20 14:43:09 -0400
commite09499f628e6fb019ea856b197111f4a5bf3adf8 (patch)
tree981c7738013761ca62ada13c59ba1e25b17aca8a /src/SMAPI/Program.cs
parent896f98f2604f508cd94f2fcb0aa34cd914a042b5 (diff)
downloadSMAPI-e09499f628e6fb019ea856b197111f4a5bf3adf8.tar.gz
SMAPI-e09499f628e6fb019ea856b197111f4a5bf3adf8.tar.bz2
SMAPI-e09499f628e6fb019ea856b197111f4a5bf3adf8.zip
recommend compatible SMAPI version in game version check error
Diffstat (limited to 'src/SMAPI/Program.cs')
-rw-r--r--src/SMAPI/Program.cs18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/SMAPI/Program.cs b/src/SMAPI/Program.cs
index c6f39e3f..b46ecff4 100644
--- a/src/SMAPI/Program.cs
+++ b/src/SMAPI/Program.cs
@@ -83,15 +83,23 @@ namespace StardewModdingAPI
)
+ "See the readme.txt file for details."
);
+ return;
}
- // Stardew Valley 1.2 types not present
- if (Type.GetType($"StardewValley.LocalizedContentManager+LanguageCode, {gameAssemblyName}", throwOnError: false) == null)
+ // validate game version
+ if (Constants.GameVersion.IsOlderThan(Constants.MinimumGameVersion))
{
- PrintErrorAndExit(Constants.GameVersion.IsOlderThan(Constants.MinimumGameVersion)
- ? $"Oops! You're running Stardew Valley {Constants.GameVersion}, but the oldest supported version is {Constants.MinimumGameVersion}. Please update your game before using SMAPI."
- : "Oops! SMAPI doesn't seem to be compatible with your game. Make sure you're running the latest version of Stardew Valley and SMAPI."
+ ISemanticVersion suggestedApiVersion = Constants.GetCompatibleApiVersion(Constants.GameVersion);
+ PrintErrorAndExit(suggestedApiVersion != null
+ ? $"Oops! You're running Stardew Valley {Constants.GameVersion}, but the oldest supported version is {Constants.MinimumGameVersion}. You can install SMAPI {suggestedApiVersion} instead to fix this error, or update your game to the latest version."
+ : $"Oops! You're running Stardew Valley {Constants.GameVersion}, but the oldest supported version is {Constants.MinimumGameVersion}. Please update your game before using SMAPI."
);
+ return;
+ }
+ if (Constants.MaximumGameVersion != null && Constants.GameVersion.IsNewerThan(Constants.MaximumGameVersion))
+ {
+ PrintErrorAndExit($"Oops! You're running Stardew Valley {Constants.GameVersion}, but this version of SMAPI is only compatible up to Stardew Valley {Constants.MaximumGameVersion}. Please check for a newer version of SMAPI: https://smapi.io.");
+ return;
}
}