summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md52
1 files changed, 37 insertions, 15 deletions
diff --git a/README.md b/README.md
index eb21f379..995bb59f 100644
--- a/README.md
+++ b/README.md
@@ -6,12 +6,15 @@ with the game. It's safely installed alongside the game's executable, and doesn'
your game files.
## Contents
-* [For players](#for-players)
-* [For mod developers](#for-mod-developers)
+* **[For players](#for-players)**
+* **[For mod developers](#for-mod-developers)**
* [For SMAPI developers](#for-smapi-developers)
* [Compiling from source](#compiling-from-source)
* [Debugging a local build](#debugging-a-local-build)
* [Preparing a release](#preparing-a-release)
+* [Advanced usage](#advanced-usage)
+ * [Configuration file](#configuration-file)
+ * [Command-line arguments](#command-line-arguments)
## For players
* [How to install SMAPI & use mods](http://canimod.com/guides/using-mods#installing-smapi)
@@ -36,10 +39,10 @@ If you'd like to compile SMAPI from source, you can do that on any platform usin
[Visual Studio](https://www.visualstudio.com/vs/community/) or [MonoDevelop](http://www.monodevelop.com/).
SMAPI uses build configuration derived from the [crosswiki mod config](https://github.com/Pathoschild/Stardew.ModBuildConfig#readme)
to detect your current OS automatically and load the correct references. Compile output will be
-placed in a `bin` directory at the root of the git repository.
+placed in a `bin` folder at the root of the git repository.
### Debugging a local build
-Rebuilding the solution in debug mode will copy the SMAPI files into your game directory. Starting
+Rebuilding the solution in debug mode will copy the SMAPI files into your game folder. Starting
the `StardewModdingAPI` project with debugging will launch SMAPI with the debugger attached, so you
can intercept errors and step through the code being executed.
@@ -47,28 +50,28 @@ can intercept errors and step through the code being executed.
To prepare a crossplatform SMAPI release, you'll need to compile it on two platforms. See
_[crossplatforming a SMAPI mod](http://canimod.com/guides/crossplatforming-a-smapi-mod#preparing-a-mod-release)_
for the first-time setup. For simplicity, all paths are relative to the root of the repository (the
-directory containing `src`).
+folder containing `src`).
1. Update the version number in `GlobalAssemblyInfo.cs` and `Constants::Version`. Make sure you use a
[semantic version](http://semver.org). Recommended format:
build type | format | example
:--------- | :-------------------------------- | :------
- dev build | `<version>-alpha-<timestamp>` | `1.0.0-alpha-201611300500`
- beta | `<version>-beta<incrementing ID>` | `1.0.0-beta2`
+ dev build | `<version>-alpha.<timestamp>` | `1.0.0-alpha.20171230`
+ beta | `<version>-beta.<incrementing ID>`| `1.0.0-beta`, `1.0.0-beta.2`, …
release | `<version>` | `1.0.0`
2. In Windows:
1. Rebuild the solution in _Release_ mode.
- 2. Rename `bin/Packaged` to `SMAPI-<version>` (e.g. `SMAPI-1.0`).
- 2. Transfer the `SMAPI-<version>` directory to Linux or Mac.
+ 2. Rename `bin/Packaged` to `SMAPI <version>` (e.g. `SMAPI 1.6`).
+ 2. Transfer the `SMAPI <version>` folder to Linux or Mac.
_This adds the installer executable and Windows files. We'll do the rest in Linux or Mac,
since we need to set Unix file permissions that Windows won't save._
2. In Linux or Mac:
1. Rebuild the solution in _Release_ mode.
- 2. Copy `bin/Packaged/Mono` into the `SMAPI-<version>` directory.
- 3. If you did everything right so far, you should have a directory like this:
+ 2. Copy `bin/Packaged/Mono` into the `SMAPI <version>` folder.
+ 3. If you did everything right so far, you should have a folder like this:
```
SMAPI-1.x/
@@ -101,10 +104,29 @@ directory containing `src`).
install.exe
readme.txt
```
- 4. Open a terminal in the `SMAPI-<version>` directory and run `chmod 755 Mono/StardewModdingAPI`.
- 5. Copy & paste the `SMAPI-<version>` directory as `SMAPI-<version>-for-developers`.
- 6. In the `SMAPI-<version>` directory, delete the following files:
+ 4. Open a terminal in the `SMAPI <version>` folder and run `chmod 755 Mono/StardewModdingAPI`.
+ 5. Copy & paste the `SMAPI <version>` folder as `SMAPI <version> for developers`.
+ 6. In the `SMAPI <version>` folder, delete the following files:
* `Mono/StardewModdingAPI.config.json`
* `Windows/StardewModdingAPI.config.json`
* `Windows/StardewModdingAPI.xml`
- 7. Compress the two folders into `SMAPI-<version>.zip` and `SMAPI-<version>-for-developers.zip`. \ No newline at end of file
+ 7. Compress the two folders into `SMAPI <version>.zip` and `SMAPI <version> for developers.zip`.
+
+## Advanced usage
+### Configuration file
+You can customise the SMAPI behaviour by editing the `StardewModdingAPI.config.json` file in your
+game folder. If it's missing, it'll be generated automatically next time SMAPI runs. It contains
+these fields:
+
+field | purpose
+----- | -------
+`DeveloperMode` | Default `false` (except in _SMAPI for developers_ releases). Whether to enable features intended for mod developers. Currently this only makes `TRACE`-level messages appear in the console.
+`CheckForUpdates` | Default `true`. Whether SMAPI should check for a newer version when you load the game. If a new version is available, a small message will appear in the console. This doesn't affect the load time even if your connection is offline or slow, because it happens in the background.
+
+### Command-line arguments
+SMAPI recognises the following command-line arguments. These are intended for internal use and may
+change without warning.
+
+argument | purpose
+-------- | -------
+`--no-terminal` | SMAPI won't write anything to the console window. (Messages will still be written to the log file.)