forked from teamnwah/openmw-tes3coop
Store movement vectors as they get returned
This commit is contained in:
parent
4bd1e63ac1
commit
1c604445ba
2 changed files with 12 additions and 11 deletions
|
@ -258,19 +258,15 @@ namespace MWMechanics
|
||||||
|
|
||||||
if(!paused)
|
if(!paused)
|
||||||
{
|
{
|
||||||
PtrControllerMap::iterator player(mActors.end());
|
mMovement.reserve(mActors.size());
|
||||||
|
|
||||||
for(PtrControllerMap::iterator iter(mActors.begin());iter != mActors.end();++iter)
|
for(PtrControllerMap::iterator iter(mActors.begin());iter != mActors.end();++iter)
|
||||||
{
|
{
|
||||||
if(iter->first.getRefData().getHandle() == "player")
|
Ogre::Vector3 movement = iter->second.update(duration);
|
||||||
{
|
mMovement.push_back(std::make_pair(iter->first, movement));
|
||||||
/* Make sure player updates last (in case a cell transition occurs) */
|
|
||||||
player = iter;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
iter->second.update(duration);
|
|
||||||
}
|
}
|
||||||
if(player != mActors.end())
|
|
||||||
player->second.update(duration);
|
mMovement.clear();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -25,9 +25,14 @@ namespace MWMechanics
|
||||||
{
|
{
|
||||||
typedef std::map<MWWorld::Ptr,CharacterController> PtrControllerMap;
|
typedef std::map<MWWorld::Ptr,CharacterController> PtrControllerMap;
|
||||||
PtrControllerMap mActors;
|
PtrControllerMap mActors;
|
||||||
float mDuration;
|
|
||||||
|
typedef std::vector<std::pair<MWWorld::Ptr,Ogre::Vector3> > PtrMovementList;
|
||||||
|
PtrMovementList mMovement;
|
||||||
|
|
||||||
std::map<std::string, int> mDeathCount;
|
std::map<std::string, int> mDeathCount;
|
||||||
|
|
||||||
|
float mDuration;
|
||||||
|
|
||||||
void updateNpc (const MWWorld::Ptr& ptr, float duration, bool paused);
|
void updateNpc (const MWWorld::Ptr& ptr, float duration, bool paused);
|
||||||
|
|
||||||
void adjustMagicEffects (const MWWorld::Ptr& creature);
|
void adjustMagicEffects (const MWWorld::Ptr& creature);
|
||||||
|
|
Loading…
Reference in a new issue