From 7aeafd3bb9403104134c0a22b32925fafd9ec976 Mon Sep 17 00:00:00 2001 From: scrawl Date: Tue, 19 Jan 2016 14:51:37 +0100 Subject: [PATCH] Revert "Apply the AiTravel maxRange to AiEscort as well (Fixes #2697)" This reverts commit 1f543b4d79744886aa9a03ad7fcff6d97dc5f70c. --- apps/openmw/mwmechanics/aiescort.cpp | 3 --- apps/openmw/mwmechanics/aipackage.hpp | 9 --------- apps/openmw/mwmechanics/aitravel.cpp | 12 ++++++++++++ 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/apps/openmw/mwmechanics/aiescort.cpp b/apps/openmw/mwmechanics/aiescort.cpp index baf4f1be7..fffab8d77 100644 --- a/apps/openmw/mwmechanics/aiescort.cpp +++ b/apps/openmw/mwmechanics/aiescort.cpp @@ -75,9 +75,6 @@ namespace MWMechanics return true; } - if (!isWithinMaxRange(osg::Vec3f(mX, mY, mZ), actor.getRefData().getPosition().asVec3())) - return false; - if (!mCellId.empty() && mCellId != actor.getCell()->getCell()->getCellId().mWorldspace) return false; // Not in the correct cell, pause and rely on the player to go back through a teleport door diff --git a/apps/openmw/mwmechanics/aipackage.hpp b/apps/openmw/mwmechanics/aipackage.hpp index 76f89dff4..07df933e2 100644 --- a/apps/openmw/mwmechanics/aipackage.hpp +++ b/apps/openmw/mwmechanics/aipackage.hpp @@ -97,19 +97,10 @@ namespace MWMechanics ESM::Pathgrid::Point mPrevDest; - bool isWithinMaxRange(const osg::Vec3f& pos1, const osg::Vec3f& pos2) const - { - // Maximum travel distance for vanilla compatibility. - // Was likely meant to prevent NPCs walking into non-loaded exterior cells, but for some reason is used in interior cells as well. - // We can make this configurable at some point, but the default *must* be the below value. Anything else will break shoddily-written content (*cough* MW *cough*) in bizarre ways. - return (pos1 - pos2).length2() <= 7168*7168; - } - private: bool isNearInactiveCell(const ESM::Position& actorPos); }; - } #endif diff --git a/apps/openmw/mwmechanics/aitravel.cpp b/apps/openmw/mwmechanics/aitravel.cpp index c29861f4e..1585a3007 100644 --- a/apps/openmw/mwmechanics/aitravel.cpp +++ b/apps/openmw/mwmechanics/aitravel.cpp @@ -13,6 +13,18 @@ #include "movement.hpp" #include "creaturestats.hpp" +namespace +{ + +bool isWithinMaxRange(const osg::Vec3f& pos1, const osg::Vec3f& pos2) +{ + // Maximum travel distance for vanilla compatibility. + // Was likely meant to prevent NPCs walking into non-loaded exterior cells, but for some reason is used in interior cells as well. + // We can make this configurable at some point, but the default *must* be the below value. Anything else will break shoddily-written content (*cough* MW *cough*) in bizarre ways. + return (pos1 - pos2).length2() <= 7168*7168; +} + +} namespace MWMechanics {