diff options
-rw-r--r-- | src/engine.cpp | 31 | ||||
-rw-r--r-- | src/game.cpp | 8 | ||||
-rw-r--r-- | src/gui/minimap.cpp | 28 |
3 files changed, 33 insertions, 34 deletions
diff --git a/src/engine.cpp b/src/engine.cpp index ab13450e..29b8921a 100644 --- a/src/engine.cpp +++ b/src/engine.cpp @@ -81,16 +81,13 @@ void Engine::changeMap(const std::string &mapPath) map_path = "maps/" + mapPath.substr(0, mapPath.rfind(".")) + ".tmx"; ResourceManager *resman = ResourceManager::getInstance(); if (!resman->exists(map_path)) - { map_path += ".gz"; - } // Attempt to load the new map Map *newMap = MapReader::readMap(map_path); - if (!newMap) { + if (!newMap) logger->error("Could not find map file"); - } // Notify the minimap and beingManager about the map change Image *mapImage = NULL; @@ -100,28 +97,24 @@ void Engine::changeMap(const std::string &mapPath) // Set the title for the Minimap if (newMap->hasProperty("mapname")) - { minimap->setCaption(newMap->getProperty("mapname")); - } else if (newMap->hasProperty("name")) - { minimap->setCaption(newMap->getProperty("name")); - } else { minimap->setCaption("Unknown"); - logger->log("WARNING: Map file '%s' defines a minimap image but does not define a 'mapname' property", map_path.c_str()); + logger->log("WARNING: Map file '%s' defines a minimap image but " + "does not define a 'mapname' property", + map_path.c_str()); } - // How many pixels equal one tile. .5 (which is the TMW default) is 2 tiles to a pixel, - // while 1 is 1 tile to 1 pixel + + // How many pixels equal one tile. .5 (which is the TMW default) is + // 2 tiles to a pixel, while 1 is 1 tile to 1 pixel if (newMap->hasProperty("minimapproportion")) - { - minimap->setProportion(atof(newMap->getProperty("minimapproportion").c_str())); - } + minimap->setProportion(atof( + newMap->getProperty("minimapproportion").c_str())); else - { minimap->setProportion(0.5); - } } minimap->setMapImage(mapImage); beingManager->setMap(newMap); @@ -134,16 +127,16 @@ void Engine::changeMap(const std::string &mapPath) // Start playing new music file when necessary std::string oldMusic = ""; - if (mCurrentMap) { + if (mCurrentMap) + { oldMusic = mCurrentMap->getProperty("music"); delete mCurrentMap; } std::string newMusic = newMap->getProperty("music"); - if (newMusic != oldMusic) { + if (newMusic != oldMusic) sound.playMusic(newMusic, -1); - } mCurrentMap = newMap; mMapName = mapPath; diff --git a/src/game.cpp b/src/game.cpp index 76cf792e..5b37d409 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -234,12 +234,8 @@ void createGuiWindows(Network *network) itemShortcutWindow->getWindowName() + "Visible", true)); emoteShortcutWindow->setVisible((bool) config.getValue( emoteShortcutWindow->getWindowName() + "Visible", true)); - - if (!(bool) config.getValue("MinimapVisible", true)) - minimap->toggle(); - - if (config.getValue("logToChat", 0)) - logger->setChatWindow(chatWindow); + minimap->setVisible((bool) config.getValue( + minimap->getWindowName() + "Visible", true)); } /** diff --git a/src/gui/minimap.cpp b/src/gui/minimap.cpp index e52a20ac..7802b583 100644 --- a/src/gui/minimap.cpp +++ b/src/gui/minimap.cpp @@ -33,14 +33,16 @@ #include "../utils/gettext.h" -bool Minimap::mShow = config.getValue("MinimapVisible", true); +bool Minimap::mShow = true; Minimap::Minimap(): - Window(_("Map")), + Window(_("MiniMap")), mMapImage(NULL), mProportion(0.5) { setWindowName(_("MiniMap")); + mShow = config.getValue(getWindowName() + "Visible", true); + setDefaultSize(5, 25, 100, 100); setResizable(true); } @@ -59,8 +61,8 @@ void Minimap::setMapImage(Image *img) if (mMapImage) { - const int offsetX = getPadding() + 4; - const int offsetY = getTitleBarHeight() + 4; + const int offsetX = 2 * getPadding(); + const int offsetY = getTitleBarHeight() + getPadding(); const int titleWidth = getFont()->getWidth(getCaption()) + 15; const int mapWidth = mMapImage->getWidth() < 100 ? mMapImage->getWidth() + offsetX : 100; @@ -73,10 +75,18 @@ void Minimap::setMapImage(Image *img) setMaxHeight(mMapImage->getHeight() + offsetY); mMapImage->setAlpha(config.getValue("guialpha", 0.8)); - setDefaultSize(offsetX, offsetY, getMinWidth() > getWidth() ? - getMinWidth() : getWidth(), - getMaxHeight() < getHeight() ? - getMaxHeight() : getHeight()); + + // Set content size to be within the minimum and maximum boundaries + setWidth(getMinWidth() < getWidth() ? getWidth() : getMinWidth()); + if (getMaxWidth() > getWidth()) + setWidth(getMaxWidth()); + setHeight(getMinHeight() < getHeight() ? getHeight() : getMinHeight()); + if (getMaxHeight() > getHeight()) + setHeight(getMaxHeight()); + + setDefaultSize(getX(), getY(), getWidth(), getHeight()); + resetToDefaultSize(); + loadWindowState(); setVisible(mShow); } @@ -89,7 +99,7 @@ void Minimap::setMapImage(Image *img) void Minimap::toggle() { mShow = !mShow; - config.setValue("MinimapVisible", mShow); + config.setValue(getWindowName() + "Visible", mShow); } void Minimap::draw(gcn::Graphics *graphics) |