Partly fix Junior RC

This commit is contained in:
Marijn van der Werf 2016-10-01 01:29:23 +02:00
parent 4860f0c6ab
commit 7693ba1af9
1 changed files with 32 additions and 26 deletions

View File

@ -2164,13 +2164,9 @@ static void junior_rc_left_bank_to_25_deg_up_paint_setup(uint8 rideIndex, uint8
image_id = junior_rc_track_pieces_left_banked_to_25_deg_up[direction][0] | gTrackColours[SCHEME_TRACK];
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);
}
else {
sub_98197C(image_id, 0, 0, 32, 20, 1, height, 0, 6, height, get_current_rotation());
paint_util_push_tunnel_left(height, 0);
}
if (junior_rc_track_pieces_left_banked_to_25_deg_up[direction][1] != 0) {
@ -2190,6 +2186,13 @@ static void junior_rc_left_bank_to_25_deg_up_paint_setup(uint8 rideIndex, uint8
metal_a_supports_paint_setup(edi, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]);
}
switch(direction) {
case 0: paint_util_push_tunnel_left(height, TUNNEL_0); break;
case 1: paint_util_push_tunnel_right(height, TUNNEL_2); break;
case 2: paint_util_push_tunnel_left(height, TUNNEL_2); break;
case 3: paint_util_push_tunnel_right(height, TUNNEL_0); break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_D0 | SEGMENT_CC, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 48, 0x20);
}
@ -2204,13 +2207,9 @@ static void junior_rc_right_bank_to_25_deg_up_paint_setup(uint8 rideIndex, uint8
image_id = junior_rc_track_pieces_right_banked_to_25_deg_up[direction][0] | gTrackColours[SCHEME_TRACK];
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, 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, TUNNEL_0);
}
if (junior_rc_track_pieces_right_banked_to_25_deg_up[direction][1] != 0) {
@ -2230,6 +2229,13 @@ static void junior_rc_right_bank_to_25_deg_up_paint_setup(uint8 rideIndex, uint8
metal_a_supports_paint_setup(edi, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]);
}
switch(direction) {
case 0: paint_util_push_tunnel_left(height, TUNNEL_0); break;
case 1: paint_util_push_tunnel_right(height, TUNNEL_2); break;
case 2: paint_util_push_tunnel_left(height, TUNNEL_2); break;
case 3: paint_util_push_tunnel_right(height, TUNNEL_0); break;
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_D0 | SEGMENT_CC, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 48, 0x20);
}
@ -3014,21 +3020,21 @@ static void junior_rc_right_half_banked_helix_down_small_paint_setup(uint8 rideI
}
if (direction == 0 && trackSequence == 0) {
paint_util_push_tunnel_left(height, TUNNEL_0);
}
if (direction == 0 && trackSequence == 3) {
paint_util_push_tunnel_right(height + 8, TUNNEL_0);
}
if (direction == 1 && trackSequence == 3) {
paint_util_push_tunnel_left(height + 8, TUNNEL_0);
}
if (direction == 3 && trackSequence == 0) {
if (direction == 0 && trackSequence == 3) {
paint_util_push_tunnel_right(height, TUNNEL_0);
}
if (direction == 1 && trackSequence == 3) {
paint_util_push_tunnel_left(height, TUNNEL_0);
}
if (direction == 3 && trackSequence == 0) {
paint_util_push_tunnel_right(height + 8, TUNNEL_0);
}
int blockedSegments = 0;
switch (trackSequence) {
case 0: blockedSegments = SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_BC | SEGMENT_D4; break;
@ -3129,21 +3135,21 @@ static void junior_rc_right_half_banked_helix_down_large_paint_setup(uint8 rideI
}
if (direction == 0 && trackSequence == 0) {
paint_util_push_tunnel_left(height, TUNNEL_0);
}
if (direction == 0 && trackSequence == 6) {
paint_util_push_tunnel_right(height + 8, TUNNEL_0);
}
if (direction == 1 && trackSequence == 6) {
paint_util_push_tunnel_left(height + 8, TUNNEL_0);
}
if (direction == 3 && trackSequence == 0) {
if (direction == 0 && trackSequence == 6) {
paint_util_push_tunnel_right(height, TUNNEL_0);
}
if (direction == 1 && trackSequence == 6) {
paint_util_push_tunnel_left(height, TUNNEL_0);
}
if (direction == 3 && trackSequence == 0) {
paint_util_push_tunnel_right(height + 8, TUNNEL_0);
}
switch (trackSequence) {
case 0: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_D4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_BC, direction), 0xFFFF, 0); break;
case 2: paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_D4 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_CC, direction), 0xFFFF, 0); break;