From 45e6add5f554e66dd93cd825093de04fc2c18b43 Mon Sep 17 00:00:00 2001 From: Alexei Kotov Date: Sat, 11 Jun 2022 03:24:01 +0300 Subject: [PATCH] Optimize clearAnimQueue(true) --- apps/openmw/mwmechanics/character.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/apps/openmw/mwmechanics/character.cpp b/apps/openmw/mwmechanics/character.cpp index 013d158661..471ec7b5f4 100644 --- a/apps/openmw/mwmechanics/character.cpp +++ b/apps/openmw/mwmechanics/character.cpp @@ -2523,9 +2523,15 @@ void CharacterController::clearAnimQueue(bool clearPersistAnims) if ((!isPersistentAnimPlaying() || clearPersistAnims) && !mAnimQueue.empty()) mAnimation->disable(mAnimQueue.front().mGroup); + if (clearPersistAnims) + { + mAnimQueue.clear(); + return; + } + for (AnimationQueue::iterator it = mAnimQueue.begin(); it != mAnimQueue.end();) { - if (clearPersistAnims || !it->mPersist) + if (!it->mPersist) it = mAnimQueue.erase(it); else ++it;