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.Diagnostics.CodeAnalysis;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using System.Reflection;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
using StardewModdingAPI.Framework.Commands;
|
using StardewModdingAPI.Framework.Commands;
|
||||||
|
@ -11,6 +12,7 @@ using StardewModdingAPI.Framework.ModLoading;
|
||||||
using StardewModdingAPI.Internal.ConsoleWriting;
|
using StardewModdingAPI.Internal.ConsoleWriting;
|
||||||
using StardewModdingAPI.Toolkit.Framework.ModData;
|
using StardewModdingAPI.Toolkit.Framework.ModData;
|
||||||
using StardewModdingAPI.Toolkit.Utilities;
|
using StardewModdingAPI.Toolkit.Utilities;
|
||||||
|
using StardewValley;
|
||||||
|
|
||||||
namespace StardewModdingAPI.Framework.Logging
|
namespace StardewModdingAPI.Framework.Logging
|
||||||
{
|
{
|
||||||
|
@ -283,16 +285,16 @@ namespace StardewModdingAPI.Framework.Logging
|
||||||
/// <param name="customSettings">The custom SMAPI settings.</param>
|
/// <param name="customSettings">The custom SMAPI settings.</param>
|
||||||
public void LogIntro(string modsPath, IDictionary<string, object> customSettings)
|
public void LogIntro(string modsPath, IDictionary<string, object> customSettings)
|
||||||
{
|
{
|
||||||
// get platform label
|
// log platform & patches
|
||||||
string platformLabel = EnvironmentUtility.GetFriendlyPlatformName(Constants.Platform);
|
{
|
||||||
if ((Constants.GameFramework == GameFramework.Xna) != (Constants.Platform == Platform.Windows))
|
this.Monitor.Log($"SMAPI {Constants.ApiVersion} with Stardew Valley {Constants.GameVersion} on {EnvironmentUtility.GetFriendlyPlatformName(Constants.Platform)}", LogLevel.Info);
|
||||||
platformLabel += $" with {Constants.GameFramework}";
|
|
||||||
#if SMAPI_FOR_WINDOWS_64BIT_HACK
|
|
||||||
platformLabel += " 64-bit hack";
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// init logging
|
string[] patchLabels = this.GetPatchLabels().ToArray();
|
||||||
this.Monitor.Log($"SMAPI {Constants.ApiVersion} with Stardew Valley {Constants.GameVersion} on {platformLabel}", LogLevel.Info);
|
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);
|
this.Monitor.Log($"Mods go here: {modsPath}", LogLevel.Info);
|
||||||
if (modsPath != Constants.DefaultModsPath)
|
if (modsPath != Constants.DefaultModsPath)
|
||||||
this.Monitor.Log("(Using custom --mods-path argument.)");
|
this.Monitor.Log("(Using custom --mods-path argument.)");
|
||||||
|
@ -409,6 +411,23 @@ namespace StardewModdingAPI.Framework.Logging
|
||||||
gameMonitor.Log(message, level);
|
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>
|
/// <summary>Write a summary of mod warnings to the console and log.</summary>
|
||||||
/// <param name="mods">The loaded mods.</param>
|
/// <param name="mods">The loaded mods.</param>
|
||||||
/// <param name="skippedMods">The mods which could not be loaded.</param>
|
/// <param name="skippedMods">The mods which could not be loaded.</param>
|
||||||
|
|
Loading…
Reference in New Issue