From f25b6e2ba2b5493e242cd98e93344d6bdff9fdc1 Mon Sep 17 00:00:00 2001 From: Duncan Frost Date: Thu, 18 Sep 2014 17:18:39 +0100 Subject: [PATCH] Fixed incorrectly assuming peep was underground if on water --- src/map.c | 3 ++- src/viewport.c | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/map.c b/src/map.c index 3db145ec96..cc749f604a 100644 --- a/src/map.c +++ b/src/map.c @@ -154,9 +154,10 @@ void map_update_tile_pointers() /** * Return the absolute height of an element, given its (x,y) coordinates + * * ax: x * cx: y - * dx: return + * dx: return remember to & with 0xFFFF if you don't want water affecting results * rct2: 0x00662783 */ int map_element_height(int x, int y) diff --git a/src/viewport.c b/src/viewport.c index d39bf92a8d..f1aa777363 100644 --- a/src/viewport.c +++ b/src/viewport.c @@ -281,7 +281,7 @@ void viewport_update_position(rct_window *window) if (window->viewport_target_sprite != -1){ rct_sprite* sprite = &g_sprite_list[window->viewport_target_sprite]; - int height = map_element_height(0xFFFF & sprite->unknown.x, 0xFFFF & sprite->unknown.y) - 16; + int height = map_element_height(0xFFFF & sprite->unknown.x, 0xFFFF & sprite->unknown.y) & 0xFFFF - 16; int underground = sprite->unknown.z < height; RCT2_CALLPROC_X(0x6E7A15, sprite->unknown.x, sprite->unknown.y, sprite->unknown.z, underground, (int)window, (int)viewport, 0);