1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-02-24 18:39:59 +00:00

Re-enable lower body crossbow animation playback

This commit is contained in:
Alexei Kotov 2022-08-08 20:19:31 +03:00
parent ac892f2bfd
commit d280a29b18

View File

@ -1764,23 +1764,11 @@ bool CharacterController::updateWeaponState()
break; break;
} }
// Note: apply crossbow reload animation only for upper body
// since blending with movement animations can give weird result.
if(!start.empty()) if(!start.empty())
{ {
int mask = MWRender::Animation::BlendMask_All; bool autodisable = mUpperBodyState == UpperBodyState::AttackEnd;
if (mWeaponType == ESM::Weapon::MarksmanCrossbow)
mask = MWRender::Animation::BlendMask_UpperBody;
mAnimation->disable(mCurrentWeapon); mAnimation->disable(mCurrentWeapon);
if (mUpperBodyState == UpperBodyState::AttackEnd) mAnimation->play(mCurrentWeapon, priorityWeapon, MWRender::Animation::BlendMask_All, autodisable, weapSpeed, start, stop, 0.0f, 0);
mAnimation->play(mCurrentWeapon, priorityWeapon,
mask, true,
weapSpeed, start, stop, 0.0f, 0);
else
mAnimation->play(mCurrentWeapon, priorityWeapon,
mask, false,
weapSpeed, start, stop, 0.0f, 0);
} }
} }
else if(complete >= 1.0f && isRandomAttackAnimation(mCurrentWeapon)) else if(complete >= 1.0f && isRandomAttackAnimation(mCurrentWeapon))