diff --git a/src/openrct2/world/Map.cpp b/src/openrct2/world/Map.cpp index 5fe49c0794..30daeef2bd 100644 --- a/src/openrct2/world/Map.cpp +++ b/src/openrct2/world/Map.cpp @@ -2966,7 +2966,7 @@ EntranceElement* map_get_ride_exit_element_at(int32_t x, int32_t y, int32_t z, b return nullptr; } -TileElement* map_get_small_scenery_element_at(int32_t x, int32_t y, int32_t z, int32_t type, uint8_t quadrant) +SmallSceneryElement* map_get_small_scenery_element_at(int32_t x, int32_t y, int32_t z, int32_t type, uint8_t quadrant) { TileElement* tileElement = map_get_first_element_at(x >> 5, y >> 5); if (tileElement != nullptr) @@ -2982,7 +2982,7 @@ TileElement* map_get_small_scenery_element_at(int32_t x, int32_t y, int32_t z, i if (tileElement->AsSmallScenery()->GetEntryIndex() != type) continue; - return tileElement; + return tileElement->AsSmallScenery(); } while (!(tileElement++)->IsLastForTile()); } return nullptr; diff --git a/src/openrct2/world/Map.h b/src/openrct2/world/Map.h index ad572ed24a..28ef550fd2 100644 --- a/src/openrct2/world/Map.h +++ b/src/openrct2/world/Map.h @@ -147,7 +147,7 @@ TileElement* map_get_surface_element_at(int32_t x, int32_t y); TileElement* map_get_surface_element_at(CoordsXY coords); TileElement* map_get_path_element_at(int32_t x, int32_t y, int32_t z); TileElement* map_get_wall_element_at(int32_t x, int32_t y, int32_t z, int32_t direction); -TileElement* map_get_small_scenery_element_at(int32_t x, int32_t y, int32_t z, int32_t type, uint8_t quadrant); +SmallSceneryElement* map_get_small_scenery_element_at(int32_t x, int32_t y, int32_t z, int32_t type, uint8_t quadrant); EntranceElement* map_get_park_entrance_element_at(int32_t x, int32_t y, int32_t z, bool ghost); EntranceElement* map_get_ride_entrance_element_at(int32_t x, int32_t y, int32_t z, bool ghost); EntranceElement* map_get_ride_exit_element_at(int32_t x, int32_t y, int32_t z, bool ghost); diff --git a/src/openrct2/world/SmallScenery.cpp b/src/openrct2/world/SmallScenery.cpp index a62fe4673b..f6846c5d9f 100644 --- a/src/openrct2/world/SmallScenery.cpp +++ b/src/openrct2/world/SmallScenery.cpp @@ -42,7 +42,7 @@ static money32 SmallScenerySetColour( } } - TileElement* tileElement = map_get_small_scenery_element_at(x, y, baseHeight, sceneryType, quadrant); + auto tileElement = map_get_small_scenery_element_at(x, y, baseHeight, sceneryType, quadrant); if (tileElement == nullptr) { @@ -56,8 +56,8 @@ static money32 SmallScenerySetColour( if (flags & GAME_COMMAND_FLAG_APPLY) { - tileElement->AsSmallScenery()->SetPrimaryColour(primaryColour); - tileElement->AsSmallScenery()->SetSecondaryColour(secondaryColour); + tileElement->SetPrimaryColour(primaryColour); + tileElement->SetSecondaryColour(secondaryColour); map_invalidate_tile_full(x, y); }