1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-01-15 11:03:00 +01:00

Fix #7462: Guest window goes beyond the map edge on a spiral slide. (#7752)

This commit is contained in:
moTechPlz
2018-08-07 16:20:51 +02:00
committed by Aaron van Geffen
parent e87e9f1b2e
commit 8784dfbf41
3 changed files with 7 additions and 3 deletions

View File

@@ -8,6 +8,7 @@
- Feature: [#7797, #7802, #7821, #7830] Add sprite font glyphs for Danish, Norwegian, Russian, Turkish, Catalan and Romanian.
- Fix: [#3177] Wrong keys displayed in shortcut menu.
- Fix: [#4039] No sprite font glyph for German opening quotation mark.
- Fix: [#7462] Guest window goes beyond the map edge on a spiral slide.
- Fix: [#7533] Screenshot is incorrectly named/file is not generated in CJK language.
- Fix: [#7628] Always-researched items can be modified in the inventory list.
- Fix: [#7643] No Money scenarios with funding set to zero.

View File

@@ -762,7 +762,8 @@ void window_guest_viewport_init(rct_window* w)
if (w->viewport)
{
// Check all combos, for now skipping y and rot
if (focus.coordinate.x == w->viewport_focus_coordinates.x && focus.coordinate.y == w->viewport_focus_coordinates.y
if (focus.coordinate.x == w->viewport_focus_coordinates.x
&& (focus.coordinate.y & VIEWPORT_FOCUS_Y_MASK) == w->viewport_focus_coordinates.y
&& focus.coordinate.z == w->viewport_focus_coordinates.z
&& focus.coordinate.rotation == w->viewport_focus_coordinates.rotation)
return;
@@ -799,8 +800,9 @@ void window_guest_viewport_init(rct_window* w)
int32_t height = view_widget->bottom - view_widget->top - 1;
viewport_create(
w, x, y, width, height, 0, focus.coordinate.x, focus.coordinate.y, focus.coordinate.z,
w, x, y, width, height, 0, focus.coordinate.x, focus.coordinate.y & VIEWPORT_FOCUS_Y_MASK, focus.coordinate.z,
focus.sprite.type & VIEWPORT_FOCUS_TYPE_MASK, focus.sprite.sprite_id);
w->flags |= WF_NO_SCROLLING;
window_invalidate(w);
}

View File

@@ -1887,7 +1887,8 @@ static void window_ride_init_viewport(rct_window* w)
if (w->viewport != nullptr)
{
if (focus.coordinate.x == w->viewport_focus_coordinates.x && focus.coordinate.y == w->viewport_focus_coordinates.y
if (focus.coordinate.x == w->viewport_focus_coordinates.x
&& (focus.coordinate.y & VIEWPORT_FOCUS_Y_MASK) == w->viewport_focus_coordinates.y
&& focus.coordinate.z == w->viewport_focus_coordinates.z
&& focus.coordinate.rotation == w->viewport_focus_coordinates.rotation
&& focus.coordinate.zoom == w->viewport_focus_coordinates.zoom && focus.coordinate.width == w->width