summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesse Plamondon-Willard <Pathoschild@users.noreply.github.com>2020-03-14 18:47:19 -0400
committerJesse Plamondon-Willard <Pathoschild@users.noreply.github.com>2020-03-14 18:47:19 -0400
commitdfb12351333dc3deb47f5c33212d7be7d2ac94d7 (patch)
tree2bdc0cbdf65d55e08127b17565a4939836a2abf1
parente80b7712f7e4c78a5b016289ca19efaf7d39cd8b (diff)
downloadSMAPI-dfb12351333dc3deb47f5c33212d7be7d2ac94d7.tar.gz
SMAPI-dfb12351333dc3deb47f5c33212d7be7d2ac94d7.tar.bz2
SMAPI-dfb12351333dc3deb47f5c33212d7be7d2ac94d7.zip
fix semi-transparency issues on Linux/Mac
Apparently Mono no longer premultiplies loaded PNGs by default.
-rw-r--r--docs/release-notes.md1
-rw-r--r--src/SMAPI/Framework/ContentManagers/ModContentManager.cs7
2 files changed, 1 insertions, 7 deletions
diff --git a/docs/release-notes.md b/docs/release-notes.md
index 4a136df5..df931eb3 100644
--- a/docs/release-notes.md
+++ b/docs/release-notes.md
@@ -3,6 +3,7 @@
# Release notes
## Upcoming release
* For players:
+ * Fixed semi-transparency issues on Linux/Mac in recent versions of Mono (e.g. pink shadows).
* Updated translations. Thanks to Annosz (added Hungarian)!
* For modders:
diff --git a/src/SMAPI/Framework/ContentManagers/ModContentManager.cs b/src/SMAPI/Framework/ContentManagers/ModContentManager.cs
index 4ffe3acd..fda80a83 100644
--- a/src/SMAPI/Framework/ContentManagers/ModContentManager.cs
+++ b/src/SMAPI/Framework/ContentManagers/ModContentManager.cs
@@ -241,13 +241,6 @@ namespace StardewModdingAPI.Framework.ContentManagers
/// <remarks>Based on <a href="https://gamedev.stackexchange.com/a/26037">code by David Gouveia</a>.</remarks>
private Texture2D PremultiplyTransparency(Texture2D texture)
{
- // Textures loaded by Texture2D.FromStream are already premultiplied on Linux/Mac, even
- // though the XNA documentation explicitly says otherwise. That's a glitch in MonoGame
- // fixed in newer versions, but the game uses a bundled version that will always be
- // affected. See https://github.com/MonoGame/MonoGame/issues/4820 for more info.
- if (Constants.TargetPlatform != GamePlatform.Windows)
- return texture;
-
// premultiply pixels
Color[] data = new Color[texture.Width * texture.Height];
texture.GetData(data);