From 918da8432ae709e002448c947550674e1f4ae278 Mon Sep 17 00:00:00 2001 From: frosch Date: Sat, 16 Oct 2010 23:13:05 +0000 Subject: (svn r20956) -Feature: Center new extra viewports on the tile below the mouse. Only center on center of main viewport if mouse is not in any viewport. --- src/viewport_gui.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/viewport_gui.cpp b/src/viewport_gui.cpp index 26815c5d5..1a919fe10 100644 --- a/src/viewport_gui.cpp +++ b/src/viewport_gui.cpp @@ -17,6 +17,7 @@ #include "strings_func.h" #include "zoom_func.h" #include "window_func.h" +#include "tilehighlight_func.h" #include "table/strings.h" #include "table/sprites.h" @@ -70,7 +71,12 @@ public: Point pt; if (tile == INVALID_TILE) { - /* the main window with the main view */ + /* Use tile under mouse as center for new viewport */ + Point pt = GetTileBelowCursor(); + if (pt.x != -1) tile = TileVirtXY(pt.x, pt.y); + } + if (tile == INVALID_TILE) { + /* Still no tile? Use center of main viewport. */ const Window *w = FindWindowById(WC_MAIN_WINDOW, 0); /* center on same place as main window (zoom is maximum, no adjustment needed) */ -- cgit v1.2.3-70-g09d2