summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--build/common.targets2
-rw-r--r--build/find-game-folder.targets2
-rw-r--r--build/prepare-install-package.targets8
-rw-r--r--docs/README.md6
-rw-r--r--docs/release-notes-archived.md62
-rw-r--r--docs/release-notes.md13
-rw-r--r--docs/technical/mod-package.md12
-rw-r--r--docs/technical/smapi.md12
-rw-r--r--src/SMAPI.Installer/Framework/InstallerContext.cs2
-rw-r--r--src/SMAPI.Installer/Framework/InstallerPaths.cs6
-rw-r--r--src/SMAPI.Installer/InteractiveInstaller.cs18
-rw-r--r--src/SMAPI.Installer/assets/README.txt9
-rw-r--r--src/SMAPI.Installer/assets/unix-install.sh2
-rw-r--r--src/SMAPI.Internal/ConsoleWriting/ColorfulConsoleWriter.cs2
-rw-r--r--src/SMAPI.Mods.SaveBackup/ModEntry.cs4
-rw-r--r--src/SMAPI.Tests/Utilities/PathUtilitiesTests.cs2
-rw-r--r--src/SMAPI.Toolkit/Framework/Clients/WebApi/WebApiClient.cs2
-rw-r--r--src/SMAPI.Toolkit/Framework/GameScanning/GameScanner.cs2
-rw-r--r--src/SMAPI.Toolkit/Framework/LowLevelEnvironmentUtility.cs8
-rw-r--r--src/SMAPI.Toolkit/Framework/ModData/ModWarning.cs2
-rw-r--r--src/SMAPI.Toolkit/Framework/ModScanning/ModScanner.cs4
-rw-r--r--src/SMAPI.Toolkit/Utilities/Platform.cs2
-rw-r--r--src/SMAPI.Web/Startup.cs2
-rw-r--r--src/SMAPI.Web/Views/Index/Index.cshtml2
-rw-r--r--src/SMAPI.Web/Views/LogParser/Index.cshtml2
-rw-r--r--src/SMAPI.Web/wwwroot/SMAPI.metadata.json2
-rw-r--r--src/SMAPI/Constants.cs2
-rw-r--r--src/SMAPI/Framework/Content/AssetDataForImage.cs4
-rw-r--r--src/SMAPI/Framework/ContentPack.cs2
-rw-r--r--src/SMAPI/Framework/Logging/LogFileManager.cs2
-rw-r--r--src/SMAPI/Framework/Logging/LogManager.cs2
-rw-r--r--src/SMAPI/Framework/ModLoading/InstructionHandleResult.cs2
-rw-r--r--src/SMAPI/Framework/ModLoading/RewriteFacades/SpriteBatchFacade.cs4
-rw-r--r--src/SMAPI/Framework/SCore.cs4
-rw-r--r--src/SMAPI/Framework/Serialization/ColorConverter.cs2
-rw-r--r--src/SMAPI/Framework/Serialization/PointConverter.cs2
-rw-r--r--src/SMAPI/Framework/Serialization/RectangleConverter.cs2
-rw-r--r--src/SMAPI/Framework/Serialization/Vector2Converter.cs2
-rw-r--r--src/SMAPI/GamePlatform.cs2
-rw-r--r--src/SMAPI/SMAPI.config.json4
40 files changed, 114 insertions, 112 deletions
diff --git a/build/common.targets b/build/common.targets
index 8137a6f3..4068c491 100644
--- a/build/common.targets
+++ b/build/common.targets
@@ -77,6 +77,6 @@
<StartWorkingDirectory>$(GamePath)</StartWorkingDirectory>
</PropertyGroup>
- <!-- Somehow this makes Visual Studio for Mac recognise the previous section. Nobody knows why. -->
+ <!-- Somehow this makes Visual Studio for macOS recognise the previous section. Nobody knows why. -->
<PropertyGroup Condition="'$(RunConfiguration)' == 'Default'" />
</Project>
diff --git a/build/find-game-folder.targets b/build/find-game-folder.targets
index ec8a3787..7a9bfc50 100644
--- a/build/find-game-folder.targets
+++ b/build/find-game-folder.targets
@@ -13,7 +13,7 @@
<GamePath Condition="!Exists('$(GamePath)')">$(HOME)/.local/share/Steam/steamapps/common/Stardew Valley</GamePath>
<GamePath Condition="!Exists('$(GamePath)')">$(HOME)/.var/app/com.valvesoftware.Steam/data/Steam/steamapps/common/Stardew Valley</GamePath>
- <!-- Mac (may be 'Unix' or 'OSX') -->
+ <!-- macOS (may be 'Unix' or 'OSX') -->
<GamePath Condition="!Exists('$(GamePath)')">/Applications/Stardew Valley.app/Contents/MacOS</GamePath>
<GamePath Condition="!Exists('$(GamePath)')">$(HOME)/Library/Application Support/Steam/steamapps/common/Stardew Valley/Contents/MacOS</GamePath>
</PropertyGroup>
diff --git a/build/prepare-install-package.targets b/build/prepare-install-package.targets
index 205040db..408230a9 100644
--- a/build/prepare-install-package.targets
+++ b/build/prepare-install-package.targets
@@ -33,7 +33,7 @@
<!-- copy installer files -->
<Copy SourceFiles="$(TargetDir)\assets\unix-install.sh" DestinationFiles="$(PackagePath)\install on Linux.sh" />
- <Copy SourceFiles="$(TargetDir)\assets\unix-install.sh" DestinationFiles="$(PackagePath)\install on Mac.command" />
+ <Copy SourceFiles="$(TargetDir)\assets\unix-install.sh" DestinationFiles="$(PackagePath)\install on macOS.command" />
<Copy SourceFiles="$(TargetDir)\assets\windows-install.bat" DestinationFiles="$(PackagePath)\install on Windows.bat" />
<Copy SourceFiles="$(TargetDir)\assets\README.txt" DestinationFiles="$(PackagePath)\README.txt" />
<Copy SourceFiles="$(TargetDir)\$(TargetName).exe" DestinationFiles="$(PackagePath)\internal\$(PlatformName)-install.exe" />
@@ -74,13 +74,13 @@
<Copy SourceFiles="$(SaveBackupBin)\SaveBackup.pdb" DestinationFolder="$(PackagePath)\bundle\Mods\SaveBackup" />
<Copy SourceFiles="$(SaveBackupBin)\manifest.json" DestinationFolder="$(PackagePath)\bundle\Mods\SaveBackup" />
- <!-- fix errors on Linux/Mac (sample: https://smapi.io/log/mMdFUpgB) -->
+ <!-- fix errors on Linux/macOS (sample: https://smapi.io/log/mMdFUpgB) -->
<Copy Condition="$(PlatformName) == 'unix'" SourceFiles="$(TargetDir)\assets\System.Numerics.dll" DestinationFolder="$(PackagePath)\bundle\smapi-internal" />
<Copy Condition="$(PlatformName) == 'unix'" SourceFiles="$(TargetDir)\assets\System.Runtime.Caching.dll" DestinationFolder="$(PackagePath)\bundle\smapi-internal" />
- <!-- fix Linux/Mac permissions -->
+ <!-- fix Linux/macOS permissions -->
<Exec Condition="$(PlatformName) == 'unix'" Command="chmod 755 &quot;$(PackagePath)\install on Linux.sh&quot;" />
- <Exec Condition="$(PlatformName) == 'unix'" Command="chmod 755 &quot;$(PackagePath)\install on Mac.command&quot;" />
+ <Exec Condition="$(PlatformName) == 'unix'" Command="chmod 755 &quot;$(PackagePath)\install on macOS.command&quot;" />
<!-- finalise 'for developers' installer -->
<ItemGroup>
diff --git a/docs/README.md b/docs/README.md
index 4726c190..e7b8a9b3 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -11,9 +11,9 @@ doesn't change any of your game files. It serves seven main purposes:
couldn't._
3. **Rewrite mods for compatibility.**
- _SMAPI rewrites mods' compiled code before loading them so they work on Linux/Mac/Windows
- without the mods needing to handle differences between the Linux/Mac and Windows versions of the
- game. In some cases it also rewrites code broken by a game update so the mod doesn't break._
+ _SMAPI rewrites mods' compiled code before loading them so they work on Linux/macOS/Windows
+ without the mods needing to handle differences between the Linux/macOS and Windows versions of
+ the game. In some cases it also rewrites code broken by a game update so the mod doesn't break._
5. **Intercept errors and automatically fix saves.**
_SMAPI intercepts errors, shows the error info in the SMAPI console, and in most cases
diff --git a/docs/release-notes-archived.md b/docs/release-notes-archived.md
index b5dd538b..9801c226 100644
--- a/docs/release-notes-archived.md
+++ b/docs/release-notes-archived.md
@@ -30,7 +30,7 @@ Released 13 September 2019 for Stardew Valley 1.3.36.
Released 23 April 2019 for Stardew Valley 1.3.36.
* For players:
- * Fixed error when a custom map references certain vanilla tilesheets on Linux/Mac.
+ * Fixed error when a custom map references certain vanilla tilesheets on Linux/macOS.
* Fixed compatibility with some Linux distros.
## 2.11.1
@@ -68,7 +68,7 @@ Released 09 January 2019 for Stardew Valley 1.3.32–33.
* For players:
* SMAPI now keeps the first save backup created for the day, instead of the last one.
- * Fixed save backup for some Linux/Mac players. (When compression isn't available, SMAPI will now create uncompressed backups instead.)
+ * Fixed save backup for some Linux/macOS players. (When compression isn't available, SMAPI will now create uncompressed backups instead.)
* Fixed some common dependencies not linking to the mod page in 'missing mod' errors.
* Fixed 'unknown mod' deprecation warnings showing a stack trace when developers mode not enabled.
* Fixed 'unknown mod' deprecation warnings when they occur in the Mod constructor.
@@ -90,7 +90,7 @@ Released 09 January 2019 for Stardew Valley 1.3.32–33.
* Fixed 'unknown mod' deprecation warnings showing the wrong stack trace.
* Fixed `e.Cursor` in input events showing wrong grab tile when player using a controller moves without moving the viewpoint.
* Fixed incorrect 'bypassed safety checks' warning for mods using the new `Specialized.LoadStageChanged` event in 2.10.
- * Deprecated `EntryDll` values whose capitalization don't match the actual file. (This works on Windows, but causes errors for Linux/Mac players.)
+ * Deprecated `EntryDll` values whose capitalization don't match the actual file. (This works on Windows, but causes errors for Linux/macOS players.)
## 2.10.1
Released 30 December 2018 for Stardew Valley 1.3.32–33.
@@ -183,7 +183,7 @@ Released 07 December 2018 for Stardew Valley 1.3.32.
## 2.8.2
Released 19 November 2018 for Stardew Valley 1.3.32.
-* Fixed game crash in MacOS with SMAPI 2.8.
+* Fixed game crash in macOS with SMAPI 2.8.
## 2.8.1
Released 19 November 2018 for Stardew Valley 1.3.32.
@@ -205,7 +205,7 @@ Released 19 November 2018 for Stardew Valley 1.3.32.
* SMAPI now recommends a compatible SMAPI version if you have an older game version.
* Improved various error messages to be more clear and intuitive.
* Improved compatibility with various Linux shells (thanks to lqdev!), and prefer xterm when available.
- * Fixed transparency issues on Linux/Mac for some mod images.
+ * Fixed transparency issues on Linux/macOS for some mod images.
* Fixed error when a mod manifest is corrupted.
* Fixed error when a mod adds an unnamed location.
* Fixed friendly error no longer shown when SMAPI isn't run from the game folder.
@@ -223,7 +223,7 @@ Released 19 November 2018 for Stardew Valley 1.3.32.
* The log parser now has a separate filter for game messages.
* The log parser now shows content pack authors (thanks to danvolchek!).
* Tweaked log parser UI (thanks to danvolchek!).
- * Fixed log parser instructions for Mac.
+ * Fixed log parser instructions for macOS.
* For mod authors:
* Added [data API](https://stardewvalleywiki.com/Modding:Modder_Guide/APIs/Data) to store mod data in the save file or app data.
@@ -267,7 +267,7 @@ Released 14 August 2018 for Stardew Valley 1.3.28.
* Improved how mod issues are listed in the console and log.
* Revamped installer. It now...
* uses a new format that should be more intuitive;
- * lets players on Linux/Mac choose the console color scheme (SMAPI will auto-detect it on Windows);
+ * lets players on Linux/macOS choose the console color scheme (SMAPI will auto-detect it on Windows);
* and validates requirements earlier.
* Fixed custom festival maps always using spring tilesheets.
* Fixed `player_add` command not recognising return scepter.
@@ -314,8 +314,8 @@ Released 01 August 2018 for Stardew Valley 1.3.27.
* Removed the `player_setlevel` and `player_setspeed` commands, which weren't implemented in a useful way. Use a mod like CJB Cheats Menu if you need those.
* Fixed `SEHException` errors for some players.
* Fixed performance issues for some players.
- * Fixed default color scheme on Mac or in PowerShell (configurable via `StardewModdingAPI.config.json`).
- * Fixed installer error on Linux/Mac in some cases.
+ * Fixed default color scheme on macOS or in PowerShell (configurable via `StardewModdingAPI.config.json`).
+ * Fixed installer error on Linux/macOS in some cases.
* Fixed installer not finding some game paths or showing duplicate paths.
* Fixed installer not removing some SMAPI files.
* Fixed launch issue for Linux players with some terminals. (Thanks to HanFox and kurumushi!)
@@ -345,7 +345,7 @@ Released 01 August 2018 for Stardew Valley 1.3.27.
* each event now provides a list of added/removed values;
* added buildings-changed event.
* Added `Context.IsMultiplayer` and `Context.IsMainPlayer` flags.
- * Added `Constants.TargetPlatform` which says whether the game is running on Linux, Mac, or Windows.
+ * Added `Constants.TargetPlatform` which says whether the game is running on Linux, macOS, or Windows.
* Added `semanticVersion.IsPrerelease()` method.
* Added support for launching multiple instances transparently. This removes the former `--log-path` command-line argument.
* Added support for custom seasonal tilesheets when loading an unpacked `.tbin` map.
@@ -376,7 +376,7 @@ Released 01 August 2018 for Stardew Valley 1.3.27.
* Mod IDs should only contain letters, numbers, hyphens, dots, and underscores. That allows their use in many contexts like URLs. This restriction is now enforced. (In regex form: `^[a-zA-Z0-9_.-]+$`.)
* For SMAPI developers:
- * Added more consistent crossplatform handling, including MacOS detection.
+ * Added more consistent crossplatform handling, including macOS detection.
* Added beta update channel.
* Added optional mod metadata to the web API (including Nexus info, wiki metadata, etc).
* Added early prototype of SMAPI 3.0 events via `helper.Events`.
@@ -411,7 +411,7 @@ Released 26 March 2018 for Stardew Valley 1.2.30–1.2.33.
* For players:
* Fixed some textures not updated when a mod changes them.
- * Fixed visual bug on Linux/Mac when mods overlay textures.
+ * Fixed visual bug on Linux/macOS when mods overlay textures.
* Fixed error when mods remove an asset editor/loader.
* Fixed minimum game version incorrectly increased in SMAPI 2.5.3.
@@ -467,9 +467,9 @@ Released 24 February 2018 for Stardew Valley 1.2.30–1.2.33.
* **Added support for [content packs](https://stardewvalleywiki.com/Modding:Content_packs)**.
<small>_Content packs are collections of files for a SMAPI mod to load. These can be installed directly under `Mods` like a normal SMAPI mod, get automatic update and compatibility checks, and provide convenient APIs to the mods that read them._</small>
* Added mod detection for unhandled errors (so most errors now mention which mod caused them).
- * Added install scripts for Linux/Mac (no more manual terminal commands!).
+ * Added install scripts for Linux/macOS (no more manual terminal commands!).
* Added the missing mod's name and URL to dependency errors.
- * Fixed uninstall script not reporting when done on Linux/Mac.
+ * Fixed uninstall script not reporting when done on Linux/macOS.
* Updated compatibility list and enabled update checks for more mods.
* For mod authors:
@@ -524,7 +524,7 @@ Released 26 December 2017 for Stardew Valley 1.2.30–1.2.33.
* For players:
* Added a user-friendly [download page](https://smapi.io).
- * Improved cryptic libgdiplus errors on Mac when Mono isn't installed.
+ * Improved cryptic libgdiplus errors on macOS when Mono isn't installed.
* Fixed mod UIs hidden when menu backgrounds are enabled.
* For mod authors:
@@ -545,9 +545,9 @@ Released 26 December 2017 for Stardew Valley 1.2.30–1.2.33.
Released 02 December 2017 for Stardew Valley 1.2.30–1.2.33.
* For players:
- * Fixed error when a mod loads custom assets on Linux/Mac.
- * Fixed error when checking for updates on Linux/Mac due to API HTTPS redirect.
- * Fixed error when Mac adds an `mcs` symlink to the installer package.
+ * Fixed error when a mod loads custom assets on Linux/macOS.
+ * Fixed error when checking for updates on Linux/macOS due to API HTTPS redirect.
+ * Fixed error when macOS adds an `mcs` symlink to the installer package.
* Fixed `player_add` command not handling tool upgrade levels.
* Improved error when a mod has an invalid `EntryDLL` filename format.
* Updated compatibility list.
@@ -651,7 +651,7 @@ For players:
* The console is now simpler and easier to read, and adjusts its colors to fit your terminal background color.
* Renamed installer folder to avoid confusion.
* Updated compatibility list.
-* Fixed update check errors on Linux/Mac.
+* Fixed update check errors on Linux/macOS.
* Fixed collection-changed errors during startup for some players.
For mod developers:
@@ -685,7 +685,7 @@ For SMAPI developers:
Released 09 September 2017 for Stardew Valley 1.2.30–1.2.33.
For players:
-* Fixed errors when loading some custom maps on Linux/Mac or using XNB Loader.
+* Fixed errors when loading some custom maps on Linux/macOS or using XNB Loader.
* Fixed errors in rare cases when a mod calculates an in-game date.
For mod authors:
@@ -772,7 +772,7 @@ For players:
* you have Stardew Valley 1.11 or earlier (which aren't compatible);
* you run `install.exe` from within the downloaded zip file.
* Fixed "unknown mod" deprecation warnings by improving how SMAPI detects the mod using the event.
-* Fixed `libgdiplus.dylib` errors for some players on Mac.
+* Fixed `libgdiplus.dylib` errors for some players on macOS.
* Fixed rare crash when window loses focus for a few players.
* Bumped minimum game version to 1.2.30.
* Updated mod compatibility list.
@@ -805,8 +805,8 @@ For players:
* SMAPI now recovers automatically from errors in the game loop when possible.
* SMAPI now remembers if your game crashed and offers help next time you launch it.
* Fixed installer sometimes finding redundant game paths.
-* Fixed save events not being raised after the first day on Linux/Mac.
-* Fixed error on Linux/Mac when a mod loads a PNG immediately after the save is loaded.
+* Fixed save events not being raised after the first day on Linux/macOS.
+* Fixed error on Linux/macOS when a mod loads a PNG immediately after the save is loaded.
* Updated mod compatibility list for Stardew Valley 1.2.
For mod developers:
@@ -826,15 +826,15 @@ Released 03 May 2017 for Stardew Valley 1.2.26–1.2.29.
For players:
* The installer now lets you choose the install path if you have multiple copies of the game, instead of using the first path found.
* Fixed mod draw errors breaking the game.
-* Fixed mods on Linux/Mac no longer working after the game saves.
-* Fixed `libgdiplus.dylib` errors on Mac when mods read PNG files.
+* Fixed mods on Linux/macOS no longer working after the game saves.
+* Fixed `libgdiplus.dylib` errors on macOS when mods read PNG files.
* Adopted pufferchick.
For mod developers:
* Unknown mod manifest fields are now stored in `IManifest::ExtraFields`.
* The content API now defaults to `ContentSource.ModFolder`.
* Fixed content API error when loading a PNG during early game init (e.g. in mod's `Entry`).
-* Fixed content API error when loading an XNB from the mod folder on Mac.
+* Fixed content API error when loading an XNB from the mod folder on macOS.
## 1.11
Released 30 April 2017 for Stardew Valley 1.2.26.
@@ -888,7 +888,7 @@ For players:
* Fixed the game-needs-an-update error not pausing before exit.
* Fixed installer errors for some players when deleting files.
* Fixed installer not ignoring potential game folders that don't contain a Stardew Valley exe.
-* Fixed installer not recognising Linux/Mac paths starting with `~/` or containing an escaped space.
+* Fixed installer not recognising Linux/macOS paths starting with `~/` or containing an escaped space.
* Fixed TrainerMod letting you add invalid items which may crash the game.
* Fixed TrainerMod's `world_downminelevel` command not working.
* Fixed rare issue where mod dependencies would override SMAPI dependencies and cause unpredictable bugs.
@@ -912,7 +912,7 @@ For mod developers:
* Removed the experimental `IConfigFile`.
For SMAPI developers:
-* Added support for debugging SMAPI on Linux/Mac if supported by the editor.
+* Added support for debugging SMAPI on Linux/macOS if supported by the editor.
## 1.8
Released 04 February 2017 for Stardew Valley 1.1–1.11.
@@ -1004,7 +1004,7 @@ For players:
* Improved installer wording to reduce confusion.
* Fixed the installer not removing TrainerMod from appdata if it's already in the game mods directory.
* Fixed the installer not moving mods out of appdata if the game isn't installed on the same Windows partition.
- * Fixed the SMAPI console not being shown on Linux and Mac.
+ * Fixed the SMAPI console not being shown on Linux and macOS.
For developers:
* Added a reflection API (via `helper.Reflection`) that simplifies robust access to the game's private fields and methods.
@@ -1016,7 +1016,7 @@ For developers:
Released 04 December 2016 for Stardew Valley 1.1–1.11.
For players:
- * You can now run most mods on any platform (e.g. run Windows mods on Linux/Mac).
+ * You can now run most mods on any platform (e.g. run Windows mods on Linux/macOS).
* Fixed the normal uninstaller not removing files added by the 'SMAPI for developers' installer.
## 1.2
@@ -1063,7 +1063,7 @@ For developers:
Released 11 November 2016 for Stardew Valley 1.1–1.11.
For players:
- * Added support for Linux and Mac.
+ * Added support for Linux and macOS.
* Added installer to automate adding & removing SMAPI.
* Added background update check on launch.
* Fixed missing `steam_appid.txt` file.
diff --git a/docs/release-notes.md b/docs/release-notes.md
index 2ed46af1..cb0be542 100644
--- a/docs/release-notes.md
+++ b/docs/release-notes.md
@@ -13,6 +13,7 @@
* On macOS, the `StardewModdingAPI.bin.osx` file is no longer overwritten if it's identical to avoid resetting file permissions (thanks to 007wayne!).
* Fixed error for non-English players after returning to title, reloading, and entering town with a completed movie theater.
* Fixed `world_clear` console command not removing resource clumps outside the farm and secret woods.
+ * Fixed inconsistent spelling/style for 'macOS'.
* Internal changes to prepare for unofficial 64-bit.
* For modders:
@@ -247,7 +248,7 @@ Released 03 October 2020 for Stardew Valley 1.4.1 or later.
Released 16 September 2020 for Stardew Valley 1.4.1 or later.
* For players:
- * Fixed errors on Linux/Mac due to content packs with incorrect filename case.
+ * Fixed errors on Linux/macOS due to content packs with incorrect filename case.
* Fixed map rendering crash due to conflict between SMAPI and PyTK.
* Fixed error in heuristically-rewritten mods in rare cases (thanks to collaboration with ZaneYork!).
@@ -291,7 +292,7 @@ Released 07 September 2020 for Stardew Valley 1.4.1 or later. See [release highl
* For mod authors:
* Added `PathUtilities` to simplify working with file/asset names.
* You can now read/write `SDate` values to JSON (e.g. for `config.json`, network mod messages, etc).
- * Fixed asset propagation not updating title menu buttons immediately on Linux/Mac.
+ * Fixed asset propagation not updating title menu buttons immediately on Linux/macOS.
* For the web UI:
* Updated the JSON validator/schema for Content Patcher 1.16 and 1.17.
@@ -336,7 +337,7 @@ Released 20 June 2020 for Stardew Valley 1.4.1 or later. See [release highlights
* Added experimental option to reduce startup time when loading mod DLLs (thanks to ZaneYork!). Enable `RewriteInParallel` in the `smapi-internal/config.json` to try it.
* Reduced processing time when a mod loads many unpacked images (thanks to Entoarox!).
* Mod load warnings are now listed alphabetically.
- * MacOS files starting with `._` are now ignored and can no longer cause skipped mods.
+ * macOS files starting with `._` are now ignored and can no longer cause skipped mods.
* Simplified paranoid warning logs and reduced their log level.
* Fixed black maps on Android for mods which use `.tmx` files.
* Fixed `BadImageFormatException` error detection.
@@ -392,7 +393,7 @@ Released 27 April 2020 for Stardew Valley 1.4.1 or later. See [release highlight
* Added `SDate` fields/methods: `SeasonIndex`, `FromDaysSinceStart`, `FromWorldDate`, `ToWorldDate`, and `ToLocaleString` (thanks to kdau!).
* Added `SDate` translations taken from the Lookup Anything mod.¹
* Fixed asset propagation for certain maps loaded through temporary content managers. This notably fixes unreliable patches to the farmhouse and town maps.
- * Fixed asset propagation on Linux/Mac for monster sprites, NPC dialogue, and NPC schedules.
+ * Fixed asset propagation on Linux/macOS for monster sprites, NPC dialogue, and NPC schedules.
* Fixed asset propagation for NPC dialogue sometimes causing a spouse to skip marriage dialogue or not allow kisses.
¹ Date format translations were taken from the Lookup Anything mod; thanks to translators FixThisPlz (improved Russian), LeecanIt (added Italian), pomepome (added Japanese), S2SKY (added Korean), Sasara (added German), SteaNN (added Russian), ThomasGabrielDelavault (added Spanish), VincentRoth (added French), Yllelder (improved Spanish), and yuwenlan (added Chinese). Some translations for Korean, Hungarian, and Turkish were derived from the game translations.
@@ -408,7 +409,7 @@ Released 24 March 2020 for Stardew Valley 1.4.1 or later.
Released 22 March 2020 for Stardew Valley 1.4.1 or later. See [release highlights](https://www.patreon.com/posts/35161371).
* For players:
- * Fixed semi-transparency issues on Linux/Mac in recent versions of Mono (e.g. pink shadows).
+ * Fixed semi-transparency issues on Linux/macOS in recent versions of Mono (e.g. pink shadows).
* Fixed `player_add` command error if you have broken XNB mods.
* Removed invalid-location check now handled by the game.
* Updated translations. Thanks to Annosz (added Hungarian)!
@@ -450,7 +451,7 @@ Released 22 February 2020 for Stardew Valley 1.4.1 or later. See [release highli
* Updated translations. Thanks to xCarloC (added Italian)!
* For the Save Backup mod:
- * Fixed warning on MacOS when you have no saves yet.
+ * Fixed warning on macOS when you have no saves yet.
* Reduced log messages.
* For the web UI:
diff --git a/docs/technical/mod-package.md b/docs/technical/mod-package.md
index 8c9c59fb..6d04722c 100644
--- a/docs/technical/mod-package.md
+++ b/docs/technical/mod-package.md
@@ -1,7 +1,7 @@
&larr; [SMAPI](../README.md)
The **mod build package** is an open-source NuGet package which automates the MSBuild configuration
-for SMAPI mods and related tools. The package is fully compatible with Linux, Mac, and Windows.
+for SMAPI mods and related tools. The package is fully compatible with Linux, macOS, and Windows.
## Contents
* [Use](#use)
@@ -33,7 +33,7 @@ change how these work):
* **Add assembly references:**
The package adds assembly references to SMAPI, Stardew Valley, xTile, and the game framework
- (MonoGame on Linux/Mac, XNA Framework on Windows). It automatically adjusts depending on which OS
+ (MonoGame on Linux/macOS, XNA Framework on Windows). It automatically adjusts depending on which OS
you're compiling it on. If you use [Harmony](https://stardewvalleywiki.com/Modding:Modder_Guide/APIs/Harmony),
it can optionally add a reference to that too.
@@ -55,7 +55,7 @@ change how these work):
breakpoints](https://docs.microsoft.com/en-us/visualstudio/debugger/using-breakpoints?view=vs-2019)
in your code while the game is running, or [make simple changes to the mod code without needing to
restart the game](https://docs.microsoft.com/en-us/visualstudio/debugger/edit-and-continue?view=vs-2019).
- This is disabled on Linux/Mac due to limitations with the Mono wrapper.
+ This is disabled on Linux/macOS due to limitations with the Mono wrapper.
* **Preconfigure common settings:**
The package automatically enables `.pdb` files (so error logs show line numbers to simplify
@@ -82,7 +82,7 @@ There are two places you can put them:
1. Open the home folder on your computer (see instructions for
[Linux](https://superuser.com/questions/409218/where-is-my-users-home-folder-in-ubuntu),
- [MacOS](https://www.cnet.com/how-to/how-to-find-your-macs-home-folder-and-add-it-to-finder/),
+ [macOS](https://www.cnet.com/how-to/how-to-find-your-macs-home-folder-and-add-it-to-finder/),
or [Windows](https://www.computerhope.com/issues/ch000109.htm)).
2. Create a `stardewvalley.targets` file with this content:
```xml
@@ -132,7 +132,7 @@ The absolute path to the folder containing the game's installed mods (defaults t
<td><code>GameExecutableName</code></td>
<td>
-The filename for the game's executable (i.e. `StardewValley.exe` on Linux/Mac or
+The filename for the game's executable (i.e. `StardewValley.exe` on Linux/macOS or
`Stardew Valley.exe` on Windows). This is auto-detected, and you should almost never change this.
</td>
@@ -484,7 +484,7 @@ Released 05 June 2017.
Released 23 January 2017.
* Added support for setting a custom game path globally.
-* Added default GOG path on Mac.
+* Added default GOG path on macOS.
### 1.4
Released 11 January 2017.
diff --git a/docs/technical/smapi.md b/docs/technical/smapi.md
index 993bddfb..ca1631cd 100644
--- a/docs/technical/smapi.md
+++ b/docs/technical/smapi.md
@@ -33,7 +33,7 @@ argument | purpose
`--game-path "path"` | Specifies the full path to the folder containing the Stardew Valley executable, skipping automatic detection and any prompt to choose a path. If the path is not valid, the installer displays an error.
SMAPI itself recognises two arguments **on Windows only**, but these are intended for internal use
-or testing and may change without warning. On Linux/Mac, see _environment variables_ below.
+or testing and may change without warning. On Linux/macOS, see _environment variables_ below.
argument | purpose
-------- | -------
@@ -41,7 +41,7 @@ argument | purpose
`--mods-path` | The path to search for mods, if not the standard `Mods` folder. This can be a path relative to the game folder (like `--mods-path "Mods (test)"`) or an absolute path.
### Environment variables
-The above SMAPI arguments don't work on Linux/Mac due to the way the game launcher works. You can
+The above SMAPI arguments don't work on Linux/macOS due to the way the game launcher works. You can
set temporary environment variables instead. For example:
> SMAPI_MODS_PATH="Mods (multiplayer)" /path/to/StardewValley
@@ -56,7 +56,7 @@ SMAPI uses a small number of conditional compilation constants, which you can se
flag | purpose
---- | -------
-`SMAPI_FOR_WINDOWS` | Whether SMAPI is being compiled for Windows; if not set, the code assumes Linux/MacOS. Set automatically in `common.targets`.
+`SMAPI_FOR_WINDOWS` | Whether SMAPI is being compiled for Windows; if not set, the code assumes Linux/macOS. Set automatically in `common.targets`.
`SMAPI_FOR_WINDOWS_64BIT_HACK` | Whether SMAPI is being [compiled for Windows with a 64-bit Linux version of the game](https://github.com/Pathoschild/SMAPI/issues/767). This is highly specialized and shouldn't be used in most cases. False by default.
`SMAPI_FOR_XNA` | Whether SMAPI is being compiled for XNA Framework; if not set, the code assumes MonoGame. Set automatically in `common.targets` with the same value as `SMAPI_FOR_WINDOWS` (unless `SMAPI_FOR_WINDOWS_64BIT_HACK` is set).
`HARMONY_2` | Whether to enable experimental Harmony 2.0 support and rewrite existing Harmony 1._x_ mods for compatibility. Note that you need to replace `build/0Harmony.dll` with a Harmony 2.0 build (or switch to a package reference) to use this flag.
@@ -73,7 +73,7 @@ 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 `SMAPI` project with debugging from Visual Studio (on Mac or Windows) will launch SMAPI with
+the `SMAPI` project with debugging from Visual Studio (on macOS or Windows) will launch SMAPI with
the debugger attached, so you can intercept errors and step through the code being executed. That
doesn't work in MonoDevelop on Linux, unfortunately.
@@ -93,9 +93,9 @@ on the wiki for the first-time setup.
2. In Windows:
1. Rebuild the solution with the _release_ solution configuration.
- 2. Copy `bin/SMAPI installer` and `bin/SMAPI installer for developers` to Linux/Mac.
+ 2. Copy `bin/SMAPI installer` and `bin/SMAPI installer for developers` to Linux/macOS.
-3. In Linux/Mac:
+3. In Linux/macOS:
1. Rebuild the solution with the _release_ solution configuration.
2. Add the `windows-install.*` files from Windows to the `bin/SMAPI installer` and
`bin/SMAPI installer for developers` folders compiled on Linux.
diff --git a/src/SMAPI.Installer/Framework/InstallerContext.cs b/src/SMAPI.Installer/Framework/InstallerContext.cs
index 7531eaee..88e57760 100644
--- a/src/SMAPI.Installer/Framework/InstallerContext.cs
+++ b/src/SMAPI.Installer/Framework/InstallerContext.cs
@@ -35,7 +35,7 @@ namespace StardewModdingAPI.Installer.Framework
/// <summary>Whether the installer is running on Windows.</summary>
public bool IsWindows => this.Platform == Platform.Windows;
- /// <summary>Whether the installer is running on a Unix OS (including Linux or MacOS).</summary>
+ /// <summary>Whether the installer is running on a Unix OS (including Linux or macOS).</summary>
public bool IsUnix => !this.IsWindows;
diff --git a/src/SMAPI.Installer/Framework/InstallerPaths.cs b/src/SMAPI.Installer/Framework/InstallerPaths.cs
index ac6c3a8e..2cabf88b 100644
--- a/src/SMAPI.Installer/Framework/InstallerPaths.cs
+++ b/src/SMAPI.Installer/Framework/InstallerPaths.cs
@@ -47,13 +47,13 @@ namespace StardewModdingAPI.Installer.Framework
/// <summary>The full path to the installed SMAPI executable file.</summary>
public string ExecutablePath { get; }
- /// <summary>The full path to the vanilla game launcher on Linux/Mac.</summary>
+ /// <summary>The full path to the vanilla game launcher on Linux/macOS.</summary>
public string UnixLauncherPath { get; }
- /// <summary>The full path to the installed SMAPI launcher on Linux/Mac before it's renamed.</summary>
+ /// <summary>The full path to the installed SMAPI launcher on Linux/macOS before it's renamed.</summary>
public string UnixSmapiLauncherPath { get; }
- /// <summary>The full path to the vanilla game launcher on Linux/Mac after SMAPI is installed.</summary>
+ /// <summary>The full path to the vanilla game launcher on Linux/macOS after SMAPI is installed.</summary>
public string UnixBackupLauncherPath { get; }
diff --git a/src/SMAPI.Installer/InteractiveInstaller.cs b/src/SMAPI.Installer/InteractiveInstaller.cs
index 2dcd81e7..376949da 100644
--- a/src/SMAPI.Installer/InteractiveInstaller.cs
+++ b/src/SMAPI.Installer/InteractiveInstaller.cs
@@ -38,11 +38,11 @@ namespace StardewModdingApi.Installer
string GetInstallPath(string path) => Path.Combine(installDir.FullName, path);
// current files
- yield return GetInstallPath("libgdiplus.dylib"); // Linux/Mac only
- yield return GetInstallPath("StardewModdingAPI"); // Linux/Mac only
+ yield return GetInstallPath("libgdiplus.dylib"); // Linux/macOS only
+ yield return GetInstallPath("StardewModdingAPI"); // Linux/macOS only
yield return GetInstallPath("StardewModdingAPI.exe");
yield return GetInstallPath("StardewModdingAPI.exe.config");
- yield return GetInstallPath("StardewModdingAPI.exe.mdb"); // Linux/Mac only
+ yield return GetInstallPath("StardewModdingAPI.exe.mdb"); // Linux/macOS only
yield return GetInstallPath("StardewModdingAPI.pdb"); // Windows only
yield return GetInstallPath("StardewModdingAPI.xml");
yield return GetInstallPath("smapi-internal");
@@ -104,13 +104,13 @@ namespace StardewModdingApi.Installer
/// 2. Ask the user whether to install or uninstall.
///
/// Uninstall logic:
- /// 1. On Linux/Mac: if a backup of the launcher exists, delete the launcher and restore the backup.
+ /// 1. On Linux/macOS: if a backup of the launcher exists, delete the launcher and restore the backup.
/// 2. Delete all files and folders in the game directory matching one of the values returned by <see cref="GetUninstallPaths"/>.
///
/// Install flow:
/// 1. Run the uninstall flow.
/// 2. Copy the SMAPI files from package/Windows or package/Mono into the game directory.
- /// 3. On Linux/Mac: back up the game launcher and replace it with the SMAPI launcher. (This isn't possible on Windows, so the user needs to configure it manually.)
+ /// 3. On Linux/macOS: back up the game launcher and replace it with the SMAPI launcher. (This isn't possible on Windows, so the user needs to configure it manually.)
/// 4. Create the 'Mods' directory.
/// 5. Copy the bundled mods into the 'Mods' directory (deleting any existing versions).
/// 6. Move any mods from app data into game's mods directory.
@@ -141,7 +141,7 @@ namespace StardewModdingApi.Installer
#else
if (context.IsWindows)
{
- this.PrintError($"This is the installer for Linux/Mac. Run the 'install on Windows.exe' file instead.");
+ this.PrintError($"This is the installer for Linux/macOS. Run the 'install on Windows.exe' file instead.");
Console.ReadLine();
return;
}
@@ -194,7 +194,7 @@ namespace StardewModdingApi.Installer
/*********
- ** Step 2: choose a theme (can't auto-detect on Linux/Mac)
+ ** Step 2: choose a theme (can't auto-detect on Linux/macOS)
*********/
MonitorColorScheme scheme = MonitorColorScheme.AutoDetect;
if (context.IsUnix)
@@ -720,7 +720,7 @@ namespace StardewModdingApi.Installer
// normalize path
path = context.IsWindows
? path.Replace("\"", "") // in Windows, quotes are used to escape spaces and aren't part of the file path
- : path.Replace("\\ ", " "); // in Linux/Mac, spaces in paths may be escaped if copied from the command line
+ : path.Replace("\\ ", " "); // in Linux/macOS, spaces in paths may be escaped if copied from the command line
if (path.StartsWith("~/"))
{
string home = Environment.GetEnvironmentVariable("HOME") ?? Environment.GetEnvironmentVariable("USERPROFILE");
@@ -840,7 +840,7 @@ namespace StardewModdingApi.Installer
switch (entry.Name)
{
case "mcs":
- return false; // ignore Mac symlink
+ return false; // ignore macOS symlink
case "Mods":
return false; // Mods folder handled separately
default:
diff --git a/src/SMAPI.Installer/assets/README.txt b/src/SMAPI.Installer/assets/README.txt
index 0da49a46..c3a7e271 100644
--- a/src/SMAPI.Installer/assets/README.txt
+++ b/src/SMAPI.Installer/assets/README.txt
@@ -24,19 +24,20 @@ Manual install
THIS IS NOT RECOMMENDED FOR MOST PLAYERS. See instructions above instead.
If you really want to install SMAPI manually, here's how.
-1. Unzip "internal/windows-install.dat" (on Windows) or "internal/unix-install.dat" (on Linux/Mac).
- You can change '.dat' to '.zip', it's just a normal zip file renamed to prevent confusion.
+1. Unzip "internal/windows-install.dat" (on Windows) or "internal/unix-install.dat" (on
+ Linux/macOS). You can change '.dat' to '.zip', it's just a normal zip file renamed to prevent
+ confusion.
2. Copy the files from the folder you just unzipped into your game folder. The
`StardewModdingAPI.exe` file should be right next to the game's executable.
3.
- Windows only: if you use Steam, see the install guide above to enable achievements and
overlay. Otherwise, just run StardewModdingAPI.exe in your game folder to play with mods.
- - Linux/Mac only: rename the "StardewValley" file (no extension) to "StardewValley-original", and
+ - Linux/macOS only: rename the "StardewValley" file (no extension) to "StardewValley-original", and
"StardewModdingAPI" (no extension) to "StardewValley". Now just launch the game as usual to
play with mods.
-When installing on Linux or Mac:
+When installing on Linux or macOS:
- Make sure Mono is installed (normally the installer checks for you). While it's not required,
many mods won't work correctly without it. (Specifically, mods which load PNG images may crash or
freeze the game.)
diff --git a/src/SMAPI.Installer/assets/unix-install.sh b/src/SMAPI.Installer/assets/unix-install.sh
index 6d0c86ce..311c5469 100644
--- a/src/SMAPI.Installer/assets/unix-install.sh
+++ b/src/SMAPI.Installer/assets/unix-install.sh
@@ -1,5 +1,5 @@
#!/bin/bash
-# Run the SMAPI installer through Mono on Linux or Mac.
+# Run the SMAPI installer through Mono on Linux or macOS.
# Move to script's directory
cd "`dirname "$0"`"
diff --git a/src/SMAPI.Internal/ConsoleWriting/ColorfulConsoleWriter.cs b/src/SMAPI.Internal/ConsoleWriting/ColorfulConsoleWriter.cs
index b5bd4600..bfe155e0 100644
--- a/src/SMAPI.Internal/ConsoleWriting/ColorfulConsoleWriter.cs
+++ b/src/SMAPI.Internal/ConsoleWriting/ColorfulConsoleWriter.cs
@@ -129,7 +129,7 @@ namespace StardewModdingAPI.Internal.ConsoleWriting
if (schemeID == MonitorColorScheme.AutoDetect)
{
schemeID = platform == Platform.Mac
- ? MonitorColorScheme.LightBackground // MacOS doesn't provide console background color info, but it's usually white.
+ ? MonitorColorScheme.LightBackground // macOS doesn't provide console background color info, but it's usually white.
: ColorfulConsoleWriter.IsDark(Console.BackgroundColor) ? MonitorColorScheme.DarkBackground : MonitorColorScheme.LightBackground;
}
diff --git a/src/SMAPI.Mods.SaveBackup/ModEntry.cs b/src/SMAPI.Mods.SaveBackup/ModEntry.cs
index b8d3be1c..d6414e9c 100644
--- a/src/SMAPI.Mods.SaveBackup/ModEntry.cs
+++ b/src/SMAPI.Mods.SaveBackup/ModEntry.cs
@@ -145,7 +145,7 @@ namespace StardewModdingAPI.Mods.SaveBackup
try
{
if (Constants.TargetPlatform == GamePlatform.Mac)
- this.CompressUsingMacProcess(sourcePath, destination); // due to limitations with the bundled Mono on Mac, we can't reference System.IO.Compression
+ this.CompressUsingMacProcess(sourcePath, destination); // due to limitations with the bundled Mono on macOS, we can't reference System.IO.Compression
else
this.CompressUsingNetFramework(sourcePath, destination);
@@ -185,7 +185,7 @@ namespace StardewModdingAPI.Mods.SaveBackup
createFromDirectory.Invoke(null, new object[] { sourcePath, destination.FullName, CompressionLevel.Fastest, false });
}
- /// <summary>Create a zip using a process command on MacOS.</summary>
+ /// <summary>Create a zip using a process command on macOS.</summary>
/// <param name="sourcePath">The file or directory path to zip.</param>
/// <param name="destination">The destination file to create.</param>
private void CompressUsingMacProcess(string sourcePath, FileInfo destination)
diff --git a/src/SMAPI.Tests/Utilities/PathUtilitiesTests.cs b/src/SMAPI.Tests/Utilities/PathUtilitiesTests.cs
index b5494003..5a342974 100644
--- a/src/SMAPI.Tests/Utilities/PathUtilitiesTests.cs
+++ b/src/SMAPI.Tests/Utilities/PathUtilitiesTests.cs
@@ -251,7 +251,7 @@ namespace SMAPI.Tests.Utilities
[TestCase(
@"~/parent",
@"~/PARENT/child",
- ExpectedResult = @"child" // note: incorrect on Linux and sometimes MacOS, but not worth the complexity of detecting whether the filesystem is case-sensitive for SMAPI's purposes
+ ExpectedResult = @"child" // note: incorrect on Linux and sometimes macOS, but not worth the complexity of detecting whether the filesystem is case-sensitive for SMAPI's purposes
)]
#endif
public string GetRelativePath(string sourceDir, string targetPath)
diff --git a/src/SMAPI.Toolkit/Framework/Clients/WebApi/WebApiClient.cs b/src/SMAPI.Toolkit/Framework/Clients/WebApi/WebApiClient.cs
index 2fb6ed20..c2d906a0 100644
--- a/src/SMAPI.Toolkit/Framework/Clients/WebApi/WebApiClient.cs
+++ b/src/SMAPI.Toolkit/Framework/Clients/WebApi/WebApiClient.cs
@@ -61,7 +61,7 @@ namespace StardewModdingAPI.Toolkit.Framework.Clients.WebApi
/// <param name="content">The body content to post.</param>
private TResult Post<TBody, TResult>(string url, TBody content)
{
- // note: avoid HttpClient for Mac compatibility
+ // note: avoid HttpClient for macOS compatibility
using WebClient client = new WebClient();
Uri fullUrl = new Uri(this.BaseUrl, url);
diff --git a/src/SMAPI.Toolkit/Framework/GameScanning/GameScanner.cs b/src/SMAPI.Toolkit/Framework/GameScanning/GameScanner.cs
index 785daba3..d18a2204 100644
--- a/src/SMAPI.Toolkit/Framework/GameScanning/GameScanner.cs
+++ b/src/SMAPI.Toolkit/Framework/GameScanning/GameScanner.cs
@@ -82,7 +82,7 @@ namespace StardewModdingAPI.Toolkit.Framework.GameScanning
? $"{home}/.steam/steam/steamapps/common/Stardew Valley"
: $"{home}/.local/share/Steam/steamapps/common/Stardew Valley";
- // Mac
+ // macOS
yield return "/Applications/Stardew Valley.app/Contents/MacOS";
yield return $"{home}/Library/Application Support/Steam/steamapps/common/Stardew Valley/Contents/MacOS";
}
diff --git a/src/SMAPI.Toolkit/Framework/LowLevelEnvironmentUtility.cs b/src/SMAPI.Toolkit/Framework/LowLevelEnvironmentUtility.cs
index e635725c..8cbd8e51 100644
--- a/src/SMAPI.Toolkit/Framework/LowLevelEnvironmentUtility.cs
+++ b/src/SMAPI.Toolkit/Framework/LowLevelEnvironmentUtility.cs
@@ -74,7 +74,7 @@ namespace StardewModdingAPI.Toolkit.Framework
break;
case nameof(Platform.Mac):
- name = $"MacOS {name}";
+ name = $"macOS {name}";
break;
}
return name;
@@ -124,10 +124,10 @@ namespace StardewModdingAPI.Toolkit.Framework
}
}
- /// <summary>Detect whether the code is running on Mac.</summary>
+ /// <summary>Detect whether the code is running on macOS.</summary>
/// <remarks>
- /// This code is derived from the Mono project (see System.Windows.Forms/System.Windows.Forms/XplatUI.cs). It detects Mac by calling the
- /// <c>uname</c> system command and checking the response, which is always 'Darwin' for MacOS.
+ /// This code is derived from the Mono project (see System.Windows.Forms/System.Windows.Forms/XplatUI.cs). It detects macOS by calling the
+ /// <c>uname</c> system command and checking the response, which is always 'Darwin' for macOS.
/// </remarks>
private static bool IsRunningMac()
{
diff --git a/src/SMAPI.Toolkit/Framework/ModData/ModWarning.cs b/src/SMAPI.Toolkit/Framework/ModData/ModWarning.cs
index 925e0b5c..afebba87 100644
--- a/src/SMAPI.Toolkit/Framework/ModData/ModWarning.cs
+++ b/src/SMAPI.Toolkit/Framework/ModData/ModWarning.cs
@@ -18,7 +18,7 @@ namespace StardewModdingAPI.Toolkit.Framework.ModData
/// <summary>The mod patches the game in a way that may impact stability.</summary>
PatchesGame = 4,
- /// <summary>The mod uses the <c>dynamic</c> keyword which won't work on Linux/Mac.</summary>
+ /// <summary>The mod uses the <c>dynamic</c> keyword which won't work on Linux/macOS.</summary>
UsesDynamic = 8,
/// <summary>The mod references specialized 'unvalidated update tick' events which may impact stability.</summary>
diff --git a/src/SMAPI.Toolkit/Framework/ModScanning/ModScanner.cs b/src/SMAPI.Toolkit/Framework/ModScanning/ModScanner.cs
index fd206d9d..30177fc5 100644
--- a/src/SMAPI.Toolkit/Framework/ModScanning/ModScanner.cs
+++ b/src/SMAPI.Toolkit/Framework/ModScanning/ModScanner.cs
@@ -21,7 +21,7 @@ namespace StardewModdingAPI.Toolkit.Framework.ModScanning
private readonly HashSet<Regex> IgnoreFilesystemNames = new HashSet<Regex>
{
new Regex(@"^__folder_managed_by_vortex$", RegexOptions.Compiled | RegexOptions.IgnoreCase), // Vortex mod manager
- new Regex(@"(?:^\._|^\.DS_Store$|^__MACOSX$|^mcs$)", RegexOptions.Compiled | RegexOptions.IgnoreCase), // MacOS
+ new Regex(@"(?:^\._|^\.DS_Store$|^__MACOSX$|^mcs$)", RegexOptions.Compiled | RegexOptions.IgnoreCase), // macOS
new Regex(@"^(?:desktop\.ini|Thumbs\.db)$", RegexOptions.Compiled | RegexOptions.IgnoreCase) // Windows
};
@@ -136,7 +136,7 @@ namespace StardewModdingAPI.Toolkit.Framework.ModScanning
return new ModFolder(root, searchFolder, ModType.Xnb, null, ModParseError.XnbMod, "it's not a SMAPI mod (see https://smapi.io/xnb for info).");
// SMAPI installer
- if (relevantFiles.Any(p => p.Name == "install on Linux.sh" || p.Name == "install on Mac.command" || p.Name == "install on Windows.bat"))
+ if (relevantFiles.Any(p => p.Name == "install on Linux.sh" || p.Name == "install on macOS.command" || p.Name == "install on Windows.bat"))
return new ModFolder(root, searchFolder, ModType.Invalid, null, ModParseError.ManifestMissing, "the SMAPI installer isn't a mod (you can delete this folder after running the installer file).");
// not a mod?
diff --git a/src/SMAPI.Toolkit/Utilities/Platform.cs b/src/SMAPI.Toolkit/Utilities/Platform.cs
index f780e812..563d3250 100644
--- a/src/SMAPI.Toolkit/Utilities/Platform.cs
+++ b/src/SMAPI.Toolkit/Utilities/Platform.cs
@@ -9,7 +9,7 @@ namespace StardewModdingAPI.Toolkit.Utilities
/// <summary>The Linux version of the game.</summary>
Linux,
- /// <summary>The Mac version of the game.</summary>
+ /// <summary>The macOS version of the game.</summary>
Mac,
/// <summary>The Windows version of the game.</summary>
diff --git a/src/SMAPI.Web/Startup.cs b/src/SMAPI.Web/Startup.cs
index bd1f8c9b..2556936c 100644
--- a/src/SMAPI.Web/Startup.cs
+++ b/src/SMAPI.Web/Startup.cs
@@ -231,7 +231,7 @@ namespace StardewModdingAPI.Web
: null
}))
- // redirect to HTTPS (except API for Linux/Mac Mono compatibility)
+ // redirect to HTTPS (except API for Linux/macOS Mono compatibility)
.Add(
new RedirectToHttpsRule(except: req => req.Host.Host == "localhost" || req.Path.StartsWithSegments("/api"))
);
diff --git a/src/SMAPI.Web/Views/Index/Index.cshtml b/src/SMAPI.Web/Views/Index/Index.cshtml
index d78a155e..9d6e4bed 100644
--- a/src/SMAPI.Web/Views/Index/Index.cshtml
+++ b/src/SMAPI.Web/Views/Index/Index.cshtml
@@ -19,7 +19,7 @@
</h1>
<div id="blurb">
<p>The mod loader for Stardew Valley.</p>
- <p>Compatible with GOG/Steam achievements and Linux/Mac/Windows, uninstall anytime, and there's a friendly community if you need help.</p>
+ <p>Compatible with GOG/Steam achievements and Linux/macOS/Windows, uninstall anytime, and there's a friendly community if you need help.</p>
</div>
<div id="call-to-action">
diff --git a/src/SMAPI.Web/Views/LogParser/Index.cshtml b/src/SMAPI.Web/Views/LogParser/Index.cshtml
index fd472673..06d46c9e 100644
--- a/src/SMAPI.Web/Views/LogParser/Index.cshtml
+++ b/src/SMAPI.Web/Views/LogParser/Index.cshtml
@@ -120,7 +120,7 @@ else if (Model.ParsedLog?.IsValid == true)
</ol>
</div>
<div data-os="@Platform.Mac">
- On Mac:
+ On macOS:
<ol>
<li>Open the Finder app.</li>
<li>Click <em>Go</em> at the top, then <em>Go to Folder</em>.</li>
diff --git a/src/SMAPI.Web/wwwroot/SMAPI.metadata.json b/src/SMAPI.Web/wwwroot/SMAPI.metadata.json
index 8cc60a73..eeda13eb 100644
--- a/src/SMAPI.Web/wwwroot/SMAPI.metadata.json
+++ b/src/SMAPI.Web/wwwroot/SMAPI.metadata.json
@@ -109,7 +109,7 @@
"Rubydew": {
"ID": "bwdy.rubydew",
- "SuppressWarnings": "UsesDynamic", // mod explicitly loads DLLs for Linux/Mac compatibility
+ "SuppressWarnings": "UsesDynamic", // mod explicitly loads DLLs for Linux/macOS compatibility
"Default | UpdateKey": "Nexus:3656"
},
diff --git a/src/SMAPI/Constants.cs b/src/SMAPI/Constants.cs
index af9b7aa2..079c9251 100644
--- a/src/SMAPI/Constants.cs
+++ b/src/SMAPI/Constants.cs
@@ -247,7 +247,7 @@ namespace StardewModdingAPI
"Stardew Valley"
});
targetAssemblies.Add(
- typeof(StardewValley.Game1).Assembly // note: includes Netcode types on Linux/Mac
+ typeof(StardewValley.Game1).Assembly // note: includes Netcode types on Linux/macOS
);
}
else
diff --git a/src/SMAPI/Framework/Content/AssetDataForImage.cs b/src/SMAPI/Framework/Content/AssetDataForImage.cs
index 5f91610e..529fb93a 100644
--- a/src/SMAPI/Framework/Content/AssetDataForImage.cs
+++ b/src/SMAPI/Framework/Content/AssetDataForImage.cs
@@ -12,7 +12,7 @@ namespace StardewModdingAPI.Framework.Content
** Fields
*********/
/// <summary>The minimum value to consider non-transparent.</summary>
- /// <remarks>On Linux/Mac, fully transparent pixels may have an alpha up to 4 for some reason.</remarks>
+ /// <remarks>On Linux/macOS, fully transparent pixels may have an alpha up to 4 for some reason.</remarks>
private const byte MinOpacity = 5;
@@ -82,7 +82,7 @@ namespace StardewModdingAPI.Framework.Content
// premultiplied by the content pipeline. The formula is derived from
// https://blogs.msdn.microsoft.com/shawnhar/2009/11/06/premultiplied-alpha/.
// Note: don't use named arguments here since they're different between
- // Linux/Mac and Windows.
+ // Linux/macOS and Windows.
float alphaBelow = 1 - (above.A / 255f);
newData[i] = new Color(
(int)(above.R + (below.R * alphaBelow)), // r
diff --git a/src/SMAPI/Framework/ContentPack.cs b/src/SMAPI/Framework/ContentPack.cs
index a6835dbe..0660a367 100644
--- a/src/SMAPI/Framework/ContentPack.cs
+++ b/src/SMAPI/Framework/ContentPack.cs
@@ -18,7 +18,7 @@ namespace StardewModdingAPI.Framework
/// <summary>Encapsulates SMAPI's JSON file parsing.</summary>
private readonly JsonHelper JsonHelper;
- /// <summary>A cache of case-insensitive => exact relative paths within the content pack, for case-insensitive file lookups on Linux/Mac.</summary>
+ /// <summary>A cache of case-insensitive => exact relative paths within the content pack, for case-insensitive file lookups on Linux/macOS.</summary>
private readonly IDictionary<string, string> RelativePaths = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
diff --git a/src/SMAPI/Framework/Logging/LogFileManager.cs b/src/SMAPI/Framework/Logging/LogFileManager.cs
index 6b5babcd..6ab2bdfb 100644
--- a/src/SMAPI/Framework/Logging/LogFileManager.cs
+++ b/src/SMAPI/Framework/Logging/LogFileManager.cs
@@ -44,7 +44,7 @@ namespace StardewModdingAPI.Framework.Logging
public void WriteLine(string message)
{
// always use Windows-style line endings for convenience
- // (Linux/Mac editors are fine with them, Windows editors often require them)
+ // (Linux/macOS editors are fine with them, Windows editors often require them)
this.Stream.Write(message + "\r\n");
}
diff --git a/src/SMAPI/Framework/Logging/LogManager.cs b/src/SMAPI/Framework/Logging/LogManager.cs
index 4ba4fffc..0cc2da9f 100644
--- a/src/SMAPI/Framework/Logging/LogManager.cs
+++ b/src/SMAPI/Framework/Logging/LogManager.cs
@@ -527,7 +527,7 @@ namespace StardewModdingAPI.Framework.Logging
// not crossplatform
this.LogModWarningGroup(modsWithWarnings, ModWarning.UsesDynamic, LogLevel.Debug, "Not crossplatform",
- "These mods use the 'dynamic' keyword, and won't work on Linux/Mac."
+ "These mods use the 'dynamic' keyword, and won't work on Linux/macOS."
);
}
}
diff --git a/src/SMAPI/Framework/ModLoading/InstructionHandleResult.cs b/src/SMAPI/Framework/ModLoading/InstructionHandleResult.cs
index a948213b..baffc50e 100644
--- a/src/SMAPI/Framework/ModLoading/InstructionHandleResult.cs
+++ b/src/SMAPI/Framework/ModLoading/InstructionHandleResult.cs
@@ -20,7 +20,7 @@ namespace StardewModdingAPI.Framework.ModLoading
/// <summary>The instruction is compatible, but affects the save serializer in a way that may make saves unloadable without the mod.</summary>
DetectedSaveSerializer,
- /// <summary>The instruction is compatible, but uses the <c>dynamic</c> keyword which won't work on Linux/Mac.</summary>
+ /// <summary>The instruction is compatible, but uses the <c>dynamic</c> keyword which won't work on Linux/macOS.</summary>
DetectedDynamic,
/// <summary>The instruction is compatible, but references <see cref="ISpecializedEvents.UnvalidatedUpdateTicking"/> or <see cref="ISpecializedEvents.UnvalidatedUpdateTicked"/> which may impact stability.</summary>
diff --git a/src/SMAPI/Framework/ModLoading/RewriteFacades/SpriteBatchFacade.cs b/src/SMAPI/Framework/ModLoading/RewriteFacades/SpriteBatchFacade.cs
index cf71af77..aefd1c20 100644
--- a/src/SMAPI/Framework/ModLoading/RewriteFacades/SpriteBatchFacade.cs
+++ b/src/SMAPI/Framework/ModLoading/RewriteFacades/SpriteBatchFacade.cs
@@ -4,10 +4,10 @@ using Microsoft.Xna.Framework.Graphics;
namespace StardewModdingAPI.Framework.ModLoading.RewriteFacades
{
- /// <summary>Provides <see cref="SpriteBatch"/> method signatures that can be injected into mod code for compatibility between Linux/Mac or Windows.</summary>
+ /// <summary>Provides <see cref="SpriteBatch"/> method signatures that can be injected into mod code for compatibility between Linux/macOS or Windows.</summary>
/// <remarks>This is public to support SMAPI rewriting and should not be referenced directly by mods.</remarks>
[SuppressMessage("ReSharper", "UnusedMember.Global", Justification = "Used via assembly rewriting")]
- [SuppressMessage("ReSharper", "CS0109", Justification = "The 'new' modifier applies when compiled on Linux/Mac.")]
+ [SuppressMessage("ReSharper", "CS0109", Justification = "The 'new' modifier applies when compiled on Linux/macOS.")]
[SuppressMessage("ReSharper", "CS1591", Justification = "Documentation not needed for facade classes.")]
public class SpriteBatchFacade : SpriteBatch
{
diff --git a/src/SMAPI/Framework/SCore.cs b/src/SMAPI/Framework/SCore.cs
index 22c58099..e8c8a8e5 100644
--- a/src/SMAPI/Framework/SCore.cs
+++ b/src/SMAPI/Framework/SCore.cs
@@ -187,7 +187,7 @@ namespace StardewModdingAPI.Framework
#if SMAPI_FOR_WINDOWS
if (Constants.Platform != Platform.Windows)
{
- this.Monitor.Log("Oops! You're running Windows, but this version of SMAPI is for Linux or Mac. Please reinstall SMAPI to fix this.", LogLevel.Error);
+ this.Monitor.Log("Oops! You're running Windows, but this version of SMAPI is for Linux or macOS. Please reinstall SMAPI to fix this.", LogLevel.Error);
this.LogManager.PressAnyKeyToExit();
}
#else
@@ -1259,7 +1259,7 @@ namespace StardewModdingAPI.Framework
// create client
string url = this.Settings.WebApiBaseUrl;
#if !SMAPI_FOR_WINDOWS
- url = url.Replace("https://", "http://"); // workaround for OpenSSL issues with the game's bundled Mono on Linux/Mac
+ url = url.Replace("https://", "http://"); // workaround for OpenSSL issues with the game's bundled Mono on Linux/macOS
#endif
WebApiClient client = new WebApiClient(url, Constants.ApiVersion);
this.Monitor.Log("Checking for updates...");
diff --git a/src/SMAPI/Framework/Serialization/ColorConverter.cs b/src/SMAPI/Framework/Serialization/ColorConverter.cs
index 7315f1a5..3b3720b5 100644
--- a/src/SMAPI/Framework/Serialization/ColorConverter.cs
+++ b/src/SMAPI/Framework/Serialization/ColorConverter.cs
@@ -8,7 +8,7 @@ namespace StardewModdingAPI.Framework.Serialization
{
/// <summary>Handles deserialization of <see cref="Color"/> for crossplatform compatibility.</summary>
/// <remarks>
- /// - Linux/Mac format: { "B": 76, "G": 51, "R": 25, "A": 102 }
+ /// - Linux/macOS format: { "B": 76, "G": 51, "R": 25, "A": 102 }
/// - Windows format: "26, 51, 76, 102"
/// </remarks>
internal class ColorConverter : SimpleReadOnlyConverter<Color>
diff --git a/src/SMAPI/Framework/Serialization/PointConverter.cs b/src/SMAPI/Framework/Serialization/PointConverter.cs
index 6cf795dc..21d1f845 100644
--- a/src/SMAPI/Framework/Serialization/PointConverter.cs
+++ b/src/SMAPI/Framework/Serialization/PointConverter.cs
@@ -8,7 +8,7 @@ namespace StardewModdingAPI.Framework.Serialization
{
/// <summary>Handles deserialization of <see cref="Point"/> for crossplatform compatibility.</summary>
/// <remarks>
- /// - Linux/Mac format: { "X": 1, "Y": 2 }
+ /// - Linux/macOS format: { "X": 1, "Y": 2 }
/// - Windows format: "1, 2"
/// </remarks>
internal class PointConverter : SimpleReadOnlyConverter<Point>
diff --git a/src/SMAPI/Framework/Serialization/RectangleConverter.cs b/src/SMAPI/Framework/Serialization/RectangleConverter.cs
index 8f7318b3..31f3ad77 100644
--- a/src/SMAPI/Framework/Serialization/RectangleConverter.cs
+++ b/src/SMAPI/Framework/Serialization/RectangleConverter.cs
@@ -9,7 +9,7 @@ namespace StardewModdingAPI.Framework.Serialization
{
/// <summary>Handles deserialization of <see cref="Rectangle"/> for crossplatform compatibility.</summary>
/// <remarks>
- /// - Linux/Mac format: { "X": 1, "Y": 2, "Width": 3, "Height": 4 }
+ /// - Linux/macOS format: { "X": 1, "Y": 2, "Width": 3, "Height": 4 }
/// - Windows format: "{X:1 Y:2 Width:3 Height:4}"
/// </remarks>
internal class RectangleConverter : SimpleReadOnlyConverter<Rectangle>
diff --git a/src/SMAPI/Framework/Serialization/Vector2Converter.cs b/src/SMAPI/Framework/Serialization/Vector2Converter.cs
index 3e2ab776..589febf8 100644
--- a/src/SMAPI/Framework/Serialization/Vector2Converter.cs
+++ b/src/SMAPI/Framework/Serialization/Vector2Converter.cs
@@ -8,7 +8,7 @@ namespace StardewModdingAPI.Framework.Serialization
{
/// <summary>Handles deserialization of <see cref="Vector2"/> for crossplatform compatibility.</summary>
/// <remarks>
- /// - Linux/Mac format: { "X": 1, "Y": 2 }
+ /// - Linux/macOS format: { "X": 1, "Y": 2 }
/// - Windows format: "1, 2"
/// </remarks>
internal class Vector2Converter : SimpleReadOnlyConverter<Vector2>
diff --git a/src/SMAPI/GamePlatform.cs b/src/SMAPI/GamePlatform.cs
index b64595e4..cce5ed8d 100644
--- a/src/SMAPI/GamePlatform.cs
+++ b/src/SMAPI/GamePlatform.cs
@@ -11,7 +11,7 @@ namespace StardewModdingAPI
/// <summary>The Linux version of the game.</summary>
Linux = Platform.Linux,
- /// <summary>The Mac version of the game.</summary>
+ /// <summary>The macOS version of the game.</summary>
Mac = Platform.Mac,
/// <summary>The Windows version of the game.</summary>
diff --git a/src/SMAPI/SMAPI.config.json b/src/SMAPI/SMAPI.config.json
index 034eceed..b8179207 100644
--- a/src/SMAPI/SMAPI.config.json
+++ b/src/SMAPI/SMAPI.config.json
@@ -71,7 +71,7 @@ copy all the settings, or you may cause bugs due to overridden changes in future
/**
* The base URL for SMAPI's web API, used to perform update checks.
- * Note: the protocol will be changed to http:// on Linux/Mac due to OpenSSL issues with the
+ * Note: the protocol will be changed to http:// on Linux/macOS due to OpenSSL issues with the
* game's bundled Mono.
*/
"WebApiBaseUrl": "https://smapi.io/api/",
@@ -85,7 +85,7 @@ copy all the settings, or you may cause bugs due to overridden changes in future
* The colors to use for text written to the SMAPI console.
*
* The possible values for 'UseScheme' are:
- * - AutoDetect: SMAPI will assume a light background on Mac, and detect the background color
+ * - AutoDetect: SMAPI will assume a light background on macOS, and detect the background color
* automatically on Linux or Windows.
* - LightBackground: use darker text colors that look better on a white or light background.
* - DarkBackground: use lighter text colors that look better on a black or dark background.