Last active
October 10, 2016 17:27
-
-
Save janisozaur/2e10ce77e25b202e1808fee1cc7e1b3f to your computer and use it in GitHub Desktop.
paint 55, 56
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #pragma region Copyright (c) 2014-2016 OpenRCT2 Developers | |
| /***************************************************************************** | |
| * OpenRCT2, an open source clone of Roller Coaster Tycoon 2. | |
| * | |
| * OpenRCT2 is the work of many authors, a full list can be found in contributors.md | |
| * For more information, visit https://github.com/OpenRCT2/OpenRCT2 | |
| * | |
| * OpenRCT2 is free software: you can redistribute it and/or modify | |
| * it under the terms of the GNU General Public License as published by | |
| * the Free Software Foundation, either version 3 of the License, or | |
| * (at your option) any later version. | |
| * | |
| * A full copy of the GNU General Public License can be found in licence.txt | |
| *****************************************************************************/ | |
| #pragma endregion | |
| #include "../../drawing/drawing.h" | |
| #include "../../paint/supports.h" | |
| #include "../../interface/viewport.h" | |
| #include "../../paint/map_element/map_element.h" | |
| #include "../../paint/paint.h" | |
| #include "../../sprites.h" | |
| #include "../../world/map.h" | |
| #include "../../world/sprite.h" | |
| #include "../ride_data.h" | |
| #include "../track_data.h" | |
| #include "../track_paint.h" | |
| static void multi_dimension_rc_alt_track_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| if (track_element_is_lift_hill(mapElement)) { | |
| switch (direction) { | |
| case 0: | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15808, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 1: | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15809, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| } | |
| if (track_paint_util_should_paint_supports(gPaintMapPosition)) { | |
| metal_a_supports_paint_setup(11, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| } | |
| } else { | |
| switch (direction) { | |
| case 0: | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15806, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 1: | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15807, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| } | |
| if (track_paint_util_should_paint_supports(gPaintMapPosition)) { | |
| metal_a_supports_paint_setup(11, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| } | |
| } | |
| paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); | |
| paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| } | |
| static void multi_dimension_rc_alt_track_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| if (track_element_is_lift_hill(mapElement)) { | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15908, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15909, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15910, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15911, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| } | |
| if (track_paint_util_should_paint_supports(gPaintMapPosition)) { | |
| metal_a_supports_paint_setup(11, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); | |
| } | |
| } else { | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15880, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15881, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15882, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15883, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| } | |
| if (track_paint_util_should_paint_supports(gPaintMapPosition)) { | |
| metal_a_supports_paint_setup(11, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); | |
| } | |
| } | |
| if (direction == 0 || direction == 3) { | |
| paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); | |
| } else { | |
| paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_8); | |
| } | |
| paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 56, 0x20); | |
| } | |
| static void multi_dimension_rc_alt_track_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15896, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15897, 0, 0, 32, 1, 98, height, 0, 27, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15898, 0, 0, 32, 1, 98, height, 0, 27, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15899, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| } | |
| if (track_paint_util_should_paint_supports(gPaintMapPosition)) { | |
| metal_a_supports_paint_setup(11, 4, 24, height, gTrackColours[SCHEME_SUPPORTS]); | |
| } | |
| if (direction == 0 || direction == 3) { | |
| paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); | |
| } else { | |
| paint_util_push_tunnel_rotated(direction, height + 56, TUNNEL_8); | |
| } | |
| paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 104, 0x20); | |
| } | |
| static void multi_dimension_rc_alt_track_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| if (track_element_is_lift_hill(mapElement)) { | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15900, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15901, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15902, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15903, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| } | |
| if (track_paint_util_should_paint_supports(gPaintMapPosition)) { | |
| metal_a_supports_paint_setup(11, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); | |
| } | |
| } else { | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15872, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15873, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15874, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15875, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| } | |
| if (track_paint_util_should_paint_supports(gPaintMapPosition)) { | |
| metal_a_supports_paint_setup(11, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); | |
| } | |
| } | |
| if (direction == 0 || direction == 3) { | |
| paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); | |
| } else { | |
| paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); | |
| } | |
| paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 48, 0x20); | |
| } | |
| static void multi_dimension_rc_alt_track_25_deg_up_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15884, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15885, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15888, 0, 0, 32, 1, 66, height, 0, 27, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15886, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15889, 0, 0, 32, 1, 66, height, 0, 27, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15887, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| } | |
| if (track_paint_util_should_paint_supports(gPaintMapPosition)) { | |
| metal_a_supports_paint_setup(11, 4, 8, height, gTrackColours[SCHEME_SUPPORTS]); | |
| } | |
| if (direction == 0 || direction == 3) { | |
| paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); | |
| } else { | |
| paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_8); | |
| } | |
| paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 72, 0x20); | |
| } | |
| static void multi_dimension_rc_alt_track_60_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15890, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15891, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15894, 0, 0, 32, 1, 66, height, 0, 27, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15892, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15895, 0, 0, 32, 1, 66, height, 0, 27, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15893, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| } | |
| if (track_paint_util_should_paint_supports(gPaintMapPosition)) { | |
| metal_a_supports_paint_setup(11, 4, 16, height, gTrackColours[SCHEME_SUPPORTS]); | |
| } | |
| if (direction == 0 || direction == 3) { | |
| paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); | |
| } else { | |
| paint_util_push_tunnel_rotated(direction, height + 24, TUNNEL_8); | |
| } | |
| paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 72, 0x20); | |
| } | |
| static void multi_dimension_rc_alt_track_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| if (track_element_is_lift_hill(mapElement)) { | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15904, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15905, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15906, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15907, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| } | |
| if (track_paint_util_should_paint_supports(gPaintMapPosition)) { | |
| metal_a_supports_paint_setup(11, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); | |
| } | |
| } else { | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15876, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15877, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15878, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15879, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| } | |
| if (track_paint_util_should_paint_supports(gPaintMapPosition)) { | |
| metal_a_supports_paint_setup(11, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); | |
| } | |
| } | |
| if (direction == 0 || direction == 3) { | |
| paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); | |
| } else { | |
| paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); | |
| } | |
| paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 40, 0x20); | |
| } | |
| static void multi_dimension_rc_alt_track_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| multi_dimension_rc_alt_track_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); | |
| } | |
| static void multi_dimension_rc_alt_track_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| multi_dimension_rc_alt_track_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); | |
| } | |
| static void multi_dimension_rc_alt_track_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| multi_dimension_rc_alt_track_25_deg_up_to_flat(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); | |
| } | |
| static void multi_dimension_rc_alt_track_25_deg_down_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| multi_dimension_rc_alt_track_60_deg_up_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); | |
| } | |
| static void multi_dimension_rc_alt_track_60_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| multi_dimension_rc_alt_track_25_deg_up_to_60_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); | |
| } | |
| static void multi_dimension_rc_alt_track_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| multi_dimension_rc_alt_track_flat_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); | |
| } | |
| static void multi_dimension_rc_alt_track_left_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (trackSequence) { | |
| case 0: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15921, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15926, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15931, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15916, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| } | |
| metal_a_supports_paint_setup(11, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| if (direction == 0 || direction == 3) { | |
| paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); | |
| } | |
| paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 1: | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 2: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15920, 0, 0, 32, 16, 3, height, 0, 0, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15925, 0, 0, 32, 16, 3, height, 0, 0, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15930, 0, 0, 32, 16, 3, height, 0, 16, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15915, 0, 0, 32, 16, 3, height, 0, 16, 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 + 32, 0x20); | |
| break; | |
| case 3: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15919, 0, 0, 16, 16, 3, height, 0, 16, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15924, 0, 0, 16, 16, 3, height, 16, 16, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15929, 0, 0, 16, 16, 3, height, 16, 0, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15914, 0, 0, 16, 16, 3, height, 0, 0, height); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 4: | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 5: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15918, 0, 0, 16, 32, 3, height, 16, 0, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15923, 0, 0, 16, 32, 3, height, 0, 0, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15928, 0, 0, 16, 32, 3, height, 0, 0, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15913, 0, 0, 16, 32, 3, height, 16, 0, height); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 6: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15917, 0, 0, 20, 32, 3, height, 6, 0, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15922, 0, 0, 20, 32, 3, height, 6, 0, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15927, 0, 0, 20, 32, 3, height, 6, 0, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15912, 0, 0, 20, 32, 3, height, 6, 0, height); | |
| break; | |
| } | |
| metal_a_supports_paint_setup(11, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| switch (direction) { | |
| case 2: | |
| paint_util_push_tunnel_right(height, TUNNEL_6); | |
| break; | |
| case 3: | |
| paint_util_push_tunnel_left(height, TUNNEL_6); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| } | |
| } | |
| static void multi_dimension_rc_alt_track_right_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; | |
| multi_dimension_rc_alt_track_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); | |
| } | |
| static void multi_dimension_rc_alt_track_flat_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15832, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15840, 0, 0, 32, 1, 26, height, 0, 27, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15833, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15841, 0, 0, 32, 1, 26, height, 0, 27, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15834, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15835, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| } | |
| if (track_paint_util_should_paint_supports(gPaintMapPosition)) { | |
| metal_a_supports_paint_setup(11, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| } | |
| paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); | |
| paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| } | |
| static void multi_dimension_rc_alt_track_flat_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15836, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15837, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15838, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15842, 0, 0, 32, 1, 26, height, 0, 27, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15839, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15843, 0, 0, 32, 1, 26, height, 0, 27, height); | |
| break; | |
| } | |
| if (track_paint_util_should_paint_supports(gPaintMapPosition)) { | |
| metal_a_supports_paint_setup(11, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| } | |
| paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); | |
| paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| } | |
| static void multi_dimension_rc_alt_track_left_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15838, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15842, 0, 0, 32, 1, 26, height, 0, 27, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15839, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15843, 0, 0, 32, 1, 26, height, 0, 27, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15836, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15837, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| } | |
| if (track_paint_util_should_paint_supports(gPaintMapPosition)) { | |
| metal_a_supports_paint_setup(11, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| } | |
| paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); | |
| paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| } | |
| static void multi_dimension_rc_alt_track_right_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15834, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15835, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15832, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15840, 0, 0, 32, 1, 26, height, 0, 27, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15833, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15841, 0, 0, 32, 1, 26, height, 0, 27, height); | |
| break; | |
| } | |
| if (track_paint_util_should_paint_supports(gPaintMapPosition)) { | |
| metal_a_supports_paint_setup(11, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| } | |
| paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); | |
| paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| } | |
| static void multi_dimension_rc_alt_track_banked_left_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (trackSequence) { | |
| case 0: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15941, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15952, 0, 0, 32, 1, 26, height, 0, 27, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15946, 0, 0, 32, 1, 26, height, 0, 27, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15951, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15936, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| } | |
| metal_a_supports_paint_setup(11, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| if (direction == 0 || direction == 3) { | |
| paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); | |
| } | |
| paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 1: | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 2: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15940, 0, 0, 32, 16, 3, height, 0, 0, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15945, 0, 0, 32, 16, 1, height, 0, 0, height + 27); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15950, 0, 0, 32, 16, 3, height, 0, 16, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15935, 0, 0, 32, 16, 3, height, 0, 16, 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 + 32, 0x20); | |
| break; | |
| case 3: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15939, 0, 0, 16, 16, 3, height, 0, 16, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15944, 0, 0, 16, 16, 1, height, 16, 16, height + 27); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15949, 0, 0, 16, 16, 3, height, 16, 0, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15934, 0, 0, 16, 16, 3, height, 0, 0, height); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 4: | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 5: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15938, 0, 0, 16, 32, 3, height, 16, 0, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15943, 0, 0, 16, 32, 1, height, 0, 0, height + 27); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15948, 0, 0, 16, 32, 3, height, 0, 0, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15933, 0, 0, 16, 32, 3, height, 16, 0, height); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 6: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15937, 0, 0, 20, 32, 3, height, 6, 0, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15942, 0, 0, 1, 32, 26, height, 27, 0, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15947, 0, 0, 20, 32, 3, height, 6, 0, height); | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15953, 0, 0, 1, 32, 26, height, 27, 0, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15932, 0, 0, 20, 32, 3, height, 6, 0, height); | |
| break; | |
| } | |
| metal_a_supports_paint_setup(11, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| switch (direction) { | |
| case 2: | |
| paint_util_push_tunnel_right(height, TUNNEL_6); | |
| break; | |
| case 3: | |
| paint_util_push_tunnel_left(height, TUNNEL_6); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| } | |
| } | |
| static void multi_dimension_rc_alt_track_banked_right_quarter_turn_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; | |
| multi_dimension_rc_alt_track_banked_left_quarter_turn_5(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); | |
| } | |
| static void multi_dimension_rc_alt_track_left_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15844, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15848, 0, 0, 32, 1, 34, height, 0, 27, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15845, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15849, 0, 0, 32, 1, 34, height, 0, 27, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15846, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15847, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| } | |
| if (track_paint_util_should_paint_supports(gPaintMapPosition)) { | |
| metal_a_supports_paint_setup(11, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); | |
| } | |
| if (direction == 0 || direction == 3) { | |
| paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); | |
| } else { | |
| paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); | |
| } | |
| paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 48, 0x20); | |
| } | |
| static void multi_dimension_rc_alt_track_right_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15850, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15851, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15852, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15854, 0, 0, 32, 1, 34, height, 0, 27, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15853, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15855, 0, 0, 32, 1, 34, height, 0, 27, height); | |
| break; | |
| } | |
| if (track_paint_util_should_paint_supports(gPaintMapPosition)) { | |
| metal_a_supports_paint_setup(11, 4, 3, height, gTrackColours[SCHEME_SUPPORTS]); | |
| } | |
| if (direction == 0 || direction == 3) { | |
| paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); | |
| } else { | |
| paint_util_push_tunnel_rotated(direction, height, TUNNEL_8); | |
| } | |
| paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 48, 0x20); | |
| } | |
| static void multi_dimension_rc_alt_track_25_deg_up_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15856, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15860, 0, 0, 32, 1, 34, height, 0, 27, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15857, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15861, 0, 0, 32, 1, 34, height, 0, 27, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15858, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15859, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| } | |
| if (track_paint_util_should_paint_supports(gPaintMapPosition)) { | |
| metal_a_supports_paint_setup(11, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); | |
| } | |
| if (direction == 0 || direction == 3) { | |
| paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); | |
| } else { | |
| paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); | |
| } | |
| paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 40, 0x20); | |
| } | |
| static void multi_dimension_rc_alt_track_25_deg_up_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15862, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15863, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15864, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15866, 0, 0, 32, 1, 34, height, 0, 27, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15865, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15867, 0, 0, 32, 1, 34, height, 0, 27, height); | |
| break; | |
| } | |
| if (track_paint_util_should_paint_supports(gPaintMapPosition)) { | |
| metal_a_supports_paint_setup(11, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); | |
| } | |
| if (direction == 0 || direction == 3) { | |
| paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_6); | |
| } else { | |
| paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_14); | |
| } | |
| paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 40, 0x20); | |
| } | |
| static void multi_dimension_rc_alt_track_left_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| multi_dimension_rc_alt_track_25_deg_up_to_right_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); | |
| } | |
| static void multi_dimension_rc_alt_track_right_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| multi_dimension_rc_alt_track_25_deg_up_to_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); | |
| } | |
| static void multi_dimension_rc_alt_track_25_deg_down_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| multi_dimension_rc_alt_track_right_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); | |
| } | |
| static void multi_dimension_rc_alt_track_25_deg_down_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| multi_dimension_rc_alt_track_left_bank_to_25_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); | |
| } | |
| static void multi_dimension_rc_alt_track_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15868, 0, 0, 32, 1, 26, height, 0, 27, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15869, 0, 0, 32, 1, 26, height, 0, 27, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15870, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15871, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| } | |
| if (track_paint_util_should_paint_supports(gPaintMapPosition)) { | |
| metal_a_supports_paint_setup(11, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| } | |
| paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); | |
| paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| } | |
| static void multi_dimension_rc_alt_track_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| multi_dimension_rc_alt_track_left_bank(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); | |
| } | |
| static void multi_dimension_rc_alt_track_s_bend_left(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (trackSequence) { | |
| case 0: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15816, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15820, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15819, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15823, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| } | |
| metal_a_supports_paint_setup(11, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| if (direction == 0 || direction == 3) { | |
| paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); | |
| } | |
| paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 1: | |
| switch (direction) { | |
| case 0: | |
| sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15817, 0, 0, 32, 26, 3, height); | |
| metal_a_supports_paint_setup(11, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 1: | |
| sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15821, 0, 0, 32, 26, 3, height); | |
| metal_a_supports_paint_setup(11, 6, 1, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15818, 0, 0, 32, 26, 3, height, 0, 6, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15822, 0, 0, 32, 26, 3, height, 0, 6, height); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 2: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15818, 0, 0, 32, 26, 3, height, 0, 6, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15822, 0, 0, 32, 26, 3, height, 0, 6, height); | |
| break; | |
| case 2: | |
| sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15817, 0, 0, 32, 26, 3, height); | |
| metal_a_supports_paint_setup(11, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 3: | |
| sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15821, 0, 0, 32, 26, 3, height); | |
| metal_a_supports_paint_setup(11, 6, 1, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 3: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15819, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15823, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15816, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15820, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| } | |
| metal_a_supports_paint_setup(11, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| switch (direction) { | |
| case 1: | |
| paint_util_push_tunnel_right(height, TUNNEL_6); | |
| break; | |
| case 2: | |
| paint_util_push_tunnel_left(height, TUNNEL_6); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| } | |
| } | |
| static void multi_dimension_rc_alt_track_s_bend_right(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (trackSequence) { | |
| case 0: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15824, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15828, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15827, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15831, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| } | |
| metal_a_supports_paint_setup(11, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| if (direction == 0 || direction == 3) { | |
| paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); | |
| } | |
| paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 1: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15825, 0, 0, 32, 26, 3, height, 0, 6, height); | |
| metal_a_supports_paint_setup(11, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15829, 0, 0, 32, 26, 3, height, 0, 6, height); | |
| metal_a_supports_paint_setup(11, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 2: | |
| sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15826, 0, 0, 32, 26, 3, height); | |
| break; | |
| case 3: | |
| sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15830, 0, 0, 32, 26, 3, height); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 2: | |
| switch (direction) { | |
| case 0: | |
| sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15826, 0, 0, 32, 26, 3, height); | |
| break; | |
| case 1: | |
| sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15830, 0, 0, 32, 26, 3, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15825, 0, 0, 32, 26, 3, height, 0, 6, height); | |
| metal_a_supports_paint_setup(11, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15829, 0, 0, 32, 26, 3, height, 0, 6, height); | |
| metal_a_supports_paint_setup(11, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 3: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15827, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15831, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15824, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15828, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| } | |
| metal_a_supports_paint_setup(11, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| switch (direction) { | |
| case 1: | |
| paint_util_push_tunnel_right(height, TUNNEL_6); | |
| break; | |
| case 2: | |
| paint_util_push_tunnel_left(height, TUNNEL_6); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| } | |
| } | |
| static void multi_dimension_rc_alt_track_left_quarter_turn_3(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (trackSequence) { | |
| case 0: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15959, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15962, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15965, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15956, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| } | |
| metal_a_supports_paint_setup(11, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| if (direction == 0 || direction == 3) { | |
| paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); | |
| } | |
| paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 1: | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 2: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15958, 0, 0, 16, 16, 3, height, 16, 0, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15961, 0, 0, 16, 16, 3, height, 0, 0, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15964, 0, 0, 16, 16, 3, height, 0, 16, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15955, 0, 0, 16, 16, 3, height, 16, 16, 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 + 32, 0x20); | |
| break; | |
| case 3: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15957, 0, 0, 20, 32, 3, height, 6, 0, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15960, 0, 0, 20, 32, 3, height, 6, 0, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15963, 0, 0, 20, 32, 3, height, 6, 0, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15954, 0, 0, 20, 32, 3, height, 6, 0, height); | |
| break; | |
| } | |
| metal_a_supports_paint_setup(11, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| switch (direction) { | |
| case 2: | |
| paint_util_push_tunnel_right(height, TUNNEL_6); | |
| break; | |
| case 3: | |
| paint_util_push_tunnel_left(height, TUNNEL_6); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| } | |
| } | |
| static void multi_dimension_rc_alt_track_right_quarter_turn_3(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; | |
| multi_dimension_rc_alt_track_left_quarter_turn_3(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); | |
| } | |
| static void multi_dimension_rc_alt_track_left_quarter_turn_3_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (trackSequence) { | |
| case 0: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15971, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15978, 0, 0, 32, 1, 26, height, 0, 27, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15974, 0, 0, 32, 1, 26, height, 0, 27, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15977, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15968, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| } | |
| metal_a_supports_paint_setup(11, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| if (direction == 0 || direction == 3) { | |
| paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); | |
| } | |
| paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 1: | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 2: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15970, 0, 0, 16, 16, 3, height, 16, 0, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15973, 0, 0, 16, 16, 1, height, 0, 0, height + 27); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15976, 0, 0, 16, 16, 3, height, 0, 16, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15967, 0, 0, 16, 16, 3, height, 16, 16, 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 + 32, 0x20); | |
| break; | |
| case 3: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15969, 0, 0, 20, 32, 3, height, 6, 0, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15972, 0, 0, 1, 32, 26, height, 27, 0, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15975, 0, 0, 20, 32, 3, height, 6, 0, height); | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15979, 0, 0, 1, 32, 26, height, 27, 0, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15966, 0, 0, 20, 32, 3, height, 6, 0, height); | |
| break; | |
| } | |
| metal_a_supports_paint_setup(11, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| switch (direction) { | |
| case 2: | |
| paint_util_push_tunnel_right(height, TUNNEL_6); | |
| break; | |
| case 3: | |
| paint_util_push_tunnel_left(height, TUNNEL_6); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| } | |
| } | |
| static void multi_dimension_rc_alt_track_right_quarter_turn_3_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; | |
| multi_dimension_rc_alt_track_left_quarter_turn_3_bank(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); | |
| } | |
| static void multi_dimension_rc_alt_track_left_half_banked_helix_up_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (trackSequence) { | |
| case 0: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16197, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16204, 0, 0, 32, 1, 26, height, 0, 27, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16200, 0, 0, 32, 1, 26, height, 0, 27, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16203, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16194, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| } | |
| metal_a_supports_paint_setup(11, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); | |
| if (direction == 0 || direction == 3) { | |
| paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); | |
| } | |
| paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 1: | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 2: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16196, 0, 0, 16, 16, 3, height, 16, 0, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16199, 0, 0, 16, 16, 1, height, 0, 0, height + 27); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16202, 0, 0, 16, 16, 3, height, 0, 16, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16193, 0, 0, 16, 16, 3, height, 16, 16, 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 + 32, 0x20); | |
| break; | |
| case 3: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16195, 0, 0, 20, 32, 3, height, 6, 0, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16198, 0, 0, 1, 32, 26, height, 27, 0, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16201, 0, 0, 20, 32, 3, height, 6, 0, height); | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16205, 0, 0, 1, 32, 26, height, 27, 0, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16192, 0, 0, 20, 32, 3, height, 6, 0, height); | |
| break; | |
| } | |
| metal_a_supports_paint_setup(11, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); | |
| switch (direction) { | |
| case 2: | |
| paint_util_push_tunnel_right(height + 8, TUNNEL_6); | |
| break; | |
| case 3: | |
| paint_util_push_tunnel_left(height + 8, TUNNEL_6); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 4: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16194, 0, 0, 20, 32, 3, height, 6, 0, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16197, 0, 0, 20, 32, 3, height, 6, 0, height); | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16204, 0, 0, 1, 32, 26, height, 27, 0, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16200, 0, 0, 1, 32, 26, height, 27, 0, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16203, 0, 0, 20, 32, 3, height, 6, 0, height); | |
| break; | |
| } | |
| metal_a_supports_paint_setup(11, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); | |
| switch (direction) { | |
| case 0: | |
| paint_util_push_tunnel_right(height, TUNNEL_6); | |
| break; | |
| case 1: | |
| paint_util_push_tunnel_left(height, TUNNEL_6); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 5: | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 6: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16193, 0, 0, 16, 16, 3, height, 16, 16, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16196, 0, 0, 16, 16, 3, height, 0, 16, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16199, 0, 0, 16, 16, 1, height, 0, 0, height + 27); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16202, 0, 0, 16, 16, 3, height, 16, 0, height); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 7: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16192, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16195, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16198, 0, 0, 32, 1, 26, height, 0, 27, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16201, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16205, 0, 0, 32, 1, 26, height, 0, 27, height); | |
| break; | |
| } | |
| metal_a_supports_paint_setup(11, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); | |
| if (direction == 0 || direction == 3) { | |
| paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); | |
| } | |
| paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| } | |
| } | |
| static void multi_dimension_rc_alt_track_right_half_banked_helix_up_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (trackSequence) { | |
| case 0: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16178, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16181, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16184, 0, 0, 32, 1, 26, height, 0, 27, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16187, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16191, 0, 0, 32, 1, 26, height, 0, 27, height); | |
| break; | |
| } | |
| metal_a_supports_paint_setup(11, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); | |
| if (direction == 0 || direction == 3) { | |
| paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); | |
| } | |
| paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 1: | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 2: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16179, 0, 0, 16, 16, 3, height, 16, 16, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16182, 0, 0, 16, 16, 3, height, 0, 16, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16185, 0, 0, 16, 16, 1, height, 0, 0, height + 27); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16188, 0, 0, 16, 16, 3, height, 16, 0, height); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 3: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16180, 0, 0, 20, 32, 3, height, 6, 0, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16183, 0, 0, 20, 32, 3, height, 6, 0, height); | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16190, 0, 0, 1, 32, 26, height, 27, 0, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16186, 0, 0, 1, 32, 26, height, 27, 0, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16189, 0, 0, 20, 32, 3, height, 6, 0, height); | |
| break; | |
| } | |
| metal_a_supports_paint_setup(11, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); | |
| switch (direction) { | |
| case 0: | |
| paint_util_push_tunnel_right(height + 8, TUNNEL_6); | |
| break; | |
| case 1: | |
| paint_util_push_tunnel_left(height + 8, TUNNEL_6); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 4: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16181, 0, 0, 20, 32, 3, height, 6, 0, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16184, 0, 0, 1, 32, 26, height, 27, 0, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16187, 0, 0, 20, 32, 3, height, 6, 0, height); | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16191, 0, 0, 1, 32, 26, height, 27, 0, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16178, 0, 0, 20, 32, 3, height, 6, 0, height); | |
| break; | |
| } | |
| metal_a_supports_paint_setup(11, 4, 2, height, gTrackColours[SCHEME_SUPPORTS]); | |
| switch (direction) { | |
| case 2: | |
| paint_util_push_tunnel_right(height, TUNNEL_6); | |
| break; | |
| case 3: | |
| paint_util_push_tunnel_left(height, TUNNEL_6); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 5: | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 6: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16182, 0, 0, 16, 16, 3, height, 16, 0, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16185, 0, 0, 16, 16, 1, height, 0, 0, height + 27); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16188, 0, 0, 16, 16, 3, height, 0, 16, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16179, 0, 0, 16, 16, 3, height, 16, 16, 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 + 32, 0x20); | |
| break; | |
| case 7: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16183, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16190, 0, 0, 32, 1, 26, height, 0, 27, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16186, 0, 0, 32, 1, 26, height, 0, 27, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16189, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16180, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| } | |
| metal_a_supports_paint_setup(11, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]); | |
| if (direction == 0 || direction == 3) { | |
| paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); | |
| } | |
| paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| } | |
| } | |
| static void multi_dimension_rc_alt_track_left_half_banked_helix_down_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| if (trackSequence >= 4) { | |
| trackSequence -= 4; | |
| direction = (direction - 1) & 3; | |
| } | |
| trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; | |
| multi_dimension_rc_alt_track_right_half_banked_helix_up_small(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); | |
| } | |
| static void multi_dimension_rc_alt_track_right_half_banked_helix_down_small(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| if (trackSequence >= 4) { | |
| trackSequence -= 4; | |
| direction = (direction + 1) & 3; | |
| } | |
| trackSequence = mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence]; | |
| multi_dimension_rc_alt_track_left_half_banked_helix_up_small(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); | |
| } | |
| static void multi_dimension_rc_alt_track_left_half_banked_helix_up_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (trackSequence) { | |
| case 0: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16165, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16176, 0, 0, 32, 1, 26, height, 0, 27, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16170, 0, 0, 32, 1, 26, height, 0, 27, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16175, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16160, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| } | |
| metal_a_supports_paint_setup(11, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); | |
| if (direction == 0 || direction == 3) { | |
| paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); | |
| } | |
| paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 1: | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 2: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16164, 0, 0, 32, 16, 3, height, 0, 0, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16169, 0, 0, 32, 16, 1, height, 0, 0, height + 27); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16174, 0, 0, 32, 16, 3, height, 0, 16, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16159, 0, 0, 32, 16, 3, height, 0, 16, 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 + 32, 0x20); | |
| break; | |
| case 3: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16163, 0, 0, 16, 16, 3, height, 0, 16, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16168, 0, 0, 16, 16, 1, height, 16, 16, height + 27); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16173, 0, 0, 16, 16, 3, height, 16, 0, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16158, 0, 0, 16, 16, 3, height, 0, 0, height); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 4: | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 5: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16162, 0, 0, 16, 32, 3, height, 16, 0, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16167, 0, 0, 16, 32, 1, height, 0, 0, height + 27); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16172, 0, 0, 16, 32, 3, height, 0, 0, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16157, 0, 0, 16, 32, 3, height, 16, 0, height); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 6: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16161, 0, 0, 20, 32, 3, height, 6, 0, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16166, 0, 0, 1, 32, 26, height, 27, 0, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16171, 0, 0, 20, 32, 3, height, 6, 0, height); | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16177, 0, 0, 1, 32, 26, height, 27, 0, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16156, 0, 0, 20, 32, 3, height, 6, 0, height); | |
| break; | |
| } | |
| metal_a_supports_paint_setup(11, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); | |
| switch (direction) { | |
| case 2: | |
| paint_util_push_tunnel_right(height + 8, TUNNEL_6); | |
| break; | |
| case 3: | |
| paint_util_push_tunnel_left(height + 8, TUNNEL_6); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 7: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16160, 0, 0, 20, 32, 3, height, 6, 0, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16165, 0, 0, 20, 32, 3, height, 6, 0, height); | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16176, 0, 0, 1, 32, 26, height, 27, 0, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16170, 0, 0, 1, 32, 26, height, 27, 0, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16175, 0, 0, 20, 32, 3, height, 6, 0, height); | |
| break; | |
| } | |
| metal_a_supports_paint_setup(11, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); | |
| switch (direction) { | |
| case 0: | |
| paint_util_push_tunnel_right(height, TUNNEL_6); | |
| break; | |
| case 1: | |
| paint_util_push_tunnel_left(height, TUNNEL_6); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 8: | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 9: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16159, 0, 0, 16, 32, 3, height, 16, 0, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16164, 0, 0, 16, 32, 3, height, 0, 0, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16169, 0, 0, 16, 32, 1, height, 0, 0, height + 27); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16174, 0, 0, 16, 32, 3, height, 16, 0, height); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 10: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16158, 0, 0, 16, 16, 3, height, 0, 0, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16163, 0, 0, 16, 16, 3, height, 16, 0, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16168, 0, 0, 16, 16, 1, height, 16, 16, height + 27); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16173, 0, 0, 16, 16, 3, height, 0, 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 + 32, 0x20); | |
| break; | |
| case 11: | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 12: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16157, 0, 0, 32, 16, 3, height, 0, 16, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16162, 0, 0, 32, 16, 3, height, 0, 16, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16167, 0, 0, 32, 16, 1, height, 0, 0, height + 27); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16172, 0, 0, 32, 16, 3, height, 0, 0, height); | |
| 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 + 32, 0x20); | |
| break; | |
| case 13: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16156, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16161, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16166, 0, 0, 32, 1, 26, height, 0, 27, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16171, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16177, 0, 0, 32, 1, 26, height, 0, 27, height); | |
| break; | |
| } | |
| metal_a_supports_paint_setup(11, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); | |
| if (direction == 0 || direction == 3) { | |
| paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); | |
| } | |
| paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| } | |
| } | |
| static void multi_dimension_rc_alt_track_right_half_banked_helix_up_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (trackSequence) { | |
| case 0: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16134, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16139, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16144, 0, 0, 32, 1, 26, height, 0, 27, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16149, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16155, 0, 0, 32, 1, 26, height, 0, 27, height); | |
| break; | |
| } | |
| metal_a_supports_paint_setup(11, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); | |
| if (direction == 0 || direction == 3) { | |
| paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); | |
| } | |
| paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 1: | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 2: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16135, 0, 0, 32, 16, 3, height, 0, 16, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16140, 0, 0, 32, 16, 3, height, 0, 16, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16145, 0, 0, 32, 16, 1, height, 0, 0, height + 27); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16150, 0, 0, 32, 16, 3, height, 0, 0, height); | |
| 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 + 32, 0x20); | |
| break; | |
| case 3: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16136, 0, 0, 16, 16, 3, height, 0, 0, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16141, 0, 0, 16, 16, 3, height, 16, 0, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16146, 0, 0, 16, 16, 1, height, 16, 16, height + 27); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16151, 0, 0, 16, 16, 3, height, 0, 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 + 32, 0x20); | |
| break; | |
| case 4: | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 5: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16137, 0, 0, 16, 32, 3, height, 16, 0, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16142, 0, 0, 16, 32, 3, height, 0, 0, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16147, 0, 0, 16, 32, 1, height, 0, 0, height + 27); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16152, 0, 0, 16, 32, 3, height, 16, 0, height); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 6: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16138, 0, 0, 20, 32, 3, height, 6, 0, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16143, 0, 0, 20, 32, 3, height, 6, 0, height); | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16154, 0, 0, 1, 32, 26, height, 27, 0, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16148, 0, 0, 1, 32, 26, height, 27, 0, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16153, 0, 0, 20, 32, 3, height, 6, 0, height); | |
| break; | |
| } | |
| metal_a_supports_paint_setup(11, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); | |
| switch (direction) { | |
| case 0: | |
| paint_util_push_tunnel_right(height + 8, TUNNEL_6); | |
| break; | |
| case 1: | |
| paint_util_push_tunnel_left(height + 8, TUNNEL_6); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 7: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16139, 0, 0, 20, 32, 3, height, 6, 0, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16144, 0, 0, 1, 32, 26, height, 27, 0, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16149, 0, 0, 20, 32, 3, height, 6, 0, height); | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16155, 0, 0, 1, 32, 26, height, 27, 0, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16134, 0, 0, 20, 32, 3, height, 6, 0, height); | |
| break; | |
| } | |
| metal_a_supports_paint_setup(11, 4, 1, height, gTrackColours[SCHEME_SUPPORTS]); | |
| switch (direction) { | |
| case 2: | |
| paint_util_push_tunnel_right(height, TUNNEL_6); | |
| break; | |
| case 3: | |
| paint_util_push_tunnel_left(height, TUNNEL_6); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 8: | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 9: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16140, 0, 0, 16, 32, 3, height, 16, 0, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16145, 0, 0, 16, 32, 1, height, 0, 0, height + 27); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16150, 0, 0, 16, 32, 3, height, 0, 0, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16135, 0, 0, 16, 32, 3, height, 16, 0, height); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 10: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16141, 0, 0, 16, 16, 3, height, 0, 16, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16146, 0, 0, 16, 16, 1, height, 16, 16, height + 27); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16151, 0, 0, 16, 16, 3, height, 16, 0, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16136, 0, 0, 16, 16, 3, height, 0, 0, height); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 11: | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 12: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16142, 0, 0, 32, 16, 3, height, 0, 0, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16147, 0, 0, 32, 16, 1, height, 0, 0, height + 27); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16152, 0, 0, 32, 16, 3, height, 0, 16, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16137, 0, 0, 32, 16, 3, height, 0, 16, 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 + 32, 0x20); | |
| break; | |
| case 13: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16143, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16154, 0, 0, 32, 1, 26, height, 0, 27, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16148, 0, 0, 32, 1, 26, height, 0, 27, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16153, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16138, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| } | |
| metal_a_supports_paint_setup(11, 4, 7, height, gTrackColours[SCHEME_SUPPORTS]); | |
| if (direction == 0 || direction == 3) { | |
| paint_util_push_tunnel_rotated(direction, height + 8, TUNNEL_6); | |
| } | |
| paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| } | |
| } | |
| static void multi_dimension_rc_alt_track_left_half_banked_helix_down_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| if (trackSequence >= 7) { | |
| trackSequence -= 7; | |
| direction = (direction - 1) & 3; | |
| } | |
| trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; | |
| multi_dimension_rc_alt_track_right_half_banked_helix_up_large(rideIndex, trackSequence, (direction + 1) & 3, height, mapElement); | |
| } | |
| static void multi_dimension_rc_alt_track_right_half_banked_helix_down_large(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| if (trackSequence >= 7) { | |
| trackSequence -= 7; | |
| direction = (direction + 1) & 3; | |
| } | |
| trackSequence = mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence]; | |
| multi_dimension_rc_alt_track_left_half_banked_helix_up_large(rideIndex, trackSequence, (direction - 1) & 3, height, mapElement); | |
| } | |
| static void multi_dimension_rc_alt_track_brakes(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (direction) { | |
| case 0: | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16218, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 1: | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16219, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| } | |
| if (track_paint_util_should_paint_supports(gPaintMapPosition)) { | |
| metal_a_supports_paint_setup(11, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| } | |
| paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); | |
| paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| } | |
| static void multi_dimension_rc_alt_track_on_ride_photo(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (direction) { | |
| case 0: | |
| sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); | |
| metal_a_supports_paint_setup(11, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| metal_a_supports_paint_setup(11, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15806, 0, 0, 32, 20, 0, height, 0, 6, height + 3); | |
| sub_98196C_rotated(direction, gTrackColours[SCHEME_MISC] | 25623, 26, 0, 1, 1, 19, height + 3); | |
| break; | |
| case 1: | |
| sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); | |
| metal_a_supports_paint_setup(11, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| metal_a_supports_paint_setup(11, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15807, 0, 0, 32, 20, 0, height, 0, 6, height + 3); | |
| sub_98196C_rotated(direction, gTrackColours[SCHEME_MISC] | 25624, 6, 0, 1, 1, 19, height + 3); | |
| break; | |
| case 2: | |
| sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); | |
| metal_a_supports_paint_setup(11, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| metal_a_supports_paint_setup(11, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15806, 0, 0, 32, 20, 0, height, 0, 6, height + 3); | |
| sub_98196C_rotated(direction, gTrackColours[SCHEME_MISC] | 25625, 6, 0, 1, 1, 19, height + 3); | |
| break; | |
| case 3: | |
| sub_98196C_rotated(direction, 0x20000000 | 22432, 0, 0, 32, 32, 1, height); | |
| metal_a_supports_paint_setup(11, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| metal_a_supports_paint_setup(11, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15807, 0, 0, 32, 20, 0, height, 0, 6, height + 3); | |
| sub_98196C_rotated(direction, gTrackColours[SCHEME_MISC] | 25626, 26, 0, 1, 1, 19, height + 3); | |
| break; | |
| } | |
| sub_98196C_rotated(direction, 0x00000000, 0, 0, 0, 0, 0, height - 48); | |
| sub_98196C_rotated(direction, 0x00000000, 0, 0, 0, 0, 0, height - 48); | |
| paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); | |
| paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 48, 0x20); | |
| } | |
| static void multi_dimension_rc_alt_track_90_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (trackSequence) { | |
| case 0: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16130, 0, 0, 2, 20, 31, height, 4, 6, height + 8); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16131, 0, 0, 2, 20, 31, height, 24, 6, height + 8); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16132, 0, 0, 2, 20, 31, height, 24, 6, height + 8); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16133, 0, 0, 2, 20, 31, height, 4, 6, height + 8); | |
| break; | |
| } | |
| paint_util_set_vertical_tunnel(height + 32); | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 1: | |
| break; | |
| } | |
| } | |
| static void multi_dimension_rc_alt_track_90_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| multi_dimension_rc_alt_track_90_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); | |
| } | |
| static void multi_dimension_rc_alt_track_60_deg_up_to_90_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (trackSequence) { | |
| case 0: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16122, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16123, 0, 0, 2, 20, 55, height, 24, 6, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16124, 0, 0, 2, 20, 55, height, 24, 6, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16125, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| } | |
| if (direction == 0 || direction == 3) { | |
| paint_util_push_tunnel_rotated(direction, height - 8, TUNNEL_7); | |
| } | |
| paint_util_set_vertical_tunnel(height + 48); | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 56, 0x20); | |
| break; | |
| case 1: | |
| break; | |
| } | |
| } | |
| static void multi_dimension_rc_alt_track_90_deg_down_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| multi_dimension_rc_alt_track_60_deg_up_to_90_deg_up(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); | |
| } | |
| static void multi_dimension_rc_alt_track_90_deg_up_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16126, 0, 0, 6, 20, 3, height, 0, 6, height + 2); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16127, 0, 0, 2, 20, 31, height, 39, 6, height + 8); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16128, 0, 0, 2, 20, 31, height, 39, 6, height + 8); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16129, 0, 0, 6, 20, 3, height, 0, 6, height + 2); | |
| break; | |
| } | |
| switch (direction) { | |
| case 1: | |
| paint_util_push_tunnel_right(height + 48, TUNNEL_8); | |
| break; | |
| case 2: | |
| paint_util_push_tunnel_left(height + 48, TUNNEL_8); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 80, 0x20); | |
| } | |
| static void multi_dimension_rc_alt_track_60_deg_down_to_90_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (trackSequence) { | |
| case 0: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16128, 0, 0, 2, 20, 31, height, 39, 6, height + 8); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16129, 0, 0, 6, 20, 3, height, 0, 6, height + 2); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16126, 0, 0, 6, 20, 3, height, 0, 6, height + 2); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16127, 0, 0, 2, 20, 31, height, 39, 6, height + 8); | |
| break; | |
| } | |
| if (direction == 0 || direction == 3) { | |
| paint_util_push_tunnel_rotated(direction, height + 48, TUNNEL_8); | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 80, 0x20); | |
| break; | |
| case 1: | |
| break; | |
| } | |
| } | |
| static void multi_dimension_rc_alt_track_left_eighth_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (trackSequence) { | |
| case 0: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15996, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16000, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16004, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16008, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| } | |
| metal_a_supports_paint_setup(11, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| if (direction == 0 || direction == 3) { | |
| paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); | |
| } | |
| paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 1: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15997, 0, 0, 32, 16, 3, height, 0, 0, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16001, 0, 0, 34, 16, 3, height, 0, 0, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16005, 0, 0, 32, 16, 3, height, 0, 16, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16009, 0, 0, 32, 16, 3, height, 0, 16, height); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 2: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15998, 0, 0, 16, 16, 3, height, 0, 16, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16002, 0, 0, 16, 16, 3, height, 16, 16, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16006, 0, 0, 16, 16, 3, height, 16, 0, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16010, 0, 0, 16, 16, 3, height, 0, 0, height); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 3: | |
| 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 + 32, 0x20); | |
| break; | |
| case 4: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15999, 0, 0, 16, 16, 3, height, 16, 16, height); | |
| metal_a_supports_paint_setup(11, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16003, 0, 0, 16, 18, 3, height, 0, 16, height); | |
| metal_a_supports_paint_setup(11, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16007, 0, 0, 16, 16, 3, height, 0, 0, height); | |
| metal_a_supports_paint_setup(11, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16011, 0, 0, 16, 16, 3, height, 16, 0, height); | |
| metal_a_supports_paint_setup(11, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| } | |
| } | |
| static void multi_dimension_rc_alt_track_right_eighth_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (trackSequence) { | |
| case 0: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15980, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15984, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15988, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15992, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| } | |
| metal_a_supports_paint_setup(11, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| if (direction == 0 || direction == 3) { | |
| paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); | |
| } | |
| paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 1: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15981, 0, 0, 32, 16, 3, height, 0, 16, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15985, 0, 0, 32, 16, 3, height, 0, 16, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15989, 0, 0, 34, 16, 3, height, 0, 0, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15993, 0, 0, 32, 16, 3, height, 0, 0, height); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 2: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15982, 0, 0, 16, 16, 3, height, 0, 0, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15986, 0, 0, 16, 16, 3, height, 16, 0, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15990, 0, 0, 28, 28, 3, height, 4, 4, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15994, 0, 0, 16, 16, 3, height, 0, 16, height); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 3: | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 4: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15983, 0, 0, 16, 16, 3, height, 16, 0, height); | |
| metal_a_supports_paint_setup(11, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15987, 0, 0, 16, 16, 3, height, 0, 0, height); | |
| metal_a_supports_paint_setup(11, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15991, 0, 0, 16, 18, 3, height, 0, 16, height); | |
| metal_a_supports_paint_setup(11, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 15995, 0, 0, 16, 16, 3, height, 16, 16, height); | |
| metal_a_supports_paint_setup(11, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| } | |
| } | |
| static void multi_dimension_rc_alt_track_left_eighth_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; | |
| multi_dimension_rc_alt_track_right_eighth_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); | |
| } | |
| static void multi_dimension_rc_alt_track_right_eighth_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; | |
| multi_dimension_rc_alt_track_left_eighth_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); | |
| } | |
| static void multi_dimension_rc_alt_track_left_eighth_bank_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (trackSequence) { | |
| case 0: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16028, 0, 0, 32, 1, 26, height, 0, 27, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16032, 0, 0, 32, 1, 26, height, 0, 27, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16036, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16040, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| } | |
| metal_a_supports_paint_setup(11, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| if (direction == 0 || direction == 3) { | |
| paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); | |
| } | |
| paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 1: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16029, 0, 0, 32, 16, 3, height, 0, 0, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16033, 0, 0, 34, 16, 0, height, 0, 0, height + 27); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16037, 0, 0, 32, 16, 3, height, 0, 16, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16041, 0, 0, 32, 16, 3, height, 0, 16, height); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 2: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16030, 0, 0, 16, 16, 3, height, 0, 16, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16034, 0, 0, 16, 16, 0, height, 16, 16, height + 27); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16038, 0, 0, 16, 16, 3, height, 16, 0, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16042, 0, 0, 16, 16, 3, height, 0, 0, height); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 3: | |
| 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 + 32, 0x20); | |
| break; | |
| case 4: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16031, 0, 0, 16, 16, 3, height, 16, 16, height); | |
| metal_a_supports_paint_setup(11, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16035, 0, 0, 16, 18, 0, height, 0, 16, height + 27); | |
| metal_a_supports_paint_setup(11, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16039, 0, 0, 16, 16, 3, height, 0, 0, height); | |
| metal_a_supports_paint_setup(11, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16043, 0, 0, 16, 16, 3, height, 16, 0, height); | |
| metal_a_supports_paint_setup(11, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| } | |
| } | |
| static void multi_dimension_rc_alt_track_right_eighth_bank_to_diag(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (trackSequence) { | |
| case 0: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16012, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16016, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16020, 0, 0, 32, 1, 26, height, 0, 27, height); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16024, 0, 0, 32, 1, 26, height, 0, 27, height); | |
| break; | |
| } | |
| metal_a_supports_paint_setup(11, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| if (direction == 0 || direction == 3) { | |
| paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); | |
| } | |
| paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 1: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16013, 0, 0, 16, 16, 3, height, 0, 0, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16017, 0, 0, 32, 16, 3, height, 0, 16, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16021, 0, 0, 34, 16, 0, height, 0, 0, height + 27); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16025, 0, 0, 32, 16, 3, height, 0, 0, height); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 2: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16014, 0, 0, 16, 16, 3, height, 0, 0, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16018, 0, 0, 16, 16, 3, height, 16, 0, height); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16022, 0, 0, 28, 28, 0, height, 4, 4, height + 27); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16026, 0, 0, 16, 16, 3, height, 0, 16, height); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 3: | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 4: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16015, 0, 0, 16, 16, 3, height, 16, 0, height); | |
| metal_a_supports_paint_setup(11, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16019, 0, 0, 16, 16, 3, height, 0, 0, height); | |
| metal_a_supports_paint_setup(11, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16023, 0, 0, 16, 18, 0, height, 0, 16, height + 27); | |
| metal_a_supports_paint_setup(11, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16027, 0, 0, 16, 16, 3, height, 16, 16, height); | |
| metal_a_supports_paint_setup(11, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| } | |
| } | |
| static void multi_dimension_rc_alt_track_left_eighth_bank_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; | |
| multi_dimension_rc_alt_track_right_eighth_bank_to_diag(rideIndex, trackSequence, (direction + 2) & 3, height, mapElement); | |
| } | |
| static void multi_dimension_rc_alt_track_right_eighth_bank_to_orthogonal(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; | |
| multi_dimension_rc_alt_track_left_eighth_bank_to_diag(rideIndex, trackSequence, (direction + 3) & 3, height, mapElement); | |
| } | |
| static void multi_dimension_rc_alt_track_diag_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (trackSequence) { | |
| case 0: | |
| if (track_element_is_lift_hill(mapElement)) { | |
| switch (direction) { | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16109, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| } else { | |
| switch (direction) { | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16047, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 1: | |
| if (track_element_is_lift_hill(mapElement)) { | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16106, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| } else { | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16044, -16, -16, 32, 32, 3, height, -16, -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 + 32, 0x20); | |
| break; | |
| case 2: | |
| if (track_element_is_lift_hill(mapElement)) { | |
| switch (direction) { | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16108, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| } else { | |
| switch (direction) { | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16046, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 3: | |
| if (track_element_is_lift_hill(mapElement)) { | |
| switch (direction) { | |
| case 0: | |
| metal_a_supports_paint_setup(11, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16107, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| metal_a_supports_paint_setup(11, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 2: | |
| metal_a_supports_paint_setup(11, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 3: | |
| metal_a_supports_paint_setup(11, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| } | |
| } else { | |
| switch (direction) { | |
| case 0: | |
| metal_a_supports_paint_setup(11, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16045, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| metal_a_supports_paint_setup(11, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 2: | |
| metal_a_supports_paint_setup(11, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 3: | |
| metal_a_supports_paint_setup(11, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| 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 + 32, 0x20); | |
| break; | |
| } | |
| } | |
| static void multi_dimension_rc_alt_track_diag_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (trackSequence) { | |
| case 0: | |
| if (track_element_is_lift_hill(mapElement)) { | |
| switch (direction) { | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16121, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| } else { | |
| switch (direction) { | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16059, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 56, 0x20); | |
| break; | |
| case 1: | |
| if (track_element_is_lift_hill(mapElement)) { | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16118, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| } else { | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16056, -16, -16, 32, 32, 3, height, -16, -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 + 56, 0x20); | |
| break; | |
| case 2: | |
| if (track_element_is_lift_hill(mapElement)) { | |
| switch (direction) { | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16120, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| } else { | |
| switch (direction) { | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16058, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 56, 0x20); | |
| break; | |
| case 3: | |
| if (track_element_is_lift_hill(mapElement)) { | |
| switch (direction) { | |
| case 0: | |
| metal_b_supports_paint_setup(11, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16119, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| metal_b_supports_paint_setup(11, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 2: | |
| metal_b_supports_paint_setup(11, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 3: | |
| metal_b_supports_paint_setup(11, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| } | |
| } else { | |
| switch (direction) { | |
| case 0: | |
| metal_b_supports_paint_setup(11, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16057, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| metal_b_supports_paint_setup(11, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 2: | |
| metal_b_supports_paint_setup(11, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 3: | |
| metal_b_supports_paint_setup(11, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); | |
| 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 + 56, 0x20); | |
| break; | |
| } | |
| } | |
| static void multi_dimension_rc_alt_track_diag_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (trackSequence) { | |
| case 0: | |
| switch (direction) { | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16071, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 104, 0x20); | |
| break; | |
| case 1: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16068, -16, -16, 32, 32, 3, height, -16, -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 + 104, 0x20); | |
| break; | |
| case 2: | |
| switch (direction) { | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16070, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 104, 0x20); | |
| break; | |
| case 3: | |
| switch (direction) { | |
| case 0: | |
| metal_b_supports_paint_setup(11, 1, 32, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16069, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| metal_b_supports_paint_setup(11, 0, 36, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 2: | |
| metal_b_supports_paint_setup(11, 2, 32, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 3: | |
| metal_b_supports_paint_setup(11, 3, 36, height, gTrackColours[SCHEME_SUPPORTS]); | |
| 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 + 104, 0x20); | |
| break; | |
| } | |
| } | |
| static void multi_dimension_rc_alt_track_diag_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (trackSequence) { | |
| case 0: | |
| if (track_element_is_lift_hill(mapElement)) { | |
| switch (direction) { | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16113, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| } else { | |
| switch (direction) { | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16051, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 48, 0x20); | |
| break; | |
| case 1: | |
| if (track_element_is_lift_hill(mapElement)) { | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16110, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| } else { | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16048, -16, -16, 32, 32, 3, height, -16, -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 + 48, 0x20); | |
| break; | |
| case 2: | |
| if (track_element_is_lift_hill(mapElement)) { | |
| switch (direction) { | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16112, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| } else { | |
| switch (direction) { | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16050, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 48, 0x20); | |
| break; | |
| case 3: | |
| if (track_element_is_lift_hill(mapElement)) { | |
| switch (direction) { | |
| case 0: | |
| metal_b_supports_paint_setup(11, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16111, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| metal_b_supports_paint_setup(11, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 2: | |
| metal_b_supports_paint_setup(11, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 3: | |
| metal_b_supports_paint_setup(11, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| } | |
| } else { | |
| switch (direction) { | |
| case 0: | |
| metal_b_supports_paint_setup(11, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16049, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| metal_b_supports_paint_setup(11, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 2: | |
| metal_b_supports_paint_setup(11, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 3: | |
| metal_b_supports_paint_setup(11, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| 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 + 48, 0x20); | |
| break; | |
| } | |
| } | |
| static void multi_dimension_rc_alt_track_diag_25_deg_up_to_60_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (trackSequence) { | |
| case 0: | |
| switch (direction) { | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16063, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 72, 0x20); | |
| break; | |
| case 1: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16060, -16, -16, 32, 32, 3, height, -16, -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 + 72, 0x20); | |
| break; | |
| case 2: | |
| switch (direction) { | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16062, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 72, 0x20); | |
| break; | |
| case 3: | |
| switch (direction) { | |
| case 0: | |
| metal_b_supports_paint_setup(11, 1, 16, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16061, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| metal_b_supports_paint_setup(11, 0, 16, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 2: | |
| metal_b_supports_paint_setup(11, 2, 16, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 3: | |
| metal_b_supports_paint_setup(11, 3, 16, height, gTrackColours[SCHEME_SUPPORTS]); | |
| 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 + 72, 0x20); | |
| break; | |
| } | |
| } | |
| static void multi_dimension_rc_alt_track_diag_60_deg_up_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (trackSequence) { | |
| case 0: | |
| switch (direction) { | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16067, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 72, 0x20); | |
| break; | |
| case 1: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16064, -16, -16, 32, 32, 3, height, -16, -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 + 72, 0x20); | |
| break; | |
| case 2: | |
| switch (direction) { | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16066, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 72, 0x20); | |
| break; | |
| case 3: | |
| switch (direction) { | |
| case 0: | |
| metal_b_supports_paint_setup(11, 1, 21, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16065, -16, -16, 16, 16, 3, height, 0, 0, height); | |
| metal_b_supports_paint_setup(11, 0, 21, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 2: | |
| metal_b_supports_paint_setup(11, 2, 21, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 3: | |
| metal_b_supports_paint_setup(11, 3, 21, height, gTrackColours[SCHEME_SUPPORTS]); | |
| 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 + 72, 0x20); | |
| break; | |
| } | |
| } | |
| static void multi_dimension_rc_alt_track_diag_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (trackSequence) { | |
| case 0: | |
| if (track_element_is_lift_hill(mapElement)) { | |
| switch (direction) { | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16117, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| } else { | |
| switch (direction) { | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16055, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 56, 0x20); | |
| break; | |
| case 1: | |
| if (track_element_is_lift_hill(mapElement)) { | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16114, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| } else { | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16052, -16, -16, 32, 32, 3, height, -16, -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 + 56, 0x20); | |
| break; | |
| case 2: | |
| if (track_element_is_lift_hill(mapElement)) { | |
| switch (direction) { | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16116, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| } else { | |
| switch (direction) { | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16054, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 56, 0x20); | |
| break; | |
| case 3: | |
| if (track_element_is_lift_hill(mapElement)) { | |
| switch (direction) { | |
| case 0: | |
| metal_b_supports_paint_setup(11, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16115, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| metal_b_supports_paint_setup(11, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 2: | |
| metal_b_supports_paint_setup(11, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 3: | |
| metal_b_supports_paint_setup(11, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| } | |
| } else { | |
| switch (direction) { | |
| case 0: | |
| metal_b_supports_paint_setup(11, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16053, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| metal_b_supports_paint_setup(11, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 2: | |
| metal_b_supports_paint_setup(11, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 3: | |
| metal_b_supports_paint_setup(11, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); | |
| 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 + 56, 0x20); | |
| break; | |
| } | |
| } | |
| static void multi_dimension_rc_alt_track_diag_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (trackSequence) { | |
| case 0: | |
| if (track_element_is_lift_hill(mapElement)) { | |
| switch (direction) { | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16119, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| } else { | |
| switch (direction) { | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16057, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 56, 0x20); | |
| break; | |
| case 1: | |
| if (track_element_is_lift_hill(mapElement)) { | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16120, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| } else { | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16058, -16, -16, 32, 32, 3, height, -16, -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 + 56, 0x20); | |
| break; | |
| case 2: | |
| if (track_element_is_lift_hill(mapElement)) { | |
| switch (direction) { | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16118, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| } else { | |
| switch (direction) { | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16056, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 56, 0x20); | |
| break; | |
| case 3: | |
| if (track_element_is_lift_hill(mapElement)) { | |
| switch (direction) { | |
| case 0: | |
| metal_b_supports_paint_setup(11, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16121, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| metal_b_supports_paint_setup(11, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 2: | |
| metal_b_supports_paint_setup(11, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 3: | |
| metal_b_supports_paint_setup(11, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| } | |
| } else { | |
| switch (direction) { | |
| case 0: | |
| metal_b_supports_paint_setup(11, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16059, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| metal_b_supports_paint_setup(11, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 2: | |
| metal_b_supports_paint_setup(11, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 3: | |
| metal_b_supports_paint_setup(11, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); | |
| 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 + 56, 0x20); | |
| break; | |
| } | |
| } | |
| static void multi_dimension_rc_alt_track_diag_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (trackSequence) { | |
| case 0: | |
| switch (direction) { | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16069, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 104, 0x20); | |
| break; | |
| case 1: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16070, -16, -16, 32, 32, 3, height, -16, -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 + 104, 0x20); | |
| break; | |
| case 2: | |
| switch (direction) { | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16068, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 104, 0x20); | |
| break; | |
| case 3: | |
| switch (direction) { | |
| case 0: | |
| metal_b_supports_paint_setup(11, 1, 24, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16071, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| metal_b_supports_paint_setup(11, 0, 28, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 2: | |
| metal_b_supports_paint_setup(11, 2, 24, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 3: | |
| metal_b_supports_paint_setup(11, 3, 28, height, gTrackColours[SCHEME_SUPPORTS]); | |
| 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 + 104, 0x20); | |
| break; | |
| } | |
| } | |
| static void multi_dimension_rc_alt_track_diag_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (trackSequence) { | |
| case 0: | |
| if (track_element_is_lift_hill(mapElement)) { | |
| switch (direction) { | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16115, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| } else { | |
| switch (direction) { | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16053, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 48, 0x20); | |
| break; | |
| case 1: | |
| if (track_element_is_lift_hill(mapElement)) { | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16116, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| } else { | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16054, -16, -16, 32, 32, 3, height, -16, -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 + 56, 0x20); | |
| break; | |
| case 2: | |
| if (track_element_is_lift_hill(mapElement)) { | |
| switch (direction) { | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16114, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| } else { | |
| switch (direction) { | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16052, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 56, 0x20); | |
| break; | |
| case 3: | |
| if (track_element_is_lift_hill(mapElement)) { | |
| switch (direction) { | |
| case 0: | |
| metal_b_supports_paint_setup(11, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16117, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| metal_b_supports_paint_setup(11, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 2: | |
| metal_b_supports_paint_setup(11, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 3: | |
| metal_b_supports_paint_setup(11, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| } | |
| } else { | |
| switch (direction) { | |
| case 0: | |
| metal_b_supports_paint_setup(11, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16055, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| metal_b_supports_paint_setup(11, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 2: | |
| metal_b_supports_paint_setup(11, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 3: | |
| metal_b_supports_paint_setup(11, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); | |
| 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 + 56, 0x20); | |
| break; | |
| } | |
| } | |
| static void multi_dimension_rc_alt_track_diag_25_deg_down_to_60_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (trackSequence) { | |
| case 0: | |
| switch (direction) { | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16065, -16, -16, 16, 16, 3, height, 0, 0, height); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 72, 0x20); | |
| break; | |
| case 1: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16066, -16, -16, 32, 32, 3, height, -16, -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 + 72, 0x20); | |
| break; | |
| case 2: | |
| switch (direction) { | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16064, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 72, 0x20); | |
| break; | |
| case 3: | |
| switch (direction) { | |
| case 0: | |
| metal_b_supports_paint_setup(11, 1, 17, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16067, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| metal_b_supports_paint_setup(11, 0, 17, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 2: | |
| metal_b_supports_paint_setup(11, 2, 17, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 3: | |
| metal_b_supports_paint_setup(11, 3, 17, height, gTrackColours[SCHEME_SUPPORTS]); | |
| 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 + 72, 0x20); | |
| break; | |
| } | |
| } | |
| static void multi_dimension_rc_alt_track_diag_60_deg_down_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (trackSequence) { | |
| case 0: | |
| switch (direction) { | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16061, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 72, 0x20); | |
| break; | |
| case 1: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16062, -16, -16, 32, 32, 3, height, -16, -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 + 72, 0x20); | |
| break; | |
| case 2: | |
| switch (direction) { | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16060, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 72, 0x20); | |
| break; | |
| case 3: | |
| switch (direction) { | |
| case 0: | |
| metal_b_supports_paint_setup(11, 1, 8, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16063, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| metal_b_supports_paint_setup(11, 0, 8, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 2: | |
| metal_b_supports_paint_setup(11, 2, 8, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 3: | |
| metal_b_supports_paint_setup(11, 3, 8, height, gTrackColours[SCHEME_SUPPORTS]); | |
| 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 + 72, 0x20); | |
| break; | |
| } | |
| } | |
| static void multi_dimension_rc_alt_track_diag_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (trackSequence) { | |
| case 0: | |
| if (track_element_is_lift_hill(mapElement)) { | |
| switch (direction) { | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16111, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| } else { | |
| switch (direction) { | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16049, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 48, 0x20); | |
| break; | |
| case 1: | |
| if (track_element_is_lift_hill(mapElement)) { | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16112, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| } else { | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16050, -16, -16, 32, 32, 3, height, -16, -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 + 48, 0x20); | |
| break; | |
| case 2: | |
| if (track_element_is_lift_hill(mapElement)) { | |
| switch (direction) { | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16110, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| } else { | |
| switch (direction) { | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16048, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 48, 0x20); | |
| break; | |
| case 3: | |
| if (track_element_is_lift_hill(mapElement)) { | |
| switch (direction) { | |
| case 0: | |
| metal_b_supports_paint_setup(11, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16113, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| metal_b_supports_paint_setup(11, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 2: | |
| metal_b_supports_paint_setup(11, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 3: | |
| metal_b_supports_paint_setup(11, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| } | |
| } else { | |
| switch (direction) { | |
| case 0: | |
| metal_b_supports_paint_setup(11, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16051, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| metal_b_supports_paint_setup(11, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 2: | |
| metal_b_supports_paint_setup(11, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 3: | |
| metal_b_supports_paint_setup(11, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| 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 + 48, 0x20); | |
| break; | |
| } | |
| } | |
| static void multi_dimension_rc_alt_track_diag_flat_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (trackSequence) { | |
| case 0: | |
| switch (direction) { | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16079, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 1: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16076, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16080, -16, -16, 32, 32, 0, height, -16, -16, height + 27); | |
| 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 + 32, 0x20); | |
| break; | |
| case 2: | |
| switch (direction) { | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16078, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 3: | |
| switch (direction) { | |
| case 0: | |
| metal_a_supports_paint_setup(11, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16077, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| metal_a_supports_paint_setup(11, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 2: | |
| metal_a_supports_paint_setup(11, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 3: | |
| metal_a_supports_paint_setup(11, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| 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 + 32, 0x20); | |
| break; | |
| } | |
| } | |
| static void multi_dimension_rc_alt_track_diag_flat_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (trackSequence) { | |
| case 0: | |
| switch (direction) { | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16084, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 1: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16081, -16, -16, 32, 32, 3, height, -16, -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 + 32, 0x20); | |
| break; | |
| case 2: | |
| switch (direction) { | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16083, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16085, -16, -16, 32, 32, 0, height, -16, -16, height + 27); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 3: | |
| switch (direction) { | |
| case 0: | |
| metal_a_supports_paint_setup(11, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16082, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| metal_a_supports_paint_setup(11, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 2: | |
| metal_a_supports_paint_setup(11, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 3: | |
| metal_a_supports_paint_setup(11, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| 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 + 32, 0x20); | |
| break; | |
| } | |
| } | |
| static void multi_dimension_rc_alt_track_diag_left_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (trackSequence) { | |
| case 0: | |
| switch (direction) { | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16082, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 1: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16083, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16085, -16, -16, 32, 32, 0, height, -16, -16, height + 27); | |
| 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 + 32, 0x20); | |
| break; | |
| case 2: | |
| switch (direction) { | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16081, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 3: | |
| switch (direction) { | |
| case 0: | |
| metal_a_supports_paint_setup(11, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16084, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| metal_a_supports_paint_setup(11, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 2: | |
| metal_a_supports_paint_setup(11, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 3: | |
| metal_a_supports_paint_setup(11, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| 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 + 32, 0x20); | |
| break; | |
| } | |
| } | |
| static void multi_dimension_rc_alt_track_diag_right_bank_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (trackSequence) { | |
| case 0: | |
| switch (direction) { | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16077, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 1: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16078, -16, -16, 32, 32, 3, height, -16, -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 + 32, 0x20); | |
| break; | |
| case 2: | |
| switch (direction) { | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16076, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16080, -16, -16, 32, 32, 0, height, -16, -16, height + 27); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 3: | |
| switch (direction) { | |
| case 0: | |
| metal_a_supports_paint_setup(11, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16079, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| metal_a_supports_paint_setup(11, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 2: | |
| metal_a_supports_paint_setup(11, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 3: | |
| metal_a_supports_paint_setup(11, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| 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 + 32, 0x20); | |
| break; | |
| } | |
| } | |
| static void multi_dimension_rc_alt_track_diag_left_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (trackSequence) { | |
| case 0: | |
| switch (direction) { | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16099, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 48, 0x20); | |
| break; | |
| case 1: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16096, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16100, -16, -16, 32, 32, 0, height, -16, -16, height + 35); | |
| 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 + 48, 0x20); | |
| break; | |
| case 2: | |
| switch (direction) { | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16098, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 48, 0x20); | |
| break; | |
| case 3: | |
| switch (direction) { | |
| case 0: | |
| metal_b_supports_paint_setup(11, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16097, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| metal_b_supports_paint_setup(11, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 2: | |
| metal_b_supports_paint_setup(11, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 3: | |
| metal_b_supports_paint_setup(11, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| 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 + 48, 0x20); | |
| break; | |
| } | |
| } | |
| static void multi_dimension_rc_alt_track_diag_right_bank_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (trackSequence) { | |
| case 0: | |
| switch (direction) { | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16104, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 48, 0x20); | |
| break; | |
| case 1: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16101, -16, -16, 32, 32, 3, height, -16, -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 + 48, 0x20); | |
| break; | |
| case 2: | |
| switch (direction) { | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16103, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16105, -16, -16, 32, 32, 0, height, -16, -16, height + 35); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 48, 0x20); | |
| break; | |
| case 3: | |
| switch (direction) { | |
| case 0: | |
| metal_b_supports_paint_setup(11, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16102, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| metal_b_supports_paint_setup(11, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 2: | |
| metal_b_supports_paint_setup(11, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 3: | |
| metal_b_supports_paint_setup(11, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| 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 + 48, 0x20); | |
| break; | |
| } | |
| } | |
| static void multi_dimension_rc_alt_track_diag_25_deg_up_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (trackSequence) { | |
| case 0: | |
| switch (direction) { | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16089, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 56, 0x20); | |
| break; | |
| case 1: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16086, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16090, -16, -16, 32, 32, 0, height, -16, -16, height + 35); | |
| 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 + 56, 0x20); | |
| break; | |
| case 2: | |
| switch (direction) { | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16088, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 56, 0x20); | |
| break; | |
| case 3: | |
| switch (direction) { | |
| case 0: | |
| metal_b_supports_paint_setup(11, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16087, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| metal_b_supports_paint_setup(11, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 2: | |
| metal_b_supports_paint_setup(11, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 3: | |
| metal_b_supports_paint_setup(11, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); | |
| 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 + 56, 0x20); | |
| break; | |
| } | |
| } | |
| static void multi_dimension_rc_alt_track_diag_25_deg_up_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (trackSequence) { | |
| case 0: | |
| switch (direction) { | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16094, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 56, 0x20); | |
| break; | |
| case 1: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16091, -16, -16, 32, 32, 3, height, -16, -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 + 56, 0x20); | |
| break; | |
| case 2: | |
| switch (direction) { | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16093, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16095, -16, -16, 32, 32, 0, height, -16, -16, height + 35); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 56, 0x20); | |
| break; | |
| case 3: | |
| switch (direction) { | |
| case 0: | |
| metal_b_supports_paint_setup(11, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16092, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| metal_b_supports_paint_setup(11, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 2: | |
| metal_b_supports_paint_setup(11, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 3: | |
| metal_b_supports_paint_setup(11, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); | |
| 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 + 56, 0x20); | |
| break; | |
| } | |
| } | |
| static void multi_dimension_rc_alt_track_diag_left_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (trackSequence) { | |
| case 0: | |
| switch (direction) { | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16092, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 48, 0x20); | |
| break; | |
| case 1: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16093, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16095, -16, -16, 32, 32, 0, height, -16, -16, height + 35); | |
| 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 + 56, 0x20); | |
| break; | |
| case 2: | |
| switch (direction) { | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16091, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 56, 0x20); | |
| break; | |
| case 3: | |
| switch (direction) { | |
| case 0: | |
| metal_b_supports_paint_setup(11, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16094, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| metal_b_supports_paint_setup(11, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 2: | |
| metal_b_supports_paint_setup(11, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 3: | |
| metal_b_supports_paint_setup(11, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); | |
| 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 + 56, 0x20); | |
| break; | |
| } | |
| } | |
| static void multi_dimension_rc_alt_track_diag_right_bank_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (trackSequence) { | |
| case 0: | |
| switch (direction) { | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16087, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 48, 0x20); | |
| break; | |
| case 1: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16088, -16, -16, 32, 32, 3, height, -16, -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 + 56, 0x20); | |
| break; | |
| case 2: | |
| switch (direction) { | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16086, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16090, -16, -16, 32, 32, 0, height, -16, -16, height + 35); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 56, 0x20); | |
| break; | |
| case 3: | |
| switch (direction) { | |
| case 0: | |
| metal_b_supports_paint_setup(11, 1, 4, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16089, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| metal_b_supports_paint_setup(11, 0, 4, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 2: | |
| metal_b_supports_paint_setup(11, 2, 4, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 3: | |
| metal_b_supports_paint_setup(11, 3, 4, height, gTrackColours[SCHEME_SUPPORTS]); | |
| 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 + 56, 0x20); | |
| break; | |
| } | |
| } | |
| static void multi_dimension_rc_alt_track_diag_25_deg_down_to_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (trackSequence) { | |
| case 0: | |
| switch (direction) { | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16102, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 48, 0x20); | |
| break; | |
| case 1: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16103, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16105, -16, -16, 32, 32, 0, height, -16, -16, height + 35); | |
| 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 + 48, 0x20); | |
| break; | |
| case 2: | |
| switch (direction) { | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16101, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 48, 0x20); | |
| break; | |
| case 3: | |
| switch (direction) { | |
| case 0: | |
| metal_b_supports_paint_setup(11, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16104, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| metal_b_supports_paint_setup(11, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 2: | |
| metal_b_supports_paint_setup(11, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 3: | |
| metal_b_supports_paint_setup(11, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| 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 + 48, 0x20); | |
| break; | |
| } | |
| } | |
| static void multi_dimension_rc_alt_track_diag_25_deg_down_to_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (trackSequence) { | |
| case 0: | |
| switch (direction) { | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16097, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 48, 0x20); | |
| break; | |
| case 1: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16098, -16, -16, 32, 32, 3, height, -16, -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 + 48, 0x20); | |
| break; | |
| case 2: | |
| switch (direction) { | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16096, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16100, -16, -16, 32, 32, 0, height, -16, -16, height + 35); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 48, 0x20); | |
| break; | |
| case 3: | |
| switch (direction) { | |
| case 0: | |
| metal_b_supports_paint_setup(11, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16099, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| metal_b_supports_paint_setup(11, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 2: | |
| metal_b_supports_paint_setup(11, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 3: | |
| metal_b_supports_paint_setup(11, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| 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 + 48, 0x20); | |
| break; | |
| } | |
| } | |
| static void multi_dimension_rc_alt_track_diag_left_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (trackSequence) { | |
| case 0: | |
| switch (direction) { | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16075, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 1: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16072, -16, -16, 32, 32, 0, height, -16, -16, height + 27); | |
| 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 + 32, 0x20); | |
| break; | |
| case 2: | |
| switch (direction) { | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16074, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 3: | |
| switch (direction) { | |
| case 0: | |
| metal_a_supports_paint_setup(11, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16073, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| metal_a_supports_paint_setup(11, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 2: | |
| metal_a_supports_paint_setup(11, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 3: | |
| metal_a_supports_paint_setup(11, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| 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 + 32, 0x20); | |
| break; | |
| } | |
| } | |
| static void multi_dimension_rc_alt_track_diag_right_bank(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (trackSequence) { | |
| case 0: | |
| switch (direction) { | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16073, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 1: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16074, -16, -16, 32, 32, 3, height, -16, -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 + 32, 0x20); | |
| break; | |
| case 2: | |
| switch (direction) { | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16072, -16, -16, 32, 32, 0, height, -16, -16, height + 27); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| break; | |
| case 3: | |
| switch (direction) { | |
| case 0: | |
| metal_a_supports_paint_setup(11, 1, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16075, -16, -16, 32, 32, 3, height, -16, -16, height); | |
| metal_a_supports_paint_setup(11, 0, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 2: | |
| metal_a_supports_paint_setup(11, 2, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| break; | |
| case 3: | |
| metal_a_supports_paint_setup(11, 3, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| 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 + 32, 0x20); | |
| break; | |
| } | |
| } | |
| static void multi_dimension_rc_alt_track_left_flyer_twist_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (trackSequence) { | |
| case 0: | |
| switch (direction) { | |
| case 0: | |
| sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26368, 0, 6, 32, 20, 3, height); | |
| break; | |
| case 1: | |
| sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26374, 0, 6, 32, 20, 3, height); | |
| break; | |
| case 2: | |
| sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26367, 0, 6, 32, 20, 3, height); | |
| break; | |
| case 3: | |
| sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26373, 0, 6, 32, 20, 3, height); | |
| break; | |
| } | |
| metal_a_supports_paint_setup(11, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| if (direction == 0 || direction == 3) { | |
| paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); | |
| } | |
| 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 + 32, 0x20); | |
| break; | |
| case 1: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26369, 0, 6, 32, 20, 3, height + 24, 0, 6, height + 24); | |
| break; | |
| case 1: | |
| sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26375, 0, 6, 32, 20, 3, height + 24); | |
| break; | |
| case 2: | |
| sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26366, 0, 6, 32, 20, 3, height + 24); | |
| break; | |
| case 3: | |
| sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26372, 0, 6, 32, 20, 3, height + 24); | |
| 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 + 32, 0x20); | |
| break; | |
| case 2: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26370, 0, 6, 32, 20, 3, height + 24, 0, 6, height + 24); | |
| break; | |
| case 1: | |
| sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26376, 0, 6, 32, 20, 3, height + 24); | |
| break; | |
| case 2: | |
| sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26365, 0, 6, 32, 20, 3, height + 24); | |
| break; | |
| case 3: | |
| sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26371, 0, 6, 32, 20, 3, height + 24); | |
| break; | |
| } | |
| metal_a_supports_paint_setup(11, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); | |
| switch (direction) { | |
| case 1: | |
| paint_util_push_tunnel_right(height, TUNNEL_6); | |
| break; | |
| case 2: | |
| paint_util_push_tunnel_left(height, TUNNEL_6); | |
| 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 + 32, 0x20); | |
| break; | |
| } | |
| } | |
| static void multi_dimension_rc_alt_track_right_flyer_twist_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (trackSequence) { | |
| case 0: | |
| switch (direction) { | |
| case 0: | |
| sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26380, 0, 6, 32, 20, 3, height); | |
| break; | |
| case 1: | |
| sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26386, 0, 6, 32, 20, 3, height); | |
| break; | |
| case 2: | |
| sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26379, 0, 6, 32, 20, 3, height); | |
| break; | |
| case 3: | |
| sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26385, 0, 6, 32, 20, 3, height); | |
| break; | |
| } | |
| metal_a_supports_paint_setup(11, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| if (direction == 0 || direction == 3) { | |
| paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); | |
| } | |
| 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 + 32, 0x20); | |
| break; | |
| case 1: | |
| switch (direction) { | |
| case 0: | |
| sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26381, 0, 6, 32, 20, 3, height + 24); | |
| break; | |
| case 1: | |
| sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26387, 0, 6, 32, 20, 3, height + 24); | |
| break; | |
| case 2: | |
| sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26378, 0, 6, 32, 20, 3, height + 24); | |
| break; | |
| case 3: | |
| sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26384, 0, 6, 32, 20, 3, height + 24); | |
| 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 + 32, 0x20); | |
| break; | |
| case 2: | |
| switch (direction) { | |
| case 0: | |
| sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26382, 0, 6, 32, 20, 3, height + 24); | |
| break; | |
| case 1: | |
| sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26388, 0, 6, 32, 20, 3, height + 24); | |
| break; | |
| case 2: | |
| sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26377, 0, 6, 32, 20, 3, height + 24); | |
| break; | |
| case 3: | |
| sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26383, 0, 6, 32, 20, 3, height + 24); | |
| break; | |
| } | |
| metal_a_supports_paint_setup(11, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); | |
| switch (direction) { | |
| case 1: | |
| paint_util_push_tunnel_right(height, TUNNEL_6); | |
| break; | |
| case 2: | |
| paint_util_push_tunnel_left(height, TUNNEL_6); | |
| 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 + 32, 0x20); | |
| break; | |
| } | |
| } | |
| static void multi_dimension_rc_alt_track_left_flyer_twist_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (trackSequence) { | |
| case 0: | |
| switch (direction) { | |
| case 0: | |
| sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26365, 0, 6, 32, 20, 3, height + 24); | |
| break; | |
| case 1: | |
| sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26371, 0, 6, 32, 20, 3, height + 24); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26370, 0, 6, 32, 20, 3, height + 24, 0, 6, height + 24); | |
| break; | |
| case 3: | |
| sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26376, 0, 6, 32, 20, 3, height + 24); | |
| break; | |
| } | |
| metal_a_supports_paint_setup(11, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); | |
| if (direction == 0 || direction == 3) { | |
| paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); | |
| } | |
| 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 + 32, 0x20); | |
| break; | |
| case 1: | |
| switch (direction) { | |
| case 0: | |
| sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26366, 0, 6, 32, 20, 3, height + 24); | |
| break; | |
| case 1: | |
| sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26372, 0, 6, 32, 20, 3, height + 24); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26369, 0, 6, 32, 20, 3, height + 24, 0, 6, height + 24); | |
| break; | |
| case 3: | |
| sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26375, 0, 6, 32, 20, 3, height + 24); | |
| 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 + 32, 0x20); | |
| break; | |
| case 2: | |
| switch (direction) { | |
| case 0: | |
| sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26367, 0, 6, 32, 20, 3, height); | |
| break; | |
| case 1: | |
| sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26373, 0, 6, 32, 20, 3, height); | |
| break; | |
| case 2: | |
| sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26368, 0, 6, 32, 20, 3, height); | |
| break; | |
| case 3: | |
| sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26374, 0, 6, 32, 20, 3, height); | |
| break; | |
| } | |
| metal_a_supports_paint_setup(11, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| switch (direction) { | |
| case 1: | |
| paint_util_push_tunnel_right(height, TUNNEL_6); | |
| break; | |
| case 2: | |
| paint_util_push_tunnel_left(height, TUNNEL_6); | |
| 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 + 32, 0x20); | |
| break; | |
| } | |
| } | |
| static void multi_dimension_rc_alt_track_right_flyer_twist_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (trackSequence) { | |
| case 0: | |
| switch (direction) { | |
| case 0: | |
| sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26377, 0, 6, 32, 20, 3, height + 24); | |
| break; | |
| case 1: | |
| sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26383, 0, 6, 32, 20, 3, height + 24); | |
| break; | |
| case 2: | |
| sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26382, 0, 6, 32, 20, 3, height + 24); | |
| break; | |
| case 3: | |
| sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26388, 0, 6, 32, 20, 3, height + 24); | |
| break; | |
| } | |
| metal_a_supports_paint_setup(11, 4, 0, height + 36, gTrackColours[SCHEME_SUPPORTS]); | |
| if (direction == 0 || direction == 3) { | |
| paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); | |
| } | |
| 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 + 32, 0x20); | |
| break; | |
| case 1: | |
| switch (direction) { | |
| case 0: | |
| sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26378, 0, 6, 32, 20, 3, height + 24); | |
| break; | |
| case 1: | |
| sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26384, 0, 6, 32, 20, 3, height + 24); | |
| break; | |
| case 2: | |
| sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26381, 0, 6, 32, 20, 3, height + 24); | |
| break; | |
| case 3: | |
| sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26387, 0, 6, 32, 20, 3, height + 24); | |
| 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 + 32, 0x20); | |
| break; | |
| case 2: | |
| switch (direction) { | |
| case 0: | |
| sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26379, 0, 6, 32, 20, 3, height); | |
| break; | |
| case 1: | |
| sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26385, 0, 6, 32, 20, 3, height); | |
| break; | |
| case 2: | |
| sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26380, 0, 6, 32, 20, 3, height); | |
| break; | |
| case 3: | |
| sub_98196C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26386, 0, 6, 32, 20, 3, height); | |
| break; | |
| } | |
| metal_a_supports_paint_setup(11, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| switch (direction) { | |
| case 1: | |
| paint_util_push_tunnel_right(height, TUNNEL_6); | |
| break; | |
| case 2: | |
| paint_util_push_tunnel_left(height, TUNNEL_6); | |
| 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 + 32, 0x20); | |
| break; | |
| } | |
| } | |
| static void multi_dimension_rc_alt_track_multidim_inverted_flat_to_90_deg_quarter_loop_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (trackSequence) { | |
| case 0: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26539, 0, 0, 32, 20, 3, height + 16, 0, 6, height + 16); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26542, 0, 0, 2, 20, 3, height + 16, 0, 6, height + 18); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26545, 0, 0, 2, 20, 3, height + 16, 0, 6, height + 18); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26548, 0, 0, 32, 20, 3, height + 16, 0, 6, height + 16); | |
| break; | |
| } | |
| if (direction == 0 || direction == 3) { | |
| paint_util_push_tunnel_rotated(direction, height + 32, TUNNEL_6); | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 64, 0x20); | |
| break; | |
| case 1: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26538, 0, 0, 2, 20, 31, height + 16, 24, 6, height + 16); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26541, 0, 0, 2, 20, 3, height + 16, 0, 6, height + 18); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26544, 0, 0, 2, 20, 3, height + 16, 0, 6, height + 18); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26547, 0, 0, 2, 20, 31, height + 16, 24, 6, height + 16); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 80, 0x20); | |
| break; | |
| case 2: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26537, 0, 0, 2, 20, 31, height + 16, 28, 6, height + 24); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26540, 0, 0, 2, 20, 31, height + 16, 0, 6, height + 24); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26543, 0, 0, 2, 20, 31, height + 16, 0, 6, height + 24); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26546, 0, 0, 2, 20, 31, height + 16, 29, 6, height + 24); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 104, 0x20); | |
| break; | |
| case 3: | |
| break; | |
| } | |
| } | |
| static void multi_dimension_rc_alt_track_block_brakes(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (direction) { | |
| case 0: | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16220, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| case 1: | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16221, 0, 0, 32, 20, 3, height, 0, 6, height); | |
| break; | |
| } | |
| metal_a_supports_paint_setup(11, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]); | |
| paint_util_push_tunnel_rotated(direction, height, TUNNEL_6); | |
| paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 32, 0x20); | |
| } | |
| static void multi_dimension_rc_alt_track_multidim_90_deg_up_to_inverted_flat_quarter_loop(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (trackSequence) { | |
| case 0: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16206, 0, 0, 2, 20, 31, height, 4, 6, height + 8); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16209, 0, 0, 2, 20, 31, height, 24, 6, height + 8); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16212, 0, 0, 2, 20, 31, height, 24, 6, height + 8); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16215, 0, 0, 2, 20, 31, height, 4, 6, height + 8); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 88, 0x20); | |
| break; | |
| case 1: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16207, 0, 0, 2, 20, 31, height, -8, 6, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16210, 0, 0, 2, 20, 63, height, 24, 6, height + 8); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16213, 0, 0, 2, 20, 63, height, 24, 6, height + 8); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16216, 0, 0, 2, 20, 31, height, -8, 6, height); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 64, 0x20); | |
| break; | |
| case 2: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16208, 0, 0, 32, 20, 3, height, 0, 6, height + 24); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16211, 0, 0, 2, 20, 31, height, 24, 6, height + 8); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16214, 0, 0, 2, 20, 31, height, 24, 6, height + 8); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16217, 0, 0, 32, 20, 3, height, 0, 6, height + 24); | |
| break; | |
| } | |
| if (direction == 0 || direction == 3) { | |
| paint_util_push_tunnel_rotated(direction, height + 16, TUNNEL_6); | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 48, 0x20); | |
| break; | |
| } | |
| } | |
| static void multi_dimension_rc_alt_track_multidim_flat_to_90_deg_down_quarter_loop(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (trackSequence) { | |
| case 0: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26539, 0, 0, 32, 20, 3, height + 16, 0, 6, height + 16); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26542, 0, 0, 2, 20, 3, height + 16, 0, 6, height + 18); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26545, 0, 0, 2, 20, 3, height + 16, 0, 6, height + 18); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26548, 0, 0, 32, 20, 3, height + 16, 0, 6, height + 16); | |
| break; | |
| } | |
| if (direction == 0 || direction == 3) { | |
| paint_util_push_tunnel_rotated(direction, height + 32, TUNNEL_6); | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 64, 0x20); | |
| break; | |
| case 1: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26538, 0, 0, 2, 20, 31, height + 16, 24, 6, height + 16); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26541, 0, 0, 2, 20, 3, height + 16, 0, 6, height + 18); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26544, 0, 0, 2, 20, 3, height + 16, 0, 6, height + 18); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26547, 0, 0, 2, 20, 31, height + 16, 24, 6, height + 16); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 80, 0x20); | |
| break; | |
| case 2: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26537, 0, 0, 2, 20, 31, height + 16, 28, 6, height + 24); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26540, 0, 0, 2, 20, 31, height + 16, 0, 6, height + 24); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26543, 0, 0, 2, 20, 31, height + 16, 0, 6, height + 24); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 26546, 0, 0, 2, 20, 31, height + 16, 29, 6, height + 24); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 104, 0x20); | |
| break; | |
| case 3: | |
| break; | |
| } | |
| } | |
| static void multi_dimension_rc_alt_track_elem_255(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) | |
| { | |
| switch (trackSequence) { | |
| case 0: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16206, 0, 0, 2, 20, 31, height, 4, 6, height + 8); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16209, 0, 0, 2, 20, 31, height, 24, 6, height + 8); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16212, 0, 0, 2, 20, 31, height, 24, 6, height + 8); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16215, 0, 0, 2, 20, 31, height, 4, 6, height + 8); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 88, 0x20); | |
| break; | |
| case 1: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16207, 0, 0, 2, 20, 31, height, -8, 6, height); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16210, 0, 0, 2, 20, 63, height, 24, 6, height + 8); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16213, 0, 0, 2, 20, 63, height, 24, 6, height + 8); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16216, 0, 0, 2, 20, 31, height, -8, 6, height); | |
| break; | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 64, 0x20); | |
| break; | |
| case 2: | |
| switch (direction) { | |
| case 0: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16208, 0, 0, 32, 20, 3, height, 0, 6, height + 24); | |
| break; | |
| case 1: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16211, 0, 0, 2, 20, 31, height, 24, 6, height + 8); | |
| break; | |
| case 2: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16214, 0, 0, 2, 20, 31, height, 24, 6, height + 8); | |
| break; | |
| case 3: | |
| sub_98197C_rotated(direction, gTrackColours[SCHEME_TRACK] | 16217, 0, 0, 32, 20, 3, height, 0, 6, height + 24); | |
| break; | |
| } | |
| if (direction == 0 || direction == 3) { | |
| paint_util_push_tunnel_rotated(direction, height + 16, TUNNEL_6); | |
| } | |
| paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); | |
| paint_util_set_general_support_height(height + 48, 0x20); | |
| break; | |
| } | |
| } | |
| TRACK_PAINT_FUNCTION get_track_paint_function_multi_dimension_rc_alt(int trackType, int direction) | |
| { | |
| switch (trackType) { | |
| case TRACK_ELEM_FLAT: | |
| return multi_dimension_rc_alt_track_flat; | |
| case TRACK_ELEM_25_DEG_UP: | |
| return multi_dimension_rc_alt_track_25_deg_up; | |
| case TRACK_ELEM_60_DEG_UP: | |
| return multi_dimension_rc_alt_track_60_deg_up; | |
| case TRACK_ELEM_FLAT_TO_25_DEG_UP: | |
| return multi_dimension_rc_alt_track_flat_to_25_deg_up; | |
| case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP: | |
| return multi_dimension_rc_alt_track_25_deg_up_to_60_deg_up; | |
| case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP: | |
| return multi_dimension_rc_alt_track_60_deg_up_to_25_deg_up; | |
| case TRACK_ELEM_25_DEG_UP_TO_FLAT: | |
| return multi_dimension_rc_alt_track_25_deg_up_to_flat; | |
| case TRACK_ELEM_25_DEG_DOWN: | |
| return multi_dimension_rc_alt_track_25_deg_down; | |
| case TRACK_ELEM_60_DEG_DOWN: | |
| return multi_dimension_rc_alt_track_60_deg_down; | |
| case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: | |
| return multi_dimension_rc_alt_track_flat_to_25_deg_down; | |
| case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN: | |
| return multi_dimension_rc_alt_track_25_deg_down_to_60_deg_down; | |
| case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN: | |
| return multi_dimension_rc_alt_track_60_deg_down_to_25_deg_down; | |
| case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: | |
| return multi_dimension_rc_alt_track_25_deg_down_to_flat; | |
| case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES: | |
| return multi_dimension_rc_alt_track_left_quarter_turn_5; | |
| case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES: | |
| return multi_dimension_rc_alt_track_right_quarter_turn_5; | |
| case TRACK_ELEM_FLAT_TO_LEFT_BANK: | |
| return multi_dimension_rc_alt_track_flat_to_left_bank; | |
| case TRACK_ELEM_FLAT_TO_RIGHT_BANK: | |
| return multi_dimension_rc_alt_track_flat_to_right_bank; | |
| case TRACK_ELEM_LEFT_BANK_TO_FLAT: | |
| return multi_dimension_rc_alt_track_left_bank_to_flat; | |
| case TRACK_ELEM_RIGHT_BANK_TO_FLAT: | |
| return multi_dimension_rc_alt_track_right_bank_to_flat; | |
| case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: | |
| return multi_dimension_rc_alt_track_banked_left_quarter_turn_5; | |
| case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: | |
| return multi_dimension_rc_alt_track_banked_right_quarter_turn_5; | |
| case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: | |
| return multi_dimension_rc_alt_track_left_bank_to_25_deg_up; | |
| case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: | |
| return multi_dimension_rc_alt_track_right_bank_to_25_deg_up; | |
| case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: | |
| return multi_dimension_rc_alt_track_25_deg_up_to_left_bank; | |
| case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: | |
| return multi_dimension_rc_alt_track_25_deg_up_to_right_bank; | |
| case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: | |
| return multi_dimension_rc_alt_track_left_bank_to_25_deg_down; | |
| case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: | |
| return multi_dimension_rc_alt_track_right_bank_to_25_deg_down; | |
| case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: | |
| return multi_dimension_rc_alt_track_25_deg_down_to_left_bank; | |
| case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: | |
| return multi_dimension_rc_alt_track_25_deg_down_to_right_bank; | |
| case TRACK_ELEM_LEFT_BANK: | |
| return multi_dimension_rc_alt_track_left_bank; | |
| case TRACK_ELEM_RIGHT_BANK: | |
| return multi_dimension_rc_alt_track_right_bank; | |
| case TRACK_ELEM_S_BEND_LEFT: | |
| return multi_dimension_rc_alt_track_s_bend_left; | |
| case TRACK_ELEM_S_BEND_RIGHT: | |
| return multi_dimension_rc_alt_track_s_bend_right; | |
| case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: | |
| return multi_dimension_rc_alt_track_left_quarter_turn_3; | |
| case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: | |
| return multi_dimension_rc_alt_track_right_quarter_turn_3; | |
| case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: | |
| return multi_dimension_rc_alt_track_left_quarter_turn_3_bank; | |
| case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: | |
| return multi_dimension_rc_alt_track_right_quarter_turn_3_bank; | |
| case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL: | |
| return multi_dimension_rc_alt_track_left_half_banked_helix_up_small; | |
| case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL: | |
| return multi_dimension_rc_alt_track_right_half_banked_helix_up_small; | |
| case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL: | |
| return multi_dimension_rc_alt_track_left_half_banked_helix_down_small; | |
| case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL: | |
| return multi_dimension_rc_alt_track_right_half_banked_helix_down_small; | |
| case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE: | |
| return multi_dimension_rc_alt_track_left_half_banked_helix_up_large; | |
| case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE: | |
| return multi_dimension_rc_alt_track_right_half_banked_helix_up_large; | |
| case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE: | |
| return multi_dimension_rc_alt_track_left_half_banked_helix_down_large; | |
| case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE: | |
| return multi_dimension_rc_alt_track_right_half_banked_helix_down_large; | |
| case TRACK_ELEM_BRAKES: | |
| return multi_dimension_rc_alt_track_brakes; | |
| case TRACK_ELEM_ON_RIDE_PHOTO: | |
| return multi_dimension_rc_alt_track_on_ride_photo; | |
| case TRACK_ELEM_90_DEG_UP: | |
| return multi_dimension_rc_alt_track_90_deg_up; | |
| case TRACK_ELEM_90_DEG_DOWN: | |
| return multi_dimension_rc_alt_track_90_deg_down; | |
| case TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP: | |
| return multi_dimension_rc_alt_track_60_deg_up_to_90_deg_up; | |
| case TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN: | |
| return multi_dimension_rc_alt_track_90_deg_down_to_60_deg_down; | |
| case TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP: | |
| return multi_dimension_rc_alt_track_90_deg_up_to_60_deg_up; | |
| case TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN: | |
| return multi_dimension_rc_alt_track_60_deg_down_to_90_deg_down; | |
| case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: | |
| return multi_dimension_rc_alt_track_left_eighth_to_diag; | |
| case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: | |
| return multi_dimension_rc_alt_track_right_eighth_to_diag; | |
| case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: | |
| return multi_dimension_rc_alt_track_left_eighth_to_orthogonal; | |
| case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: | |
| return multi_dimension_rc_alt_track_right_eighth_to_orthogonal; | |
| case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: | |
| return multi_dimension_rc_alt_track_left_eighth_bank_to_diag; | |
| case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: | |
| return multi_dimension_rc_alt_track_right_eighth_bank_to_diag; | |
| case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: | |
| return multi_dimension_rc_alt_track_left_eighth_bank_to_orthogonal; | |
| case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: | |
| return multi_dimension_rc_alt_track_right_eighth_bank_to_orthogonal; | |
| case TRACK_ELEM_DIAG_FLAT: | |
| return multi_dimension_rc_alt_track_diag_flat; | |
| case TRACK_ELEM_DIAG_25_DEG_UP: | |
| return multi_dimension_rc_alt_track_diag_25_deg_up; | |
| case TRACK_ELEM_DIAG_60_DEG_UP: | |
| return multi_dimension_rc_alt_track_diag_60_deg_up; | |
| case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: | |
| return multi_dimension_rc_alt_track_diag_flat_to_25_deg_up; | |
| case TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP: | |
| return multi_dimension_rc_alt_track_diag_25_deg_up_to_60_deg_up; | |
| case TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP: | |
| return multi_dimension_rc_alt_track_diag_60_deg_up_to_25_deg_up; | |
| case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: | |
| return multi_dimension_rc_alt_track_diag_25_deg_up_to_flat; | |
| case TRACK_ELEM_DIAG_25_DEG_DOWN: | |
| return multi_dimension_rc_alt_track_diag_25_deg_down; | |
| case TRACK_ELEM_DIAG_60_DEG_DOWN: | |
| return multi_dimension_rc_alt_track_diag_60_deg_down; | |
| case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: | |
| return multi_dimension_rc_alt_track_diag_flat_to_25_deg_down; | |
| case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN: | |
| return multi_dimension_rc_alt_track_diag_25_deg_down_to_60_deg_down; | |
| case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN: | |
| return multi_dimension_rc_alt_track_diag_60_deg_down_to_25_deg_down; | |
| case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: | |
| return multi_dimension_rc_alt_track_diag_25_deg_down_to_flat; | |
| case TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK: | |
| return multi_dimension_rc_alt_track_diag_flat_to_left_bank; | |
| case TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK: | |
| return multi_dimension_rc_alt_track_diag_flat_to_right_bank; | |
| case TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT: | |
| return multi_dimension_rc_alt_track_diag_left_bank_to_flat; | |
| case TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT: | |
| return multi_dimension_rc_alt_track_diag_right_bank_to_flat; | |
| case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP: | |
| return multi_dimension_rc_alt_track_diag_left_bank_to_25_deg_up; | |
| case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP: | |
| return multi_dimension_rc_alt_track_diag_right_bank_to_25_deg_up; | |
| case TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK: | |
| return multi_dimension_rc_alt_track_diag_25_deg_up_to_left_bank; | |
| case TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK: | |
| return multi_dimension_rc_alt_track_diag_25_deg_up_to_right_bank; | |
| case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN: | |
| return multi_dimension_rc_alt_track_diag_left_bank_to_25_deg_down; | |
| case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN: | |
| return multi_dimension_rc_alt_track_diag_right_bank_to_25_deg_down; | |
| case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK: | |
| return multi_dimension_rc_alt_track_diag_25_deg_down_to_left_bank; | |
| case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK: | |
| return multi_dimension_rc_alt_track_diag_25_deg_down_to_right_bank; | |
| case TRACK_ELEM_DIAG_LEFT_BANK: | |
| return multi_dimension_rc_alt_track_diag_left_bank; | |
| case TRACK_ELEM_DIAG_RIGHT_BANK: | |
| return multi_dimension_rc_alt_track_diag_right_bank; | |
| case TRACK_ELEM_LEFT_FLYER_TWIST_UP: | |
| return multi_dimension_rc_alt_track_left_flyer_twist_up; | |
| case TRACK_ELEM_RIGHT_FLYER_TWIST_UP: | |
| return multi_dimension_rc_alt_track_right_flyer_twist_up; | |
| case TRACK_ELEM_LEFT_FLYER_TWIST_DOWN: | |
| return multi_dimension_rc_alt_track_left_flyer_twist_down; | |
| case TRACK_ELEM_RIGHT_FLYER_TWIST_DOWN: | |
| return multi_dimension_rc_alt_track_right_flyer_twist_down; | |
| case TRACK_ELEM_MULTIDIM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN: | |
| return multi_dimension_rc_alt_track_multidim_inverted_flat_to_90_deg_quarter_loop_down; | |
| case TRACK_ELEM_BLOCK_BRAKES: | |
| return multi_dimension_rc_alt_track_block_brakes; | |
| case TRACK_ELEM_MULTIDIM_90_DEG_UP_TO_INVERTED_FLAT_QUARTER_LOOP: | |
| return multi_dimension_rc_alt_track_multidim_90_deg_up_to_inverted_flat_quarter_loop; | |
| case TRACK_ELEM_MULTIDIM_FLAT_TO_90_DEG_DOWN_QUARTER_LOOP: | |
| return multi_dimension_rc_alt_track_multidim_flat_to_90_deg_down_quarter_loop; | |
| case TRACK_ELEM_255: | |
| return multi_dimension_rc_alt_track_elem_255; | |
| } | |
| return NULL; | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment