Merge pull request #4439 from marijnvdwerf/fix/track-paint

Various track paint fixes
This commit is contained in:
Ted John 2016-09-16 15:33:19 +01:00 committed by GitHub
commit b3dc4d5a95
15 changed files with 65 additions and 65 deletions

View File

@ -56,6 +56,7 @@ enum
TUNNEL_6 = 6,
TUNNEL_7 = 7,
TUNNEL_8 = 8,
TUNNEL_9 = 9,
TUNNEL_10 = 0x0A,
TUNNEL_11 = 0x0B,
TUNNEL_12 = 0x0C,

View File

@ -2209,12 +2209,12 @@ static void junior_rc_right_bank_to_25_deg_up_paint_setup(uint8 rideIndex, uint8
if (direction & 1) {
sub_98197C(image_id, 0, 0, 20, 32, 1, height, 6, 0, height, get_current_rotation());
paint_util_push_tunnel_right(height, 0);
paint_util_push_tunnel_right(height, TUNNEL_2);
}
else {
sub_98197C(image_id, 0, 0, 32, 20, 1, height, 0, 6, height, get_current_rotation());
paint_util_push_tunnel_left(height, 0);
paint_util_push_tunnel_left(height, TUNNEL_0);
}
if (junior_rc_track_pieces_right_banked_to_25_deg_up[direction][1] != 0) {
@ -2910,7 +2910,7 @@ static void junior_rc_right_quarter_turn_3_tiles_25_deg_down_paint_setup(uint8 r
}
if (direction == 3 && trackSequence == 0) {
paint_util_push_tunnel_right(height + 8, TUNNEL_1);
paint_util_push_tunnel_right(height + 8, TUNNEL_2);
}
uint8 supportType[2][4] = {

View File

@ -241,10 +241,10 @@ static void paint_virginia_reel_track_flat(uint8 rideIndex, uint8 trackSequence,
uint32 imageId = sprites[direction] | gTrackColours[SCHEME_TRACK];
if (direction & 1) {
sub_98197C(imageId, 0, 0, 27, 32, 2, height, 2, 0, height, get_current_rotation());
paint_util_push_tunnel_right(height, TUNNEL_0);
paint_util_push_tunnel_right(height, TUNNEL_6);
} else {
sub_98197C(imageId, 0, 0, 32, 27, 2, height, 0, 2, height, get_current_rotation());
paint_util_push_tunnel_left(height, TUNNEL_0);
paint_util_push_tunnel_left(height, TUNNEL_6);
}
wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_SUPPORTS], NULL);
@ -336,8 +336,6 @@ static void paint_virginia_reel_track_flat_to_25_deg_up(uint8 rideIndex, uint8 t
break;
}
wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_SUPPORTS], NULL);
paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0);
paint_util_set_general_support_height(height + 48, 0x20);
}
@ -414,7 +412,7 @@ static void paint_virginia_reel_station(uint8 rideIndex, uint8 trackSequence, ui
sub_98197C(imageId, 0, 0, 32, 28, 2, height - 2, 0, 2, height, get_current_rotation());
imageId = SPR_VIRGINIA_REEL_FLAT_SW_NE | gTrackColours[SCHEME_TRACK];
sub_98197C(imageId, 0, 0, 27, 32, 2, height, 2, 0, height, get_current_rotation());
sub_98199C(imageId, 0, 0, 32, 20, 2, height, 0, 0, height, get_current_rotation());
paint_util_push_tunnel_left(height, TUNNEL_6);
} else if (direction == 1 || direction == 3) {
@ -422,7 +420,7 @@ static void paint_virginia_reel_station(uint8 rideIndex, uint8 trackSequence, ui
sub_98197C(imageId, 0, 0, 28, 32, 2, height - 2, 2, 0, height, get_current_rotation());
imageId = SPR_VIRGINIA_REEL_FLAT_NW_SE | gTrackColours[SCHEME_TRACK];
sub_98199C(imageId, 0, 0, 20, 32, 1, height, 0, 0, height, get_current_rotation());
sub_98199C(imageId, 0, 0, 20, 32, 2, height, 0, 0, height, get_current_rotation());
paint_util_push_tunnel_right(height, TUNNEL_6);
}
@ -440,7 +438,7 @@ static const uint8 virginia_reel_left_quarter_turn_supports[] = {5, 2, 3, 4};
static void paint_virginia_reel_track_left_quarter_turn_3_tiles(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement)
{
track_paint_util_left_quarter_turn_3_tiles_paint(2, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], virginia_reel_track_pieces_flat_quarter_turn_3_tiles, get_current_rotation());
track_paint_util_left_quarter_turn_3_tiles_tunnel(height - 16, direction, trackSequence);
track_paint_util_left_quarter_turn_3_tiles_tunnel(height, TUNNEL_6, direction, trackSequence);
switch (trackSequence) {
case 2:

View File

@ -82,7 +82,7 @@ static void paint_crooked_house(uint8 rideIndex, uint8 trackSequence, uint8 dire
switch(trackSequence) {
case 3: sub_88ABA4(direction, 32, 224, 0, height); break;
case 5: sub_88ABA4(direction, 0, 224, 1, height); break;
//case 5: sub_88ABA4(direction, 0, 224, 1, height); break;
case 6: sub_88ABA4(direction, 224, 32, 4, height); break;
case 7: sub_88ABA4(direction, 224, 224, 2, height); break;
//case 8: sub_88ABA4(rideIndex, 224, 0, 3, height); break;

View File

@ -59,7 +59,7 @@ static void maze_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 directi
int image_id = SPR_TERRAIN_DIRT | gTrackColours[SCHEME_MISC];
sub_98196C(image_id, 0, 0, 32, 32, 0, height, rotation);
wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_3], NULL);
wooden_a_supports_paint_setup((rotation & 1) ? 0 : 1, 0, height, gTrackColours[SCHEME_3], NULL);
paint_util_set_segment_support_height(SEGMENTS_ALL & ~SEGMENT_C4, 0xFFFF, 0);

View File

@ -481,13 +481,13 @@ static void paint_mini_golf_track_flat(uint8 rideIndex, uint8 trackSequence, uin
if (mini_golf_paint_util_should_draw_fence(mapElement)) {
if (direction & 1) {
imageId = SPR_MINI_GOLF_FLAT_FENCE_BACK_NW_SE | gTrackColours[SCHEME_TRACK];
imageId = SPR_MINI_GOLF_FLAT_FENCE_BACK_NW_SE | gTrackColours[SCHEME_MISC];
sub_98197C(imageId, 0, 0, 1, 32, 7, height, 10, 0, height + 2, get_current_rotation());
imageId = SPR_MINI_GOLF_FLAT_FENCE_FRONT_NW_SE | gTrackColours[SCHEME_MISC];
sub_98197C(imageId, 0, 0, 1, 32, 7, height, 22, 0, height + 2, get_current_rotation());
} else {
imageId = SPR_MINI_GOLF_FLAT_FENCE_BACK_SW_NE | gTrackColours[SCHEME_TRACK];
imageId = SPR_MINI_GOLF_FLAT_FENCE_BACK_SW_NE | gTrackColours[SCHEME_MISC];
sub_98197C(imageId, 0, 0, 32, 1, 7, height, 0, 10, height + 2, get_current_rotation());
imageId = SPR_MINI_GOLF_FLAT_FENCE_FRONT_SW_NE | gTrackColours[SCHEME_MISC];
@ -509,10 +509,10 @@ static void paint_mini_golf_track_25_deg_up(uint8 rideIndex, uint8 trackSequence
metal_a_supports_paint_setup(3, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]);
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0);
imageId = mini_golf_track_sprites_25_deg_up[direction][1] | gTrackColours[SCHEME_TRACK];
imageId = mini_golf_track_sprites_25_deg_up[direction][1] | gTrackColours[SCHEME_MISC];
mini_golf_paint_util_7c(direction, imageId, 0, 0, 32, 1, 15, height, 0, 10, height + 2, get_current_rotation());
imageId = mini_golf_track_sprites_25_deg_up[direction][2] | gTrackColours[SCHEME_TRACK];
imageId = mini_golf_track_sprites_25_deg_up[direction][2] | gTrackColours[SCHEME_MISC];
mini_golf_paint_util_7c(direction, imageId, 0, 0, 32, 1, 15, height, 0, 22, height + 2, get_current_rotation());
switch (direction) {
@ -544,10 +544,10 @@ static void paint_mini_golf_track_flat_to_25_deg_up(uint8 rideIndex, uint8 track
metal_a_supports_paint_setup(3, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]);
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0);
imageId = mini_golf_track_sprites_flat_to_25_deg_up[direction][1] | gTrackColours[SCHEME_TRACK];
imageId = mini_golf_track_sprites_flat_to_25_deg_up[direction][1] | gTrackColours[SCHEME_MISC];
mini_golf_paint_util_7c(direction, imageId, 0, 0, 32, 1, 11, height, 0, 10, height + 2, get_current_rotation());
imageId = mini_golf_track_sprites_flat_to_25_deg_up[direction][2] | gTrackColours[SCHEME_TRACK];
imageId = mini_golf_track_sprites_flat_to_25_deg_up[direction][2] | gTrackColours[SCHEME_MISC];
mini_golf_paint_util_7c(direction, imageId, 0, 0, 32, 1, 11, height, 0, 22, height + 2, get_current_rotation());
switch (direction) {
@ -579,10 +579,10 @@ static void paint_mini_golf_track_25_deg_up_to_flat(uint8 rideIndex, uint8 track
metal_a_supports_paint_setup(3, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]);
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0);
imageId = mini_golf_track_sprites_25_deg_up_to_flat[direction][1] | gTrackColours[SCHEME_TRACK];
imageId = mini_golf_track_sprites_25_deg_up_to_flat[direction][1] | gTrackColours[SCHEME_MISC];
mini_golf_paint_util_7c(direction, imageId, 0, 0, 32, 1, 11, height, 0, 10, height + 2, get_current_rotation());
imageId = mini_golf_track_sprites_25_deg_up_to_flat[direction][2] | gTrackColours[SCHEME_TRACK];
imageId = mini_golf_track_sprites_25_deg_up_to_flat[direction][2] | gTrackColours[SCHEME_MISC];
mini_golf_paint_util_7c(direction, imageId, 0, 0, 32, 1, 11, height, 0, 22, height + 2, get_current_rotation());
switch (direction) {
@ -692,7 +692,7 @@ static void paint_mini_golf_track_left_quarter_turn_1_tile(uint8 rideIndex, uint
paint_util_push_tunnel_left(height, TUNNEL_10);
if (!shouldDrawFence) break;
imageId = SPR_MINI_GOLF_QUARTER_TURN_1_TILE_FENCE_BACK_SW_NW | gTrackColours[SCHEME_TRACK];
imageId = SPR_MINI_GOLF_QUARTER_TURN_1_TILE_FENCE_BACK_SW_NW | gTrackColours[SCHEME_MISC];
sub_98199C(imageId, 0, 0, 26, 24, 1, height, 6, 2, height, get_current_rotation());
break;
@ -700,7 +700,7 @@ static void paint_mini_golf_track_left_quarter_turn_1_tile(uint8 rideIndex, uint
case 1:
if (!shouldDrawFence) break;
imageId = SPR_MINI_GOLF_QUARTER_TURN_1_TILE_FENCE_BACK_NW_NE | gTrackColours[SCHEME_TRACK];
imageId = SPR_MINI_GOLF_QUARTER_TURN_1_TILE_FENCE_BACK_NW_NE | gTrackColours[SCHEME_MISC];
sub_98199C(imageId, 0, 0, 26, 26, 1, height, 0, 0, height, get_current_rotation());
break;
@ -708,7 +708,7 @@ static void paint_mini_golf_track_left_quarter_turn_1_tile(uint8 rideIndex, uint
paint_util_push_tunnel_right(height, TUNNEL_10);
if (!shouldDrawFence) break;
imageId = SPR_MINI_GOLF_QUARTER_TURN_1_TILE_FENCE_BACK_NE_SE | gTrackColours[SCHEME_TRACK];
imageId = SPR_MINI_GOLF_QUARTER_TURN_1_TILE_FENCE_BACK_NE_SE | gTrackColours[SCHEME_MISC];
sub_98199C(imageId, 0, 0, 24, 26, 1, height, 2, 6, height, get_current_rotation());
break;
@ -717,22 +717,22 @@ static void paint_mini_golf_track_left_quarter_turn_1_tile(uint8 rideIndex, uint
paint_util_push_tunnel_right(height, TUNNEL_10);
if (!shouldDrawFence) break;
imageId = SPR_MINI_GOLF_QUARTER_TURN_1_TILE_FENCE_BACK_SE_SW | gTrackColours[SCHEME_TRACK];
imageId = SPR_MINI_GOLF_QUARTER_TURN_1_TILE_FENCE_BACK_SE_SW | gTrackColours[SCHEME_MISC];
sub_98199C(imageId, 0, 0, 24, 24, 1, height, 6, 6, height, get_current_rotation());
break;
}
if (shouldDrawFence) {
// TODO: The back fence uses the same x/y offsets, but uses another paint function. See if this occurs more often.
track_paint_util_left_quarter_turn_1_tile_paint(0, height, 24, direction, gTrackColours[SCHEME_TRACK], mini_golf_track_sprites_quarter_turn_1_tile_fence_front, get_current_rotation());
track_paint_util_left_quarter_turn_1_tile_paint(0, height, 24, direction, gTrackColours[SCHEME_MISC], mini_golf_track_sprites_quarter_turn_1_tile_fence_front, get_current_rotation());
switch (direction) {
case 0:
imageId = SPR_MINI_GOLF_QUARTER_TURN_1_TILE_FENCE_INSIDE_SW_NW | gTrackColours[SCHEME_TRACK];
imageId = SPR_MINI_GOLF_QUARTER_TURN_1_TILE_FENCE_INSIDE_SW_NW | gTrackColours[SCHEME_MISC];
sub_98197C(imageId, 0, 0, 5, 5, 5, height, 24, 0, height + 2, get_current_rotation());
break;
case 2:
imageId = SPR_MINI_GOLF_QUARTER_TURN_1_TILE_FENCE_INSIDE_NE_SE | gTrackColours[SCHEME_TRACK];
imageId = SPR_MINI_GOLF_QUARTER_TURN_1_TILE_FENCE_INSIDE_NE_SE | gTrackColours[SCHEME_MISC];
sub_98197C(imageId, 0, 0, 5, 5, 5, height, 0, 24, height + 2, get_current_rotation());
break;
}
@ -919,11 +919,11 @@ static void paint_mini_golf_hole_e(uint8 rideIndex, uint8 trackSequence, uint8 d
switch ((direction << 4) | trackSequence) {
case 0x00:
case 0x32:
case 0x12:
paint_util_push_tunnel_left(height, TUNNEL_10);
break;
case 0x22:
case 0x02:
case 0x30:
paint_util_push_tunnel_right(height, TUNNEL_10);
break;
@ -937,6 +937,7 @@ static void paint_mini_golf_hole_e(uint8 rideIndex, uint8 trackSequence, uint8 d
switch ((direction << 4) | trackSequence) {
case 0x01:
sub_98197C(imageId, 0, 0, 2, 26, 3, height, 30, 3, height + 4, get_current_rotation());
break;
case 0x02:
case 0x20:
case 0x31:

View File

@ -214,7 +214,7 @@ static void paint_mini_helicopters_track_25_deg_down_to_flat(uint8 rideIndex, ui
static void paint_mini_helicopters_track_left_quarter_turn_3_tiles(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement)
{
track_paint_util_left_quarter_turn_3_tiles_paint(3, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], trackSpritesSubmarineRideMiniHelicoptersQuarterTurn3Tiles, get_current_rotation());
track_paint_util_left_quarter_turn_3_tiles_tunnel(height, direction, trackSequence);
track_paint_util_left_quarter_turn_3_tiles_tunnel(height, TUNNEL_0, direction, trackSequence);
switch (trackSequence) {
case 0:
@ -230,7 +230,7 @@ static void paint_mini_helicopters_track_left_quarter_turn_3_tiles(uint8 rideInd
break;
}
paint_util_set_general_support_height(height + 16, 0x20);
paint_util_set_general_support_height(height + 32, 0x20);
}
static const uint8 right_quarter_turn_3_tiles_to_left_turn_map[] = {3, 1, 2, 0};

View File

@ -239,7 +239,7 @@ static void paint_monorail_cycles_station(uint8 rideIndex, uint8 trackSequence,
static void paint_monorail_cycles_track_left_quarter_turn_3_tiles(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement)
{
track_paint_util_left_quarter_turn_3_tiles_paint(3, height, direction, trackSequence, gTrackColours[SCHEME_TRACK], monorail_cycles_track_pieces_flat_quarter_turn_3_tiles, get_current_rotation());
track_paint_util_left_quarter_turn_3_tiles_tunnel(height, direction, trackSequence);
track_paint_util_left_quarter_turn_3_tiles_tunnel(height, TUNNEL_0, direction, trackSequence);
switch (trackSequence) {
case 0:
@ -290,7 +290,7 @@ static void paint_monorail_cycles_track_right_quarter_turn_5_tiles(uint8 rideInd
int supportSpecial = monorail_cycles_track_right_quarter_turn_5_tiles_support_special[direction][trackSequence];
switch (trackSequence) {
case 0:
metal_a_supports_paint_setup((direction & 1) ? 5 : 4, 4, 0, supportHeight, gTrackColours[SCHEME_SUPPORTS]);
metal_a_supports_paint_setup((direction & 1) ? 5 : 4, 4, supportSpecial, supportHeight, gTrackColours[SCHEME_SUPPORTS]);
break;
case 2:
if (direction == 0) metal_a_supports_paint_setup((direction & 1) ? 5 : 4, 8, supportSpecial, supportHeight, gTrackColours[SCHEME_SUPPORTS]);
@ -352,10 +352,10 @@ static void paint_monorail_cycles_track_s_bend_left(uint8 rideIndex, uint8 track
uint32 imageId = monorail_cycles_track_pieces_s_bend_left[direction&1][trackSequence] | gTrackColours[SCHEME_TRACK];
switch (trackSequence) {
case 0: paint_monorail_cycles_util_7c(direction, imageId, 0, 0, 32, 20, 1, height, 0, 6, height, get_current_rotation()); break;
case 1: paint_monorail_cycles_util_7c(direction, imageId, 0, 0, 32, 26, 1, height, 0, 0, height, get_current_rotation()); break;
case 2: paint_monorail_cycles_util_7c(direction, imageId, 0, 0, 32, 26, 1, height, 0, 6, height, get_current_rotation()); break;
case 3: paint_monorail_cycles_util_7c(direction, imageId, 0, 0, 32, 20, 1, height, 0, 6, height, get_current_rotation()); break;
case 0: paint_monorail_cycles_util_7c(direction & 1, imageId, 0, 0, 32, 20, 1, height, 0, 6, height, get_current_rotation()); break;
case 1: paint_monorail_cycles_util_7c(direction & 1, imageId, 0, 0, 32, 26, 1, height, 0, 0, height, get_current_rotation()); break;
case 2: paint_monorail_cycles_util_7c(direction & 1, imageId, 0, 0, 32, 26, 1, height, 0, 6, height, get_current_rotation()); break;
case 3: paint_monorail_cycles_util_7c(direction & 1, imageId, 0, 0, 32, 20, 1, height, 0, 6, height, get_current_rotation()); break;
}
if (direction == 0 || direction == 2) {
@ -398,10 +398,10 @@ static void paint_monorail_cycles_track_s_bend_right(uint8 rideIndex, uint8 trac
uint32 imageId = monorail_cycles_track_pieces_s_bend_right[direction&1][trackSequence] | gTrackColours[SCHEME_TRACK];
switch (trackSequence) {
case 0: paint_monorail_cycles_util_7c(direction, imageId, 0, 0, 32, 20, 1, height, 0, 6, height, get_current_rotation()); break;
case 1: paint_monorail_cycles_util_7c(direction, imageId, 0, 0, 32, 26, 1, height, 0, 6, height, get_current_rotation()); break;
case 2: paint_monorail_cycles_util_7c(direction, imageId, 0, 0, 32, 26, 1, height, 0, 0, height, get_current_rotation()); break;
case 3: paint_monorail_cycles_util_7c(direction, imageId, 0, 0, 32, 20, 1, height, 0, 6, height, get_current_rotation()); break;
case 0: paint_monorail_cycles_util_7c(direction & 1, imageId, 0, 0, 32, 20, 1, height, 0, 6, height, get_current_rotation()); break;
case 1: paint_monorail_cycles_util_7c(direction & 1, imageId, 0, 0, 32, 26, 1, height, 0, 6, height, get_current_rotation()); break;
case 2: paint_monorail_cycles_util_7c(direction & 1, imageId, 0, 0, 32, 26, 1, height, 0, 0, height, get_current_rotation()); break;
case 3: paint_monorail_cycles_util_7c(direction & 1, imageId, 0, 0, 32, 20, 1, height, 0, 6, height, get_current_rotation()); break;
}
if (direction == 0 || direction == 2) {

View File

@ -142,7 +142,7 @@ static void paint_go_karts_track_flat(uint8 rideIndex, uint8 trackSequence, uint
imageId = SPR_GO_KARTS_FLAT_FRONT_SW_NE | gTrackColours[SCHEME_TRACK];
sub_98197C(imageId, 0, 0, 32, 1, 3, height, 0, 29, height + 2, get_current_rotation());
paint_util_push_tunnel_left(height, TUNNEL_0);
paint_util_push_tunnel_left(height, TUNNEL_6);
} else {
imageId = SPR_GO_KARTS_FLAT_NW_SE | gTrackColours[SCHEME_TRACK];
sub_98197C(imageId, 0, 0, 28, 32, 1, height, 2, 0, height, get_current_rotation());
@ -150,7 +150,7 @@ static void paint_go_karts_track_flat(uint8 rideIndex, uint8 trackSequence, uint
imageId = SPR_GO_KARTS_FLAT_FRONT_NW_SE | gTrackColours[SCHEME_TRACK];
sub_98197C(imageId, 0, 0, 1, 32, 3, height, 29, 0, height + 2, get_current_rotation());
paint_util_push_tunnel_right(height, TUNNEL_0);
paint_util_push_tunnel_right(height, TUNNEL_6);
}
wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_SUPPORTS], NULL);
@ -180,7 +180,7 @@ static void paint_go_karts_track_25_deg_up(uint8 rideIndex, uint8 trackSequence,
if (direction == 0 || direction == 2) {
sub_98197C(imageId, 0, 0, 32, 1, 11, height, 0, 29, height + 2, get_current_rotation());
} else {
sub_98197C(imageId, 0, 0, 1, 32, 1, height, 29, 0, height + 2, get_current_rotation());
sub_98197C(imageId, 0, 0, 1, 32, 11, height, 29, 0, height + 2, get_current_rotation());
}
switch (direction) {
@ -227,7 +227,7 @@ static void paint_go_karts_track_flat_to_25_deg_up(uint8 rideIndex, uint8 trackS
if (direction == 0 || direction == 2) {
sub_98197C(imageId, 0, 0, 32, 1, 11, height, 0, 29, height + 2, get_current_rotation());
} else {
sub_98197C(imageId, 0, 0, 1, 32, 1, height, 29, 0, height + 2, get_current_rotation());
sub_98197C(imageId, 0, 0, 1, 32, 11, height, 29, 0, height + 2, get_current_rotation());
}
switch (direction) {
@ -274,7 +274,7 @@ static void paint_go_karts_track_25_deg_up_to_flat(uint8 rideIndex, uint8 trackS
if (direction == 0 || direction == 2) {
sub_98197C(imageId, 0, 0, 32, 1, 11, height, 0, 29, height + 2, get_current_rotation());
} else {
sub_98197C(imageId, 0, 0, 1, 32, 1, height, 29, 0, height + 2, get_current_rotation());
sub_98197C(imageId, 0, 0, 1, 32, 11, height, 29, 0, height + 2, get_current_rotation());
}
switch (direction) {
@ -352,11 +352,11 @@ static void paint_go_karts_station(uint8 rideIndex, uint8 trackSequence, uint8 d
if (direction == 0 || direction == 2) {
sub_98197C(imageId, 0, 0, 32, 1, 3, height, 0, 29, height + 2, get_current_rotation());
paint_util_push_tunnel_left(height, TUNNEL_0);
paint_util_push_tunnel_left(height, TUNNEL_6);
} else {
sub_98197C(imageId, 0, 0, 1, 32, 3, height, 29, 0, height + 2, get_current_rotation());
paint_util_push_tunnel_right(height, TUNNEL_0);
paint_util_push_tunnel_right(height, TUNNEL_6);
}
if (direction == 0 || direction == 2) {
@ -446,7 +446,7 @@ static void paint_go_karts_track_left_quarter_turn_1_tile(uint8 rideIndex, uint8
break;
case 3:
imageId = SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_SW_NW | gTrackColours[SCHEME_TRACK];
sub_98197C(imageId, 0, 0, 30, 30, 1, height, 0, 0, height, get_current_rotation());
sub_98197C(imageId, 0, 0, 32, 32, 1, height, 0, 0, height, get_current_rotation());
imageId = SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_EDGE_A_SW_NW | gTrackColours[SCHEME_TRACK];
sub_98197C(imageId, 0, 0, 1, 1, 3, height, 29, 29, height + 2, get_current_rotation());

View File

@ -169,7 +169,7 @@ static void paint_pirate_ship(uint8 rideIndex, uint8 trackSequence, uint8 direct
bool hasFence;
if (relativeTrackSequence == 1 || relativeTrackSequence == 4) {
wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_MISC], NULL);
wooden_a_supports_paint_setup(direction & 1, 0, height, gTrackColours[SCHEME_SUPPORTS], NULL);
} else if (direction & 1) {
metal_a_supports_paint_setup(0, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]);
metal_a_supports_paint_setup(0, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]);

View File

@ -1185,24 +1185,24 @@ void track_paint_util_left_quarter_turn_3_tiles_paint(sint8 thickness, sint16 he
}
}
void track_paint_util_left_quarter_turn_3_tiles_tunnel(sint16 height, uint8 direction, uint8 trackSequence)
void track_paint_util_left_quarter_turn_3_tiles_tunnel(sint16 height, uint8 tunnelType, uint8 direction, uint8 trackSequence)
{
if (direction == 0 && trackSequence == 0) {
paint_util_push_tunnel_left(height, TUNNEL_0);
paint_util_push_tunnel_left(height, tunnelType);
}
if (direction == 2 && trackSequence == 3) {
paint_util_push_tunnel_right(height, TUNNEL_0);
paint_util_push_tunnel_right(height, tunnelType);
}
if (direction == 3 && trackSequence == 0) {
paint_util_push_tunnel_right(height, TUNNEL_0);
paint_util_push_tunnel_right(height, tunnelType);
}
if (direction == 3 && trackSequence == 3) {
paint_util_push_tunnel_left(height, TUNNEL_0);
paint_util_push_tunnel_left(height, tunnelType);
}
}

View File

@ -233,7 +233,7 @@ void track_paint_util_right_quarter_turn_5_tiles_paint_2(sint16 height, int dire
void track_paint_util_right_quarter_turn_3_tiles_paint(sint8 thickness, sint16 height, int direction, uint8 trackSequence, uint32 colourFlags, const uint32 sprites[4][3], const rct_xy16 offsets[4][3], const rct_xy16 boundsLengths[4][3], const rct_xyz16 boundsOffsets[4][3], uint8 rotation);
void track_paint_util_right_quarter_turn_3_tiles_tunnel(sint16 height, uint8 direction, uint8 trackSequence, uint8 tunnelType);
void track_paint_util_left_quarter_turn_3_tiles_paint(sint8 thickness, sint16 height, int direction, uint8 trackSequence, uint32 colourFlags, const uint32 sprites[4][3], uint8 rotation);
void track_paint_util_left_quarter_turn_3_tiles_tunnel(sint16 height, uint8 direction, uint8 trackSequence);
void track_paint_util_left_quarter_turn_3_tiles_tunnel(sint16 height, uint8 tunnelType, uint8 direction, uint8 trackSequence);
void track_paint_util_left_quarter_turn_1_tile_paint(sint8 thickness, sint16 height, sint16 boundBoxZOffset, int direction, uint32 colourFlags, const uint32 * sprites, uint8 rotation);
void track_paint_util_left_quarter_turn_1_tile_tunnel(sint16 height, uint8 direction, uint8 trackSequence);
void track_paint_util_spinning_tunnel_paint(sint8 thickness, sint16 height, uint8 direction, uint8 rotation);

View File

@ -708,7 +708,7 @@ static void paint_monorail_track_s_bend_left(uint8 rideIndex, uint8 trackSequenc
switch (trackSequence) {
case 0: metal_a_supports_paint_setup(3, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); break;
case 1: metal_a_supports_paint_setup(3, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); break;
case 3: metal_a_supports_paint_setup(3, 4, 0, height - 2, gTrackColours[SCHEME_SUPPORTS]); break;
case 3: metal_a_supports_paint_setup(3, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); break;
}
}
@ -761,7 +761,7 @@ static void paint_monorail_track_s_bend_right(uint8 rideIndex, uint8 trackSequen
switch (trackSequence) {
case 0: metal_a_supports_paint_setup(3, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); break;
case 1: metal_a_supports_paint_setup(3, 8, 0, height - 2, gTrackColours[SCHEME_SUPPORTS]); break;
case 1: metal_a_supports_paint_setup(3, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); break;
case 3: metal_a_supports_paint_setup(3, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); break;
}
} else {

View File

@ -646,13 +646,13 @@ static void paint_river_rapids_track_waterfall(uint8 rideIndex, uint8 trackSeque
wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_SUPPORTS], NULL);
if (direction & 1) {
paint_util_push_tunnel_right(height, TUNNEL_6);
paint_util_push_tunnel_right(height, TUNNEL_9);
} else {
paint_util_push_tunnel_left(height, TUNNEL_6);
paint_util_push_tunnel_left(height, TUNNEL_9);
}
paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0);
paint_util_set_general_support_height(height + 32, 0x20);
paint_util_set_general_support_height(height + 48, 0x20);
}
/** rct2: 0x00757720 */
@ -757,7 +757,7 @@ static void paint_river_rapids_track_whirlpool(uint8 rideIndex, uint8 trackSeque
sub_98197C(imageId, 0, 0, 24, 32, 11, height, 4, 0, height, get_current_rotation());
imageId = (SPR_RIVER_RAPIDS_RAPIDS_WHIRLPOOL_FRAME_0 + frameNum) | gTrackColours[SCHEME_TRACK];
sub_98197C(imageId, 0, 0, 24, 32, 11, height, 4, 0, height, get_current_rotation());
sub_98199C(imageId, 0, 0, 24, 32, 11, height, 4, 0, height, get_current_rotation());
imageId = (direction == 1 ? SPR_RIVER_RAPIDS_FLAT_FRONT_NW_SE : SPR_RIVER_RAPIDS_FLAT_FRONT_SE_NW) | gTrackColours[SCHEME_TRACK];
sub_98197C(imageId, 0, 0, 1, 32, 3, height, 27, 0, height + 17, get_current_rotation());
@ -766,7 +766,7 @@ static void paint_river_rapids_track_whirlpool(uint8 rideIndex, uint8 trackSeque
sub_98197C(imageId, 0, 0, 32, 24, 11, height, 0, 4, height, get_current_rotation());
imageId = (SPR_RIVER_RAPIDS_RAPIDS_WHIRLPOOL_FRAME_0 + frameNum) | gTrackColours[SCHEME_TRACK];
sub_98197C(imageId, 0, 0, 32, 24, 11, height, 0, 4, height, get_current_rotation());
sub_98199C(imageId, 0, 0, 32, 24, 11, height, 0, 4, height, get_current_rotation());
imageId = (direction == 0 ? SPR_RIVER_RAPIDS_FLAT_FRONT_SW_NE : SPR_RIVER_RAPIDS_FLAT_FRONT_NE_SW) | gTrackColours[SCHEME_TRACK];
sub_98197C(imageId, 0, 0, 32, 1, 3, height, 0, 27, height + 17, get_current_rotation());

View File

@ -110,7 +110,7 @@ static void submarine_ride_paint_track_flat(uint8 rideIndex, uint8 trackSequence
}
if (track_paint_util_should_paint_supports(position)) {
metal_a_supports_paint_setup((direction & 1) ? 4 : 5, 4, -1, heightLower, gTrackColours[SCHEME_SUPPORTS]);
metal_a_supports_paint_setup((direction & 1) ? 5 : 4, 4, -1, heightLower, gTrackColours[SCHEME_SUPPORTS]);
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0);
@ -120,7 +120,7 @@ static void submarine_ride_paint_track_flat(uint8 rideIndex, uint8 trackSequence
static void submarine_ride_paint_track_left_quarter_turn_3_tiles(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement)
{
track_paint_util_left_quarter_turn_3_tiles_paint(3, height - 16, direction, trackSequence, gTrackColours[SCHEME_TRACK], trackSpritesSubmarineRideMiniHelicoptersQuarterTurn3Tiles, get_current_rotation());
track_paint_util_left_quarter_turn_3_tiles_tunnel(height - 16, direction, trackSequence);
track_paint_util_left_quarter_turn_3_tiles_tunnel(height - 16, TUNNEL_0, direction, trackSequence);
switch (trackSequence) {
case 0: