From 3cf8da184d205b725f4cc84a19f971fbede50f6f Mon Sep 17 00:00:00 2001 From: Michael Steenbeek Date: Thu, 16 Nov 2017 10:14:57 +0100 Subject: [PATCH] Create tile_element_get_ride_index() --- src/openrct2/interface/viewport_interaction.c | 2 +- src/openrct2/world/map.c | 15 +++++++++++++++ src/openrct2/world/map.h | 1 + 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/openrct2/interface/viewport_interaction.c b/src/openrct2/interface/viewport_interaction.c index 57c0206b23..7a018a0e83 100644 --- a/src/openrct2/interface/viewport_interaction.c +++ b/src/openrct2/interface/viewport_interaction.c @@ -220,7 +220,7 @@ sint32 viewport_interaction_get_item_right(sint32 x, sint32 y, viewport_interact if (tile_element_get_type(tileElement) == TILE_ELEMENT_TYPE_PATH) return info->type = VIEWPORT_INTERACTION_ITEM_NONE; - ride = get_ride(track_element_get_ride_index(tileElement)); + ride = get_ride(tile_element_get_ride_index(tileElement)); if (ride->status != RIDE_STATUS_CLOSED) return info->type; diff --git a/src/openrct2/world/map.c b/src/openrct2/world/map.c index 3949d45c9b..f8f6535532 100644 --- a/src/openrct2/world/map.c +++ b/src/openrct2/world/map.c @@ -4629,3 +4629,18 @@ uint16 check_max_allowable_land_rights_for_tile(uint8 x, uint8 y, uint8 base_z) return destOwnership; } + +uint8 tile_element_get_ride_index(const rct_tile_element * tileElement) +{ + switch (tile_element_get_type(tileElement)) + { + case TILE_ELEMENT_TYPE_TRACK: + return track_element_get_ride_index(tileElement); + case TILE_ELEMENT_TYPE_ENTRANCE: + return tileElement->properties.entrance.ride_index; + case TILE_ELEMENT_TYPE_PATH: + return tileElement->properties.path.ride_index; + default: + return 0xFF; + } +} diff --git a/src/openrct2/world/map.h b/src/openrct2/world/map.h index 09d52ab649..a3b7c3373a 100644 --- a/src/openrct2/world/map.h +++ b/src/openrct2/world/map.h @@ -545,6 +545,7 @@ void wall_element_set_secondary_colour(rct_tile_element * wallElement, uint8 sec uint32 map_get_available_peep_spawn_index_list(uint32* peepSpawnIndexList); uint16 check_max_allowable_land_rights_for_tile(uint8 x, uint8 y, uint8 base_z); +uint8 tile_element_get_ride_index(const rct_tile_element * tileElement); #ifdef __cplusplus }