Open Joey79100 opened 8 years ago
Thanks for the detailed explanation. There's still some very rare speed bugs. I debugged the animations a few days ago, I didn't notice any extra frames being played at the end of animations. I'll take another look sometime. But still, the animation system needs to be fixed as soon as possible.
That animation loop bug was already fixed in T4Larson branch. We could look for hints there.
I'm sure some of the current problems come from this. OpenTomb does extra frame interpolation OpenTomb at the end of animations. Original TRs didn't do any of the interpolation between animations (even if it's looping, it directly switches from the end to the beginning). That's why TRLE animators need to think about making the last frame of their animations identical to the first of the next animation to keep things smooth.
Meaning Core probably used that trick more than once to put AnimCommands in places where they aren't "visible". Change Direction for example, is used at the beginning or the end of an animation (take a look at the roll-on-floor and roll-in-air animations). This way, no interpolation is made while she's turning around. But if you put a Change Direction during an animation, and that animation has a low framerate, you can clearly see the effect happening.
This extra interpolation adds to the length of the animations (especially when their original framerate is not 1), so some of them play longer than they should. The back jump is probably one of those, the roll-on-floor too, so if you get the speeds right but this extra interpolation plays its part, then it's no wonder than some things seem to have a too high speed: in fact the animations just play for too long.
This non-interpolation was also probably used to change the animation and/or position of objects immediatly, without seeing a unwanted sliding.
I think this is also the cause, for example, of wolves heads "blinking" in TR1, instead of staying still as they should.