diff --git a/spine-as3/spine-as3/src/spine/animation/AnimationState.as b/spine-as3/spine-as3/src/spine/animation/AnimationState.as index ffa2b358e..7428f77c4 100644 --- a/spine-as3/spine-as3/src/spine/animation/AnimationState.as +++ b/spine-as3/spine-as3/src/spine/animation/AnimationState.as @@ -246,13 +246,13 @@ package spine.animation { var timelineBlend: MixBlend; var alpha : Number = 0; switch (timelineMode[i] & (NOT_LAST - 1)) { - case SUBSEQUENT: + case SUBSEQUENT: + timelineBlend = blend; if (!attachments && timeline is AttachmentTimeline) { if ((timelineMode[i] & NOT_LAST) == NOT_LAST) continue; - blend = MixBlend.setup; + timelineBlend = MixBlend.setup; } if (!drawOrder && timeline is DrawOrderTimeline) continue; - timelineBlend = blend; alpha = alphaMix; break; case FIRST: diff --git a/spine-c/spine-c/src/spine/AnimationState.c b/spine-c/spine-c/src/spine/AnimationState.c index 0d1dadd81..03aabbffd 100644 --- a/spine-c/spine-c/src/spine/AnimationState.c +++ b/spine-c/spine-c/src/spine/AnimationState.c @@ -468,12 +468,12 @@ float _spAnimationState_applyMixingFrom (spAnimationState* self, spTrackEntry* t switch (timelineMode->items[i] & (NOT_LAST - 1)) { case SUBSEQUENT: + timelineBlend = blend; if (!attachments && timeline->type == SP_TIMELINE_ATTACHMENT) { if ((timelineMode->items[i] & NOT_LAST) == NOT_LAST) continue; - blend = SP_MIX_BLEND_SETUP; + timelineBlend = SP_MIX_BLEND_SETUP; } if (!drawOrder && timeline->type == SP_TIMELINE_DRAWORDER) continue; - timelineBlend = blend; alpha = alphaMix; break; case FIRST: diff --git a/spine-cpp/spine-cpp/src/spine/AnimationState.cpp b/spine-cpp/spine-cpp/src/spine/AnimationState.cpp index c2350c8d6..c787a83dd 100644 --- a/spine-cpp/spine-cpp/src/spine/AnimationState.cpp +++ b/spine-cpp/spine-cpp/src/spine/AnimationState.cpp @@ -815,12 +815,12 @@ float AnimationState::applyMixingFrom(TrackEntry *to, Skeleton &skeleton, MixBle float alpha; switch (timelineMode[i] & (NotLast - 1)) { case Subsequent: + timelineBlend = blend; if (!attachments && (timeline->getRTTI().isExactly(AttachmentTimeline::rtti))) { if ((timelineMode[i] & NotLast) == NotLast) continue; - blend = MixBlend_Setup; + timelineBlend = MixBlend_Setup; } if (!drawOrder && (timeline->getRTTI().isExactly(DrawOrderTimeline::rtti))) continue; - timelineBlend = blend; alpha = alphaMix; break; case First: diff --git a/spine-csharp/src/AnimationState.cs b/spine-csharp/src/AnimationState.cs index 36fa0541e..5e74a6024 100644 --- a/spine-csharp/src/AnimationState.cs +++ b/spine-csharp/src/AnimationState.cs @@ -299,12 +299,12 @@ namespace Spine { float alpha; switch (timelineMode[i] & AnimationState.NotLast - 1) { case AnimationState.Subsequent: + timelineBlend = blend; if (!attachments && timeline is AttachmentTimeline) { if ((timelineMode[i] & AnimationState.NotLast) == AnimationState.NotLast) continue; - blend = MixBlend.Setup; + timelineBlend = MixBlend.Setup; } if (!drawOrder && timeline is DrawOrderTimeline) continue; - timelineBlend = blend; alpha = alphaMix; break; case AnimationState.First: diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/AnimationState.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/AnimationState.java index 4305b6c4d..af9d7be98 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/AnimationState.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/AnimationState.java @@ -291,12 +291,12 @@ public class AnimationState { float alpha; switch (timelineMode[i] & NOT_LAST - 1) { case SUBSEQUENT: + timelineBlend = blend; if (!attachments && timeline instanceof AttachmentTimeline) { if ((timelineMode[i] & NOT_LAST) == NOT_LAST) continue; - blend = MixBlend.setup; + timelineBlend = MixBlend.setup; } if (!drawOrder && timeline instanceof DrawOrderTimeline) continue; - timelineBlend = blend; alpha = alphaMix; break; case FIRST: diff --git a/spine-lua/AnimationState.lua b/spine-lua/AnimationState.lua index ff14c9110..6174e6f4d 100644 --- a/spine-lua/AnimationState.lua +++ b/spine-lua/AnimationState.lua @@ -424,15 +424,15 @@ function AnimationState:applyMixingFrom (to, skeleton, blend) local timelineBlend = MixBlend.setup local alpha = 0 if clearBit(timelineMode[i], NOT_LAST) == SUBSEQUENT then + timelineBlend = blend if not attachments and timeline.type == Animation.TimelineType.attachment then if testBit(timelineMode[i], NOT_LAST) then skipSubsequent = true else - blend = MixBlend.setup + timelineBlend = MixBlend.setup end end if not drawOrder and timeline.type == Animation.TimelineType.drawOrder then skipSubsequent = true end - timelineBlend = blend alpha = alphaMix elseif clearBit(timelineMode[i], NOT_LAST) == FIRST then timelineBlend = MixBlend.setup diff --git a/spine-ts/core/src/AnimationState.ts b/spine-ts/core/src/AnimationState.ts index a19b5b4b5..b055b5cbb 100644 --- a/spine-ts/core/src/AnimationState.ts +++ b/spine-ts/core/src/AnimationState.ts @@ -235,12 +235,12 @@ module spine { let alpha = 0; switch (timelineMode[i] & (AnimationState.NOT_LAST - 1)) { case AnimationState.SUBSEQUENT: + timelineBlend = blend; if (!attachments && timeline instanceof AttachmentTimeline) { if ((timelineMode[i] & AnimationState.NOT_LAST) == AnimationState.NOT_LAST) continue; - blend = MixBlend.setup; + timelineBlend = MixBlend.setup; } if (!drawOrder && timeline instanceof DrawOrderTimeline) continue; - timelineBlend = blend; alpha = alphaMix; break; case AnimationState.FIRST: