mirror of
https://github.com/TES3MP/openmw-tes3mp.git
synced 2025-07-13 13:21:42 +00:00
Revert "Take in account actor half extents for obstacle check"
This reverts commit 5434e92437
.
This commit is contained in:
parent
f7917964a0
commit
7b94183d83
1 changed files with 7 additions and 11 deletions
|
@ -2,8 +2,6 @@
|
||||||
|
|
||||||
#include <components/sceneutil/positionattitudetransform.hpp>
|
#include <components/sceneutil/positionattitudetransform.hpp>
|
||||||
|
|
||||||
#include "../mwbase/world.hpp"
|
|
||||||
#include "../mwbase/environment.hpp"
|
|
||||||
#include "../mwworld/class.hpp"
|
#include "../mwworld/class.hpp"
|
||||||
#include "../mwworld/cellstore.hpp"
|
#include "../mwworld/cellstore.hpp"
|
||||||
|
|
||||||
|
@ -125,17 +123,15 @@ namespace MWMechanics
|
||||||
*/
|
*/
|
||||||
void ObstacleCheck::update(const MWWorld::Ptr& actor, float duration)
|
void ObstacleCheck::update(const MWWorld::Ptr& actor, float duration)
|
||||||
{
|
{
|
||||||
const ESM::Position pos = actor.getRefData().getPosition();
|
const MWWorld::Class& cls = actor.getClass();
|
||||||
|
ESM::Position pos = actor.getRefData().getPosition();
|
||||||
|
|
||||||
if (mDistSameSpot == -1)
|
if(mDistSameSpot == -1)
|
||||||
{
|
mDistSameSpot = DIST_SAME_SPOT * cls.getSpeed(actor);
|
||||||
const osg::Vec3f halfExtents = MWBase::Environment::get().getWorld()->getHalfExtents(actor);
|
|
||||||
mDistSameSpot = DIST_SAME_SPOT * actor.getClass().getSpeed(actor) + 1.2 * std::max(halfExtents.x(), halfExtents.y());
|
|
||||||
}
|
|
||||||
|
|
||||||
const float distSameSpot = mDistSameSpot * duration;
|
float distSameSpot = mDistSameSpot * duration;
|
||||||
const float squaredMovedDistance = (osg::Vec2f(pos.pos[0], pos.pos[1]) - osg::Vec2f(mPrevX, mPrevY)).length2();
|
|
||||||
const bool samePosition = squaredMovedDistance < distSameSpot * distSameSpot;
|
bool samePosition = (osg::Vec2f(pos.pos[0], pos.pos[1]) - osg::Vec2f(mPrevX, mPrevY)).length2() < distSameSpot * distSameSpot;
|
||||||
|
|
||||||
// update position
|
// update position
|
||||||
mPrevX = pos.pos[0];
|
mPrevX = pos.pos[0];
|
||||||
|
|
Loading…
Reference in a new issue