From 6e7a7c23c98654ec28457325fe26a38ae81dd59b Mon Sep 17 00:00:00 2001 From: Ted John Date: Fri, 21 Feb 2020 19:26:30 +0000 Subject: [PATCH] Fix odd issues at certain positions of the map --- src/openrct2/interface/Viewport.cpp | 7 +++++-- src/openrct2/paint/Paint.h | 8 ++------ 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/src/openrct2/interface/Viewport.cpp b/src/openrct2/interface/Viewport.cpp index 26b900a238..24aeb7ad6b 100644 --- a/src/openrct2/interface/Viewport.cpp +++ b/src/openrct2/interface/Viewport.cpp @@ -1653,8 +1653,11 @@ void get_map_coordinates_from_pos_window( screenCoords.x = screenCoords.x * myviewport->zoom; screenCoords.y = screenCoords.y * myviewport->zoom; screenCoords += myviewport->viewPos; - screenCoords.x &= (0xFFFF * myviewport->zoom) & 0xFFFF; - screenCoords.y &= (0xFFFF * myviewport->zoom) & 0xFFFF; + if (myviewport->zoom > 0) + { + screenCoords.x &= (0xFFFF * myviewport->zoom) & 0xFFFF; + screenCoords.y &= (0xFFFF * myviewport->zoom) & 0xFFFF; + } rct_drawpixelinfo dpi; dpi.x = screenCoords.x; dpi.y = screenCoords.y; diff --git a/src/openrct2/paint/Paint.h b/src/openrct2/paint/Paint.h index 8057fbefb5..36557ceb41 100644 --- a/src/openrct2/paint/Paint.h +++ b/src/openrct2/paint/Paint.h @@ -86,19 +86,15 @@ struct paint_struct assert_struct_size(paint_struct, 0x34); #endif -/* size 0x1E */ struct paint_string_struct { rct_string_id string_id; // 0x00 paint_string_struct* next; // 0x02 - uint16_t x; // 0x06 - uint16_t y; // 0x08 + int32_t x; // 0x06 + int32_t y; // 0x08 uint32_t args[4]; // 0x0A uint8_t* y_offsets; // 0x1A }; -#ifdef PLATFORM_32BIT -assert_struct_size(paint_string_struct, 0x1e); -#endif #pragma pack(pop) union paint_entry