Sometimes play 1st-person weapon idle to Stop key

coverity_scan^2
Allofich 8 years ago
parent cc7b1f8543
commit f4cc5d0399

@ -471,6 +471,7 @@ void CharacterController::refreshIdleAnims(const WeaponInfo* weap, CharacterStat
if(force || idle != mIdleState) if(force || idle != mIdleState)
{ {
mIdleState = idle; mIdleState = idle;
size_t numLoops = ~0ul;
std::string idle; std::string idle;
MWRender::Animation::AnimPriority idlePriority (Priority_Default); MWRender::Animation::AnimPriority idlePriority (Priority_Default);
@ -494,14 +495,15 @@ void CharacterController::refreshIdleAnims(const WeaponInfo* weap, CharacterStat
idle += weap->shortgroup; idle += weap->shortgroup;
if(!mAnimation->hasAnimation(idle)) if(!mAnimation->hasAnimation(idle))
idle = "idle"; idle = "idle";
} numLoops = 1 + Misc::Rng::rollDice(4);
}
} }
mAnimation->disable(mCurrentIdle); mAnimation->disable(mCurrentIdle);
mCurrentIdle = idle; mCurrentIdle = idle;
if(!mCurrentIdle.empty()) if(!mCurrentIdle.empty())
mAnimation->play(mCurrentIdle, idlePriority, MWRender::Animation::BlendMask_All, false, mAnimation->play(mCurrentIdle, idlePriority, MWRender::Animation::BlendMask_All, false,
1.0f, "start", "stop", 0.0f, ~0ul, true); 1.0f, "start", "stop", 0.0f, numLoops, true);
} }
} }

Loading…
Cancel
Save