summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/libgdiplus.dylibbin1202796 -> 0 bytes
-rw-r--r--release-notes.md3
-rw-r--r--src/StardewModdingAPI.Installer/InteractiveInstaller.cs1
-rw-r--r--src/StardewModdingAPI/unix-launcher.sh11
-rw-r--r--src/prepare-install-package.targets3
5 files changed, 14 insertions, 4 deletions
diff --git a/lib/libgdiplus.dylib b/lib/libgdiplus.dylib
deleted file mode 100644
index 8a9676c8..00000000
--- a/lib/libgdiplus.dylib
+++ /dev/null
Binary files differ
diff --git a/release-notes.md b/release-notes.md
index fd69e1c7..deab5cfe 100644
--- a/release-notes.md
+++ b/release-notes.md
@@ -20,6 +20,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 rare crash when window loses focus for a few players.
For modders:
@@ -68,7 +69,7 @@ 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 DLL-not-found errors on Linux/Mac when mods read PNG files.
+* Fixed `libgdiplus.dylib` errors on Mac when mods read PNG files.
* Adopted pufferchick.
For mod developers:
diff --git a/src/StardewModdingAPI.Installer/InteractiveInstaller.cs b/src/StardewModdingAPI.Installer/InteractiveInstaller.cs
index 43cb7d70..efad0a3e 100644
--- a/src/StardewModdingAPI.Installer/InteractiveInstaller.cs
+++ b/src/StardewModdingAPI.Installer/InteractiveInstaller.cs
@@ -85,6 +85,7 @@ namespace StardewModdingApi.Installer
yield return GetInstallPath("steam_appid.txt");
// Linux/Mac only
+ yield return GetInstallPath("libgdiplus.dylib");
yield return GetInstallPath("StardewModdingAPI");
yield return GetInstallPath("StardewModdingAPI.exe.mdb");
yield return GetInstallPath("System.Numerics.dll");
diff --git a/src/StardewModdingAPI/unix-launcher.sh b/src/StardewModdingAPI/unix-launcher.sh
index eb2f42af..39fd4f29 100644
--- a/src/StardewModdingAPI/unix-launcher.sh
+++ b/src/StardewModdingAPI/unix-launcher.sh
@@ -26,7 +26,18 @@ if [ "$UNAME" == "Darwin" ]; then
export DYLD_INSERT_LIBRARIES="$STEAM_DYLD_INSERT_LIBRARIES"
fi
+ # this was here before
ln -sf mcs.bin.osx mcs
+
+ # fix "DllNotFoundException: libgdiplus.dylib" errors when loading images in SMAPI
+ if [ -f libgdiplus.dylib ]; then
+ rm libgdiplus.dylib
+ fi
+ if [ -f /Library/Frameworks/Mono.framework/Versions/Current/lib/libgdiplus.dylib ]; then
+ ln -s /Library/Frameworks/Mono.framework/Versions/Current/lib/libgdiplus.dylib libgdiplus.dylib
+ fi
+
+ # launch SMAPI
cp StardewValley.bin.osx StardewModdingAPI.bin.osx
open -a Terminal ./StardewModdingAPI.bin.osx $@
else
diff --git a/src/prepare-install-package.targets b/src/prepare-install-package.targets
index 9a514abd..f2a2b23c 100644
--- a/src/prepare-install-package.targets
+++ b/src/prepare-install-package.targets
@@ -35,9 +35,6 @@
<Copy Condition="$(OS) != 'Windows_NT'" SourceFiles="$(CompiledSmapiPath)\steam_appid.txt" DestinationFolder="$(PackageInternalPath)\Mono" />
<Copy Condition="$(OS) != 'Windows_NT'" SourceFiles="@(CompiledMods)" DestinationFolder="$(PackageInternalPath)\Mono\Mods\%(RecursiveDir)" />
- <!--copy Mono files needed by SMAPI on Linux/Mac -->
- <Copy Condition="$(OS) != 'Windows_NT'" SourceFiles="$(SolutionDir)\..\lib\libgdiplus.dylib" DestinationFolder="$(PackageInternalPath)\Mono" />
-
<!-- copy SMAPI files for Windows -->
<Copy Condition="$(OS) == 'Windows_NT'" SourceFiles="$(CompiledSmapiPath)\Mono.Cecil.dll" DestinationFolder="$(PackageInternalPath)\Windows" />
<Copy Condition="$(OS) == 'Windows_NT'" SourceFiles="$(CompiledSmapiPath)\Newtonsoft.Json.dll" DestinationFolder="$(PackageInternalPath)\Windows" />