[cpp] Fixes and closes #2886.

The user submitted code that fixes the incorrect tinting on spine-cpp
4.2. I tested this fix using spine-glfw to confirm the existence of the
issue and the fix.
This commit is contained in:
Luke Ingram 2025-11-13 14:28:50 -04:00
parent d698e53e3e
commit 6f88168dcd

View File

@ -453,16 +453,11 @@ void RGB2Timeline::apply(Skeleton &skeleton, float lastTime, float time, Vector<
} }
default: { default: {
r = getBezierValue(time, i, RGB2Timeline::R, curveType - RGB2Timeline::BEZIER); r = getBezierValue(time, i, RGB2Timeline::R, curveType - RGB2Timeline::BEZIER);
g = getBezierValue(time, i, RGB2Timeline::G, g = getBezierValue(time, i, RGB2Timeline::G, curveType + RGB2Timeline::BEZIER_SIZE - RGB2Timeline::BEZIER);
curveType + RGB2Timeline::BEZIER_SIZE - RGB2Timeline::BEZIER); b = getBezierValue(time, i, RGB2Timeline::B, curveType + RGB2Timeline::BEZIER_SIZE * 2 - RGB2Timeline::BEZIER);
b = getBezierValue(time, i, RGB2Timeline::B, r2 = getBezierValue(time, i, RGB2Timeline::R2, curveType + RGB2Timeline::BEZIER_SIZE * 3 - RGB2Timeline::BEZIER);
curveType + RGB2Timeline::BEZIER_SIZE * 2 - RGB2Timeline::BEZIER); g2 = getBezierValue(time, i, RGB2Timeline::G2, curveType + RGB2Timeline::BEZIER_SIZE * 4 - RGB2Timeline::BEZIER);
r2 = getBezierValue(time, i, RGB2Timeline::R2, b2 = getBezierValue(time, i, RGB2Timeline::B2, curveType + RGB2Timeline::BEZIER_SIZE * 5 - RGB2Timeline::BEZIER);
curveType + RGB2Timeline::BEZIER_SIZE * 4 - RGB2Timeline::BEZIER);
g2 = getBezierValue(time, i, RGB2Timeline::G2,
curveType + RGB2Timeline::BEZIER_SIZE * 5 - RGB2Timeline::BEZIER);
b2 = getBezierValue(time, i, RGB2Timeline::B2,
curveType + RGB2Timeline::BEZIER_SIZE * 6 - RGB2Timeline::BEZIER);
} }
} }
Color &light = slot->_color, &dark = slot->_darkColor; Color &light = slot->_color, &dark = slot->_darkColor;