[ts] Added another last minute fix to AnimationState:applyRotateTimeline

This commit is contained in:
badlogic 2016-11-04 14:48:11 +01:00
parent 35d25096d0
commit e8d363435d
13 changed files with 43 additions and 23 deletions

View File

@ -1458,9 +1458,12 @@ var spine;
}
var rotateTimeline = timeline;
var frames = rotateTimeline.frames;
if (time < frames[0])
return;
var bone = skeleton.bones[rotateTimeline.boneIndex];
if (time < frames[0]) {
if (setupPose)
bone.rotation = bone.data.rotation;
return;
}
var r2 = 0;
if (time >= frames[frames.length - spine.RotateTimeline.ENTRIES])
r2 = bone.data.rotation + frames[frames.length + spine.RotateTimeline.PREV_ROTATION];

File diff suppressed because one or more lines are too long

View File

@ -1458,9 +1458,12 @@ var spine;
}
var rotateTimeline = timeline;
var frames = rotateTimeline.frames;
if (time < frames[0])
return;
var bone = skeleton.bones[rotateTimeline.boneIndex];
if (time < frames[0]) {
if (setupPose)
bone.rotation = bone.data.rotation;
return;
}
var r2 = 0;
if (time >= frames[frames.length - spine.RotateTimeline.ENTRIES])
r2 = bone.data.rotation + frames[frames.length + spine.RotateTimeline.PREV_ROTATION];

File diff suppressed because one or more lines are too long

View File

@ -1111,9 +1111,12 @@ var spine;
}
var rotateTimeline = timeline;
var frames = rotateTimeline.frames;
if (time < frames[0])
return;
var bone = skeleton.bones[rotateTimeline.boneIndex];
if (time < frames[0]) {
if (setupPose)
bone.rotation = bone.data.rotation;
return;
}
var r2 = 0;
if (time >= frames[frames.length - spine.RotateTimeline.ENTRIES])
r2 = bone.data.rotation + frames[frames.length + spine.RotateTimeline.PREV_ROTATION];

File diff suppressed because one or more lines are too long

View File

@ -1111,9 +1111,12 @@ var spine;
}
var rotateTimeline = timeline;
var frames = rotateTimeline.frames;
if (time < frames[0])
return;
var bone = skeleton.bones[rotateTimeline.boneIndex];
if (time < frames[0]) {
if (setupPose)
bone.rotation = bone.data.rotation;
return;
}
var r2 = 0;
if (time >= frames[frames.length - spine.RotateTimeline.ENTRIES])
r2 = bone.data.rotation + frames[frames.length + spine.RotateTimeline.PREV_ROTATION];

File diff suppressed because one or more lines are too long

View File

@ -1111,9 +1111,12 @@ var spine;
}
var rotateTimeline = timeline;
var frames = rotateTimeline.frames;
if (time < frames[0])
return;
var bone = skeleton.bones[rotateTimeline.boneIndex];
if (time < frames[0]) {
if (setupPose)
bone.rotation = bone.data.rotation;
return;
}
var r2 = 0;
if (time >= frames[frames.length - spine.RotateTimeline.ENTRIES])
r2 = bone.data.rotation + frames[frames.length + spine.RotateTimeline.PREV_ROTATION];

File diff suppressed because one or more lines are too long

View File

@ -1111,9 +1111,12 @@ var spine;
}
var rotateTimeline = timeline;
var frames = rotateTimeline.frames;
if (time < frames[0])
return;
var bone = skeleton.bones[rotateTimeline.boneIndex];
if (time < frames[0]) {
if (setupPose)
bone.rotation = bone.data.rotation;
return;
}
var r2 = 0;
if (time >= frames[frames.length - spine.RotateTimeline.ENTRIES])
r2 = bone.data.rotation + frames[frames.length + spine.RotateTimeline.PREV_ROTATION];

File diff suppressed because one or more lines are too long

View File

@ -176,12 +176,12 @@ module spine {
mix = 1;
else {
mix = entry.mixTime / entry.mixDuration;
if (mix > 1) mix = 1;
if (mix > 1) mix = 1;
}
let events = mix < from.eventThreshold ? this.events : null;
let attachments = mix < from.attachmentThreshold, drawOrder = mix < from.drawOrderThreshold;
let animationLast = from.animationLast, animationTime = from.getAnimationTime();
let animationLast = from.animationLast, animationTime = from.getAnimationTime();
let timelineCount = from.animation.timelines.length;
let timelines = from.animation.timelines;
let timelinesFirst = from.timelinesFirst;
@ -221,9 +221,11 @@ module spine {
let rotateTimeline = timeline as RotateTimeline;
let frames = rotateTimeline.frames;
if (time < frames[0]) return; // Time is before first frame.
let bone = skeleton.bones[rotateTimeline.boneIndex];
if (time < frames[0]) {
if (setupPose) bone.rotation = bone.data.rotation;
return;
}
let r2 = 0;
if (time >= frames[frames.length - RotateTimeline.ENTRIES]) // Time is after last frame.
@ -346,7 +348,7 @@ module spine {
if (from != null) {
this.queue.interrupt(from);
current.mixingFrom = from;
current.mixTime = 0;
current.mixTime = 0;
// If not completely mixed in, set mixAlpha so mixing out happens from current mix to zero.
if (from.mixingFrom != null) current.mixAlpha *= Math.min(from.mixTime / from.mixDuration, 1);