mirror of
https://github.com/TES3MP/openmw-tes3mp.git
synced 2025-01-19 21:53:51 +00:00
Addition to bb4bd999ba
: adjust position for objects placed from inventory
This commit is contained in:
parent
eb5e4ecec2
commit
876fb9a899
2 changed files with 5 additions and 6 deletions
|
@ -1095,7 +1095,7 @@ namespace MWWorld
|
|||
|
||||
MWWorld::Ptr World::safePlaceObject(const MWWorld::Ptr& ptr,MWWorld::CellStore &Cell,ESM::Position pos)
|
||||
{
|
||||
return copyObjectToCell(ptr,Cell,pos);
|
||||
return copyObjectToCell(ptr,Cell,pos,false);
|
||||
}
|
||||
|
||||
void World::indexToPosition (int cellX, int cellY, float &x, float &y, bool centre) const
|
||||
|
@ -1516,7 +1516,7 @@ namespace MWWorld
|
|||
// copy the object and set its count
|
||||
int origCount = object.getRefData().getCount();
|
||||
object.getRefData().setCount(amount);
|
||||
Ptr dropped = copyObjectToCell(object, *cell, pos);
|
||||
Ptr dropped = copyObjectToCell(object, *cell, pos, true);
|
||||
object.getRefData().setCount(origCount);
|
||||
|
||||
// only the player place items in the world, so no need to check actor
|
||||
|
@ -1537,13 +1537,13 @@ namespace MWWorld
|
|||
}
|
||||
|
||||
|
||||
Ptr World::copyObjectToCell(const Ptr &object, CellStore &cell, const ESM::Position &pos)
|
||||
Ptr World::copyObjectToCell(const Ptr &object, CellStore &cell, const ESM::Position &pos, bool adjustPos)
|
||||
{
|
||||
/// \todo add searching correct cell for position specified
|
||||
MWWorld::Ptr dropped =
|
||||
MWWorld::Class::get(object).copyToCell(object, cell, pos);
|
||||
|
||||
if (object.getClass().isActor())
|
||||
if (object.getClass().isActor() || adjustPos)
|
||||
{
|
||||
Ogre::Vector3 min, max;
|
||||
if (mPhysics->getObjectAABB(object, min, max)) {
|
||||
|
|
|
@ -114,8 +114,7 @@ namespace MWWorld
|
|||
bool moveObjectImp (const Ptr& ptr, float x, float y, float z);
|
||||
///< @return true if the active cell (cell player is in) changed
|
||||
|
||||
|
||||
Ptr copyObjectToCell(const Ptr &ptr, CellStore &cell, const ESM::Position &pos);
|
||||
Ptr copyObjectToCell(const Ptr &ptr, CellStore &cell, const ESM::Position &pos, bool adjustPos=true);
|
||||
|
||||
void updateWindowManager ();
|
||||
void performUpdateSceneQueries ();
|
||||
|
|
Loading…
Reference in a new issue