Windows debug build crash fix.

This commit is contained in:
cc9cii 2014-05-09 20:43:24 +10:00
parent 3dfd239b83
commit cf23721f1b

View file

@ -497,12 +497,12 @@ namespace MWMechanics
// coded at 250ms or 1/4 second // coded at 250ms or 1/4 second
// //
// TODO: Add a parameter to vary DURATION_SAME_SPOT? // TODO: Add a parameter to vary DURATION_SAME_SPOT?
MWWorld::CellStore *cell = actor.getCell();
if((distToTarget > rangeAttack || mFollowTarget) && if((distToTarget > rangeAttack || mFollowTarget) &&
mObstacleCheck.check(actor, tReaction)) // check if evasive action needed mObstacleCheck.check(actor, tReaction)) // check if evasive action needed
{ {
// first check if we're walking into a door // first check if we're walking into a door
mDoorCheckDuration += 1.0f; // add time taken for obstacle check mDoorCheckDuration += 1.0f; // add time taken for obstacle check
MWWorld::CellStore *cell = actor.getCell();
if(mDoorCheckDuration >= DOOR_CHECK_INTERVAL && !cell->getCell()->isExterior()) if(mDoorCheckDuration >= DOOR_CHECK_INTERVAL && !cell->getCell()->isExterior())
{ {
mDoorCheckDuration = 0; mDoorCheckDuration = 0;
@ -542,6 +542,8 @@ namespace MWMechanics
} }
} }
if(!cell->getCell()->isExterior() && !mDoors.mList.empty())
{
MWWorld::LiveCellRef<ESM::Door>& ref = *mDoorIter; MWWorld::LiveCellRef<ESM::Door>& ref = *mDoorIter;
float minSqr = 1.6 * 1.6 * MIN_DIST_TO_DOOR_SQUARED; // for legibility float minSqr = 1.6 * 1.6 * MIN_DIST_TO_DOOR_SQUARED; // for legibility
// TODO: add reaction to checking open doors // TODO: add reaction to checking open doors
@ -559,11 +561,7 @@ namespace MWMechanics
//std::cout<<"open door id \""<<ref.mRef.mRefID<<"\""<<std::endl; //std::cout<<"open door id \""<<ref.mRef.mRefID<<"\""<<std::endl;
mMovement.mPosition[1] = 1; mMovement.mPosition[1] = 1;
} }
// these lines break ranged combat distance keeping }
//else
//{
// mMovement.mPosition[1] = 1; // FIXME: oscillation?
//}
return false; return false;
} }