summaryrefslogtreecommitdiff
path: root/src/SMAPI.Installer
diff options
context:
space:
mode:
authorJesse Plamondon-Willard <github@jplamondonw.com>2017-11-01 17:42:18 -0400
committerJesse Plamondon-Willard <github@jplamondonw.com>2017-11-01 17:42:18 -0400
commite0b72374cd14298aacc6f71dc391fdc9814be37c (patch)
tree2e5d85937c34539c1a0df48423b5136508693ca8 /src/SMAPI.Installer
parent79118316065a01322d8ea12a14589ec016794c32 (diff)
parent089e6de749ae7cb109af00164d2597c6644c255e (diff)
downloadSMAPI-e0b72374cd14298aacc6f71dc391fdc9814be37c.tar.gz
SMAPI-e0b72374cd14298aacc6f71dc391fdc9814be37c.tar.bz2
SMAPI-e0b72374cd14298aacc6f71dc391fdc9814be37c.zip
Merge branch 'develop' into stable
Diffstat (limited to 'src/SMAPI.Installer')
-rw-r--r--src/SMAPI.Installer/InteractiveInstaller.cs39
-rw-r--r--src/SMAPI.Installer/StardewModdingAPI.Installer.csproj3
-rw-r--r--src/SMAPI.Installer/readme.txt22
3 files changed, 38 insertions, 26 deletions
diff --git a/src/SMAPI.Installer/InteractiveInstaller.cs b/src/SMAPI.Installer/InteractiveInstaller.cs
index 1a132e54..b5c2735b 100644
--- a/src/SMAPI.Installer/InteractiveInstaller.cs
+++ b/src/SMAPI.Installer/InteractiveInstaller.cs
@@ -7,6 +7,7 @@ using System.Reflection;
using System.Threading;
using Microsoft.Win32;
using StardewModdingApi.Installer.Enums;
+using StardewModdingAPI.Common;
namespace StardewModdingApi.Installer
{
@@ -97,6 +98,7 @@ namespace StardewModdingApi.Installer
// obsolete
yield return GetInstallPath("Mods/.cache"); // 1.3-1.4
+ yield return GetInstallPath("Mods/TrainerMod"); // *–2.0 (renamed to ConsoleCommands)
yield return GetInstallPath("Mono.Cecil.Rocks.dll"); // 1.3–1.8
yield return GetInstallPath("StardewModdingAPI-settings.json"); // 1.0-1.4
if (modsDir.Exists)
@@ -136,6 +138,13 @@ namespace StardewModdingApi.Installer
public void Run(string[] args)
{
/****
+ ** Get platform & set window title
+ ****/
+ Platform platform = this.DetectPlatform();
+ Console.Title = $"SMAPI {new SemanticVersionImpl(this.GetType().Assembly.GetName().Version)} installer on {platform}";
+ Console.WriteLine();
+
+ /****
** read command-line arguments
****/
// get action from CLI
@@ -159,10 +168,6 @@ namespace StardewModdingApi.Installer
/****
** collect details
****/
- // get platform
- Platform platform = this.DetectPlatform();
- this.PrintDebug($"Platform: {(platform == Platform.Windows ? "Windows" : "Linux or Mac")}.");
-
// get game path
DirectoryInfo installDir = this.InteractivelyGetInstallPath(platform, gamePathArg);
if (installDir == null)
@@ -182,7 +187,9 @@ namespace StardewModdingApi.Installer
unixLauncher = Path.Combine(installDir.FullName, "StardewValley"),
unixLauncherBackup = Path.Combine(installDir.FullName, "StardewValley-original")
};
- this.PrintDebug($"Install path: {installDir}.");
+
+ // show output
+ Console.WriteLine($"Your game folder: {installDir}.");
/****
** validate assumptions
@@ -340,22 +347,26 @@ namespace StardewModdingApi.Installer
this.InteractivelyRemoveAppDataMods(platform, modsDir, packagedModsDir);
}
Console.WriteLine();
+ Console.WriteLine();
/****
- ** exit
+ ** final instructions
****/
- this.PrintColor("Done!", ConsoleColor.DarkGreen);
if (platform == Platform.Windows)
{
- this.PrintColor(
- action == ScriptAction.Install
- ? "Don't forget to launch StardewModdingAPI.exe instead of the normal game executable. See the readme.txt for details."
- : "If you manually changed shortcuts or Steam to launch SMAPI, don't forget to change those back.",
- ConsoleColor.DarkGreen
- );
+ if (action == ScriptAction.Install)
+ {
+ this.PrintColor("SMAPI is installed! If you use Steam, set your launch options to enable achievements (see smapi.io/install):", ConsoleColor.DarkGreen);
+ this.PrintColor($" \"{Path.Combine(installDir.FullName, "StardewModdingAPI.exe")}\" %command%", ConsoleColor.DarkGreen);
+ Console.WriteLine();
+ this.PrintColor("If you don't use Steam, launch StardewModdingAPI.exe in your game folder to play with mods.", ConsoleColor.DarkGreen);
+ }
+ else
+ this.PrintColor("SMAPI is removed! If you configured Steam to launch SMAPI, don't forget to clear your launch options.", ConsoleColor.DarkGreen);
}
else if (action == ScriptAction.Install)
- this.PrintColor("You can launch the game the same way as before to play with mods.", ConsoleColor.DarkGreen);
+ this.PrintColor("SMAPI is installed! Launch the game the same way as before to play with mods.", ConsoleColor.DarkGreen);
+
Console.ReadKey();
}
diff --git a/src/SMAPI.Installer/StardewModdingAPI.Installer.csproj b/src/SMAPI.Installer/StardewModdingAPI.Installer.csproj
index f8e368a4..d3a6aa0b 100644
--- a/src/SMAPI.Installer/StardewModdingAPI.Installer.csproj
+++ b/src/SMAPI.Installer/StardewModdingAPI.Installer.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
@@ -50,6 +50,7 @@
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
</ItemGroup>
+ <Import Project="..\SMAPI.Common\StardewModdingAPI.Common.projitems" Label="Shared" />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="..\..\build\common.targets" />
<Import Project="..\..\build\prepare-install-package.targets" />
diff --git a/src/SMAPI.Installer/readme.txt b/src/SMAPI.Installer/readme.txt
index eb27ac52..a03ad6a4 100644
--- a/src/SMAPI.Installer/readme.txt
+++ b/src/SMAPI.Installer/readme.txt
@@ -1,14 +1,14 @@
- ___ ___ ___ ___
- / /\ /__/\ / /\ / /\ ___
- / /:/_ | |::\ / /::\ / /::\ / /\
- / /:/ /\ | |:|:\ / /:/\:\ / /:/\:\ / /:/
- / /:/ /::\ __|__|:|\:\ / /:/~/::\ / /:/~/:/ /__/::\
- /__/:/ /:/\:\ /__/::::| \:\ /__/:/ /:/\:\ /__/:/ /:/ \__\/\:\__
- \ \:\/:/~/:/ \ \:\~~\__\/ \ \:\/:/__\/ \ \:\/:/ \ \:\/\
- \ \::/ /:/ \ \:\ \ \::/ \ \::/ \__\::/
- \__\/ /:/ \ \:\ \ \:\ \ \:\ /__/:/
- /__/:/ \ \:\ \ \:\ \ \:\ \__\/
- \__\/ \__\/ \__\/ \__\/
+ ___ ___ ___ ___ ___
+ / /\ /__/\ / /\ / /\ / /\
+ / /:/_ | |::\ / /::\ / /::\ / /:/
+ / /:/ /\ | |:|:\ / /:/\:\ / /:/\:\ / /:/
+ / /:/ /::\ __|__|:|\:\ / /:/~/::\ / /:/~/:/ / /::\ ___
+/__/:/ /:/\:\ /__/::::| \:\ /__/:/ /:/\:\ /__/:/ /:/ /__/:/\:\ /\
+\ \:\/:/~/:/ \ \:\~~\__\/ \ \:\/:/__\/ \ \:\/:/ \__\/ \:\/:/
+ \ \::/ /:/ \ \:\ \ \::/ \ \::/ \__\::/
+ \__\/ /:/ \ \:\ \ \:\ \ \:\ / /:/
+ /__/:/ \ \:\ \ \:\ \ \:\ /__/:/
+ \__\/ \__\/ \__\/ \__\/ \__\/
SMAPI lets you run Stardew Valley with mods. Don't forget to download mods separately.