From 8bfcf259a3a658156878e64be221b0d7f711eed8 Mon Sep 17 00:00:00 2001 From: scrawl Date: Tue, 16 Aug 2016 22:37:44 +0200 Subject: [PATCH] LocalMap no longer depends on osgViewer --- apps/openmw/mwgui/windowmanagerimp.cpp | 2 +- apps/openmw/mwrender/localmap.cpp | 11 ++++------- apps/openmw/mwrender/localmap.hpp | 9 +-------- 3 files changed, 6 insertions(+), 16 deletions(-) diff --git a/apps/openmw/mwgui/windowmanagerimp.cpp b/apps/openmw/mwgui/windowmanagerimp.cpp index 54fd31acd..2426dc3e1 100644 --- a/apps/openmw/mwgui/windowmanagerimp.cpp +++ b/apps/openmw/mwgui/windowmanagerimp.cpp @@ -282,7 +282,7 @@ namespace MWGui mRecharge = new Recharge(); mMenu = new MainMenu(w, h, mResourceSystem->getVFS(), mVersionDescription); - mLocalMapRender = new MWRender::LocalMap(mViewer); + mLocalMapRender = new MWRender::LocalMap(mViewer->getSceneData()->asGroup()); mMap = new MapWindow(mCustomMarkers, mDragAndDrop, mLocalMapRender); trackWindow(mMap, "map"); mStatsWindow = new StatsWindow(mDragAndDrop); diff --git a/apps/openmw/mwrender/localmap.cpp b/apps/openmw/mwrender/localmap.cpp index 489257ab3..3b45a3c60 100644 --- a/apps/openmw/mwrender/localmap.cpp +++ b/apps/openmw/mwrender/localmap.cpp @@ -7,11 +7,10 @@ #include #include #include +#include #include -#include - #include #include #include @@ -68,16 +67,14 @@ namespace namespace MWRender { -LocalMap::LocalMap(osgViewer::Viewer* viewer) - : mViewer(viewer) +LocalMap::LocalMap(osg::Group* root) + : mRoot(root) , mMapResolution(Settings::Manager::getInt("local map resolution", "Map")) , mMapWorldSize(8192.f) , mCellDistance(Settings::Manager::getInt("local map cell distance", "Map")) , mAngle(0.f) , mInterior(false) { - mRoot = mViewer->getSceneData()->asGroup(); - SceneUtil::FindByNameVisitor find("Scene Root"); mRoot->accept(find); mSceneRoot = find.mFoundNode; @@ -310,7 +307,7 @@ void LocalMap::requestExteriorMap(const MWWorld::CellStore* cell) int x = cell->getCell()->getGridX(); int y = cell->getCell()->getGridY(); - osg::BoundingSphere bound = mViewer->getSceneData()->getBound(); + osg::BoundingSphere bound = mSceneRoot->getBound(); float zmin = bound.center().z() - bound.radius(); float zmax = bound.center().z() + bound.radius(); diff --git a/apps/openmw/mwrender/localmap.hpp b/apps/openmw/mwrender/localmap.hpp index 2516c063e..1928871ca 100644 --- a/apps/openmw/mwrender/localmap.hpp +++ b/apps/openmw/mwrender/localmap.hpp @@ -19,11 +19,6 @@ namespace ESM struct FogTexture; } -namespace osgViewer -{ - class Viewer; -} - namespace osg { class Texture2D; @@ -41,7 +36,7 @@ namespace MWRender class LocalMap { public: - LocalMap(osgViewer::Viewer* viewer); + LocalMap(osg::Group* root); ~LocalMap(); /** @@ -106,8 +101,6 @@ namespace MWRender osg::Group* getRoot(); private: - osg::ref_ptr mViewer; - osg::ref_ptr mRoot; osg::ref_ptr mSceneRoot;