diff --git a/src/smallmap_gui.cpp b/src/smallmap_gui.cpp --- a/src/smallmap_gui.cpp +++ b/src/smallmap_gui.cpp @@ -884,8 +884,8 @@ static void SmallMapWindowProc(Window *w _left_button_clicked = false; pt = RemapCoords(WP(w, smallmap_d).scroll_x, WP(w,smallmap_d).scroll_y, 0); - WP(w2, vp_d).dest_scrollpos_x = pt.x + ((_cursor.pos.x - w->left + 2) << 4) - (w2->viewport->virtual_width >> 1); - WP(w2, vp_d).dest_scrollpos_y = pt.y + ((_cursor.pos.y - w->top - 16) << 4) - (w2->viewport->virtual_height >> 1); + w2->viewport->dest_scrollpos_x = pt.x + ((_cursor.pos.x - w->left + 2) << 4) - (w2->viewport->virtual_width >> 1); + w2->viewport->dest_scrollpos_y = pt.y + ((_cursor.pos.y - w->top - 16) << 4) - (w2->viewport->virtual_height >> 1); w->SetDirty(); } break; @@ -1138,21 +1138,21 @@ static void ExtraViewPortWndProc(Window case 7: { // location button (move main view to same spot as this view) 'Paste Location' Window *w2 = FindWindowById(WC_MAIN_WINDOW, 0); - int x = WP(w, vp_d).scrollpos_x; // Where is the main looking at - int y = WP(w, vp_d).scrollpos_y; + int x = w->viewport->scrollpos_x; // Where is the main looking at + int y = w->viewport->scrollpos_y; /* set this view to same location. Based on the center, adjusting for zoom */ - WP(w2, vp_d).dest_scrollpos_x = x - (w2->viewport->virtual_width - w->viewport->virtual_width) / 2; - WP(w2, vp_d).dest_scrollpos_y = y - (w2->viewport->virtual_height - w->viewport->virtual_height) / 2; + w2->viewport->dest_scrollpos_x = x - (w2->viewport->virtual_width - w->viewport->virtual_width) / 2; + w2->viewport->dest_scrollpos_y = y - (w2->viewport->virtual_height - w->viewport->virtual_height) / 2; } break; case 8: { // inverse location button (move this view to same spot as main view) 'Copy Location' const Window *w2 = FindWindowById(WC_MAIN_WINDOW, 0); - int x = WP(w2, const vp_d).scrollpos_x; - int y = WP(w2, const vp_d).scrollpos_y; + int x = w2->viewport->scrollpos_x; + int y = w2->viewport->scrollpos_y; - WP(w, vp_d).dest_scrollpos_x = x + (w2->viewport->virtual_width - w->viewport->virtual_width) / 2; - WP(w, vp_d).dest_scrollpos_y = y + (w2->viewport->virtual_height - w->viewport->virtual_height) / 2; + w->viewport->dest_scrollpos_x = x + (w2->viewport->virtual_width - w->viewport->virtual_width) / 2; + w->viewport->dest_scrollpos_y = y + (w2->viewport->virtual_height - w->viewport->virtual_height) / 2; } break; } break; @@ -1172,10 +1172,10 @@ static void ExtraViewPortWndProc(Window _scrolling_viewport = false; } - WP(w, vp_d).scrollpos_x += ScaleByZoom(e->we.scroll.delta.x, vp->zoom); - WP(w, vp_d).scrollpos_y += ScaleByZoom(e->we.scroll.delta.y, vp->zoom); - WP(w, vp_d).dest_scrollpos_x = WP(w, vp_d).scrollpos_x; - WP(w, vp_d).dest_scrollpos_y = WP(w, vp_d).scrollpos_y; + w->viewport->scrollpos_x += ScaleByZoom(e->we.scroll.delta.x, vp->zoom); + w->viewport->scrollpos_y += ScaleByZoom(e->we.scroll.delta.y, vp->zoom); + w->viewport->dest_scrollpos_x = w->viewport->scrollpos_x; + w->viewport->dest_scrollpos_y = w->viewport->scrollpos_y; } break; case WE_MOUSEWHEEL: @@ -1213,15 +1213,15 @@ void ShowExtraViewPortWindow(TileIndex t const Window *v = FindWindowById(WC_MAIN_WINDOW, 0); /* center on same place as main window (zoom is maximum, no adjustment needed) */ - pt.x = WP(v, vp_d).scrollpos_x + v->viewport->virtual_height / 2; - pt.y = WP(v, vp_d).scrollpos_y + v->viewport->virtual_height / 2; + pt.x = v->viewport->scrollpos_x + v->viewport->virtual_height / 2; + pt.y = v->viewport->scrollpos_y + v->viewport->virtual_height / 2; } else { pt = RemapCoords(TileX(tile) * TILE_SIZE + TILE_SIZE / 2, TileY(tile) * TILE_SIZE + TILE_SIZE / 2, TileHeight(tile)); } - WP(w, vp_d).scrollpos_x = pt.x - ((w->widget[4].right - w->widget[4].left) - 1) / 2; - WP(w, vp_d).scrollpos_y = pt.y - ((w->widget[4].bottom - w->widget[4].top) - 1) / 2; - WP(w, vp_d).dest_scrollpos_x = WP(w, vp_d).scrollpos_x; - WP(w, vp_d).dest_scrollpos_y = WP(w, vp_d).scrollpos_y; + w->viewport->scrollpos_x = pt.x - ((w->widget[4].right - w->widget[4].left) - 1) / 2; + w->viewport->scrollpos_y = pt.y - ((w->widget[4].bottom - w->widget[4].top) - 1) / 2; + w->viewport->dest_scrollpos_x = w->viewport->scrollpos_x; + w->viewport->dest_scrollpos_y = w->viewport->scrollpos_y; } }