|
|
@ -591,8 +591,8 @@ namespace MWWorld
|
|
|
|
else
|
|
|
|
else
|
|
|
|
unloadCell(cell, navigatorUpdateGuard.get());
|
|
|
|
unloadCell(cell, navigatorUpdateGuard.get());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
mNavigator.setWorldspace(playerCellIndex.mWorldspace, navigatorUpdateGuard.get());
|
|
|
|
|
|
|
|
mNavigator.updateBounds(pos, navigatorUpdateGuard.get());
|
|
|
|
mNavigator.updateBounds(playerCellIndex.mWorldspace, pos, navigatorUpdateGuard.get());
|
|
|
|
|
|
|
|
|
|
|
|
mCurrentGridCenter = osg::Vec2i(playerCellX, playerCellY);
|
|
|
|
mCurrentGridCenter = osg::Vec2i(playerCellX, playerCellY);
|
|
|
|
osg::Vec4i newGrid = gridCenterToBounds(mCurrentGridCenter);
|
|
|
|
osg::Vec4i newGrid = gridCenterToBounds(mCurrentGridCenter);
|
|
|
@ -694,10 +694,9 @@ namespace MWWorld
|
|
|
|
|
|
|
|
|
|
|
|
CellStore& cell = mWorld.getWorldModel().getExterior(
|
|
|
|
CellStore& cell = mWorld.getWorldModel().getExterior(
|
|
|
|
ESM::ExteriorCellLocation(it->mData.mX, it->mData.mY, ESM::Cell::sDefaultWorldspaceId));
|
|
|
|
ESM::ExteriorCellLocation(it->mData.mX, it->mData.mY, ESM::Cell::sDefaultWorldspaceId));
|
|
|
|
mNavigator.setWorldspace(cell.getCell()->getWorldSpace(), navigatorUpdateGuard.get());
|
|
|
|
|
|
|
|
const osg::Vec3f position
|
|
|
|
const osg::Vec3f position
|
|
|
|
= osg::Vec3f(it->mData.mX + 0.5f, it->mData.mY + 0.5f, 0) * Constants::CellSizeInUnits;
|
|
|
|
= osg::Vec3f(it->mData.mX + 0.5f, it->mData.mY + 0.5f, 0) * Constants::CellSizeInUnits;
|
|
|
|
mNavigator.updateBounds(position, navigatorUpdateGuard.get());
|
|
|
|
mNavigator.updateBounds(ESM::Cell::sDefaultWorldspaceId, position, navigatorUpdateGuard.get());
|
|
|
|
loadCell(cell, nullptr, false, position, navigatorUpdateGuard.get());
|
|
|
|
loadCell(cell, nullptr, false, position, navigatorUpdateGuard.get());
|
|
|
|
|
|
|
|
|
|
|
|
mNavigator.update(position, navigatorUpdateGuard.get());
|
|
|
|
mNavigator.update(position, navigatorUpdateGuard.get());
|
|
|
@ -751,10 +750,9 @@ namespace MWWorld
|
|
|
|
+ std::to_string(cells.getIntSize()) + ")...");
|
|
|
|
+ std::to_string(cells.getIntSize()) + ")...");
|
|
|
|
|
|
|
|
|
|
|
|
CellStore& cell = mWorld.getWorldModel().getInterior(it->mName);
|
|
|
|
CellStore& cell = mWorld.getWorldModel().getInterior(it->mName);
|
|
|
|
mNavigator.setWorldspace(cell.getCell()->getWorldSpace(), navigatorUpdateGuard.get());
|
|
|
|
|
|
|
|
ESM::Position position;
|
|
|
|
ESM::Position position;
|
|
|
|
mWorld.findInteriorPosition(it->mName, position);
|
|
|
|
mWorld.findInteriorPosition(it->mName, position);
|
|
|
|
mNavigator.updateBounds(position.asVec3(), navigatorUpdateGuard.get());
|
|
|
|
mNavigator.updateBounds(cell.getCell()->getWorldSpace(), position.asVec3(), navigatorUpdateGuard.get());
|
|
|
|
loadCell(cell, nullptr, false, position.asVec3(), navigatorUpdateGuard.get());
|
|
|
|
loadCell(cell, nullptr, false, position.asVec3(), navigatorUpdateGuard.get());
|
|
|
|
|
|
|
|
|
|
|
|
mNavigator.update(position.asVec3(), navigatorUpdateGuard.get());
|
|
|
|
mNavigator.update(position.asVec3(), navigatorUpdateGuard.get());
|
|
|
@ -904,8 +902,7 @@ namespace MWWorld
|
|
|
|
|
|
|
|
|
|
|
|
loadingListener->setProgressRange(cell.count());
|
|
|
|
loadingListener->setProgressRange(cell.count());
|
|
|
|
|
|
|
|
|
|
|
|
mNavigator.setWorldspace(cell.getCell()->getWorldSpace(), navigatorUpdateGuard.get());
|
|
|
|
mNavigator.updateBounds(cell.getCell()->getWorldSpace(), position.asVec3(), navigatorUpdateGuard.get());
|
|
|
|
mNavigator.updateBounds(position.asVec3(), navigatorUpdateGuard.get());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Load cell.
|
|
|
|
// Load cell.
|
|
|
|
mPagedRefs.clear();
|
|
|
|
mPagedRefs.clear();
|
|
|
|