summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesse Plamondon-Willard <github@jplamondonw.com>2017-01-11 13:46:21 -0500
committerJesse Plamondon-Willard <github@jplamondonw.com>2017-01-11 13:46:21 -0500
commitdb2cc7ef41aa2ce84e1c610db8d5f6cba3092a45 (patch)
tree4513228f90561ace0f3635525a39e1ebe9db6a17
parent34d2881aeed5afcb8f93853726f8a1f725a592a9 (diff)
downloadSMAPI-db2cc7ef41aa2ce84e1c610db8d5f6cba3092a45.tar.gz
SMAPI-db2cc7ef41aa2ce84e1c610db8d5f6cba3092a45.tar.bz2
SMAPI-db2cc7ef41aa2ce84e1c610db8d5f6cba3092a45.zip
rewrite readme for simplicity
-rw-r--r--README.md91
1 files changed, 46 insertions, 45 deletions
diff --git a/README.md b/README.md
index 83b79ea9..7829cd93 100644
--- a/README.md
+++ b/README.md
@@ -1,53 +1,36 @@
**Stardew.ModBuildConfig** is an open-source NuGet package which automates the build configuration
-for crossplatform [Stardew Valley](http://stardewvalley.net/) mods that use SMAPI.
+for [Stardew Valley](http://stardewvalley.net/) [SMAPI](https://github.com/Pathoschild/SMAPI) mods.
-## Contents
-* [Usage](#usage)
-* [Installation](#installation)
-* [Custom game path](#custom-game-path)
-* [Simplify mod development](#simplify-mod-development)
+The package...
+
+* lets you write your mod once, and compile it on any computer. It detects the current platform
+ (Linux, Mac, or Windows) and game install path, and injects the right references automatically.
+* configures Visual Studio so you can debug into the mod code when the game is running (_Windows
+ only_).
+* packages the mod automatically into the game's mod folder when you build the code (_optional_).
-## Usage
-Basically this package lets you write your mod once, and compile it on any computer. It detects
-your current platform (Linux, Mac, or Windows) and game path, and injects the right references
-automatically. You can also target a specific platform to create a mod package compatible with that
-platform.
-More specifically, the configuration...
+## Contents
+* [Install](#install)
+* [Simplify mod development](#simplify-mod-development)
+* [Troubleshoot](#troubleshoot)
+* [Versions](#versions)
-1. detects the operating system and Stardew Valley path;
-2. injects the right references to Stardew Valley, SMAPI, and XNA/MonoGame for your platform;
-3. configures Visual Studio so you can launch the game for debugging (_Windows only_);
-4. and adds a `GamePath` variable which can be used to script mod packaging if desired.
+## Install
+**When creating a new mod:**
-## Installation
-### Creating a new mod
1. Create an empty library project.
2. Reference the [`Pathoschild.Stardew.ModBuildConfig` NuGet package](https://www.nuget.org/packages/Pathoschild.Stardew.ModBuildConfig).
3. [Write your code](http://canimod.com/guides/creating-a-smapi-mod).
4. Compile on any platform.
-### Migrating an existing mod
-1. Remove any references to `Microsoft.Xna.*`, Stardew Valley, `StardewModdingAPI`, and xTile.
+**When migrating an existing mod:**
+
+1. Remove any project references to `Microsoft.Xna.*`, `MonoGame`, Stardew Valley,
+ `StardewModdingAPI`, and `xTile`.
2. Reference the [`Pathoschild.Stardew.ModBuildConfig` NuGet package](https://www.nuget.org/packages/Pathoschild.Stardew.ModBuildConfig).
3. Compile on any platform.
-## Custom game path
-The package should automatically detect your game path. If it can't for some reason, you
-can specify it manually.
-
-1. Get the full folder path containing the Stardew Valley executable.
-2. Add this to your `.csproj` file under the `<Project` line (with the correct game path):
-
- ```xml
- <PropertyGroup>
- <GamePath>C:\Program Files (x86)\GalaxyClient\Games\Stardew Valley</GamePath>
- </PropertyGroup>
- ```
-
-The configuration will check your custom path first, then fall back to the default paths (so it'll
-still compile on a different computer).
-
## Simplify mod development
### Package your mod into the game directory automatically
During development, it's helpful to have the mod files packaged into your `Mods` directory automatically each time you build. To do that:
@@ -70,22 +53,44 @@ During development, it's helpful to have the mod files packaged into your `Mods`
That's it! Each time you build, the files in `<game path>\Mods\<mod name>` will be updated.
-### Debugging
-Debugging into your mod code when the game is running is pretty straightforward, since this package injects some of the configuration automatically. To do that:
+### Debug into the mod code
+Stepping into your mod code when the game is running is straightforward, since this package injects the configuration automatically. To do it:
1. [Package your mod into the game directory automatically](#package-your-mod-into-the-game-directory-automatically).
2. Launch the project with debugging in Visual Studio or MonoDevelop.
This will deploy your mod files into the game directory, launch SMAPI, and attach a debugger automatically. Now you can step through your code, set breakpoints, etc.
+## Troubleshoot
+### "Failed to find the game install path"
+If you see this error:
+
+> Failed to find the game install path automatically; edit the *.csproj file and manually add a
+> &lt;GamePath&gt; setting with the full directory path containing the Stardew Valley executable.
+
+...the package couldn't find your game install path automatically. You'll need to specify the
+game location:
+
+1. Get the full folder path containing the Stardew Valley executable.
+2. Add this to your `.csproj` file under the `<Project` line (with the correct game path):
+
+ ```xml
+ <PropertyGroup>
+ <GamePath>C:\Program Files (x86)\GalaxyClient\Games\Stardew Valley</GamePath>
+ </PropertyGroup>
+ ```
+
+The configuration will check your custom path first, then fall back to the default paths (so it'll
+still compile on a different computer).
+
## Versions
1.3:
-* Fixed non-default game paths on 32-bit Windows.
+* Fixed detection of non-default game paths on 32-bit Windows.
* Removed support for SilVerPLuM (discontinued).
-* Removed support for overriding the target platform (never used).
+* Removed support for overriding the target platform (no longer needed since SMAPI crossplatforms mods automatically).
1.2:
-* Added support for non-default game paths on Windows by reading the registry.
+* Added support for non-default game paths on Windows.
1.1:
* Added support for overriding the target platform.
@@ -95,7 +100,3 @@ This will deploy your mod files into the game directory, launch SMAPI, and attac
* Added support for detecting the game path automatically.
* Added support for injecting XNA/MonoGame references automatically based on the OS.
* Added support for mod builders like SilVerPLuM.
-
-## See also
-* [NuGet package](https://www.nuget.org/packages/Pathoschild.Stardew.ModBuildConfig)
-* <s>Discussion thread</s>