mirror of https://github.com/OpenRCT2/OpenRCT2.git
Make Map::map_get_track_element_at_of_type() use CoordsXYZ
This commit is contained in:
parent
6c998d7b4d
commit
77503fee97
|
@ -59,7 +59,7 @@ private:
|
|||
res->Position.y += 16;
|
||||
res->ExpenditureType = RCT_EXPENDITURE_TYPE_RIDE_CONSTRUCTION;
|
||||
|
||||
TileElement* tileElement = map_get_track_element_at_of_type(_loc.x, _loc.y, _loc.z / 8, _trackType);
|
||||
TileElement* tileElement = map_get_track_element_at_of_type(_loc, _trackType);
|
||||
if (tileElement == nullptr)
|
||||
{
|
||||
log_warning("Invalid game command for setting brakes speed. x = %d, y = %d", _loc.x, _loc.y);
|
||||
|
|
|
@ -3099,7 +3099,7 @@ void vehicle_test_reset(rct_vehicle* vehicle)
|
|||
static bool vehicle_current_tower_element_is_top(rct_vehicle* vehicle)
|
||||
{
|
||||
TileElement* tileElement = map_get_track_element_at_of_type(
|
||||
vehicle->track_x, vehicle->track_y, vehicle->track_z / 8, vehicle->track_type >> 2);
|
||||
{ vehicle->track_x, vehicle->track_y, vehicle->track_z }, vehicle->track_type >> 2);
|
||||
if (tileElement != nullptr)
|
||||
{
|
||||
while (!tileElement->IsLastForTile())
|
||||
|
@ -6630,7 +6630,7 @@ static void check_and_apply_block_section_stop_site(rct_vehicle* vehicle)
|
|||
int32_t trackType = vehicle->track_type >> 2;
|
||||
|
||||
TileElement* trackElement = map_get_track_element_at_of_type(
|
||||
vehicle->track_x, vehicle->track_y, vehicle->track_z >> 3, trackType);
|
||||
{ vehicle->track_x, vehicle->track_y, vehicle->track_z }, trackType);
|
||||
|
||||
if (trackElement == nullptr)
|
||||
{
|
||||
|
|
|
@ -2155,16 +2155,17 @@ TrackElement* map_get_track_element_at(const CoordsXYZ& trackPos)
|
|||
* @param y y units, not tiles.
|
||||
* @param z Base height.
|
||||
*/
|
||||
TileElement* map_get_track_element_at_of_type(int32_t x, int32_t y, int32_t z, int32_t trackType)
|
||||
TileElement* map_get_track_element_at_of_type(const CoordsXYZ& trackPos, int32_t trackType)
|
||||
{
|
||||
TileElement* tileElement = map_get_first_element_at({ x, y });
|
||||
TileElement* tileElement = map_get_first_element_at(trackPos);
|
||||
if (tileElement == nullptr)
|
||||
return nullptr;
|
||||
auto trackTilePos = TileCoordsXYZ{ trackPos };
|
||||
do
|
||||
{
|
||||
if (tileElement->GetType() != TILE_ELEMENT_TYPE_TRACK)
|
||||
continue;
|
||||
if (tileElement->base_height != z)
|
||||
if (tileElement->base_height != trackTilePos.z)
|
||||
continue;
|
||||
if (tileElement->AsTrack()->GetTrackType() != trackType)
|
||||
continue;
|
||||
|
|
|
@ -230,7 +230,7 @@ bool map_large_scenery_get_origin(
|
|||
ScreenCoordsXY translate_3d_to_2d_with_z(int32_t rotation, const CoordsXYZ& pos);
|
||||
|
||||
TrackElement* map_get_track_element_at(const CoordsXYZ& trackPos);
|
||||
TileElement* map_get_track_element_at_of_type(int32_t x, int32_t y, int32_t z, int32_t trackType);
|
||||
TileElement* map_get_track_element_at_of_type(const CoordsXYZ& trackPos, int32_t trackType);
|
||||
TileElement* map_get_track_element_at_of_type_seq(int32_t x, int32_t y, int32_t z, int32_t trackType, int32_t sequence);
|
||||
TrackElement* map_get_track_element_at_of_type(CoordsXYZD location, int32_t trackType);
|
||||
TrackElement* map_get_track_element_at_of_type_seq(CoordsXYZD location, int32_t trackType, int32_t sequence);
|
||||
|
|
Loading…
Reference in New Issue