mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2026-01-15 11:03:00 +01:00
Use Direction type for TrackPaint functions
Many TrackPaint functions take a direction, but they used a mixture of uint8_t and int32_t types for the parameters. To make the semantics of the code clearer, use the dedicated Direction type for all of them. This does mean that some parameters which were previously 32 bits (int32_t) will now be 8 bits (Direction) but from what I could see none of the usages make use of anything beyond the bottom 4 bits.
This commit is contained in:
@@ -296,31 +296,31 @@ bool track_paint_util_should_paint_supports(const CoordsXY& position)
|
||||
}
|
||||
|
||||
static void track_paint_util_draw_station_impl(
|
||||
paint_session* session, ride_id_t rideIndex, uint8_t direction, uint16_t height, uint16_t coverHeight,
|
||||
paint_session* session, ride_id_t rideIndex, Direction direction, uint16_t height, uint16_t coverHeight,
|
||||
const TileElement* tileElement, int32_t fenceOffsetA, int32_t fenceOffsetB);
|
||||
|
||||
void track_paint_util_draw_station(
|
||||
paint_session* session, ride_id_t rideIndex, uint8_t direction, uint16_t height, const TileElement* tileElement)
|
||||
paint_session* session, ride_id_t rideIndex, Direction direction, uint16_t height, const TileElement* tileElement)
|
||||
{
|
||||
track_paint_util_draw_station_impl(session, rideIndex, direction, height, height, tileElement, 5, 7);
|
||||
}
|
||||
|
||||
void track_paint_util_draw_station_2(
|
||||
paint_session* session, ride_id_t rideIndex, uint8_t direction, uint16_t height, const TileElement* tileElement,
|
||||
paint_session* session, ride_id_t rideIndex, Direction direction, uint16_t height, const TileElement* tileElement,
|
||||
int32_t fenceOffsetA, int32_t fenceOffsetB)
|
||||
{
|
||||
track_paint_util_draw_station_impl(session, rideIndex, direction, height, height, tileElement, fenceOffsetA, fenceOffsetB);
|
||||
}
|
||||
|
||||
void track_paint_util_draw_station_3(
|
||||
paint_session* session, ride_id_t rideIndex, uint8_t direction, uint16_t height, uint16_t coverHeight,
|
||||
paint_session* session, ride_id_t rideIndex, Direction direction, uint16_t height, uint16_t coverHeight,
|
||||
const TileElement* tileElement)
|
||||
{
|
||||
track_paint_util_draw_station_impl(session, rideIndex, direction, height, coverHeight, tileElement, 5, 7);
|
||||
}
|
||||
|
||||
static void track_paint_util_draw_station_impl(
|
||||
paint_session* session, ride_id_t rideIndex, uint8_t direction, uint16_t height, uint16_t coverHeight,
|
||||
paint_session* session, ride_id_t rideIndex, Direction direction, uint16_t height, uint16_t coverHeight,
|
||||
const TileElement* tileElement, int32_t fenceOffsetA, int32_t fenceOffsetB)
|
||||
{
|
||||
auto ride = get_ride(rideIndex);
|
||||
@@ -528,7 +528,7 @@ static void track_paint_util_draw_station_impl(
|
||||
}
|
||||
|
||||
void track_paint_util_draw_station_inverted(
|
||||
paint_session* session, ride_id_t rideIndex, uint8_t direction, int32_t height, const TileElement* tileElement,
|
||||
paint_session* session, ride_id_t rideIndex, Direction direction, int32_t height, const TileElement* tileElement,
|
||||
uint8_t stationVariant)
|
||||
{
|
||||
auto ride = get_ride(rideIndex);
|
||||
@@ -839,7 +839,7 @@ bool track_paint_util_draw_station_covers_2(
|
||||
}
|
||||
|
||||
void track_paint_util_draw_station_platform(
|
||||
paint_session* session, Ride* ride, uint8_t direction, int32_t height, int32_t zOffset, const TileElement* tileElement)
|
||||
paint_session* session, Ride* ride, Direction direction, int32_t height, int32_t zOffset, const TileElement* tileElement)
|
||||
{
|
||||
CoordsXY position = session->MapPosition;
|
||||
auto stationObj = ride_get_station_object(ride);
|
||||
@@ -884,7 +884,7 @@ void track_paint_util_draw_station_platform(
|
||||
}
|
||||
|
||||
void track_paint_util_draw_pier(
|
||||
paint_session* session, Ride* ride, const StationObject* stationObj, const CoordsXY& position, uint8_t direction,
|
||||
paint_session* session, Ride* ride, const StationObject* stationObj, const CoordsXY& position, Direction direction,
|
||||
int32_t height, const TileElement* tileElement, uint8_t rotation)
|
||||
{
|
||||
bool hasFence;
|
||||
@@ -930,13 +930,13 @@ void track_paint_util_draw_pier(
|
||||
}
|
||||
}
|
||||
|
||||
void track_paint_util_draw_station_metal_supports(paint_session* session, uint8_t direction, uint16_t height, uint32_t colour)
|
||||
void track_paint_util_draw_station_metal_supports(paint_session* session, Direction direction, uint16_t height, uint32_t colour)
|
||||
{
|
||||
track_paint_util_draw_station_metal_supports_2(session, direction, height, colour, 3);
|
||||
}
|
||||
|
||||
void track_paint_util_draw_station_metal_supports_2(
|
||||
paint_session* session, uint8_t direction, uint16_t height, uint32_t colour, uint8_t type)
|
||||
paint_session* session, Direction direction, uint16_t height, uint32_t colour, uint8_t type)
|
||||
{
|
||||
if (direction & 1)
|
||||
{
|
||||
@@ -999,7 +999,7 @@ constexpr CoordsXYZ defaultRightHelixUpSmallQuarterBoundOffsets[4][3][2] = {
|
||||
static constexpr const int8_t right_helix_up_small_quarter_tiles_sprite_map[] = { 0, -1, 1, 2 };
|
||||
|
||||
void track_paint_util_right_helix_up_small_quarter_tiles_paint(
|
||||
paint_session* session, const int8_t thickness[2], int16_t height, int32_t direction, uint8_t trackSequence,
|
||||
paint_session* session, const int8_t thickness[2], int16_t height, Direction direction, uint8_t trackSequence,
|
||||
uint32_t colourFlags, const uint32_t sprites[4][3][2], const CoordsXY offsets[4][3][2],
|
||||
const CoordsXY boundsLengths[4][3][2], const CoordsXYZ boundsOffsets[4][3][2])
|
||||
{
|
||||
@@ -1097,7 +1097,7 @@ constexpr CoordsXY defaultRightHelixUpLargeQuarterBoundLengths[4][5][2] = {
|
||||
|
||||
static constexpr const int8_t right_helix_up_large_quarter_sprite_map[] = { 0, -1, 1, 2, -1, 3, 4 };
|
||||
void track_paint_util_right_helix_up_large_quarter_tiles_paint(
|
||||
paint_session* session, const int8_t thickness[2], int16_t height, int32_t direction, uint8_t trackSequence,
|
||||
paint_session* session, const int8_t thickness[2], int16_t height, Direction direction, uint8_t trackSequence,
|
||||
uint32_t colourFlags, const uint32_t sprites[4][5][2], const CoordsXY offsets[4][5][2],
|
||||
const CoordsXY boundsLengths[4][5][2], const CoordsXYZ boundsOffsets[4][5][2])
|
||||
{
|
||||
@@ -1270,7 +1270,7 @@ const uint8_t mapLeftEighthTurnToOrthogonal[] = { 4, 2, 3, 1, 0 };
|
||||
|
||||
static constexpr const int8_t eighth_to_diag_sprite_map[] = { 0, 1, 2, -1, 3 };
|
||||
void track_paint_util_eighth_to_diag_tiles_paint(
|
||||
paint_session* session, const int8_t thickness[4][4], int16_t height, int32_t direction, uint8_t trackSequence,
|
||||
paint_session* session, const int8_t thickness[4][4], int16_t height, Direction direction, uint8_t trackSequence,
|
||||
uint32_t colourFlags, const uint32_t sprites[4][4], const CoordsXY offsets[4][4], const CoordsXY boundsLengths[4][4],
|
||||
const CoordsXYZ boundsOffsets[4][4])
|
||||
{
|
||||
@@ -1312,7 +1312,7 @@ static constexpr const int8_t diag_sprite_map[4][4] = {
|
||||
};
|
||||
|
||||
void track_paint_util_diag_tiles_paint(
|
||||
paint_session* session, int8_t thickness, int16_t height, int32_t direction, uint8_t trackSequence, uint32_t colourFlags,
|
||||
paint_session* session, int8_t thickness, int16_t height, Direction direction, uint8_t trackSequence, uint32_t colourFlags,
|
||||
const uint32_t sprites[4], const CoordsXY offsets[4], const CoordsXY boundsLengths[4], const CoordsXYZ boundsOffsets[4])
|
||||
{
|
||||
int32_t index = diag_sprite_map[direction][trackSequence];
|
||||
@@ -1433,7 +1433,7 @@ static constexpr const int8_t right_quarter_turn_5_tiles_sprite_map[] = {
|
||||
};
|
||||
|
||||
void track_paint_util_right_quarter_turn_5_tiles_paint(
|
||||
paint_session* session, int8_t thickness, int16_t height, int32_t direction, uint8_t trackSequence, uint32_t colourFlags,
|
||||
paint_session* session, int8_t thickness, int16_t height, Direction direction, uint8_t trackSequence, uint32_t colourFlags,
|
||||
const uint32_t sprites[4][5], const CoordsXY offsets[4][5], const CoordsXY boundsLengths[4][5],
|
||||
const CoordsXYZ boundsOffsets[4][5])
|
||||
{
|
||||
@@ -1454,7 +1454,7 @@ void track_paint_util_right_quarter_turn_5_tiles_paint(
|
||||
}
|
||||
|
||||
void track_paint_util_right_quarter_turn_5_tiles_paint_2(
|
||||
paint_session* session, int16_t height, int32_t direction, uint8_t trackSequence, uint32_t colourFlags,
|
||||
paint_session* session, int16_t height, Direction direction, uint8_t trackSequence, uint32_t colourFlags,
|
||||
const sprite_bb sprites[][5])
|
||||
{
|
||||
int8_t sprite = right_quarter_turn_5_tiles_sprite_map[trackSequence];
|
||||
@@ -1472,7 +1472,7 @@ void track_paint_util_right_quarter_turn_5_tiles_paint_2(
|
||||
}
|
||||
|
||||
void track_paint_util_right_quarter_turn_5_tiles_paint_3(
|
||||
paint_session* session, int16_t height, int32_t direction, uint8_t trackSequence, uint32_t colourFlags,
|
||||
paint_session* session, int16_t height, Direction direction, uint8_t trackSequence, uint32_t colourFlags,
|
||||
const sprite_bb sprites[][5])
|
||||
{
|
||||
int8_t sprite = right_quarter_turn_5_tiles_sprite_map[trackSequence];
|
||||
@@ -1489,7 +1489,7 @@ void track_paint_util_right_quarter_turn_5_tiles_paint_3(
|
||||
}
|
||||
|
||||
void track_paint_util_right_quarter_turn_5_tiles_tunnel(
|
||||
paint_session* session, int16_t height, uint8_t direction, uint8_t trackSequence, uint8_t tunnelType)
|
||||
paint_session* session, int16_t height, Direction direction, uint8_t trackSequence, uint8_t tunnelType)
|
||||
{
|
||||
if (direction == 0 && trackSequence == 0)
|
||||
{
|
||||
@@ -1510,7 +1510,7 @@ void track_paint_util_right_quarter_turn_5_tiles_tunnel(
|
||||
}
|
||||
|
||||
void track_paint_util_right_quarter_turn_5_tiles_wooden_supports(
|
||||
paint_session* session, int16_t height, uint8_t direction, uint8_t trackSequence)
|
||||
paint_session* session, int16_t height, Direction direction, uint8_t trackSequence)
|
||||
{
|
||||
if (trackSequence != 1 && trackSequence != 4)
|
||||
{
|
||||
@@ -1609,7 +1609,7 @@ static constexpr const int8_t right_quarter_turn_3_tiles_sprite_map[] = {
|
||||
};
|
||||
|
||||
void track_paint_util_right_quarter_turn_3_tiles_paint(
|
||||
paint_session* session, int8_t thickness, int16_t height, int32_t direction, uint8_t trackSequence, uint32_t colourFlags,
|
||||
paint_session* session, int8_t thickness, int16_t height, Direction direction, uint8_t trackSequence, uint32_t colourFlags,
|
||||
const uint32_t sprites[4][3], const CoordsXY offsets[4][3], const CoordsXY boundsLengths[4][3],
|
||||
const CoordsXYZ boundsOffsets[4][3])
|
||||
{
|
||||
@@ -1630,7 +1630,7 @@ void track_paint_util_right_quarter_turn_3_tiles_paint(
|
||||
}
|
||||
|
||||
void track_paint_util_right_quarter_turn_3_tiles_paint_2(
|
||||
paint_session* session, int8_t thickness, int16_t height, int32_t direction, uint8_t trackSequence, uint32_t colourFlags,
|
||||
paint_session* session, int8_t thickness, int16_t height, Direction direction, uint8_t trackSequence, uint32_t colourFlags,
|
||||
const uint32_t sprites[4][3])
|
||||
{
|
||||
track_paint_util_right_quarter_turn_3_tiles_paint_2_with_height_offset(
|
||||
@@ -1638,7 +1638,7 @@ void track_paint_util_right_quarter_turn_3_tiles_paint_2(
|
||||
}
|
||||
|
||||
void track_paint_util_right_quarter_turn_3_tiles_paint_2_with_height_offset(
|
||||
paint_session* session, int8_t thickness, int16_t height, int32_t direction, uint8_t trackSequence, uint32_t colourFlags,
|
||||
paint_session* session, int8_t thickness, int16_t height, Direction direction, uint8_t trackSequence, uint32_t colourFlags,
|
||||
const uint32_t sprites[4][3], int32_t heightOffset)
|
||||
{
|
||||
int8_t sprite = right_quarter_turn_3_tiles_sprite_map[trackSequence];
|
||||
@@ -1714,7 +1714,7 @@ void track_paint_util_right_quarter_turn_3_tiles_paint_2_with_height_offset(
|
||||
}
|
||||
|
||||
void track_paint_util_right_quarter_turn_3_tiles_paint_3(
|
||||
paint_session* session, int16_t height, int32_t direction, uint8_t trackSequence, uint32_t colourFlags,
|
||||
paint_session* session, int16_t height, Direction direction, uint8_t trackSequence, uint32_t colourFlags,
|
||||
const sprite_bb sprites[4][3])
|
||||
{
|
||||
int8_t sprite = right_quarter_turn_3_tiles_sprite_map[trackSequence];
|
||||
@@ -1731,7 +1731,7 @@ void track_paint_util_right_quarter_turn_3_tiles_paint_3(
|
||||
}
|
||||
|
||||
void track_paint_util_right_quarter_turn_3_tiles_paint_4(
|
||||
paint_session* session, int16_t height, int32_t direction, uint8_t trackSequence, uint32_t colourFlags,
|
||||
paint_session* session, int16_t height, Direction direction, uint8_t trackSequence, uint32_t colourFlags,
|
||||
const sprite_bb sprites[4][3])
|
||||
{
|
||||
int8_t sprite = right_quarter_turn_3_tiles_sprite_map[trackSequence];
|
||||
@@ -1748,7 +1748,7 @@ void track_paint_util_right_quarter_turn_3_tiles_paint_4(
|
||||
}
|
||||
|
||||
void track_paint_util_right_quarter_turn_3_tiles_tunnel(
|
||||
paint_session* session, int16_t height, uint8_t direction, uint8_t trackSequence, uint8_t tunnelType)
|
||||
paint_session* session, int16_t height, Direction direction, uint8_t trackSequence, uint8_t tunnelType)
|
||||
{
|
||||
if (direction == 0 && trackSequence == 0)
|
||||
{
|
||||
@@ -1772,7 +1772,8 @@ void track_paint_util_right_quarter_turn_3_tiles_tunnel(
|
||||
}
|
||||
|
||||
void track_paint_util_right_quarter_turn_3_tiles_25_deg_up_tunnel(
|
||||
paint_session* session, int16_t height, uint8_t direction, uint8_t trackSequence, uint8_t tunnelType0, uint8_t tunnelType3)
|
||||
paint_session* session, int16_t height, Direction direction, uint8_t trackSequence, uint8_t tunnelType0,
|
||||
uint8_t tunnelType3)
|
||||
{
|
||||
if (direction == 0 && trackSequence == 0)
|
||||
{
|
||||
@@ -1793,7 +1794,8 @@ void track_paint_util_right_quarter_turn_3_tiles_25_deg_up_tunnel(
|
||||
}
|
||||
|
||||
void track_paint_util_right_quarter_turn_3_tiles_25_deg_down_tunnel(
|
||||
paint_session* session, int16_t height, uint8_t direction, uint8_t trackSequence, uint8_t tunnelType0, uint8_t tunnelType3)
|
||||
paint_session* session, int16_t height, Direction direction, uint8_t trackSequence, uint8_t tunnelType0,
|
||||
uint8_t tunnelType3)
|
||||
{
|
||||
if (direction == 0 && trackSequence == 0)
|
||||
{
|
||||
@@ -1821,7 +1823,7 @@ static constexpr const int8_t left_quarter_turn_3_tiles_sprite_map[] = {
|
||||
};
|
||||
|
||||
void track_paint_util_left_quarter_turn_3_tiles_paint(
|
||||
paint_session* session, int8_t thickness, int16_t height, int32_t direction, uint8_t trackSequence, uint32_t colourFlags,
|
||||
paint_session* session, int8_t thickness, int16_t height, Direction direction, uint8_t trackSequence, uint32_t colourFlags,
|
||||
const uint32_t sprites[4][3])
|
||||
{
|
||||
track_paint_util_left_quarter_turn_3_tiles_paint_with_height_offset(
|
||||
@@ -1829,7 +1831,7 @@ void track_paint_util_left_quarter_turn_3_tiles_paint(
|
||||
}
|
||||
|
||||
void track_paint_util_left_quarter_turn_3_tiles_paint_with_height_offset(
|
||||
paint_session* session, int8_t thickness, int16_t height, int32_t direction, uint8_t trackSequence, uint32_t colourFlags,
|
||||
paint_session* session, int8_t thickness, int16_t height, Direction direction, uint8_t trackSequence, uint32_t colourFlags,
|
||||
const uint32_t sprites[4][3], int32_t heightOffset)
|
||||
{
|
||||
int8_t sprite = left_quarter_turn_3_tiles_sprite_map[trackSequence];
|
||||
@@ -1905,7 +1907,7 @@ void track_paint_util_left_quarter_turn_3_tiles_paint_with_height_offset(
|
||||
}
|
||||
|
||||
void track_paint_util_left_quarter_turn_3_tiles_tunnel(
|
||||
paint_session* session, int16_t height, uint8_t tunnelType, uint8_t direction, uint8_t trackSequence)
|
||||
paint_session* session, int16_t height, uint8_t tunnelType, Direction direction, uint8_t trackSequence)
|
||||
{
|
||||
if (direction == 0 && trackSequence == 0)
|
||||
{
|
||||
@@ -1929,7 +1931,8 @@ void track_paint_util_left_quarter_turn_3_tiles_tunnel(
|
||||
}
|
||||
|
||||
void track_paint_util_left_quarter_turn_1_tile_paint(
|
||||
paint_session* session, int8_t thickness, int16_t height, int16_t boundBoxZOffset, int32_t direction, uint32_t colourFlags,
|
||||
paint_session* session, int8_t thickness, int16_t height, int16_t boundBoxZOffset, Direction direction,
|
||||
uint32_t colourFlags,
|
||||
const uint32_t* sprites)
|
||||
{
|
||||
uint32_t imageId = sprites[direction] | colourFlags;
|
||||
@@ -1952,7 +1955,7 @@ void track_paint_util_left_quarter_turn_1_tile_paint(
|
||||
}
|
||||
|
||||
void track_paint_util_right_quarter_turn_1_tile_tunnel(
|
||||
paint_session* session, uint8_t direction, uint16_t baseHeight, int8_t startOffset, uint8_t startTunnel, int8_t endOffset,
|
||||
paint_session* session, Direction direction, uint16_t baseHeight, int8_t startOffset, uint8_t startTunnel, int8_t endOffset,
|
||||
uint8_t endTunnel)
|
||||
{
|
||||
track_paint_util_left_quarter_turn_1_tile_tunnel(
|
||||
@@ -1960,7 +1963,7 @@ void track_paint_util_right_quarter_turn_1_tile_tunnel(
|
||||
}
|
||||
|
||||
void track_paint_util_left_quarter_turn_1_tile_tunnel(
|
||||
paint_session* session, uint8_t direction, uint16_t baseHeight, int8_t startOffset, uint8_t startTunnel, int8_t endOffset,
|
||||
paint_session* session, Direction direction, uint16_t baseHeight, int8_t startOffset, uint8_t startTunnel, int8_t endOffset,
|
||||
uint8_t endTunnel)
|
||||
{
|
||||
switch (direction)
|
||||
@@ -1978,7 +1981,7 @@ void track_paint_util_left_quarter_turn_1_tile_tunnel(
|
||||
}
|
||||
}
|
||||
|
||||
void track_paint_util_spinning_tunnel_paint(paint_session* session, int8_t thickness, int16_t height, uint8_t direction)
|
||||
void track_paint_util_spinning_tunnel_paint(paint_session* session, int8_t thickness, int16_t height, Direction direction)
|
||||
{
|
||||
int32_t frame = gScenarioTicks >> 2 & 3;
|
||||
uint32_t colourFlags = session->TrackColours[SCHEME_SUPPORTS];
|
||||
@@ -2011,7 +2014,7 @@ void track_paint_util_spinning_tunnel_paint(paint_session* session, int8_t thick
|
||||
}
|
||||
|
||||
void track_paint_util_onride_photo_small_paint(
|
||||
paint_session* session, uint8_t direction, int32_t height, const TileElement* tileElement)
|
||||
paint_session* session, Direction direction, int32_t height, const TileElement* tileElement)
|
||||
{
|
||||
static constexpr const uint32_t imageIds[4][3] = {
|
||||
{ SPR_ON_RIDE_PHOTO_SIGN_SMALL_SW_NE, SPR_ON_RIDE_PHOTO_CAMERA_SMALL_S, SPR_ON_RIDE_PHOTO_CAMERA_FLASH_SMALL_S },
|
||||
@@ -2049,7 +2052,7 @@ void track_paint_util_onride_photo_small_paint(
|
||||
}
|
||||
|
||||
void track_paint_util_onride_photo_paint(
|
||||
paint_session* session, uint8_t direction, int32_t height, const TileElement* tileElement)
|
||||
paint_session* session, Direction direction, int32_t height, const TileElement* tileElement)
|
||||
{
|
||||
static constexpr const uint32_t imageIds[4][3] = {
|
||||
{ SPR_ON_RIDE_PHOTO_SIGN_SW_NE, SPR_ON_RIDE_PHOTO_CAMERA_S, SPR_ON_RIDE_PHOTO_CAMERA_FLASH_S },
|
||||
@@ -2099,7 +2102,7 @@ static constexpr const uint16_t RightVerticalLoopSegments[] = {
|
||||
SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0,
|
||||
};
|
||||
|
||||
void track_paint_util_right_vertical_loop_segments(paint_session* session, uint8_t direction, uint8_t trackSequence)
|
||||
void track_paint_util_right_vertical_loop_segments(paint_session* session, Direction direction, uint8_t trackSequence)
|
||||
{
|
||||
if (trackSequence > 9)
|
||||
{
|
||||
@@ -2111,7 +2114,7 @@ void track_paint_util_right_vertical_loop_segments(paint_session* session, uint8
|
||||
session, paint_util_rotate_segments(RightVerticalLoopSegments[trackSequence], direction), 0xFFFF, 0);
|
||||
}
|
||||
|
||||
void track_paint_util_left_corkscrew_up_supports(paint_session* session, uint8_t direction, uint16_t height)
|
||||
void track_paint_util_left_corkscrew_up_supports(paint_session* session, Direction direction, uint16_t height)
|
||||
{
|
||||
// TODO: Figure out which of these looks best, and use one to keep a consistent world
|
||||
if (direction == 2)
|
||||
@@ -2133,7 +2136,7 @@ void track_paint_util_left_corkscrew_up_supports(paint_session* session, uint8_t
|
||||
*
|
||||
* rct2: 0x006C4794
|
||||
*/
|
||||
void track_paint(paint_session* session, uint8_t direction, int32_t height, const TileElement* tileElement)
|
||||
void track_paint(paint_session* session, Direction direction, int32_t height, const TileElement* tileElement)
|
||||
{
|
||||
ride_id_t rideIndex = tileElement->AsTrack()->GetRideIndex();
|
||||
auto ride = get_ride(rideIndex);
|
||||
|
||||
@@ -290,107 +290,110 @@ bool track_paint_util_draw_station_covers_2(
|
||||
paint_session* session, enum edge_t edge, bool hasFence, const StationObject* stationObject, uint16_t height,
|
||||
uint8_t stationVariant);
|
||||
void track_paint_util_draw_station_platform(
|
||||
paint_session* session, Ride* ride, uint8_t direction, int32_t height, int32_t zOffset, const TileElement* tileElement);
|
||||
paint_session* session, Ride* ride, Direction direction, int32_t height, int32_t zOffset, const TileElement* tileElement);
|
||||
void track_paint_util_draw_station(
|
||||
paint_session* session, ride_id_t rideIndex, uint8_t direction, uint16_t height, const TileElement* tileElement);
|
||||
paint_session* session, ride_id_t rideIndex, Direction direction, uint16_t height, const TileElement* tileElement);
|
||||
void track_paint_util_draw_station_2(
|
||||
paint_session* session, ride_id_t rideIndex, uint8_t direction, uint16_t height, const TileElement* tileElement,
|
||||
paint_session* session, ride_id_t rideIndex, Direction direction, uint16_t height, const TileElement* tileElement,
|
||||
int32_t fenceOffsetA, int32_t fenceOffsetB);
|
||||
void track_paint_util_draw_station_3(
|
||||
paint_session* session, ride_id_t rideIndex, uint8_t direction, uint16_t height, uint16_t coverHeight,
|
||||
paint_session* session, ride_id_t rideIndex, Direction direction, uint16_t height, uint16_t coverHeight,
|
||||
const TileElement* tileElement);
|
||||
void track_paint_util_draw_station_inverted(
|
||||
paint_session* session, ride_id_t rideIndex, uint8_t direction, int32_t height, const TileElement* tileElement,
|
||||
paint_session* session, ride_id_t rideIndex, Direction direction, int32_t height, const TileElement* tileElement,
|
||||
uint8_t stationVariant);
|
||||
bool track_paint_util_should_paint_supports(const CoordsXY& position);
|
||||
void track_paint_util_draw_pier(
|
||||
paint_session* session, Ride* ride, const StationObject* stationObject, const CoordsXY& position, uint8_t direction,
|
||||
paint_session* session, Ride* ride, const StationObject* stationObject, const CoordsXY& position, Direction direction,
|
||||
int32_t height, const TileElement* tileElement, uint8_t rotation);
|
||||
void track_paint_util_draw_station_metal_supports(paint_session* session, uint8_t direction, uint16_t height, uint32_t colour);
|
||||
void track_paint_util_draw_station_metal_supports(paint_session* session, Direction direction, uint16_t height, uint32_t colour);
|
||||
void track_paint_util_draw_station_metal_supports_2(
|
||||
paint_session* session, uint8_t direction, uint16_t height, uint32_t colour, uint8_t type);
|
||||
paint_session* session, Direction direction, uint16_t height, uint32_t colour, uint8_t type);
|
||||
|
||||
void track_paint_util_right_quarter_turn_5_tiles_paint(
|
||||
paint_session* session, int8_t thickness, int16_t height, int32_t direction, uint8_t trackSequence, uint32_t colourFlags,
|
||||
paint_session* session, int8_t thickness, int16_t height, Direction direction, uint8_t trackSequence, uint32_t colourFlags,
|
||||
const uint32_t sprites[4][5], const CoordsXY offsets[4][5], const CoordsXY boundsLengths[4][5],
|
||||
const CoordsXYZ boundsOffsets[4][5]);
|
||||
void track_paint_util_right_quarter_turn_5_tiles_paint_2(
|
||||
paint_session* session, int16_t height, int32_t direction, uint8_t trackSequence, uint32_t colourFlags,
|
||||
paint_session* session, int16_t height, Direction direction, uint8_t trackSequence, uint32_t colourFlags,
|
||||
const sprite_bb sprites[][5]);
|
||||
void track_paint_util_right_quarter_turn_5_tiles_paint_3(
|
||||
paint_session* session, int16_t height, int32_t direction, uint8_t trackSequence, uint32_t colourFlags,
|
||||
paint_session* session, int16_t height, Direction direction, uint8_t trackSequence, uint32_t colourFlags,
|
||||
const sprite_bb sprites[][5]);
|
||||
void track_paint_util_right_quarter_turn_5_tiles_tunnel(
|
||||
paint_session* session, int16_t height, uint8_t direction, uint8_t trackSequence, uint8_t tunnelType);
|
||||
paint_session* session, int16_t height, Direction direction, uint8_t trackSequence, uint8_t tunnelType);
|
||||
void track_paint_util_right_quarter_turn_5_tiles_wooden_supports(
|
||||
paint_session* session, int16_t height, uint8_t direction, uint8_t trackSequence);
|
||||
paint_session* session, int16_t height, Direction direction, uint8_t trackSequence);
|
||||
void track_paint_util_right_quarter_turn_3_tiles_25_deg_up_tunnel(
|
||||
paint_session* session, int16_t height, uint8_t direction, uint8_t trackSequence, uint8_t tunnelType0, uint8_t tunnelType3);
|
||||
paint_session* session, int16_t height, Direction direction, uint8_t trackSequence, uint8_t tunnelType0,
|
||||
uint8_t tunnelType3);
|
||||
void track_paint_util_right_quarter_turn_3_tiles_25_deg_down_tunnel(
|
||||
paint_session* session, int16_t height, uint8_t direction, uint8_t trackSequence, uint8_t tunnelType0, uint8_t tunnelType3);
|
||||
paint_session* session, int16_t height, Direction direction, uint8_t trackSequence, uint8_t tunnelType0,
|
||||
uint8_t tunnelType3);
|
||||
void track_paint_util_right_quarter_turn_3_tiles_paint(
|
||||
paint_session* session, int8_t thickness, int16_t height, int32_t direction, uint8_t trackSequence, uint32_t colourFlags,
|
||||
paint_session* session, int8_t thickness, int16_t height, Direction direction, uint8_t trackSequence, uint32_t colourFlags,
|
||||
const uint32_t sprites[4][3], const CoordsXY offsets[4][3], const CoordsXY boundsLengths[4][3],
|
||||
const CoordsXYZ boundsOffsets[4][3]);
|
||||
void track_paint_util_right_quarter_turn_3_tiles_paint_2(
|
||||
paint_session* session, int8_t thickness, int16_t height, int32_t direction, uint8_t trackSequence, uint32_t colourFlags,
|
||||
paint_session* session, int8_t thickness, int16_t height, Direction direction, uint8_t trackSequence, uint32_t colourFlags,
|
||||
const uint32_t sprites[4][3]);
|
||||
void track_paint_util_right_quarter_turn_3_tiles_paint_2_with_height_offset(
|
||||
paint_session* session, int8_t thickness, int16_t height, int32_t direction, uint8_t trackSequence, uint32_t colourFlags,
|
||||
paint_session* session, int8_t thickness, int16_t height, Direction direction, uint8_t trackSequence, uint32_t colourFlags,
|
||||
const uint32_t sprites[4][3], int32_t heightOffset);
|
||||
void track_paint_util_right_quarter_turn_3_tiles_paint_3(
|
||||
paint_session* session, int16_t height, int32_t direction, uint8_t trackSequence, uint32_t colourFlags,
|
||||
paint_session* session, int16_t height, Direction direction, uint8_t trackSequence, uint32_t colourFlags,
|
||||
const sprite_bb sprites[4][3]);
|
||||
void track_paint_util_right_quarter_turn_3_tiles_paint_4(
|
||||
paint_session* session, int16_t height, int32_t direction, uint8_t trackSequence, uint32_t colourFlags,
|
||||
paint_session* session, int16_t height, Direction direction, uint8_t trackSequence, uint32_t colourFlags,
|
||||
const sprite_bb sprites[4][3]);
|
||||
void track_paint_util_right_quarter_turn_3_tiles_tunnel(
|
||||
paint_session* session, int16_t height, uint8_t direction, uint8_t trackSequence, uint8_t tunnelType);
|
||||
paint_session* session, int16_t height, Direction direction, uint8_t trackSequence, uint8_t tunnelType);
|
||||
void track_paint_util_left_quarter_turn_3_tiles_paint(
|
||||
paint_session* session, int8_t thickness, int16_t height, int32_t direction, uint8_t trackSequence, uint32_t colourFlags,
|
||||
paint_session* session, int8_t thickness, int16_t height, Direction direction, uint8_t trackSequence, uint32_t colourFlags,
|
||||
const uint32_t sprites[4][3]);
|
||||
void track_paint_util_left_quarter_turn_3_tiles_paint_with_height_offset(
|
||||
paint_session* session, int8_t thickness, int16_t height, int32_t direction, uint8_t trackSequence, uint32_t colourFlags,
|
||||
paint_session* session, int8_t thickness, int16_t height, Direction direction, uint8_t trackSequence, uint32_t colourFlags,
|
||||
const uint32_t sprites[4][3], int32_t heightOffset);
|
||||
void track_paint_util_left_quarter_turn_3_tiles_tunnel(
|
||||
paint_session* session, int16_t height, uint8_t tunnelType, uint8_t direction, uint8_t trackSequence);
|
||||
paint_session* session, int16_t height, uint8_t tunnelType, Direction direction, uint8_t trackSequence);
|
||||
void track_paint_util_left_quarter_turn_1_tile_paint(
|
||||
paint_session* session, int8_t thickness, int16_t height, int16_t boundBoxZOffset, int32_t direction, uint32_t colourFlags,
|
||||
paint_session* session, int8_t thickness, int16_t height, int16_t boundBoxZOffset, Direction direction,
|
||||
uint32_t colourFlags,
|
||||
const uint32_t* sprites);
|
||||
void track_paint_util_spinning_tunnel_paint(paint_session* session, int8_t thickness, int16_t height, uint8_t direction);
|
||||
void track_paint_util_spinning_tunnel_paint(paint_session* session, int8_t thickness, int16_t height, Direction direction);
|
||||
void track_paint_util_onride_photo_small_paint(
|
||||
paint_session* session, uint8_t direction, int32_t height, const TileElement* tileElement);
|
||||
paint_session* session, Direction direction, int32_t height, const TileElement* tileElement);
|
||||
void track_paint_util_onride_photo_paint(
|
||||
paint_session* session, uint8_t direction, int32_t height, const TileElement* tileElement);
|
||||
paint_session* session, Direction direction, int32_t height, const TileElement* tileElement);
|
||||
void track_paint_util_right_helix_up_small_quarter_tiles_paint(
|
||||
paint_session* session, const int8_t thickness[2], int16_t height, int32_t direction, uint8_t trackSequence,
|
||||
paint_session* session, const int8_t thickness[2], int16_t height, Direction direction, uint8_t trackSequence,
|
||||
uint32_t colourFlags, const uint32_t sprites[4][3][2], const CoordsXY offsets[4][3][2],
|
||||
const CoordsXY boundsLengths[4][3][2], const CoordsXYZ boundsOffsets[4][3][2]);
|
||||
void track_paint_util_right_helix_up_large_quarter_tiles_paint(
|
||||
paint_session* session, const int8_t thickness[2], int16_t height, int32_t direction, uint8_t trackSequence,
|
||||
paint_session* session, const int8_t thickness[2], int16_t height, Direction direction, uint8_t trackSequence,
|
||||
uint32_t colourFlags, const uint32_t sprites[4][5][2], const CoordsXY offsets[4][5][2],
|
||||
const CoordsXY boundsLengths[4][5][2], const CoordsXYZ boundsOffsets[4][5][2]);
|
||||
void track_paint_util_eighth_to_diag_tiles_paint(
|
||||
paint_session* session, const int8_t thickness[4][4], int16_t height, int32_t direction, uint8_t trackSequence,
|
||||
paint_session* session, const int8_t thickness[4][4], int16_t height, Direction direction, uint8_t trackSequence,
|
||||
uint32_t colourFlags, const uint32_t sprites[4][4], const CoordsXY offsets[4][4], const CoordsXY boundsLengths[4][4],
|
||||
const CoordsXYZ boundsOffsets[4][4]);
|
||||
void track_paint_util_diag_tiles_paint(
|
||||
paint_session* session, int8_t thickness, int16_t height, int32_t direction, uint8_t trackSequence, uint32_t colourFlags,
|
||||
paint_session* session, int8_t thickness, int16_t height, Direction direction, uint8_t trackSequence, uint32_t colourFlags,
|
||||
const uint32_t sprites[4], const CoordsXY offsets[4], const CoordsXY boundsLengths[4], const CoordsXYZ boundsOffsets[4]);
|
||||
|
||||
void track_paint_util_left_quarter_turn_1_tile_tunnel(
|
||||
paint_session* session, uint8_t direction, uint16_t baseHeight, int8_t startOffset, uint8_t startTunnel, int8_t endOffset,
|
||||
paint_session* session, Direction direction, uint16_t baseHeight, int8_t startOffset, uint8_t startTunnel, int8_t endOffset,
|
||||
uint8_t endTunnel);
|
||||
void track_paint_util_right_quarter_turn_1_tile_tunnel(
|
||||
paint_session* session, uint8_t direction, uint16_t baseHeight, int8_t startOffset, uint8_t startTunnel, int8_t endOffset,
|
||||
paint_session* session, Direction direction, uint16_t baseHeight, int8_t startOffset, uint8_t startTunnel, int8_t endOffset,
|
||||
uint8_t endTunnel);
|
||||
|
||||
void track_paint_util_right_vertical_loop_segments(paint_session* session, uint8_t direction, uint8_t trackSequence);
|
||||
void track_paint_util_right_vertical_loop_segments(paint_session* session, Direction direction, uint8_t trackSequence);
|
||||
|
||||
void track_paint_util_left_corkscrew_up_supports(paint_session* session, uint8_t direction, uint16_t height);
|
||||
void track_paint_util_left_corkscrew_up_supports(paint_session* session, Direction direction, uint16_t height);
|
||||
|
||||
using TRACK_PAINT_FUNCTION = void (*)(
|
||||
paint_session* session, ride_id_t rideIndex, uint8_t trackSequence, uint8_t direction, int32_t height,
|
||||
paint_session* session, ride_id_t rideIndex, uint8_t trackSequence, Direction direction, int32_t height,
|
||||
const TileElement* tileElement);
|
||||
using TRACK_PAINT_FUNCTION_GETTER = TRACK_PAINT_FUNCTION (*)(int32_t trackType);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user