Simplify getting the stop time when playing all animation groups

This commit is contained in:
Chris Robinson 2012-09-29 01:10:49 -07:00
parent cd8515396a
commit 41f80908d9

View file

@ -87,17 +87,9 @@ void Animation::playGroup(std::string groupname, int mode, int loops)
times.mStart = times.mLoopStart = 0.0f; times.mStart = times.mLoopStart = 0.0f;
times.mLoopStop = times.mStop = 0.0f; times.mLoopStop = times.mStop = 0.0f;
if(mEntityList.mSkelBase) NifOgre::TextKeyMap::const_reverse_iterator iter = mTextKeys.rbegin();
{ if(iter != mTextKeys.rend())
Ogre::AnimationStateSet *aset = mEntityList.mSkelBase->getAllAnimationStates(); times.mLoopStop = times.mStop = iter->first;
Ogre::AnimationStateIterator as = aset->getAnimationStateIterator();
while(as.hasMoreElements())
{
Ogre::AnimationState *state = as.getNext();
times.mLoopStop = times.mStop = state->getLength();
break;
}
}
} }
else if(!findGroupTimes(groupname, &times)) else if(!findGroupTimes(groupname, &times))
throw std::runtime_error("Failed to find animation group "+groupname); throw std::runtime_error("Failed to find animation group "+groupname);