diff options
-rw-r--r-- | src/gui/viewport.cpp | 9 | ||||
-rw-r--r-- | src/net/ea/playerhandler.cpp | 6 |
2 files changed, 13 insertions, 2 deletions
diff --git a/src/gui/viewport.cpp b/src/gui/viewport.cpp index 17f40121e..1ef7b1cba 100644 --- a/src/gui/viewport.cpp +++ b/src/gui/viewport.cpp @@ -413,7 +413,6 @@ void Viewport::mousePressed(gcn::MouseEvent &event) return; // Check if we are alive and kickin' -// if (!mMap || !player_node || !player_node->isAlive()) if (!mMap || !player_node) return; @@ -422,7 +421,6 @@ void Viewport::mousePressed(gcn::MouseEvent &event) if (Being::isTalking()) return; - const int pixelX = event.getX() + static_cast<int>(mPixelViewX); const int pixelY = event.getY() + static_cast<int>(mPixelViewY); @@ -461,6 +459,13 @@ void Viewport::mousePressed(gcn::MouseEvent &event) mPopupMenu->showPopup(event.getX(), event.getY(), mHoverSign); return; } + else if (mCameraMode) + { + mPopupMenu->showMapPopup(event.getX(), event.getY(), + (getMouseX() + getCameraX()) / mMap->getTileWidth(), + (getMouseY() + getCameraY()) / mMap->getTileHeight()); + return; + } } // If a popup is active, just remove it diff --git a/src/net/ea/playerhandler.cpp b/src/net/ea/playerhandler.cpp index ddcf7d9c0..df28b4c1c 100644 --- a/src/net/ea/playerhandler.cpp +++ b/src/net/ea/playerhandler.cpp @@ -28,6 +28,7 @@ #include "playerinfo.h" #include "units.h" +#include "gui/ministatuswindow.h" #include "gui/okdialog.h" #include "gui/skilldialog.h" #include "gui/statuswindow.h" @@ -257,7 +258,12 @@ void PlayerHandler::processPlayerWarp(Net::MessageIn &msg) static_cast<int>(scrollOffsetY)); if (viewport) + { + viewport->returnCamera(); + if (miniStatusWindow) + miniStatusWindow->updateStatus(); viewport->scrollBy(scrollOffsetX, scrollOffsetY); + } } void PlayerHandler::processPlayerStatUpdate1(Net::MessageIn &msg) |