Nate ha scrittoThat's because animations continue being applied until a new animation is set or the track is cleared.
I was updating some legacy code to the 3.6 runtime, and my End Listeners stop working. By comparing with my previous version, I found out that in the AnimationState.c update function I had this
/* End non-looping animation when it reaches its end time and there is no next entry. */
if (!current->loop && current->lastTime >= current->endTime) spAnimationState_clearTrack(self, i);
and now there's this
/* Clear the track when there is no next entry, the track end time is reached, and there is no mixingFrom. */
if (current->trackLast >= current->trackEnd && current->mixingFrom == 0) {
I understand the changes made in 3.5 to trackEnd, but not how to get the same I had before. In order to keep the previous pose after the animation, trackEnd should be kept at INT_MAX, but then how should the track be cleared in order to fire the End Event?