diff --git a/apps/openmw/mwgui/layouts.cpp b/apps/openmw/mwgui/layouts.cpp index 34d0cf1b6..5c5a977d3 100644 --- a/apps/openmw/mwgui/layouts.cpp +++ b/apps/openmw/mwgui/layouts.cpp @@ -264,11 +264,12 @@ void LocalMapBase::init(MyGUI::ScrollView* widget, OEngine::GUI::Layout* layout) void LocalMapBase::setCellPrefix(const std::string& prefix) { mPrefix = prefix; + mChanged = true; } void LocalMapBase::setActiveCell(const int x, const int y, bool interior) { - if (x==mCurX && y==mCurY && mInterior==interior) return; // don't do anything if we're still in the same cell + if (x==mCurX && y==mCurY && mInterior==interior && !mChanged) return; // don't do anything if we're still in the same cell for (int mx=0; mx<3; ++mx) { for (int my=0; my<3; ++my) @@ -298,5 +299,6 @@ void LocalMapBase::setActiveCell(const int x, const int y, bool interior) mInterior = interior; mCurX = x; mCurY = y; + mChanged = false; } diff --git a/apps/openmw/mwgui/layouts.hpp b/apps/openmw/mwgui/layouts.hpp index 6601850ca..8d9a41a22 100644 --- a/apps/openmw/mwgui/layouts.hpp +++ b/apps/openmw/mwgui/layouts.hpp @@ -44,6 +44,7 @@ namespace MWGui bool mInterior; MyGUI::ScrollView* mLocalMap; std::string mPrefix; + bool mChanged; OEngine::GUI::Layout* mLayout; }; diff --git a/apps/openmw/mwrender/localmap.cpp b/apps/openmw/mwrender/localmap.cpp index 83fe40166..b83a98220 100644 --- a/apps/openmw/mwrender/localmap.cpp +++ b/apps/openmw/mwrender/localmap.cpp @@ -153,8 +153,9 @@ void LocalMap::render(const float x, const float y, // make everything visible mRendering->getScene()->setAmbientLight(ColourValue(1,1,1)); - mCellCamera->setPosition(Vector3(x, zhigh, y)); - mCellCamera->setFarClipDistance( (zhigh-zlow) * 1.1 ); + mCellCamera->setPosition(Vector3(x, zhigh+100000, y)); + //mCellCamera->setFarClipDistance( (zhigh-zlow) * 1.1 ); + mCellCamera->setFarClipDistance(0); // infinite mCellCamera->setOrthoWindow(xw, yw);