X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fanimationplayer.cpp;h=9bcb5e5720872d006b28ac6f8a9c1dec7421c26b;hb=164d77011ab4ebe76c9bf2b7ed8d8dd8ebc20e61;hp=9537960c8d86875f749bf2257d4ea34de8905d9a;hpb=4c5ba8f7d3bc755d6256cb6bf75907a1b10fc290;p=libs%2Fgl.git diff --git a/source/animationplayer.cpp b/source/animationplayer.cpp index 9537960c..9bcb5e57 100644 --- a/source/animationplayer.cpp +++ b/source/animationplayer.cpp @@ -1,5 +1,6 @@ #include "animatedobject.h" #include "animationplayer.h" +#include "armature.h" using namespace std; @@ -17,6 +18,12 @@ void AnimationPlayer::tick(const Time::TimeDelta &dt) { i->iterator += dt; i->object.set_matrix(i->iterator.get_matrix()); + if(const Armature *armature = i->animation.get_armature()) + { + unsigned max_index = armature->get_max_link_index(); + for(unsigned j=0; j<=max_index; ++j) + i->object.set_pose_matrix(j, i->iterator.get_pose_matrix(j)); + } if(i->iterator.is_end()) slots.erase(i++);