diff --git a/indra/newview/aoengine.cpp b/indra/newview/aoengine.cpp index fa9908af52..52ac3a3d25 100644 --- a/indra/newview/aoengine.cpp +++ b/indra/newview/aoengine.cpp @@ -312,8 +312,12 @@ const LLUUID AOEngine::override(const LLUUID pMotion,BOOL start) if(motion==ANIM_AGENT_SIT && mCurrentSet->getSmart()) mSitCancelTimer.oneShot(); - // special treatment for ground sit, because the viewer needs the Linden animation to show "Stand Up" - else if(motion==ANIM_AGENT_SIT_GROUND) + // special treatment for "transient animations" because the viewer needs the Linden animation to know the agent's state + else if(motion==ANIM_AGENT_SIT_GROUND || + motion==ANIM_AGENT_PRE_JUMP || + motion==ANIM_AGENT_STANDUP || + motion==ANIM_AGENT_LAND || + motion==ANIM_AGENT_MEDIUM_LAND) { gAgent.sendAnimationRequest(animation,ANIM_REQUEST_START); return LLUUID::null; @@ -337,8 +341,12 @@ const LLUUID AOEngine::override(const LLUUID pMotion,BOOL start) mCurrentSet->setMotion(LLUUID::null); - // again, special treatment for ground sit to make sure our own animation gets stopped properly - if(motion==ANIM_AGENT_SIT_GROUND) + // again, special treatment for "transient" animations to make sure our own animation gets stopped properly + if( motion==ANIM_AGENT_SIT_GROUND || + motion==ANIM_AGENT_PRE_JUMP || + motion==ANIM_AGENT_STANDUP || + motion==ANIM_AGENT_LAND || + motion==ANIM_AGENT_MEDIUM_LAND) { gAgent.sendAnimationRequest(animation,ANIM_REQUEST_STOP); return LLUUID::null; diff --git a/indra/newview/aoset.cpp b/indra/newview/aoset.cpp index bf1cbc180f..f8df56b820 100644 --- a/indra/newview/aoset.cpp +++ b/indra/newview/aoset.cpp @@ -51,6 +51,7 @@ AOSet::AOSet(const LLUUID inventoryID) "Crouching", "Crouch Walking", "Landing", + "Soft Landing", "Standing Up", "Falling", "Flying Down", @@ -80,6 +81,7 @@ AOSet::AOSet(const LLUUID inventoryID) ANIM_AGENT_CROUCH, ANIM_AGENT_CROUCHWALK, ANIM_AGENT_LAND, + ANIM_AGENT_MEDIUM_LAND, ANIM_AGENT_STANDUP, ANIM_AGENT_FALLDOWN, ANIM_AGENT_HOVER_DOWN, diff --git a/indra/newview/aoset.h b/indra/newview/aoset.h index 8e116569c4..178410e083 100644 --- a/indra/newview/aoset.h +++ b/indra/newview/aoset.h @@ -46,6 +46,7 @@ class AOSet Crouching, CrouchWalking, Landing, + SoftLanding, StandingUp, Falling, FlyingDown,