Fix viewport coordinates being set too late.

Fix headless always sending 0,0 viewport coordinates.
This commit is contained in:
ZehMatt 2017-10-05 00:23:46 +02:00 committed by Michał Janiszewski
parent 197accf72d
commit 5aa8ae5c6e
2 changed files with 11 additions and 15 deletions

View File

@ -1165,6 +1165,10 @@ void game_load_init()
} }
mainWindow->saved_view_x -= mainWindow->viewport->view_width >> 1; mainWindow->saved_view_x -= mainWindow->viewport->view_width >> 1;
mainWindow->saved_view_y -= mainWindow->viewport->view_height >> 1; mainWindow->saved_view_y -= mainWindow->viewport->view_height >> 1;
// Make sure the viewport has correct coordinates set.
viewport_update_position(mainWindow);
window_invalidate(mainWindow); window_invalidate(mainWindow);
} }

View File

@ -1614,23 +1614,15 @@ sint16 get_height_marker_offset()
void viewport_set_saved_view() void viewport_set_saved_view()
{ {
sint16 viewX = 0;
sint16 viewY = 0;
uint8 viewZoom = 0;
uint8 viewRotation = 0;
rct_window * w = window_get_main(); rct_window * w = window_get_main();
if (w != NULL) { if (w != NULL)
{
rct_viewport *viewport = w->viewport; rct_viewport *viewport = w->viewport;
viewX = viewport->view_width / 2 + viewport->view_x; gSavedViewX = viewport->view_width / 2 + viewport->view_x;
viewY = viewport->view_height / 2 + viewport->view_y; gSavedViewY = viewport->view_height / 2 + viewport->view_y;
viewZoom = viewport->zoom;
viewRotation = get_current_rotation();
}
gSavedViewX = viewX; gSavedViewZoom = viewport->zoom;
gSavedViewY = viewY; gSavedViewRotation = get_current_rotation();
gSavedViewZoom = viewZoom; }
gSavedViewRotation = viewRotation;
} }