mirror of
https://github.com/TES3MP/openmw-tes3mp.git
synced 2025-04-01 05:36:43 +00:00
Use only player's half extents
This commit is contained in:
parent
fafba8ea0c
commit
0c8a7295e6
2 changed files with 11 additions and 3 deletions
|
@ -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…
Reference in a new issue