mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-02-04 21:40:03 +00:00
Improve reset of idle animations (bug #4847)
This commit is contained in:
parent
aa54beec38
commit
c610a58cf0
@ -50,6 +50,7 @@
|
|||||||
Bug #4828: Potion looping effects VFX are not shown for NPCs
|
Bug #4828: Potion looping effects VFX are not shown for NPCs
|
||||||
Bug #4837: CTD when a mesh with NiLODNode root node with particles is loaded
|
Bug #4837: CTD when a mesh with NiLODNode root node with particles is loaded
|
||||||
Bug #4841: Russian localization ignores implicit keywords
|
Bug #4841: Russian localization ignores implicit keywords
|
||||||
|
Bug #4847: Idle animation reset oddities
|
||||||
Bug #4851: No shadows since switch to OSG
|
Bug #4851: No shadows since switch to OSG
|
||||||
Bug #4860: Actors outside of processing range visible for one frame after spawning
|
Bug #4860: Actors outside of processing range visible for one frame after spawning
|
||||||
Bug #4867: Arbitrary text after local variable declarations breaks script compilation
|
Bug #4867: Arbitrary text after local variable declarations breaks script compilation
|
||||||
|
@ -350,11 +350,6 @@ void CharacterController::refreshJumpAnims(const WeaponInfo* weap, JumpingState
|
|||||||
if (!force && jump == mJumpState && idle == CharState_None)
|
if (!force && jump == mJumpState && idle == CharState_None)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (jump == JumpState_InAir)
|
|
||||||
{
|
|
||||||
idle = CharState_None;
|
|
||||||
}
|
|
||||||
|
|
||||||
std::string jumpAnimName;
|
std::string jumpAnimName;
|
||||||
MWRender::Animation::BlendMask jumpmask = MWRender::Animation::BlendMask_All;
|
MWRender::Animation::BlendMask jumpmask = MWRender::Animation::BlendMask_All;
|
||||||
if (jump != JumpState_None)
|
if (jump != JumpState_None)
|
||||||
@ -1686,7 +1681,7 @@ bool CharacterController::updateWeaponState(CharacterState& idle)
|
|||||||
idle != CharState_IdleSneak && idle != CharState_IdleSwim &&
|
idle != CharState_IdleSneak && idle != CharState_IdleSwim &&
|
||||||
mIdleState != CharState_IdleSneak && mIdleState != CharState_IdleSwim)
|
mIdleState != CharState_IdleSneak && mIdleState != CharState_IdleSwim)
|
||||||
{
|
{
|
||||||
idle = CharState_None;
|
mAnimation->disable(mCurrentIdle);
|
||||||
}
|
}
|
||||||
|
|
||||||
animPlaying = mAnimation->getInfo(mCurrentWeapon, &complete);
|
animPlaying = mAnimation->getInfo(mCurrentWeapon, &complete);
|
||||||
@ -2139,6 +2134,9 @@ void CharacterController::update(float duration, bool animationOnly)
|
|||||||
jumpstate = JumpState_Landing;
|
jumpstate = JumpState_Landing;
|
||||||
vec.z() = 0.0f;
|
vec.z() = 0.0f;
|
||||||
|
|
||||||
|
// We should reset idle animation during landing
|
||||||
|
mAnimation->disable(mCurrentIdle);
|
||||||
|
|
||||||
float height = cls.getCreatureStats(mPtr).land(isPlayer);
|
float height = cls.getCreatureStats(mPtr).land(isPlayer);
|
||||||
float healthLost = getFallDamage(mPtr, height);
|
float healthLost = getFallDamage(mPtr, height);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user