log Stardew64Installer patch version if applicable (#767)
This commit is contained in:
parent
bca1e63c3e
commit
f961a376ee
|
@ -3,6 +3,7 @@ using System.Collections.Generic;
|
|||
using System.Diagnostics.CodeAnalysis;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Threading;
|
||||
using StardewModdingAPI.Framework.Commands;
|
||||
|
@ -11,6 +12,7 @@ using StardewModdingAPI.Framework.ModLoading;
|
|||
using StardewModdingAPI.Internal.ConsoleWriting;
|
||||
using StardewModdingAPI.Toolkit.Framework.ModData;
|
||||
using StardewModdingAPI.Toolkit.Utilities;
|
||||
using StardewValley;
|
||||
|
||||
namespace StardewModdingAPI.Framework.Logging
|
||||
{
|
||||
|
@ -283,16 +285,16 @@ namespace StardewModdingAPI.Framework.Logging
|
|||
/// <param name="customSettings">The custom SMAPI settings.</param>
|
||||
public void LogIntro(string modsPath, IDictionary<string, object> customSettings)
|
||||
{
|
||||
// get platform label
|
||||
string platformLabel = EnvironmentUtility.GetFriendlyPlatformName(Constants.Platform);
|
||||
if ((Constants.GameFramework == GameFramework.Xna) != (Constants.Platform == Platform.Windows))
|
||||
platformLabel += $" with {Constants.GameFramework}";
|
||||
#if SMAPI_FOR_WINDOWS_64BIT_HACK
|
||||
platformLabel += " 64-bit hack";
|
||||
#endif
|
||||
// log platform & patches
|
||||
{
|
||||
this.Monitor.Log($"SMAPI {Constants.ApiVersion} with Stardew Valley {Constants.GameVersion} on {EnvironmentUtility.GetFriendlyPlatformName(Constants.Platform)}", LogLevel.Info);
|
||||
|
||||
// init logging
|
||||
this.Monitor.Log($"SMAPI {Constants.ApiVersion} with Stardew Valley {Constants.GameVersion} on {platformLabel}", LogLevel.Info);
|
||||
string[] patchLabels = this.GetPatchLabels().ToArray();
|
||||
if (patchLabels.Any())
|
||||
this.Monitor.Log($"Detected custom version: {string.Join(", ", patchLabels)}", LogLevel.Info);
|
||||
}
|
||||
|
||||
// log basic info
|
||||
this.Monitor.Log($"Mods go here: {modsPath}", LogLevel.Info);
|
||||
if (modsPath != Constants.DefaultModsPath)
|
||||
this.Monitor.Log("(Using custom --mods-path argument.)");
|
||||
|
@ -409,6 +411,23 @@ namespace StardewModdingAPI.Framework.Logging
|
|||
gameMonitor.Log(message, level);
|
||||
}
|
||||
|
||||
/// <summary>Get human-readable labels to log for detected SMAPI and Stardew Valley customizations.</summary>
|
||||
private IEnumerable<string> GetPatchLabels()
|
||||
{
|
||||
// custom game framework
|
||||
if (EarlyConstants.IsWindows64BitHack)
|
||||
yield return $"running 64-bit SMAPI with {Constants.GameFramework}";
|
||||
else if ((Constants.GameFramework == GameFramework.Xna) != (Constants.Platform == Platform.Windows))
|
||||
yield return $"running {Constants.GameFramework}";
|
||||
|
||||
// patched by Stardew64Installer
|
||||
{
|
||||
PropertyInfo patcherProperty = typeof(Game1).GetProperty("Stardew64InstallerVersion");
|
||||
if (patcherProperty != null)
|
||||
yield return $"patched by Stardew64Installer {patcherProperty.GetValue(null)}";
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>Write a summary of mod warnings to the console and log.</summary>
|
||||
/// <param name="mods">The loaded mods.</param>
|
||||
/// <param name="skippedMods">The mods which could not be loaded.</param>
|
||||
|
|
Loading…
Reference in New Issue