summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/gui/viewport.cpp9
-rw-r--r--src/net/ea/playerhandler.cpp6
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)