@ -390,29 +390,21 @@ void CharacterController::refreshJumpAnims(const WeaponInfo* weap, JumpingState
}
}
if ( ! mCurrentJump . empty ( ) )
{
mAnimation - > disable ( mCurrentJump ) ;
mCurrentJump . clear ( ) ;
}
if ( mJumpState = = JumpState_InAir )
{
if ( mAnimation - > hasAnimation ( jumpAnimName ) )
{
mAnimation - > play ( jumpAnimName , Priority_Jump , jumpmask , false ,
mAnimation - > disable ( mCurrentJump ) ;
mCurrentJump = jumpAnimName ;
if ( mAnimation - > hasAnimation ( " jump " ) )
mAnimation - > play ( mCurrentJump , Priority_Jump , jumpmask , false ,
1.0f , ( startAtLoop ? " loop start " : " start " ) , " stop " , 0.0f , ~ 0ul ) ;
mCurrentJump = jumpAnimName ;
}
}
else if ( mJumpState = = JumpState_Landing )
else
{
if ( mAnimation - > hasAnimation ( jumpAnimName ) )
{
mAnimation - > disable ( mCurrentJump ) ;
mCurrentJump . clear ( ) ;
if ( mAnimation - > hasAnimation ( " jump " ) )
mAnimation - > play ( jumpAnimName , Priority_Jump , jumpmask , true ,
1.0f , " loop stop " , " stop " , 0.0f , 0 ) ;
mCurrentJump = jumpAnimName ;
}
}
}
}
@ -1833,6 +1825,7 @@ void CharacterController::update(float duration)
mHasMovedInXY = std : : abs ( vec . x ( ) ) + std : : abs ( vec . y ( ) ) > 0.0f ;
isrunning = isrunning & & mHasMovedInXY ;
// advance athletics
if ( mHasMovedInXY & & mPtr = = getPlayer ( ) )
{
@ -1987,8 +1980,7 @@ void CharacterController::update(float duration)
}
else
{
jumpstate = mAnimation - > isPlaying ( mCurrentJump ) ? JumpState_Landing : JumpState_None ;
jumpstate = JumpState_None ;
vec . z ( ) = 0.0f ;
inJump = false ;
@ -2018,15 +2010,9 @@ void CharacterController::update(float duration)
else if ( rot . z ( ) ! = 0.0f & & ! sneak & & ! ( mPtr = = getPlayer ( ) & & MWBase : : Environment : : get ( ) . getWorld ( ) - > isFirstPerson ( ) ) )
{
if ( rot . z ( ) > 0.0f )
{
movestate = inwater ? CharState_SwimTurnRight : CharState_TurnRight ;
mAnimation - > disable ( mCurrentJump ) ;
}
else if ( rot . z ( ) < 0.0f )
{
movestate = inwater ? CharState_SwimTurnLeft : CharState_TurnLeft ;
mAnimation - > disable ( mCurrentJump ) ;
}
}
}