diff --git a/apps/openmw/mwworld/scene.cpp b/apps/openmw/mwworld/scene.cpp index 202b500fdd..5f585c1d26 100644 --- a/apps/openmw/mwworld/scene.cpp +++ b/apps/openmw/mwworld/scene.cpp @@ -1101,18 +1101,17 @@ namespace MWWorld if (mPreloadEnabled) { if (mPreloadDoors) - preloadTeleportDoorDestinations(playerPos, predictedPos, exteriorPositions); + preloadTeleportDoorDestinations(playerPos, predictedPos); if (mPreloadExteriorGrid) preloadExteriorGrid(playerPos, predictedPos); if (mPreloadFastTravel) - preloadFastTravelDestinations(playerPos, predictedPos, exteriorPositions); + preloadFastTravelDestinations(playerPos, exteriorPositions); } mPreloader->setTerrainPreloadPositions(exteriorPositions); } - void Scene::preloadTeleportDoorDestinations( - const osg::Vec3f& playerPos, const osg::Vec3f& predictedPos, std::vector& exteriorPositions) + void Scene::preloadTeleportDoorDestinations(const osg::Vec3f& playerPos, const osg::Vec3f& predictedPos) { std::vector teleportDoors; for (const MWWorld::CellStore* cellStore : mActiveCells) @@ -1281,12 +1280,10 @@ namespace MWWorld std::vector mList; }; - void Scene::preloadFastTravelDestinations(const osg::Vec3f& playerPos, const osg::Vec3f& /*predictedPos*/, - std::vector& exteriorPositions) // ignore predictedPos here since opening dialogue with - // travel service takes extra time + void Scene::preloadFastTravelDestinations( + const osg::Vec3f& playerPos, std::vector& exteriorPositions) { - const MWWorld::ConstPtr player = mWorld.getPlayerPtr(); - ListFastTravelDestinationsVisitor listVisitor(mPreloadDistance, player.getRefData().getPosition().asVec3()); + ListFastTravelDestinationsVisitor listVisitor(mPreloadDistance, playerPos); ESM::RefId extWorldspace = mWorld.getCurrentWorldspace(); for (MWWorld::CellStore* cellStore : mActiveCells) { diff --git a/apps/openmw/mwworld/scene.hpp b/apps/openmw/mwworld/scene.hpp index f318deaa9f..93d814ec51 100644 --- a/apps/openmw/mwworld/scene.hpp +++ b/apps/openmw/mwworld/scene.hpp @@ -124,11 +124,10 @@ namespace MWWorld void requestChangeCellGrid(const osg::Vec3f& position, const osg::Vec2i& cell, bool changeEvent = true); void preloadCells(float dt); - void preloadTeleportDoorDestinations(const osg::Vec3f& playerPos, const osg::Vec3f& predictedPos, - std::vector& exteriorPositions); + void preloadTeleportDoorDestinations(const osg::Vec3f& playerPos, const osg::Vec3f& predictedPos); void preloadExteriorGrid(const osg::Vec3f& playerPos, const osg::Vec3f& predictedPos); - void preloadFastTravelDestinations(const osg::Vec3f& playerPos, const osg::Vec3f& predictedPos, - std::vector& exteriorPositions); + void preloadFastTravelDestinations( + const osg::Vec3f& playerPos, std::vector& exteriorPositions); osg::Vec4i gridCenterToBounds(const osg::Vec2i& centerCell) const; osg::Vec2i getNewGridCenter(const osg::Vec3f& pos, const osg::Vec2i* currentGridCenter = nullptr) const;