diff options
author | Blue <bluesansdouze@gmail.com> | 2009-05-12 20:46:56 +0200 |
---|---|---|
committer | Blue <bluesansdouze@gmail.com> | 2009-05-12 20:46:56 +0200 |
commit | 9071a692116745f2cafd8556cbff28095910730e (patch) | |
tree | 6fbc96a1cb00558c4015d1eff25f45b2c6ccdcb8 /src/gui/minimap.cpp | |
parent | 2e94f4e92821bad6ebb328d00b2bd918c4b1b99e (diff) | |
parent | 0257eaf4d3945eac7cb3e50ccf8dfef18fa29698 (diff) | |
download | mana-client-9071a692116745f2cafd8556cbff28095910730e.tar.gz mana-client-9071a692116745f2cafd8556cbff28095910730e.tar.bz2 mana-client-9071a692116745f2cafd8556cbff28095910730e.tar.xz mana-client-9071a692116745f2cafd8556cbff28095910730e.zip |
Merge branch 'master' of git@gitorious.org:tmw/mainline
Diffstat (limited to 'src/gui/minimap.cpp')
-rw-r--r-- | src/gui/minimap.cpp | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/src/gui/minimap.cpp b/src/gui/minimap.cpp index 3dab63a3..a5bdc59d 100644 --- a/src/gui/minimap.cpp +++ b/src/gui/minimap.cpp @@ -31,7 +31,6 @@ #include "player.h" #include "gui/palette.h" -#include "gui/partywindow.h" #include "resources/image.h" #include "resources/resourcemanager.h" @@ -56,13 +55,13 @@ Minimap::Minimap(): setResizable(false); setDefaultVisible(true); - setSaveVisible(false); + setSaveVisible(true); setStickyButton(true); setSticky(false); loadWindowState(); - setVisible(mShow); + setVisible(mShow, isSticky()); } Minimap::~Minimap() @@ -94,9 +93,6 @@ void Minimap::setMap(Map *map) ResourceManager *resman = ResourceManager::getInstance(); mMapImage = resman->getImage(map->getProperty("minimap")); - if (!mShow) - return; - if (mMapImage) { const int offsetX = 2 * getPadding(); @@ -120,17 +116,19 @@ void Minimap::setMap(Map *map) setDefaultSize(getX(), getY(), getWidth(), getHeight()); resetToDefaultSize(); - setVisible(true); + if (mShow) + setVisible(true); } else { - setVisible(false); + if (!isSticky()) + setVisible(false); } } void Minimap::toggle() { - setVisible(!mShow, isSticky()); + setVisible(!isVisible(), isSticky()); mShow = isVisible(); } @@ -183,6 +181,8 @@ void Minimap::draw(gcn::Graphics *graphics) { case Being::PLAYER: { + const Player *player = static_cast<const Player*>(being); + Palette::ColorType type = Palette::PC; if (being == player_node) @@ -190,14 +190,15 @@ void Minimap::draw(gcn::Graphics *graphics) type = Palette::SELF; dotSize = 3; } - else if (partyWindow->findMember(being->getId())) + else if (player->isGM()) + { + type = Palette::GM_NAME; + } + else if (player->isInParty()) { type = Palette::PARTY; } - if (static_cast<const Player*>(being)->isGM()) - type = Palette::GM_NAME; - graphics->setColor(guiPalette->getColor(type)); break; } |