diff options
author | Stefan Beller <stefanbeller@googlemail.com> | 2012-08-01 23:25:41 +0200 |
---|---|---|
committer | Stefan Beller <stefanbeller@googlemail.com> | 2012-08-02 20:58:04 +0200 |
commit | d2df9cfb227ab8d6a302183c5f4a3377bb8f5140 (patch) | |
tree | 013922ba1773a658fd469dc8042637301cd49e20 /src/gui | |
parent | 7011c8eddfdf1b12a1249e01323db57f05e0334e (diff) | |
download | mana-d2df9cfb227ab8d6a302183c5f4a3377bb8f5140.tar.gz mana-d2df9cfb227ab8d6a302183c5f4a3377bb8f5140.tar.bz2 mana-d2df9cfb227ab8d6a302183c5f4a3377bb8f5140.tar.xz mana-d2df9cfb227ab8d6a302183c5f4a3377bb8f5140.zip |
Add a checkbox to the debugging window to show being ids.
Reviewed-by: Ablu
Diffstat (limited to 'src/gui')
-rw-r--r-- | src/gui/debugwindow.cpp | 21 | ||||
-rw-r--r-- | src/gui/viewport.cpp | 22 |
2 files changed, 42 insertions, 1 deletions
diff --git a/src/gui/debugwindow.cpp b/src/gui/debugwindow.cpp index d2fd4a29..13babb73 100644 --- a/src/gui/debugwindow.cpp +++ b/src/gui/debugwindow.cpp @@ -137,6 +137,7 @@ public: mBeingPosition = new CheckBox(_("Being positions")); mBeingPath = new CheckBox(_("Being path")); mMousePath = new CheckBox(_("Mouse path")); + mBeingIds = new CheckBox(_("Being Ids")); Label *specialsLabel = new Label(_("Specials:")); mSpecialNormal = new RadioButton(_("Normal"), "mapdebug"); @@ -154,6 +155,7 @@ public: place(0, 4, mBeingPosition, 1); place(0, 5, mBeingPath, 1); place(0, 6, mMousePath, 1); + place(0, 7, mBeingIds, 1); place(1, 0, specialsLabel, 1); place(1, 1, mSpecialNormal, 1); place(1, 2, mSpecial1, 1); @@ -170,12 +172,28 @@ public: mBeingPosition->addActionListener(this); mBeingPath->addActionListener(this); mMousePath->addActionListener(this); + mBeingIds->addActionListener(this); mSpecialNormal->addActionListener(this); mSpecial1->addActionListener(this); mSpecial2->addActionListener(this); mSpecial3->addActionListener(this); } + ~DebugSwitches() + { + delete mGrid; + delete mCollisionTiles; + delete mBeingCollisionRadius; + delete mBeingPosition; + delete mBeingPath; + delete mMousePath; + delete mBeingIds; + delete mSpecialNormal; + delete mSpecial1; + delete mSpecial2; + delete mSpecial3; + } + void action(const gcn::ActionEvent &event) { int flags = 0; @@ -192,6 +210,8 @@ public: flags |= Map::DEBUG_BEING_PATH; if (mMousePath->isSelected()) flags |= Map::DEBUG_MOUSE_PATH; + if (mBeingIds->isSelected()) + flags |= Map::DEBUG_BEING_IDS; if (mSpecial1->isSelected()) flags |= Map::DEBUG_SPECIAL1; if (mSpecial2->isSelected()) @@ -209,6 +229,7 @@ private: CheckBox *mBeingPosition; CheckBox *mBeingPath; CheckBox *mMousePath; + CheckBox *mBeingIds; RadioButton *mSpecialNormal; RadioButton *mSpecial1; RadioButton *mSpecial2; diff --git a/src/gui/viewport.cpp b/src/gui/viewport.cpp index 1b5b00c3..e06c5f8d 100644 --- a/src/gui/viewport.cpp +++ b/src/gui/viewport.cpp @@ -249,6 +249,26 @@ void Viewport::draw(gcn::Graphics *gcnGraphics) b->drawSpeech((int) mPixelViewX, (int) mPixelViewY); } + if (mDebugFlags & Map::DEBUG_BEING_IDS) + { + graphics->setColor(gcn::Color(255, 0, 255, 255)); + ActorSpritesConstIterator it, it_end; + const ActorSprites &actors = actorSpriteManager->getAll(); + for (it = actors.begin(), it_end = actors.end(); it != it_end; ++it) + { + Being *being = dynamic_cast<Being*>(*it); + if (!being) + continue; + + const Vector &beingPos = being->getPosition(); + std::string idString = toString(being->getId()); + graphics->drawText(idString, + beingPos.x - mPixelViewX, + beingPos.y - mPixelViewY, + gcn::Graphics::CENTER); + } + } + if (miniStatusWindow) miniStatusWindow->drawIcons(graphics); @@ -364,7 +384,7 @@ void Viewport::_drawDebugPath(Graphics *graphics) // Draw the path debug information for every beings. ActorSpritesConstIterator it, it_end; const ActorSprites &actors = actorSpriteManager->getAll(); - for (it = actors.begin(), it_end = actors.end() ; it != it_end; it++) + for (it = actors.begin(), it_end = actors.end(); it != it_end; it++) { Being *being = dynamic_cast<Being*>(*it); if (!being) |