summaryrefslogtreecommitdiff
path: root/src/gui/minimap.cpp
diff options
context:
space:
mode:
authorBlue <bluesansdouze@gmail.com>2009-05-12 20:46:56 +0200
committerBlue <bluesansdouze@gmail.com>2009-05-12 20:46:56 +0200
commit9071a692116745f2cafd8556cbff28095910730e (patch)
tree6fbc96a1cb00558c4015d1eff25f45b2c6ccdcb8 /src/gui/minimap.cpp
parent2e94f4e92821bad6ebb328d00b2bd918c4b1b99e (diff)
parent0257eaf4d3945eac7cb3e50ccf8dfef18fa29698 (diff)
downloadmana-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.cpp27
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;
}