forked from teamnwah/openmw-tes3coop
Preload terrain while reading savegame
This commit is contained in:
parent
e4e8821902
commit
c22fde2bcd
3 changed files with 9 additions and 0 deletions
|
@ -809,6 +809,13 @@ namespace MWWorld
|
||||||
mPreloader->preload(cell, mRendering.getReferenceTime());
|
mPreloader->preload(cell, mRendering.getReferenceTime());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Scene::preloadTerrain(const osg::Vec3f &pos)
|
||||||
|
{
|
||||||
|
std::vector<osg::Vec3f> vec;
|
||||||
|
vec.push_back(pos);
|
||||||
|
mPreloader->setTerrainPreloadPositions(vec);
|
||||||
|
}
|
||||||
|
|
||||||
struct ListFastTravelDestinationsVisitor
|
struct ListFastTravelDestinationsVisitor
|
||||||
{
|
{
|
||||||
ListFastTravelDestinationsVisitor(float preloadDist, const osg::Vec3f& playerPos)
|
ListFastTravelDestinationsVisitor(float preloadDist, const osg::Vec3f& playerPos)
|
||||||
|
|
|
@ -89,6 +89,7 @@ namespace MWWorld
|
||||||
~Scene();
|
~Scene();
|
||||||
|
|
||||||
void preloadCell(MWWorld::CellStore* cell, bool preloadSurrounding=false);
|
void preloadCell(MWWorld::CellStore* cell, bool preloadSurrounding=false);
|
||||||
|
void preloadTerrain(const osg::Vec3f& pos);
|
||||||
|
|
||||||
void unloadCell (CellStoreCollection::iterator iter);
|
void unloadCell (CellStoreCollection::iterator iter);
|
||||||
|
|
||||||
|
|
|
@ -379,6 +379,7 @@ namespace MWWorld
|
||||||
case ESM::REC_PLAY:
|
case ESM::REC_PLAY:
|
||||||
mPlayer->readRecord(reader, type);
|
mPlayer->readRecord(reader, type);
|
||||||
mWorldScene->preloadCell(getPlayerPtr().getCell(), true);
|
mWorldScene->preloadCell(getPlayerPtr().getCell(), true);
|
||||||
|
mWorldScene->preloadTerrain(getPlayerPtr().getRefData().getPosition().asVec3());
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
if (!mStore.readRecord (reader, type) &&
|
if (!mStore.readRecord (reader, type) &&
|
||||||
|
|
Loading…
Reference in a new issue