moved global map from RenderingManager to gui and removed world method

This commit is contained in:
scrawl 2012-09-21 14:11:01 +02:00
parent a161b34c67
commit 9106e5307c
10 changed files with 28 additions and 27 deletions

View file

@ -339,7 +339,7 @@ void OMW::Engine::go()
mEnvironment.setWindowManager (new MWGui::WindowManager(
mExtensions, mFpsLevel, mNewGame, mOgre, mCfgMgr.getLogPath().string() + std::string("/"),
mScriptConsoleMode));
mCfgMgr.getCachePath ().string(), mScriptConsoleMode));
// Create sound system
mEnvironment.setSoundManager (new MWSound::SoundManager(mUseSound));
@ -369,7 +369,6 @@ void OMW::Engine::go()
pos.pos[2] = 0;
mEnvironment.getWorld()->renderPlayer();
mEnvironment.getWorld()->renderGlobalMap();
if (const ESM::Cell *exterior = MWBase::Environment::get().getWorld()->getExterior (mCellName))
{

View file

@ -282,7 +282,6 @@ namespace MWBase
virtual void togglePlayerLooking(bool enable) = 0;
virtual void renderPlayer() = 0;
virtual void renderGlobalMap() = 0;
virtual void setupExternalRendering (MWRender::ExternalRendering& rendering) = 0;

View file

@ -11,6 +11,8 @@
#include "../mwbase/environment.hpp"
#include "../mwworld/player.hpp"
#include "../mwrender/globalmap.hpp"
using namespace MWGui;
LocalMapBase::LocalMapBase()
@ -249,12 +251,14 @@ void LocalMapBase::setPlayerDir(const float x, const float y)
// ------------------------------------------------------------------------------------------
MapWindow::MapWindow(MWBase::WindowManager& parWindowManager) :
MWGui::WindowPinnableBase("openmw_map_window.layout", parWindowManager),
mGlobal(false)
MapWindow::MapWindow(MWBase::WindowManager& parWindowManager, const std::string& cacheDir)
: MWGui::WindowPinnableBase("openmw_map_window.layout", parWindowManager)
, mGlobal(false)
{
setCoord(500,0,320,300);
mGlobalMapRender = new MWRender::GlobalMap(cacheDir);
getWidget(mLocalMap, "LocalMap");
getWidget(mGlobalMap, "GlobalMap");
getWidget(mGlobalMapImage, "GlobalMapImage");
@ -277,6 +281,11 @@ MapWindow::MapWindow(MWBase::WindowManager& parWindowManager) :
LocalMapBase::init(mLocalMap, mPlayerArrowLocal, this);
}
MapWindow::~MapWindow()
{
delete mGlobalMapRender;
}
void MapWindow::setCellName(const std::string& cellName)
{
setTitle(cellName);

View file

@ -3,6 +3,11 @@
#include "window_pinnable_base.hpp"
namespace MWRender
{
class GlobalMap;
}
namespace MWGui
{
class LocalMapBase
@ -57,8 +62,8 @@ namespace MWGui
class MapWindow : public MWGui::WindowPinnableBase, public LocalMapBase
{
public:
MapWindow(MWBase::WindowManager& parWindowManager);
virtual ~MapWindow(){}
MapWindow(MWBase::WindowManager& parWindowManager, const std::string& cacheDir);
virtual ~MapWindow();
void setCellName(const std::string& cellName);
@ -82,6 +87,8 @@ namespace MWGui
MyGUI::Button* mEventBoxGlobal;
MyGUI::Button* mEventBoxLocal;
MWRender::GlobalMap* mGlobalMapRender;
protected:
virtual void onPinToggled();
};

View file

@ -50,7 +50,8 @@
using namespace MWGui;
WindowManager::WindowManager(
const Compiler::Extensions& extensions, int fpsLevel, bool newGame, OEngine::Render::OgreRenderer *mOgre, const std::string& logpath, bool consoleOnlyScripts)
const Compiler::Extensions& extensions, int fpsLevel, bool newGame, OEngine::Render::OgreRenderer *mOgre,
const std::string& logpath, const std::string& cacheDir, bool consoleOnlyScripts)
: mGuiManager(NULL)
, mHud(NULL)
, mMap(NULL)
@ -132,7 +133,7 @@ WindowManager::WindowManager(
mDragAndDrop->mDragAndDropWidget = dragAndDropWidget;
mMenu = new MainMenu(w,h);
mMap = new MapWindow(*this);
mMap = new MapWindow(*this, cacheDir);
mStatsWindow = new StatsWindow(*this);
mConsole = new Console(w,h, consoleOnlyScripts);
mJournal = new JournalWindow(*this);

View file

@ -71,7 +71,9 @@ namespace MWGui
typedef std::pair<std::string, int> Faction;
typedef std::vector<Faction> FactionList;
WindowManager(const Compiler::Extensions& extensions, int fpsLevel, bool newGame, OEngine::Render::OgreRenderer *mOgre, const std::string& logpath, bool consoleOnlyScripts);
WindowManager(const Compiler::Extensions& extensions, int fpsLevel, bool newGame,
OEngine::Render::OgreRenderer *mOgre, const std::string& logpath,
const std::string& cacheDir, bool consoleOnlyScripts);
virtual ~WindowManager();
/**

View file

@ -164,8 +164,6 @@ RenderingManager::RenderingManager (OEngine::Render::OgreRenderer& _rend, const
mDebugging = new Debugging(mMwRoot, engine);
mLocalMap = new MWRender::LocalMap(&mRendering, this);
mGlobalMap = new GlobalMap(cacheDir.string());
setMenuTransparency(Settings::Manager::getFloat("menu transparency", "GUI"));
}
@ -182,7 +180,6 @@ RenderingManager::~RenderingManager ()
delete mOcclusionQuery;
delete mCompositors;
delete mWater;
delete mGlobalMap;
}
MWRender::SkyManager* RenderingManager::getSkyManager()
@ -901,9 +898,4 @@ void RenderingManager::setupExternalRendering (MWRender::ExternalRendering& rend
rendering.setup (mRendering.getScene());
}
void RenderingManager::renderGlobalMap ()
{
mGlobalMap->render ();
}
} // namespace

View file

@ -195,8 +195,6 @@ class RenderingManager: private RenderingInterface, public Ogre::WindowEventList
void setupExternalRendering (MWRender::ExternalRendering& rendering);
void renderGlobalMap();
protected:
virtual void windowResized(Ogre::RenderWindow* rw);
virtual void windowClosed(Ogre::RenderWindow* rw);

View file

@ -1253,11 +1253,6 @@ namespace MWWorld
mRendering->renderPlayer(mPlayer->getPlayer());
}
void World::renderGlobalMap ()
{
mRendering->renderGlobalMap ();
}
void World::setupExternalRendering (MWRender::ExternalRendering& rendering)
{
mRendering->setupExternalRendering (rendering);

View file

@ -313,7 +313,6 @@ namespace MWWorld
}
virtual void renderPlayer();
virtual void renderGlobalMap();
virtual void setupExternalRendering (MWRender::ExternalRendering& rendering);