mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-03-30 07:21:12 +00:00
Use only player's half extents
This commit is contained in:
parent
fafba8ea0c
commit
0c8a7295e6
@ -93,7 +93,8 @@ namespace
|
||||
else if (const auto actor = physics.getActor(ptr))
|
||||
{
|
||||
const auto navigator = MWBase::Environment::get().getWorld()->getNavigator();
|
||||
navigator->addAgent(actor->getHalfExtents());
|
||||
const auto playerHalfExtents = physics.getHalfExtents(MWBase::Environment::get().getWorld()->getPlayerPtr());
|
||||
navigator->addAgent(playerHalfExtents);
|
||||
}
|
||||
|
||||
if (useAnim)
|
||||
@ -260,12 +261,13 @@ namespace MWWorld
|
||||
ListAndResetObjectsVisitor visitor;
|
||||
|
||||
(*iter)->forEach<ListAndResetObjectsVisitor>(visitor);
|
||||
const auto playerHalfExtents = mPhysics->getHalfExtents(MWBase::Environment::get().getWorld()->getPlayerPtr());
|
||||
for (const auto& ptr : visitor.mObjects)
|
||||
{
|
||||
if (const auto object = mPhysics->getObject(ptr))
|
||||
navigator->removeObject(reinterpret_cast<std::size_t>(object));
|
||||
else if (const auto actor = mPhysics->getActor(ptr))
|
||||
navigator->removeAgent(actor->getHalfExtents());
|
||||
navigator->removeAgent(playerHalfExtents);
|
||||
mPhysics->remove(ptr);
|
||||
}
|
||||
|
||||
@ -676,7 +678,10 @@ namespace MWWorld
|
||||
if (const auto object = mPhysics->getObject(ptr))
|
||||
navigator->removeObject(reinterpret_cast<std::size_t>(object));
|
||||
else if (const auto actor = mPhysics->getActor(ptr))
|
||||
navigator->removeAgent(actor->getHalfExtents());
|
||||
{
|
||||
const auto playerHalfExtents = mPhysics->getHalfExtents(MWBase::Environment::get().getWorld()->getPlayerPtr());
|
||||
navigator->removeAgent(playerHalfExtents);
|
||||
}
|
||||
mPhysics->remove(ptr);
|
||||
mRendering.removeObject (ptr);
|
||||
if (ptr.getClass().isActor())
|
||||
|
@ -2313,6 +2313,7 @@ namespace MWWorld
|
||||
{
|
||||
// Remove the old CharacterController
|
||||
MWBase::Environment::get().getMechanicsManager()->remove(getPlayerPtr());
|
||||
mNavigator->removeAgent(mPhysics->getHalfExtents(getPlayerPtr()));
|
||||
mPhysics->remove(getPlayerPtr());
|
||||
mRendering->removePlayer(getPlayerPtr());
|
||||
|
||||
@ -2347,6 +2348,8 @@ namespace MWWorld
|
||||
mPhysics->addActor(getPlayerPtr(), model);
|
||||
|
||||
applyLoopingParticles(player);
|
||||
|
||||
mNavigator->addAgent(mPhysics->getHalfExtents(getPlayerPtr()));
|
||||
}
|
||||
|
||||
World::RestPermitted World::canRest () const
|
||||
|
Loading…
x
Reference in New Issue
Block a user