1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-02-04 03:40:14 +00:00

Combine a loop into another where it's used

This commit is contained in:
Chris Robinson 2013-01-20 15:39:43 -08:00
parent 85ca1e993f
commit e1e76bde76

View File

@ -67,10 +67,12 @@ void Animation::createEntityList(Ogre::SceneNode *node, const std::string &model
Ogre::Skeleton::BoneIterator boneiter = skel->getBoneIterator();
while(boneiter.hasMoreElements())
{
Ogre::Bone *bone = boneiter.peekNext();
const Ogre::Any &data = bone->getUserObjectBindings().getUserAny(NifOgre::sTextKeyExtraDataID);
if(!data.isEmpty())
{
Ogre::Bone *bone = boneiter.getNext();
Ogre::UserObjectBindings &bindings = bone->getUserObjectBindings();
const Ogre::Any &data = bindings.getUserAny(NifOgre::sTextKeyExtraDataID);
if(data.isEmpty())
continue;
mTextKeys["all"] = Ogre::any_cast<NifOgre::TextKeyMap>(data);
mAccumRoot = skelinst->getRootBone();
@ -79,22 +81,18 @@ void Animation::createEntityList(Ogre::SceneNode *node, const std::string &model
mStartPosition = mNonAccumRoot->getPosition();
mLastPosition = mStartPosition;
break;
}
boneiter.moveNext();
}
if(boneiter.hasMoreElements())
{
asiter = aset->getAnimationStateIterator();
while(asiter.hasMoreElements())
{
Ogre::AnimationState *state = asiter.getNext();
Ogre::UserObjectBindings &bindings = boneiter.peekNext()->getUserObjectBindings();
const Ogre::Any &data = bindings.getUserAny(std::string(NifOgre::sTextKeyExtraDataID)+"@"+state->getAnimationName());
if(!data.isEmpty())
mTextKeys[state->getAnimationName()] = Ogre::any_cast<NifOgre::TextKeyMap>(data);
const Ogre::Any &groupdata = bindings.getUserAny(std::string(NifOgre::sTextKeyExtraDataID)+
"@"+state->getAnimationName());
if(!groupdata.isEmpty())
mTextKeys[state->getAnimationName()] = Ogre::any_cast<NifOgre::TextKeyMap>(groupdata);
}
break;
}
}
}