diff options
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 37 |
1 files changed, 21 insertions, 16 deletions
@@ -59,35 +59,38 @@ section isn't relevant to you; see the previous sections to use or create mods._ ### Compiling from source Using an official SMAPI release is recommended for most users. -If you'd like to compile SMAPI from source, you can do that on any platform using -[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` folder at the root of the git repository. +SMAPI uses some C# 7 code, so you'll need at least +[Visual Studio 2017](https://www.visualstudio.com/vs/community/) on Windows, +[MonoDevelop 7.0](http://www.monodevelop.com/) on Linux, +[Visual Studio 2017 for Mac](https://www.visualstudio.com/vs/visual-studio-mac/), or an equivalent +IDE to compile it. It uses build configuration derived from the +[crossplatform 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` 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 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. +the `StardewModdingAPI` project with debugging from Visual Studio (on Mac or Windows) will launch +SMAPI with the debugger attached, so you can intercept errors and step through the code being +executed. This doesn't work in MonoDevelop on Linux, unfortunately. ### Preparing a release 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 -folder containing `src`). +[crossplatforming info](http://stardewvalleywiki.com/Modding:Creating_a_SMAPI_mod#Test_on_all_platforms) +on the wiki for the first-time setup. 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.20171230` - beta | `<version>-beta.<incrementing ID>`| `1.0.0-beta`, `1.0.0-beta.2`, … - release | `<version>` | `1.0.0` + dev build | `<version>-alpha.<timestamp>` | `1.0-alpha.20171230` + prerelease | `<version>-prerelease.<ID>` | `1.0-prerelease.2` + release | `<version>` | `1.0` 2. In Windows: 1. Rebuild the solution in _Release_ mode. - 2. Rename `bin/Packaged` to `SMAPI <version>` (e.g. `SMAPI 1.6`). + 2. Rename `bin/Packaged` to `SMAPI <version>` (e.g. `SMAPI 1.0`). 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._ @@ -110,7 +113,8 @@ folder containing `src`). StardewModdingAPI.AssemblyRewriters.dll StardewModdingAPI.config.json StardewModdingAPI.exe - StardewModdingAPI.exe.mdb + StardewModdingAPI.pdb + StardewModdingAPI.xml steam_appid.txt System.Numerics.dll System.Runtime.Caching.dll @@ -129,7 +133,7 @@ folder containing `src`). 5. Copy & paste the `SMAPI <version>` folder as `SMAPI <version> for developers`. 6. In the `SMAPI <version>` folder... * edit `internal/Mono/StardewModdingAPI.config.json` and - `internal/Windows/StardewModdingAPI.config.json` to disable developer mode; + `internal/Windows/StardewModdingAPI.config.json` to disable developer mode; * delete `internal/Windows/StardewModdingAPI.xml`. 7. Compress the two folders into `SMAPI <version>.zip` and `SMAPI <version> for developers.zip`. @@ -143,6 +147,7 @@ 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. `ModCompatibility` | A list of mod versions SMAPI should consider compatible or broken regardless of whether it detects incompatible code. Each record can be set to `AssumeCompatible` or `AssumeBroken`. Changing this field is not recommended and may destabilise your game. +`VerboseLogging` | Whether SMAPI should log more information about the game context. ### Command-line arguments SMAPI recognises the following command-line arguments. These are intended for internal use or |