Fix 'left corkscrew up' track

This commit is contained in:
Marijn van der Werf 2016-10-18 18:52:41 +02:00
parent 75ab5548f7
commit bd7b2c536e
6 changed files with 17 additions and 8 deletions

View File

@ -2190,8 +2190,7 @@ static void corkscrew_rc_track_left_corkscrew_up(uint8 rideIndex, uint8 trackSeq
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
metal_a_supports_paint_setup(0, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]);
track_paint_util_left_corkscrew_up_supports(direction, height);
if (direction == 0 || direction == 3) {
paint_util_push_tunnel_rotated(direction, height, TUNNEL_0);

View File

@ -755,8 +755,7 @@ static void lim_launched_rc_track_left_corkscrew_up(uint8 rideIndex, uint8 track
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
metal_a_supports_paint_setup(0, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]);
track_paint_util_left_corkscrew_up_supports(direction, height);
if (direction == 0 || direction == 3) {
paint_util_push_tunnel_rotated(direction, height, TUNNEL_0);

View File

@ -2417,8 +2417,7 @@ static void stand_up_rc_track_left_corkscrew_up(uint8 rideIndex, uint8 trackSequ
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
metal_a_supports_paint_setup(0, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]);
track_paint_util_left_corkscrew_up_supports(direction, height);
if (direction == 0 || direction == 3) {
paint_util_push_tunnel_rotated(direction, height, TUNNEL_0);

View File

@ -2193,8 +2193,7 @@ static void twister_rc_track_left_corkscrew_up(uint8 rideIndex, uint8 trackSeque
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
metal_a_supports_paint_setup(0, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]);
track_paint_util_left_corkscrew_up_supports(direction, height);
if (direction == 0 || direction == 3) {
paint_util_push_tunnel_rotated(direction, height, TUNNEL_6);

View File

@ -1680,6 +1680,17 @@ void track_paint_util_onride_photo_paint(uint8 direction, sint32 height, rct_map
}
}
void track_paint_util_left_corkscrew_up_supports(uint8 direction, uint16 height) {
// TODO: Figure out which of these looks best, and use one to keep a consistent world
if (direction == 2) {
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
}
metal_a_supports_paint_setup(0, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]);
if (direction != 2) {
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
}
}
static int pick_ride_type_for_drawing(int rideType, int trackType)
{
if (rideType == RIDE_TYPE_VERTICAL_DROP_ROLLER_COASTER) {

View File

@ -307,6 +307,8 @@ void track_paint_util_right_helix_up_large_quarter_tiles_paint(const sint8 thick
void track_paint_util_eighth_to_diag_tiles_paint(const sint8 thickness[4][4], sint16 height, int direction, uint8 trackSequence, uint32 colourFlags, const uint32 sprites[4][4], const rct_xy16 offsets[4][4], const rct_xy16 boundsLengths[4][4], const rct_xyz16 boundsOffsets[4][4], uint8 rotation);
void track_paint_util_diag_tiles_paint(sint8 thickness, sint16 height, int direction, uint8 trackSequence, uint32 colourFlags, const uint32 sprites[4], const rct_xy16 offsets[4], const rct_xy16 boundsLengths[4], const rct_xyz16 boundsOffsets[4], uint8 rotation);
void track_paint_util_left_corkscrew_up_supports(uint8 direction, uint16 height);
typedef void (*TRACK_PAINT_FUNCTION)(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element* mapElement);
typedef TRACK_PAINT_FUNCTION (*TRACK_PAINT_FUNCTION_GETTER)(int trackType, int direction);