summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authoratravita-mods <94934860+atravita-mods@users.noreply.github.com>2022-08-23 14:34:23 -0400
committerJesse Plamondon-Willard <Pathoschild@users.noreply.github.com>2022-10-08 13:27:07 -0400
commit496c438be244c6e51f34cbcf238913edf55a8618 (patch)
tree5d1b661a13b151c15019d2af3a51381dd5e48fb7 /src
parenta3b8546ec8975ef1941e7618cef773c41d5c423f (diff)
downloadSMAPI-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.cs8
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)),