forked from teamnwah/openmw-tes3coop
Pass the movement vector in as a parameter to CharacterController::update
This commit is contained in:
parent
63af72c315
commit
af65ecd841
4 changed files with 8 additions and 8 deletions
|
@ -56,7 +56,10 @@ void Activators::update(float duration, bool paused)
|
||||||
if(!paused)
|
if(!paused)
|
||||||
{
|
{
|
||||||
for(PtrControllerMap::iterator iter(mActivators.begin());iter != mActivators.end();++iter)
|
for(PtrControllerMap::iterator iter(mActivators.begin());iter != mActivators.end();++iter)
|
||||||
iter->second.update(duration);
|
{
|
||||||
|
Ogre::Vector3 movement(0.0f);
|
||||||
|
iter->second.update(duration, movement);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -266,7 +266,8 @@ namespace MWMechanics
|
||||||
|
|
||||||
for(PtrControllerMap::iterator iter(mActors.begin());iter != mActors.end();++iter)
|
for(PtrControllerMap::iterator iter(mActors.begin());iter != mActors.end();++iter)
|
||||||
{
|
{
|
||||||
Ogre::Vector3 movement = iter->second.update(duration);
|
Ogre::Vector3 movement(0.0f);
|
||||||
|
iter->second.update(duration, movement);
|
||||||
mMovement.push_back(std::make_pair(iter->first, movement));
|
mMovement.push_back(std::make_pair(iter->first, movement));
|
||||||
}
|
}
|
||||||
MWBase::Environment::get().getWorld()->doPhysics(mMovement, duration);
|
MWBase::Environment::get().getWorld()->doPhysics(mMovement, duration);
|
||||||
|
|
|
@ -168,10 +168,8 @@ void CharacterController::markerEvent(float time, const std::string &evt)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Ogre::Vector3 CharacterController::update(float duration)
|
void CharacterController::update(float duration, Ogre::Vector3 &movement)
|
||||||
{
|
{
|
||||||
Ogre::Vector3 movement(0.0f);
|
|
||||||
|
|
||||||
float speed = 0.0f;
|
float speed = 0.0f;
|
||||||
if(!(getState() >= CharState_Death1))
|
if(!(getState() >= CharState_Death1))
|
||||||
{
|
{
|
||||||
|
@ -240,8 +238,6 @@ Ogre::Vector3 CharacterController::update(float duration)
|
||||||
movement += mAnimation->runAnimation(duration);
|
movement += mAnimation->runAnimation(duration);
|
||||||
}
|
}
|
||||||
mSkipAnim = false;
|
mSkipAnim = false;
|
||||||
|
|
||||||
return movement;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -87,7 +87,7 @@ public:
|
||||||
|
|
||||||
void updatePtr(const MWWorld::Ptr &ptr);
|
void updatePtr(const MWWorld::Ptr &ptr);
|
||||||
|
|
||||||
Ogre::Vector3 update(float duration);
|
void update(float duration, Ogre::Vector3 &movement);
|
||||||
|
|
||||||
void playGroup(const std::string &groupname, int mode, int count);
|
void playGroup(const std::string &groupname, int mode, int count);
|
||||||
void skipAnim();
|
void skipAnim();
|
||||||
|
|
Loading…
Reference in a new issue