diff options
author | atravita-mods <94934860+atravita-mods@users.noreply.github.com> | 2022-08-23 14:34:23 -0400 |
---|---|---|
committer | Jesse Plamondon-Willard <Pathoschild@users.noreply.github.com> | 2022-10-08 13:27:07 -0400 |
commit | 496c438be244c6e51f34cbcf238913edf55a8618 (patch) | |
tree | 5d1b661a13b151c15019d2af3a51381dd5e48fb7 /src | |
parent | a3b8546ec8975ef1941e7618cef773c41d5c423f (diff) | |
download | SMAPI-496c438be244c6e51f34cbcf238913edf55a8618.tar.gz SMAPI-496c438be244c6e51f34cbcf238913edf55a8618.tar.bz2 SMAPI-496c438be244c6e51f34cbcf238913edf55a8618.zip |
fix indexing again, because apparently I'm bad at math now?
Diffstat (limited to 'src')
-rw-r--r-- | src/SMAPI/Framework/Content/AssetDataForImage.cs | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/SMAPI/Framework/Content/AssetDataForImage.cs b/src/SMAPI/Framework/Content/AssetDataForImage.cs index f00d2d4c..2bbcc60c 100644 --- a/src/SMAPI/Framework/Content/AssetDataForImage.cs +++ b/src/SMAPI/Framework/Content/AssetDataForImage.cs @@ -219,15 +219,17 @@ namespace StardewModdingAPI.Framework.Content // merge pixels for (int i = startIndex; i <= endIndex; i++) { + int targetIndex = i - sourceoffset; + // ref locals here? Not sure. Color above = sourceData[i]; - Color below = mergedData[i - sourceoffset]; + Color below = mergedData[targetIndex]; // shortcut transparency if (above.A < MinOpacity) continue; if (below.A < MinOpacity || above.A == byte.MaxValue) - mergedData[i] = above; + mergedData[targetIndex] = above; // merge pixels else @@ -236,7 +238,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/. float alphaBelow = 1 - (above.A / 255f); - mergedData[i] = new Color( + mergedData[targetIndex] = new Color( r: (int)(above.R + (below.R * alphaBelow)), g: (int)(above.G + (below.G * alphaBelow)), b: (int)(above.B + (below.B * alphaBelow)), |