update for game assembly name now consistent on all platforms

This commit is contained in:
Jesse Plamondon-Willard
2021-11-28 00:01:41 -05:00
parent 2b922a71a2
commit 40b74398ac
3 changed files with 4 additions and 15 deletions
-5
View File
@@ -44,11 +44,6 @@
<!-- set game metadata -->
<PropertyGroup>
<!--standard executable name-->
<GameExecutableName>Stardew Valley</GameExecutableName>
<GameExecutableName Condition="$(OS) != 'Windows_NT'">StardewValley</GameExecutableName>
<!--Linux install on Windows (for 64-bit hack)-->
<GameExecutableName Condition="$(OS) == 'Windows_NT' AND !Exists('$(GamePath)\$(GameExecutableName).exe') AND Exists('$(GamePath)\StardewValley.exe')">StardewValley</GameExecutableName>
</PropertyGroup>
</Project>
+3 -9
View File
@@ -43,7 +43,7 @@ namespace StardewModdingAPI
internal static GameFramework GameFramework { get; } = GameFramework.MonoGame;
/// <summary>The game's assembly name.</summary>
internal static string GameAssemblyName => EarlyConstants.Platform == GamePlatform.Windows ? "Stardew Valley" : "StardewValley";
internal static string GameAssemblyName { get; } = "Stardew Valley";
/// <summary>The <see cref="Context.ScreenId"/> value which should appear in the SMAPI log, if any.</summary>
internal static int? LogScreenId { get; set; }
@@ -269,14 +269,8 @@ namespace StardewModdingAPI
);
// Stardew Valley reference
removeAssemblyReferences.Add(
Constants.Platform == Platform.Windows
? "StardewValley"
: "Stardew Valley"
);
targetAssemblies.Add(
typeof(StardewValley.Game1).Assembly
);
removeAssemblyReferences.Add("StardewValley");
targetAssemblies.Add(typeof(StardewValley.Game1).Assembly);
return new PlatformAssemblyMap(targetPlatform, removeAssemblyReferences.ToArray(), targetAssemblies.ToArray());
}
+1 -1
View File
@@ -35,7 +35,7 @@ namespace StardewModdingAPI
Program.AssertSmapiVersions();
Program.Start(args);
}
catch (BadImageFormatException ex) when (ex.FileName == "StardewValley" || ex.FileName == "Stardew Valley") // don't use EarlyConstants.GameAssemblyName, since we want to check both possible names
catch (BadImageFormatException ex) when (ex.FileName == EarlyConstants.GameAssemblyName)
{
Console.WriteLine($"SMAPI failed to initialize because your game's {ex.FileName}.exe seems to be invalid.\nThis may be a pirated version which modified the executable in an incompatible way; if so, you can try a different download or buy a legitimate version.\n\nTechnical details:\n{ex}");
}