mirror of https://github.com/OpenRCT2/OpenRCT2.git
Merge pull request #4439 from marijnvdwerf/fix/track-paint
Various track paint fixes
This commit is contained in:
commit
b3dc4d5a95
|
@ -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,
|
||||
|
|
|
@ -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] = {
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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};
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -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]);
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -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:
|
||||
|
|
Loading…
Reference in New Issue