Merge pull request #4678 from marijnvdwerf/fix/paint-4

Track Paint fixes: segment support height
This commit is contained in:
Ted John 2016-10-22 14:22:03 +01:00 committed by GitHub
commit 84e8b00900
14 changed files with 76 additions and 91 deletions

View File

@ -1608,7 +1608,6 @@ static void corkscrew_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackS
if (direction == 0 || direction == 3) {
paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1);
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 56, 0x20);
break;
case 1:
@ -1630,7 +1629,6 @@ static void corkscrew_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackS
metal_a_supports_paint_setup(0, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 72, 0x20);
break;
case 2:
@ -1648,7 +1646,6 @@ static void corkscrew_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackS
sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16580, 16, 0, 2, 16, 119, height, 16, 0, height);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 168, 0x20);
break;
case 3:
@ -1666,7 +1663,6 @@ static void corkscrew_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackS
sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16581, 0, 0, 32, 16, 3, height + 32);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 48, 0x20);
break;
case 4:
@ -1690,7 +1686,6 @@ static void corkscrew_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackS
sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16582, 0, 16, 32, 16, 3, height + 32);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 48, 0x20);
break;
case 7:
@ -1708,7 +1703,6 @@ static void corkscrew_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackS
sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16583, 10, 16, 4, 16, 119, height, 10, 16, height);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 168, 0x20);
break;
case 8:
@ -1730,7 +1724,6 @@ static void corkscrew_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackS
metal_a_supports_paint_setup(0, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 72, 0x20);
break;
case 9:
@ -1757,10 +1750,11 @@ static void corkscrew_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackS
paint_util_push_tunnel_left(height - 8, TUNNEL_1);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 56, 0x20);
break;
}
track_paint_util_right_vertical_loop_segments(direction, trackSequence);
}
/** rct2: 0x008A7D98 */

View File

@ -3105,7 +3105,6 @@ static void lay_down_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackSe
if (direction == 0 || direction == 3) {
paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1);
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 56, 0x20);
break;
case 1:
@ -3127,7 +3126,6 @@ static void lay_down_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackSe
metal_a_supports_paint_setup(11, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 72, 0x20);
break;
case 2:
@ -3145,7 +3143,6 @@ static void lay_down_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackSe
sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16580, 16, 0, 2, 16, 119, height, 16, 0, height);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 168, 0x20);
break;
case 3:
@ -3163,7 +3160,6 @@ static void lay_down_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackSe
sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16581, 0, 0, 32, 16, 3, height + 32);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 48, 0x20);
break;
case 4:
@ -3187,7 +3183,6 @@ static void lay_down_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackSe
sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16582, 0, 16, 32, 16, 3, height + 32);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 48, 0x20);
break;
case 7:
@ -3205,7 +3200,6 @@ static void lay_down_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackSe
sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16583, 10, 16, 4, 16, 119, height, 10, 16, height);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 168, 0x20);
break;
case 8:
@ -3227,7 +3221,6 @@ static void lay_down_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackSe
metal_a_supports_paint_setup(11, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 72, 0x20);
break;
case 9:
@ -3254,7 +3247,6 @@ static void lay_down_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackSe
paint_util_push_tunnel_left(height - 8, TUNNEL_1);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 56, 0x20);
break;
}
@ -3279,7 +3271,6 @@ static void lay_down_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackSe
if (direction == 0 || direction == 3) {
paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1);
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 56, 0x20);
break;
case 1:
@ -3301,7 +3292,6 @@ static void lay_down_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackSe
metal_a_supports_paint_setup(11, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 72, 0x20);
break;
case 2:
@ -3319,7 +3309,6 @@ static void lay_down_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackSe
sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16580, 16, 0, 2, 16, 119, height, 16, 0, height);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 168, 0x20);
break;
case 3:
@ -3337,7 +3326,6 @@ static void lay_down_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackSe
sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16581, 0, 0, 32, 16, 3, height + 32);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 48, 0x20);
break;
case 4:
@ -3361,7 +3349,6 @@ static void lay_down_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackSe
sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16582, 0, 16, 32, 16, 3, height + 32);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 48, 0x20);
break;
case 7:
@ -3379,7 +3366,6 @@ static void lay_down_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackSe
sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16583, 10, 16, 4, 16, 119, height, 10, 16, height);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 168, 0x20);
break;
case 8:
@ -3401,7 +3387,6 @@ static void lay_down_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackSe
metal_a_supports_paint_setup(11, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 72, 0x20);
break;
case 9:
@ -3428,11 +3413,12 @@ static void lay_down_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackSe
paint_util_push_tunnel_left(height - 8, TUNNEL_1);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 56, 0x20);
break;
}
}
track_paint_util_right_vertical_loop_segments(direction, trackSequence);
}
/** rct2: 0x00824BBC */

View File

@ -248,7 +248,6 @@ static void lim_launched_rc_track_right_vertical_loop(uint8 rideIndex, uint8 tra
if (direction == 0 || direction == 3) {
paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1);
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 56, 0x20);
break;
case 1:
@ -266,7 +265,6 @@ static void lim_launched_rc_track_right_vertical_loop(uint8 rideIndex, uint8 tra
sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15405, 0, 0, 32, 26, 3, height);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 72, 0x20);
break;
case 2:
@ -284,7 +282,6 @@ static void lim_launched_rc_track_right_vertical_loop(uint8 rideIndex, uint8 tra
sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15406, 16, 0, 2, 16, 119, height, 16, 0, height);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 168, 0x20);
break;
case 3:
@ -302,7 +299,6 @@ static void lim_launched_rc_track_right_vertical_loop(uint8 rideIndex, uint8 tra
sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15407, 0, 0, 32, 16, 3, height + 32);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 48, 0x20);
break;
case 4:
@ -326,7 +322,6 @@ static void lim_launched_rc_track_right_vertical_loop(uint8 rideIndex, uint8 tra
sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15408, 0, 16, 32, 16, 3, height + 32);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 48, 0x20);
break;
case 7:
@ -344,7 +339,6 @@ static void lim_launched_rc_track_right_vertical_loop(uint8 rideIndex, uint8 tra
sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15409, 10, 16, 4, 16, 119, height, 10, 16, height);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 168, 0x20);
break;
case 8:
@ -362,7 +356,6 @@ static void lim_launched_rc_track_right_vertical_loop(uint8 rideIndex, uint8 tra
sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15410, 0, 6, 32, 26, 3, height);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 72, 0x20);
break;
case 9:
@ -389,10 +382,11 @@ static void lim_launched_rc_track_right_vertical_loop(uint8 rideIndex, uint8 tra
paint_util_push_tunnel_left(height - 8, TUNNEL_1);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 56, 0x20);
break;
}
track_paint_util_right_vertical_loop_segments(direction, trackSequence);
}
/** rct2: 0x008A6D10 */
@ -698,7 +692,7 @@ static void lim_launched_rc_track_right_twist_up_to_down(uint8 rideIndex, uint8
sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15798, 0, 0, 32, 20, 0, height, 0, 6, height + 28);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 48, 0x20);
break;
case 2:

View File

@ -1602,7 +1602,6 @@ static void looping_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackSeq
if (direction == 0 || direction == 3) {
paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1);
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 56, 0x20);
break;
case 1:
@ -1620,7 +1619,6 @@ static void looping_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackSeq
sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15369, 0, 0, 32, 26, 3, height);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 72, 0x20);
break;
case 2:
@ -1646,7 +1644,6 @@ static void looping_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackSeq
sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15387, 16, 0, 2, 16, 119, height, 16, 0, height);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 168, 0x20);
break;
case 3:
@ -1664,7 +1661,6 @@ static void looping_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackSeq
sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15371, 0, 0, 32, 16, 3, height + 32);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 48, 0x20);
break;
case 4:
@ -1688,7 +1684,6 @@ static void looping_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackSeq
sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15372, 0, 16, 32, 16, 3, height + 32);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 48, 0x20);
break;
case 7:
@ -1714,7 +1709,6 @@ static void looping_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackSeq
sub_98199C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15386, 10, 16, 4, 16, 119, height, 10, 16, height);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 168, 0x20);
break;
case 8:
@ -1732,7 +1726,6 @@ static void looping_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackSeq
sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15374, 0, 6, 32, 26, 3, height);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 72, 0x20);
break;
case 9:
@ -1758,10 +1751,11 @@ static void looping_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackSeq
paint_util_push_tunnel_left(height - 8, TUNNEL_1);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 56, 0x20);
break;
}
track_paint_util_right_vertical_loop_segments(direction, trackSequence);
}
/** rct2: 0x008A6630 */

View File

@ -1546,7 +1546,7 @@ static void mine_train_rc_track_left_quarter_turn_3(uint8 rideIndex, uint8 track
paint_util_push_tunnel_left(height, TUNNEL_6);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0);
paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0);
paint_util_set_general_support_height(height + 32, 0x20);
break;
}
@ -1652,7 +1652,7 @@ static void mine_train_rc_track_left_quarter_turn_3_bank(uint8 rideIndex, uint8
paint_util_push_tunnel_left(height, TUNNEL_6);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0);
paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0);
paint_util_set_general_support_height(height + 32, 0x20);
break;
}
@ -1742,7 +1742,7 @@ static void mine_train_rc_track_left_quarter_turn_3_25_deg_up(uint8 rideIndex, u
paint_util_push_tunnel_left(height + 8, TUNNEL_8);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0);
paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0);
paint_util_set_general_support_height(height + 72, 0x20);
break;
}

View File

@ -701,7 +701,7 @@ static void reverser_rc_track_left_quarter_turn_3(uint8 rideIndex, uint8 trackSe
paint_util_push_tunnel_left(height, TUNNEL_6);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0);
paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0);
paint_util_set_general_support_height(height + 32, 0x20);
break;
}

View File

@ -782,7 +782,7 @@ static void side_friction_rc_track_left_quarter_turn_3(uint8 rideIndex, uint8 tr
paint_util_push_tunnel_left(height, TUNNEL_6);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0);
paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0);
paint_util_set_general_support_height(height + 32, 0x20);
break;
}

View File

@ -1737,6 +1737,7 @@ static void stand_up_rc_track_left_vertical_loop(uint8 rideIndex, uint8 trackSeq
}
}
/** rct2: 0x008A7374 */
static void stand_up_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement)
{
@ -1760,7 +1761,6 @@ static void stand_up_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackSe
if (direction == 0 || direction == 3) {
paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_1);
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 56, 0x20);
break;
case 1:
@ -1782,7 +1782,6 @@ static void stand_up_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackSe
metal_a_supports_paint_setup(0, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 72, 0x20);
break;
case 2:
@ -1800,7 +1799,6 @@ static void stand_up_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackSe
sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25495, 16, 0, 5, 16, 119, height);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 168, 0x20);
break;
case 3:
@ -1818,7 +1816,6 @@ static void stand_up_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackSe
sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25496, 0, 0, 32, 16, 3, height + 32);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 48, 0x20);
break;
case 4:
@ -1842,7 +1839,6 @@ static void stand_up_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackSe
sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25497, 0, 16, 32, 16, 3, height + 32);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 48, 0x20);
break;
case 7:
@ -1860,7 +1856,6 @@ static void stand_up_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackSe
sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 25498, 10, 16, 4, 16, 119, height);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 168, 0x20);
break;
case 8:
@ -1882,7 +1877,6 @@ static void stand_up_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackSe
metal_a_supports_paint_setup(0, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 72, 0x20);
break;
case 9:
@ -1909,10 +1903,11 @@ static void stand_up_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackSe
paint_util_push_tunnel_left(height - 8, TUNNEL_1);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 56, 0x20);
break;
}
track_paint_util_right_vertical_loop_segments(direction, trackSequence);
}
/** rct2: 0x008A73B4 */

View File

@ -1611,7 +1611,6 @@ static void twister_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackSeq
if (direction == 0 || direction == 3) {
paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7);
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 56, 0x20);
break;
case 1:
@ -1633,7 +1632,6 @@ static void twister_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackSeq
metal_a_supports_paint_setup(0, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 72, 0x20);
break;
case 2:
@ -1651,7 +1649,6 @@ static void twister_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackSeq
sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17612, 16, 0, 2, 16, 119, height, 16, 0, height);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 168, 0x20);
break;
case 3:
@ -1669,7 +1666,6 @@ static void twister_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackSeq
sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17613, 0, 0, 32, 16, 3, height + 32);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 48, 0x20);
break;
case 4:
@ -1693,7 +1689,6 @@ static void twister_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackSeq
sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17614, 0, 16, 32, 16, 3, height + 32);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 48, 0x20);
break;
case 7:
@ -1711,7 +1706,6 @@ static void twister_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackSeq
sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17615, 10, 16, 4, 16, 119, height, 10, 16, height);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 168, 0x20);
break;
case 8:
@ -1733,7 +1727,6 @@ static void twister_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackSeq
metal_a_supports_paint_setup(0, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 72, 0x20);
break;
case 9:
@ -1760,10 +1753,11 @@ static void twister_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackSeq
paint_util_push_tunnel_left(height - 8, TUNNEL_7);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 56, 0x20);
break;
}
track_paint_util_right_vertical_loop_segments(direction, trackSequence);
}
/** rct2: 0x008AB924 */

View File

@ -1613,7 +1613,6 @@ static void vertical_drop_rc_track_right_vertical_loop(uint8 rideIndex, uint8 tr
if (direction == 0 || direction == 3) {
paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7);
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 56, 0x20);
break;
case 1:
@ -1635,7 +1634,6 @@ static void vertical_drop_rc_track_right_vertical_loop(uint8 rideIndex, uint8 tr
metal_a_supports_paint_setup(3, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 72, 0x20);
break;
case 2:
@ -1653,7 +1651,6 @@ static void vertical_drop_rc_track_right_vertical_loop(uint8 rideIndex, uint8 tr
sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17612, 16, 0, 2, 16, 119, height, 16, 0, height);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 168, 0x20);
break;
case 3:
@ -1671,7 +1668,6 @@ static void vertical_drop_rc_track_right_vertical_loop(uint8 rideIndex, uint8 tr
sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17613, 0, 0, 32, 16, 3, height + 32);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 48, 0x20);
break;
case 4:
@ -1695,7 +1691,6 @@ static void vertical_drop_rc_track_right_vertical_loop(uint8 rideIndex, uint8 tr
sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17614, 0, 16, 32, 16, 3, height + 32);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 48, 0x20);
break;
case 7:
@ -1713,7 +1708,6 @@ static void vertical_drop_rc_track_right_vertical_loop(uint8 rideIndex, uint8 tr
sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 17615, 10, 16, 4, 16, 119, height, 10, 16, height);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 168, 0x20);
break;
case 8:
@ -1735,7 +1729,6 @@ static void vertical_drop_rc_track_right_vertical_loop(uint8 rideIndex, uint8 tr
metal_a_supports_paint_setup(3, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 72, 0x20);
break;
case 9:
@ -1762,10 +1755,11 @@ static void vertical_drop_rc_track_right_vertical_loop(uint8 rideIndex, uint8 tr
paint_util_push_tunnel_left(height - 8, TUNNEL_7);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 56, 0x20);
break;
}
track_paint_util_right_vertical_loop_segments(direction, trackSequence);
}
/** rct2: 0x008AA28C */

View File

@ -804,8 +804,10 @@ static void wooden_rc_track_right_quarter_turn_5(uint8 rideIndex, uint8 trackSeq
int blockedSegments = 0;
switch (trackSequence) {
case 0: blockedSegments = SEGMENTS_ALL; break;
case 1: blockedSegments = SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC; break;
case 2: blockedSegments = SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4; break;
case 3: blockedSegments = SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4; break;
case 4: blockedSegments = SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC; break;
case 5: blockedSegments = SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4; break;
case 6: blockedSegments = SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4; break;
}
@ -969,8 +971,10 @@ static void wooden_rc_track_banked_right_quarter_turn_5(uint8 rideIndex, uint8 t
int blockedSegments = 0;
switch (trackSequence) {
case 0: blockedSegments = SEGMENTS_ALL; break;
case 1: blockedSegments = SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC; break;
case 2: blockedSegments = SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4; break;
case 3: blockedSegments = SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4; break;
case 4: blockedSegments = SEGMENT_B4 | SEGMENT_C8 | SEGMENT_CC; break;
case 5: blockedSegments = SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4; break;
case 6: blockedSegments = SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4; break;
}
@ -1974,7 +1978,6 @@ static void wooden_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackSequ
if (direction == 0 || direction == 3) {
paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7);
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 56, 0x20);
break;
case 1:
@ -1996,7 +1999,6 @@ static void wooden_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackSequ
metal_a_supports_paint_setup(3, 4, 20, height, gTrackColours[SCHEME_SUPPORTS]);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 72, 0x20);
break;
case 2:
@ -2014,7 +2016,6 @@ static void wooden_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackSequ
sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23471, 16, 0, 5, 16, 119, height);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 168, 0x20);
break;
case 3:
@ -2032,7 +2033,6 @@ static void wooden_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackSequ
sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23472, 0, 0, 32, 16, 3, height + 32);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 48, 0x20);
break;
case 4:
@ -2056,7 +2056,6 @@ static void wooden_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackSequ
sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23473, 0, 16, 32, 16, 3, height + 32);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 48, 0x20);
break;
case 7:
@ -2074,7 +2073,6 @@ static void wooden_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackSequ
sub_98196C_rotated(direction, wooden_rc_get_rails_colour() | 23474, 10, 16, 4, 16, 119, height);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 168, 0x20);
break;
case 8:
@ -2096,7 +2094,6 @@ static void wooden_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackSequ
metal_a_supports_paint_setup(3, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 72, 0x20);
break;
case 9:
@ -2123,10 +2120,11 @@ static void wooden_rc_track_right_vertical_loop(uint8 rideIndex, uint8 trackSequ
paint_util_push_tunnel_left(height - 8, TUNNEL_7);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 56, 0x20);
break;
}
track_paint_util_right_vertical_loop_segments(direction, trackSequence);
}
/** rct2: 0x008AC7E8 */
@ -2230,7 +2228,7 @@ static void wooden_rc_track_left_quarter_turn_3(uint8 rideIndex, uint8 trackSequ
paint_util_push_tunnel_left(height, TUNNEL_6);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0);
paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0);
paint_util_set_general_support_height(height + 32, 0x20);
break;
}
@ -2344,7 +2342,7 @@ static void wooden_rc_track_left_quarter_turn_3_bank(uint8 rideIndex, uint8 trac
paint_util_push_tunnel_left(height, TUNNEL_6);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0);
paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0);
paint_util_set_general_support_height(height + 32, 0x20);
break;
}
@ -2438,7 +2436,7 @@ static void wooden_rc_track_left_quarter_turn_3_25_deg_up(uint8 rideIndex, uint8
paint_util_push_tunnel_left(height + 8, TUNNEL_8);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0);
paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0);
paint_util_set_general_support_height(height + 72, 0x20);
break;
}
@ -7215,7 +7213,7 @@ static void wooden_rc_track_left_bank_to_left_quarter_turn_3_25_deg_up(uint8 rid
paint_util_push_tunnel_left(height, TUNNEL_8);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0);
paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0);
paint_util_set_general_support_height(height + 64, 0x20);
break;
}
@ -7389,7 +7387,7 @@ static void wooden_rc_track_left_quarter_turn_3_25_deg_down_to_left_bank(uint8 r
paint_util_push_tunnel_left(height, TUNNEL_6);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0);
paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0);
paint_util_set_general_support_height(height + 64, 0x20);
break;
}
@ -7575,7 +7573,7 @@ static void wooden_rc_track_left_banked_quarter_turn_3_25_deg_up(uint8 rideIndex
paint_util_push_tunnel_left(height + 8, TUNNEL_8);
break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0);
paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0);
paint_util_set_general_support_height(height + 72, 0x20);
break;
}

View File

@ -1698,6 +1698,30 @@ void track_paint_util_onride_photo_paint(uint8 direction, sint32 height, rct_map
}
}
uint16 RightVerticalLoopSegments[] ={
SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4,
SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4,
SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4,
SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4,
0,
0,
SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0,
SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC,
SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0,
SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0,
};
void track_paint_util_right_vertical_loop_segments(uint8 direction, uint8 trackSequence)
{
if (trackSequence > 9)
{
// P
return;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(RightVerticalLoopSegments[trackSequence], direction), 0xFFFF, 0);
}
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) {

View File

@ -310,6 +310,8 @@ void track_paint_util_diag_tiles_paint(sint8 thickness, sint16 height, int direc
void track_paint_util_left_quarter_turn_1_tile_tunnel(uint8 direction, uint16 baseHeight, sint8 startOffset, uint8 startTunnel, sint8 endOffset, uint8 endTunnel);
void track_paint_util_right_quarter_turn_1_tile_tunnel(uint8 direction, uint16 baseHeight, sint8 startOffset, uint8 startTunnel, sint8 endOffset, uint8 endTunnel);
void track_paint_util_right_vertical_loop_segments(uint8 direction, uint8 trackSequence);
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);

View File

@ -122,14 +122,24 @@ namespace Printer {
static std::string PrintSegmentSupportHeightCall(SegmentSupportCall call) {
std::string out = "";
int segmentsPrinted = 0;
for (int i = 0; i < 9; i++) {
if (call.segments & segment_offsets[i]) {
if (segmentsPrinted > 0) {
out += " | ";
if (call.segments == SEGMENTS_ALL)
{
out += "SEGMENTS_ALL";
}
else
{
int segmentsPrinted = 0;
for (int i = 0; i < 9; i++)
{
if (call.segments & segment_offsets[i])
{
if (segmentsPrinted > 0)
{
out += " | ";
}
out += String::Format("SEGMENT_%02X", 0xB4 + 4 * i);
segmentsPrinted++;
}
out += String::Format("SEGMENT_%02X", 0xB4 + 4 * i);
segmentsPrinted++;
}
}