From afbc9f3e41cad0dcc1c29e8ecc36af7facc27c4a Mon Sep 17 00:00:00 2001 From: Chris Robinson Date: Wed, 16 Jan 2013 20:44:37 -0800 Subject: [PATCH] Keep track of the animation group currently playing --- apps/openmw/mwmechanics/character.cpp | 12 ++++++++---- apps/openmw/mwmechanics/character.hpp | 1 + 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/apps/openmw/mwmechanics/character.cpp b/apps/openmw/mwmechanics/character.cpp index 8e5ac0a4a..8786c42e1 100644 --- a/apps/openmw/mwmechanics/character.cpp +++ b/apps/openmw/mwmechanics/character.cpp @@ -41,10 +41,12 @@ CharacterController::CharacterController(const MWWorld::Ptr &ptr, MWRender::Anim switch(mState) { case CharState_Idle: - mAnimation->playGroup("idle", 1, 1); + mCurrentGroup = "idle"; + mAnimation->playGroup(mCurrentGroup, 1, 1); break; case CharState_Dead: - mAnimation->playGroup("death1", 1, 1); + mCurrentGroup = "death1"; + mAnimation->playGroup(mCurrentGroup, 1, 1); break; } } @@ -100,10 +102,12 @@ void CharacterController::setState(CharacterState state) switch(mState) { case CharState_Idle: - mAnimation->playGroup("idle", 1, 1); + mCurrentGroup = "idle"; + mAnimation->playGroup(mCurrentGroup, 1, 1); break; case CharState_Dead: - mAnimation->playGroup("death1", 1, 1); + mCurrentGroup = "death1"; + mAnimation->playGroup(mCurrentGroup, 1, 1); break; } } diff --git a/apps/openmw/mwmechanics/character.hpp b/apps/openmw/mwmechanics/character.hpp index 83f42887d..9070cbe29 100644 --- a/apps/openmw/mwmechanics/character.hpp +++ b/apps/openmw/mwmechanics/character.hpp @@ -21,6 +21,7 @@ class CharacterController MWWorld::Ptr mPtr; MWRender::Animation *mAnimation; + std::string mCurrentGroup; CharacterState mState; protected: